-
-
Notifications
You must be signed in to change notification settings - Fork 14.9k
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
console-setup: init at 1.234 #375929
base: master
Are you sure you want to change the base?
console-setup: init at 1.234 #375929
Conversation
e22ce89
to
fedf76d
Compare
When I try to build this on x86_64-linux the logs contain a lot of warnings like |
@Defelo I don't know enough about the tools used here to be able to fix these warnings, or to know if they are indeed problematic. I know that the produced font files are good enough for console use. |
make -j$NIX_BUILD_CORES bdf | ||
make -j$NIX_BUILD_CORES build-linux |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use makeTargets here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great question, I was hoping it would come up because maybe I'm missing something.
The problem is that the build-linux
target requires files that are not present in the source tree. One such file is Fonts/unifont.bdf
which I bring from the unifont
package, and then there's a bunch of DejaVu Mono fonts that we can pull in from the dejavu_mono
package and convert using make bdf
.
Unfortunately, the build-linux
target does not itself depend on bdf
.
I've tried the following:
makeTargets = [ "bdf" "build-linux" ]
substituteInPlace rules.mk --replace-fail 'build-common:' 'build-common: bdf'
Neither works, because Make does not fully finish building the bdf files before trying to run build-linux
. I assume that's because the bdf
target is phony.
It does work with enableParallelBuilding = false;
, but that'd be unfortunate to give up, because the build parallelises wonderfully. Instead of giving up on parallel building, I think it'd be better to fix the dependency somehow.
Another compromise could be preBuild = "make -j$NIX_BUILD_CORES bdf";
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Side note: I don't think buildTargets
and makeTargets
are actually used; I can't see them referenced anywhere in pkgs/stdenv
.
If I set them to a non-existent target, e.g. "foobar"
, the build does not fail.
@@ -20,6 +20,11 @@ stdenv.mkDerivation rec { | |||
hash = "sha256-AqP+EZlNPNrx1L1dK2tglzXmgj4BdkroO3BOAuwvZA0="; | |||
}; | |||
|
|||
bdf = fetchurl { | |||
url = "mirror://gnu/unifont/${pname}-${version}/${pname}-${version}.bdf.gz"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
url = "mirror://gnu/unifont/${pname}-${version}/${pname}-${version}.bdf.gz"; | |
url = "mirror://gnu/unifont/unifont-${version}/unifont-${version}.bdf.gz"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would you like me to change the other two as well?
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.