about summary refs log tree commit diff
path: root/pkgs/os-specific/darwin
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/darwin')
-rw-r--r--pkgs/os-specific/darwin/airbuddy/default.nix15
-rw-r--r--pkgs/os-specific/darwin/aldente/default.nix21
-rw-r--r--pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch22
-rw-r--r--pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch2
-rw-r--r--pkgs/os-specific/darwin/moltenvk/default.nix17
5 files changed, 38 insertions, 39 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";
diff --git a/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch b/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch
index e4b03dfe0cc3..83e020a1b848 100644
--- a/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch
+++ b/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch
@@ -16,7 +16,7 @@ index c23afce4..12ac12f4 100644
  		2FEA0D1B249040CA00EEF3AD /* PBXContainerItemProxy */ = {
  			isa = PBXContainerItemProxy;
  			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
-@@ -400,20 +393,6 @@
+@@ -400,27 +393,6 @@
  			remoteGlobalIDString = A93903C71C57E9ED00FE90DC;
  			remoteInfo = "MVKSPIRVToMSLConverter-macOS";
  		};
@@ -34,9 +34,16 @@ index c23afce4..12ac12f4 100644
 -			remoteGlobalIDString = A9092A8C1A81717B00051823;
 -			remoteInfo = MoltenVKShaderConverter;
 -		};
- /* End PBXContainerItemProxy section */
- 
- /* Begin PBXFileReference section */
+-		DCA2CEAE2A45DFD400FB75B6 /* PBXContainerItemProxy */ = {
+-			isa = PBXContainerItemProxy;
+-			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
+-			proxyType = 1;
+-			remoteGlobalIDString = DCFD7F6F2A45BDA0007BBBF7;
+-			remoteInfo = "MoltenVKShaderConverter-xrOS";
+-		};
+		DCBC41212A45DB1000F49BD1 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
 @@ -1019,7 +998,6 @@
  			buildRules = (
  			);
@@ -61,7 +68,7 @@ index c23afce4..12ac12f4 100644
  			);
  			name = "MoltenVK-macOS";
  			productName = MoltenVK;
-@@ -1476,24 +1452,6 @@
+@@ -1476,29 +1452,6 @@
  		};
  /* End PBXSourcesBuildPhase section */
  
@@ -81,6 +88,11 @@ index c23afce4..12ac12f4 100644
 -			name = MoltenVKShaderConverter;
 -			targetProxy = A9B1C7F4251AA5AF001D12CC /* PBXContainerItemProxy */;
 -		};
+-		DCA2CEAF2A45DFD400FB75B6 /* PBXTargetDependency */ = {
+-			isa = PBXTargetDependency;
+-			name = "MoltenVKShaderConverter-xrOS";
+-			targetProxy = DCA2CEAE2A45DFD400FB75B6 /* PBXContainerItemProxy */;
+-		};
 -/* End PBXTargetDependency section */
 -
  /* Begin XCBuildConfiguration section */
diff --git a/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch b/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch
index ecc5242684d9..3e48b2b5ba67 100644
--- a/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch
+++ b/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch
@@ -6,7 +6,7 @@ index c7842b63..d55f73ed 100644
  	archiveVersion = 1;
  	classes = {
  	};
--	objectVersion = 52;
+-	objectVersion = 54;
 +	objectVersion = 48;
  	objects = {
 
diff --git a/pkgs/os-specific/darwin/moltenvk/default.nix b/pkgs/os-specific/darwin/moltenvk/default.nix
index 2293720d7fab..c6ada1f55d5f 100644
--- a/pkgs/os-specific/darwin/moltenvk/default.nix
+++ b/pkgs/os-specific/darwin/moltenvk/default.nix
@@ -1,7 +1,6 @@
 { lib
 , overrideCC
 , stdenv
-, fetchurl
 , fetchFromGitHub
 , gitUpdater
 , cctools
@@ -24,7 +23,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "MoltenVK";
-  version = "1.2.4";
+  version = "1.2.7";
 
   buildInputs = [
     AppKit
@@ -47,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "KhronosGroup";
     repo = "MoltenVK";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-BL46BgZHUpk0dpzmeZ/2W0msHxFwieeGDjmVB8Nb1J4=";
+    hash = "sha256-0+S/kueV+AEVt+oFnh4cgcDRVtEbUH1QiHFPhGhimCA=";
   };
 
   patches = [
@@ -59,17 +58,18 @@ stdenv.mkDerivation (finalAttrs: {
   postPatch = ''
     # Move `mvkGitRevDerived.h` to a stable location
     substituteInPlace Scripts/gen_moltenvk_rev_hdr.sh \
-      --replace '$'''{BUILT_PRODUCTS_DIR}' "$NIX_BUILD_TOP/$sourceRoot/build/include" \
-      --replace '$(git rev-parse HEAD)' ${finalAttrs.src.rev}
+      --replace-fail '$'''{BUILT_PRODUCTS_DIR}' "$NIX_BUILD_TOP/$sourceRoot/build/include" \
+      --replace-fail '$(git rev-parse HEAD)' ${finalAttrs.src.rev}
     # Use the SPIRV-Cross packaged in nixpkgs instead of one built specifically for MoltenVK.
     substituteInPlace MoltenVK/MoltenVK.xcodeproj/project.pbxproj \
-      --replace SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross SPIRV_CROSS_NAMESPACE_OVERRIDE=spirv_cross
+      --replace-fail SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross SPIRV_CROSS_NAMESPACE_OVERRIDE=spirv_cross
     substituteInPlace MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj \
-      --replace SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross SPIRV_CROSS_NAMESPACE_OVERRIDE=spirv_cross
+      --replace-fail SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross SPIRV_CROSS_NAMESPACE_OVERRIDE=spirv_cross
     # Adding all of `usr/include` from the SDK results in header conflicts with `libcxx.dev`.
     # Work around it by symlinking just the SIMD stuff needed by MoltenVK.
     mkdir -p build/include
     ln -s "${MacOSX-SDK}/usr/include/simd" "build/include"
+    ln -s "${glslang.src}" "build/include/glslang"
   '';
 
   dontConfigure = true;
@@ -93,7 +93,6 @@ stdenv.mkDerivation (finalAttrs: {
     NIX_LDFLAGS+=" \
       -lMachineIndependent \
       -lGenericCodeGen \
-      -lOGLCompiler \
       -lglslang \
       -lOSDependent \
       -lSPIRV \
@@ -139,7 +138,7 @@ stdenv.mkDerivation (finalAttrs: {
     cp MoltenVK/MoltenVK/API/* "$dev/include/MoltenVK"
     install -m644 MoltenVK/icd/MoltenVK_icd.json "$out/share/vulkan/icd.d/MoltenVK_icd.json"
     substituteInPlace $out/share/vulkan/icd.d/MoltenVK_icd.json \
-      --replace ./libMoltenVK.dylib "$out/lib/libMoltenVK.dylib"
+      --replace-fail ./libMoltenVK.dylib "$out/lib/libMoltenVK.dylib"
   '';
 
   postFixup = ''