diff --git a/pkgs/applications/science/math/nauty/default.nix b/pkgs/applications/science/math/nauty/default.nix index ef8c041039b1..c1feeffdcb6d 100644 --- a/pkgs/applications/science/math/nauty/default.nix +++ b/pkgs/applications/science/math/nauty/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { pname = "nauty"; - version = "2.7r4"; + version = "2.8.8"; src = fetchurl { - url = "https://pallini.di.uniroma1.it/nauty${builtins.replaceStrings ["."] [""] version}.tar.gz"; - sha256 = "sha256-uBDIWm/imfO0yfJKr5KcrH+VRsLzXCDh3Qrbx0CISKY="; + url = "https://pallini.di.uniroma1.it/nauty${builtins.replaceStrings ["."] ["_"] version}.tar.gz"; + sha256 = "sha256-FZ0hVoEKa7JAQQzWHrZBrdhQiNnxXIiM2qN7hoH5Kc4="; }; outputs = [ "out" "dev" ]; @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { # I'm not sure if the filename will remain the same for future changelog or # if it will track changes to minor releases. Lets see. Better than nothing # in any case. - changelog = "https://pallini.di.uniroma1.it/changes24-27.txt"; + changelog = "https://pallini.di.uniroma1.it/changes24-28.txt"; homepage = "https://pallini.di.uniroma1.it/"; }; } diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix index 765c691c9555..6624dcc36528 100644 --- a/pkgs/applications/science/math/sage/default.nix +++ b/pkgs/applications/science/math/sage/default.nix @@ -15,7 +15,7 @@ let pkgs = pkgs.python3.pkgs.overrideScope (self: super: { # `sagelib`, i.e. all of sage except some wrappers and runtime dependencies sagelib = self.callPackage ./sagelib.nix { - inherit flint arb; + inherit flint3; inherit sage-src env-locations singular; inherit (maxima) lisp-compiler; linbox = pkgs.linbox.override { withSage = true; }; @@ -73,7 +73,7 @@ let sagelib = python3.pkgs.sagelib; sage-docbuild = python3.pkgs.sage-docbuild; inherit env-locations; - inherit python3 singular palp flint pythonEnv maxima; + inherit python3 singular palp flint3 pythonEnv maxima; pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config }; @@ -125,9 +125,7 @@ let ignoreCollisions = true; } // { extraLibs = pythonRuntimeDeps; }; # make the libs accessible - arb = pkgs.arb.override { inherit flint; }; - - singular = pkgs.singular.override { inherit flint; }; + singular = pkgs.singular.override { inherit flint3; }; maxima = pkgs.maxima-ecl.override { lisp-compiler = pkgs.ecl.override { @@ -149,7 +147,7 @@ let # openblas instead of openblasCompat. Apparently other packages somehow use flints # blas when it is available. Alternative would be to override flint to use # openblasCompat. - flint = pkgs.flint.override { withBlas = false; }; + flint3 = pkgs.flint3.override { withBlas = false; }; # Multiple palp dimensions need to be available and sage expects them all to be # in the same folder. diff --git a/pkgs/applications/science/math/sage/env-locations.nix b/pkgs/applications/science/math/sage/env-locations.nix index 39d358a1f9a8..1ca0f471a7ee 100644 --- a/pkgs/applications/science/math/sage/env-locations.nix +++ b/pkgs/applications/science/math/sage/env-locations.nix @@ -3,7 +3,6 @@ , pari , singular , maxima -, conway_polynomials , graphs , elliptic_curves , polytopes_db @@ -27,16 +26,13 @@ writeTextFile rec { export GPDOCDIR="${pari}/share/pari/doc" export SINGULARPATH='${singular}/share/singular' export SINGULAR_SO='${singular}/lib/libSingular.so' - export GAP_SO='${gap}/lib/libgap.so' export SINGULAR_EXECUTABLE='${singular}/bin/Singular' export MAXIMA_FAS='${maxima}/lib/maxima/${maxima.version}/binary-ecl/maxima.fas' export MAXIMA_PREFIX="${maxima}" - export CONWAY_POLYNOMIALS_DATA_DIR='${conway_polynomials}/share/conway_polynomials' export GRAPHS_DATA_DIR='${graphs}/share/graphs' export ELLCURVE_DATA_DIR='${elliptic_curves}/share/ellcurves' export POLYTOPE_DATA_DIR='${polytopes_db}/share/reflexive_polytopes' - export GAP_LIB_DIR='${gap}/lib/gap' - export GAP_SHARE_DIR='${gap}/share/gap' + export GAP_ROOT_PATHS='${gap}/lib/gap;${gap}/share/gap' export ECLDIR='${maxima.lisp-compiler}/lib/${maxima.lisp-compiler.pname}-${maxima.lisp-compiler.version}/' export COMBINATORIAL_DESIGN_DATA_DIR="${combinatorial_designs}/share/combinatorial_designs" export CREMONA_MINI_DATA_DIR="${elliptic_curves}/share/cremona" diff --git a/pkgs/applications/science/math/sage/python-modules/sage-docbuild.nix b/pkgs/applications/science/math/sage/python-modules/sage-docbuild.nix index fb8c3ec8a204..b45998bbcb86 100644 --- a/pkgs/applications/science/math/sage/python-modules/sage-docbuild.nix +++ b/pkgs/applications/science/math/sage/python-modules/sage-docbuild.nix @@ -4,6 +4,7 @@ , jupyter-sphinx , sphinx , sphinx-copybutton +, sphinx-inline-tabs }: buildPythonPackage rec { @@ -15,6 +16,7 @@ buildPythonPackage rec { jupyter-sphinx sphinx sphinx-copybutton + sphinx-inline-tabs ]; preBuild = '' diff --git a/pkgs/applications/science/math/sage/sage-env.nix b/pkgs/applications/science/math/sage/sage-env.nix index 4c22470de910..4f179ea3a42b 100644 --- a/pkgs/applications/science/math/sage/sage-env.nix +++ b/pkgs/applications/science/math/sage/sage-env.nix @@ -42,7 +42,7 @@ , flintqs , blas , lapack -, flint +, flint3 , gmp , mpfr , zlib @@ -155,7 +155,7 @@ writeTextFile rec { # cython needs to find these libraries, otherwise will fail with `ld: cannot find -lflint` or similar export LDFLAGS='${ lib.concatStringsSep " " (map (pkg: "-L${pkg}/lib") [ - flint + flint3 gap glpk gmp @@ -174,7 +174,7 @@ writeTextFile rec { singular gmp.dev glpk - flint + flint3 gap mpfr.dev ]) diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index a77565e4072a..11bcc9ee3d5a 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -10,14 +10,14 @@ # all get the same sources with the same patches applied. stdenv.mkDerivation rec { - version = "10.2"; + version = "10.3"; pname = "sage-src"; src = fetchFromGitHub { owner = "sagemath"; repo = "sage"; rev = version; - sha256 = "sha256-VXnPdJhtw5Y/anecrVpevJDCyBVfnjksyuuZslNipm4="; + hash = "sha256-OHtMv8t0RrP6R8XIREU+C1vpazeQLWa75wx9Mv6BN1U="; }; # contains essential files (e.g., setup.cfg) generated by the bootstrap script. @@ -25,8 +25,8 @@ stdenv.mkDerivation rec { configure-src = fetchurl { # the hash below is the tagged commit's _parent_. it can also be found by looking for # the "configure" asset at https://github.com/sagemath/sage/releases/tag/${version} - url = "mirror://sageupstream/configure/configure-b2813506039143e6f0abe859ab67a343abf72c2e.tar.gz"; - sha256 = "sha256-a1v0XyoKI+zO6Sjm8DzEwItRHbIgRDbpj4UfwVH+/hw="; + url = "mirror://sageupstream/configure/configure-ab1a517b64b02bf15bbcb8d7c2d4d643bd5eff9b.tar.gz"; + hash = "sha256-pe9AxTM+gFSR4/eVfUzay+4bwjoubbYeDPc+avKjlaw="; }; # Patches needed because of particularities of nix or the way this is packaged. @@ -62,11 +62,11 @@ stdenv.mkDerivation rec { # should come from or be proposed to upstream. This list will probably never # be empty since dependencies update all the time. packageUpgradePatches = [ - # https://github.com/sagemath/sage/pull/37123, to land in 10.3.beta7 + # https://github.com/sagemath/sage/pull/37492 (fetchpatch { - name = "scipy-1.12-upgrade.patch"; - url = "https://github.com/sagemath/sage/commit/54eec464e9fdf18b411d9148aecb918178e95909.diff"; - sha256 = "sha256-9wyNrcSfF6mYFTIV4ev2OdD7igb0AeyZZYWSc/+JrIU="; + name = "singular-4.3.2p14-upgrade.patch"; + url = "https://github.com/sagemath/sage/commit/a0c56816b051e97da44ac0a4e4d4f6915cf7fa0f.diff"; + sha256 = "sha256-WGMmPeBoj2LUC+2qxWuaJL89QUuGt6axGvxWkpM9LYg="; }) ]; diff --git a/pkgs/applications/science/math/sage/sagelib.nix b/pkgs/applications/science/math/sage/sagelib.nix index 5a1f4ee473c9..b67b74e3a0f2 100644 --- a/pkgs/applications/science/math/sage/sagelib.nix +++ b/pkgs/applications/science/math/sage/sagelib.nix @@ -10,7 +10,6 @@ , iml , libpng , readline -, arb , blas , boost , brial @@ -18,7 +17,7 @@ , eclib , ecm , fflas-ffpack -, flint +, flint3 , gap , giac , givaro @@ -45,6 +44,7 @@ , singular , sqlite , symmetrica +, conway-polynomials , cvxopt , cypari2 , cysignals @@ -92,6 +92,7 @@ buildPythonPackage rec { version = src.version; pname = "sagelib"; src = sage-src; + pyproject = true; nativeBuildInputs = [ iml @@ -112,7 +113,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ # native dependencies (TODO: determine which ones need to be propagated) - arb blas boost brial @@ -120,7 +120,7 @@ buildPythonPackage rec { eclib ecm fflas-ffpack - flint + flint3 gap giac givaro @@ -149,6 +149,7 @@ buildPythonPackage rec { symmetrica # from src/sage/setup.cfg and requirements.txt + conway-polynomials cvxopt cypari2 cysignals @@ -202,11 +203,7 @@ buildPythonPackage rec { mkdir -p "$SAGE_SHARE/sage/ext/notebook-ipython" mkdir -p "var/lib/sage/installed" - # version lower bounds are useful, but upper bounds are a hassle because - # Sage tests already catch any relevant API breakage. - # according to the discussion at https://trac.sagemath.org/ticket/33520, - # upper bounds will be less noisy starting from Sage 9.6. - sed -i 's/, <[^, ]*//' build/pkgs/*/install-requires.txt + sed -i "/sage-conf/d" src/{setup.cfg,pyproject.toml,requirements.txt} cd build/pkgs/sagelib/src ''; diff --git a/pkgs/applications/science/math/singular/default.nix b/pkgs/applications/science/math/singular/default.nix index f77bd5a92243..a6c64066d88e 100644 --- a/pkgs/applications/science/math/singular/default.nix +++ b/pkgs/applications/science/math/singular/default.nix @@ -5,7 +5,7 @@ , sharutils , file , getconf -, flint +, flint3 , ntl , cddlib , gfan @@ -18,13 +18,13 @@ # want it to match the upstream format because sage depends on it. , texinfo4 , texliveSmall -, enableDocs ? !stdenv.isDarwin +, enableDocs ? true , enableGfanlib ? true }: stdenv.mkDerivation rec { pname = "singular"; - version = "4.3.2p2"; + version = "4.3.2p16"; # since the tarball does not contain tests, we fetch from GitHub. src = fetchFromGitHub { @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { # if a release is tagged (which sometimes does not happen), it will # be in the format below. rev = "Release-${lib.replaceStrings ["."] ["-"] version}"; - sha256 = "sha256-dtZmN8xUCZ9eSgmtBxqfJeWsM4W5Baq7xWXuNAxNLjA="; + sha256 = "sha256-5JZgI5lnfX4JlBSEAL7Wv6uao/57GBaMqwgslJt9Bjk="; # the repository's .gitattributes file contains the lines "/Tst/ # export-ignore" and "/doc/ export-ignore" so some directories are @@ -68,7 +68,7 @@ stdenv.mkDerivation rec { ncurses readline ntl - flint + flint3 lrcalc gfan ] ++ lib.optionals enableGfanlib [ diff --git a/pkgs/data/misc/conway_polynomials/default.nix b/pkgs/data/misc/conway_polynomials/default.nix deleted file mode 100644 index caf470c51152..000000000000 --- a/pkgs/data/misc/conway_polynomials/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ lib, stdenv -, fetchurl -, python3 -}: - -stdenv.mkDerivation rec { - pname = "conway_polynomials"; - version = "0.5"; - - src = fetchurl { - url = "mirror://sageupstream/conway_polynomials/conway_polynomials-${version}.tar.bz2"; - sha256 = "05zb1ly9x2bbscqv0jgc45g48xx77mfs7qdbqhn4ihmihn57iwnq"; - }; - - # Script that creates the "database" (nested python array) and pickles it - spkg-install = fetchurl { - url = "https://raw.githubusercontent.com/sagemath/sage/9.2/build/pkgs/conway_polynomials/spkg-install.py"; - sha256 = "1bwnqasnyv793hxg29viing4dnliz29grkhldsirq19d509yk1fs"; - }; - - installPhase = '' - # directory layout as spkg-install.py expects - dir="$PWD" - cd .. - ln -s "$dir" "src" - - # environment spkg-install.py expects - mkdir -p "$out/share" - export SAGE_SHARE="$out/share" - export PYTHONPATH=$PWD - - ${python3.interpreter} ${spkg-install} - ''; - - meta = with lib; { - description = "Contains a small database of Conway polynomials"; - license = licenses.gpl2; - platforms = platforms.all; - maintainers = teams.sage.members; - }; -} diff --git a/pkgs/development/libraries/fflas-ffpack/default.nix b/pkgs/development/libraries/fflas-ffpack/default.nix index 66ea25a4b11b..25bab6645e07 100644 --- a/pkgs/development/libraries/fflas-ffpack/default.nix +++ b/pkgs/development/libraries/fflas-ffpack/default.nix @@ -31,6 +31,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-blas-libs=-lcblas" "--with-lapack-libs=-llapacke" + "--without-archnative" ] ++ lib.optionals stdenv.isx86_64 [ # disable SIMD instructions (which are enabled *when available* by default) # for now we need to be careful to disable *all* relevant versions of an instruction set explicitly (https://github.com/linbox-team/fflas-ffpack/issues/284) diff --git a/pkgs/development/libraries/flint/3.nix b/pkgs/development/libraries/flint/3.nix index 3be7fdc63904..b8b8c2d8ec7d 100644 --- a/pkgs/development/libraries/flint/3.nix +++ b/pkgs/development/libraries/flint/3.nix @@ -24,16 +24,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-ezEaAFA6hjiB64F32+uEMi8pOZ89fXLzsaTJuh1XlLQ="; }; - propagatedBuildInputs = [ + nativeBuildInputs = [ autoconf automake gettext libtool ]; + propagatedBuildInputs = [ + mpfr + ]; + buildInputs = [ gmp - mpfr ] ++ lib.optionals withBlas [ openblas ] ++ lib.optionals withNtl [ diff --git a/pkgs/development/libraries/givaro/default.nix b/pkgs/development/libraries/givaro/default.nix index 5df1413287d9..a7b1eaa43831 100644 --- a/pkgs/development/libraries/givaro/default.nix +++ b/pkgs/development/libraries/givaro/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ gmpxx ]; configureFlags = [ - "--disable-optimization" + "--without-archnative" ] ++ lib.optionals stdenv.isx86_64 [ # disable SIMD instructions (which are enabled *when available* by default) "--${if stdenv.hostPlatform.sse3Support then "enable" else "disable"}-sse3" diff --git a/pkgs/development/libraries/linbox/default.nix b/pkgs/development/libraries/linbox/default.nix index f7e6d0f13b1b..0997513f5a51 100644 --- a/pkgs/development/libraries/linbox/default.nix +++ b/pkgs/development/libraries/linbox/default.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-blas-libs=-lblas" - "--disable-optimization" + "--without-archnative" ] ++ lib.optionals stdenv.isx86_64 [ # disable SIMD instructions (which are enabled *when available* by default) "--${if stdenv.hostPlatform.sse3Support then "enable" else "disable"}-sse3" diff --git a/pkgs/development/python-modules/conway-polynomials/default.nix b/pkgs/development/python-modules/conway-polynomials/default.nix new file mode 100644 index 000000000000..d5b57a10aa39 --- /dev/null +++ b/pkgs/development/python-modules/conway-polynomials/default.nix @@ -0,0 +1,23 @@ +{ lib +, fetchPypi +, buildPythonPackage +}: + +buildPythonPackage rec { + pname = "conway-polynomials"; + version = "0.9"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-btIwBgm8558BddW4VGhY7sAoVPi+MjfbjRRJzMzBxYE="; + }; + + pythonImportsCheck = [ "conway_polynomials" ]; + + meta = with lib; { + description = "Python interface to Frank Lübeck's Conway polynomial database"; + homepage = "https://github.com/sagemath/conway-polynomials"; + maintainers = teams.sage.members; + license = licenses.gpl3Plus; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bed6d9d7adab..fe33a9967639 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28821,8 +28821,6 @@ with pkgs; commit-mono = callPackage ../data/fonts/commit-mono { }; - conway_polynomials = callPackage ../data/misc/conway_polynomials { }; - cooper-hewitt = callPackage ../data/fonts/cooper-hewitt { }; d2coding = callPackage ../data/fonts/d2coding { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1c99424ee2d8..30d7b9cbee38 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1955,6 +1955,8 @@ self: super: with self; { connio = callPackage ../development/python-modules/connio { }; + conway-polynomials = callPackage ../development/python-modules/conway-polynomials {}; + correctionlib = callPackage ../development/python-modules/correctionlib { }; coqpit = callPackage ../development/python-modules/coqpit { };