diff --git a/modules/base-system.nix b/modules/base-system.nix index 2ce82ea..ff5019f 100644 --- a/modules/base-system.nix +++ b/modules/base-system.nix @@ -44,6 +44,7 @@ in { (_: super: { "2i-emulator" = super.callPackage ../pkgs/2i-emulator.nix {}; darkman = super.callPackage ../pkgs/darkman.nix {}; + emulationstation-de = lib.warn "I'm overriding emulationstation-de. Keep a look out for updates, will ya?" (super.callPackage ../pkgs/emulationstation-de.nix {}); hack-nerdfont = super.nerdfonts.override {fonts = ["Hack"];}; }) ]; diff --git a/pkgs/emudeck.nix b/pkgs/emudeck.nix index 322d912..bbd72ad 100644 --- a/pkgs/emudeck.nix +++ b/pkgs/emudeck.nix @@ -17,7 +17,7 @@ in extraPkgs = pkgs: with pkgs; [ jq - gnome.zenity + zenity unzip bash fuse diff --git a/pkgs/emulationstation-de.nix b/pkgs/emulationstation-de.nix new file mode 100644 index 0000000..50e4cde --- /dev/null +++ b/pkgs/emulationstation-de.nix @@ -0,0 +1,78 @@ +{ + lib, + stdenv, + alsa-lib, + cmake, + curl, + fetchzip, + ffmpeg, + freeimage, + freetype, + harfbuzz, + icu, + libgit2, + pkg-config, + poppler, + pugixml, + SDL2, + ... +}: + +let + version = "3.1.0"; + hash = "sha256-v9nOY9T5VOVLBUKoDXqwYa1iYvW42iGA+3kpPUOmHkg="; +in stdenv.mkDerivation { + pname = "emulationstation-de"; + inherit version; + + src = fetchzip { + url = "https://gitlab.com/es-de/emulationstation-de/-/archive/v${version}/emulationstation-de-v${version}.tar.gz"; + inherit hash; + }; + + patches = [ ./emulationstation-de.patch ]; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + alsa-lib + curl + ffmpeg + freeimage + freetype + harfbuzz + icu + libgit2 + poppler + pugixml + SDL2 + ]; + + installPhase = '' + install -D ../es-de $out/bin/es-de + install -D ../es-pdf-convert $out/bin/es-pdf-convert + install -D ../LICENSE $out/share/es-de/LICENSE + install -D ../es-app/assets/es-de.6.gz $out/share/man/man6/es-de.6.gz + install -D ../es-app/assets/org.es_de.frontend.desktop $out/share/applications/org.es_de.frontend.desktop + install -D ../es-app/assets/org.es_de.frontend.appdata.xml $out/share/metainfo/org.es_de.frontend.appdata.xml + install -D ../es-app/assets/org.es_de.frontend.svg $out/share/icons/hicolor/scalable/apps/org.es_de.frontend.svg + install -D ../es-app/assets/org.es_de.frontend.svg $out/share/pixmaps/org.es_de.frontend.svg + + mkdir -p $out/share/es-de/ + cp -r ../licenses/ $out/share/es-de/licenses/ + cp -r ../themes/ $out/share/es-de/themes/ + cp -r ../resources/ $out/share/es-de/resources/ + ''; + + meta = { + description = "EmulationStation Desktop Edition is a frontend for browsing and launching games from your multi-platform game collection"; + homepage = "https://es-de.org"; + maintainers = with lib.maintainers; [ ivarmedi ]; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + mainProgram = "emulationstation"; + }; +} diff --git a/pkgs/emulationstation-de.patch b/pkgs/emulationstation-de.patch new file mode 100644 index 0000000..48b25f2 --- /dev/null +++ b/pkgs/emulationstation-de.patch @@ -0,0 +1,18 @@ +--- a/resources/systems/unix/es_find_rules.xml ++++ b/resources/systems/unix/es_find_rules.xml +@@ -19,6 +19,8 @@ + ~/.config/retroarch/cores + + /usr/local/lib/libretro ++ ++ /run/current-system/sw/lib/retroarch/cores + + + +@@ -667,4 +669,4 @@ + ~/bin/ZEsarUX/zesarux + + +- +\ No newline at end of file ++