pcsx2: 1.7.3331 -> 1.7.4554

This commit is contained in:
Martino Fontana 2022-05-30 14:36:31 +02:00
parent 83ff7cdc65
commit f9a0f4a620
2 changed files with 63 additions and 49 deletions

View file

@ -1,90 +1,110 @@
{ alsa-lib
, cmake
{ cmake
, fetchFromGitHub
, lib
, stdenv
, curl
, ffmpeg
, fmt
, gettext
, glib
, gtk3
, harfbuzz
, lib
, libaio
, libbacktrace
, libpcap
, libpng
, libpulseaudio
, libsamplerate
, libXdmcp
, openssl
, pcre
, perl
, libXrandr
, libzip
, pkg-config
, portaudio
, qtbase
, qtsvg
, qttools
, qttranslations
, qtwayland
, rapidyaml
, SDL2
, soundtouch
, stdenv
, udev
, vulkan-headers
, vulkan-loader
, wrapGAppsHook
, wxGTK
, zlib
, wayland
, wrapQtAppsHook
, xz
, zip
}:
let
# The pre-zipped files in releases don't have a versioned link, we need to zip them ourselves
pcsx2_patches = fetchFromGitHub {
owner = "PCSX2";
repo = "pcsx2_patches";
rev = "8db5ae467a35cc00dc50a65061aa78dc5115e6d1";
sha256 = "sha256-68kD7IAhBMASFmkGwvyQ7ppO/3B1csAKik+rU792JI4=";
};
in
stdenv.mkDerivation rec {
pname = "pcsx2";
version = "1.7.3331";
# nixpkgs-update: no auto update
version = "1.7.4554";
src = fetchFromGitHub {
owner = "PCSX2";
repo = "pcsx2";
fetchSubmodules = true;
rev = "v${version}";
hash = "sha256-0RcmBMxKj/gnkNEjn2AUSSO1DzyNSf1lOZWPSUq6764=";
sha256 = "sha256-9MRbpm7JdVmZwv8zD4lErzVTm7A4tYM0FgXE9KpX+/8=";
};
cmakeFlags = [
"-DDISABLE_ADVANCE_SIMD=TRUE"
"-DDISABLE_PCSX2_WRAPPER=TRUE"
"-DPACKAGE_MODE=TRUE"
"-DWAYLAND_API=TRUE"
"-DXDG_STD=TRUE"
"-DUSE_VULKAN=TRUE"
"-DUSE_SYSTEM_LIBS=ON"
"-DDISABLE_BUILD_DATE=TRUE"
];
nativeBuildInputs = [ cmake perl pkg-config vulkan-headers wrapGAppsHook ];
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook zip ];
buildInputs = [
alsa-lib
curl
ffmpeg
fmt
gettext
glib
gtk3
harfbuzz
libaio
libbacktrace
libpcap
libpng
libpulseaudio
libsamplerate
libXdmcp
openssl
pcre
portaudio
libXrandr
libzip
qtbase
qtsvg
qttools
qttranslations
qtwayland
rapidyaml
SDL2
soundtouch
udev
vulkan-headers
vulkan-loader
wayland
wxGTK
zlib
xz
];
preFixup = ''
gappsWrapperArgs+=(
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}
)
installPhase = ''
mkdir -p $out/bin
cp -a bin/pcsx2-qt bin/resources $out/bin/
install -Dm644 $src/pcsx2/Resources/AppIcon64.png $out/share/pixmaps/PCSX2.png
install -Dm644 $src/.github/workflows/scripts/linux/pcsx2-qt.desktop $out/share/applications/PCSX2.desktop
zip -jq $out/bin/resources/patches.zip ${pcsx2_patches}/patches/*
'';
qtWrapperArgs = [
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
ffmpeg # It's loaded with dlopen. They plan to change it https://github.com/PCSX2/pcsx2/issues/8624
libpulseaudio
vulkan-loader
]}"
];
meta = with lib; {
description = "Playstation 2 emulator";
longDescription = ''
@ -95,13 +115,9 @@ stdenv.mkDerivation rec {
PC, with many additional features and benefits.
'';
homepage = "https://pcsx2.net";
license = with licenses; [ gpl3 lgpl3 ];
maintainers = with maintainers; [ hrdinka govanify ];
# PCSX2's source code is released under LGPLv3+. It However ships
# additional data files and code that are licensed differently.
# This might be solved in future, for now we should stick with
# license.free
license = licenses.free;
mainProgram = "pcsx2-qt";
platforms = platforms.x86_64;
};
}

View file

@ -2399,9 +2399,7 @@ with pkgs;
pcem = callPackage ../applications/emulators/pcem { };
pcsx2 = callPackage ../applications/emulators/pcsx2 {
wxGTK = wxGTK32;
};
pcsx2 = qt6Packages.callPackage ../applications/emulators/pcsx2 { };
pcsxr = callPackage ../applications/emulators/pcsxr { };