From 4f4441e5cb0438f49addba096bfb839df270b3c5 Mon Sep 17 00:00:00 2001 From: diniamo Date: Mon, 23 Dec 2024 17:51:55 +0100 Subject: [PATCH] umu-launcher[-unwrapped]: init at 1.1.4 --- .../no-umu-version-json.patch | 13 ++++ .../um/umu-launcher-unwrapped/package.nix | 70 +++++++++++++++++++ pkgs/by-name/um/umu-launcher/package.nix | 19 +++++ 3 files changed, 102 insertions(+) create mode 100644 pkgs/by-name/um/umu-launcher-unwrapped/no-umu-version-json.patch create mode 100644 pkgs/by-name/um/umu-launcher-unwrapped/package.nix create mode 100644 pkgs/by-name/um/umu-launcher/package.nix diff --git a/pkgs/by-name/um/umu-launcher-unwrapped/no-umu-version-json.patch b/pkgs/by-name/um/umu-launcher-unwrapped/no-umu-version-json.patch new file mode 100644 index 000000000000..dd4e5af1c278 --- /dev/null +++ b/pkgs/by-name/um/umu-launcher-unwrapped/no-umu-version-json.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.in b/Makefile.in +index b82053d..37db8c9 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -50,7 +50,7 @@ fix_shebangs: + umu/umu_version.json: umu/umu_version.json.in + $(info :: Updating $(@) ) + cp $(<) $(<).tmp +- sed 's|##UMU_VERSION##|$(shell git describe --always --long --tags)|g' -i $(<).tmp ++ sed 's|##UMU_VERSION##|@version@|g' -i $(<).tmp + mv $(<).tmp $(@) + + .PHONY: version diff --git a/pkgs/by-name/um/umu-launcher-unwrapped/package.nix b/pkgs/by-name/um/umu-launcher-unwrapped/package.nix new file mode 100644 index 000000000000..8d37b284ddcb --- /dev/null +++ b/pkgs/by-name/um/umu-launcher-unwrapped/package.nix @@ -0,0 +1,70 @@ +{ + python3Packages, + fetchFromGitHub, + lib, + bash, + hatch, + scdoc, + replaceVars, + fetchpatch2, +}: +python3Packages.buildPythonPackage rec { + pname = "umu-launcher-unwrapped"; + version = "1.1.4"; + + src = fetchFromGitHub { + owner = "Open-Wine-Components"; + repo = "umu-launcher"; + tag = version; + hash = "sha256-TOsVK6o2V8D7CLzVOkLs8AClrZmlVQTfeii32ZIQCu4="; + }; + + # Both patches can be safely removed with the next release + patches = [ + # Patch to avoid running `git describe` + # Fixed by https://github.com/Open-Wine-Components/umu-launcher/pull/289 upstream + (replaceVars ./no-umu-version-json.patch { inherit version; }) + # Patch to use PREFIX in the installer call + (fetchpatch2 { + url = "https://github.com/Open-Wine-Components/umu-launcher/commit/602a2f84a05a63f7b1b1c4d8ca85d99fdaec2cd2.diff"; + hash = "sha256-BMinTXr926V3HlzHHabxHKvy8quEvxsZKu1hoTGQT00="; + }) + ]; + + nativeBuildInputs = [ + python3Packages.build + hatch + scdoc + python3Packages.installer + ]; + + pythonPath = [ + python3Packages.filelock + python3Packages.xlib + ]; + + pyproject = false; + configureScript = "./configure.sh"; + + makeFlags = [ + "PYTHONDIR=$(PREFIX)/${python3Packages.python.sitePackages}" + "PYTHON_INTERPRETER=${lib.getExe python3Packages.python}" + # Override RELEASEDIR to avoid running `git describe` + "RELEASEDIR=${pname}-${version}" + "SHELL_INTERPRETER=${lib.getExe bash}" + ]; + + meta = { + description = "Unified launcher for Windows games on Linux using the Steam Linux Runtime and Tools"; + changelog = "https://github.com/Open-Wine-Components/umu-launcher/releases/tag/${version}"; + homepage = "https://github.com/Open-Wine-Components/umu-launcher"; + license = lib.licenses.gpl3; + mainProgram = "umu-run"; + maintainers = with lib.maintainers; [ + diniamo + MattSturgeon + fuzen + ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/by-name/um/umu-launcher/package.nix b/pkgs/by-name/um/umu-launcher/package.nix new file mode 100644 index 000000000000..46de6e41b61b --- /dev/null +++ b/pkgs/by-name/um/umu-launcher/package.nix @@ -0,0 +1,19 @@ +{ + buildFHSEnv, + lib, + umu-launcher-unwrapped, +}: +buildFHSEnv { + pname = "umu-launcher"; + inherit (umu-launcher-unwrapped) version meta; + + targetPkgs = pkgs: [ pkgs.umu-launcher-unwrapped ]; + + executableName = umu-launcher-unwrapped.meta.mainProgram; + runScript = lib.getExe umu-launcher-unwrapped; + + extraInstallCommands = '' + ln -s ${umu-launcher-unwrapped}/lib $out/lib + ln -s ${umu-launcher-unwrapped}/share $out/share + ''; +}