diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-03-15 10:36:38 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2022-03-16 11:37:19 +0000 |
commit | d435710923ac6e6f9fc155534800745004f2ce93 (patch) | |
tree | 386f9401476f96bdc6ec25173a090198942b5d5b /nixpkgs/pkgs/applications/emulators | |
parent | c725f0011e91ae49d351b981690eb66b862b6104 (diff) | |
parent | 3239fd2b8f728106491154b44625662e10259af2 (diff) | |
download | nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.gz nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.bz2 nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.lz nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.xz nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.zst nixlib-d435710923ac6e6f9fc155534800745004f2ce93.zip |
Merge commit '3239fd2b8f728106491154b44625662e10259af2'
Conflicts: nixpkgs/pkgs/applications/window-managers/sway/default.nix
Diffstat (limited to 'nixpkgs/pkgs/applications/emulators')
20 files changed, 161 insertions, 125 deletions
diff --git a/nixpkgs/pkgs/applications/emulators/ccemux/default.nix b/nixpkgs/pkgs/applications/emulators/ccemux/default.nix index 11f24d59e5c3..8b7b1c32628a 100644 --- a/nixpkgs/pkgs/applications/emulators/ccemux/default.nix +++ b/nixpkgs/pkgs/applications/emulators/ccemux/default.nix @@ -29,7 +29,7 @@ let comment = "A modular ComputerCraft emulator"; desktopName = "CCEmuX"; genericName = "ComputerCraft Emulator"; - categories = "Emulator;"; + categories = [ "Emulator" ]; }; in diff --git a/nixpkgs/pkgs/applications/emulators/cdemu/vhba.nix b/nixpkgs/pkgs/applications/emulators/cdemu/vhba.nix index aeadcf5c1c1d..40792c81ac1c 100644 --- a/nixpkgs/pkgs/applications/emulators/cdemu/vhba.nix +++ b/nixpkgs/pkgs/applications/emulators/cdemu/vhba.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-csWowcRSgF5M74yv787MLSXOGXrkxnODCCgC5a3Nd7Y="; }; - makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ]; + makeFlags = kernel.makeFlags ++ [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ]; nativeBuildInputs = kernel.moduleBuildDependencies; meta = with lib; { diff --git a/nixpkgs/pkgs/applications/emulators/dosbox-staging/default.nix b/nixpkgs/pkgs/applications/emulators/dosbox-staging/default.nix index 438849e7fd8a..c1820646dc62 100644 --- a/nixpkgs/pkgs/applications/emulators/dosbox-staging/default.nix +++ b/nixpkgs/pkgs/applications/emulators/dosbox-staging/default.nix @@ -75,7 +75,7 @@ stdenv.mkDerivation rec { comment = "x86 dos emulator enhanced"; desktopName = "DosBox-Staging"; genericName = "DOS emulator"; - categories = "Emulator;Game;"; + categories = [ "Emulator" "Game" ]; }) ]; diff --git a/nixpkgs/pkgs/applications/emulators/dosbox/default.nix b/nixpkgs/pkgs/applications/emulators/dosbox/default.nix index 383e943ff246..87ac444ae491 100644 --- a/nixpkgs/pkgs/applications/emulators/dosbox/default.nix +++ b/nixpkgs/pkgs/applications/emulators/dosbox/default.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { comment = "x86 dos emulator"; desktopName = "DOSBox"; genericName = "DOS emulator"; - categories = "Emulator;Game;"; + categories = [ "Emulator" "Game" ]; }) ]; diff --git a/nixpkgs/pkgs/applications/emulators/fceux/default.nix b/nixpkgs/pkgs/applications/emulators/fceux/default.nix index 9289fb081f01..0247a10f0e54 100644 --- a/nixpkgs/pkgs/applications/emulators/fceux/default.nix +++ b/nixpkgs/pkgs/applications/emulators/fceux/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "fceux"; - version = "2.6.2"; + version = "2.6.3"; src = fetchFromGitHub { owner = "TASEmulators"; repo = pname; rev = "${pname}-${version}"; - sha256 = "sha256-yQX58m/sMW/8Jr5cm2SrVXTiF7qyZOgOZg1v0qEyiLw="; + sha256 = "sha256-jNR9AB8s2S9ehYsompkV2GOLsaXIQzldeQ1WRCxdDG0="; }; nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; diff --git a/nixpkgs/pkgs/applications/emulators/mame/default.nix b/nixpkgs/pkgs/applications/emulators/mame/default.nix index e0915703003a..ce3fb3d06aed 100644 --- a/nixpkgs/pkgs/applications/emulators/mame/default.nix +++ b/nixpkgs/pkgs/applications/emulators/mame/default.nix @@ -26,7 +26,7 @@ let exec = "mame${lib.optionalString stdenv.is64bit "64"}"; desktopName = "MAME"; genericName = "MAME is a multi-purpose emulation framework"; - categories = "System;Emulator;"; + categories = [ "System" "Emulator" ]; }; dest = "$out/opt/mame"; diff --git a/nixpkgs/pkgs/applications/emulators/mednafen/default.nix b/nixpkgs/pkgs/applications/emulators/mednafen/default.nix index 235386cba258..bcc58ccb76a0 100644 --- a/nixpkgs/pkgs/applications/emulators/mednafen/default.nix +++ b/nixpkgs/pkgs/applications/emulators/mednafen/default.nix @@ -15,6 +15,7 @@ , libsndfile , pkg-config , zlib +, libiconv }: stdenv.mkDerivation rec { @@ -31,20 +32,25 @@ stdenv.mkDerivation rec { buildInputs = [ SDL2 SDL2_net - alsa-lib flac freeglut - libGL - libGLU - libX11 libcdio libjack2 libsamplerate libsndfile zlib + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + libGL + libGLU + libX11 + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv ]; - hardeningDisable = [ "pic" ]; + hardeningDisable = [ "pic" "format" ]; + + enableParallelBuilding = true; postInstall = '' mkdir -p $out/share/doc @@ -87,6 +93,6 @@ stdenv.mkDerivation rec { ''; license = licenses.gpl2Plus; maintainers = with maintainers; [ AndersonTorres ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/nixpkgs/pkgs/applications/emulators/mednaffe/default.nix b/nixpkgs/pkgs/applications/emulators/mednaffe/default.nix index 4874d5efee7a..32bb06b27042 100644 --- a/nixpkgs/pkgs/applications/emulators/mednaffe/default.nix +++ b/nixpkgs/pkgs/applications/emulators/mednaffe/default.nix @@ -20,11 +20,15 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook ]; + buildInputs = [ gtk3 mednafen ]; - postInstall = '' - wrapProgram $out/bin/mednaffe \ + enableParallelBuilding = true; + + preFixup = '' + gappsWrapperArgs+=( --prefix PATH ':' "${mednafen}/bin" + ) ''; meta = with lib; { @@ -32,6 +36,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/AmatCoder/mednaffe"; license = licenses.gpl3Plus; maintainers = with maintainers; [ sheenobu yana AndersonTorres ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/nixpkgs/pkgs/applications/emulators/melonDS/default.nix b/nixpkgs/pkgs/applications/emulators/melonDS/default.nix index 3e30be8c2a3f..6e389b8daf64 100644 --- a/nixpkgs/pkgs/applications/emulators/melonDS/default.nix +++ b/nixpkgs/pkgs/applications/emulators/melonDS/default.nix @@ -13,13 +13,13 @@ mkDerivation rec { pname = "melonDS"; - version = "0.9.3"; + version = "0.9.4"; src = fetchFromGitHub { owner = "Arisotura"; repo = pname; rev = version; - sha256 = "1v8a060gbpx7rdkk2w4hym361l2wip7yjjn8wny1gfsa273k3zy5"; + sha256 = "sha256-FSacau7DixU6R4eKNIYVRZiMb/GhijTzHbcGlZ6WG/I="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/nixpkgs/pkgs/applications/emulators/mgba/default.nix b/nixpkgs/pkgs/applications/emulators/mgba/default.nix index d8defe6f2e96..4424bedc6f23 100644 --- a/nixpkgs/pkgs/applications/emulators/mgba/default.nix +++ b/nixpkgs/pkgs/applications/emulators/mgba/default.nix @@ -57,8 +57,8 @@ stdenv.mkDerivation rec { comment = "A Game Boy Advance Emulator"; desktopName = "mgba"; genericName = "Game Boy Advance Emulator"; - categories = "Game;Emulator;"; - startupNotify = "false"; + categories = [ "Game" "Emulator" ]; + startupNotify = false; }) ]; diff --git a/nixpkgs/pkgs/applications/emulators/punes/default.nix b/nixpkgs/pkgs/applications/emulators/punes/default.nix index 9b147de4fa93..dba83f41305d 100644 --- a/nixpkgs/pkgs/applications/emulators/punes/default.nix +++ b/nixpkgs/pkgs/applications/emulators/punes/default.nix @@ -20,25 +20,15 @@ mkDerivation rec { pname = "punes"; - version = "0.108"; + version = "0.109"; src = fetchFromGitHub { owner = "punesemu"; repo = "puNES"; rev = "v${version}"; - sha256 = "0inkwmvbr2w4addmgk9r4f13yismang9ylfgflhh9352lf0lirv8"; + sha256 = "sha256-6aRtR/d8nhzmpN9QKSZ62jye7qjfO+FpRMCXkX4Yubk="; }; - patches = [ - # Drop when version > 0.108 - # https://github.com/punesemu/puNES/issues/185 - (fetchpatch { - name = "0001-punes-Fixed-make-install.patch"; - url = "https://github.com/punesemu/puNES/commit/902434f50398ebcda0786ade4b28a0496084810e.patch"; - sha256 = "1a3052n3n1qipi4bd7f7gq4zl5jjjzzzpbijdisis2vxvhnfvcim"; - }) - ]; - postPatch = '' substituteInPlace configure.ac \ --replace '`$PKG_CONFIG --variable=host_bins Qt5Core`/lrelease' '${qttools.dev}/bin/lrelease' diff --git a/nixpkgs/pkgs/applications/emulators/rpcs3/default.nix b/nixpkgs/pkgs/applications/emulators/rpcs3/default.nix index 0ea56d3a72d3..6f58990e4735 100644 --- a/nixpkgs/pkgs/applications/emulators/rpcs3/default.nix +++ b/nixpkgs/pkgs/applications/emulators/rpcs3/default.nix @@ -9,10 +9,10 @@ let # Keep these separate so the update script can regex them - rpcs3GitVersion = "13222-8c2fd5095"; - rpcs3Version = "0.0.20-13222-8c2fd5095"; - rpcs3Revision = "8c2fd50957be3af05c04a9bb782dce8505fb6400"; - rpcs3Sha256 = "1cf62vpqdc9i4masgv9zz24h7zdc7gcymx6n1hbh7wp5gg1dw4qi"; + rpcs3GitVersion = "13327-6c096b72b"; + rpcs3Version = "0.0.21-13327-6c096b72b"; + rpcs3Revision = "6c096b72b5294758067a002f981563bbd618d30d"; + rpcs3Sha256 = "0xmdhjskqbv02jvl43bvw0clsgh9gnahl50fr3q8lmpwpy13ldr4"; ittapi = fetchFromGitHub { owner = "intel"; diff --git a/nixpkgs/pkgs/applications/emulators/ryujinx/appdir.patch b/nixpkgs/pkgs/applications/emulators/ryujinx/appdir.patch new file mode 100644 index 000000000000..696077d29dea --- /dev/null +++ b/nixpkgs/pkgs/applications/emulators/ryujinx/appdir.patch @@ -0,0 +1,23 @@ +diff --git a/Ryujinx.Common/ReleaseInformations.cs b/Ryujinx.Common/ReleaseInformations.cs +index 35890406..cca77163 100644 +--- a/Ryujinx.Common/ReleaseInformations.cs ++++ b/Ryujinx.Common/ReleaseInformations.cs +@@ -42,12 +42,14 @@ namespace Ryujinx.Common + + public static string GetBaseApplicationDirectory() + { +- if (IsFlatHubBuild()) +- { ++ //if (IsFlatHubBuild()) ++ //{ ++ // This needs to be a mutable path, while CurrentDomain.BaseDirectory refers to the nix store. ++ // AppDataManager.BaseDirPath refers to ".config/Ryujinx" on Linux. + return AppDataManager.BaseDirPath; +- } ++ //} + +- return AppDomain.CurrentDomain.BaseDirectory; ++ //return AppDomain.CurrentDomain.BaseDirectory; + } + } + } diff --git a/nixpkgs/pkgs/applications/emulators/ryujinx/default.nix b/nixpkgs/pkgs/applications/emulators/ryujinx/default.nix index 2f684257114a..2ac16662b882 100644 --- a/nixpkgs/pkgs/applications/emulators/ryujinx/default.nix +++ b/nixpkgs/pkgs/applications/emulators/ryujinx/default.nix @@ -1,18 +1,29 @@ -{ lib, buildDotnetModule, fetchFromGitHub, makeDesktopItem, copyDesktopItems -, dotnetCorePackages, libX11, libgdiplus, ffmpeg -, SDL2_mixer, openal, libsoundio, sndio, pulseaudio -, gtk3, gdk-pixbuf, wrapGAppsHook +{ lib +, buildDotnetModule +, fetchFromGitHub +, dotnetCorePackages +, libX11 +, libgdiplus +, ffmpeg +, SDL2_mixer +, openal +, libsoundio +, sndio +, pulseaudio +, gtk3 +, gdk-pixbuf +, wrapGAppsHook }: buildDotnetModule rec { pname = "ryujinx"; - version = "1.0.7168"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx + version = "1.1.64"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml src = fetchFromGitHub { owner = "Ryujinx"; repo = "Ryujinx"; - rev = "6e0799580f0d1b473a79471c5d365c6524d97a86"; - sha256 = "145sn9xkjxj79292faypcdmpmbxm1w70q0iprg6pfymf9920gvfv"; + rev = "54bfaa125d9b6ae1be53ec431d40326fba51d0de"; + sha256 = "0p8wmnm8sjx7wqb5z62mp8c3cwrv241ji3fawj2qgqx3k9jlb31i"; }; dotnet-sdk = dotnetCorePackages.sdk_6_0; @@ -28,7 +39,6 @@ buildDotnetModule rec { executables = [ "Ryujinx" ]; nativeBuildInputs = [ - copyDesktopItems wrapGAppsHook ]; @@ -41,7 +51,6 @@ buildDotnetModule rec { gtk3 libX11 libgdiplus - ffmpeg SDL2_mixer openal libsoundio @@ -50,41 +59,46 @@ buildDotnetModule rec { ]; patches = [ - ./log.patch # Without this, Ryujinx attempts to write logs to the nix store. This patch makes it write to "~/.config/Ryujinx/Logs" on Linux. + ./appdir.patch # Ryujinx attempts to write to the nix store. This patch redirects it to "~/.config/Ryujinx" on Linux. ]; preInstall = '' - # TODO: fix this hack https://github.com/Ryujinx/Ryujinx/issues/2349 - mkdir -p $out/lib/sndio-6 - ln -s ${sndio}/lib/libsndio.so $out/lib/sndio-6/libsndio.so.6 - + # Ryujinx tries to use ffmpeg from PATH makeWrapperArgs+=( - --suffix LD_LIBRARY_PATH : "$out/lib/sndio-6" + --suffix PATH : ${lib.makeBinPath [ ffmpeg ]} ) + ''; + + preFixup = '' + mkdir -p $out/share/{applications,icons/hicolor/scalable/apps,mime/packages} + pushd ${src}/distribution/linux - for i in 16 32 48 64 96 128 256 512 1024; do - install -D ${src}/Ryujinx/Ui/Resources/Logo_Ryujinx.png $out/share/icons/hicolor/''${i}x$i/apps/ryujinx.png - done + install -D ./ryujinx.desktop $out/share/applications/ryujinx.desktop + install -D ./ryujinx-mime.xml $out/share/mime/packages/ryujinx-mime.xml + install -D ./ryujinx-logo.svg $out/share/icons/hicolor/scalable/apps/ryujinx.svg + + substituteInPlace $out/share/applications/ryujinx.desktop --replace \ + "Exec=Ryujinx" "Exec=$out/bin/Ryujinx" + + popd ''; - desktopItems = [(makeDesktopItem { - desktopName = "Ryujinx"; - name = "ryujinx"; - exec = "Ryujinx"; - icon = "ryujinx"; - comment = meta.description; - type = "Application"; - categories = "Game;"; - })]; + passthru.updateScript = ./updater.sh; meta = with lib; { - description = "Experimental Nintendo Switch Emulator written in C#"; homepage = "https://ryujinx.org/"; - license = licenses.mit; changelog = "https://github.com/Ryujinx/Ryujinx/wiki/Changelog"; - maintainers = [ maintainers.ivar ]; + description = "Experimental Nintendo Switch Emulator written in C#"; + longDescription = '' + Ryujinx is an open-source Nintendo Switch emulator, created by gdkchan, + written in C#. This emulator aims at providing excellent accuracy and + performance, a user-friendly interface and consistent builds. It was + written from scratch and development on the project began in September + 2017. + ''; + license = licenses.mit; + maintainers = with maintainers; [ ivar jk ]; platforms = [ "x86_64-linux" ]; mainProgram = "Ryujinx"; }; - passthru.updateScript = ./updater.sh; } diff --git a/nixpkgs/pkgs/applications/emulators/ryujinx/deps.nix b/nixpkgs/pkgs/applications/emulators/ryujinx/deps.nix index 991d00a5a4b8..804b17d8946a 100644 --- a/nixpkgs/pkgs/applications/emulators/ryujinx/deps.nix +++ b/nixpkgs/pkgs/applications/emulators/ryujinx/deps.nix @@ -10,8 +10,8 @@ (fetchNuGet { pname = "GioSharp"; version = "3.22.25.128"; sha256 = "0syfa1f2hg7wsxln5lh86n8m1lihhprc51b6km91gkl25l5hw5bv"; }) (fetchNuGet { pname = "GLibSharp"; version = "3.22.25.128"; sha256 = "1j8i5izk97ga30z1qpd765zqd2q5w71y8bhnkqq4bj59768fyxp5"; }) (fetchNuGet { pname = "GtkSharp"; version = "3.22.25.128"; sha256 = "0z0wx0p3gc02r8d7y88k1rw307sb2vapbr1k1yc5qdc38fxz5jsy"; }) - (fetchNuGet { pname = "GtkSharp.Dependencies"; version = "1.1.0"; sha256 = "1g1rhcn38ww97638rds6l5bysra43hkhv47fy71fvq89623zgyxn"; }) - (fetchNuGet { pname = "LibHac"; version = "0.14.3"; sha256 = "13pv5dwffj8c2mfibra3hkd1pgg5cj075sf48kgp82y501l25q5m"; }) + (fetchNuGet { pname = "GtkSharp.Dependencies"; version = "1.1.1"; sha256 = "0ffywnc3ca1lwhxdnk99l238vsprsrsh678bgm238lb7ja7m52pw"; }) + (fetchNuGet { pname = "LibHac"; version = "0.16.0"; sha256 = "1kivnf4c4km1a8y0sl34z9gfazlivna0x31q0065n0sz13g82spi"; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0r6jyxl3h1asj30la78skd5gsxgwjpvkspmkw1gglxfg85hnqc8w"; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.0"; sha256 = "1hnqhvgjp342nx9s47w5sknmlpkfxbcfi50pa4vary2r7sv8ka2w"; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.0"; sha256 = "1j8cn97swc67ly7ca7m05akczrswbg0gjsk7473vad6770ph79vm"; }) diff --git a/nixpkgs/pkgs/applications/emulators/ryujinx/log.patch b/nixpkgs/pkgs/applications/emulators/ryujinx/log.patch deleted file mode 100644 index 57e96e5c25cb..000000000000 --- a/nixpkgs/pkgs/applications/emulators/ryujinx/log.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/Ryujinx/Configuration/LoggerModule.cs b/Ryujinx/Configuration/LoggerModule.cs -index 44631ea0..534576bc 100644 ---- a/Ryujinx/Configuration/LoggerModule.cs -+++ b/Ryujinx/Configuration/LoggerModule.cs -@@ -1,6 +1,7 @@ - using Ryujinx.Common; - using Ryujinx.Common.Logging; - using System; -+using System.IO; - - namespace Ryujinx.Configuration - { -@@ -74,7 +75,7 @@ namespace Ryujinx.Configuration - if (e.NewValue) - { - Logger.AddTarget(new AsyncLogTargetWrapper( -- new FileLogTarget(AppDomain.CurrentDomain.BaseDirectory, "file"), -+ new FileLogTarget(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Ryujinx"), "file"), - 1000, - AsyncLogTargetOverflowAction.Block - )); diff --git a/nixpkgs/pkgs/applications/emulators/ryujinx/updater.sh b/nixpkgs/pkgs/applications/emulators/ryujinx/updater.sh index 0861414f0bf4..9c2f69e606ca 100755 --- a/nixpkgs/pkgs/applications/emulators/ryujinx/updater.sh +++ b/nixpkgs/pkgs/applications/emulators/ryujinx/updater.sh @@ -1,40 +1,59 @@ #! /usr/bin/env nix-shell #! nix-shell -i bash -p coreutils gnused curl common-updater-scripts nuget-to-nix nix-prefetch-git jq dotnet-sdk_6 -set -eo pipefail +set -euo pipefail cd "$(dirname "${BASH_SOURCE[0]}")" -deps_file="$(realpath "./deps.nix")" - -nix-prefetch-git https://github.com/ryujinx/ryujinx --quiet > repo_info -new_hash="$(jq -r ".sha256" < repo_info)" -new_rev="$(jq -r ".rev" < repo_info)" -rm repo_info - -new_version="$( - curl -s https://ci.appveyor.com/api/projects/gdkchan/ryujinx/branch/master \ - | grep -Po '"version":.*?[^\\]",' \ - | sed 's/"version":"\(.*\)",/\1/' - )" -old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)" - -if [[ "$new_version" == "$old_version" ]]; then - echo "Already up to date! Doing nothing" - exit 0 +DEPS_FILE="$(realpath "./deps.nix")" + +RELEASE_JOB_DATA=$( + curl -s -H "Accept: application/vnd.github.v3+json" \ + https://api.github.com/repos/Ryujinx/Ryujinx/actions/workflows | + jq -r '.workflows[] | select(.name == "Release job") | { id, path }' +) +RELEASE_JOB_ID=$(echo "$RELEASE_JOB_DATA" | jq -r '.id') +RELEASE_JOB_FILE=$(echo "$RELEASE_JOB_DATA" | jq -r '.path') + +BASE_VERSION=$( + curl -s "https://raw.githubusercontent.com/Ryujinx/Ryujinx/master/${RELEASE_JOB_FILE}" | + grep -Po 'RYUJINX_BASE_VERSION:.*?".*"' | + sed 's/RYUJINX_BASE_VERSION: "\(.*\)"/\1/' +) + +LATEST_RELEASE_JOB_DATA=$( + curl -s -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/Ryujinx/Ryujinx/actions/workflows/${RELEASE_JOB_ID}/runs" | + jq -r '.workflow_runs[0] | { head_sha, run_number }' +) +COMMIT=$(echo "$LATEST_RELEASE_JOB_DATA" | jq -r '.head_sha') +PATCH_VERSION=$(echo "$LATEST_RELEASE_JOB_DATA" | jq -r '.run_number') + +NEW_VERSION="${BASE_VERSION}.${PATCH_VERSION}" + +OLD_VERSION="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)" + +echo "comparing versions $OLD_VERSION -> $NEW_VERSION" +if [[ "$OLD_VERSION" == "$NEW_VERSION" ]]; then + echo "Already up to date! Doing nothing" + exit 0 fi +SHA="$(nix-prefetch-git https://github.com/ryujinx/ryujinx --rev "$COMMIT" --quiet | jq -r '.sha256')" + cd ../../../.. -update-source-version ryujinx "$new_version" "$new_hash" --rev="$new_rev" +update-source-version ryujinx "$NEW_VERSION" "$SHA" --rev="$COMMIT" + +echo "building Nuget lockfile" -store_src="$(nix-build . -A ryujinx.src --no-out-link)" -src="$(mktemp -d /tmp/ryujinx-src.XXX)" -cp -rT "$store_src" "$src" -chmod -R +w "$src" -pushd "$src" +STORE_SRC="$(nix-build . -A ryujinx.src --no-out-link)" +SRC="$(mktemp -d /tmp/ryujinx-src.XXX)" +cp -rT "$STORE_SRC" "$SRC" +chmod -R +w "$SRC" +pushd "$SRC" mkdir nuget_tmp.packages -dotnet restore Ryujinx.sln --packages nuget_tmp.packages +DOTNET_CLI_TELEMETRY_OPTOUT=1 dotnet restore Ryujinx.sln --packages nuget_tmp.packages -nuget-to-nix ./nuget_tmp.packages > "$deps_file" +nuget-to-nix ./nuget_tmp.packages >"$DEPS_FILE" popd -rm -r "$src" +rm -r "$SRC" diff --git a/nixpkgs/pkgs/applications/emulators/snes9x-gtk/default.nix b/nixpkgs/pkgs/applications/emulators/snes9x-gtk/default.nix index 27f3400cc0b1..ff7df4b09440 100644 --- a/nixpkgs/pkgs/applications/emulators/snes9x-gtk/default.nix +++ b/nixpkgs/pkgs/applications/emulators/snes9x-gtk/default.nix @@ -1,19 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wrapGAppsHook -, SDL2, zlib, gtk3, libxml2, libXv, libepoxy, minizip, pulseaudio, portaudio }: +{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wrapGAppsHook, alsa-lib +, SDL2, zlib, gtkmm3, libXv, libepoxy, minizip, pulseaudio, portaudio }: stdenv.mkDerivation rec { pname = "snes9x-gtk"; - version = "1.60"; + version = "1.61"; src = fetchFromGitHub { owner = "snes9xgit"; repo = "snes9x"; rev = version; - sha256 = "12hpn7zcdvp30ldpw2zf115yjqv55n1ldjbids7vx0lvbpr06dm1"; + fetchSubmodules = true; + sha256 = "1kay7aj30x0vn8rkylspdycydrzsc0aidjbs0dd238hr5hid723b"; }; nativeBuildInputs = [ meson ninja pkg-config wrapGAppsHook ]; - buildInputs = [ SDL2 zlib gtk3 libxml2 libXv libepoxy minizip pulseaudio portaudio ]; + buildInputs = [ alsa-lib SDL2 zlib gtkmm3 libXv libepoxy minizip pulseaudio portaudio ]; preConfigure = "cd gtk"; @@ -30,7 +31,7 @@ stdenv.mkDerivation rec { # see https://github.com/snes9xgit/snes9x/blob/master/LICENSE for exact details license = licenses.unfreeRedistributable; - maintainers = with maintainers; [ qknight ]; + maintainers = with maintainers; [ qknight xfix ]; platforms = platforms.linux; }; } diff --git a/nixpkgs/pkgs/applications/emulators/vice/default.nix b/nixpkgs/pkgs/applications/emulators/vice/default.nix index ca0de2f82766..13457823a23e 100644 --- a/nixpkgs/pkgs/applications/emulators/vice/default.nix +++ b/nixpkgs/pkgs/applications/emulators/vice/default.nix @@ -65,7 +65,7 @@ stdenv.mkDerivation rec { comment = "Commodore 64 emulator"; desktopName = "VICE"; genericName = "Commodore 64 emulator"; - categories = "Emulator;"; + categories = [ "Emulator" ]; }; preBuild = '' diff --git a/nixpkgs/pkgs/applications/emulators/zsnes/default.nix b/nixpkgs/pkgs/applications/emulators/zsnes/default.nix index ba2f5d6bdc1c..a14109bc8572 100644 --- a/nixpkgs/pkgs/applications/emulators/zsnes/default.nix +++ b/nixpkgs/pkgs/applications/emulators/zsnes/default.nix @@ -9,7 +9,7 @@ let comment = "A SNES emulator"; desktopName = "zsnes"; genericName = "zsnes"; - categories = "Game;"; + categories = [ "Game" ]; }; in stdenv.mkDerivation { |