Skip to content

Conversation

@RossSmyth
Copy link
Contributor

Things done

ntl:

  1. rec -> finalAttrs
  2. sha256 -> hash
  3. strictDeps
  4. perl to depsBuildBuild as it is for running the configure script
  5. dontAddStaticConfigureFlags = true so that autotools flags aren't appended to the perl configure script
  6. Set AR to a prefixed one
  7. Only generate static libs in pkgsStatic
  8. remove with lib;

flint:

  1. rec -> finalAttrs
  2. strictDeps = true
  3. Add a boehm option (defaulted to off)
  4. Remove with lib;
  5. Patch so that make check can actually link the tests

I tested both normally and with pkgsStatic.flint

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@RossSmyth
Copy link
Contributor Author

Hm seems pacakges in aliases aren't used in callPackage. Weird.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 6.topic: ocaml OCaml is a general-purpose, high-level, multi-paradigm programming language. 6.topic: R R is a programming language for statistical computing and data visualization. labels Sep 21, 2025
@qweered
Copy link
Contributor

qweered commented Sep 22, 2025

nixpkgs-review result

Generated using nixpkgs-review-gha

Command: nixpkgs-review pr 445050
Commit: 344b33adfc57fc22714bc05cdff5d21fb87fc07c (subsequent changes)
Merge: 8d579cbd30b2ca85d9b456c19ffac9ac68a12a88

Logs: https://github.com/qweered/nixpkgs-review-gha/actions/runs/17904109984


x86_64-linux

❌ 6 packages failed to build:
  • python312Packages.firedrake
  • python312Packages.firedrake.dist
  • python313Packages.firedrake
  • python313Packages.firedrake.dist
  • sage
  • sageWithDoc
✅ 31 packages built:
  • eclib
  • flint
  • framac
  • giac
  • giac-with-xcas
  • giac.doc
  • haskellPackages.symengine-hs
  • haskellPackages.symengine-hs.doc
  • jasmin-compiler
  • jasmin-compiler.bin
  • jasmin-compiler.lib
  • latte-integrale
  • mopsa (mopsa.bin)
  • msolve
  • normaliz
  • normaliz.dev
  • normaliz.lib
  • ntl
  • polymake
  • pplite
  • python312Packages.firedrake-fiat
  • python312Packages.firedrake-fiat.dist
  • python312Packages.symengine
  • python312Packages.symengine.dist
  • python313Packages.firedrake-fiat
  • python313Packages.firedrake-fiat.dist
  • python313Packages.symengine
  • python313Packages.symengine.dist
  • s7
  • singular
  • symengine

aarch64-linux

❌ 5 packages failed to build:
  • msolve
  • python312Packages.firedrake
  • python312Packages.firedrake.dist
  • python313Packages.firedrake
  • python313Packages.firedrake.dist
✅ 32 packages built:
  • eclib
  • flint
  • framac
  • giac
  • giac-with-xcas
  • giac.doc
  • haskellPackages.symengine-hs
  • haskellPackages.symengine-hs.doc
  • jasmin-compiler
  • jasmin-compiler.bin
  • jasmin-compiler.lib
  • latte-integrale
  • mopsa (mopsa.bin)
  • normaliz
  • normaliz.dev
  • normaliz.lib
  • ntl
  • polymake
  • pplite
  • python312Packages.firedrake-fiat
  • python312Packages.firedrake-fiat.dist
  • python312Packages.symengine
  • python312Packages.symengine.dist
  • python313Packages.firedrake-fiat
  • python313Packages.firedrake-fiat.dist
  • python313Packages.symengine
  • python313Packages.symengine.dist
  • s7
  • sage
  • sageWithDoc
  • singular
  • symengine

Error logs: `aarch64-linux`
msolve
# TOTAL: 56
# PASS:  54
# SKIP:  0
# XFAIL: 0
# FAIL:  2
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log for debugging.
Some test(s) failed.  Please report this to [email protected],[email protected],
together with the test-suite.log file (gzipped) and your system
information.  Thanks.
============================================================================
make[3]: *** [Makefile:1388: test-suite.log] Error 1
make[3]: Leaving directory '/build/source'
make[2]: *** [Makefile:1523: check-TESTS] Error 2
make[2]: Leaving directory '/build/source'
make[1]: *** [Makefile:2151: check-am] Error 2
make[1]: Leaving directory '/build/source'
make: *** [Makefile:1274: check-recursive] Error 1

x86_64-darwin (sandbox = true)

