diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2023-04-23 00:02:24 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-23 00:02:24 +0000 |
commit | cf8e955712b7c3f54c7584ba4b8c8e685de1152f (patch) | |
tree | 08ee006f2e50817a9c4add125fd4f900d365d7b0 /pkgs/build-support | |
parent | c1093794b3c2d2f667124900ee658c1ee2f30d64 (diff) | |
parent | 7dce69012dd912beaa37b59a8cec3941e66a5499 (diff) | |
download | nixpkgs-cf8e955712b7c3f54c7584ba4b8c8e685de1152f.tar nixpkgs-cf8e955712b7c3f54c7584ba4b8c8e685de1152f.tar.gz nixpkgs-cf8e955712b7c3f54c7584ba4b8c8e685de1152f.tar.bz2 nixpkgs-cf8e955712b7c3f54c7584ba4b8c8e685de1152f.tar.lz nixpkgs-cf8e955712b7c3f54c7584ba4b8c8e685de1152f.tar.xz nixpkgs-cf8e955712b7c3f54c7584ba4b8c8e685de1152f.tar.zst nixpkgs-cf8e955712b7c3f54c7584ba4b8c8e685de1152f.zip |
Merge master into staging-next
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix | 2 | ||||
-rw-r--r-- | pkgs/build-support/build-fhsenv-bubblewrap/default.nix | 4 | ||||
-rw-r--r-- | pkgs/build-support/trivial-builders.nix | 13 |
3 files changed, 14 insertions, 5 deletions
diff --git a/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix b/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix index 78da74c8284..305a959a35d 100644 --- a/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix +++ b/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix @@ -64,7 +64,7 @@ let ldconfig = writeShellScriptBin "ldconfig" '' # due to a glibc bug, 64-bit ldconfig complains about patchelf'd 32-bit libraries, so we're using 32-bit ldconfig - exec ${pkgsi686Linux.glibc.bin}/bin/ldconfig -f /etc/ld.so.conf -C /etc/ld.so.cache "$@" + exec ${if stdenv.isx86_64 && stdenv.isLinux then pkgsi686Linux.glibc.bin else pkgs.glibc.bin}/bin/ldconfig -f /etc/ld.so.conf -C /etc/ld.so.cache "$@" ''; etcProfile = writeText "profile" '' export PS1='${name}-chrootenv:\u@\h:\w\$ ' diff --git a/pkgs/build-support/build-fhsenv-bubblewrap/default.nix b/pkgs/build-support/build-fhsenv-bubblewrap/default.nix index 5d94c309fe0..6c9b71624c2 100644 --- a/pkgs/build-support/build-fhsenv-bubblewrap/default.nix +++ b/pkgs/build-support/build-fhsenv-bubblewrap/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , callPackage , runCommandLocal , writeShellScript @@ -113,6 +114,7 @@ let exec ${run} "$@" ''; + indentLines = str: lib.concatLines (map (s: " " + s) (filter (s: s != "") (lib.splitString "\n" str))); bwrapCmd = { initArgs ? "" }: '' ignored=(/nix /dev /proc /etc) ro_mounts=() @@ -202,11 +204,13 @@ let --symlink /etc/ld.so.cache ${glibc}/etc/ld.so.cache \ --ro-bind ${glibc}/etc/rpc ${glibc}/etc/rpc \ --remount-ro ${glibc}/etc \ + '' + lib.optionalString (stdenv.isx86_64 && stdenv.isLinux) (indentLines '' --tmpfs ${pkgsi686Linux.glibc}/etc \ --symlink /etc/ld.so.conf ${pkgsi686Linux.glibc}/etc/ld.so.conf \ --symlink /etc/ld.so.cache ${pkgsi686Linux.glibc}/etc/ld.so.cache \ --ro-bind ${pkgsi686Linux.glibc}/etc/rpc ${pkgsi686Linux.glibc}/etc/rpc \ --remount-ro ${pkgsi686Linux.glibc}/etc \ + '') + '' "''${ro_mounts[@]}" "''${symlinks[@]}" "''${auto_mounts[@]}" diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 8694c602a3b..e90d0a6d202 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -785,12 +785,13 @@ rec { requireFile = { name ? null , sha256 ? null , sha1 ? null + , hash ? null , url ? null , message ? null , hashMode ? "flat" } : assert (message != null) || (url != null); - assert (sha256 != null) || (sha1 != null); + assert (sha256 != null) || (sha1 != null) || (hash != null); assert (name != null) || (url != null); let msg = if message != null then message @@ -802,15 +803,19 @@ rec { or nix-prefetch-url --type ${hashAlgo} file:///path/to/${name_} ''; - hashAlgo = if sha256 != null then "sha256" else "sha1"; - hash = if sha256 != null then sha256 else sha1; + hashAlgo = if hash != null then "" + else if sha256 != null then "sha256" + else "sha1"; + hash_ = if hash != null then hash + else if sha256 != null then sha256 + else sha1; name_ = if name == null then baseNameOf (toString url) else name; in stdenvNoCC.mkDerivation { name = name_; outputHashMode = hashMode; outputHashAlgo = hashAlgo; - outputHash = hash; + outputHash = hash_; preferLocalBuild = true; allowSubstitutes = false; builder = writeScript "restrict-message" '' |