aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/build-support/fetchzip/default.nix
diff options
context:
space:
mode:
authorMx Kookie <kookie@spacekookie.de>2020-12-09 18:55:19 +0000
committerMx Kookie <kookie@spacekookie.de>2020-12-09 18:55:19 +0000
commit80d90d9b204f7c17912740f9f414fe5d59f293ba (patch)
tree5f2065a06e724270610760d59d01c6888b375a46 /infra/libkookie/nixpkgs/pkgs/build-support/fetchzip/default.nix
parent3a31a84c7d3e589035ad08499206aac44a81f424 (diff)
parent83cbad92d73216bb0d9187c56cce0b91f9121d5a (diff)
Merge commit '83cbad92d73216bb0d9187c56cce0b91f9121d5a' into main
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/build-support/fetchzip/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/build-support/fetchzip/default.nix16
1 files changed, 14 insertions, 2 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/build-support/fetchzip/default.nix b/infra/libkookie/nixpkgs/pkgs/build-support/fetchzip/default.nix
index c61df8ceb001..a1744b48deb9 100644
--- a/infra/libkookie/nixpkgs/pkgs/build-support/fetchzip/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/build-support/fetchzip/default.nix
@@ -44,8 +44,20 @@
mv "$unpackDir/$fn" "$out"
'' else ''
mv "$unpackDir" "$out"
- '') #*/
- + extraPostFetch;
+ '')
+ + extraPostFetch
+ # Remove write permissions for files unpacked with write bits set
+ # Fixes https://github.com/NixOS/nixpkgs/issues/38649
+ #
+ # However, we should (for the moment) retain write permission on the directory
+ # itself, to avoid tickling https://github.com/NixOS/nix/issues/4295 in
+ # single-user Nix installations. This is because in sandbox mode we'll try to
+ # move the path, and if we don't have write permissions on the directory,
+ # then we can't update the ".." entry.
+ + ''
+ chmod -R a-w "$out"
+ chmod u+w "$out"
+ '';
} // removeAttrs args [ "stripRoot" "extraPostFetch" ])).overrideAttrs (x: {
# Hackety-hack: we actually need unzip hooks, too
nativeBuildInputs = x.nativeBuildInputs ++ [ unzip ];