❌ 8 packages failed to build:
  • python312Packages.firedrake-fiat
  • python312Packages.firedrake-fiat.dist
  • python312Packages.symengine
  • python312Packages.symengine.dist
  • python313Packages.firedrake-fiat
  • python313Packages.firedrake-fiat.dist
  • python313Packages.symengine
  • python313Packages.symengine.dist
✅ 20 packages built:
  • eclib
  • flint
  • framac
  • giac
  • giac.doc
  • haskellPackages.symengine-hs
  • haskellPackages.symengine-hs.doc
  • jasmin-compiler
  • jasmin-compiler.bin
  • jasmin-compiler.lib
  • latte-integrale
  • mopsa (mopsa.bin)
  • msolve
  • normaliz
  • normaliz.dev
  • normaliz.lib
  • ntl
  • pplite
  • singular
  • symengine

Error logs: `x86_64-darwin`
python312Packages.symengine
E   PermissionError: [Errno 1] Operation not permitted: '/nix/.Trashes'
=============================== warnings summary ===============================
../../../../store/yh2k6aryay5pmacnk98044ikihkbas6m-python3.12-pytest-8.4.1/lib/python3.12/site-packages/_pytest/cacheprovider.py:475
  /nix/store/yh2k6aryay5pmacnk98044ikihkbas6m-python3.12-pytest-8.4.1/lib/python3.12/site-packages/_pytest/cacheprovider.py:475: PytestCacheWarning: could not create cache path /nix/.pytest_cache/v/cache/nodeids: [Errno 1] Operation not permitted: '/nix/pytest-cache-files-xxidqmxb'
    config.cache.set("cache/nodeids", sorted(self.cached_nodeids))

../../../../store/yh2k6aryay5pmacnk98044ikihkbas6m-python3.12-pytest-8.4.1/lib/python3.12/site-packages/_pytest/cacheprovider.py:429
/nix/store/yh2k6aryay5pmacnk98044ikihkbas6m-python3.12-pytest-8.4.1/lib/python3.12/site-packages/_pytest/cacheprovider.py:429: PytestCacheWarning: could not create cache path /nix/.pytest_cache/v/cache/lastfailed: [Errno 1] Operation not permitted: '/nix/pytest-cache-files-wgyal3cu'
config.cache.set("cache/lastfailed", self.lastfailed)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
ERROR ../../../.. - PermissionError: [Errno 1] Operation not permitted: '/nix/.Trashes'
========================= 2 warnings, 1 error in 0.28s =========================
ERROR: found no collectors for /nix/store/dyxlvqpllg097yg5h93drid1lcyvqbjq-python3.12-symengine-0.14.1/lib/python3.12/site-packages/symengine

Traceback (most recent call last):
File "/nix/build/nix-14692-2129841636/source/empty/../bin/test_python.py", line 6, in <module>
raise Exception('Tests failed')
Exception: Tests failed

python313Packages.symengine
E   PermissionError: [Errno 1] Operation not permitted: '/nix/.Trashes'
=============================== warnings summary ===============================
../../../../store/blmjz22ir36m4c80nvdcg1k9c4mh11wa-python3.13-pytest-8.4.1/lib/python3.13/site-packages/_pytest/cacheprovider.py:475
  /nix/store/blmjz22ir36m4c80nvdcg1k9c4mh11wa-python3.13-pytest-8.4.1/lib/python3.13/site-packages/_pytest/cacheprovider.py:475: PytestCacheWarning: could not create cache path /nix/.pytest_cache/v/cache/nodeids: [Errno 1] Operation not permitted: '/nix/pytest-cache-files-vn1_8gqm'
    config.cache.set("cache/nodeids", sorted(self.cached_nodeids))

../../../../store/blmjz22ir36m4c80nvdcg1k9c4mh11wa-python3.13-pytest-8.4.1/lib/python3.13/site-packages/_pytest/cacheprovider.py:429
/nix/store/blmjz22ir36m4c80nvdcg1k9c4mh11wa-python3.13-pytest-8.4.1/lib/python3.13/site-packages/_pytest/cacheprovider.py:429: PytestCacheWarning: could not create cache path /nix/.pytest_cache/v/cache/lastfailed: [Errno 1] Operation not permitted: '/nix/pytest-cache-files-6jg0xek1'
config.cache.set("cache/lastfailed", self.lastfailed)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
ERROR ../../../.. - PermissionError: [Errno 1] Operation not permitted: '/nix/.Trashes'
========================= 2 warnings, 1 error in 0.53s =========================
ERROR: found no collectors for /nix/store/nw7qrx4amwmljq0b23yi5glhdd91lqy1-python3.13-symengine-0.14.1/lib/python3.13/site-packages/symengine

