New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] singular: run autoreconfHook #34724
Conversation
@timokau I just realized that the nix singular package was in fact not used by sage.
Is there a way to do it manually, i.e. replace a single spkg by a system one ? |
I'm not sure how to tell sage to use a system package. I haven't tried because most packages are patched and I think even if we could manually convert all to system packages, it wouldn't be maintainable. I could imagine simply adding Is there a reason you want to use system singular? And does the build failure here occur when you try to build sage or the nixpkgs singular? |
In this case mostly because it would allow me to fix the autoreconf incompatibility. It might be hard to maintain sage with system packages without package pinning but having the possibility to plug some in manually to fix this kind of bug would be nice. Also because right now a nix-build will compile everything from scratch, that's crazy. The alternative of patching sage even more doesn't look sexy. |
How does that incompatibility affect sage? I'm not sure if I understand the problem.
I agree, that would be nice.
Yes, thats annoying. But then again, the sage developers themselves strongly advise against using all system packages: https://wiki.sagemath.org/faq#Wouldn.27t_it_be_way_better_if_Sage_did_not_ship_as_a_gigantic_bundle.3F-1 For what its worth, sage should soon be in the binary cache. At the moment its not because of an issue with the nixUnstable hydra uses, which will be fixed as soon as staging is merged into master. See the last few comments of #34387.
As far as I know, Debian manages to build sage with only system dependencies. If you're interested, thats probably where to look. |
Looking at https://github.com/cschwan/sage-on-gentoo/blob/master/sci-mathematics/sage/sage-8.1-r2.ebuild shows that one needs to patch the sage script (that's baaad). |
Yeah everything needs patches. I don't understand why sage makes it so much more complicated than other projects, but I'm sure they have reasons.
Cool, thats a good first step for system packages. Good luck!
I'm not sure if that's what you mean, but the build deliberately happens in Edit: I'm still not quite sure if theres some problem with the singular build in sage. Could you clarify that? |
|
Most of the time I don't, since the whole build process is so messy and hard to keep track of. Instead I just add debug statements to the build and inspect the log and the build dir afterwards. If you want to though you can either point $out at a folder you can write to (it will work, you just can't do it for the actual installation) or if you're feeling adventurous temporarily remount the store as rw.
Its not that easy, since the build result will have references to the build dir. You'd have to patch all those references afterwards.
So checking out the lastest (Side note: Quotes start with |
e55b9dc
to
5d9cded
Compare
Current package complains if you use a different version of automake: aclocal.m4:70: AM_PROG_AR is expanded from... configure.ac:25: the top level configure.ac:23: error: version mismatch. This is Automake 1.15.1, configure.ac:23: but the definition used by this AM_INIT_AUTOMAKE configure.ac:23: comes from Automake 1.15. You should recreate configure.ac:23: aclocal.m4 with aclocal and run automake again. WARNING: 'automake-1.15' is probably too old. You should only need it if you modified 'Makefile.am' or 'configure.ac' or m4 files included by 'configure.ac'. The 'automake' program is part of the GNU Automake package: <http://www.gnu.org/software/automake> It also requires GNU Autoconf, GNU m4 and Perl in order to run: <http://www.gnu.org/software/autoconf> <http://www.gnu.org/software/m4/> <http://www.perl.org/> run autoreconfHook allows for more flexibility.
dropping as #39981 seems to cover everything |
Motivation for this change
I was trying to install sage on nixos-unstable but the current singular package complains if you use a different version of automake:
run autoreconfHook allows for more flexibility.
Using it ends up with this problem currently.
Should I propose to rename the file upstream @raskin ?
Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)