about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/emulators
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/emulators')
-rw-r--r--nixpkgs/pkgs/applications/emulators/box64/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/emulators/commanderx16/emulator.nix4
-rw-r--r--nixpkgs/pkgs/applications/emulators/commanderx16/rom.nix4
-rw-r--r--nixpkgs/pkgs/applications/emulators/openmsx/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/emulators/pcsx2/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/emulators/ryujinx/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/base.nix21
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat-pre8.12.patch22
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat.patch21
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/sources.nix6
-rw-r--r--nixpkgs/pkgs/applications/emulators/yuzu/generic.nix2
-rw-r--r--nixpkgs/pkgs/applications/emulators/yuzu/sources.nix14
-rw-r--r--nixpkgs/pkgs/applications/emulators/yuzu/vulkan_version.patch13
13 files changed, 62 insertions, 61 deletions
diff --git a/nixpkgs/pkgs/applications/emulators/box64/default.nix b/nixpkgs/pkgs/applications/emulators/box64/default.nix
index 38ff3db999f6..35ed421469a9 100644
--- a/nixpkgs/pkgs/applications/emulators/box64/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/box64/default.nix
@@ -15,13 +15,13 @@ assert withDynarec -> stdenv.hostPlatform.isAarch64;
 
 stdenv.mkDerivation rec {
   pname = "box64";
-  version = "0.2.2";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "ptitSeb";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-aIvL0H0k0/lz2lCLxB17RxNm0cxVozYthy0z85/FuUE=";
+    hash = "sha256-iCZv/WvqZkH6i23fSLA/p0nG5/CgzjyU5glVgje4c3w=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/emulators/commanderx16/emulator.nix b/nixpkgs/pkgs/applications/emulators/commanderx16/emulator.nix
index 37d995334af0..9da865057739 100644
--- a/nixpkgs/pkgs/applications/emulators/commanderx16/emulator.nix
+++ b/nixpkgs/pkgs/applications/emulators/commanderx16/emulator.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "x16-emulator";
-  version = "43";
+  version = "44";
 
   src = fetchFromGitHub {
     owner = "X16Community";
     repo = "x16-emulator";
     rev = "r${finalAttrs.version}";
-    hash = "sha256-cZB7MRYlchD3zcBSWBIzyBiGHJobJvozkVT/7ftFkNg=";
+    hash = "sha256-NDtfbhqGldxtvWQf/t6UnMRjI2DR7JYKbm2KFAMZhHY=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/emulators/commanderx16/rom.nix b/nixpkgs/pkgs/applications/emulators/commanderx16/rom.nix
index 8c9c1d1b505a..c272faa706aa 100644
--- a/nixpkgs/pkgs/applications/emulators/commanderx16/rom.nix
+++ b/nixpkgs/pkgs/applications/emulators/commanderx16/rom.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "x16-rom";
-  version = "43";
+  version = "44";
 
   src = fetchFromGitHub {
     owner = "X16Community";
     repo = "x16-rom";
     rev = "r${finalAttrs.version}";
-    hash = "sha256-LkGHfralxlishG1oyBojDnLMJ3c3KYp5YwJSZ2SIrbM=";
+    hash = "sha256-x/U+8e869mkWZKmCiW2fZKGB9un2cFXNclemwxbAjLQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/emulators/openmsx/default.nix b/nixpkgs/pkgs/applications/emulators/openmsx/default.nix
index 9def450b0345..c9f7827d09ab 100644
--- a/nixpkgs/pkgs/applications/emulators/openmsx/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/openmsx/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "openmsx";
-  version = "19.0";
+  version = "19.1";
 
   src = fetchFromGitHub {
     owner = "openMSX";
     repo = "openMSX";
     rev = "RELEASE_${builtins.replaceStrings ["."] ["_"] finalAttrs.version}";
-    sha256 = "sha256-NR0+vOUkbyuVWdHLmKEewDDmR1ibi3dtbSq+6RaxrGo=";
+    sha256 = "sha256-5ULljLmEDGFp32rnrXKLfL6P3ad2STJUNngBuWlRCbc=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/emulators/pcsx2/default.nix b/nixpkgs/pkgs/applications/emulators/pcsx2/default.nix
index fea7bf17ef7b..1b016e0559dd 100644
--- a/nixpkgs/pkgs/applications/emulators/pcsx2/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/pcsx2/default.nix
@@ -18,7 +18,6 @@
 , qtbase
 , qtsvg
 , qttools
-, qttranslations
 , qtwayland
 , rapidyaml
 , SDL2
@@ -83,7 +82,6 @@ llvmPackages_16.stdenv.mkDerivation rec {
     qtbase
     qtsvg
     qttools
-    qttranslations
     qtwayland
     rapidyaml
     SDL2
diff --git a/nixpkgs/pkgs/applications/emulators/ryujinx/default.nix b/nixpkgs/pkgs/applications/emulators/ryujinx/default.nix
index 19e9ea8026d8..8136be89601d 100644
--- a/nixpkgs/pkgs/applications/emulators/ryujinx/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/ryujinx/default.nix
@@ -28,13 +28,13 @@
 
 buildDotnetModule rec {
   pname = "ryujinx";
-  version = "1.1.986"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
+  version = "1.1.999"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
 
   src = fetchFromGitHub {
     owner = "Ryujinx";
     repo = "Ryujinx";
-    rev = "33f544fd9248361440afd6013e0ef9d69971d6da";
-    sha256 = "1cnz3j8qndfrm1iifbzswyf4vcii939naj29bvr2mp6bdwrbqi49";
+    rev = "7f96dbc0242f169caeb8461237bc01a23c115f56";
+    sha256 = "1fi1bfbz07k9n8civ7gv0rlksdm59wpjcq50hrj7dgwnkrlmxdi2";
   };
 
   dotnet-sdk = dotnetCorePackages.sdk_7_0;
diff --git a/nixpkgs/pkgs/applications/emulators/wine/base.nix b/nixpkgs/pkgs/applications/emulators/wine/base.nix
index bc8051d6de5f..8b1b4966ddab 100644
--- a/nixpkgs/pkgs/applications/emulators/wine/base.nix
+++ b/nixpkgs/pkgs/applications/emulators/wine/base.nix
@@ -90,7 +90,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
   ++ lib.optionals tlsSupport    [ pkgs.openssl pkgs.gnutls ]
   ++ lib.optionals (openglSupport && !stdenv.isDarwin) [ pkgs.libGLU pkgs.libGL pkgs.mesa.osmesa pkgs.libdrm ]
   ++ lib.optionals stdenv.isDarwin (with pkgs.buildPackages.darwin.apple_sdk.frameworks; [
-     CoreServices Foundation ForceFeedback AppKit OpenGL IOKit DiskArbitration Security
+     CoreServices Foundation ForceFeedback AppKit OpenGL IOKit DiskArbitration PCSC Security
      ApplicationServices AudioToolbox CoreAudio AudioUnit CoreMIDI OpenCL Cocoa Carbon
   ])
   ++ lib.optionals (stdenv.isLinux && !waylandSupport) (with pkgs.xorg; [
@@ -103,14 +103,27 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
 
   patches = [ ]
     ++ lib.optionals stdenv.isDarwin [
-      # Wine requires `MTLDevice.registryID` for `winemac.drv`, but that property is not available
-      # in the 10.12 SDK (current SDK on x86_64-darwin). Work around that by using selector syntax.
+      # Wine uses `MTLDevice.registryID` in `winemac.drv`, but that property is not available in
+      # the 10.12 SDK (current SDK on x86_64-darwin). That can be worked around by using selector
+      # syntax. As of Wine 8.12, the logic has changed and uses selector syntax, but it still
+      # uses property syntax in one place. The first patch is necessary only with older
+      # versions of Wine. The second is needed on all versions of Wine.
+      (lib.optional (lib.versionOlder version "8.12") ./darwin-metal-compat-pre8.12.patch)
       ./darwin-metal-compat.patch
       # Wine requires `qos.h`, which is not included by default on the 10.12 SDK in nixpkgs.
       ./darwin-qos.patch
     ]
     ++ patches';
 
+  # Because the 10.12 SDK doesn’t define `registryID`, clang assumes the undefined selector returns
+  # `id`, which is a pointer. This causes implicit pointer to integer errors in clang 15+.
+  # The following post-processing step adds a cast to `uint64_t` before the selector invocation to
+  # silence these errors.
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    sed -e 's|\(\[[A-Za-z_][][A-Za-z_0-9]* registryID\]\)|(uint64_t)\1|' \
+      -i dlls/winemac.drv/cocoa_display.m
+  '';
+
   configureFlags = prevConfigFlags
     ++ lib.optionals supportFlags.waylandSupport [ "--with-wayland" ]
     ++ lib.optionals supportFlags.vulkanSupport [ "--with-vulkan" ]
@@ -192,7 +205,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
     ];
     description = if supportFlags.waylandSupport then "An Open Source implementation of the Windows API on top of OpenGL and Unix (with experimental Wayland support)" else "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix";
     platforms = if supportFlags.waylandSupport then (lib.remove "x86_64-darwin" prevPlatforms) else prevPlatforms;
-    maintainers = with lib.maintainers; [ avnik raskin bendlas jmc-figueira ];
+    maintainers = with lib.maintainers; [ avnik raskin bendlas jmc-figueira reckenrode ];
     inherit mainProgram;
   };
 })
diff --git a/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat-pre8.12.patch b/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat-pre8.12.patch
new file mode 100644
index 000000000000..aaf8a1b89bfd
--- /dev/null
+++ b/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat-pre8.12.patch
@@ -0,0 +1,22 @@
+diff --git a/dlls/winemac.drv/cocoa_display.m b/dlls/winemac.drv/cocoa_display.m
+--- a/dlls/winemac.drv/cocoa_display.m
++++ b/dlls/winemac.drv/cocoa_display.m
+@@ -289,7 +289,7 @@ static int macdrv_get_gpus_from_metal(struct macdrv_gpu** new_gpus, int* count)
+      * the primary GPU because we need to hide the integrated GPU for an automatic graphic switching pair to avoid apps
+      * using the integrated GPU. This is the behavior of Windows on a Mac. */
+     primary_device = [MTLCreateSystemDefaultDevice() autorelease];
+-    if (macdrv_get_gpu_info_from_registry_id(&primary_gpu, primary_device.registryID))
++    if (macdrv_get_gpu_info_from_registry_id(&primary_gpu, [primary_device registryID]))
+         goto done;
+
+     /* Hide the integrated GPU if the system default device is a dedicated GPU */
+@@ -301,7 +301,7 @@ static int macdrv_get_gpus_from_metal(struct macdrv_gpu** new_gpus, int* count)
+
+     for (i = 0; i < devices.count; i++)
+     {
+-        if (macdrv_get_gpu_info_from_registry_id(&gpus[gpu_count], devices[i].registryID))
++        if (macdrv_get_gpu_info_from_registry_id(&gpus[gpu_count], [devices[i] registryID]))
+             goto done;
+
+         if (hide_integrated && devices[i].isLowPower)
+
diff --git a/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat.patch b/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat.patch
index aeee7533bbd4..181b2a0d1a47 100644
--- a/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat.patch
+++ b/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat.patch
@@ -1,31 +1,12 @@
 diff --git a/dlls/winemac.drv/cocoa_display.m b/dlls/winemac.drv/cocoa_display.m
-index f64a6c0f6ad..6da0391e3fa 100644
 --- a/dlls/winemac.drv/cocoa_display.m
 +++ b/dlls/winemac.drv/cocoa_display.m
-@@ -289,7 +289,7 @@ static int macdrv_get_gpus_from_metal(struct macdrv_gpu** new_gpus, int* count)
-      * the primary GPU because we need to hide the integrated GPU for an automatic graphic switching pair to avoid apps
-      * using the integrated GPU. This is the behavior of Windows on a Mac. */
-     primary_device = [MTLCreateSystemDefaultDevice() autorelease];
--    if (macdrv_get_gpu_info_from_registry_id(&primary_gpu, primary_device.registryID))
-+    if (macdrv_get_gpu_info_from_registry_id(&primary_gpu, (uint64_t)[primary_device registryID]))
-         goto done;
- 
-     /* Hide the integrated GPU if the system default device is a dedicated GPU */
-@@ -301,7 +301,7 @@ static int macdrv_get_gpus_from_metal(struct macdrv_gpu** new_gpus, int* count)
- 
-     for (i = 0; i < devices.count; i++)
-     {
--        if (macdrv_get_gpu_info_from_registry_id(&gpus[gpu_count], devices[i].registryID))
-+        if (macdrv_get_gpu_info_from_registry_id(&gpus[gpu_count], (uint64_t)[devices[i] registryID]))
-             goto done;
- 
-         if (hide_integrated && devices[i].isLowPower)
 @@ -354,7 +354,7 @@ static int macdrv_get_gpu_info_from_display_id_using_metal(struct macdrv_gpu* gp
  
      device = [CGDirectDisplayCopyCurrentMetalDevice(display_id) autorelease];
      if (device && [device respondsToSelector:@selector(registryID)])
 -        ret = macdrv_get_gpu_info_from_registry_id(gpu, device.registryID);
-+        ret = macdrv_get_gpu_info_from_registry_id(gpu, (uint64_t)[device registryID]);
++        ret = macdrv_get_gpu_info_from_registry_id(gpu, [device registryID]);
  
  done:
      [pool release];
diff --git a/nixpkgs/pkgs/applications/emulators/wine/sources.nix b/nixpkgs/pkgs/applications/emulators/wine/sources.nix
index 1bfb35e76d78..aca987417558 100644
--- a/nixpkgs/pkgs/applications/emulators/wine/sources.nix
+++ b/nixpkgs/pkgs/applications/emulators/wine/sources.nix
@@ -69,9 +69,9 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the hash for staging as well.
-    version = "8.13";
+    version = "8.14";
     url = "https://dl.winehq.org/wine/source/8.x/wine-${version}.tar.xz";
-    hash = "sha256-JuXTqD0lxUGMbA9USORD0gh2OiZDqrSw8a01KSKkwnU=";
+    hash = "sha256-4YNu9msYJfqdoEKDDASVsqw5SBVENkNGaXnuif3X+vQ=";
     inherit (stable) patches;
 
     ## see http://wiki.winehq.org/Gecko
@@ -117,7 +117,7 @@ in rec {
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
     inherit (unstable) version;
-    hash = "sha256-5upC+IWHBJE5DeFv96lD1hr4LYYaqAAzfxIroK9KlOY=";
+    hash = "sha256-ct/RGXt9B6F3PHbirX8K03AZ0Kunitd2HmI0N5k6VHI=";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
diff --git a/nixpkgs/pkgs/applications/emulators/yuzu/generic.nix b/nixpkgs/pkgs/applications/emulators/yuzu/generic.nix
index 71306bdc43b5..3fdd6db84661 100644
--- a/nixpkgs/pkgs/applications/emulators/yuzu/generic.nix
+++ b/nixpkgs/pkgs/applications/emulators/yuzu/generic.nix
@@ -110,7 +110,7 @@ in stdenv.mkDerivation {
   # This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt`
   # making the build fail, as that path does not exist
   dontFixCmake = true;
-  patches = [./vulkan_version.patch];
+
   cmakeFlags = [
     # actually has a noticeable performance impact
     "-DYUZU_ENABLE_LTO=ON"
diff --git a/nixpkgs/pkgs/applications/emulators/yuzu/sources.nix b/nixpkgs/pkgs/applications/emulators/yuzu/sources.nix
index d417dc6f035f..9322090e7941 100644
--- a/nixpkgs/pkgs/applications/emulators/yuzu/sources.nix
+++ b/nixpkgs/pkgs/applications/emulators/yuzu/sources.nix
@@ -1,19 +1,19 @@
 # Generated by ./update.sh - do not update manually!
-# Last updated: 2023-08-14
+# Last updated: 2023-08-27
 {
   compatList = {
-    rev = "fbecbb568ce45c2d118a76ff41f9e817a8b899e6";
+    rev = "f440391993fe499c79d647ed0a20d117c0db0c27";
     hash = "sha256:1hdsza3wf9a0yvj6h55gsl7xqvhafvbz1i8paz9kg7l49b0gnlh1";
   };
 
   mainline = {
-    version = "1522";
-    hash = "sha256:15ka5lg9mdfgwngmsjm3dk74c64hxak2zkf36jdgqcjlwxdx81qk";
+    version = "1538";
+    hash = "sha256:1wynpcx6gwdbahf7nm22jslk9hbcy17nxbr6qnzagndrws30csx5";
   };
 
   ea = {
-    version = "3805";
-    distHash = "sha256:1hxq4aifnncilnxmymgbz73m558y8v5f72cpgdfaqr450vlc5sks";
-    fullHash = "sha256:1psivknzv1kycpnl81g0b9d9ck70lxddkn1gaimic37a7kxpg395";
+    version = "3838";
+    distHash = "sha256:0riwahdlhi4a96ya4pi7g0anwa35z8zhbax87m2mk89vwrjnf2am";
+    fullHash = "sha256:1a1cq4dg624y3ixgc05ihlhy1fnpp98xnc60cssrdmmzyp79hrjp";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/yuzu/vulkan_version.patch b/nixpkgs/pkgs/applications/emulators/yuzu/vulkan_version.patch
deleted file mode 100644
index 7b77179e9f4e..000000000000
--- a/nixpkgs/pkgs/applications/emulators/yuzu/vulkan_version.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Yuzu requires a version of Vulkan that has not yet been released as a stable Vulkan SDK. In case this patch fails, check which version Yuzu is currently using and verify that it still works with the version shipped in Nixpkgs.
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -314,7 +314,7 @@
- find_package(zstd 1.5 REQUIRED)
- 
- if (NOT YUZU_USE_EXTERNAL_VULKAN_HEADERS)
--    find_package(Vulkan 1.3.256 REQUIRED)
-+    find_package(Vulkan 1.3.250 REQUIRED)
- endif()
- 
- if (ENABLE_LIBUSB)