about summary refs log tree commit diff
path: root/pkgs/development/python-modules/pygsl/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/pygsl/default.nix')
-rw-r--r--pkgs/development/python-modules/pygsl/default.nix14
1 files changed, 11 insertions, 3 deletions
diff --git a/pkgs/development/python-modules/pygsl/default.nix b/pkgs/development/python-modules/pygsl/default.nix
index 2549a2d7f4978..7726badc81978 100644
--- a/pkgs/development/python-modules/pygsl/default.nix
+++ b/pkgs/development/python-modules/pygsl/default.nix
@@ -10,16 +10,24 @@
 
 buildPythonPackage rec {
   pname = "pygsl";
-  version = "2.3.4";
+  version = "2.4.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pygsl";
     repo = "pygsl";
-    rev = "refs/tags/v.${version}";
-    hash = "sha256-2TalLKDDoJdKGZHr7eNNvVW8fL7wQJjnZv34LJokfow=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-7agGgfDUgY6mRry7d38vGGNLJC4dFUniy2M/cnejDDs=";
   };
 
+  # error: no member named 'n' in 'gsl_bspline_workspace'
+  postPatch = lib.optionalString (lib.versionAtLeast gsl.version "2.8") ''
+    substituteInPlace src/bspline/bspline.ic \
+      --replace-fail "self->w->n" "self->w->ncontrol"
+    substituteInPlace swig_src/bspline_wrap.c \
+      --replace-fail "self->w->n;" "self->w->ncontrol;"
+  '';
+
   nativeBuildInputs = [
     gsl.dev
     swig