diff --git a/pkgs/by-name/em/emulationstation-de/001-add-nixpkgs-retroarch-cores.patch b/pkgs/by-name/em/emulationstation-de/001-add-nixpkgs-retroarch-cores.patch index 15938826ef80..5c9b3d194392 100644 --- a/pkgs/by-name/em/emulationstation-de/001-add-nixpkgs-retroarch-cores.patch +++ b/pkgs/by-name/em/emulationstation-de/001-add-nixpkgs-retroarch-cores.patch @@ -1,18 +1,12 @@ ---- a/resources/systems/unix/es_find_rules.xml 2023-11-22 15:18:15.912747163 -0500 -+++ b/resources/systems/unix/es_find_rules.xml 2023-11-22 15:20:38.628250448 -0500 -@@ -45,6 +45,8 @@ - /usr/local/lib/libretro - - /usr/pkg/lib/libretro -+ +--- a/resources/systems/linux/es_find_rules.xml 2024-09-13 16:19:36.000000000 +0300 ++++ b/resources/systems/linux/es_find_rules.xml 2024-11-26 23:08:49.204498848 +0200 +@@ -41,6 +41,9 @@ + /usr/lib64/libretro + + /usr/lib/libretro ++ + /run/current-system/sw/lib/retroarch/cores ++ ~/.nix-profile/lib/retroarch/cores -@@ -1079,4 +1081,4 @@ - ~/bin/ZEsarUX/zesarux - - -- -\ No newline at end of file -+ diff --git a/pkgs/by-name/em/emulationstation-de/package.nix b/pkgs/by-name/em/emulationstation-de/package.nix index 9cd9ba6afd75..4df66e9e257e 100644 --- a/pkgs/by-name/em/emulationstation-de/package.nix +++ b/pkgs/by-name/em/emulationstation-de/package.nix @@ -1,30 +1,40 @@ { lib, stdenv, - cmake, fetchzip, + fetchpatch, + cmake, pkg-config, alsa-lib, curl, ffmpeg, freeimage, freetype, + harfbuzz, + icu, libgit2, poppler, pugixml, - SDL2 + SDL2, }: stdenv.mkDerivation (finalAttrs: { pname = "emulationstation-de"; - version = "3.0.2"; + version = "3.1.0"; src = fetchzip { url = "https://gitlab.com/es-de/emulationstation-de/-/archive/v${finalAttrs.version}/emulationstation-de-v${finalAttrs.version}.tar.gz"; - hash = "sha256:RGlXFybbXYx66Hpjp2N3ovK4T5VyS4w0DWRGNvbwugs="; + hash = "sha256-v9nOY9T5VOVLBUKoDXqwYa1iYvW42iGA+3kpPUOmHkg="; }; - patches = [ ./001-add-nixpkgs-retroarch-cores.patch ]; + patches = [ + (fetchpatch { + name = "fix-buffer-overflow-detection-with-gcc-fortification"; + url = "https://gitlab.com/es-de/emulationstation-de/-/commit/41fd33fdc3dacef507b987ed316aec2b0d684317.patch"; + sha256 = "sha256-LHJ11mtBn8hRU97+Lz9ugPTTGUAxrPz7yvyxqNOAYKY="; + }) + ./001-add-nixpkgs-retroarch-cores.patch + ]; nativeBuildInputs = [ cmake @@ -37,36 +47,18 @@ stdenv.mkDerivation (finalAttrs: { ffmpeg freeimage freetype + harfbuzz + icu libgit2 poppler pugixml SDL2 ]; - installPhase = '' - # Binary - install -D ../es-de $out/bin/es-de - - # Resources - mkdir -p $out/share/es-de/ - cp -r ../resources/ $out/share/es-de/resources/ - - # Desktop file - mkdir -p $out/share/applications - cp ../es-app/assets/org.es_de.frontend.desktop $out/share/applications/ - - # Icon - mkdir -p $out/share/icons/hicolor/scalable/apps - cp ../es-app/assets/org.es_de.frontend.svg $out/share/icons/hicolor/scalable/apps/ - ''; - - postInstall = '' - substituteInPlace $out/share/applications/org.es_de.frontend.desktop \ - --replace "Exec=es-de" "Exec=$out/bin/es-de" - ''; + cmakeFlags = [ (lib.cmakeBool "APPLICATION_UPDATER" false) ]; meta = { - description = "EmulationStation Desktop Edition is a frontend for browsing and launching games from your multi-platform game collection"; + description = "ES-DE (EmulationStation Desktop Edition) is a frontend for browsing and launching games from your multi-platform collection"; homepage = "https://es-de.org"; maintainers = with lib.maintainers; [ ivarmedi ]; license = lib.licenses.mit;