Traceback (most recent call last):
File "/nix/build/nix-14692-2129841637/source/empty/../bin/test_python.py", line 6, in <module>
raise Exception('Tests failed')
Exception: Tests failed


aarch64-darwin (sandbox = true)

❌ 15 packages failed to build:
  • framac
  • python312Packages.firedrake
  • python312Packages.firedrake-fiat
  • python312Packages.firedrake-fiat.dist
  • python312Packages.firedrake.dist
  • python312Packages.symengine
  • python312Packages.symengine.dist
  • python313Packages.firedrake
  • python313Packages.firedrake-fiat
  • python313Packages.firedrake-fiat.dist
  • python313Packages.firedrake.dist
  • python313Packages.symengine
  • python313Packages.symengine.dist
  • sageWithDoc
  • singular
✅ 19 packages built:
  • eclib
  • flint
  • giac
  • giac.doc
  • haskellPackages.symengine-hs
  • haskellPackages.symengine-hs.doc
  • jasmin-compiler
  • jasmin-compiler.bin
  • jasmin-compiler.lib
  • latte-integrale
  • mopsa (mopsa.bin)
  • msolve
  • normaliz
  • normaliz.dev
  • normaliz.lib
  • ntl
  • pplite
  • sage
  • symengine

Error logs: `aarch64-darwin`
framac
Done: 99% (15861/15889, 28 left) (jobs: 3)

Done: 99% (15865/15889, 24 left) (jobs: 3)

Done: 99% (15867/15889, 22 left) (jobs: 3)

Done: 99% (15874/15889, 15 left) (jobs: 3)

Done: 99% (15876/15889, 13 left) (jobs: 3)

Done: 99% (15878/15889, 11 left) (jobs: 2)

Done: 99% (15881/15889, 8 left) (jobs: 1)

Done: 99% (15883/15889, 6 left) (jobs: 1)

Done: 99% (15886/15889, 3 left) (jobs: 1)

Installing Frama-C to /nix/store/dya5jck82zfmhjwg6pbxv8vl9dds1jbz-frama-c-31.0
Copying and relocating files...make: *** [share/Makefile.installation:82: install] Error 1

python312Packages.symengine
E   PermissionError: [Errno 1] Operation not permitted: '/nix/.Trashes'
=============================== warnings summary ===============================
../../../../store/3blbsz1zw5llvsgzk7n9ibjwyd4dqqwq-python3.12-pytest-8.4.1/lib/python3.12/site-packages/_pytest/cacheprovider.py:475
  /nix/store/3blbsz1zw5llvsgzk7n9ibjwyd4dqqwq-python3.12-pytest-8.4.1/lib/python3.12/site-packages/_pytest/cacheprovider.py:475: PytestCacheWarning: could not create cache path /nix/.pytest_cache/v/cache/nodeids: [Errno 1] Operation not permitted: '/nix/pytest-cache-files-xhmp0l4q'
    config.cache.set("cache/nodeids", sorted(self.cached_nodeids))

../../../../store/3blbsz1zw5llvsgzk7n9ibjwyd4dqqwq-python3.12-pytest-8.4.1/lib/python3.12/site-packages/_pytest/cacheprovider.py:429
/nix/store/3blbsz1zw5llvsgzk7n9ibjwyd4dqqwq-python3.12-pytest-8.4.1/lib/python3.12/site-packages/_pytest/cacheprovider.py:429: PytestCacheWarning: could not create cache path /nix/.pytest_cache/v/cache/lastfailed: [Errno 1] Operation not permitted: '/nix/pytest-cache-files-szv7ditv'
config.cache.set("cache/lastfailed", self.lastfailed)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
ERROR ../../../.. - PermissionError: [Errno 1] Operation not permitted: '/nix/.Trashes'
========================= 2 warnings, 1 error in 0.07s =========================
ERROR: found no collectors for /nix/store/jfh0smmxb18pkbw5whr1s6d2nnb2mdfz-python3.12-symengine-0.14.1/lib/python3.12/site-packages/symengine

Traceback (most recent call last):
File "/nix/build/nix-19883-735930095/source/empty/../bin/test_python.py", line 6, in <module>
raise Exception('Tests failed')
Exception: Tests failed

