Skip to content

sage: 10.0 -> 10.2#283322

Merged
collares merged 7 commits intoNixOS:masterfrom
collares:sage-10.2
Jan 24, 2024
Merged

sage: 10.0 -> 10.2#283322
collares merged 7 commits intoNixOS:masterfrom
collares:sage-10.2

Conversation

@collares
Copy link
Copy Markdown
Member

@collares collares commented Jan 23, 2024

Description of changes

Surprisingly painless upgrade. I'm using an autogenerated tarball containing some configuration files (e.g., Pipfile, setup.cfg, requirements.txt) which are generated upstream from Sage-the-distribution files (build/pkgs/) via the bootstrap script. I'm glad I found this tarball, because I like the idea of being isolated from Sage-the-distro files.

An alternative would be to pass spkg arguments to the bootstrap script as in sagemath/sage#35950, but we'd need to solve issues like ./bootstrap: line 50: /build/sage-src-10.2/build/bin/sage-package: cannot execute: required file not found due to the use of #!/usr/bin/env sage-bootstrap-python as a shebang in some dependencies of the bootstrap script. There are several ways around that, but all feel kind of hacky given our current package split, so the configure tarball seems best for now.

Fixes #282383. Please check ofBorg likes the upgrade before merging.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@collares collares marked this pull request as draft January 23, 2024 22:02
@github-actions github-actions Bot added the 6.topic: python Python is a high-level, general-purpose programming language. label Jan 23, 2024
@ofborg ofborg Bot requested review from 7c6f434c, omasanori and timokau January 23, 2024 22:26
@ofborg ofborg Bot added 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 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. labels Jan 23, 2024
@collares collares marked this pull request as ready for review January 23, 2024 22:40
@collares
Copy link
Copy Markdown
Member Author

@ofborg build sageWithDoc

@collares
Copy link
Copy Markdown
Member Author

collares commented Jan 23, 2024

Docbuilding failure:

[tutorial ] Extension error:
[tutorial ] Notebook execution failed (exception: [Errno 2] No such file or directory: '/nix/store/1dv5m71dgl6n8dxd7riqjz094vqmyws8-python3-3.11.7/bin/sage')

sagelib installs a Jupyter kernel definition at share/jupyter/kernels/sagemath/kernel.json and it points to the wrong Python environment. We do have our own kernel definition, so ideally Sage would just not install this. It shouldn't matter because we set JUPYTER_PATH in relevant places, but sage --docbuild unsets it; we had a workaround for it, but recent Sage changes bypass it.

There is also a weird pplpy test failure because exception messages don't get printed, but only on x86_64-darwin.

@timokau
Copy link
Copy Markdown
Member

timokau commented Jan 24, 2024

Thank you for your continued maintenance of sage! I know that this is a lot of work.

@collares
Copy link
Copy Markdown
Member Author

Sage tests pass now. pplpy fails on x86_64-darwin, but that is also the case on Nixpkgs master.

@collares
Copy link
Copy Markdown
Member Author

collares commented Jan 24, 2024

Rebased on top of the fpylll update. This should be good to go.

@timokau @7c6f434c @omasanori are you happy with merging this? It fixes a build failure on master.

@collares collares marked this pull request as draft January 24, 2024 16:28
@collares collares marked this pull request as ready for review January 24, 2024 16:35
@7c6f434c
Copy link
Copy Markdown
Member

Looks good!

@timokau
Copy link
Copy Markdown
Member

timokau commented Jan 24, 2024

Yes, fine by me :)

@collares
Copy link
Copy Markdown
Member Author

Thank you!

@collares collares merged commit 435535d into NixOS:master Jan 24, 2024
@hellwolf
Copy link
Copy Markdown
Contributor

wonderful! thank you!

@hellwolf
Copy link
Copy Markdown
Contributor

I still have problem building sage from unstable:

$ nix build .#sage
error: builder for '/nix/store/dqs8zz45330l72r9y3kimnny070wj4gr-python3.11-primecountpy-0.1.0.drv' failed with exit code 1;
       last 10 log lines:
       > checking for references to /build/ in /nix/store/dhf01bl49dmqj6bwdaw82nz585xyh1fy-python3.11-primecountpy-0.1.0-dist...
       > patching script interpreter paths in /nix/store/dhf01bl49dmqj6bwdaw82nz585xyh1fy-python3.11-primecountpy-0.1.0-dist
       > Executing pythonRemoveTestsDir
       > Finished executing pythonRemoveTestsDir
       > Running phase: pythonCatchConflictsPhase
       > Found duplicated packages in closure for dependency 'cython':
       >  cython 0.29.36 (/nix/store/hn15nr4k2zk2akfyv0szcwg21zdnds6k-python3.11-cython-0.29.36/lib/python3.11/site-packages/Cython-0.29.36.dist-info)
       >   cython 3.0.6 (/nix/store/xx59gyk65a4s5vrmql8dyddx69dbvwfi-python3.11-cython-3.0.6/lib/python3.11/site-packages/Cython-3.0.6.dist-info)
       >
       > Package duplicates found in closure, see above. Usually this happens if two packages depend on different version of the same dependency.
       For full logs, run 'nix log /nix/store/dqs8zz45330l72r9y3kimnny070wj4gr-python3.11-primecountpy-0.1.0.drv'.
error: 1 dependencies of derivation '/nix/store/kd6ig9860k1lvls641zznvs0616k8sf5-python3-3.11.7-env.drv' failed to build
error: 1 dependencies of derivation '/nix/store/rw9412qz125d7h1wfdsdzzl6vjkm3r8b-python3.11-sagelib-10.0.drv' failed to build
error: 1 dependencies of derivation '/nix/store/hlcszwgsclllah0cjfmz6jkkvpy2vy43-sage-with-env-10.0.drv' failed to build
error: 1 dependencies of derivation '/nix/store/l7arwkx6f3hq8i5llyzdisr4qj827335-sage-10.0.drv' failed to build

@7c6f434c
Copy link
Copy Markdown
Member

. is a checkout? What revision?

@collares
Copy link
Copy Markdown
Member Author

Cross-referencing #282383 (comment); it seems to be working now.

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

Labels

6.topic: python Python is a high-level, general-purpose programming language. 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. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build failure: sage

4 participants