diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/licenses.nix | 5 | ||||
-rw-r--r-- | lib/modules.nix | 11 | ||||
-rw-r--r-- | lib/sources.nix | 13 | ||||
-rw-r--r-- | lib/systems/default.nix | 5 | ||||
-rw-r--r-- | lib/systems/platforms.nix | 6 | ||||
-rwxr-xr-x | lib/tests/modules.sh | 2 |
6 files changed, 31 insertions, 11 deletions
diff --git a/lib/licenses.nix b/lib/licenses.nix index 993783db3ed..46ac0443a03 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -603,6 +603,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({ free = false; }; + odbl = spdx { + spdxId = "ODbL-1.0"; + fullName = "Open Data Commons Open Database License v1.0"; + }; + ofl = spdx { spdxId = "OFL-1.1"; fullName = "SIL Open Font License 1.1"; diff --git a/lib/modules.nix b/lib/modules.nix index 33a0d84a6d7..d3f10944e70 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -361,6 +361,17 @@ rec { */ byName = attr: f: modules: foldl' (acc: module: + if !(builtins.isAttrs module.${attr}) then + throw '' + You're trying to declare a value of type `${builtins.typeOf module.${attr}}' + rather than an attribute-set for the option + `${builtins.concatStringsSep "." prefix}'! + + This usually happens if `${builtins.concatStringsSep "." prefix}' has option + definitions inside that are not matched. Please check how to properly define + this option by e.g. referring to `man 5 configuration.nix'! + '' + else acc // (mapAttrs (n: v: (acc.${n} or []) ++ f module v ) module.${attr} diff --git a/lib/sources.nix b/lib/sources.nix index 1a3afcae67d..1a821f55056 100644 --- a/lib/sources.nix +++ b/lib/sources.nix @@ -138,12 +138,13 @@ rec { in if m == null then throw ("File contains no gitdir reference: " + path) else - let gitDir = absolutePath (dirOf path) (lib.head m); - commonDir' = if pathIsRegularFile "${gitDir}/commondir" - then lib.fileContents "${gitDir}/commondir" - else gitDir; - commonDir = absolutePath gitDir commonDir'; - refFile = lib.removePrefix "${commonDir}/" "${gitDir}/${file}"; + let gitDir = absolutePath (dirOf path) (lib.head m); + commonDir'' = if pathIsRegularFile "${gitDir}/commondir" + then lib.fileContents "${gitDir}/commondir" + else gitDir; + commonDir' = lib.removeSuffix "/" commonDir''; + commonDir = absolutePath gitDir commonDir'; + refFile = lib.removePrefix "${commonDir}/" "${gitDir}/${file}"; in readCommitFromFile refFile commonDir else if pathIsRegularFile fileName diff --git a/lib/systems/default.nix b/lib/systems/default.nix index 1bbe976c4d2..1e38dbf531b 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -107,6 +107,11 @@ rec { powerpc64le = "ppc64le"; }.${final.parsed.cpu.name} or final.parsed.cpu.name; + darwinArch = { + armv7a = "armv7"; + aarch64 = "arm64"; + }.${final.parsed.cpu.name} or final.parsed.cpu.name; + emulator = pkgs: let qemu-user = pkgs.qemu.override { smartcardSupport = false; diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index 3bf90cd0caf..f46e9c826a5 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -303,14 +303,12 @@ rec { preferBuiltin = true; target = "zImage"; extraConfig = '' - # Serial port for Raspberry Pi 3. Upstream forgot to add it to the ARMv7 defconfig. + # Serial port for Raspberry Pi 3. Wasn't included in ARMv7 defconfig + # until 4.17. SERIAL_8250_BCM2835AUX y SERIAL_8250_EXTENDED y SERIAL_8250_SHARE_IRQ y - # Fix broken sunxi-sid nvmem driver. - TI_CPTS y - # Hangs ODROID-XU4 ARM_BIG_LITTLE_CPUIDLE n diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index f843d303e44..2eddeec07b1 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -169,7 +169,7 @@ checkConfigOutput "foo" config.submodule.foo ./declare-submoduleWith-special.nix ## shorthandOnlyDefines config behaves as expected checkConfigOutput "true" config.submodule.config ./declare-submoduleWith-shorthand.nix ./define-submoduleWith-shorthand.nix checkConfigError 'is not of type `boolean' config.submodule.config ./declare-submoduleWith-shorthand.nix ./define-submoduleWith-noshorthand.nix -checkConfigError 'value is a boolean while a set was expected' config.submodule.config ./declare-submoduleWith-noshorthand.nix ./define-submoduleWith-shorthand.nix +checkConfigError "You're trying to declare a value of type \`bool'\nrather than an attribute-set for the option" config.submodule.config ./declare-submoduleWith-noshorthand.nix ./define-submoduleWith-shorthand.nix checkConfigOutput "true" config.submodule.config ./declare-submoduleWith-noshorthand.nix ./define-submoduleWith-noshorthand.nix ## submoduleWith should merge all modules in one swoop |