diff --git a/games-util/umu-launcher/Manifest b/games-util/umu-launcher/Manifest index 7a6184bfe0..9ee10e2d2c 100644 --- a/games-util/umu-launcher/Manifest +++ b/games-util/umu-launcher/Manifest @@ -23,15 +23,21 @@ DIST pem-rfc7468-0.7.0.crate 24159 BLAKE2B 478d355dd970b9705ebcf44d74d61ae0694db DIST portable-atomic-1.10.0.crate 174760 BLAKE2B 9a05d6162c95f5140709cbd005c1997449fb6373700e8ed3966e3379898e95f3cbdb90b387f1c7deb3f1eb33125378852a7168d0d22b433813f6c082112b0365 SHA512 fb47ab53fe240d5b0824dd068c6dda473d3e71ae6f5dfccaa17262a8b6de0e1dde05d83975e53bbfcf43f10ef5c634fc024f94613937927ae93f1adad1dadb19 DIST proc-macro2-1.0.92.crate 52353 BLAKE2B 9aa29fa6f1c56c0392a94a81b4c61953f4d185012cdca37e356817845535da79d7094bf43472ce63109ce479a2fd0cbef4d802afd61daf92c4db303bcac60e7e SHA512 e614f08acc0a7e97ef580479cf5b682378df1ca16f09bfb2296ebb3490a435229dea9d682c621c54ce57e8e1d3b7803eb8ff83c88bd02e07228dba6d02f14aee DIST pyo3-0.24.0.crate 1108432 BLAKE2B 03098e1ed1f2bcb489ab5fbaf2605631f75804ad138591ae88975c287b8e7544e5f70ef7e3261625075498ac00545b79f6c0b5aab3bcdee2897cbbfabc3f7e87 SHA512 2b9be3cc780c48198ccad08c304053c5248d7c3b7a32e8a3eeba48246b962aa71cbf31ab8c49cab9b555933cccd447412761017b477019a35dc2598999fe63ad +DIST pyo3-0.25.1.crate 1121993 BLAKE2B 79a982131fc4c4f9292e97bc8d938d236ee9cefb99bb90646a84703660ad506aee8ae1f1e626d985aa62c695722510f2697544581fa5c3a01f193be2bc2779fe SHA512 9c842c89d274dba0c8a3085a8524736245d65f07e5c05bc13fc89167cfdeb1a4ff2b4a9da9467eee918e45d01777473f39bda11efe0052859969d4fdeac1adc6 DIST pyo3-build-config-0.24.0.crate 33982 BLAKE2B 7972eb69fafdfc73ab7e2ef65498a05a5eeb122e332d10db9990d1a7849fc651a9179fa7dba71707150b005258a7f32fe711d7068fac5c5ca071abdb10bdb55d SHA512 f1f571ead6731d1d775210a02df5ca8ef850460eeabfbe04552403477f9d656eebe25a8833ea03b2e2bc7080bdcf9c6ce3b2b3f9b0f746c316ee31b11b5a2365 +DIST pyo3-build-config-0.25.1.crate 34126 BLAKE2B ca905f1f74e26f38ab63a4f5754055c9dff01f9396f81ece09b7ce067181b657e6746db3b373f7177805f6564d0df0db064b5fcab8160d5edc357e64dd32d0fc SHA512 d6fe4a46111188203a839c8c73b9835f98cd6bc5982868cbcc9f502c5a09b35c3e61117b50ef8372470051b5bc4959731907748ffca89f42f300a3081b7b0467 DIST pyo3-ffi-0.24.0.crate 76274 BLAKE2B 2f5873a9b2e6bb6a420056a2cfc063e6e04c184bce58a39498307730aa5e061f277de6e805a70ef2448d4473b0bf32e8413c281438464391ffce457749d43c91 SHA512 2206cfaaa157ce7ab7b480823af0f96524e9d78abab1b042c00fd74f872a8df9e9014a3ab1db28492b750e8ecc8150f6519c3190b7ef297837597b72b64f999a +DIST pyo3-ffi-0.25.1.crate 78058 BLAKE2B 351fe00c99008a34a003e50cd4f6d25e6dae5a446928358cd5146ac9924254614724a015ae77d8aade7bcb497cf5e5b5018021ff5d89a8efa6412f5ccb48744e SHA512 35ab63888f49df13fab8b96b87f6c705186173923fd5898abe8730675156426f020ee517019926ba5e06cdb4fc5f91a75f648ce9eba892e9eaf3ee17864a8ec7 DIST pyo3-macros-0.24.0.crate 8850 BLAKE2B 7470b3c8af49c3da5da979a08051d549255ed2bbf1e77e2e186ed43daa832ffe51c28c732e5d390effb8662f66c5c138a517a07cd0e90a73a4476e9d018eefdd SHA512 e949224b6ff3368f4594eb946859afd777efc43ca9fd436e176eef9d4549bd7428d04cee55ea8af02c8cb066dd9396a405de5ee6290a966ee52a0f1c64fd2749 +DIST pyo3-macros-0.25.1.crate 8886 BLAKE2B aad9c975c90ff93429be24287d76edd945578b546a927f54d82b6d4bf184f1f8d426ac112307205346e85999a1e89b097f68310de647f27474790bff01c3517a SHA512 08387f3d1ddb0cc253eed376e6e8ebe5722b31664ec742f16c0454b52f1fbcadbe7720ae9e2d3870fe0ca2690916cf6e3e032f5a3e65d767322c068432f6d470 DIST pyo3-macros-backend-0.24.0.crate 71998 BLAKE2B d3cd57fdf2a8b0f750d8f00fa36f32b95f9f13adf9453e0823fec0791ae99af018db6e596205ff9f9f555489cec024e23eb19c53379c09381c0cb209d8a5a695 SHA512 58b06343fa03b2b7aacdafcf219865bbb5b80cc2b28fdf16133a7d43fb7723cd83718e067bf6e01f96b94738bb83cda87d4ac2703d8d59588708d938df8e66eb +DIST pyo3-macros-backend-0.25.1.crate 76006 BLAKE2B 02225f8591585a6cbea7d6e53503bfbac395253cb0f45c588a2eb38908bf241034412832f2fcf4e9301318b5b9b82a888755d970f544f402a4f0cf9e4a6eefe9 SHA512 4c9006424630ab9bcd5dcdd45fe927a95a40a61757f0950396eb9f0c3f1794772092a19773c102220489cc621ad65d81dbbe459a1be472f6cd3211c50ef33cc2 DIST quote-1.0.38.crate 31252 BLAKE2B a3836efbe5c21dec70c684002b47b8fc7cef643c82ee903b537a48bc0707a28106c4b33d98e60ff81e04c7520f7404b1dc4d49446e8d91dded517e476c36e1c2 SHA512 530c47c5e6372b508bf5b2b88a138408a7afa5ef52c47280ed20eccf39f8e97dfc1e0a18c1bd5472efcdc49a7a1e69566333a0a1b4c0b4f0e11e6a7a85bfe8af DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 DIST rustc_version-0.4.1.crate 12245 BLAKE2B 0ed627c560d88e5ade830cc5f72c62f6ba88be3e30d0f8db34761fcd0b284e5b2fc063c240149aabdfb12c8410ecdbe50cb10a3544500b5a020f95a31cd6709c SHA512 7aa8a487ca7411b6d23cae62f7568fa3474a7b1fd1589621071be3428a550ed3b7c4ad68277a8f86849e5900397d7d0e9d678f5d423742a045dc7c660fa6c598 DIST semver-1.0.24.crate 31267 BLAKE2B 934f55d953ca52f6c11696889182e1e4c660a6eae3917b15b411d91a18b22c6a1178708caf95da93e70e6ea97c0762ed9154333d60bf0a08b156ca7b50c4077e SHA512 751bb04fb50abfbb92b2612e1d1097f612a1ceee1861852681d6ad67fe459d77a72898903b14f2f01d8185fbbc022c7471913785610c2a8e9d6530e48094869a DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785 +DIST sha2-0.10.9.crate 29271 BLAKE2B 1d614e0efe085cdb40e05726578a9b4ca6bce93f6d3324f5dc0444cb37054912cdaf5d28d468eac2c0046030d920fced2ccd006953b80865ce8a2d43ef3daa81 SHA512 963adeeb4ed8b0e7fc19085e8721ea13e9b3aea5d115ca1b3dbca495ad14810c6450991dd3753807c293c415aaeb1054b8b4124c72e7090cd9e86f09fcbb4f80 DIST signature-2.2.0.crate 15531 BLAKE2B c584d9ad52a1ab3cdc129c36cb2ed6dedc40a8d49f7294352a7df8121dc57de78268f15d9ff9ce076abf1dd3c56773daa26ed5ec39c83a600b6a377b51d4db37 SHA512 673a8f6229c795cc8f640fbfe02cd912b41c6359ca23c5ddeb1679f49784b84f109c6c45e6210201c9ca05e441c1be64ce6537e81ccd3589b37be6d0bf50dca7 DIST ssh-cipher-0.2.0.crate 10843 BLAKE2B 72984af70ec6d814b688834dbac1337f9ecd0e00c5a2740f1d80464161589430382ed8960baaad98a41f37270395d5d87d1ac7b65630211104c887662786dd2b SHA512 b78e35365fd503418edb9e061c5338f94445b8465fef396ce2c0ce2a18ccf8203f81fb2890eb851798f9cbac0003948a0edead9b2df03a57135d6caae106c6bb DIST ssh-encoding-0.2.0.crate 13600 BLAKE2B d90150f5cc2399d0beb08742280a147e22e8dde23eafb4c36e1054bc156109e273926186f862c79b965c45239d5a7f71bc03f597817be7feeee143b56e50da79 SHA512 bdf0ea0691c140d0ba04db4e465dc2fac0ead483dfde6b998d87563e2dc3eff1b4553689df3bac1811b13c3866bfadc162d8bd807752f56d499690145a2a9662 @@ -41,6 +47,7 @@ DIST syn-2.0.96.crate 297497 BLAKE2B 68b62de28ad670572096a1d92ff8ed6fb55fee441f2 DIST target-lexicon-0.13.2.crate 27923 BLAKE2B 0761f0ffdc23b9c9df86b384d59611c7b8b5e29ff068f03367ad2fe84cfb6d11e1af149b9338236978e9566fedc51387db9f239d2a602db41045ac3db907faec SHA512 d25e3cc3d679cb6b6f24c03e0c24db9d6ca31b8ed42ac9531bd7637557fbba225a6c8ac4f68a8eaf3569195814d599e668a968afbc73b940a77cbc27552cc90a DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508 DIST umu-launcher-1.2.6.tar.gz 168032 BLAKE2B e78a4df435ea99646a71b970adbda64f2533d20da682ceba35b32e175d405df0f78780123c4ad2d02240d887861b3fdc7844df7887a9bdbc41a0e3b01fa42c9c SHA512 f3d2990ce8f45ef1046faf8534bf8059a278909cc5a4fdc8e554182743e73500cffc1a19b3938fcdaeea7c936f167929e25ab7d11c14e7b055e864a5e50954a4 +DIST umu-launcher-1.2.9.tar.gz 168550 BLAKE2B 24edc5d07d331f5a44faad85490479adbf0bec9c5f790d287dfd3b5d4063df4196f5c3265adf71c19c60ad0ffe6d7cd93e749e2e6547c91096eda15cb3f8b5a9 SHA512 19ea398265353c39d94d236756846f62f339d0cfb3cc7b0e04ecc7d7c47f287aee98a740e1a86a40af324de9cc041e7627accc3205c875109994000f36f0c358 DIST unicode-ident-1.0.14.crate 47547 BLAKE2B 30e0b6d7f3a967aaf5b9d91237008a60c3a8ded53bda901696e23cea3931dd71b01ddab866dca9e31e17c395d5f5a68f2a938655b693e894962568c2cff5ca15 SHA512 7c6dcd1724e8cfedc37546d1abd49088b633dad228097acc73d7b6cab255b223e830c541144e05a00388fd8ca8066f27c18792419cfa58ee9da4460a38d0bc0a DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505 DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db diff --git a/games-util/umu-launcher/files/umu-launcher-1.2.9-optional-delta.patch b/games-util/umu-launcher/files/umu-launcher-1.2.9-optional-delta.patch new file mode 100644 index 0000000000..6d0f6d2b76 --- /dev/null +++ b/games-util/umu-launcher/files/umu-launcher-1.2.9-optional-delta.patch @@ -0,0 +1,15 @@ +Make umu_delta optional. +--- a/umu/umu_proton.py ++++ b/umu/umu_proton.py +@@ -524,7 +524,10 @@ def _get_delta( + from cbor2 import CBORDecodeError, dumps, loads # noqa: PLC0415 + + # Ignore. umu_delta is relevant for sys packages when using *-Latest tokens +- from .umu_delta import valid_key, valid_signature # noqa: PLC0415 ++ try: ++ from .umu_delta import valid_key, valid_signature # noqa: PLC0415 ++ except ImportError: ++ return None + + try: + cbor = loads(patch) diff --git a/games-util/umu-launcher/umu-launcher-1.2.9.ebuild b/games-util/umu-launcher/umu-launcher-1.2.9.ebuild new file mode 100644 index 0000000000..9e95d6aff1 --- /dev/null +++ b/games-util/umu-launcher/umu-launcher-1.2.9.ebuild @@ -0,0 +1,147 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CARGO_OPTIONAL=1 +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{11..14} ) + +CRATES=" + autocfg@1.4.0 + base16ct@0.2.0 + base64ct@1.6.0 + block-buffer@0.10.4 + cfg-if@1.0.0 + cipher@0.4.4 + cpufeatures@0.2.16 + crypto-common@0.1.6 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.3 + digest@0.10.7 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + fiat-crypto@0.2.9 + generic-array@0.14.7 + heck@0.5.0 + indoc@2.0.5 + inout@0.1.3 + libc@0.2.169 + memoffset@0.9.1 + once_cell@1.20.2 + pem-rfc7468@0.7.0 + portable-atomic@1.10.0 + proc-macro2@1.0.92 + pyo3-build-config@0.25.1 + pyo3-ffi@0.25.1 + pyo3-macros-backend@0.25.1 + pyo3-macros@0.25.1 + pyo3@0.25.1 + quote@1.0.38 + rand_core@0.6.4 + rustc_version@0.4.1 + semver@1.0.24 + sha2@0.10.9 + signature@2.2.0 + ssh-cipher@0.2.0 + ssh-encoding@0.2.0 + ssh-key@0.6.7 + subtle@2.6.1 + syn@2.0.96 + target-lexicon@0.13.2 + typenum@1.17.0 + unicode-ident@1.0.14 + unindent@0.2.3 + version_check@0.9.5 + zeroize@1.8.1 +" + +inherit cargo distutils-r1 + +DESCRIPTION="Unified launcher for Windows games on Linux" +HOMEPAGE="https://github.com/Open-Wine-Components/umu-launcher" +SRC_URI=" + https://github.com/Open-Wine-Components/umu-launcher/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="delta-update" + +RDEPEND=" + >=dev-python/python-xlib-0.33[${PYTHON_USEDEP}] + >=dev-python/urllib3-2.0.0[${PYTHON_USEDEP}] + delta-update? ( + >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}] + >=dev-python/pyzstd-0.16.2[${PYTHON_USEDEP}] + >=dev-python/xxhash-3.2.0[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + app-text/scdoc + delta-update? ( + ${RUST_DEPEND} + ) + test? ( + >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}] + >=dev-python/pyzstd-0.16.2[${PYTHON_USEDEP}] + >=dev-python/xxhash-3.2.0[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}/${P}-optional-delta.patch" +) + +QA_FLAGS_IGNORED=".*/site-packages/umu/.*so" + +EPYTEST_DESELECT=( + # https://github.com/Open-Wine-Components/umu-launcher/blob/28eef5f5638d5660fb2d7c1811c8f2915a5e8c5b/packaging/nix/unwrapped.nix#L49 + umu/umu_test.py::TestGameLauncher::test_parse_args_noopts +) + +distutils_enable_tests pytest + +src_unpack() { + if use delta-update; then + cargo_src_unpack + else + default + fi +} + +src_configure() { + distutils-r1_src_configure + ./configure.sh --prefix="${EPREFIX}"/usr || die +} + +src_compile() { + distutils-r1_src_compile + emake umu-docs + if use delta-update; then + cargo_src_compile + cp "$(cargo_target_dir)"/{libumu_delta.so,umu_delta.so} || die + fi +} + +python_test() { + epytest -o 'python_files=test_*.py *_test_*.py *_test.py' +} + +python_install() { + distutils-r1_python_install + if use delta-update; then + python_moduleinto umu + python_domodule "$(cargo_target_dir)"/umu_delta.so + fi +} + +src_install() { + distutils-r1_src_install + emake DESTDIR="${D}" umu-docs-install +}