about summary refs log tree commit diff
path: root/pkgs/applications/science
diff options
context:
space:
mode:
authorConnor Baker <connor.baker@tweag.io>2024-06-05 15:32:01 -0400
committerGitHub <noreply@github.com>2024-06-05 15:32:01 -0400
commit4adc42b9d0ab9c6eb374e4e0978bd78d736dfc95 (patch)
tree4bf2595b9af2b84376f3ecda951e1d0b60865c9f /pkgs/applications/science
parenta399a32db638c9d2af988623c4ef605a7a97dc01 (diff)
parentd63eb88a50b93bc325c7b0c08227e5633302e730 (diff)
downloadnixlib-4adc42b9d0ab9c6eb374e4e0978bd78d736dfc95.tar
nixlib-4adc42b9d0ab9c6eb374e4e0978bd78d736dfc95.tar.gz
nixlib-4adc42b9d0ab9c6eb374e4e0978bd78d736dfc95.tar.bz2
nixlib-4adc42b9d0ab9c6eb374e4e0978bd78d736dfc95.tar.lz
nixlib-4adc42b9d0ab9c6eb374e4e0978bd78d736dfc95.tar.xz
nixlib-4adc42b9d0ab9c6eb374e4e0978bd78d736dfc95.tar.zst
nixlib-4adc42b9d0ab9c6eb374e4e0978bd78d736dfc95.zip
Merge pull request #317310 from ConnorBaker/fix/python3Packages.neuronpy
neuron: 8.2.3 -> 8.2.4; fixup
Diffstat (limited to 'pkgs/applications/science')
-rw-r--r--pkgs/applications/science/biology/neuron/default.nix52
-rw-r--r--pkgs/applications/science/biology/neuron/neuron_darwin_rpath.patch11
2 files changed, 29 insertions, 34 deletions
diff --git a/pkgs/applications/science/biology/neuron/default.nix b/pkgs/applications/science/biology/neuron/default.nix
index 6e5e4feb16fc..ef79fb11a824 100644
--- a/pkgs/applications/science/biology/neuron/default.nix
+++ b/pkgs/applications/science/biology/neuron/default.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, fetchurl
+, fetchFromGitHub
 , readline
 , xorg
 , mpi
@@ -17,11 +17,13 @@
 , useCore ? false
 , useRx3d ? false
 }:
-
-
-stdenv.mkDerivation rec {
+let
+  inherit (lib.lists) optionals;
+  inherit (lib.strings) cmakeBool;
+in
+stdenv.mkDerivation (finalAttrs: {
   pname = "neuron";
-  version = "8.2.3";
+  version = "8.2.4";
 
   # format is for pythonModule conversion
   format = "other";
@@ -31,10 +33,10 @@ stdenv.mkDerivation rec {
     bison
     flex
     git
-  ] ++ lib.optionals useCore [ perl gsl ]
-  ++ lib.optionals stdenv.isDarwin [ xcbuild ];
+  ] ++ optionals useCore [ perl gsl ]
+  ++ optionals stdenv.isDarwin [ xcbuild ];
 
-  buildInputs = lib.optionals useIv [
+  buildInputs = optionals useIv [
     xorg.libX11.dev
     xorg.libXcomposite.dev
     xorg.libXext.dev
@@ -47,28 +49,29 @@ stdenv.mkDerivation rec {
     python3.pkgs.setuptools
     python3.pkgs.scikit-build
     python3.pkgs.matplotlib
-  ] ++ lib.optionals useMpi [
+  ] ++ optionals useMpi [
     mpi
-  ] ++ lib.optionals useMpi [
+  ] ++ optionals useMpi [
     python3.pkgs.mpi4py
-  ] ++ lib.optionals useRx3d [
-    python3.pkgs.cython
+  ] ++ optionals useRx3d [
+    python3.pkgs.cython_0 # NOTE: cython<3 is required as of 8.2.4
     python3.pkgs.numpy
   ];
 
-  patches = [ ./neuron_darwin_rpath.patch ];
-
   # Patch build shells for cmake (bin, src, cmake) and submodules (external)
   postPatch = ''
     patchShebangs ./bin ./src ./external ./cmake
-    sed -e 's#DESTDIR =#DESTDIR = '"$out"'#' -i external/coreneuron/extra/nrnivmodl_core_makefile.in
+    substituteInPlace external/coreneuron/extra/nrnivmodl_core_makefile.in \
+      --replace-fail \
+        "DESTDIR =" \
+        "DESTDIR = $out"
   '';
 
   cmakeFlags = [
-    "-DNRN_ENABLE_INTERVIEWS=${if useIv then "ON" else "OFF"}"
-    "-DNRN_ENABLE_MPI=${if useMpi then "ON" else "OFF"}"
-    "-DNRN_ENABLE_CORENEURON=${if useCore then "ON" else "OFF"}"
-    "-DNRN_ENABLE_RX3D=${if useRx3d then "ON" else "OFF"}"
+    (cmakeBool "NRN_ENABLE_INTERVIEWS" useIv)
+    (cmakeBool "NRN_ENABLE_MPI" useMpi)
+    (cmakeBool "NRN_ENABLE_CORENEURON" useCore)
+    (cmakeBool "NRN_ENABLE_RX3D" useRx3d)
   ];
 
   postInstall = ''
@@ -81,9 +84,12 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  src = fetchurl {
-    url = "https://github.com/neuronsimulator/nrn/releases/download/${version}/full-src-package-${version}.tar.gz";
-    sha256 = "sha256-k8+71BRfh+a73sZho6v0QFRxVmrfx6jqrgaqammdtDI=";
+  src = fetchFromGitHub {
+    owner = "neuronsimulator";
+    repo = "nrn";
+    rev = finalAttrs.version;
+    fetchSubmodules = true;
+    hash = "sha256-KsULc+LHoWmrkGYebpoUot6DhStKidbLQf5a3S+pi4s=";
   };
 
   meta = with lib; {
@@ -101,4 +107,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ adev davidcromp ];
     platforms = platforms.all;
   };
-}
+})
diff --git a/pkgs/applications/science/biology/neuron/neuron_darwin_rpath.patch b/pkgs/applications/science/biology/neuron/neuron_darwin_rpath.patch
deleted file mode 100644
index 1b0fa2670782..000000000000
--- a/pkgs/applications/science/biology/neuron/neuron_darwin_rpath.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/nrnpython/setup.py.in
-+++ b/src/nrnpython/setup.py.in
-@@ -124,7 +124,7 @@ libdirs = [destdir + get_escaped_path("@NRN_LIBDIR@"),
- rpath_prefix_flag='-Wl,-R'
- extra_link_args = [@NRN_LINK_FLAGS_COMMA_SEPARATED_STRINGS@]
- @MAC_DARWIN_FALSE@extra_link_args += [rpath_prefix_flag+lib_path for lib_path in libdirs]
--@MAC_DARWIN_TRUE@extra_link_args.append("-Wl,-rpath,@loader_path/../../")
-+@MAC_DARWIN_TRUE@extra_link_args.append("-Wl,-rpath,@loader_path/../../../")
- @MAC_DARWIN_TRUE@extra_link_args.append("-Wl,-rpath,%s" % ivlibdir)
-
- # as neuron module will be built during make, add build/lib