-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
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
Fix idris gcc builds on darwin and disable broken package #46410
Conversation
Idris packages often use gcc in their makefiles, the standard clang on darwin seems to throw a lot of unused argument warnings, so we'll just use the gccStdenv by default
@GrahamcOfBorg build idrisPackages.curses idrisPackages.eternal idrisPackages.mhd idrisPackages.recursion_schemes idrisPackages.html idrisPackages.config |
Success on x86_64-linux (full log) Attempted: idrisPackages.curses, idrisPackages.eternal, idrisPackages.mhd, idrisPackages.recursion_schemes, idrisPackages.html, idrisPackages.config Partial log (click to expand)
|
No attempt on aarch64-linux (full log) The following builds were skipped because they don't evaluate on aarch64-linux: idrisPackages.curses, idrisPackages.eternal, idrisPackages.mhd, idrisPackages.recursion_schemes, idrisPackages.html, idrisPackages.config Partial log (click to expand)
|
Failure on x86_64-darwin (full log) Attempted: idrisPackages.curses, idrisPackages.eternal, idrisPackages.mhd, idrisPackages.recursion_schemes, idrisPackages.html, idrisPackages.config Partial log (click to expand)
|
No attempt on x86_64-darwin (full log) The following builds were skipped because they don't evaluate on x86_64-darwin: idrisPackages.lens Partial log (click to expand)
|
No attempt on aarch64-linux (full log) The following builds were skipped because they don't evaluate on aarch64-linux: idrisPackages.lens Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: idrisPackages.lens Partial log (click to expand)
|
The above failure with Edit: Seems that this change did indeed break the build of |
Explicitly setting gcc should be preferred over |
If all these packages don't build with |
Usually they build fine with clang, but unlike with Xcode our clang doesn't have
|
Needs a different fix, will open a new PR if I can come up with a nicer one. |
Motivation for this change
#45960
The
lens
package is really weird: It succeeds on linux without problems, but fails on darwin with an error that indicates a missing standard library constructor. I therefore marked it as broken on darwin.The other change this PR has is to use
gccStdenv
to build all idris packages instead of the normal stdenv. This is because of such errors, both the clang warnings and the gcc missing error. Since gcc seems to be the standard to use in a Makefile for idris packages, it makes sense to usegccStdenv
here I think.This fixes the build for
curses
,eternal
andmhd
on darwinPing @mpickering @brainrape
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)