From 2571390dd39888b54cbdff92a36b533129e1e8fa Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Fri, 10 Jan 2025 17:53:53 +0000 Subject: [PATCH] libretro.pcsx2: 0-unstable-2023-01-30 -> 0-unstable-2025-01-09 See announcement: https://www.libretro.com/index.php/lrps2-the-new-playstation2-core-with-a-brand-new-lle-renderer/ --- .../emulators/libretro/cores/pcsx2.nix | 52 ++++++++----------- 1 file changed, 22 insertions(+), 30 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/pcsx2.nix b/pkgs/applications/emulators/libretro/cores/pcsx2.nix index 09a80f4dbe86..31967ab8d4ef 100644 --- a/pkgs/applications/emulators/libretro/cores/pcsx2.nix +++ b/pkgs/applications/emulators/libretro/cores/pcsx2.nix @@ -2,62 +2,54 @@ lib, cmake, fetchFromGitHub, - gcc12Stdenv, - gettext, libGL, libGLU, - libaio, - libpcap, - libpng, - libxml2, mkLibretroCore, + perl, pkg-config, - xxd, xz, }: mkLibretroCore { core = "pcsx2"; - version = "0-unstable-2023-01-30"; + version = "0-unstable-2025-01-09"; src = fetchFromGitHub { owner = "libretro"; - repo = "lrps2"; - rev = "f3c8743d6a42fe429f703b476fecfdb5655a98a9"; - hash = "sha256-0piCNWX7QbZ58KyTlWp4h1qLxXpi1z6ML8sBHMTvCY4="; + repo = "ps2"; + rev = "397b8f54b92aeffd2dd502c2c9b601305fb1de9d"; + hash = "sha256-zP4gOxAAWqgmGkilVijY2GF6awD7cbMICfxYSsI1wa0="; + fetchSubmodules = true; }; extraNativeBuildInputs = [ cmake - gettext pkg-config ]; + extraBuildInputs = [ - libaio libGL libGLU - libpcap - libpng - libxml2 + perl xz - xxd ]; + + # libretro/ps2 needs at least those flags to compile, and probably doesn't + # work on x86_64-v1 + # https://github.com/libretro/ps2/blob/397b8f54b92aeffd2dd502c2c9b601305fb1de9d/cmake/BuildParameters.cmake#L101 + env.NIX_CFLAGS_COMPILE = toString [ + "-msse" + "-msse2" + "-msse4.1" + "-mfxsr" + ]; + makefile = "Makefile"; - cmakeFlags = [ "-DLIBRETRO=ON" ]; - # remove ccache - postPatch = '' - substituteInPlace CMakeLists.txt --replace-fail "ccache" "" - ''; - postBuild = "cd pcsx2"; - # causes redefinition of _FORTIFY_SOURCE - hardeningDisable = [ "fortify3" ]; - # FIXME: multiple build errors with GCC13. - # Unlikely to be fixed until we switch to libretro/pcsx2 that is a more - # up-to-date port (but still WIP). - stdenv = gcc12Stdenv; + + preInstall = "cd bin"; meta = { description = "Port of PCSX2 to libretro"; - homepage = "https://github.com/libretro/lrps2"; + homepage = "https://github.com/libretro/ps2"; license = lib.licenses.gpl3Plus; platforms = lib.platforms.x86; };