From eb409aa6ff0c8034c295c3728a316ecd0701a2b4 Mon Sep 17 00:00:00 2001 From: RoGreat Date: Sat, 26 Apr 2025 22:08:49 -0500 Subject: [PATCH] faugus-launcher: init at 1.9.4 --- pkgs/by-name/fa/faugus-launcher/package.nix | 96 +++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 pkgs/by-name/fa/faugus-launcher/package.nix diff --git a/pkgs/by-name/fa/faugus-launcher/package.nix b/pkgs/by-name/fa/faugus-launcher/package.nix new file mode 100644 index 000000000000..90c77d359724 --- /dev/null +++ b/pkgs/by-name/fa/faugus-launcher/package.nix @@ -0,0 +1,96 @@ +{ + fetchFromGitHub, + gamemode, + gobject-introspection, + icoextract, + imagemagick, + lib, + libayatana-appindicator, + libcanberra-gtk3, + meson, + ninja, + nix-update-script, + python3Packages, + umu-launcher, + wrapGAppsHook3, + xdg-utils, +}: + +python3Packages.buildPythonApplication rec { + pname = "faugus-launcher"; + version = "1.9.6"; + pyproject = false; + + src = fetchFromGitHub { + owner = "Faugus"; + repo = "faugus-launcher"; + tag = version; + hash = "sha256-7brHeRwrH6MbRcGCb5qufU1PHLgg5fCfgLhvdCQr+ak="; + }; + + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook3 + ]; + + buildInputs = [ + libayatana-appindicator + ]; + + build-system = [ + meson + ninja + ]; + + dependencies = with python3Packages; [ + filelock + pillow + psutil + pygobject3 + requests + vdf + ]; + + postPatch = '' + substituteInPlace faugus_launcher.py \ + --replace-fail "PathManager.find_binary('faugus-run')" "'$out/bin/.faugus-run-wrapped'" \ + --replace-fail "PathManager.find_binary('faugus-proton-manager')" "'$out/bin/.faugus-proton-manager-wrapped'" \ + --replace-fail "PathManager.user_data('faugus-launcher/umu-run')" "'${lib.getExe umu-launcher}'" \ + --replace-fail 'Exec={faugus_run}' 'Exec=faugus-run' + + substituteInPlace faugus_run.py \ + --replace-fail "PathManager.find_binary('faugus-components')" "'$out/bin/.faugus-components-wrapped'" \ + --replace-fail "PathManager.user_data('faugus-launcher/umu-run')" "'${lib.getExe umu-launcher}'" \ + --replace-fail "PathManager.find_library('libgamemode.so.0')" "'${lib.getLib gamemode}/lib/libgamemode.so.0'" \ + --replace-fail "PathManager.find_library('libgamemodeauto.so.0')" "'${lib.getLib gamemode}/lib/libgamemodeauto.so.0'" + ''; + + dontWrapGApps = true; + + preFixup = '' + makeWrapperArgs+=( + "''${gappsWrapperArgs[@]}" + --suffix PATH : "${ + lib.makeBinPath [ + icoextract + imagemagick + libcanberra-gtk3 + umu-launcher + xdg-utils + ] + }" + ) + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Simple and lightweight app for running Windows games using UMU-Launcher"; + homepage = "https://github.com/Faugus/faugus-launcher"; + changelog = "https://github.com/Faugus/faugus-launcher/releases/tag/${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ RoGreat ]; + mainProgram = "faugus-launcher"; + platforms = lib.platforms.linux; + }; +}