diff options
author | Alyssa Ross <hi@alyssa.is> | 2024-03-22 16:41:59 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2024-03-22 16:41:59 +0100 |
commit | 46a88117a05c3469af5d99433af140c3de8ca088 (patch) | |
tree | d7f0557756d8f07a3081b3498c05ddc5a8ad429d /nixpkgs/pkgs/applications/emulators/yuzu | |
parent | e97457545cea0b2ca421da257c83d8f1ef451d85 (diff) | |
parent | a343533bccc62400e8a9560423486a3b6c11a23b (diff) | |
download | nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.gz nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.bz2 nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.lz nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.xz nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.zst nixlib-46a88117a05c3469af5d99433af140c3de8ca088.zip |
Merge commit 'a343533bccc62400e8a9560423486a3b6c11a23b'
Diffstat (limited to 'nixpkgs/pkgs/applications/emulators/yuzu')
8 files changed, 0 insertions, 336 deletions
diff --git a/nixpkgs/pkgs/applications/emulators/yuzu/compat-list.nix b/nixpkgs/pkgs/applications/emulators/yuzu/compat-list.nix deleted file mode 100644 index 79b56948aeab..000000000000 --- a/nixpkgs/pkgs/applications/emulators/yuzu/compat-list.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ stdenv, fetchFromGitHub, unstableGitUpdater }: -stdenv.mkDerivation { - pname = "yuzu-compatibility-list"; - version = "unstable-2024-02-26"; - - src = fetchFromGitHub { - owner = "flathub"; - repo = "org.yuzu_emu.yuzu"; - rev = "9c2032a3c7e64772a8112b77ed8b660242172068"; - hash = "sha256-ITh/W4vfC9w9t+TJnPeTZwWifnhTNKX54JSSdpgaoBk="; - }; - - buildCommand = '' - cp $src/compatibility_list.json $out - ''; - - passthru.updateScript = unstableGitUpdater {}; -} diff --git a/nixpkgs/pkgs/applications/emulators/yuzu/default.nix b/nixpkgs/pkgs/applications/emulators/yuzu/default.nix deleted file mode 100644 index 6852da378650..000000000000 --- a/nixpkgs/pkgs/applications/emulators/yuzu/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ qt6Packages, makeScopeWithSplicing', generateSplicesForMkScope }: - -makeScopeWithSplicing' { - otherSplices = generateSplicesForMkScope "yuzuPackages"; - f = self: qt6Packages // { - compat-list = self.callPackage ./compat-list.nix {}; - nx_tzdb = self.callPackage ./nx_tzdb.nix {}; - - mainline = self.callPackage ./mainline.nix {}; - early-access = self.callPackage ./early-access {}; - }; -} diff --git a/nixpkgs/pkgs/applications/emulators/yuzu/early-access/default.nix b/nixpkgs/pkgs/applications/emulators/yuzu/early-access/default.nix deleted file mode 100644 index f2ad5197d0bb..000000000000 --- a/nixpkgs/pkgs/applications/emulators/yuzu/early-access/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ mainline, fetchzip, fetchgit, runCommand, gnutar }: -# The mirror repo for early access builds is missing submodule info, -# but the Windows distributions include a source tarball, which in turn -# includes the full git metadata. So, grab that and rehydrate it. -# This has the unfortunate side effect of requiring two FODs, one -# for the Windows download and one for the full repo with submodules. -let - sources = import ./sources.nix; - - zip = fetchzip { - name = "yuzu-ea-windows-dist"; - url = "https://github.com/pineappleEA/pineapple-src/releases/download/EA-${sources.version}/Windows-Yuzu-EA-${sources.version}.zip"; - hash = sources.distHash; - }; - - gitSrc = runCommand "yuzu-ea-dist-unpacked" { - src = zip; - nativeBuildInputs = [ gnutar ]; - } - '' - mkdir $out - tar xf $src/*.tar.xz --directory=$out --strip-components=1 - ''; - - rehydratedSrc = fetchgit { - name = "yuzu-ea-rehydrated"; - url = gitSrc; - fetchSubmodules = true; - hash = sources.fullHash; - }; -in mainline.overrideAttrs(old: { - pname = "yuzu-early-access"; - version = sources.version; - src = rehydratedSrc; - passthru.updateScript = ./update.sh; - meta = old.meta // { description = old.meta.description + " - early access branch"; }; -}) diff --git a/nixpkgs/pkgs/applications/emulators/yuzu/early-access/sources.nix b/nixpkgs/pkgs/applications/emulators/yuzu/early-access/sources.nix deleted file mode 100644 index c7653444a2e5..000000000000 --- a/nixpkgs/pkgs/applications/emulators/yuzu/early-access/sources.nix +++ /dev/null @@ -1,7 +0,0 @@ -# Generated by ./update.sh - do not update manually! -# Last updated: 2024-02-27 -{ - version = "4174"; - distHash = "sha256:1hzwfsm4m2q29a2ihipk0ij0qakn4730283d6gwbrgr8lzmj8q49"; - fullHash = "sha256:1ayn7y595iz4smbxq10jjgip04ss35v4vrn8pa1mpnrmyikv79l9"; -} diff --git a/nixpkgs/pkgs/applications/emulators/yuzu/early-access/update.sh b/nixpkgs/pkgs/applications/emulators/yuzu/early-access/update.sh deleted file mode 100755 index f7ea2ca34a41..000000000000 --- a/nixpkgs/pkgs/applications/emulators/yuzu/early-access/update.sh +++ /dev/null @@ -1,44 +0,0 @@ -#! /usr/bin/env nix-shell -#! nix-shell -i bash -p nix nix-prefetch-git gnutar curl jq unzip - -set -euo pipefail - -cd "$(dirname "$(readlink -f "$0")")" - -log() { - tput bold - echo "#" "$@" - tput sgr0 -} - -oldVersion="$(nix --experimental-features nix-command eval -f sources.nix --raw version)" -newVersion="$(curl "https://api.github.com/repos/pineappleEA/pineapple-src/releases?per_page=1" | jq -r '.[0].tag_name' | cut -d"-" -f2)" - -if [ "$oldVersion" == "$newVersion" ]; then - log "Already up to date" - exit 0 -fi - -fetched="$(nix-prefetch-url --unpack --print-path "https://github.com/pineappleEA/pineapple-src/releases/download/EA-${newVersion}/Windows-Yuzu-EA-${newVersion}.zip")" - -eaDistHash="$(echo "${fetched}" | head -n1)" -eaDist="$(echo "${fetched}" | tail -n1)" - -eaDistUnpacked="$(mktemp -d)" -trap 'rm -rf "$eaDistUnpacked"' EXIT - -log "Unpacking dist..." -tar xf "$eaDist"/*.tar.xz --directory="$eaDistUnpacked" --strip-components=1 - -log "Rehydrating..." -eaFullHash="$(nix-prefetch-git --fetch-submodules --quiet "$eaDistUnpacked" | jq -r '.sha256')" - -cat >sources.nix <<EOF -# Generated by ./update.sh - do not update manually! -# Last updated: $(date +%F) -{ - version = "$newVersion"; - distHash = "sha256:$eaDistHash"; - fullHash = "sha256:$eaFullHash"; -} -EOF diff --git a/nixpkgs/pkgs/applications/emulators/yuzu/mainline.nix b/nixpkgs/pkgs/applications/emulators/yuzu/mainline.nix deleted file mode 100644 index 3d89e86340c1..000000000000 --- a/nixpkgs/pkgs/applications/emulators/yuzu/mainline.nix +++ /dev/null @@ -1,191 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, wrapQtAppsHook -, autoconf -, boost -, catch2_3 -, cmake -, compat-list -, cpp-jwt -, cubeb -, discord-rpc -, enet -, fmt -, glslang -, libopus -, libusb1 -, libva -, lz4 -, nlohmann_json -, nv-codec-headers-12 -, nx_tzdb -, pkg-config -, qtbase -, qtmultimedia -, qttools -, qtwayland -, qtwebengine -, SDL2 -, vulkan-headers -, vulkan-loader -, yasm -, zlib -, zstd -}: -stdenv.mkDerivation(finalAttrs: { - pname = "yuzu"; - version = "1727"; - - src = fetchFromGitHub { - owner = "yuzu-emu"; - repo = "yuzu-mainline"; - rev = "mainline-0-${finalAttrs.version}"; - hash = "sha256-DKIVXy3OGUfdw/mZtPzom40KU51CvXaV+KqRjQseDyk="; - fetchSubmodules = true; - }; - - nativeBuildInputs = [ - cmake - glslang - pkg-config - qttools - wrapQtAppsHook - ]; - - buildInputs = [ - # vulkan-headers must come first, so the older propagated versions - # don't get picked up by accident - vulkan-headers - - boost - catch2_3 - cpp-jwt - cubeb - discord-rpc - # intentionally omitted: dynarmic - prefer vendored version for compatibility - enet - - # vendored ffmpeg deps - autoconf - yasm - libva # for accelerated video decode on non-nvidia - nv-codec-headers-12 # for accelerated video decode on nvidia - # end vendored ffmpeg deps - - fmt - # intentionally omitted: gamemode - loaded dynamically at runtime - # intentionally omitted: httplib - upstream requires an older version than what we have - libopus - libusb1 - # intentionally omitted: LLVM - heavy, only used for stack traces in the debugger - lz4 - nlohmann_json - qtbase - qtmultimedia - qtwayland - qtwebengine - # intentionally omitted: renderdoc - heavy, developer only - SDL2 - # not packaged in nixpkgs: simpleini - # intentionally omitted: stb - header only libraries, vendor uses git snapshot - # not packaged in nixpkgs: vulkan-memory-allocator - # intentionally omitted: xbyak - prefer vendored version for compatibility - zlib - zstd - ]; - - # 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; - - cmakeFlags = [ - # actually has a noticeable performance impact - "-DYUZU_ENABLE_LTO=ON" - - # build with qt6 - "-DENABLE_QT6=ON" - "-DENABLE_QT_TRANSLATION=ON" - - # use system libraries - # NB: "external" here means "from the externals/ directory in the source", - # so "off" means "use system" - "-DYUZU_USE_EXTERNAL_SDL2=OFF" - "-DYUZU_USE_EXTERNAL_VULKAN_HEADERS=OFF" - - # don't use system ffmpeg, yuzu uses internal APIs - "-DYUZU_USE_BUNDLED_FFMPEG=ON" - - # don't check for missing submodules - "-DYUZU_CHECK_SUBMODULES=OFF" - - # enable some optional features - "-DYUZU_USE_QT_WEB_ENGINE=ON" - "-DYUZU_USE_QT_MULTIMEDIA=ON" - "-DUSE_DISCORD_PRESENCE=ON" - - # We dont want to bother upstream with potentially outdated compat reports - "-DYUZU_ENABLE_COMPATIBILITY_REPORTING=OFF" - "-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF" # We provide this deterministically - ]; - - # Does some handrolled SIMD - env.NIX_CFLAGS_COMPILE = "-msse4.1"; - - # Fixes vulkan detection. - # FIXME: patchelf --add-rpath corrupts the binary for some reason, investigate - qtWrapperArgs = [ - "--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib" - ]; - - preConfigure = '' - # see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work. - cmakeFlagsArray+=( - "-DTITLE_BAR_FORMAT_IDLE=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) {}" - "-DTITLE_BAR_FORMAT_RUNNING=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) | {}" - ) - - # provide pre-downloaded tz data - mkdir -p build/externals/nx_tzdb - ln -s ${nx_tzdb} build/externals/nx_tzdb/nx_tzdb - ''; - - # This must be done after cmake finishes as it overwrites the file - postConfigure = '' - ln -sf ${compat-list} ./dist/compatibility_list/compatibility_list.json - ''; - - postInstall = '' - install -Dm444 $src/dist/72-yuzu-input.rules $out/lib/udev/rules.d/72-yuzu-input.rules - ''; - - passthru.updateScript = nix-update-script { - extraArgs = [ "--version-regex" "mainline-0-(.*)" ]; - }; - - meta = with lib; { - homepage = "https://yuzu-emu.org"; - changelog = "https://yuzu-emu.org/entry"; - description = "An experimental Nintendo Switch emulator written in C++"; - longDescription = '' - An experimental Nintendo Switch emulator written in C++. - Using the mainline branch is recommended for general usage. - Using the early-access branch is recommended if you would like to try out experimental features, with a cost of stability. - ''; - mainProgram = "yuzu"; - platforms = [ "x86_64-linux" ]; - license = with licenses; [ - gpl3Plus - # Icons - asl20 mit cc0 - ]; - maintainers = with maintainers; [ - ashley - ivar - joshuafern - sbruder - k900 - ]; - }; -}) diff --git a/nixpkgs/pkgs/applications/emulators/yuzu/nx_tzdb.nix b/nixpkgs/pkgs/applications/emulators/yuzu/nx_tzdb.nix deleted file mode 100644 index de847e2b0c78..000000000000 --- a/nixpkgs/pkgs/applications/emulators/yuzu/nx_tzdb.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ stdenv, fetchurl, unzip, gitUpdater }: -stdenv.mkDerivation rec { - pname = "nx_tzdb"; - version = "221202"; - - src = fetchurl { - url = "https://github.com/lat9nq/tzdb_to_nx/releases/download/${version}/${version}.zip"; - hash = "sha256-mRzW+iIwrU1zsxHmf+0RArU8BShAoEMvCz+McXFFK3c="; - }; - - nativeBuildInputs = [ unzip ]; - - buildCommand = '' - unzip $src -d $out - ''; - - passthru.updateScript = gitUpdater { - url = "https://github.com/lat9nq/tzdb_to_nx.git"; - }; -} diff --git a/nixpkgs/pkgs/applications/emulators/yuzu/update.sh b/nixpkgs/pkgs/applications/emulators/yuzu/update.sh deleted file mode 100755 index 25ea10fc9aa0..000000000000 --- a/nixpkgs/pkgs/applications/emulators/yuzu/update.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p nix-update -#shellcheck shell=bash -nix-update -u yuzuPackages.nx_tzdb "$@" -nix-update -u yuzuPackages.compat-list "$@" -nix-update -u yuzuPackages.mainline "$@" -nix-update -u yuzuPackages.early-access --override-filename pkgs/applications/emulators/yuzu/early-access/sources.nix "$@" |