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;