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 deleted file mode 100644 index dd4e5af1c278..000000000000 --- a/pkgs/by-name/um/umu-launcher-unwrapped/no-umu-version-json.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 index 8d37b284ddcb..967103de982f 100644 --- a/pkgs/by-name/um/umu-launcher-unwrapped/package.nix +++ b/pkgs/by-name/um/umu-launcher-unwrapped/package.nix @@ -1,51 +1,69 @@ { - python3Packages, - fetchFromGitHub, - lib, bash, + cargo, + fetchFromGitHub, hatch, + lib, + python3Packages, + rustPlatform, scdoc, - replaceVars, - fetchpatch2, + writableTmpDirAsHomeHook, + withTruststore ? true, + withDeltaUpdates ? true, }: python3Packages.buildPythonPackage rec { pname = "umu-launcher-unwrapped"; - version = "1.1.4"; + version = "1.2.5"; src = fetchFromGitHub { owner = "Open-Wine-Components"; repo = "umu-launcher"; tag = version; - hash = "sha256-TOsVK6o2V8D7CLzVOkLs8AClrZmlVQTfeii32ZIQCu4="; + hash = "sha256-bZ6Ywc524NrapkFrwFiWbqmVe1j0hunEH9YKrYQ8R2E="; }; - # 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="; - }) + cargoDeps = rustPlatform.fetchCargoVendor { + inherit src; + hash = "sha256-nU4xZn9NPd7NgexiaNYLdo4BCbH98duZ07XYeUiceP0="; + }; + + nativeCheckInputs = [ + writableTmpDirAsHomeHook + python3Packages.pytestCheckHook ]; nativeBuildInputs = [ - python3Packages.build + cargo hatch - scdoc + python3Packages.build python3Packages.installer + rustPlatform.cargoSetupHook + scdoc ]; - pythonPath = [ - python3Packages.filelock - python3Packages.xlib - ]; + pythonPath = + with python3Packages; + [ + pyzstd + urllib3 + xlib + ] + ++ lib.optionals withTruststore [ + truststore + ] + ++ lib.optionals withDeltaUpdates [ + cbor2 + xxhash + ]; pyproject = false; configureScript = "./configure.sh"; + configureFlags = [ + "--use-system-pyzstd" + "--use-system-urllib" + ]; + makeFlags = [ "PYTHONDIR=$(PREFIX)/${python3Packages.python.sitePackages}" "PYTHON_INTERPRETER=${lib.getExe python3Packages.python}" @@ -54,6 +72,17 @@ python3Packages.buildPythonPackage rec { "SHELL_INTERPRETER=${lib.getExe bash}" ]; + disabledTests = [ + # Broken? Asserts that $STEAM_RUNTIME_LIBRARY_PATH is non-empty + # Fails with AssertionError: '' is not true : Expected two elements in STEAM_RUNTIME_LIBRARY_PATHS + "test_game_drive_empty" + "test_game_drive_libpath_empty" + + # Broken? Tests parse_args with no options (./umu_run.py) + # Fails with AssertionError: SystemExit not raised + "test_parse_args_noopts" + ]; + 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}"; diff --git a/pkgs/development/python-modules/pyzstd/default.nix b/pkgs/development/python-modules/pyzstd/default.nix new file mode 100644 index 000000000000..62e77d821d08 --- /dev/null +++ b/pkgs/development/python-modules/pyzstd/default.nix @@ -0,0 +1,62 @@ +{ + buildPythonPackage, + fetchFromGitHub, + lib, + pytestCheckHook, + setuptools, + zstd-c, +}: +buildPythonPackage rec { + pname = "pyzstd"; + version = "0.16.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Rogdham"; + repo = "pyzstd"; + tag = version; + hash = "sha256-Az+0m1XUFxExBZK8bcjK54Zt2d5ZlAKRMZRdr7rPcss="; + }; + + postPatch = '' + # pyzst specifies setuptools<74 because 74+ drops `distutils.msvc9compiler`, + # required for Python 3.9 under Windows + substituteInPlace pyproject.toml \ + --replace-fail '"setuptools>=64,<74"' '"setuptools"' + ''; + + nativeBuildInputs = [ + setuptools + ]; + + build-system = [ + setuptools + ]; + + buildInputs = [ + zstd-c + ]; + + pypaBuildFlags = [ + "--config-setting=--global-option=--dynamic-link-zstd" + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "pyzstd" + ]; + + meta = { + description = "Python bindings to Zstandard (zstd) compression library"; + homepage = "https://pyzstd.readthedocs.io"; + changelog = "https://github.com/Rogdham/pyzstd/blob/${version}/CHANGELOG.md"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ + MattSturgeon + PopeRigby + ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ed176858c674..b7393e345f78 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11020,6 +11020,10 @@ self: super: with self; { pyzipper = callPackage ../development/python-modules/pyzipper { }; + pyzstd = callPackage ../development/python-modules/pyzstd { + zstd-c = pkgs.zstd; + }; + plac = callPackage ../development/python-modules/plac { }; plaid-python = callPackage ../development/python-modules/plaid-python { };