about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/emulators
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-12-01 19:00:09 +0100
committerAlyssa Ross <hi@alyssa.is>2023-12-01 19:00:09 +0100
commit9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d (patch)
tree4368f9e4cb2d5b93a956c085337e45cb70f1e331 /nixpkgs/pkgs/applications/emulators
parenta9cbfb6941b47d6f50129e6e36927882392daed7 (diff)
parent2344fe1da14cb08b0c18743b207995f9b8597915 (diff)
downloadnixlib-9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d.tar
nixlib-9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d.tar.gz
nixlib-9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d.tar.bz2
nixlib-9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d.tar.lz
nixlib-9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d.tar.xz
nixlib-9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d.tar.zst
nixlib-9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d.zip
Merge https://github.com/NixOS/nixpkgs
Diffstat (limited to 'nixpkgs/pkgs/applications/emulators')
-rw-r--r--nixpkgs/pkgs/applications/emulators/cemu/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/emulators/citra/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/emulators/citra/generic.nix107
-rw-r--r--nixpkgs/pkgs/applications/emulators/darling/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/emulators/retroarch/cores.nix48
-rw-r--r--nixpkgs/pkgs/applications/emulators/rpcs3/99-ds3-controllers.rules5
-rw-r--r--nixpkgs/pkgs/applications/emulators/rpcs3/99-ds4-controllers.rules14
-rw-r--r--nixpkgs/pkgs/applications/emulators/rpcs3/99-dualsense-controllers.rules5
-rw-r--r--nixpkgs/pkgs/applications/emulators/rpcs3/default.nix106
-rwxr-xr-xnixpkgs/pkgs/applications/emulators/rpcs3/update.sh60
-rw-r--r--nixpkgs/pkgs/applications/emulators/xemu/default.nix4
11 files changed, 113 insertions, 261 deletions
diff --git a/nixpkgs/pkgs/applications/emulators/cemu/default.nix b/nixpkgs/pkgs/applications/emulators/cemu/default.nix
index 3858ddf55b0d..98ac7c66dfe6 100644
--- a/nixpkgs/pkgs/applications/emulators/cemu/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/cemu/default.nix
@@ -16,6 +16,7 @@
 , hidapi
 , imgui
 , libpng
+, libusb1
 , libzip
 , libXrender
 , pugixml
@@ -32,13 +33,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cemu";
-  version = "2.0-47";
+  version = "2.0-59";
 
   src = fetchFromGitHub {
     owner = "cemu-project";
     repo = "Cemu";
     rev = "v${version}";
-    hash = "sha256-0N/bJJHWMHF+ZlVxNHV8t/1jFr3ER3GNF8CPAHVSsak=";
+    hash = "sha256-dw77UkhyJ+XJLYWT6adUuTd+spqNr3/ZOMLaAVWgzmc=";
   };
 
   patches = [
@@ -68,6 +69,7 @@ stdenv.mkDerivation rec {
     hidapi
     imgui
     libpng
+    libusb1
     libzip
     libXrender
     pugixml
diff --git a/nixpkgs/pkgs/applications/emulators/citra/default.nix b/nixpkgs/pkgs/applications/emulators/citra/default.nix
index 41a018d9ea92..960cefc67871 100644
--- a/nixpkgs/pkgs/applications/emulators/citra/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/citra/default.nix
@@ -9,19 +9,19 @@ let
   # Please make sure to update this when updating citra!
   compat-list = fetchurl {
     name = "citra-compat-list";
-    url = "https://web.archive.org/web/20230807103651/https://api.citra-emu.org/gamedb/";
+    url = "https://web.archive.org/web/20231111133415/https://api.citra-emu.org/gamedb";
     hash = "sha256-J+zqtWde5NgK2QROvGewtXGRAWUTNSKHNMG6iu9m1fU=";
   };
 in {
   nightly = qt6Packages.callPackage ./generic.nix rec {
     pname = "citra-nightly";
-    version = "1963";
+    version = "2043";
 
     src = fetchFromGitHub {
       owner = "citra-emu";
       repo = "citra-nightly";
       rev = "nightly-${version}";
-      sha256 = "0ggi1l8327s43xaxs616g0s9vmal6q7vsv69bn07gp71gchhcmyi";
+      sha256 = "sha256-26M3uzqp4rUMOhr619UooupZT11B03IJfamUPNkceQk=";
       fetchSubmodules = true;
     };
 
@@ -30,13 +30,13 @@ in {
 
   canary = qt6Packages.callPackage ./generic.nix rec {
     pname = "citra-canary";
-    version = "2573";
+    version = "2695";
 
     src = fetchFromGitHub {
       owner = "citra-emu";
       repo = "citra-canary";
       rev = "canary-${version}";
-      sha256 = "sha256-tQJ3WcqGcnW9dOiwDrBgL0n3UNp1DGQ/FjCR28Xjdpc=";
+      sha256 = "sha256-090er4aUGze8bk3DIFZoa+/6EcJhr4bim3nWgZHs1mo=";
       fetchSubmodules = true;
     };
 
diff --git a/nixpkgs/pkgs/applications/emulators/citra/generic.nix b/nixpkgs/pkgs/applications/emulators/citra/generic.nix
index 8df720e60b79..21b60bb4056e 100644
--- a/nixpkgs/pkgs/applications/emulators/citra/generic.nix
+++ b/nixpkgs/pkgs/applications/emulators/citra/generic.nix
@@ -6,70 +6,93 @@
 
 , lib
 , stdenv
-, fetchFromGitHub
 , cmake
 , boost
 , pkg-config
-, libusb1
+, catch2_3
+, cpp-jwt
+, cryptopp
+, enet
+, ffmpeg
+, fmt
 , glslang
+, httplib
+, inih
+, libusb1
+, nlohmann_json
+, openal
+, openssl
+, SDL2
+, soundtouch
+, spirv-tools
 , zstd
-, libressl
-, enableSdl2 ? true, SDL2
-, enableQt ? true, qtbase, qtmultimedia, wrapQtAppsHook
+, vulkan-headers
+, vulkan-loader
+, enableSdl2Frontend ? true
+, enableQt ? true, qtbase, qtmultimedia, qtwayland, wrapQtAppsHook
 , enableQtTranslation ? enableQt, qttools
 , enableWebService ? true
 , enableCubeb ? true, cubeb
-, enableFfmpegAudioDecoder ? true
-, enableFfmpegVideoDumper ? true
-, ffmpeg_4
 , useDiscordRichPresence ? true, rapidjson
-, enableFdk ? false, fdk_aac
 }:
-assert lib.assertMsg (!enableFfmpegAudioDecoder || !enableFdk) "Can't enable both enableFfmpegAudioDecoder and enableFdk";
-
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   inherit pname version src;
 
   nativeBuildInputs = [
     cmake
-    glslang
     pkg-config
+    ffmpeg
+    glslang
   ] ++ lib.optionals enableQt [ wrapQtAppsHook ];
 
   buildInputs = [
     boost
+    catch2_3
+    cpp-jwt
+    cryptopp
+    # intentionally omitted: dynarmic - prefer vendored version for compatibility
+    enet
+    fmt
+    httplib
+    inih
     libusb1
-  ] ++ lib.optionals enableQt [ qtbase qtmultimedia ]
-    ++ lib.optional enableSdl2 SDL2
+    nlohmann_json
+    openal
+    openssl
+    SDL2
+    soundtouch
+    spirv-tools
+    vulkan-headers
+    # intentionally omitted: xbyak - prefer vendored version for compatibility
+    zstd
+  ] ++ lib.optionals enableQt [ qtbase qtmultimedia qtwayland ]
     ++ lib.optional enableQtTranslation qttools
-    ++ lib.optionals enableCubeb cubeb.passthru.backendLibs
-    ++ lib.optional (enableFfmpegAudioDecoder || enableFfmpegVideoDumper) ffmpeg_4
-    ++ lib.optional useDiscordRichPresence rapidjson
-    ++ lib.optional enableFdk fdk_aac;
+    ++ lib.optional enableCubeb cubeb
+    ++ lib.optional useDiscordRichPresence rapidjson;
 
   cmakeFlags = [
-    "-DUSE_SYSTEM_BOOST=ON"
-    "-DCITRA_WARNINGS_AS_ERRORS=OFF"
-    "-DCITRA_USE_BUNDLED_FFMPEG=OFF"
-    "-DCITRA_USE_BUNDLED_QT=OFF"
-    "-DUSE_SYSTEM_SDL2=ON"
-    "-DCMAKE_INSTALL_INCLUDEDIR=include"
-    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DUSE_SYSTEM_LIBS=ON"
+
+    "-DDISABLE_SYSTEM_DYNARMIC=ON"
+    "-DDISABLE_SYSTEM_GLSLANG=ON" # The following imported targets are referenced, but are missing: SPIRV-Tools-opt
+    "-DDISABLE_SYSTEM_LODEPNG=ON" # Not packaged in nixpkgs
+    "-DDISABLE_SYSTEM_VMA=ON"
+    "-DDISABLE_SYSTEM_XBYAK=ON"
 
-    # We dont want to bother upstream with potentially outdated compat reports
+    # We don't want to bother upstream with potentially outdated compat reports
     "-DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON"
     "-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF" # We provide this deterministically
-  ] ++ lib.optional (!enableSdl2) "-DENABLE_SDL2=OFF"
+  ] ++ lib.optional (!enableSdl2Frontend) "-DENABLE_SDL2_FRONTEND=OFF"
     ++ lib.optional (!enableQt) "-DENABLE_QT=OFF"
     ++ lib.optional enableQtTranslation "-DENABLE_QT_TRANSLATION=ON"
     ++ lib.optional (!enableWebService) "-DENABLE_WEB_SERVICE=OFF"
     ++ lib.optional (!enableCubeb) "-DENABLE_CUBEB=OFF"
-    ++ lib.optional enableFfmpegAudioDecoder "-DENABLE_FFMPEG_AUDIO_DECODER=ON"
-    ++ lib.optional enableFfmpegVideoDumper "-DENABLE_FFMPEG_VIDEO_DUMPER=ON"
-    ++ lib.optional useDiscordRichPresence "-DUSE_DISCORD_PRESENCE=ON"
-    ++ lib.optional enableFdk "-DENABLE_FDK=ON";
+    ++ lib.optional useDiscordRichPresence "-DUSE_DISCORD_PRESENCE=ON";
 
-  postPatch = with lib; let
+  # causes redefinition of _FORTIFY_SOURCE
+  hardeningDisable = [ "fortify3" ];
+
+  postPatch = let
     branchCaptialized = (lib.toUpper (lib.substring 0 1 branch) + lib.substring 1 (-1) branch);
   in ''
     # Fix file not found when looking in var/empty instead of opt
@@ -85,19 +108,17 @@ stdenv.mkDerivation rec {
 
     # Add versions
     echo 'set(BUILD_FULLNAME "${branchCaptialized} ${version}")' >> CMakeModules/GenerateBuildInfo.cmake
-
-    # Devendoring
-    rm -rf externals/zstd externals/libressl
-    cp -r ${zstd.src} externals/zstd
-    tar xf ${libressl.src} -C externals/
-    mv externals/${libressl.name} externals/libressl
-    chmod -R a+w externals/zstd
   '';
 
-  # Fixes https://github.com/NixOS/nixpkgs/issues/171173
-  postInstall = lib.optionalString (enableCubeb && enableSdl2) ''
+  postInstall = let
+    libs = lib.makeLibraryPath [ vulkan-loader ];
+  in lib.optionalString enableSdl2Frontend ''
     wrapProgram "$out/bin/citra" \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath cubeb.passthru.backendLibs}
+      --prefix LD_LIBRARY_PATH : ${libs}
+  '' + lib.optionalString enableQt ''
+    qtWrapperArgs+=(
+      --prefix LD_LIBRARY_PATH : ${libs}
+    )
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/emulators/darling/default.nix b/nixpkgs/pkgs/applications/emulators/darling/default.nix
index cc4d7265ce28..d26aae29b2e3 100644
--- a/nixpkgs/pkgs/applications/emulators/darling/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/darling/default.nix
@@ -4,6 +4,7 @@
 , writeShellScript
 , fetchFromGitHub
 , fetchpatch
+, nixosTests
 
 , freetype
 , libjpeg
@@ -107,14 +108,14 @@ let
   ];
 in stdenv.mkDerivation {
   pname = "darling";
-  version = "unstable-2023-05-02";
+  version = "unstable-2023-11-07";
 
   src = fetchFromGitHub {
     owner = "darlinghq";
     repo = "darling";
-    rev = "557e7e9dece394a3f623825679474457e5b64fd0";
+    rev = "34351655a40d2090e70b3033a577b8cdea967633";
     fetchSubmodules = true;
-    hash = "sha256-SOoLaV7wg33qRHPQXkdMvrY++CvoG85kwd6IU6DkYa0=";
+    hash = "sha256-Jhr7Do15vms8bJ8AczVSkuWrC7gUR5ZvU9/PfCmGGcg=";
   };
 
   outputs = [ "out" "sdk" ];
@@ -221,6 +222,8 @@ in stdenv.mkDerivation {
       $out/libexec/darling/usr/libexec/darling/mldr
   '';
 
+  passthru.tests.nixos = nixosTests.darling;
+
   meta = with lib; {
     description = "Open-source Darwin/macOS emulation layer for Linux";
     homepage = "https://www.darlinghq.org";
diff --git a/nixpkgs/pkgs/applications/emulators/retroarch/cores.nix b/nixpkgs/pkgs/applications/emulators/retroarch/cores.nix
index d84ae907b179..185187a9e3b0 100644
--- a/nixpkgs/pkgs/applications/emulators/retroarch/cores.nix
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/cores.nix
@@ -390,7 +390,8 @@ in
     preBuild = "cd svn-current/trunk";
     meta = {
       description = "Port of Final Burn Alpha ~2012 to libretro";
-      license = "Non-commercial";
+      # Non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -400,7 +401,8 @@ in
     preBuild = "cd src/burner/libretro";
     meta = {
       description = "Port of FBNeo to libretro";
-      license = "Non-commercial";
+      # Non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -430,7 +432,8 @@ in
     makefile = "Makefile";
     meta = {
       description = "FMSX libretro port";
-      license = "Non-commercial";
+      # Non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -463,7 +466,8 @@ in
     core = "genesis-plus-gx";
     meta = {
       description = "Enhanced Genesis Plus libretro port";
-      license = "Non-commercial";
+      # Non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -524,7 +528,8 @@ in
     makeFlags = lib.optional (!stdenv.hostPlatform.isx86) "IS_X86=0";
     meta = {
       description = "Port of MAME ~2000 to libretro, compatible with MAME 0.37b5 sets";
-      license = "MAME";
+      # MAME license, non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -533,7 +538,8 @@ in
     makefile = "Makefile";
     meta = {
       description = "Port of MAME ~2003 to libretro, compatible with MAME 0.78 sets";
-      license = "MAME";
+      # MAME license, non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -542,7 +548,8 @@ in
     makefile = "Makefile";
     meta = {
       description = "Port of MAME ~2003+ to libretro, compatible with MAME 0.78 sets";
-      license = "MAME";
+      # MAME license, non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -552,7 +559,8 @@ in
     makeFlags = lib.optionals stdenv.hostPlatform.isAarch64 [ "PTR64=1" "ARM_ENABLED=1" "X86_SH2DRC=0" "FORCE_DRC_C_BACKEND=1" ];
     meta = {
       description = "Port of MAME ~2010 to libretro, compatible with MAME 0.139 sets";
-      license = "MAME";
+      # MAME license, non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -566,7 +574,8 @@ in
     enableParallelBuilding = false;
     meta = {
       description = "Port of MAME ~2015 to libretro, compatible with MAME 0.160 sets";
-      license = "MAME";
+      # MAME license, non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -708,7 +717,8 @@ in
     makeFlags = [ "CC_PREFIX=${stdenv.cc.targetPrefix}" ];
     meta = {
       description = "Opera is a port of 4DO/libfreedo to libretro";
-      license = "Non-commercial";
+      # Non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -782,7 +792,8 @@ in
     dontConfigure = true;
     meta = {
       description = "Fast MegaDrive/MegaCD/32X emulator";
-      license = "MAME";
+      # Non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -901,7 +912,8 @@ in
     preBuild = "cd libretro";
     meta = {
       description = "Port of SNES9x git to libretro";
-      license = "Non-commercial";
+      # Non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -910,7 +922,8 @@ in
     makefile = "Makefile";
     meta = {
       description = "Optimized port/rewrite of SNES9x 1.39 to Libretro";
-      license = "Non-commercial";
+      # Non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -919,7 +932,8 @@ in
     makefile = "Makefile";
     meta = {
       description = "Optimized port/rewrite of SNES9x 1.43 to Libretro";
-      license = "Non-commercial";
+      # Non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -930,7 +944,8 @@ in
     makeFlags = [ "USE_BLARGG_APU=1" ];
     meta = {
       description = "Optimized port/rewrite of SNES9x 1.43 to Libretro, with Blargg's APU";
-      license = "Non-commercial";
+      # Non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
@@ -938,7 +953,8 @@ in
     core = "snes9x2010";
     meta = {
       description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro";
-      license = "Non-commercial";
+      # Non-commercial clause
+      license = lib.licenses.unfreeRedistributable;
     };
   };
 
diff --git a/nixpkgs/pkgs/applications/emulators/rpcs3/99-ds3-controllers.rules b/nixpkgs/pkgs/applications/emulators/rpcs3/99-ds3-controllers.rules
deleted file mode 100644
index a4f32124d970..000000000000
--- a/nixpkgs/pkgs/applications/emulators/rpcs3/99-ds3-controllers.rules
+++ /dev/null
@@ -1,5 +0,0 @@
-# DualShock 3 over USB
-KERNEL=="hidraw", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0268", MODE="0666"
-
-# DualShock 3 over Bluetooth
-KERNEL=="hidraw*", KERNELS=="*054C:0268*", MODE="0666"
diff --git a/nixpkgs/pkgs/applications/emulators/rpcs3/99-ds4-controllers.rules b/nixpkgs/pkgs/applications/emulators/rpcs3/99-ds4-controllers.rules
deleted file mode 100644
index 6061debfbff8..000000000000
--- a/nixpkgs/pkgs/applications/emulators/rpcs3/99-ds4-controllers.rules
+++ /dev/null
@@ -1,14 +0,0 @@
-# DualShock 4 over USB
-KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"
-
-# DualShock 4 Wireless Adapter over USB
-KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"
-
-# DualShock 4 Slim over USB
-KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"
-
-# DualShock 4 over Bluetooth
-KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666"
-
-# DualShock 4 Slim over Bluetooth
-KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0666"
diff --git a/nixpkgs/pkgs/applications/emulators/rpcs3/99-dualsense-controllers.rules b/nixpkgs/pkgs/applications/emulators/rpcs3/99-dualsense-controllers.rules
deleted file mode 100644
index fb3ed3eec3f5..000000000000
--- a/nixpkgs/pkgs/applications/emulators/rpcs3/99-dualsense-controllers.rules
+++ /dev/null
@@ -1,5 +0,0 @@
-# PS5 DualSense controller over USB hidraw
-KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", MODE="0660", TAG+="uaccess"
-
-# PS5 DualSense controller over bluetooth hidraw
-KERNEL=="hidraw*", KERNELS=="*054C:0CE6*", MODE="0660", TAG+="uaccess"
diff --git a/nixpkgs/pkgs/applications/emulators/rpcs3/default.nix b/nixpkgs/pkgs/applications/emulators/rpcs3/default.nix
deleted file mode 100644
index 88b3ddbb1750..000000000000
--- a/nixpkgs/pkgs/applications/emulators/rpcs3/default.nix
+++ /dev/null
@@ -1,106 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, wrapQtAppsHook
-, cmake
-, pkg-config
-, git
-, qtbase
-, qtquickcontrols
-, qtmultimedia
-, openal
-, glew
-, vulkan-headers
-, vulkan-loader
-, libpng
-, libSM
-, ffmpeg
-, libevdev
-, libusb1
-, zlib
-, curl
-, wolfssl
-, python3
-, pugixml
-, flatbuffers
-, llvm_16
-, cubeb
-, faudioSupport ? true
-, faudio
-, SDL2
-, waylandSupport ? true
-, wayland
-}:
-
-let
-  # Keep these separate so the update script can regex them
-  rpcs3GitVersion = "15409-fd6829f75";
-  rpcs3Version = "0.0.28-15409-fd6829f75";
-  rpcs3Revision = "fd6829f7576da07e3bb90de8821834d3ce44610c";
-  rpcs3Hash = "sha256-I/CYDE7te8xxKjTyH1Mb45uemya5Sfjb96MQWlkFAbk=";
-in
-stdenv.mkDerivation {
-  pname = "rpcs3";
-  version = rpcs3Version;
-
-  src = fetchFromGitHub {
-    owner = "RPCS3";
-    repo = "rpcs3";
-    rev = rpcs3Revision;
-    fetchSubmodules = true;
-    hash = rpcs3Hash;
-  };
-
-  passthru.updateScript = ./update.sh;
-
-  preConfigure = ''
-    cat > ./rpcs3/git-version.h <<EOF
-    #define RPCS3_GIT_VERSION "${rpcs3GitVersion}"
-    #define RPCS3_GIT_FULL_BRANCH "RPCS3/rpcs3/master"
-    #define RPCS3_GIT_BRANCH "HEAD"
-    #define RPCS3_GIT_VERSION_NO_UPDATE 1
-    EOF
-  '';
-
-  cmakeFlags = [
-    "-DUSE_SYSTEM_ZLIB=ON"
-    "-DUSE_SYSTEM_LIBUSB=ON"
-    "-DUSE_SYSTEM_LIBPNG=ON"
-    "-DUSE_SYSTEM_FFMPEG=ON"
-    "-DUSE_SYSTEM_CURL=ON"
-    "-DUSE_SYSTEM_WOLFSSL=ON"
-    "-DUSE_SYSTEM_FAUDIO=ON"
-    "-DUSE_SYSTEM_PUGIXML=ON"
-    "-DUSE_SYSTEM_FLATBUFFERS=ON"
-    "-DUSE_SYSTEM_SDL=ON"
-    "-DWITH_LLVM=ON"
-    "-DBUILD_LLVM=OFF"
-    "-DUSE_NATIVE_INSTRUCTIONS=OFF"
-    "-DUSE_FAUDIO=${if faudioSupport then "ON" else "OFF"}"
-  ];
-
-  nativeBuildInputs = [ cmake pkg-config git wrapQtAppsHook ];
-
-  buildInputs = [
-    qtbase qtquickcontrols qtmultimedia openal glew vulkan-headers vulkan-loader libpng ffmpeg
-    libevdev zlib libusb1 curl wolfssl python3 pugixml flatbuffers llvm_16 libSM
-  ] ++ cubeb.passthru.backendLibs
-    ++ lib.optionals faudioSupport [ faudio SDL2 ]
-    ++ lib.optional waylandSupport wayland;
-
-  postInstall = ''
-    # Taken from https://wiki.rpcs3.net/index.php?title=Help:Controller_Configuration
-    install -D ${./99-ds3-controllers.rules} $out/etc/udev/rules.d/99-ds3-controllers.rules
-    install -D ${./99-ds4-controllers.rules} $out/etc/udev/rules.d/99-ds4-controllers.rules
-    install -D ${./99-dualsense-controllers.rules} $out/etc/udev/rules.d/99-dualsense-controllers.rules
-  '';
-
-  meta = with lib; {
-    description = "PS3 emulator/debugger";
-    homepage = "https://rpcs3.net/";
-    maintainers = with maintainers; [ abbradar neonfuz ilian zane ];
-    license = licenses.gpl2Only;
-    platforms = [ "x86_64-linux" "aarch64-linux" ];
-    mainProgram = "rpcs3";
-  };
-}
diff --git a/nixpkgs/pkgs/applications/emulators/rpcs3/update.sh b/nixpkgs/pkgs/applications/emulators/rpcs3/update.sh
deleted file mode 100755
index 1efecc7ec88c..000000000000
--- a/nixpkgs/pkgs/applications/emulators/rpcs3/update.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash --pure --keep GITHUB_TOKEN -p nix gnused jq nix-prefetch-git curl cacert
-
-set -eou pipefail
-
-ROOT="$(dirname "$(readlink -f "$0")")"
-if [[ ! "$(basename $ROOT)" == "rpcs3" || ! -f "$ROOT/default.nix" ]]; then
-    echo "ERROR: Not in the rpcs3 folder"
-    exit 1
-fi
-
-if [[ ! -v GITHUB_TOKEN ]]; then
-    echo "ERROR: \$GITHUB_TOKEN not set"
-    exit 1
-fi
-
-payload=$(jq -cn --rawfile query /dev/stdin '{"query": $query}' <<EOF | curl -s -H "Authorization: bearer $GITHUB_TOKEN" -d '@-' https://api.github.com/graphql
-{
-  repository(owner: "RPCS3", name: "rpcs3") {
-    branch: ref(qualifiedName: "refs/heads/master") {
-      target {
-        oid
-        ... on Commit {
-          history {
-            totalCount
-          }
-        }
-      }
-    }
-
-    tag: refs(refPrefix: "refs/tags/", first: 1, orderBy: {field: TAG_COMMIT_DATE, direction: DESC}) {
-      nodes {
-        name
-      }
-    }
-  }
-}
-EOF
-)
-
-commit_sha=$(jq -r .data.repository.branch.target.oid <<< "$payload")
-major_ver=$(jq -r .data.repository.tag.nodes[0].name <<< "$payload" | sed 's/^v//g')
-commit_count=$(jq -r .data.repository.branch.target.history.totalCount <<< "$payload")
-git_ver="$commit_count-${commit_sha::9}"
-final_ver="$major_ver-$git_ver"
-
-
-echo "INFO: Latest commit is $commit_sha"
-echo "INFO: Latest version is $final_ver"
-
-nix_hash=$(nix-prefetch-git --quiet --fetch-submodules https://github.com/RPCS3/rpcs3.git "$commit_sha" | jq -r .sha256)
-nix_hash=$(nix hash to-sri --type sha256 "$nix_hash")
-echo "INFO: Hash is $nix_hash"
-
-sed -i -E \
-    -e "s/rpcs3GitVersion\s*=\s*\"[\.a-z0-9-]+\";$/rpcs3GitVersion = \"${git_ver}\";/g" \
-    -e "s/rpcs3Version\s*=\s*\"[\.a-z0-9-]+\";$/rpcs3Version = \"${final_ver}\";/g" \
-    -e "s/rpcs3Revision\s*=\s*\"[a-z0-9]+\";$/rpcs3Revision = \"${commit_sha}\";/g" \
-    -e "s|rpcs3Hash\s*=\s*\"sha256-.*\";$|rpcs3Hash = \"${nix_hash}\";|g" \
-    "$ROOT/default.nix"
diff --git a/nixpkgs/pkgs/applications/emulators/xemu/default.nix b/nixpkgs/pkgs/applications/emulators/xemu/default.nix
index 25f0511c476c..e0e022ebb402 100644
--- a/nixpkgs/pkgs/applications/emulators/xemu/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/xemu/default.nix
@@ -28,13 +28,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "xemu";
-  version = "0.7.116";
+  version = "0.7.117";
 
   src = fetchFromGitHub {
     owner = "xemu-project";
     repo = "xemu";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-/fUTQYi6EDG4wUFc17nuBUt/F1zBdhk/MEizwTo5I8Q=";
+    hash = "sha256-R6BPDBMrVhxUkjMWK8Jz9vqEz5P3v62PIyulHp6Q+KM=";
     fetchSubmodules = true;
   };