python313Packages.symengine
E   PermissionError: [Errno 1] Operation not permitted: '/nix/.Trashes'
=============================== warnings summary ===============================
../../../../store/wi545s8n8fr6wylzs5r5asa168s1ndqq-python3.13-pytest-8.4.1/lib/python3.13/site-packages/_pytest/cacheprovider.py:475
  /nix/store/wi545s8n8fr6wylzs5r5asa168s1ndqq-python3.13-pytest-8.4.1/lib/python3.13/site-packages/_pytest/cacheprovider.py:475: PytestCacheWarning: could not create cache path /nix/.pytest_cache/v/cache/nodeids: [Errno 1] Operation not permitted: '/nix/pytest-cache-files-39rofmfd'
    config.cache.set("cache/nodeids", sorted(self.cached_nodeids))

../../../../store/wi545s8n8fr6wylzs5r5asa168s1ndqq-python3.13-pytest-8.4.1/lib/python3.13/site-packages/_pytest/cacheprovider.py:429
/nix/store/wi545s8n8fr6wylzs5r5asa168s1ndqq-python3.13-pytest-8.4.1/lib/python3.13/site-packages/_pytest/cacheprovider.py:429: PytestCacheWarning: could not create cache path /nix/.pytest_cache/v/cache/lastfailed: [Errno 1] Operation not permitted: '/nix/pytest-cache-files-hgh6xl6u'
config.cache.set("cache/lastfailed", self.lastfailed)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
ERROR ../../../.. - PermissionError: [Errno 1] Operation not permitted: '/nix/.Trashes'
========================= 2 warnings, 1 error in 0.10s =========================
ERROR: found no collectors for /nix/store/kkykfwyswbmjawz5lqrbq1gzjpsb3061-python3.13-symengine-0.14.1/lib/python3.13/site-packages/symengine

Traceback (most recent call last):
File "/nix/build/nix-19883-735930096/source/empty/../bin/test_python.py", line 6, in <module>
raise Exception('Tests failed')
Exception: Tests failed

