From 9b4201b7c8466fe258dcce167d731ba839caaadd Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Sat, 4 May 2024 15:00:39 -0700 Subject: [PATCH] change citra to retroarch --- home/bin/executable_linux-add-nonsteam-games | 1 - provision/modules/gaming/emulation.nix | 2 +- provision/overlays/default.nix | 1 - provision/pkgs/citra-archive.nix | 156 ------------------- 4 files changed, 1 insertion(+), 159 deletions(-) delete mode 100644 provision/pkgs/citra-archive.nix diff --git a/home/bin/executable_linux-add-nonsteam-games b/home/bin/executable_linux-add-nonsteam-games index da0e2d1f..cdbbe218 100644 --- a/home/bin/executable_linux-add-nonsteam-games +++ b/home/bin/executable_linux-add-nonsteam-games @@ -9,7 +9,6 @@ apps=( "/run/current-system/sw/bin/dolphin-emu Dolphin Emulator" "/run/current-system/sw/bin/yuzu Yuzu Emulator" "/run/current-system/sw/bin/ppsspp PPSSPP Emulator" - "/run/current-system/sw/bin/citra-qt Citra Emulator" "/run/current-system/sw/bin/retroarch Retroarch Emulator" ) diff --git a/provision/modules/gaming/emulation.nix b/provision/modules/gaming/emulation.nix index 26a67949..f252012e 100644 --- a/provision/modules/gaming/emulation.nix +++ b/provision/modules/gaming/emulation.nix @@ -7,7 +7,6 @@ in { environment.systemPackages = with pkgs; [ yuzu-archive # Nintendo Switch emulator. - citra-archive # Nintendo 3DS emulator. dolphin-emu # GameCube and Wii emulator. ppsspp # PSP emulator. mgba # Game Boy Advance emulator. @@ -17,6 +16,7 @@ in { snes9x # Super Nintendo Entertainment System (SNES) emulator. mgba # Game Boy Advance emulator. melonds # Nintendo DS emulator. + citra # Nintendo 3DS emulator. ]; }) ]; diff --git a/provision/overlays/default.nix b/provision/overlays/default.nix index 47d2d4e8..0dc67353 100644 --- a/provision/overlays/default.nix +++ b/provision/overlays/default.nix @@ -8,7 +8,6 @@ final: prev: { cookcli = final.callPackage ../pkgs/cookcli.nix {}; nx_tzdb = final.callPackage ../pkgs/nx_tzdb.nix {}; yuzu-archive = final.libsForQt5.callPackage ../pkgs/yuzu-archive.nix {}; - citra-archive = final.qt6Packages.callPackage ../pkgs/citra-archive.nix {}; gnome-set-panel-monitor = final.callPackage ../pkgs/gnome-set-panel-monitor.nix {}; gnome-maximize-lonely-window = final.callPackage ../pkgs/gnome-maximize-lonely-window.nix {}; gnome-fullscreen-to-empty-workspace = final.callPackage ../pkgs/gnome-fullscreen-to-empty-workspace.nix {}; diff --git a/provision/pkgs/citra-archive.nix b/provision/pkgs/citra-archive.nix deleted file mode 100644 index 63dec79a..00000000 --- a/provision/pkgs/citra-archive.nix +++ /dev/null @@ -1,156 +0,0 @@ -{ lib -, stdenv -, cmake -, boost -, pkg-config -, catch2_3 -, cpp-jwt -, cryptopp -, enet -, ffmpeg -, fmt -, gamemode -, glslang -, httplib -, inih -, libusb1 -, nlohmann_json -, openal -, openssl -, SDL2 -, soundtouch -, spirv-tools -, zstd -, vulkan-headers -, vulkan-loader -, enableSdl2Frontend ? true -, enableQt ? true, qtbase, qtmultimedia, qtwayland, wrapQtAppsHook -, enableQtTranslation ? enableQt, qttools -, enableWebService ? true -, enableCubeb ? true, cubeb -, useDiscordRichPresence ? false, rapidjson -, fetchFromGitea -}: -let - branch = "archive"; - version = "2088"; -in -stdenv.mkDerivation { - - pname = "citra-archive"; - version = "2088"; - - src = fetchFromGitea { - domain = "git.tstarr.us"; - owner = "tstarr"; - repo = "citra"; - rev = "813d0c2a302cd5b7cb23ed0307d8984df3df4a21"; - hash = "sha256-k07BdZr8Y4S8cUDJVnCw4NkeeRJoXfuK0aRx6EJ3bAQ="; - fetchSubmodules = true; - }; - - nativeBuildInputs = [ - cmake - 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 - 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.optional enableCubeb cubeb - ++ lib.optional useDiscordRichPresence rapidjson; - - cmakeFlags = [ - (lib.cmakeBool "USE_SYSTEM_LIBS" true) - - (lib.cmakeBool "DISABLE_SYSTEM_DYNARMIC" true) - (lib.cmakeBool "DISABLE_SYSTEM_GLSLANG" true) # The following imported targets are referenced, but are missing: SPIRV-Tools-opt - (lib.cmakeBool "DISABLE_SYSTEM_LODEPNG" true) # Not packaged in nixpkgs - (lib.cmakeBool "DISABLE_SYSTEM_VMA" true) - (lib.cmakeBool "DISABLE_SYSTEM_XBYAK" true) - - # We don't want to bother upstream with potentially outdated compat reports - (lib.cmakeBool "CITRA_ENABLE_COMPATIBILITY_REPORTING" true) - (lib.cmakeBool "ENABLE_COMPATIBILITY_LIST_DOWNLOAD" false) # We provide this deterministically - - (lib.cmakeBool "ENABLE_SDL2_FRONTEND" enableSdl2Frontend) - (lib.cmakeBool "ENABLE_QT" enableQt) - (lib.cmakeBool "ENABLE_QT_TRANSLATION" enableQtTranslation) - (lib.cmakeBool "ENABLE_WEB_SERVICE" enableWebService) - (lib.cmakeBool "ENABLE_CUBEB" enableCubeb) - (lib.cmakeBool "USE_DISCORD_PRESENCE" useDiscordRichPresence) - ]; - - # 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 - mkdir -p externals/dynarmic/src/dynarmic/ir/var - ln -s ../opt externals/dynarmic/src/dynarmic/ir/var/empty - - # We already know the submodules are present - substituteInPlace CMakeLists.txt \ - --replace "check_submodules_present()" "" - - # Add versions - echo 'set(BUILD_FULLNAME "${branchCaptialized} ${version}")' >> CMakeModules/GenerateBuildInfo.cmake - - # Add gamemode - substituteInPlace externals/gamemode/include/gamemode_client.h --replace "libgamemode.so.0" "${lib.getLib gamemode}/lib/libgamemode.so.0" - ''; - - postInstall = let - libs = lib.makeLibraryPath [ vulkan-loader ]; - in lib.optionalString enableSdl2Frontend '' - wrapProgram "$out/bin/citra" \ - --prefix LD_LIBRARY_PATH : ${libs} - '' + lib.optionalString enableQt '' - qtWrapperArgs+=( - --prefix LD_LIBRARY_PATH : ${libs} - ) - ''; - - meta = with lib; { - broken = (stdenv.isLinux && stdenv.isAarch64); - homepage = "https://citra-emu.org"; - description = "The ${branch} branch of an open-source emulator for the Nintendo 3DS"; - longDescription = '' - A Nintendo 3DS Emulator written in C++ - Using the nightly branch is recommended for general usage. - Using the canary branch is recommended if you would like to try out - experimental features, with a cost of stability. - ''; - mainProgram = if enableQt then "citra-qt" else "citra"; - platforms = platforms.linux; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ - abbradar - ashley - ivar - ]; - }; -}