Add config option ‘allowUnfree’
If set to false, mkDerivation will throw an exception if a package has an unfree license. ‘release-lib.nix’ uses this to enforce that we don't build unfree packages as part of the Nixpkgs channel. Since this is set through Nixpkgs' ‘config’ argument, it's more finegrained than $HYDRA_DISALLOW_UNFREE.
This commit is contained in:
parent
deaef8abaf
commit
d8e722985b
|
@ -33,6 +33,7 @@ stdenv.mkDerivation {
|
|||
'';
|
||||
|
||||
passthru = { inherit patch; };
|
||||
|
||||
meta = {
|
||||
description = "Another Unionfs implementation for Linux (third generation)";
|
||||
homepage = http://aufs.sourceforge.net/;
|
||||
|
|
|
@ -10,7 +10,7 @@ let
|
|||
|
||||
lib = import ../../lib;
|
||||
|
||||
disallowUnfree = builtins.getEnv "HYDRA_DISALLOW_UNFREE" == "1";
|
||||
allowUnfree = config.allowUnfree or true && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1";
|
||||
|
||||
stdenvGenerator = setupScript: rec {
|
||||
|
||||
|
@ -41,7 +41,7 @@ let
|
|||
# Add a utility function to produce derivations that use this
|
||||
# stdenv and its shell.
|
||||
mkDerivation = attrs:
|
||||
if disallowUnfree && attrs.meta.license or "" == "unfree" then
|
||||
if !allowUnfree && attrs.meta.license or "" == "unfree" then
|
||||
throw "package ‘${attrs.name}’ has an unfree license, refusing to evaluate"
|
||||
else
|
||||
(derivation (
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
rec {
|
||||
allPackages = import ./all-packages.nix;
|
||||
|
||||
pkgs = allPackages {};
|
||||
# Ensure that we don't build packages marked as unfree.
|
||||
allPackages = args: import ./all-packages.nix (args // {
|
||||
config.allowUnfree = false;
|
||||
});
|
||||
|
||||
pkgs = allPackages { };
|
||||
|
||||
/* !!! Hack: poor man's memoisation function. Necessary for prevent
|
||||
Nixpkgs from being evaluated again and again for every
|
||||
|
|
Loading…
Reference in a new issue