singular
><lib rootsmr (d2t d2t_singular/rootsmr_lib.doc==>d2t_singular/rootsmr_lib.tex(nrRootsProbab)(nrRootsDeterm)(symsignature)(sturmquery)(matbil)(matmult)(tracemult)(coords)(randcharpoly)(verify)(randlinpoly)(powersums)(symmfunc)(univarpoly)(qbase)==>d2t_singular/rootsmr_lib.tex)
><lib rootsur (d2t d2t_singular/rootsur_lib.doc==>d2t_singular/rootsur_lib.tex(isuni)(whichvariable)(varsigns)(boundBuFou)(boundposDes)(boundDes)(allrealst)(maxabs)(allreal)(sturm)(sturmseq)(sturmha)(sturmhaseq)(reverse)(nrroots)(isparam)==>d2t_singular/rootsur_lib.tex)
><lib cimonom (d2t d2t_singular/cimonom_lib.doc==>d2t_singular/cimonom_lib.tex(BelongSemig)(MinMult)(CompInt)==>d2t_singular/cimonom_lib.tex)
><lib gfan (d2t d2t_singular/gfan_lib.doc==>d2t_singular/gfan_lib.tex(fullSpace)(origin)(positiveOrthant)(ambientDimension)(canonicalizeCone)(codimension)(coneViaPoints)(coneViaInequalities)(coneLink)(containsAsFace)(containsInSupport)(containsPositiveVector)(containsRelatively)(convexHull)(convexIntersection)(dimension)(dualCone)(equations)(faceContaining)(facets)(generatorsOfLinealitySpace)(generatorsOfSpan)(getLinearForms)(getMultiplicity)(inequalities)(isFullSpace)(isOrigin)(isSimplicial)(linealityDimension)(linealitySpace)(negatedCone)(polytopeViaInequalities)(polytopeViaPoints)(quotientLatticeBasis)(randomPoint)(rays)(relativeInteriorPoint)(semigroupGenerator)(setLinearForms)(setMultiplicity)(span)(uniquePoint)(containsInCollection)(emptyFan)(fanViaCones)(fullFan)(fVector)(getCone)(insertCone)(isCompatible)(isPure)(nmaxcones)(ncones)(numberOfConesOfDimension)(removeCone)(dualPolytope)(newtonPolytope)(vertices)(onesVector)==>d2t_singular/gfan_lib.tex)
><lib gitfan (d2t d2t_singular/gitfan_lib.doc==>d2t_singular/gitfan_lib.tex(isAface)(afaces)(fullDimImages)(minimalAfaces)(orbitCones)(GITcone)(GITfan)(GITfanFromOrbitCones)(GITfanParallel)(movingCone)(computeAfaceOrbits)(minimalAfaceOrbits)(orbitConeOrbits)(minimalOrbitConeOrbits)(intersectOrbitsWithMovingCone)(groupActionOnQImage)(groupActionOnHashes)(permutationToIntvec)(evaluateProduct)(GITfanSymmetric)(GITfanParallelSymmetric)(bigintToBinary)(applyPermutationToIntvec)(hashToCone)(hashesToFan)(gitCone)==>d2t_singular/gitfan_lib.tex)
><lib polymake (d2t d2t_singular/polymake_lib.doc==>d2t_singular/polymake_lib.tex{triangulations}{secondaryPolytope}{cycleLength}{splitPolygon}{eta}{findOrientedBoundary}{cyclePoints}{latticeArea}{picksFormula}{ellipticNF}==>d2t_singular/polymake_lib.tex)
><lib realizationMatroids (d2t d2t_singular/realizationMatroids_lib.doc==>d2t_singular/realizationMatroids_lib.tex(realizationDim)(irrRealizationDim)(realizationDimPoly)==>d2t_singular/realizationMatroids_lib.tex)
><lib tropical (d2t d2t_singular/tropical_lib.doc==>d2t_singular/tropical_lib.tex(tropicalLifting)(displayTropicalLifting)(puiseuxExpansion)(displayPuiseuxExpansion)(tropicalCurve)(drawTropicalCurve)
**** Error: while running example drawTropicalCurve from d2t_singular/tropical_lib.doc:610.
Call: '../Singular/Singular  -teqr12345678 --no-rc ./examples/drawTropicalCurve.sing > ./examples/drawTropicalCurve.res'
make[4]: *** [Makefile-docbuild:180: d2t_singular/tropical_lib.tex] Error 1

**** Error: non-zero exit status of system call: 'make -f Makefile-docbuild --no-print-directory -s TAG='-tag gfan' VERBOSE=1 ./d2t_singular/tropical_lib.tex': Inappropriate ioctl for device
make[3]: *** [Makefile-docbuild:173: singular.tex] Error 1
make[3]: Leaving directory '/nix/build/nix-19883-735930090/source/doc'
make[2]: *** [Makefile:633: all-local] Error 2
make[2]: Leaving directory '/nix/build/nix-19883-735930090/source/doc'
make[1]: *** [Makefile:629: all-recursive] Error 1
make[1]: Leaving directory '/nix/build/nix-19883-735930090/source'
make: *** [Makefile:480: all] Error 2

@RossSmyth
Copy link
Contributor Author

I'm investigating the Sage failure.

@RossSmyth
Copy link
Contributor Author

Hm Sage builds fine on my machine

@RossSmyth
Copy link
Contributor Author

Can see here:
image
With commit 344b33a

@wegank
Copy link
Member

wegank commented Sep 27, 2025

@qweered Is the msolve test failure reproducible on your aarch64-linux machine? Two of the three authors of msolve work right next to my office, and I'm sure they would be very interested in cases where the computation fails.

@RossSmyth RossSmyth force-pushed the staticFlint branch 2 times, most recently from 1e70ce9 to 795537f Compare September 28, 2025 02:08
@RossSmyth
Copy link
Contributor Author

I messed up the rebases so the github compare button doesn't work well, but the full diff between what was before vendoring the patch and after is here:
https://github.com/NixOS/nixpkgs/compare/344b33adfc57fc22714bc05cdff5d21fb87fc07c..7e7469589bda977d07ef0c6a9d73388ab532c55f

@qweered
Copy link
Contributor

qweered commented Sep 28, 2025

@qweered Is the msolve test failure reproducible on your aarch64-linux machine? Two of the three authors of msolve work right next to my office, and I'm sure they would be very interested in cases where the computation fails.

I don't have aarch64 machines, I only rely on nixpkgs-review-gha which I think might be incorrect sometimes?

@wegank wegank added this pull request to the merge queue Sep 28, 2025
Merged via the queue into NixOS:master with commit e0fd47c Sep 28, 2025
29 of 31 checks passed
@RossSmyth RossSmyth deleted the staticFlint branch September 28, 2025 15:24
@RossSmyth
Copy link
Contributor Author

@RossSmyth
Copy link
Contributor Author

Hydra built msolve for aarch64 and sage for x86 so seems fine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: ocaml OCaml is a general-purpose, high-level, multi-paradigm programming language. 6.topic: R R is a programming language for statistical computing and data visualization. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants