diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-12-01 19:00:09 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-12-01 19:00:09 +0100 |
commit | 9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d (patch) | |
tree | 4368f9e4cb2d5b93a956c085337e45cb70f1e331 /nixpkgs/pkgs/applications/emulators | |
parent | a9cbfb6941b47d6f50129e6e36927882392daed7 (diff) | |
parent | 2344fe1da14cb08b0c18743b207995f9b8597915 (diff) | |
download | nixlib-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')
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; }; |