Merge pull request #284840 from wegank/7zz-hdiutil

airbuddy, aldente: unpack with 7zz

authored by Weijia Wang and committed by GitHub 939e432e 3ecb98dd

+12 -24
+6 -9
pkgs/os-specific/darwin/airbuddy/default.nix
··· 1 1 { lib 2 2 , stdenvNoCC 3 3 , fetchurl 4 - , undmg 4 + , _7zz 5 5 }: 6 6 7 7 stdenvNoCC.mkDerivation (finalAttrs: { ··· 19 19 dontBuild = true; 20 20 dontFixup = true; 21 21 22 - nativeBuildInputs = [ undmg ]; 22 + nativeBuildInputs = [ _7zz ]; 23 23 24 - # AirBuddy.dmg is not HFS formatted, default unpackPhase fails 25 - # https://discourse.nixos.org/t/help-with-error-only-hfs-file-systems-are-supported-on-ventura 24 + # AirBuddy.dmg is APFS formatted, unpack with 7zz 26 25 unpackCmd = '' 27 - mnt=$(mktemp -d) 26 + runHook preUnpack 28 27 29 - /usr/bin/hdiutil attach -nobrowse -readonly $src -mountpoint $mnt 28 + 7zz x $src 30 29 31 - shopt -s extglob 32 - DEST="$PWD" 33 - (cd "$mnt"; cp -a !(Applications) "$DEST/") 30 + runHook postUnpack 34 31 ''; 35 32 36 33 sourceRoot = "AirBuddy.app";
+6 -15
pkgs/os-specific/darwin/aldente/default.nix
··· 1 1 { lib 2 2 , stdenvNoCC 3 3 , fetchurl 4 - , undmg 4 + , _7zz 5 5 }: 6 6 7 7 stdenvNoCC.mkDerivation (finalAttrs: { ··· 16 16 dontBuild = true; 17 17 dontFixup = true; 18 18 19 - nativeBuildInputs = [ undmg ]; 19 + nativeBuildInputs = [ _7zz ]; 20 20 21 - # AlDente.dmg is not HFS formatted, default unpackPhase fails 22 - # https://discourse.nixos.org/t/help-with-error-only-hfs-file-systems-are-supported-on-ventura 21 + # AlDente.dmg is APFS formatted, unpack with 7zz 23 22 unpackCmd = '' 24 - if ! [[ "$curSrc" =~ \.dmg$ ]]; then return 1; fi 25 - mnt=$(mktemp -d -t ci-XXXXXXXXXX) 23 + runHook preUnpack 26 24 27 - function finish { 28 - /usr/bin/hdiutil detach $mnt -force 29 - } 30 - trap finish EXIT 25 + 7zz x $src 31 26 32 - /usr/bin/hdiutil attach -nobrowse -readonly $src -mountpoint $mnt 33 - 34 - shopt -s extglob 35 - DEST="$PWD" 36 - (cd "$mnt"; cp -a !(Applications) "$DEST/") 27 + runHook postUnpack 37 28 ''; 38 29 39 30 sourceRoot = "AlDente.app";