about summary refs log tree commit diff
path: root/pkgs/build-support/fetchzip
diff options
context:
space:
mode:
authorBenjamin Hipple <bhipple@protonmail.com>2020-03-26 00:35:40 -0400
committerGitHub <noreply@github.com>2020-03-26 00:35:40 -0400
commit259f3b3b68f730088dde3e6f7ba327afcd9eb5d5 (patch)
treecb71aaa784a0bdb2cd335823d1f4cd75db3c9ea4 /pkgs/build-support/fetchzip
parenta0c0ae3af02b21ce07bafa2cc028d5bdcafc8c6c (diff)
downloadnixlib-259f3b3b68f730088dde3e6f7ba327afcd9eb5d5.tar
nixlib-259f3b3b68f730088dde3e6f7ba327afcd9eb5d5.tar.gz
nixlib-259f3b3b68f730088dde3e6f7ba327afcd9eb5d5.tar.bz2
nixlib-259f3b3b68f730088dde3e6f7ba327afcd9eb5d5.tar.lz
nixlib-259f3b3b68f730088dde3e6f7ba327afcd9eb5d5.tar.xz
nixlib-259f3b3b68f730088dde3e6f7ba327afcd9eb5d5.tar.zst
nixlib-259f3b3b68f730088dde3e6f7ba327afcd9eb5d5.zip
Revert "fetchzip, fetchgit: cleanup handling of optional features and whitespace"
Diffstat (limited to 'pkgs/build-support/fetchzip')
-rw-r--r--pkgs/build-support/fetchzip/default.nix57
1 files changed, 29 insertions, 28 deletions
diff --git a/pkgs/build-support/fetchzip/default.nix b/pkgs/build-support/fetchzip/default.nix
index 9d829e43ccbc..c61df8ceb001 100644
--- a/pkgs/build-support/fetchzip/default.nix
+++ b/pkgs/build-support/fetchzip/default.nix
@@ -5,46 +5,47 @@
 # (e.g. due to minor changes in the compression algorithm, or changes
 # in timestamps).
 
-{ lib, fetchurl, unzip }:
+{ fetchurl, unzip }:
 
-{ name ? "source"
+{ # Optionally move the contents of the unpacked tree up one level.
+  stripRoot ? true
 , url
-  # Optionally move the contents of the unpacked tree up one level.
-, stripRoot ? true
 , extraPostFetch ? ""
+, name ? "source"
 , ... } @ args:
 
 (fetchurl ({
   inherit name;
 
   recursiveHash = true;
-  downloadToTemp = true;
 
-  postFetch = ''
-    unpackDir="$TMPDIR/unpack"
-    mkdir "$unpackDir"
-    cd "$unpackDir"
+  downloadToTemp = true;
 
-    renamed="$TMPDIR/${baseNameOf url}"
-    mv "$downloadedFile" "$renamed"
-    unpackFile "$renamed"
-    result=$unpackDir
-  ''
-  # Most src disted tarballs have a parent directory like foo-1.2.3/ to strip
-  + lib.optionalString stripRoot ''
-    if [ $(ls "$unpackDir" | wc -l) != 1 ]; then
-      echo "error: zip file must contain a single file or directory."
-      echo "hint: Pass stripRoot=false; to fetchzip to assume flat list of files."
-      exit 1
-    fi
-    fn=$(cd "$unpackDir" && echo *)
-    result="$unpackDir/$fn"
-  '' + ''
-    mkdir $out
-    mv "$result" "$out"
-  ''
-  + extraPostFetch;
+  postFetch =
+    ''
+      unpackDir="$TMPDIR/unpack"
+      mkdir "$unpackDir"
+      cd "$unpackDir"
 
+      renamed="$TMPDIR/${baseNameOf url}"
+      mv "$downloadedFile" "$renamed"
+      unpackFile "$renamed"
+    ''
+    + (if stripRoot then ''
+      if [ $(ls "$unpackDir" | wc -l) != 1 ]; then
+        echo "error: zip file must contain a single file or directory."
+        echo "hint: Pass stripRoot=false; to fetchzip to assume flat list of files."
+        exit 1
+      fi
+      fn=$(cd "$unpackDir" && echo *)
+      if [ -f "$unpackDir/$fn" ]; then
+        mkdir $out
+      fi
+      mv "$unpackDir/$fn" "$out"
+    '' else ''
+      mv "$unpackDir" "$out"
+    '') #*/
+    + extraPostFetch;
 } // removeAttrs args [ "stripRoot" "extraPostFetch" ])).overrideAttrs (x: {
   # Hackety-hack: we actually need unzip hooks, too
   nativeBuildInputs = x.nativeBuildInputs ++ [ unzip ];