diff --git a/pkgs/development/libraries/linbox/default.nix b/pkgs/development/libraries/linbox/default.nix index 09bd7e12091..4072dcd1d25 100644 --- a/pkgs/development/libraries/linbox/default.nix +++ b/pkgs/development/libraries/linbox/default.nix @@ -14,8 +14,7 @@ assert (!blas.isILP64) && (!lapack.isILP64); stdenv.mkDerivation rec { pname = "linbox"; - version = "1.6.3"; - + version = "1.6.3"; # TODO: Check postPatch script on update src = fetchFromGitHub { owner = "linbox-team"; @@ -36,6 +35,20 @@ stdenv.mkDerivation rec { fflas-ffpack ]; + patches = [ + # Remove inappropriate `const &` qualifiers on data members that can be + # modified via member functions. + # See also: https://github.com/linbox-team/linbox/pull/256 + ./patches/linbox-pr256-part2.patch # TODO: Remove on 1.7.0 update + ]; + + postPatch = '' + # Remove @LINBOXSAGE_LIBS@ that is actually undefined. + # See also: https://github.com/linbox-team/linbox/pull/249 + # TODO: Remove on 1.7.0 update + find . -type f -exec sed -e 's/@LINBOXSAGE_LIBS@//' -i {} \; + ''; + configureFlags = [ "--with-blas-libs=-lblas" "--disable-optimization" diff --git a/pkgs/development/libraries/linbox/patches/linbox-pr256-part2.patch b/pkgs/development/libraries/linbox/patches/linbox-pr256-part2.patch new file mode 100644 index 00000000000..ec8571a7d71 --- /dev/null +++ b/pkgs/development/libraries/linbox/patches/linbox-pr256-part2.patch @@ -0,0 +1,13 @@ +--- a/linbox/algorithms/det-rational.h ++++ b/linbox/algorithms/det-rational.h +@@ -79,8 +79,8 @@ + struct MyRationalModularDet { + const Blackbox &A; + const MyMethod &M; +- const Integer &mul;//multiplicative prec; +- const Integer ÷ ++ Integer mul;//multiplicative prec; ++ Integer div; + + MyRationalModularDet(const Blackbox& b, const MyMethod& n, + const Integer & p1, const Integer & p2) :