about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2024-01-31 22:38:31 +0100
committerGitHub <noreply@github.com>2024-01-31 22:38:31 +0100
commit939e432e4650d94bd5a179cad13f2ebcf7fc3c57 (patch)
tree1cd91bb6fe3e05026fc8fb0bb8c9c87b27c48938
parent3ecb98dd6967701d85d55207ab9de668ed518331 (diff)
parent3db9eb16df009fbf37d48e4fa4f0475df455175c (diff)
downloadnixlib-939e432e4650d94bd5a179cad13f2ebcf7fc3c57.tar
nixlib-939e432e4650d94bd5a179cad13f2ebcf7fc3c57.tar.gz
nixlib-939e432e4650d94bd5a179cad13f2ebcf7fc3c57.tar.bz2
nixlib-939e432e4650d94bd5a179cad13f2ebcf7fc3c57.tar.lz
nixlib-939e432e4650d94bd5a179cad13f2ebcf7fc3c57.tar.xz
nixlib-939e432e4650d94bd5a179cad13f2ebcf7fc3c57.tar.zst
nixlib-939e432e4650d94bd5a179cad13f2ebcf7fc3c57.zip
Merge pull request #284840 from wegank/7zz-hdiutil
airbuddy, aldente: unpack with 7zz
-rw-r--r--pkgs/os-specific/darwin/airbuddy/default.nix15
-rw-r--r--pkgs/os-specific/darwin/aldente/default.nix21
2 files changed, 12 insertions, 24 deletions
diff --git a/pkgs/os-specific/darwin/airbuddy/default.nix b/pkgs/os-specific/darwin/airbuddy/default.nix
index 303311ccb105..374089c5aa1f 100644
--- a/pkgs/os-specific/darwin/airbuddy/default.nix
+++ b/pkgs/os-specific/darwin/airbuddy/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenvNoCC
 , fetchurl
-, undmg
+, _7zz
 }:
 
 stdenvNoCC.mkDerivation (finalAttrs: {
@@ -19,18 +19,15 @@ stdenvNoCC.mkDerivation (finalAttrs: {
   dontBuild = true;
   dontFixup = true;
 
-  nativeBuildInputs = [ undmg ];
+  nativeBuildInputs = [ _7zz ];
 
-  # AirBuddy.dmg is not HFS formatted, default unpackPhase fails
-  # https://discourse.nixos.org/t/help-with-error-only-hfs-file-systems-are-supported-on-ventura
+  # AirBuddy.dmg is APFS formatted, unpack with 7zz
   unpackCmd = ''
-    mnt=$(mktemp -d)
+    runHook preUnpack
 
-    /usr/bin/hdiutil attach -nobrowse -readonly $src -mountpoint $mnt
+    7zz x $src
 
-    shopt -s extglob
-    DEST="$PWD"
-    (cd "$mnt"; cp -a !(Applications) "$DEST/")
+    runHook postUnpack
   '';
 
   sourceRoot = "AirBuddy.app";
diff --git a/pkgs/os-specific/darwin/aldente/default.nix b/pkgs/os-specific/darwin/aldente/default.nix
index a67efd3367d4..e585d8877803 100644
--- a/pkgs/os-specific/darwin/aldente/default.nix
+++ b/pkgs/os-specific/darwin/aldente/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenvNoCC
 , fetchurl
-, undmg
+, _7zz
 }:
 
 stdenvNoCC.mkDerivation (finalAttrs: {
@@ -16,24 +16,15 @@ stdenvNoCC.mkDerivation (finalAttrs: {
   dontBuild = true;
   dontFixup = true;
 
-  nativeBuildInputs = [ undmg ];
+  nativeBuildInputs = [ _7zz ];
 
-  # AlDente.dmg is not HFS formatted, default unpackPhase fails
-  # https://discourse.nixos.org/t/help-with-error-only-hfs-file-systems-are-supported-on-ventura
+  # AlDente.dmg is APFS formatted, unpack with 7zz
   unpackCmd = ''
-    if ! [[ "$curSrc" =~ \.dmg$ ]]; then return 1; fi
-    mnt=$(mktemp -d -t ci-XXXXXXXXXX)
+    runHook preUnpack
 
-    function finish {
-      /usr/bin/hdiutil detach $mnt -force
-    }
-    trap finish EXIT
+    7zz x $src
 
-    /usr/bin/hdiutil attach -nobrowse -readonly $src -mountpoint $mnt
-
-    shopt -s extglob
-    DEST="$PWD"
-    (cd "$mnt"; cp -a !(Applications) "$DEST/")
+    runHook postUnpack
   '';
 
   sourceRoot = "AlDente.app";