diff options
244 files changed, 8472 insertions, 3634 deletions
diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index fa724efb1c24..2d280693bf36 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -3,3 +3,4 @@ DIST aws-cli-1.45.36.gh.tar.gz 3178460 BLAKE2B 2a1f837fc6991d9cfcdf4d9f54d57e7b8 DIST aws-cli-1.45.40.gh.tar.gz 3182287 BLAKE2B e0bc7454b7b0c7a75ef43a3eeaf2a0bddfbb7753fc92d39438d4219fa929ad7a9fd1017a1b9ecf1dfb560967ed7ad9feae266075c2ca44431b76c6f44383e240 SHA512 c19c645e4d161d215f49d55525a4ac939558f0c155e77380e00596018aaf8ce51f77e07d348b3d785c2634342225095b8cbba9da882eb40c402c8a42661673ef DIST aws-cli-1.45.46.gh.tar.gz 3195842 BLAKE2B 83f941c9f929174cd93b36db6d4aa7dd9ba1fdcf01fb6c08c595970ce53a73b64adaae9daea7b15366d283af27e60783adeaa91300216d39879d092dad77a5ab SHA512 ad15c12fae077010b515f0161adc0dbff49126c0a6c42d553b7d397da4023e9dabb58884549481cd72f140d0ae398145560678687e9b4c472f2fde8207b0f8fd DIST aws-cli-1.45.47.gh.tar.gz 3196069 BLAKE2B e1e515d1fd18a0fffc515e6698733dfe41cc9b9327feb42f7db37b868c63d1c70eb86392ea0b01c6ce4e00bb25f4f83f4c2d5920fc1b3de5138ba578f0c8e73e SHA512 a931eb3287d235412bb5df657697dcec181a611799ebacf7fb69c25bcac53af9478692953a0457d350d45c95d15ac3cd7a5bc18a77448dfcea8ab6fd116a1fc7 +DIST aws-cli-1.45.48.gh.tar.gz 3197435 BLAKE2B 4f8f135581e17e721b37975891c8666267d4218642878139aeaddd4053e401b17cbeb34e2baec6b17dfdb8874fff90f9a4ef22b58183853dea216adc1deeff50 SHA512 d10ca1c26bc076ecc050a31d7d539820df2b899d97db1b2215c9938ae1785c6a0eae42b32eb3833eb3df7fddc0f485cbd940e50793d55ebcb88c2690651e483a diff --git a/app-admin/awscli/awscli-1.45.48.ebuild b/app-admin/awscli/awscli-1.45.48.ebuild new file mode 100644 index 000000000000..7d3c8ade6a18 --- /dev/null +++ b/app-admin/awscli/awscli-1.45.48.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 shell-completion + +MY_P=aws-cli-${PV} +DESCRIPTION="Universal Command Line Environment for AWS" +HOMEPAGE=" + https://github.com/aws/aws-cli/ + https://pypi.org/project/awscli/ +" +SRC_URI=" + https://github.com/aws/aws-cli/archive/${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + +# botocore is x.(y-2).(z+10), sigh +BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) - 2)).$(ver_cut 3)" +RDEPEND=" + >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}] + dev-python/colorama[${PYTHON_USEDEP}] + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/rsa[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.18.0[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + !app-admin/awscli-bin +" +BDEPEND=" + test? ( + dev-python/packaging[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-forked ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + # strip overzealous upper bounds on requirements + sed -i -e 's:,<[=0-9.]*::' -e 's:==:>=:' setup.py || die + distutils-r1_src_prepare +} + +python_test() { + local serial_tests=( + tests/functional/ecs/test_execute_command.py::TestExecuteCommand::test_execute_command_success + tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_{fails,success} + tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_with_new_version_plugin_success + tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking + tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking_windows + tests/unit/customizations/codeartifact/test_adapter_login.py::TestNuGetLogin::test_login_nuget_sources_listed_with_backtracking + tests/unit/customizations/ecs/test_executecommand_startsession.py::TestExecuteCommand::test_execute_command_success + tests/unit/customizations/test_sessionmanager.py + tests/unit/test_compat.py::TestIgnoreUserSignals + tests/unit/test_help.py + tests/unit/test_utils.py::TestIgnoreCtrlC::test_ctrl_c_is_ignored + ) + EPYTEST_XDIST= epytest "${serial_tests[@]}" + + local EPYTEST_DESELECT=( + "${serial_tests[@]}" + + # flaky (some ordering?) + tests/functional/s3/test_cp_command.py::TestCPCommand::test_multipart_upload_with_checksum_algorithm_crc32 + ) + # integration tests require AWS credentials and Internet access + epytest tests/{functional,unit} +} + +python_install_all() { + newbashcomp bin/aws_bash_completer aws + newzshcomp bin/aws_zsh_completer.sh _aws + + distutils-r1_python_install_all + + rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die +} diff --git a/app-admin/ig/Manifest b/app-admin/ig/Manifest index e04877d30857..df91458004df 100644 --- a/app-admin/ig/Manifest +++ b/app-admin/ig/Manifest @@ -1,2 +1,2 @@ -DIST ig-0.54.0.tar.gz 5394571 BLAKE2B 3a53883251cbb8c50e330895d570893d8bebf7da668ae7d57f6a6596cd5c3a5915335d139f68d9eafe72ede4894f5bdf4759e72fde668bb3dc693eb21f855740 SHA512 654dbf6c497f996d2a085a34e50b4d81bfed24680f0c9433e4dff9e75a35fbef66f2e0b44246115a13a410983eb4bcb067ddda9ca1bed5f8e4b5c9b7d021d4d7 -DIST inspektor-gadget-vendor-v0.54.0.tar.gz 15302806 BLAKE2B 47bab431629a3b93f638fdd6df199f0e1cf81a2b9101c0465135917b36869d30ce0216b322a6091aea279e29a0e348831c8d5e55272ab8e47d7385b36f30d8a8 SHA512 891f70dc5c6a50c59bf8cf05f72e532c1ac95493b20beb97657d22c41e6e9501ecb463000c8bc63c281b37a2a0515108a967e7f5e2331869351999fc3ed92dd1 +DIST ig-0.54.1.tar.gz 5392715 BLAKE2B 5ddff21ab3af7a5768921e7ba65ad232741cabd4f90288684a0ec5dc2693ea00a59c9355afaedf4d462231e3b7bac9e97a8da9b0cc759c4fe2a5c31ebf45e211 SHA512 8888b554f36c171dca770b8c96937028d7c68716624120620f0063fed160cbe9b721356addec87fb4f86c00ea0e146a40539465a3cc2ce780e2d8893209c365e +DIST inspektor-gadget-vendor-v0.54.1.tar.gz 15301489 BLAKE2B 5b6f16bcf25758439b5421ceaee51ae2cffcdc29ac979c470ba6eb907d1140f854bb0a584cf7689eb082264142f06b1f1d48677f4c35de4224c498f6ac7b600d SHA512 2e6f5cce4bd08ddcca7a43f231c2dd0549d6dc662f67bd46e2f24b6e003522fb828a119b74255bd568d2c03c01cc8fb77ff5704e30452cd6f736d1e9e626d77b diff --git a/app-admin/ig/ig-0.54.0.ebuild b/app-admin/ig/ig-0.54.1.ebuild index a85094928984..a85094928984 100644 --- a/app-admin/ig/ig-0.54.0.ebuild +++ b/app-admin/ig/ig-0.54.1.ebuild diff --git a/app-dicts/myspell-en/Manifest b/app-dicts/myspell-en/Manifest index d851a071cf28..c910d0d2e54c 100644 --- a/app-dicts/myspell-en/Manifest +++ b/app-dicts/myspell-en/Manifest @@ -1,2 +1 @@ -DIST dict-en-20250401_lo.oxt 6273269 BLAKE2B 3f7a90a445cc343229bf0a9360928dbcd68e440563c62512a147646bc52cc5953a8da9b9e57211b5fe2cdd759e7ee3fec72c18de11d58483dec29cf3b5f31424 SHA512 20ba9670cd748d3cd05d0e8857a02b76321cafeed16a8ed1806606078824a5f4b9269d1f82166dd2cdbe9a5207a67eaa18d603bd9440ce12062c96751ff28f41 DIST dict-en-20250901_lo.oxt 6277996 BLAKE2B 654d7d81d35541fe740432fe12dcf70e970a5e9ce8082a8ab27f76146204df7d79638a40eb962826b834309fd513da1253b48f08ee84fba44a30afa315245f94 SHA512 5eb9842da6ae6630be67ec1db026e2cc5d8acff014aa938d742ab35fc332673f17e6e3e77061af964839692e05bc3ea0ba36a066507d562f4dd9274e7ee388f6 diff --git a/app-dicts/myspell-en/myspell-en-20250401.ebuild b/app-dicts/myspell-en/myspell-en-20250401.ebuild deleted file mode 100644 index 2fd317bb3e7a..000000000000 --- a/app-dicts/myspell-en/myspell-en-20250401.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit myspell-r2 - -DESCRIPTION="English dictionaries for myspell/hunspell" -HOMEPAGE=" - https://extensions.libreoffice.org/extensions/english-dictionaries - https://github.com/marcoagpinto/aoo-mozilla-en-dict - https://proofingtoolgui.org -" -SRC_URI="https://extensions.libreoffice.org/assets/downloads/41/1743477350/dict-en-20250401_lo.oxt" - -LICENSE="BSD MIT LGPL-3+" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" - -PLOCALES=( "en-AU" "en-CA" "en-GB" "en-US" "en-ZA" ) -IUSE="${PLOCALES[*]/#/+l10n_}" -REQUIRED_USE="|| ( ${PLOCALES[*]/#/l10n_} )" - -src_prepare() { - # This thesaurus is used by all the English dictionaries, see - # ./dictionaries.xcu in the distfile, lines 71-81. - MYSPELL_THES=( - "th_en_US_v2.dat" - "th_en_US_v2.idx" - ) - - local non_us_dic_used=0 - local mylinguas - for lang in "${PLOCALES[@]}"; do - mylinguas="${lang/-/_}" - if use "l10n_${lang}"; then - MYSPELL_DICT+=( "${mylinguas}.aff" "${mylinguas}.dic" ) - if [[ ${lang} == en-US ]]; then - MYSPELL_HYPH=( "hyph_en_US.dic" ) - else - non_us_dic_used=1 - fi - else - rm "README_${mylinguas}.txt" || die - if [[ ${lang} == "en-US" ]]; then - rm "README_hyph_en_US.txt" || die - elif [[ ${lang} == "en-GB" ]]; then - rm "README_en_GB_thes.txt" || die - fi - fi - done - - if [[ non_us_dic_used -eq 1 ]]; then - # This is used by every English variety, except for the en-US, see - # ./dictionaries.xcu, lines 60-70. - MYSPELL_HYPH+=( "hyph_en_GB.dic" ) - else - rm "README_hyph_en_GB.txt" || die - fi - - default -} diff --git a/app-dicts/myspell-es/Manifest b/app-dicts/myspell-es/Manifest index 8d528c0a702c..88e52b5c9234 100644 --- a/app-dicts/myspell-es/Manifest +++ b/app-dicts/myspell-es/Manifest @@ -1,23 +1,46 @@ DIST es-2.6.oxt 1456882 BLAKE2B 67acb86fa3bd0612f7d462ad25af69e722ae88ef59b269ed3be00045b9ce9d9d573cffb731e31c1437aec22c2690411b77fd6c6ca54c9c29f1d2745bdaded6c0 SHA512 24926603a5e1d3578e45fa8c5f4a82a3474c437fd73b1f2a7567849847e44f60d081ca5c6a4e18f9cc605aad0caf8ed5d2b9b0dc67ad6da43a3c0cef5212e651 +DIST es-2.9.oxt 1475270 BLAKE2B 8fa7285a8f3dc200db46462e219e5cb99c3abd00c61afdb14bdf1f140ba6f2c4369454723ea8cd4e22bd3a0347e7af48fde8a691fc4a2227c8c1bab440363ab6 SHA512 647ba2240600ab29efbf0ed6a0ef5ca4c14d0601b3cb2a5fbac59e90506e5c414f65ba35ab28debe55782d439d2ca4ad01450122deada03648de8b9a672deb5e DIST es_AR-2.6.oxt 1402278 BLAKE2B ac0cb625493482e91d33ea3e0f3738556deda68b799467d4c95811ff7e324dc6da82090a6557ce99ca2574afa4f75b0b92fd13937471f57f60aac43f09f3fe0b SHA512 70292809ad7894e24fe0981f3f81bf6f3f67c6447e4bdf020c42a72d6e6a4cc92b658df716b93c601ab557fcd6ba1f1994d9f3597461c02f062d7597d52b8e1c +DIST es_AR-2.9.oxt 1421280 BLAKE2B 9a89bcb6c52ae6e6b0e911fc13855cb073834a24cf6fe44dfdab693d2d28260ab2f93715416e96d662a7649b694d5dc277f0ef6487aac9bd839730a4c4988f01 SHA512 77ca54293cb5898c207485bc51e3ab5fdb48fe5d1e5c898cd4995ecadef505aa6cb5ab9cc538c226f99ae6b7bba541a315b5f2dfa7a87632839d83fa70a92a67 DIST es_BO-2.6.oxt 1399256 BLAKE2B 7659beb5373f03375f7bdf7c37a14dcbec3a1e5f127cf5a20c805132ae754af32a3fbca3031b414a253e225e691fffb5f718c709120b1f6f9425322a05140250 SHA512 e77ba88f3f655d00997eabe986781a9efa8e855608e9fd478a7dc0971e5d76fb563d660c897fc7e0d20964be0a6431d8de97adaa78dc932cb2d1f691272167c6 +DIST es_BO-2.9.oxt 1418484 BLAKE2B a7ad1f4df62211d37805f98c2c7e35d7ebd0d4b0d324f72597af3484a4128fe054893e7ba05ce0ee2ff4d25143bf7e46c7e97df3d63ecad8b48d96a18d93c417 SHA512 8338963fb8a5625de9f89780e477917391bfd79c2669161f1095613d5473e1e0b9e275bab7289213615206c66e80d3d611649e80cd99bea10cf6cd9de3f2f7f4 DIST es_CL-2.6.oxt 1400390 BLAKE2B 6f3407a0d9fded82caf7828f0efc3ddb1dd5c903e2d2bf61cdcd7de6ed3f5dfb0ac24c089d527c8bdfff607150b31d20878b28b077b6d7c57ad7569aff8220a4 SHA512 c2032ab4e0991ea2051d7632ad4eec791960d96715db67680113a4fea1eeda7a5e513a78277b0948e89dd21d49b9286db15ce6709d3100b33bd0177a9664a7b3 +DIST es_CL-2.9.oxt 1419433 BLAKE2B 5cf237fb01159f8d218a9fd48d814c2ce6916f1dc4abc32e69cf37397bf47d5d373c58fab99951bd3bae3681aa521bec755244e8c8126791bf9db964d7413c38 SHA512 27d40f6b7973a0f7527a792a6586c3a11f035cee2e6e343f489e1239113b7e9f7817ec1d7820009088159421ae422ed05d3ff30ab47513daaa4d1f29ea6c3231 DIST es_CO-2.6.oxt 1418062 BLAKE2B 8d2bbbdacdf37f53a21ddf559adbb6ec697f0af92683d03abb18f7bf2d8e65643ce62b818ef227d7068f1379ac9561c9de93ae0246927b847a73ad693b4855b1 SHA512 81b272cec7e2592e48454c9e14309bdce244c2705e38bbce790a9bf9e0a0f927206c5f9de3c2472fda85d946caac8cd8e008b6bb2f2f4adbc9fb9ba754d6f3d7 +DIST es_CO-2.9.oxt 1436640 BLAKE2B 4a7f9e6d1ba50885ec1bc26f75b2d1393d222e46841d04ddcb9bfbb3fb3074f36f2a97905c4507159efaa1e3e6ff4d517356f068869ed35b4946c57796229e82 SHA512 844db386836183212cab671823ced9c781f40931f14b5de8018a4ca86460926c574f371157c94eab21564a71b2d568a0e8157a56a72cc1a987dbf5939bcfca9e DIST es_CR-2.6.oxt 1398273 BLAKE2B e219f818101c0e3a06c998b4b0aa8539b2a8d945d64ec441fc043996275dc65ab8bae7574c2ca3efbd61a89da2227b50438485ffbf8c890d30dab14bb3399f9b SHA512 54a035f777eadf8c35c87b7296328d1f64e78276c83d122505f68533bb4d13e6becce99c7c9a14ed6fdfa0732b0592b95c53e5996df26005a7851aba28773a7c +DIST es_CR-2.9.oxt 1417475 BLAKE2B 8ca8b23f0d6bdd47ac04885814088a9d6afaf8b5dee65799d3f3c559dce888fdf837a1231eafff0fa507a49f3ba92135ec3724a562c8247fbc32b09a31a7c7a6 SHA512 bd98002fb00b73936b11a9f0a3be29d658a760b81f6012c891a38ef78cb89e4c59c47f2234e03b3460d88bb2446fd115a64b73b26d5e9afbf81e29769be75408 DIST es_CU-2.6.oxt 1399550 BLAKE2B e9aba378978040b97cc116ca810ebe591ccea844eb440bd1e9a03dfeec59ade4e93fae05b2461ee4bb0711d58ac442ef12e68f6114c2cf35631256083573368a SHA512 45d336d46b83a969d904dc8c2512567e7c414ee62bcaec414c8547e96a0e429743629672e6fd1c445a6ea99a58cd8bc9a630feb12be26de3684f05f8e69542a1 +DIST es_CU-2.9.oxt 1418776 BLAKE2B 4a95f00f7fabffa3637282fc0b6a729608c29e435ae0a78e4b574d29e6b70e66863efb5579e85a1b4504b43ebdccccd9c208a768ed4e319ce92e381b4371f70a SHA512 52742c6c14a9217fe49aa18ea5c492048c0759a22d12c27772dbcd73a52baa93e44e793c7108040e318be38c2a6777a6ed767a3ec6390f7971a9826bb4d28bb3 DIST es_DO-2.6.oxt 1398197 BLAKE2B 13a7d20cffd6aff109ca6ca96d98e81c60c7bac6c36ac1355572a59d9d5c8a4b443bbc966e5c952ede05dbe2ed8471f525939b130add5c85daf3da5be0291bca SHA512 77445ffaf9143c31de9e0ecfdf4d5d72ad7e78ae1098ffc7e4d31e904aefedcf352f226b242adef1424ba1ddf599e72becfa6caa6505063118c5e30a09f46baf +DIST es_DO-2.9.oxt 1417427 BLAKE2B b9f399efabb3e6ee15b25581aed708b44c9664c078ffbed83bd74b21a1485c68733e74528ee85bcdefce3eb1e7edd0d5a543f0907e40d8bf52e6de1ae1a044af SHA512 5711b0ac63239d5e2bd78d561829dba63b188a64c5254fcfeedb7840659365a1b8ce1674032acc701630e0d113a48a95671b080d584ac4c1c5c55ad2009905af DIST es_EC-2.6.oxt 1399031 BLAKE2B 197c4a6dc2062dca10363668d9bde911c23538f529bfed04260dacbf6d2e71dd655588f281e119ffaa5095ee93da5884fb87fc16e2d3c83f9c953fb5bef762ec SHA512 1785aa28a3d7787dc61a21c95af5f0aea7859899c11f21899ad68db9e43dd400f9ecd425d315ba5a7fb04eb3ad5fb27a5944529ed9c627d91f281100cde2ac83 +DIST es_EC-2.9.oxt 1418238 BLAKE2B f348656431dedac626ba004a08ee883feddde100056149106ba5a354211d4e765d19fdc689e37da54fdad4132a27e61b90b2bd093cb100d65b0ac68698063a11 SHA512 b6913c56c9ede850306b5a3ca83bfb5800d23da18e52912ecfbc4a4d791fc40d468862c0110440caafd8269857c3e37515de99391af1f6452e47a4db9b37b228 DIST es_ES-2.6.oxt 1404258 BLAKE2B ba7f845fc1c3595ae6dca176ee2565e48e10ed417bc82d4f4905385feb167744c512a35126f7b59ba402e0440b23d016834a1998ec0391290154b3c1dfe9b519 SHA512 ae00c002bd911fd5f3569733735894511c1f08a155b13206e11ad1dd0777b31d6c0c226e6580ffb565b99d6a48bbafe86c38760f6194cb1f09199657127c6ca6 +DIST es_ES-2.9.oxt 1423283 BLAKE2B bd3304b0037af5cf9833eeb4a57329cb0981f1ba9c698272e4da35c54d76e7fd446f46c640e16260a5df214034c56ea8f787789d732ad7d6ec768dadb712fb63 SHA512 edcc34650bff4b0876fa01c356bdc7c58f49fbf689356f46fdc80bb8538c771e5fba057037b143e4b091ded34274cbb52962112599407b408744e5924feb1cd5 DIST es_GT-2.6.oxt 1398345 BLAKE2B 2f35be91ddff907559283c9e8f1a9f66b15fb4bbc38e296479c3ccfbc16c685bd9276fe4cb33b8ed5d6e13af80358aa82463fbc16c14a1a9c9519d4769c18538 SHA512 c935643e0f88b9b08e73dbf610a8581d001bdba22e8f44d0364bf4f16fbd78f8406c1b4fe182b9b6c6cd4220a3967a291bfa926444f9d361e5d94d4ef0bc3d5b +DIST es_GT-2.9.oxt 1417570 BLAKE2B 006a9955cb9bc5b4fdf613733f103c2ad6f969197fa0349ee1ca4c55549cbb7192f7f2b1f8a2cffc82f8e6320a8aee87db3b76fea6f2236922a64d8cb5f9f7a5 SHA512 411783c277120e13b9224c9ef07baa9bb70c29dcb3fae42e7faf712a9af030c7476d5ca4265ecf405d017674ad99a61e5c3e1934249037500376ad411d0ac4d8 DIST es_HN-2.6.oxt 1398847 BLAKE2B a3c8f16e6620e21d6828d7189a9cf73a2f1bcbde127e0601af5da725f819007691745d12cef34c2316af5317b57faaf41d041613dd887171be5565862a17fe55 SHA512 a45b39d7b9cbc4931d2cdc798e600c40a221b5d036dfd287d65bc978326d913b7822cde2efb1488d9d6be64f4cfa8b728ab1c2e387f852c8aa4cd938909f73f1 +DIST es_HN-2.9.oxt 1418051 BLAKE2B 8d0178845f14384b151f81b065f741571421bc2cc6af7f9c0eff74d06bf5ab5ee2cbfe04a4e9c67945c5ff9fe732e41839fdad9195f6180f3ee9520fb7ddea74 SHA512 075cc734a1e877f9207c260534f9e302d2bbc54ec4986347d08c4bbe44577374e1444257ea0973cfe3d4594de0fde9ce597dc76b041001c3977bd55c970ed8b3 DIST es_MX-2.6.oxt 1407822 BLAKE2B 8af171c58b7028679245e66425762a26d19d55b5d9b68af753cf41837b32a48cd33ba8c71d4565f0a8f731965897e3df93377e7a472d009946867578a8972016 SHA512 f183792b625104f8e51beeac89b374c683a4fd004c1bdf9c94979cd15a5b3da8066bc605759393c6acfab2b0e1e4d65c60cf9ea1c4947cdc3e7553338a4a7f1a +DIST es_MX-2.9.oxt 1426652 BLAKE2B accf3bd9023e958aa21277f08c70cc581fbc3c36e0e4ddc3735a6bc3788d4f3ef7c46da227ca915b6caabc6437894ed419f03035fef1ff88a0209161e1fbf0d1 SHA512 c5ef7516c460b3f9943493d36f8b1e6a71c820bedc1248a079afadbf7b299c1acf16f1c988c7a1a013633d5c3b43388251f9561b486199b884465e3fefa05d2a DIST es_NI-2.6.oxt 1398536 BLAKE2B f74f56cad81d14d51eb6a402bcf2e7ce1f836c0f533b65fecbc2bc8a0186d62a6f15a4e8c22ce2a879b13dea5bdbcaaf1c0324acd2c21ceecf8e1c972b9a1af3 SHA512 d9a8512b70be764acfcdd9fb40c3a183c02c32524568b79869ad9233924c654693f9cd405b3ead7f5548aedde3151f287ee6ca94f83d3ff57991dc749bf59146 +DIST es_NI-2.9.oxt 1417756 BLAKE2B a00bcf60d9e1415ba69e9040209f26a5a5d11c906e44ec3dead36d4da03e8e3135781c349f9b1374eb51872850f64e35b18127b3962bbd75966ea8621d80ffe5 SHA512 81b0e87ea6ee0b6b50fc73c030d33c03f3332b2f6a58225a6964308d4e770228d4269dc81156399babd68b194587b07130679fb5b058f2368f4aa0079a209521 DIST es_PA-2.6.oxt 1398374 BLAKE2B 7750342b72744d8155d37c54c601ec5f0f522557779409cc43d53d13a2b789ad31012e9f957d5092b7423e3db02490c5546bd0ca6e7e0670e99a177553f62f7f SHA512 a5807d55b4cf3fab505a02f9f28b1ac496f9f656d34ab2350ee5a117b8a28621357bc6bfb8143499424aed1609630c626426c040079246185d5c556751faaa26 +DIST es_PA-2.9.oxt 1417596 BLAKE2B 56eb37054dab38c3b5408b95cd8b592f8acd4ce403f5badf3ae9806d695d4356551e5ac9bc8d61583579fafcf7fffa3620d1b0fa799ea9e6b5f63a8f95b00bba SHA512 9b26cb65d2c8ba21a6569dc211014bd971aca604fe791b9028a0e4e0dc3007dd7fbcb955d3535121ffc78d1ec8cbcfcc2e03678ba813a7fdfb191a1ad4d7af9c DIST es_PE-2.6.oxt 1404244 BLAKE2B 19e136f2b8a8e7d432df292104e3149801448923d81ea78ea62d63eb4393b1462e9ccdb57db8b8a0a7ab557bcde06e653747971f0330ca8579bd8c575c437b3d SHA512 3366afdbc6cdd0ad59d282a6666669b2042d15795414911b2cd2e27d11b0ddb1a4ff288129fb7731cc21c642f81cef2ffdaf55e2a2eb7cf64b1c10976c6ff4ea +DIST es_PE-2.9.oxt 1423143 BLAKE2B 5be3802cc284f10a1bd172e04a81f73741f71e303c7477d8d344e8afaeffe796bd1d53925d1e3921a9835abaa2124e938b55113157998201284d1a3dff18e435 SHA512 7f94c3ed7d993e9717ef83187bcef6af7f32a1a71e83e3b7a2217f2a8fbb8327cdb8bb1fd96ae74e352748dbed1e5f48e349fd8b8c91fcd2e59e953ee64d32f9 DIST es_PH-2.6.oxt 1439219 BLAKE2B 471679ca90e91f4c004d0ac623e4b88c0e49b14f5a7875a55acbbf0813dc498b5015d2a2936dfda9d42576f66b5a7828298bec04abbb93888e4a7e1b4e2f6012 SHA512 380358971bdc2b0d7e2a667b372209db6d300ba349ef44566de2617217eef6720366e0844663f0df698b94ed5062314eb4d0495a3179735ffb6f60342665ce06 +DIST es_PH-2.9.oxt 1457609 BLAKE2B a45dad6f0b1b6df5934d06fb90c61286488d0b00d758a9e8c62d27b1a73f289b00ef2e6223689714cab5c1e85081f5dd15f6f2ce71526bf3d5fc59241bc32c9c SHA512 00164489d8e6a3b72041d4d7b61b40048e950f0c9997c8da9940f26954a75b509376b97c98c44549d913657719cf1849b8b8eaafa63f7e7ef785ca6c15141ba0 DIST es_PR-2.6.oxt 1398833 BLAKE2B d380cdc10d19271fa97d603ef954ed8a096e5ffbdd58acaa9a89a87ee65edbdc3785de0713cd89cffd3299607029118fd0c8a3f756a8538e607f0fbcf643da72 SHA512 bdc3f41a6310a28f4147034ca70a6e74203498b87a5de814ce93c40cb2ba19b741addf33680048a558d681bc52989c46645b8e8a90ca76ef50299d4fb5e947a3 +DIST es_PR-2.9.oxt 1418061 BLAKE2B ee0915abdae052a9269bdbbc966666661ef20199e5be01288ed8b71fc4df9b28271dbf00172c2199ed12de49ce29b2c3ff0083d54af63590f89facb51d604ecb SHA512 0359f522b9449f55e5205d09c3f2b4bcec98e966889679a005dfa985c097ad1366ef6a3ff53aeb8305e1d4dd12b2d3dec52177787d46506e3320e57b45de31a2 DIST es_PY-2.6.oxt 1398291 BLAKE2B acb203c26081c9d7bf25976f2acda996cadc119658ae0e34cf184005740fa04e41f70056ed7103b2e152d28289d7ab50f28acb4a3cf1adb58f5f1cee7b1fba40 SHA512 bcc8e7a301bee762d1d1a9a3447e4e2c7a2a2b42eb5beed1053d439aaa908ef178165863bbe5db96eeeeeccbecdc472b0fcb8311595c07daebe779d55c4f10cb +DIST es_PY-2.9.oxt 1417497 BLAKE2B 026b3d51fb9d995521d1038aedccb445425ac72be16ddd5e37ab9d4a41eee0b1ea55e0311a8d4b26a35c5f41d59819679722c3ba83aea4263f4c7f5a162eedcf SHA512 873524d98fcdaa7af2597b8890cdc548df6a396d55745d5bbc8e5477f50c4b2bbadf8c3e39059d566958f8ce3ed6a0cb9fe3e11c961e356cc92bf849ef34af7c DIST es_SV-2.6.oxt 1398468 BLAKE2B f88b683d4c1f342606f30e3e80c3766d06ca66f0f851907924b24ce57e71a681fa8f4720fc3d756ab46e12665d6de5d5182c1353317e4e02264431d0fbd10745 SHA512 f8032d7930102af6c1773dc9d8e47dc16e0d9aa4968c1ae4d694d52b95fad82ed438bd3b85761ed47dbb25093c2fb08b116bc9cae284d955c7c8868cfc0457c6 +DIST es_SV-2.9.oxt 1417676 BLAKE2B ce1b767956ff1ad9ae0b87dc637685e9b8725d815bf32a9dffb0e4b727ca02831bbae49e84e037ae6822bf189032f16816b7100bd82e329f6100a6314d62457b SHA512 4012e0a81696f80bab5c994597199ab88743643ddee3b00abe17726a960c4fd353564dc254f6a796c1e83ad76a2c2e3f53f6d46a21a85311e0f01e238797b7a5 DIST es_US-2.6.oxt 1398918 BLAKE2B 1629aa767095197aa71fc3bc88221bad6f2821111e757e4c0e5e14684dee34f1e442a8a46d11d877d3b2d9ca9f04c258e8ce21d38b372ec84ebc637e9faa690a SHA512 b21fa5ed1af7f2bd0d709b4e35f5aa49fa3d9c25847d0a3e077e8e9e2c6cd3ab9bdf4599f83386fd1441f96937df7d0fcfe1ba36830721840fccf158e4bb4d65 +DIST es_US-2.9.oxt 1418131 BLAKE2B f1f94dacc61334fff145843f9123f0d53a15a067e80c66b5af752de2f31579da5fd06972d4ad4a4d25a790549dcb2f024c718b805ebd54c97cf35d5c7049c18d SHA512 3ead61208190d867265a239c9e23c2ffd8d2661bf4846f5fc6bfb270763cebff1ae08730440b71d70bce2e223bc79d6bc705b3322b92e2872bd9a1ca38d12aa6 DIST es_UY-2.6.oxt 1399347 BLAKE2B d92d6eb5d3d8cfcca8e93e771203f9613d8709d39752864e6b3eabb1a901d02a6811e4fe3f326fe53fa065ab52e4e4ffc2057e0cc86065cc50dca6cb01435fa1 SHA512 312e42fda60549a7171eed7b19e92e74a98d306f0b2f8f218e538a4653408a805573de838e476250b8fc54b8b75d0a83a6b5f261ca62a39171c69656d8235265 +DIST es_UY-2.9.oxt 1418541 BLAKE2B f8d7ad82d7d298338cf4d953f189921df25f4606da3a9be8df3fb21076c8f1dd85c41017b89de18d2c938530c7e12b9d933314badc5e23e73bfdfeab1bafa571 SHA512 f38b13439ca76b7201ff5f7b69b56f2884b88b499e80a145f65a64a984ee98510835532af3d9a74375056d53f736c9e814a38e35b1ab5ae5064ac1d39307b898 DIST es_VE-2.6.oxt 1399975 BLAKE2B bfa3f6e06c39bd2359300f58d43a1bda5604a9435143ea6f7d84a4b4bff0f71363074d2e4cef1f6c5749b041d53b178492d4b583bfed66b12dd53623bdd56f0e SHA512 026f808b8050d0ef2135679c9ae8af026f9181a2d004a033c79eb3ea9c43673fee091a3603527bb1f73595c8129949d6c569f97f56e6970d490460f3aca1e647 +DIST es_VE-2.9.oxt 1418933 BLAKE2B ac3f0ec4cbecdf09259a9d9511b69da6db783be9e5019f8ef7f68f23126a772a92334b94e3b3dc872e162fe31b61355a2545e85b183b92c202ac8cec43db9aee SHA512 a32bdef9f941da9936c72b16b7cc91e7eb6e49d69edfd824fa28f89fb07aa38e8fa843c328790929c3429f2c030c18bab35075a7eaf162c918dcd479f4194128 diff --git a/app-dicts/myspell-es/myspell-es-2.9.ebuild b/app-dicts/myspell-es/myspell-es-2.9.ebuild new file mode 100644 index 000000000000..be105a34f223 --- /dev/null +++ b/app-dicts/myspell-es/myspell-es-2.9.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MUTATIONS=( + "es" "es_AR" "es_BO" "es_CL" "es_CO" "es_CR" "es_CU" "es_DO" "es_EC" "es_ES" "es_GT" "es_HN" + "es_MX" "es_NI" "es_PA" "es_PE" "es_PH" "es_PR" "es_PY" "es_SV" "es_US" "es_UY" "es_VE" +) + +MYSPELL_HYPH=( + "hyph_es.dic" +) +MYSPELL_THES=( + "th_es_v2.dat" + "th_es_v2.idx" +) + +for i in "${MUTATIONS[@]}"; do + MYSPELL_DICT+=( + "${i}.dic" + "${i}.aff" + ) + SRC_URI+=" https://github.com/sbosio/rla-es/releases/download/v${PV}/${i}.oxt -> ${i}-${PV}.oxt" +done + +unset i MUTATIONS + +inherit myspell-r2 + +DESCRIPTION="Spanish dictionaries for myspell/hunspell" +HOMEPAGE="https://github.com/sbosio/rla-es" +LICENSE="GPL-3+ LGPL-3+ MPL-1.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + +src_prepare() { + # remove license files + rm {GPL,LGPL,MPL}* || die + default +} diff --git a/app-editors/emacs/emacs-31.0.90.ebuild b/app-editors/emacs/emacs-31.0.90.ebuild index d9eb39c0ffb5..0b4dc6cdc0da 100644 --- a/app-editors/emacs/emacs-31.0.90.ebuild +++ b/app-editors/emacs/emacs-31.0.90.ebuild @@ -33,14 +33,14 @@ else fi SLOT="${PV%%.*}" [[ ${PV} == *.*.* ]] && SLOT+="-vcs" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" fi DESCRIPTION="The advanced, extensible, customizable, self-documenting editor" HOMEPAGE="https://www.gnu.org/software/emacs/" LICENSE="GPL-3+ FDL-1.3+ Boost-1.0 BSD CC-BY-SA-3.0 CC-BY-SA-4.0 HPND MIT MPL-2.0 PCRE PSF-2 unicode W3C" -IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif +gmp gpm gsettings gtk gui gzip-el harfbuzz imagemagick +inotify jit jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source sqlite ssl svg systemd +threads tiff toolkit-scroll-bars tree-sitter valgrind webp wide-int +X xattr Xaw3d xft +xpm zlib" +IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif +gmp gpm gsettings gtk gui gzip-el harfbuzz imagemagick +inotify jit jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source sqlite ssl svg systemd +threads tiff toolkit-scroll-bars tree-sitter valgrind webp wide-int +X xattr Xaw3d xft +xpm xwidgets zlib" X_DEPEND="x11-libs/libICE x11-libs/libSM @@ -67,7 +67,13 @@ X_DEPEND="x11-libs/libICE >=dev-libs/m17n-lib-1.5.1 ) ) - gtk? ( x11-libs/gtk+:3[X] ) + gtk? ( + x11-libs/gtk+:3[X] + xwidgets? ( + net-libs/webkit-gtk:4.1= + x11-libs/libXcomposite + ) + ) !gtk? ( motif? ( >=x11-libs/motif-2.3:0= @@ -141,6 +147,7 @@ RDEPEND=">=app-emacs/emacs-common-1.11[games?,gui?] >=dev-libs/libotf-0.9.4 >=dev-libs/m17n-lib-1.5.1 ) + xwidgets? ( net-libs/webkit-gtk:4.1= ) ) ) !gtk? ( ${X_DEPEND} ) X? ( ${X_DEPEND} ) @@ -307,11 +314,11 @@ src_configure() { --with-pgtk --without-x --without-ns --with-toolkit-scroll-bars #836392 --without-gconf - --without-xwidgets $(use_with gsettings) $(use_with harfbuzz) $(use_with m17n-lib libotf) $(use_with m17n-lib m17n-flt) + $(use_with xwidgets) ) else # X11 @@ -358,7 +365,7 @@ src_configure() { it with the Athena/Lucid or the Motif toolkit instead, i.e. with USE="athena Xaw3d -gtk -motif" or USE="motif -gtk". EOF - myconf+=( --with-x-toolkit=gtk3 --without-xwidgets ) + myconf+=( --with-x-toolkit=gtk3 $(use_with xwidgets) ) for f in motif Xaw3d athena; do use ${f} && ewarn \ "USE flag \"${f}\" has no effect if \"gtk\" is set." @@ -377,6 +384,8 @@ src_configure() { einfo "Configuring to build with no toolkit" myconf+=( --with-x-toolkit=no ) fi + ! use gtk && use xwidgets && ewarn \ + "USE flag \"xwidgets\" has no effect if \"gtk\" is not set." fi if use gui; then diff --git a/app-editors/emacs/emacs-31.0.9999-r1.ebuild b/app-editors/emacs/emacs-31.0.9999-r1.ebuild index d9eb39c0ffb5..2a060e51bfab 100644 --- a/app-editors/emacs/emacs-31.0.9999-r1.ebuild +++ b/app-editors/emacs/emacs-31.0.9999-r1.ebuild @@ -40,7 +40,7 @@ DESCRIPTION="The advanced, extensible, customizable, self-documenting editor" HOMEPAGE="https://www.gnu.org/software/emacs/" LICENSE="GPL-3+ FDL-1.3+ Boost-1.0 BSD CC-BY-SA-3.0 CC-BY-SA-4.0 HPND MIT MPL-2.0 PCRE PSF-2 unicode W3C" -IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif +gmp gpm gsettings gtk gui gzip-el harfbuzz imagemagick +inotify jit jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source sqlite ssl svg systemd +threads tiff toolkit-scroll-bars tree-sitter valgrind webp wide-int +X xattr Xaw3d xft +xpm zlib" +IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif +gmp gpm gsettings gtk gui gzip-el harfbuzz imagemagick +inotify jit jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source sqlite ssl svg systemd +threads tiff toolkit-scroll-bars tree-sitter valgrind webp wide-int +X xattr Xaw3d xft +xpm xwidgets zlib" X_DEPEND="x11-libs/libICE x11-libs/libSM @@ -67,7 +67,13 @@ X_DEPEND="x11-libs/libICE >=dev-libs/m17n-lib-1.5.1 ) ) - gtk? ( x11-libs/gtk+:3[X] ) + gtk? ( + x11-libs/gtk+:3[X] + xwidgets? ( + net-libs/webkit-gtk:4.1= + x11-libs/libXcomposite + ) + ) !gtk? ( motif? ( >=x11-libs/motif-2.3:0= @@ -141,6 +147,7 @@ RDEPEND=">=app-emacs/emacs-common-1.11[games?,gui?] >=dev-libs/libotf-0.9.4 >=dev-libs/m17n-lib-1.5.1 ) + xwidgets? ( net-libs/webkit-gtk:4.1= ) ) ) !gtk? ( ${X_DEPEND} ) X? ( ${X_DEPEND} ) @@ -307,11 +314,11 @@ src_configure() { --with-pgtk --without-x --without-ns --with-toolkit-scroll-bars #836392 --without-gconf - --without-xwidgets $(use_with gsettings) $(use_with harfbuzz) $(use_with m17n-lib libotf) $(use_with m17n-lib m17n-flt) + $(use_with xwidgets) ) else # X11 @@ -358,7 +365,7 @@ src_configure() { it with the Athena/Lucid or the Motif toolkit instead, i.e. with USE="athena Xaw3d -gtk -motif" or USE="motif -gtk". EOF - myconf+=( --with-x-toolkit=gtk3 --without-xwidgets ) + myconf+=( --with-x-toolkit=gtk3 $(use_with xwidgets) ) for f in motif Xaw3d athena; do use ${f} && ewarn \ "USE flag \"${f}\" has no effect if \"gtk\" is set." @@ -377,6 +384,8 @@ src_configure() { einfo "Configuring to build with no toolkit" myconf+=( --with-x-toolkit=no ) fi + ! use gtk && use xwidgets && ewarn \ + "USE flag \"xwidgets\" has no effect if \"gtk\" is not set." fi if use gui; then diff --git a/app-editors/emacs/emacs-32.0.9999.ebuild b/app-editors/emacs/emacs-32.0.9999.ebuild index 41978ee49c63..67a8b603fc62 100644 --- a/app-editors/emacs/emacs-32.0.9999.ebuild +++ b/app-editors/emacs/emacs-32.0.9999.ebuild @@ -40,7 +40,7 @@ DESCRIPTION="The advanced, extensible, customizable, self-documenting editor" HOMEPAGE="https://www.gnu.org/software/emacs/" LICENSE="GPL-3+ FDL-1.3+ Boost-1.0 BSD CC-BY-SA-3.0 CC-BY-SA-4.0 HPND MIT MPL-2.0 PCRE PSF-2 unicode W3C" -IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif +gmp gpm gsettings gtk gui gzip-el harfbuzz imagemagick +inotify jit jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source sqlite ssl svg systemd +threads tiff toolkit-scroll-bars tree-sitter valgrind webp wide-int +X xattr Xaw3d xft +xpm zlib" +IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif +gmp gpm gsettings gtk gui gzip-el harfbuzz imagemagick +inotify jit jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source sqlite ssl svg systemd +threads tiff toolkit-scroll-bars tree-sitter valgrind webp wide-int +X xattr Xaw3d xft +xpm xwidgets zlib" X_DEPEND="x11-libs/libICE x11-libs/libSM @@ -67,7 +67,13 @@ X_DEPEND="x11-libs/libICE >=dev-libs/m17n-lib-1.5.1 ) ) - gtk? ( x11-libs/gtk+:3[X] ) + gtk? ( + x11-libs/gtk+:3[X] + xwidgets? ( + net-libs/webkit-gtk:4.1= + x11-libs/libXcomposite + ) + ) !gtk? ( motif? ( >=x11-libs/motif-2.3:0= @@ -141,6 +147,7 @@ RDEPEND=">=app-emacs/emacs-common-1.11[games?,gui?] >=dev-libs/libotf-0.9.4 >=dev-libs/m17n-lib-1.5.1 ) + xwidgets? ( net-libs/webkit-gtk:4.1= ) ) ) !gtk? ( ${X_DEPEND} ) X? ( ${X_DEPEND} ) @@ -307,11 +314,11 @@ src_configure() { --with-pgtk --without-x --without-ns --with-toolkit-scroll-bars #836392 --without-gconf - --without-xwidgets $(use_with gsettings) $(use_with harfbuzz) $(use_with m17n-lib libotf) $(use_with m17n-lib m17n-flt) + $(use_with xwidgets) ) else # X11 @@ -358,7 +365,7 @@ src_configure() { it with the Athena/Lucid or the Motif toolkit instead, i.e. with USE="athena Xaw3d -gtk -motif" or USE="motif -gtk". EOF - myconf+=( --with-x-toolkit=gtk3 --without-xwidgets ) + myconf+=( --with-x-toolkit=gtk3 $(use_with xwidgets) ) for f in motif Xaw3d athena; do use ${f} && ewarn \ "USE flag \"${f}\" has no effect if \"gtk\" is set." @@ -377,6 +384,8 @@ src_configure() { einfo "Configuring to build with no toolkit" myconf+=( --with-x-toolkit=no ) fi + ! use gtk && use xwidgets && ewarn \ + "USE flag \"xwidgets\" has no effect if \"gtk\" is not set." fi if use gui; then diff --git a/app-editors/emacs/metadata.xml b/app-editors/emacs/metadata.xml index 66b12988e8b3..a7f101c8bd74 100644 --- a/app-editors/emacs/metadata.xml +++ b/app-editors/emacs/metadata.xml @@ -81,6 +81,9 @@ effect only on 32-bit systems, where it increases the maximum buffer size from 0.5 to 2 GiB, at the cost of 10% to 30% Lisp slowdown. </flag> + <flag name="xwidgets"> + Enable use of GTK widgets in Emacs buffers (requires GTK3) + </flag> </use> <upstream> <remote-id type="cpe">cpe:/a:gnu:emacs</remote-id> diff --git a/app-editors/gedit-plugins/gedit-plugins-49.0-r1.ebuild b/app-editors/gedit-plugins/gedit-plugins-49.0-r1.ebuild new file mode 100644 index 000000000000..8067fddfd2c9 --- /dev/null +++ b/app-editors/gedit-plugins/gedit-plugins-49.0-r1.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit gnome2-utils meson vala xdg + +DESCRIPTION="Collection of extra plugins for the gedit Text Editor" +HOMEPAGE="https://gitlab.gnome.org/World/gedit/gedit-plugins" +SRC_URI="https://gitlab.gnome.org/World/gedit/${PN}/-/archive/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv x86" + +IUSE="vala" + +RDEPEND=" + >=dev-libs/libpeas-1.38.1:0[gtk] + >=app-editors/gedit-49 + >=dev-libs/glib-2.32:2 + >=x11-libs/gtk+-3.9:3 + gui-libs/libgedit-gtksourceview:300 +" # vte-0.52+ for feed_child API compatibility +DEPEND="${RDEPEND}" +BDEPEND=" + dev-libs/libxml2 + dev-util/itstool + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + vala? ( $(vala_depend) ) +" + +src_prepare() { + default + use vala && vala_setup + xdg_environment_reset +} + +src_configure() { + local emesonargs=( + -Dplugin_bookmarks=true + -Dplugin_drawspaces=true + -Dplugin_smartspaces=true + -Dplugin_wordcompletion=true + ) + meson_src_configure +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/app-emulation/winetricks/Manifest b/app-emulation/winetricks/Manifest index 3f48d0d0a678..29937ee5664f 100644 --- a/app-emulation/winetricks/Manifest +++ b/app-emulation/winetricks/Manifest @@ -1,2 +1 @@ -DIST winetricks-20250102.tar.gz 669468 BLAKE2B 4fc1170d3d0755f86744aa206204c993ad9efea56ec3193de81c62997179addc66b5c61b34d257ee97b8715fadbd27c07ec6845b5b3d1125ef2bcaa087081186 SHA512 f9dc94eb7bb35c180a403bf58337a82166314e8d55123ce720ed4664b8d6fa9415576b8d02697f973a74b8d1dc578047bd3b1ed62a3c455a4ae6575f3ab7fccd DIST winetricks-20260125.tar.gz 706134 BLAKE2B 0acedede3cc77723ec4feeab572bb402e088587c7409eda92136f823805f34cd0fb7172e6d2af6f69508e8df1892b03581095ddada6013f5da4b253629937f91 SHA512 ab29191c8032ba70ee8e807c7910916d47cbbdab658cdb5a1c1daa11f0eb7e219a8cd5555e4e681a154913237e4600a8c5056e8bdd9c1f44dac92f27ec875fcb diff --git a/app-emulation/winetricks/winetricks-20250102-r1.ebuild b/app-emulation/winetricks/winetricks-20250102-r1.ebuild deleted file mode 100644 index 3d70870fa646..000000000000 --- a/app-emulation/winetricks/winetricks-20250102-r1.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit xdg - -DESCRIPTION="Easy way to install DLLs needed to work around problems in Wine" -HOMEPAGE="https://github.com/Winetricks/winetricks https://wiki.winehq.org/Winetricks" - -if [[ ${PV} == *99999999* ]] ; then - EGIT_REPO_URI="https://github.com/Winetricks/${PN}.git" - inherit git-r3 -else - SRC_URI="https://github.com/Winetricks/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 x86" -fi - -LICENSE="LGPL-2.1+" -SLOT="0" -IUSE="gui rar" -RESTRICT="test" - -RDEPEND=" - app-arch/cabextract - || ( - >=app-arch/7zip-24.09[symlink(+)] - app-arch/p7zip - ) - app-arch/unzip - net-misc/wget - virtual/wine - x11-misc/xdg-utils - gui? ( || ( - gnome-extra/zenity - kde-apps/kdialog:* - ) ) - rar? ( app-arch/unrar ) -" - -src_unpack() { - case ${PV} in - *99999999*) git-r3_src_unpack ;& - *) default ;; - esac -} - -src_install() { - default - - if ! use gui; then - rm -r "${ED}"/usr/share/{applications,icons} || die - fi -} diff --git a/app-misc/freewvs/Manifest b/app-misc/freewvs/Manifest index 3ad727d4370b..4d39b064884b 100644 --- a/app-misc/freewvs/Manifest +++ b/app-misc/freewvs/Manifest @@ -1,2 +1 @@ -DIST freewvs-0.1.4.tar.gz 18674 BLAKE2B 8923cd4dc9df529ff55d0ac807106e77d31b0e2ea7b7acab9d0bbd40526818d1d62d74718f2addf79f45e5b7154b0e6351ed3245e864f022f04ab6d4c235d228 SHA512 01632a5c3dd3dc58577225ea57debd5e44ca1a24b30d9cf0c9f17547f72b030b50caaf2ffa4a61ad5d0c1546eedda914da96ce39814ec3c2c421823e9d8e5760 DIST freewvs-0.1.5.tar.gz 19922 BLAKE2B f3cc7f2a1837287da409af91e28ced4b4b6cbc00370f221d38d2aaf6d080ee80ef8b041b54f838868b01820ce08a5139526062f402dcf1cac451c56329adad72 SHA512 3d1d55adbe4324ec8a7ba67dad3706ba6342347f84ca64e6f48e809d16b132570f281c9073d7b842cb1cd1503ae25b5ef50ffa49237dd1966974aa330a89f588 diff --git a/app-misc/freewvs/freewvs-0.1.4-r1.ebuild b/app-misc/freewvs/freewvs-0.1.4-r1.ebuild deleted file mode 100644 index f3f4f7a91ee0..000000000000 --- a/app-misc/freewvs/freewvs-0.1.4-r1.ebuild +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{13..14} ) -DISTUTILS_SINGLE_IMPL=1 -DISTUTILS_USE_PEP517=setuptools -inherit distutils-r1 pypi - -DESCRIPTION="Scans filesystem for known vulnerable web applications" -HOMEPAGE="https://freewvs.schokokeks.org/" - -LICENSE="0BSD" -SLOT="0" -KEYWORDS="~amd64" - -DOCS=( README.md ) - -pkg_postinst() { - einfo To use freewvs you need to run - einfo update-freewvsdb - einfo first. You should run this on a regular basis to update - einfo the web application data, e.g. via a cronjob. -} - -# Only codingstyle and similar tests, require dependencies -# not packaged in Gentoo -RESTRICT="test" diff --git a/app-misc/yq/Manifest b/app-misc/yq/Manifest index 4556b42fdfcc..f9ad7b3d4877 100644 --- a/app-misc/yq/Manifest +++ b/app-misc/yq/Manifest @@ -1 +1,3 @@ DIST yq-3.4.3.tar.gz 33214 BLAKE2B a1b3d813d9761ac8a8429db3fe8efac64ade69e0d2fa9b137a1ca8c9e367a0f16b636482b6d9381e2de43392007f37388b6ab37def04739723488f271fd56d16 SHA512 db4ec57aafa1d08786ba11897040506c9f13d800cf06f76cea052d2bba88553db53627cdfcfdbbfbdec81324800114d397890759383fb4db31609727a10474eb +DIST yq-3.4.4.tar.gz 33946 BLAKE2B c8fb6a6cad5e3e57dbd505976268912d240ef5875e2a8ed6c5d77c9d8bdfeb2b4ba6354046c6ad9d10fecc98845456f8c4485e0f10f984b7c64c5bf08bf72e4e SHA512 fd675df75a0e3a3942a22fd22ba917b6ce3e5d6ba7845e6f3a1f6ee93362706536a9c2e8a0f47578235073492267f72f50504957aee521a2e90ba215bfb7bbef +DIST yq-4.1.2.tar.gz 33949 BLAKE2B 1aa1c54d11cc9e33109ab2bb382493872e27c2af025ff3ebe551ea07325f91c331ab9d6221089a521a5a15297780e84a67331a899bae8ad5de3ccdd216f2e69e SHA512 f5ad97fca018b40c356273cf499e1c8c72940b9c34eecb635fa7a0fe615023d51768e29faea40093f31164c04278fd8e3c902925e73e8b8cf700c1117c1e8081 diff --git a/app-misc/yq/yq-3.4.4.ebuild b/app-misc/yq/yq-3.4.4.ebuild new file mode 100644 index 000000000000..94d78c35f98e --- /dev/null +++ b/app-misc/yq/yq-3.4.4.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=hatchling + +inherit pypi distutils-r1 + +DESCRIPTION="Command-line YAML processor - jq wrapper for YAML documents" +HOMEPAGE=" + https://yq.readthedocs.io/ + https://github.com/kislyuk/yq/ + https://pypi.org/project/yq/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~x86" +IUSE="test +yq-symlink" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-misc/jq + dev-python/argcomplete[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}] + dev-python/xmltodict[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.11.6[${PYTHON_USEDEP}] + yq-symlink? ( !app-misc/yq-go[yq-symlink] ) +" +DEPEND=" + ${RDEPEND} + test? ( + dev-python/wheel[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}/yq-3.1.2-test.patch" +) + +python_prepare_all() { + sed -e 's:unittest.main():unittest.main(verbosity=2):' \ + -i test/test.py || die + + distutils-r1_python_prepare_all +} + +python_test() { + "${EPYTHON}" test/test.py </dev/null || die "tests failed under ${EPYTHON}" +} + +src_install() { + distutils-r1_src_install + if use yq-symlink; then + dosym yq-python /usr/bin/yq + fi +} diff --git a/app-misc/yq/yq-4.1.2.ebuild b/app-misc/yq/yq-4.1.2.ebuild new file mode 100644 index 000000000000..9bdadefafbd8 --- /dev/null +++ b/app-misc/yq/yq-4.1.2.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=hatchling + +inherit pypi distutils-r1 + +DESCRIPTION="Command-line YAML processor - jq wrapper for YAML documents" +HOMEPAGE=" + https://yq.readthedocs.io/ + https://github.com/kislyuk/yq/ + https://pypi.org/project/yq/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~x86" +IUSE="test +yq-symlink" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-misc/jq + >=dev-python/argcomplete-1.8.1[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}] + dev-python/xmltodict[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.11.6[${PYTHON_USEDEP}] + yq-symlink? ( !app-misc/yq-go[yq-symlink] ) +" +DEPEND=" + ${RDEPEND} + test? ( + dev-python/wheel[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}/yq-3.1.2-test.patch" +) + +python_prepare_all() { + sed -e 's:unittest.main():unittest.main(verbosity=2):' \ + -i test/test.py || die + + distutils-r1_python_prepare_all +} + +python_test() { + "${EPYTHON}" test/test.py </dev/null || die "tests failed under ${EPYTHON}" +} + +src_install() { + distutils-r1_src_install + if use yq-symlink; then + dosym yq-python /usr/bin/yq + fi +} diff --git a/dev-cpp/msgpack-cxx/Manifest b/dev-cpp/msgpack-cxx/Manifest index 6e465b95701d..4228a9f0c6a0 100644 --- a/dev-cpp/msgpack-cxx/Manifest +++ b/dev-cpp/msgpack-cxx/Manifest @@ -1,4 +1,2 @@ -DIST msgpack-cxx-5.0.0.tar.gz 476103 BLAKE2B e631a47e8d39b6ad9c2dd5e782fbbd5044c177e18c619fb52d1293e2c5f2ea7e766e7b26ce6cac36a2ff98217143e12456e0541992afb4f78597ffd3852f2acf SHA512 5ee0237eb1bf05bd4becad32ab145a8f0654f8f0e2e3452331ed3df088cda03ee4cdf1557ba867447e3e18baed924c105c76934f7009dac98b6dc69282c39d0c -DIST msgpack-cxx-6.0.0.tar.gz 476132 BLAKE2B 89b6505511bd8f6994a2e61661c7a33bd1aa68804c081ec2fcaf074f845caf4338ac362916af9fb0bab7285b0d0508c74b229316fa75ef8083546ac84c4ca95d SHA512 90f89216676af5a656d570fbff5a716d1177fa1941b0a928b2da20e0b6cd6d0ca880b7369e085dbbca944499c05694a73df919042d8cd78498ed4b34b77a0e9d -DIST msgpack-cxx-6.1.0.tar.gz 478452 BLAKE2B 14c6e28ab02957e6313a01002d05c23e2599f433656c8ea8033eb338c6e8b97d10e00a91e1e67bc3b944c3f9b46ad1ea11fc6905d50554699caeed7bd9cbc8f7 SHA512 935453432b53d2cbecc3e34d4fb17ecd3bbc6eae9087fa3c4445c90750f144ab39ad6461cc9552eec7ed2b222315c5f6e8b30d409eb34a98bebe02e03582fd41 DIST msgpack-cxx-6.1.1.tar.gz 476459 BLAKE2B 6ec940af9b9e02d892c5f118791015baa6b12baa60c77aaf2ff867e8836f21b4f16c436ce448cdfeb7dc8f8a9356a75f3ac829eba9059ca5d78f42a4393700ff SHA512 6a3df977e7a9c8b50feb7c88cff7a78814d1d41d2f7a657dd37d6cfcfe24f44746f40a6dd46bd5dba7ea59d94b9e40c2baa62c08d9b02168ac93c58cbff3becc +DIST msgpack-cxx-8.0.0.tar.gz 480783 BLAKE2B c01a39012dd137e6bd767a350f21e8ddd37d982f01cc95f2b6bf7582823ea79603de332241a77871ba6d7387243cdfe7a514378d591011120dac2b01cc7c9b04 SHA512 8d3a20b04a201a7095556ab901f55ca0ca664940c4b7bebcdddd405fbb3f052fb38720e49aec5259a5513f2c272b9584d8b108139fb7de7d63438ee4258cdfd9 diff --git a/dev-cpp/msgpack-cxx/files/msgpack-cxx-6.0.0-gcc13.patch b/dev-cpp/msgpack-cxx/files/msgpack-cxx-6.0.0-gcc13.patch deleted file mode 100644 index 3e0b67675e2d..000000000000 --- a/dev-cpp/msgpack-cxx/files/msgpack-cxx-6.0.0-gcc13.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 2dd3dbc85f5c3ab789792844e50f7423bdb1d3f9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@gentoo.org> -Date: Tue, 18 Apr 2023 15:50:52 +0200 -Subject: [PATCH] test: Add missing rebind to allocators - -See https://gcc.gnu.org/gcc-13/porting_to.html ---- -https://github.com/msgpack/msgpack-c/pull/1065 - - test/msgpack_cpp11.cpp | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/test/msgpack_cpp11.cpp b/test/msgpack_cpp11.cpp -index 2a856cb8..6b04e5a1 100644 ---- a/test/msgpack_cpp11.cpp -+++ b/test/msgpack_cpp11.cpp -@@ -252,6 +252,9 @@ struct equal_to : std::equal_to<Key> { - template <class Key> - struct set_allocator : std::allocator<Key> { - using std::allocator<Key>::allocator; -+ -+ template<class U> -+ struct rebind { using other = set_allocator<U>; }; - }; - - // C++ named requirement Allocator implies that the first template type -@@ -262,6 +265,9 @@ struct set_allocator : std::allocator<Key> { - template <typename KeyValuePair> - struct map_allocator_impl : std::allocator<KeyValuePair> { - using std::allocator<KeyValuePair>::allocator; -+ -+ template<class U> -+ struct rebind { using other = map_allocator_impl<U>; }; - }; - - template <class Key, class T> -@@ -270,6 +276,9 @@ using map_allocator = map_allocator_impl<std::pair<const Key, T>>; - template <class T> - struct allocator : std::allocator<T> { - using std::allocator<T>::allocator; -+ -+ template<class U> -+ struct rebind { using other = allocator<U>; }; - }; - - } // namespace test --- -2.40.0 - diff --git a/dev-cpp/msgpack-cxx/msgpack-cxx-5.0.0.ebuild b/dev-cpp/msgpack-cxx/msgpack-cxx-5.0.0.ebuild deleted file mode 100644 index 2a9ec41d2ccb..000000000000 --- a/dev-cpp/msgpack-cxx/msgpack-cxx-5.0.0.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="MessagePack for C++" -HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/" -SRC_URI="https://github.com/msgpack/msgpack-c/releases/download/cpp-${PV}/${P}.tar.gz" - -LICENSE="Boost-1.0" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~x64-macos" -IUSE="+boost doc examples test" - -REQUIRED_USE="test? ( boost )" - -RESTRICT="!test? ( test )" - -RDEPEND="boost? ( dev-libs/boost[context] ) - !<dev-libs/msgpack-5.0.0" -DEPEND="${RDEPEND}" -BDEPEND="doc? ( app-text/doxygen[dot] ) - test? ( virtual/zlib )" - -src_configure() { - local mycmakeargs=( - -DMSGPACK_BUILD_EXAMPLES=OFF - -DMSGPACK_CXX17=ON - -DMSGPACK_BUILD_TESTS="$(usex test)" - -DMSGPACK_USE_BOOST="$(usex boost)" - -DMSGPACK_USE_X3_PARSE="$(usex boost)" - ) - - cmake_src_configure -} - -src_compile() { - cmake_src_compile - - if use doc; then - cmake_build doxygen - fi -} - -src_install() { - if use doc; then - local HTML_DOCS=( "${BUILD_DIR}"/doc_cpp/html/. ) - fi - - if use examples; then - docinto examples - dodoc -r example/. - docompress -x /usr/share/doc/${PF}/examples - fi - - cmake_src_install -} diff --git a/dev-cpp/msgpack-cxx/msgpack-cxx-6.1.0.ebuild b/dev-cpp/msgpack-cxx/msgpack-cxx-6.1.0.ebuild deleted file mode 100644 index 2a9ec41d2ccb..000000000000 --- a/dev-cpp/msgpack-cxx/msgpack-cxx-6.1.0.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="MessagePack for C++" -HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/" -SRC_URI="https://github.com/msgpack/msgpack-c/releases/download/cpp-${PV}/${P}.tar.gz" - -LICENSE="Boost-1.0" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~x64-macos" -IUSE="+boost doc examples test" - -REQUIRED_USE="test? ( boost )" - -RESTRICT="!test? ( test )" - -RDEPEND="boost? ( dev-libs/boost[context] ) - !<dev-libs/msgpack-5.0.0" -DEPEND="${RDEPEND}" -BDEPEND="doc? ( app-text/doxygen[dot] ) - test? ( virtual/zlib )" - -src_configure() { - local mycmakeargs=( - -DMSGPACK_BUILD_EXAMPLES=OFF - -DMSGPACK_CXX17=ON - -DMSGPACK_BUILD_TESTS="$(usex test)" - -DMSGPACK_USE_BOOST="$(usex boost)" - -DMSGPACK_USE_X3_PARSE="$(usex boost)" - ) - - cmake_src_configure -} - -src_compile() { - cmake_src_compile - - if use doc; then - cmake_build doxygen - fi -} - -src_install() { - if use doc; then - local HTML_DOCS=( "${BUILD_DIR}"/doc_cpp/html/. ) - fi - - if use examples; then - docinto examples - dodoc -r example/. - docompress -x /usr/share/doc/${PF}/examples - fi - - cmake_src_install -} diff --git a/dev-cpp/msgpack-cxx/msgpack-cxx-6.0.0.ebuild b/dev-cpp/msgpack-cxx/msgpack-cxx-8.0.0.ebuild index 010a3e7f2563..60d0874f24d6 100644 --- a/dev-cpp/msgpack-cxx/msgpack-cxx-6.0.0.ebuild +++ b/dev-cpp/msgpack-cxx/msgpack-cxx-8.0.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -24,10 +24,6 @@ DEPEND="${RDEPEND}" BDEPEND="doc? ( app-text/doxygen[dot] ) test? ( virtual/zlib )" -PATCHES=( - "${FILESDIR}"/"${PN}"-6.0.0-gcc13.patch -) - src_configure() { local mycmakeargs=( -DMSGPACK_BUILD_EXAMPLES=OFF diff --git a/dev-java/ant-ivy/Manifest b/dev-java/ant-ivy/Manifest index d876e93214c6..384a3ce1ffd1 100644 --- a/dev-java/ant-ivy/Manifest +++ b/dev-java/ant-ivy/Manifest @@ -1,3 +1,2 @@ -DIST apache-ivy-2.5.0-src.tar.gz 2719181 BLAKE2B 71c47e3493beac8de1bc4e8c86ae18383938265dd2803a1c4b9ad466306227dab9eeca256516ff94064d902d0694b4f0b35ce152c5f64b95b876e47289b25833 SHA512 59d9458345e3a51e8f527258ba26ebe2cf5cf257401c52fb5f75aced0da5f7bf36f8aa0f202bbc0cf029d1d49bd6634f7cb8b65ccc828eb55ff7084430879268 DIST apache-ivy-2.5.3-src.tar.gz 2740477 BLAKE2B 6539b73ea49b76fdd547417265fd54ece2352a042cd40cef34b88886c994d377048710469a4b07ac7d3ff586d8816d50e10493abf4ebe78f6d90c9f1cb3a0bee SHA512 135c9cdbd3b4d291f67849e1b38964e1adef51b879de6b46ea4b72fd1bfa2d337b7468d46c4632b2bf360bdb9a25af874195f1032c61fe9fcd1f39ffa02469be DIST apache-ivy-2.5.3-src.tar.gz.asc 190 BLAKE2B a72faaa8ef1c0fc5d3073311d2fe85ae3d9d4a1494ba74ab53ad5a779787dbd13484da84d556e46d95ef712f35941a9751de7c3ac709eb556fab4ef3711e6588 SHA512 37c40100426b4e045a738570b5133845e753d3e0ebcd7a91d401be967446fed7d8d9d17275191b4cbd33f2847f042fa36fa5f125eaea305b3eef63ea668f9af3 diff --git a/dev-java/ant-ivy/ant-ivy-2.5.0-r4.ebuild b/dev-java/ant-ivy/ant-ivy-2.5.0-r4.ebuild deleted file mode 100644 index da472003c39b..000000000000 --- a/dev-java/ant-ivy/ant-ivy-2.5.0-r4.ebuild +++ /dev/null @@ -1,196 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="doc source test" -MAVEN_ID="org.apache.ivy:ivy:2.5.0" -JAVA_TESTING_FRAMEWORKS="junit-4" - -inherit java-pkg-2 java-pkg-simple java-osgi - -DESCRIPTION="Ivy is a free java based dependency manager" -HOMEPAGE="https://ant.apache.org/ivy/" -SRC_URI="https://archive.apache.org/dist/ant/ivy/${PV}/apache-ivy-${PV}-src.tar.gz" -S="${WORKDIR}/apache-ivy-${PV}" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ppc64" - -PROPERTIES="test_network" -RESTRICT="test" - -CDEPEND=" - >=dev-java/ant-1.10.14-r3:0 - dev-java/bcpg:0 - dev-java/bcprov:0 - dev-java/httpcomponents-client:4 - dev-java/commons-vfs:2 - dev-java/httpcore:0 - dev-java/jakarta-oro:2.0 - dev-java/jsch:0 - dev-java/jsch-agent-proxy:0 - test? ( - >=dev-java/ant-1.10.14-r3:0[junit,junit4,junitlauncher,testutil] - dev-java/hamcrest-core:1.3 - dev-java/hamcrest-library:1.3 - dev-java/xmlunit:1 - )" - -# Restrict to jdk:1.8 since java.util.jar.Pack200 was removed. -DEPEND="${CDEPEND} - virtual/jdk:1.8" -RDEPEND="${CDEPEND} - virtual/jre:1.8" - -DOCS=( LICENSE NOTICE README.adoc ) - -JAVA_GENTOO_CLASSPATH=" - ant - bcpg - bcprov - httpcomponents-client-4 - commons-vfs-2 - httpcore - jakarta-oro-2.0 - jsch - jsch-agent-proxy -" -JAVA_MAIN_CLASS="org.apache.ivy.Main" -JAVA_SRC_DIR="src/java" -JAVA_RESOURCE_DIRS="resources/java" - -JAVA_TEST_GENTOO_CLASSPATH=" - ant - hamcrest-core-1.3 - hamcrest-library-1.3 - junit-4 - xmlunit-1 -" -JAVA_TEST_SRC_DIR="test-src/java" -JAVA_TEST_RESOURCE_DIRS="test" -JAVA_GENTOO_CLASSPATH_EXTRA="ant-ivy.jar:test.jar:custom-resolver.jar" - -# according to 57,60 build-release.xml -# https://github.com/apache/ant-ivy/commit/c0c8df492d2312c983f50cfdc5841e18177f6f7b -JAVA_TEST_EXTRA_ARGS="-Divy.cache.ttl.default=1s -Dskip.download=true -Divy.home=/tmp -D/offline=true" - -# Several tests require a certain treatment to "generate-bundles": -# https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L426-L428 -# <ant dir="${basedir}/test/test-repo" target="generate-bundles"/> -# -# The procedure is coded in https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/test/test-repo/build.xml#L19-L71 -# but appears too difficult to be reprodused with 'java-pkg-simple.eclass'. -# So the failing tests will be excluded, saved for a later attempt. -# -# Not excluding any test classes results in "Tests run: 1109, Failures: 98" -# Excluding those test classes listed below leads to "OK (812 tests)" -JAVA_TEST_EXCLUDES=( - # https://github.com/apache/ant-ivy/blob/083e3f685c1fe29092e59c63b87e81d31fc9babe/build.properties#L56 - # test.class.pattern = *Test - "org.apache.ivy.ant.testutil.AntTaskTestCase" # not in scope - "org.apache.ivy.core.TestPerformance" # not in scope - "org.apache.ivy.util.TestXmlHelper" # not in scope - "org.apache.ivy.TestFixture" # not in scope - "org.apache.ivy.TestHelper" # not in scope - # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L412-L420 - # <exclude name="**/Abstract*Test.java"/> - "org.apache.ivy.util.url.AbstractURLHandlerTest" - "org.apache.ivy.plugins.resolver.AbstractDependencyResolverTest" - "org.apache.ivy.plugins.matcher.AbstractPatternMatcherTest" - # following excluded tests cause test failures - "org.apache.ivy.ant.BuildOBRTaskTest" # Tests run: 3, Failures: 2 - "org.apache.ivy.core.deliver.DeliverTest" # Tests run: 1, Failures: 1 - "org.apache.ivy.core.module.descriptor.IvyMakePomTest" # Tests run: 1, Failures: 1 - "org.apache.ivy.core.settings.XmlSettingsParserTest" # Tests run: 29, Failures: 1 - "org.apache.ivy.osgi.core.AggregatedOSGiResolverTest" # Tests run: 3, Failures: 1 - "org.apache.ivy.osgi.obr.OBRResolverTest" # Tests run: 16, Failures: 16 - "org.apache.ivy.osgi.repo.BundleRepoTest" # Tests run: 4, Failures: 3 - "org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParserTest" # Tests run: 46, Failures: 1 - "org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParserTest" # Tests run: 44, Failures: 7 - "org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriterTest" # Tests run: 10, Failures: 1 - "org.apache.ivy.plugins.parser.xml.XmlModuleUpdaterTest" # Tests run: 14, Failures: 3 - "org.apache.ivy.plugins.resolver.JarResolverTest" # Tests run: 3, Failures: 3 - # following excluded tests can pass if run individually - "org.apache.ivy.ant.IvyConfigureTest" # OK (14 tests) - "org.apache.ivy.IvyTest" # OK (1 test) - "org.apache.ivy.MainTest" # OK (12 tests) - "org.apache.ivy.plugins.report.XmlReportWriterTest" # OK (3 tests) - "org.apache.ivy.plugins.resolver.BintrayResolverTest" # OK (12 tests) - "org.apache.ivy.plugins.resolver.ChainResolverTest" # OK (15 tests) - "org.apache.ivy.plugins.resolver.FileSystemResolverTest" # OK (27 tests) - "org.apache.ivy.plugins.resolver.IBiblioMavenSnapshotsResolutionTest" # OK (1 test) - "org.apache.ivy.plugins.resolver.IvyRepResolverTest" # OK (3 tests) - "org.apache.ivy.plugins.resolver.Maven2LocalTest" # OK (2 tests) - "org.apache.ivy.plugins.resolver.PackagerResolverTest" # OK (3 tests) - "org.apache.ivy.plugins.resolver.URLResolverTest" # OK (5 tests) - "org.apache.ivy.plugins.trigger.LogTriggerTest" # OK (3 tests) - # Without PROPERTIES="test_network", the following test cause additional failures. - "org.apache.ivy.core.settings.OnlineXmlSettingsParserTest" -# "org.apache.ivy.osgi.updatesite.UpdateSiteAndIbiblioResolverTest" - "org.apache.ivy.osgi.updatesite.UpdateSiteLoaderTest" -# "org.apache.ivy.plugins.resolver.IBiblioResolverTest" -# "org.apache.ivy.plugins.resolver.MirroredURLResolverTest" - "org.apache.ivy.util.url.ArtifactoryListingTest" -# "org.apache.ivy.util.url.BasicURLHandlerTest" -# "org.apache.ivy.util.url.HttpclientURLHandlerTest" -) - -src_prepare() { - default - - mkdir --parents "${JAVA_RESOURCE_DIRS}/META-INF" || die - pushd "${JAVA_RESOURCE_DIRS}" - cp "${S}"/{NOTICE,LICENSE} META-INF/ || die - cp -r "${S}"/src/java/* . || die - - # DEPRECATED: 'ivyconf' element is deprecated, use 'ivysettings' instead - # according to 210,221 build.xml and still in the upstream .jar file - cp org/apache/ivy/core/settings/ivy{settings,conf}-local.xml || die - cp org/apache/ivy/core/settings/ivy{settings,conf}-default-chain.xml || die - cp org/apache/ivy/core/settings/ivy{settings,conf}-main-chain.xml || die - cp org/apache/ivy/core/settings/ivy{settings,conf}-public.xml || die - cp org/apache/ivy/core/settings/ivy{settings,conf}-shared.xml || die - cp org/apache/ivy/core/settings/ivy{settings,conf}.xml || die - - find . -type f -name '*.java' -exec rm -rf {} + || die - popd || die -} - -src_test() { - # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L396-L407 - # name="build-custom-resolver-jar" - JAVA_SRC_DIR="test/custom-classpath" - JAVA_JAR_FILENAME="test/java/org/apache/ivy/core/settings/custom-resolver.jar" - java-pkg-simple_src_compile - - # Without "license.xml" the tests won't even start. "Tests run: 1109, Failures: 318" - jar -cf test.jar \ - -C test/java org/apache/ivy/plugins/parser/xml/license.xml \ - -C test/java org/apache/ivy/plugins/parser/m2/license.xml || die - - # Reduce number of failures to "Tests run: 1109, Failures: 98" - jar -uf "test.jar" -C test/java . || die - - # Separate *.java files from test resources - # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L389-L393 - mkdir test-src || die - cp -r test/java test-src/ || die - find test -type f -name '*.java' -exec rm -rf {} + || die - - # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L430-L438 - # name="prepare-test-jar-repositories" - mkdir test/jar-repos || die - jar -cfM "test/jar-repos/jarrepo1.jar" -C test/repositories/1 . || die -# jar -cfM "test/jar-repos/jarrepo1_subdir.jar" -C test/repositories 1/**/*/ || die - - java-pkg-simple_src_test -} - -src_install() { - default - java-osgi_dojar-fromfile "ant-ivy.jar" "META-INF/MANIFEST.MF" "ant-ivy" - use doc && java-pkg_dojavadoc target/api - use source && java-pkg_dosrc src/* -} diff --git a/dev-java/assertj-core/Manifest b/dev-java/assertj-core/Manifest index 3639756b1ab3..212ff08d74fc 100644 --- a/dev-java/assertj-core/Manifest +++ b/dev-java/assertj-core/Manifest @@ -1,3 +1,2 @@ -DIST assertj-build-3.27.6.tar.gz 1889577 BLAKE2B 3d93636cd7ab18c775a5f19e4cc340c94b73049799c9f1ec2883cc44b5fdd266c1578596c79b955d31c208ea0f03aca5f8446835b3c899ac852953db01649bbb SHA512 87717a96e6ee776c0689f5271498314c8503feef03ea3194acf7af7617463fc9d904575e17a9f8fe1601e179f1c9731bbbe5cf6d684eb1c2770c5c909863b622 DIST assertj-build-3.27.7.tar.gz 1891766 BLAKE2B 647c07543d4cf0513b6ad208549f7916e09c0f2f3eec203a20d6f9057cd5ea06086f6731db7dbf00972646ae6e8500de1bd57fc1b7e9a54f52c7f4a8651ddac0 SHA512 7d44371c82377859cc4c7f2cac16b69808723f02e02f83980911f0c76fba83921533c3455491e3009ac5d19551d87f7315f334c29228b654dd3b0c657772800e DIST assertj-core-3.10.0.tar.gz 1100495 BLAKE2B 4050060e027588d9c62abd5f4c6b77affd96d94a6474c4acc750a946cd3906787f9b2194627abff6d2e0849d590f5a74bbc702b41de6cbfaa09fae951a1012cf SHA512 3763768c5572e133de69735b01fd64432c4330723aa7e6cc0de42e5948cb2d455ae52d9ada66391fb41e47c261816fe12a00d07962e253f0da13ef49255fc5c6 diff --git a/dev-java/assertj-core/assertj-core-3.27.6.ebuild b/dev-java/assertj-core/assertj-core-3.27.6.ebuild deleted file mode 100644 index 6b1e99229fa5..000000000000 --- a/dev-java/assertj-core/assertj-core-3.27.6.ebuild +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="doc source test" -JAVA_TESTING_FRAMEWORKS="junit-jupiter" - -inherit java-pkg-2 java-pkg-simple junit5 - -DESCRIPTION="Rich and fluent assertions for testing for Java" -HOMEPAGE="https://assertj.github.io/doc/" -SRC_URI="https://github.com/assertj/assertj/archive/assertj-build-${PV}.tar.gz" -S="${WORKDIR}/assertj-assertj-build-${PV}/${PN}" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 arm64 ppc64" - -# package EngineTestKit does not exist -# package jakarta.ws.rs.core does not exist -# package nl.jqno.equalsverifier does not exist -# package org.hibernate.collection.spi does not exist -# package org.hibernate.engine.spi does not exist -# package org.hibernate.persister.collection does not exist -# package org.junit.jupiter.params.shadow.com.univocity.parsers.common does not exist -# package org.junit.platform.testkit.engine does not exist -# package org.springframework.core.convert does not exist -# package org.springframework.core.convert.support does not exist -# package org.springframework.core does not exist -# package org.springframework.util does not exist -RESTRICT="test" # Needs more stuff to get packaged - -CP_DEPEND=" - >=dev-java/byte-buddy-1.17.7:0 - >=dev-java/hamcrest-3.0:0 - dev-java/junit:4 - dev-java/junit:5 - dev-java/opentest4j:0 -" - -DEPEND=" - ${CP_DEPEND} - >=virtual/jdk-11:* - dev-java/apiguardian-api:0 - >=dev-java/asm-9.8-r1:0 - >=dev-java/jna-5.17.0:0 - dev-java/jsr305:0 - test? ( - >=dev-java/commons-collections-4.5.0:4 - >=dev-java/commons-io-2.19.0:0 - >=dev-java/commons-lang-3.18.0:0 - >=dev-java/commons-text-1.14.0:0 - >=dev-java/guava-33.4.8:0 - dev-java/junit-dataprovider:0 - >=dev-java/junit-pioneer-1.9.1:0 - dev-java/memoryfilesystem:0 - >=dev-java/mockito-5.20.0:0 - ) -" - -RDEPEND=" - ${CP_DEPEND} - >=virtual/jre-1.8:* -" - -JAVA_CLASSPATH_EXTRA="apiguardian-api asm jna jsr305" -JAVA_INTERMEDIATE_JAR_NAME="org.assertj.core" -JAVA_RELEASE_SRC_DIRS=( ["9"]="src/main/java9" ) -JAVA_SRC_DIR="src/main/java" - -JAVA_TEST_GENTOO_CLASSPATH=" - commons-collections-4 - commons-io - commons-lang - commons-text - guava - junit-5 - junit-pioneer - mockito -" - -JAVA_TEST_RESOURCE_DIRS="src/test/resources" -JAVA_TEST_SRC_DIR="src/test/java" - -src_prepare() { - java-pkg-2_src_prepare - - local vm_version="$(java-config -g PROVIDES_VERSION)" - if ver_test "${vm_version}" -ge 17; then - JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.{io,lang,math,util}=ALL-UNNAMED ) - fi -} diff --git a/dev-java/bcmail/Manifest b/dev-java/bcmail/Manifest index 341f3693eaaf..460b3805a908 100644 --- a/dev-java/bcmail/Manifest +++ b/dev-java/bcmail/Manifest @@ -1,2 +1 @@ -DIST bc-java-r1rv83.tar.gz 47658743 BLAKE2B 3b223d49120d54d22276d6f4d7457f1887577640e7a572aff6ceb322adc7da2c541e0090d16763b22745695ff1d6ae13aae2d91ea3f89b186e1cd0c3027ef1ca SHA512 f9d99538c38a65ef6cb3db0eda3a293b91e370d27210e71ef17e63ecd91fd3c5b01d09385c18fc237e686775649306b9a2fe1d8250a0a304fb0d6079f74e4926 DIST bc-java-r1rv84.tar.gz 47876878 BLAKE2B 29cfa797fa7ca464666c8e74d116b77b9882b0c0ee21c9ef178615ec25ea341bfe6633b5a82c6470651ada16d20c7099f92878eaa7d781a2e30a752547cdf47b SHA512 d20ab4e28ddc432851b068564b038e2a99be20d88784340c6ce4a0e75a1278e98af6e9b5f6c75ece4095199ee3e61621d0aebce1f43827945a4ff6adc77cf59d diff --git a/dev-java/bcmail/bcmail-1.83.ebuild b/dev-java/bcmail/bcmail-1.83.ebuild deleted file mode 100644 index ea1436c6e741..000000000000 --- a/dev-java/bcmail/bcmail-1.83.ebuild +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="doc source test" -JAVA_TESTING_FRAMEWORKS="junit-4" -MAVEN_ID="org.bouncycastle:bcmail-jdk18on:${PV}" - -inherit java-pkg-2 java-pkg-simple - -DESCRIPTION="The Bouncy Castle Java S/MIME APIs for handling S/MIME protocols" -HOMEPAGE="https://www.bouncycastle.org/download/bouncy-castle-java/" -MY_PV="r$(ver_rs 1 'rv' 2 'v')" -SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz" -S="${WORKDIR}/bc-java-${MY_PV}/mail" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 arm64 ppc64" - -CP_DEPEND=" - ~dev-java/bcpkix-${PV}:0 - ~dev-java/bcprov-${PV}:0 - ~dev-java/bcutil-${PV}:0 - dev-java/javax-mail:0 -" - -DEPEND=" - ${CP_DEPEND} - dev-java/jakarta-activation:1 - >=virtual/jdk-11:* -" - -RDEPEND=" - ${CP_DEPEND} - dev-java/jakarta-activation-api:1 - >=virtual/jre-1.8:* -" - -DOCS=( ../{README,SECURITY}.md ) -HTML_DOCS=( ../{CONTRIBUTORS,index}.html ) - -JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.mail" -JAVA_CLASSPATH_EXTRA="jakarta-activation-1" -JAVA_RESOURCE_DIRS="src/main/resources" -JAVA_SRC_DIR=( "src/main/java" "src/main/jdk1.9" ) -JAVA_TEST_GENTOO_CLASSPATH="junit-4" -JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" "../pkix/src/main/resources" ) -JAVA_TEST_RUN_ONLY="org.bouncycastle.mail.smime.test.AllTests" -JAVA_TEST_SRC_DIR="src/test/java" - -src_prepare() { - java-pkg-2_src_prepare - java-pkg_clean .. -} - -src_install() { - docinto html - dodoc -r ../docs - java-pkg-simple_src_install - java-pkg_register-dependency jakarta-activation-api-1 -} diff --git a/dev-java/bcmail/bcmail-1.84.ebuild b/dev-java/bcmail/bcmail-1.84.ebuild index ba9a90e84529..875bd2480493 100644 --- a/dev-java/bcmail/bcmail-1.84.ebuild +++ b/dev-java/bcmail/bcmail-1.84.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}/bc-java-${MY_PV}/mail" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64" +KEYWORDS="amd64 arm64 ppc64" CP_DEPEND=" ~dev-java/bcpkix-${PV}:0 diff --git a/dev-java/bcpg/Manifest b/dev-java/bcpg/Manifest index 341f3693eaaf..460b3805a908 100644 --- a/dev-java/bcpg/Manifest +++ b/dev-java/bcpg/Manifest @@ -1,2 +1 @@ -DIST bc-java-r1rv83.tar.gz 47658743 BLAKE2B 3b223d49120d54d22276d6f4d7457f1887577640e7a572aff6ceb322adc7da2c541e0090d16763b22745695ff1d6ae13aae2d91ea3f89b186e1cd0c3027ef1ca SHA512 f9d99538c38a65ef6cb3db0eda3a293b91e370d27210e71ef17e63ecd91fd3c5b01d09385c18fc237e686775649306b9a2fe1d8250a0a304fb0d6079f74e4926 DIST bc-java-r1rv84.tar.gz 47876878 BLAKE2B 29cfa797fa7ca464666c8e74d116b77b9882b0c0ee21c9ef178615ec25ea341bfe6633b5a82c6470651ada16d20c7099f92878eaa7d781a2e30a752547cdf47b SHA512 d20ab4e28ddc432851b068564b038e2a99be20d88784340c6ce4a0e75a1278e98af6e9b5f6c75ece4095199ee3e61621d0aebce1f43827945a4ff6adc77cf59d diff --git a/dev-java/bcpg/bcpg-1.83.ebuild b/dev-java/bcpg/bcpg-1.83.ebuild deleted file mode 100644 index 7b245845d1af..000000000000 --- a/dev-java/bcpg/bcpg-1.83.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="doc source test" -JAVA_TESTING_FRAMEWORKS="junit-4" -MAVEN_ID="org.bouncycastle:bcpg-jdk18on:${PV}" - -inherit java-pkg-2 java-pkg-simple - -DESCRIPTION="Java cryptography APIs" -HOMEPAGE="https://www.bouncycastle.org/download/bouncy-castle-java/" -MY_PV="r$(ver_rs 1 'rv' 2 'v')" -SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz" -S="${WORKDIR}/bc-java-${MY_PV}/pg" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 arm64 ppc64" - -CP_DEPEND=" - ~dev-java/bcprov-${PV}:0 - ~dev-java/bcutil-${PV}:0 -" - -DEPEND=" - ${CP_DEPEND} - >=virtual/jdk-11:* -" - -RDEPEND=" - ${CP_DEPEND} - >=virtual/jre-1.8:* -" - -DOCS=( ../{README,SECURITY}.md ) -HTML_DOCS=( ../{CONTRIBUTORS,index}.html ) - -JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.pg" -JAVA_SRC_DIR=( src/main/{java,jdk1.9} ) -JAVA_TEST_GENTOO_CLASSPATH="junit-4" -JAVA_TEST_RESOURCE_DIRS="src/test/resources" -JAVA_TEST_SRC_DIR="src/test/java" - -src_prepare() { - java-pkg-2_src_prepare - java-pkg_clean .. -} - -src_test() { - local TESTS=$(find src/test/java -name 'AllTests.java' -printf '%P\n' ) - TESTS="${TESTS//.java}" - JAVA_TEST_RUN_ONLY="${TESTS//\//.}" - java-pkg-simple_src_test -} - -src_install() { - docinto html - dodoc -r ../docs - java-pkg-simple_src_install -} diff --git a/dev-java/bcpg/bcpg-1.84.ebuild b/dev-java/bcpg/bcpg-1.84.ebuild index 35355cb4df10..bd185d1e1997 100644 --- a/dev-java/bcpg/bcpg-1.84.ebuild +++ b/dev-java/bcpg/bcpg-1.84.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}/bc-java-${MY_PV}/pg" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64" +KEYWORDS="amd64 arm64 ppc64" CP_DEPEND=" ~dev-java/bcprov-${PV}:0 diff --git a/dev-java/bcpkix/Manifest b/dev-java/bcpkix/Manifest index f49f555dd611..66e844237afe 100644 --- a/dev-java/bcpkix/Manifest +++ b/dev-java/bcpkix/Manifest @@ -1,4 +1,2 @@ -DIST bc-java-r1rv83.tar.gz 47658743 BLAKE2B 3b223d49120d54d22276d6f4d7457f1887577640e7a572aff6ceb322adc7da2c541e0090d16763b22745695ff1d6ae13aae2d91ea3f89b186e1cd0c3027ef1ca SHA512 f9d99538c38a65ef6cb3db0eda3a293b91e370d27210e71ef17e63ecd91fd3c5b01d09385c18fc237e686775649306b9a2fe1d8250a0a304fb0d6079f74e4926 DIST bc-java-r1rv84.tar.gz 47876878 BLAKE2B 29cfa797fa7ca464666c8e74d116b77b9882b0c0ee21c9ef178615ec25ea341bfe6633b5a82c6470651ada16d20c7099f92878eaa7d781a2e30a752547cdf47b SHA512 d20ab4e28ddc432851b068564b038e2a99be20d88784340c6ce4a0e75a1278e98af6e9b5f6c75ece4095199ee3e61621d0aebce1f43827945a4ff6adc77cf59d -DIST bc-test-data-r1rv83.tar.gz 2930411569 BLAKE2B dfe6cd87134ee728fd49d723ad320576a670c9eff22b1d05b4fc3b650a79ab35b8d67225cdf6e9667057afc51b89ea213435a265e36f574d36e212ca1038b389 SHA512 398ca8159225d58247404ae476a01197c617b2f3bcffc4a8c581d8abad869ddec2eef7f3380b162a20fa3786998d39e34c2db8b8cbfe14f683064ad619d310e8 DIST bc-test-data-r1rv84.tar.gz 2942290969 BLAKE2B fb5370e84c9f4bce6dcd26104ecf8a9c61fff92d29abd0cf5905763e6a44a888dc5823eaa906a3231f2754b284d34bf7d29224f56616941f152f5d61ec0f0c0f SHA512 5b84b317d5d5b93f6f1f1b94815eff2561982482b8f7401ffec2f1836f1e18d4de1b6313b5cfaa498c10158d727ba15e9a2a4972bad88e7fb12102f93b6449e4 diff --git a/dev-java/bcpkix/bcpkix-1.83.ebuild b/dev-java/bcpkix/bcpkix-1.83.ebuild deleted file mode 100644 index 1162ee91448d..000000000000 --- a/dev-java/bcpkix/bcpkix-1.83.ebuild +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="doc source test" -JAVA_TESTING_FRAMEWORKS="junit-4" -MAVEN_ID="org.bouncycastle:bcpkix-jdk18on:${PV}" - -inherit java-pkg-2 java-pkg-simple check-reqs - -DESCRIPTION="Java APIs for CMS, PKCS, EAC, TSP, CMP, CRMF, OCSP, and certificate generation" -HOMEPAGE="https://www.bouncycastle.org/download/bouncy-castle-java/" -MY_PV="r$(ver_rs 1 'rv' 2 'v')" -SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz - test? ( https://github.com/bcgit/bc-test-data/archive/${MY_PV}.tar.gz -> bc-test-data-${MY_PV}.tar.gz )" -S="${WORKDIR}/bc-java-${MY_PV}/pkix" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 arm64 ppc64" - -CP_DEPEND=" - ~dev-java/bcprov-${PV}:0 - ~dev-java/bcutil-${PV}:0 -" - -DEPEND=" - ${CP_DEPEND} - >=virtual/jdk-11:* -" - -RDEPEND=" - ${CP_DEPEND} - >=virtual/jre-1.8:* -" - -DOCS=( ../{README,SECURITY}.md ) -HTML_DOCS=( ../{CONTRIBUTORS,index}.html ) - -JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.pkix" -JAVA_SRC_DIR=( src/main/{java,jdk1.9} ) -JAVA_TEST_EXTRA_ARGS="-Dbc.test.data.home=${S}/../core/src/test/data" -JAVA_TEST_GENTOO_CLASSPATH="junit-4" -JAVA_TEST_RESOURCE_DIRS=( src/{main,test}/resources ) -JAVA_TEST_SRC_DIR="src/test/java" - -# https://bugs.gentoo.org/823347 -check_env() { - if use test; then - # this is needed only for tests - CHECKREQS_MEMORY="2048M" - check-reqs_pkg_pretend - fi -} - -# https://bugs.gentoo.org/823347 -pkg_pretend() { - check_env -} - -# https://bugs.gentoo.org/823347 -pkg_setup() { - check_env - java-pkg-2_pkg_setup -} - -src_unpack() { - unpack bc-java-${MY_PV}.tar.gz - use test && unpack bc-test-data-${MY_PV}.tar.gz -} - -src_prepare() { - java-pkg-2_src_prepare - java-pkg_clean .. -} - -src_test() { - mv ../../bc-test-data-${MY_PV} bc-test-data || die "cannot move bc-test-data" - - # https://bugs.gentoo.org/823347 - JAVA_TEST_EXTRA_ARGS+=" -Xmx${CHECKREQS_MEMORY}" - - local TESTS=$(find src/test/java -name 'AllTests.java' -printf '%P\n' ) - TESTS="${TESTS//.java}" - JAVA_TEST_RUN_ONLY="${TESTS//\//.}" - java-pkg-simple_src_test -} - -src_install() { - docinto html - dodoc -r ../docs - java-pkg-simple_src_install -} diff --git a/dev-java/bcpkix/bcpkix-1.84.ebuild b/dev-java/bcpkix/bcpkix-1.84.ebuild index 16a1a950cd08..9d2c28aed29c 100644 --- a/dev-java/bcpkix/bcpkix-1.84.ebuild +++ b/dev-java/bcpkix/bcpkix-1.84.ebuild @@ -17,7 +17,7 @@ S="${WORKDIR}/bc-java-${MY_PV}/pkix" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64" +KEYWORDS="amd64 arm64 ppc64" CP_DEPEND=" ~dev-java/bcprov-${PV}:0 diff --git a/dev-java/bcprov/Manifest b/dev-java/bcprov/Manifest index f49f555dd611..66e844237afe 100644 --- a/dev-java/bcprov/Manifest +++ b/dev-java/bcprov/Manifest @@ -1,4 +1,2 @@ -DIST bc-java-r1rv83.tar.gz 47658743 BLAKE2B 3b223d49120d54d22276d6f4d7457f1887577640e7a572aff6ceb322adc7da2c541e0090d16763b22745695ff1d6ae13aae2d91ea3f89b186e1cd0c3027ef1ca SHA512 f9d99538c38a65ef6cb3db0eda3a293b91e370d27210e71ef17e63ecd91fd3c5b01d09385c18fc237e686775649306b9a2fe1d8250a0a304fb0d6079f74e4926 DIST bc-java-r1rv84.tar.gz 47876878 BLAKE2B 29cfa797fa7ca464666c8e74d116b77b9882b0c0ee21c9ef178615ec25ea341bfe6633b5a82c6470651ada16d20c7099f92878eaa7d781a2e30a752547cdf47b SHA512 d20ab4e28ddc432851b068564b038e2a99be20d88784340c6ce4a0e75a1278e98af6e9b5f6c75ece4095199ee3e61621d0aebce1f43827945a4ff6adc77cf59d -DIST bc-test-data-r1rv83.tar.gz 2930411569 BLAKE2B dfe6cd87134ee728fd49d723ad320576a670c9eff22b1d05b4fc3b650a79ab35b8d67225cdf6e9667057afc51b89ea213435a265e36f574d36e212ca1038b389 SHA512 398ca8159225d58247404ae476a01197c617b2f3bcffc4a8c581d8abad869ddec2eef7f3380b162a20fa3786998d39e34c2db8b8cbfe14f683064ad619d310e8 DIST bc-test-data-r1rv84.tar.gz 2942290969 BLAKE2B fb5370e84c9f4bce6dcd26104ecf8a9c61fff92d29abd0cf5905763e6a44a888dc5823eaa906a3231f2754b284d34bf7d29224f56616941f152f5d61ec0f0c0f SHA512 5b84b317d5d5b93f6f1f1b94815eff2561982482b8f7401ffec2f1836f1e18d4de1b6313b5cfaa498c10158d727ba15e9a2a4972bad88e7fb12102f93b6449e4 diff --git a/dev-java/bcprov/bcprov-1.83.ebuild b/dev-java/bcprov/bcprov-1.83.ebuild deleted file mode 100644 index 9db9ceac7e8b..000000000000 --- a/dev-java/bcprov/bcprov-1.83.ebuild +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="doc source test" -JAVA_TESTING_FRAMEWORKS="junit-4" -MAVEN_ID="org.bouncycastle:bcprov-jdk18on:${PV}" - -inherit java-pkg-2 java-pkg-simple check-reqs - -DESCRIPTION="Java cryptography APIs" -HOMEPAGE="https://www.bouncycastle.org/download/bouncy-castle-java/" -MY_PV="r$(ver_rs 1 'rv' 2 'v')" -SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz - test? ( https://github.com/bcgit/bc-test-data/archive/${MY_PV}.tar.gz -> bc-test-data-${MY_PV}.tar.gz )" -S="${WORKDIR}/bc-java-${MY_PV}" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 arm64 ppc64" - -DEPEND=">=virtual/jdk-11:*" -RDEPEND=">=virtual/jre-1.8:*" - -DOCS=( {README,SECURITY}.md ) -HTML_DOCS=( {CONTRIBUTORS,index}.html ) - -check_env() { - if use test; then - # this is needed only for tests - CHECKREQS_MEMORY="2048M" - check-reqs_pkg_pretend - fi -} - -pkg_pretend() { - check_env -} - -pkg_setup() { - check_env - java-pkg-2_pkg_setup -} - -src_unpack() { - unpack bc-java-${MY_PV}.tar.gz - use test && unpack bc-test-data-${MY_PV}.tar.gz -} - -src_prepare() { - java-pkg-2_src_prepare - # TBD: unboundid-ldapsdk should be packaged from source. - java-pkg_clean ! -path "./libs/unboundid-ldapsdk-6.0.8.jar" -} - -src_compile() { - JAVA_RESOURCE_DIRS=( - "core/src/main/resources" - "prov/src/main/resources" - ) - JAVA_SRC_DIR=( - "core/src/main/java" - "prov/src/main/java" - "prov/src/main/jdk1.9" - ) - java-pkg-simple_src_compile -} - -src_test() { - mv ../bc-test-data-${MY_PV} bc-test-data || die "cannot move bc-test-data" - - JAVA_TEST_EXTRA_ARGS="-Dtest.java.version.prefix=$(java-config -g PROVIDES_VERSION)" - JAVA_TEST_EXTRA_ARGS+=" -Dbc.test.data.home=${S}/core/src/test/data" - JAVA_TEST_EXTRA_ARGS+=" -Xmx${CHECKREQS_MEMORY}" - JAVA_TEST_GENTOO_CLASSPATH="junit-4" - - einfo "Testing \"core\"" - JAVA_TEST_RESOURCE_DIRS="core/src/test/resources" - JAVA_TEST_SRC_DIR="core/src/test/java" - local TESTS=$(find core/src/test/java -name "AllTests.java" -printf "%P\n") - TESTS="${TESTS//.java}" - JAVA_TEST_RUN_ONLY="${TESTS//\//.}" - java-pkg-simple_src_test - - einfo "Testing bcprov" - JAVA_GENTOO_CLASSPATH_EXTRA=":core.jar:libs/unboundid-ldapsdk-6.0.8.jar" - JAVA_TEST_RESOURCE_DIRS="prov/src/test/resources" - JAVA_TEST_SRC_DIR="prov/src/test/java" - local TESTS=$(find prov/src/test/java -name "AllTests.java" -printf "%P\n") - TESTS="${TESTS//.java}" - JAVA_TEST_RUN_ONLY="${TESTS//\//.}" - java-pkg-simple_src_test -} - -src_install() { - docinto html - dodoc -r docs - java-pkg-simple_src_install -} diff --git a/dev-java/bcprov/bcprov-1.84.ebuild b/dev-java/bcprov/bcprov-1.84.ebuild index 5f76e64a11f8..580e007cf941 100644 --- a/dev-java/bcprov/bcprov-1.84.ebuild +++ b/dev-java/bcprov/bcprov-1.84.ebuild @@ -17,7 +17,7 @@ S="${WORKDIR}/bc-java-${MY_PV}" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64" +KEYWORDS="amd64 arm64 ppc64" DEPEND=">=virtual/jdk-11:*" RDEPEND=">=virtual/jre-1.8:*" diff --git a/dev-java/bcutil/Manifest b/dev-java/bcutil/Manifest index 341f3693eaaf..460b3805a908 100644 --- a/dev-java/bcutil/Manifest +++ b/dev-java/bcutil/Manifest @@ -1,2 +1 @@ -DIST bc-java-r1rv83.tar.gz 47658743 BLAKE2B 3b223d49120d54d22276d6f4d7457f1887577640e7a572aff6ceb322adc7da2c541e0090d16763b22745695ff1d6ae13aae2d91ea3f89b186e1cd0c3027ef1ca SHA512 f9d99538c38a65ef6cb3db0eda3a293b91e370d27210e71ef17e63ecd91fd3c5b01d09385c18fc237e686775649306b9a2fe1d8250a0a304fb0d6079f74e4926 DIST bc-java-r1rv84.tar.gz 47876878 BLAKE2B 29cfa797fa7ca464666c8e74d116b77b9882b0c0ee21c9ef178615ec25ea341bfe6633b5a82c6470651ada16d20c7099f92878eaa7d781a2e30a752547cdf47b SHA512 d20ab4e28ddc432851b068564b038e2a99be20d88784340c6ce4a0e75a1278e98af6e9b5f6c75ece4095199ee3e61621d0aebce1f43827945a4ff6adc77cf59d diff --git a/dev-java/bcutil/bcutil-1.83.ebuild b/dev-java/bcutil/bcutil-1.83.ebuild deleted file mode 100644 index 795d7dcf34c4..000000000000 --- a/dev-java/bcutil/bcutil-1.83.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="doc source test" -JAVA_TESTING_FRAMEWORKS="junit-4" -MAVEN_ID="org.bouncycastle:bcutil-jdk18on:${PV}" - -inherit java-pkg-2 java-pkg-simple - -DESCRIPTION="Java APIs for ASN.1 extension and utility APIs used to support bcpkix and bctls" -HOMEPAGE="https://www.bouncycastle.org/download/bouncy-castle-java/" -MY_PV="r$(ver_rs 1 'rv' 2 'v')" -SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz" -S="${WORKDIR}/bc-java-${MY_PV}/util" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 arm64 ppc64" - -CP_DEPEND="~dev-java/bcprov-${PV}:0" - -DEPEND=" - ${CP_DEPEND} - >=virtual/jdk-11:* -" - -RDEPEND=" - ${CP_DEPEND} - >=virtual/jre-1.8:* -" - -DOCS=( ../{README,SECURITY}.md ) -HTML_DOCS=( ../{CONTRIBUTORS,index}.html ) - -JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.util" -JAVA_SRC_DIR=( src/main/{java,jdk1.9} ) -JAVA_TEST_GENTOO_CLASSPATH="junit-4" -JAVA_TEST_RESOURCE_DIRS="src/test/resources" -JAVA_TEST_SRC_DIR="src/test/java" - -src_prepare() { - java-pkg-2_src_prepare - java-pkg_clean .. -} - -src_test() { - local TESTS=$(find src/test/java -name 'AllTests.java' -printf '%P\n' ) - TESTS="${TESTS//.java}" - JAVA_TEST_RUN_ONLY="${TESTS//\//.}" - java-pkg-simple_src_test -} - -src_install() { - docinto html - dodoc -r ../docs - java-pkg-simple_src_install -} diff --git a/dev-java/bcutil/bcutil-1.84.ebuild b/dev-java/bcutil/bcutil-1.84.ebuild index 7b0e5e44b247..76c16300dc5a 100644 --- a/dev-java/bcutil/bcutil-1.84.ebuild +++ b/dev-java/bcutil/bcutil-1.84.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}/bc-java-${MY_PV}/util" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64" +KEYWORDS="amd64 arm64 ppc64" CP_DEPEND="~dev-java/bcprov-${PV}:0" diff --git a/dev-java/jackcess/Manifest b/dev-java/jackcess/Manifest index efb47f9deabf..403178864357 100644 --- a/dev-java/jackcess/Manifest +++ b/dev-java/jackcess/Manifest @@ -1,2 +1 @@ DIST jackcess-4.0.10-sources.tar.gz 12257097 BLAKE2B ba09a360f30d487f304e200304d71207b469ccbed6cd0a4d6ad5382471510b8afc890eeca3fc6808974548d751ff4712808a2670f90f598494829c85ef604f89 SHA512 81ec8f9b02032eb8dfebd778f6a59205b8500e4ed0a4460a6feba689b6ef694b60d8b4706ba0c638f74ff08cdcfca50d7de01e8027f366e2726304f38ffb0d3b -DIST jackcess-4.0.7-sources.tar.gz 12257727 BLAKE2B 5d19d5aef02388342d881214e6956eb118e74fd4dcc6b750df927c888e689eb94bf605952c30884b0b0c4bfd1ae651c8b96cc908dd2dbf0fa7506fd789c14fa0 SHA512 3867019b50e8734938c08e562a57cd16b49f664865b8dbe904c418d73dc750492c6f94bccecd9c9a9d2ab2be51a211d49416a5dcb5130ac96aef7a9aeef7a3e0 diff --git a/dev-java/jackcess/jackcess-4.0.10.ebuild b/dev-java/jackcess/jackcess-4.0.10.ebuild index 9eb4c9bf5ce2..2f64475b9642 100644 --- a/dev-java/jackcess/jackcess-4.0.10.ebuild +++ b/dev-java/jackcess/jackcess-4.0.10.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}/${PN}-${P}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64" +KEYWORDS="amd64 arm64 ppc64" CP_DEPEND=" >=dev-java/poi-5.5.1:0 diff --git a/dev-java/jackcess/jackcess-4.0.7-r1.ebuild b/dev-java/jackcess/jackcess-4.0.7-r1.ebuild deleted file mode 100644 index f3eb1698afd3..000000000000 --- a/dev-java/jackcess/jackcess-4.0.7-r1.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="doc source test" -MAVEN_ID="com.healthmarketscience.jackcess:jackcess:4.0.7" -JAVA_TESTING_FRAMEWORKS="junit-4" - -inherit java-pkg-2 java-pkg-simple - -DESCRIPTION="A pure Java library for reading from and writing to MS Access databases" -HOMEPAGE="https://jackcess.sourceforge.io" -SRC_URI="https://github.com/jahlborn/${PN}/archive/${P}.tar.gz -> ${P}-sources.tar.gz" -S="${WORKDIR}/${PN}-${P}" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 arm64 ppc64" - -CP_DEPEND=" - >=dev-java/commons-lang-3.17:3.6 - >=dev-java/commons-logging-1.3.1:0[log4j] - >=dev-java/poi-5.2.5:0 -" - -# max jdk-25 for bug #968556 -DEPEND=" - ${CP_DEPEND} - <virtual/jdk-26:* -" - -RDEPEND=" - >=virtual/jre-1.8:* - ${CP_DEPEND}" - -PATCHES=( "${FILESDIR}/jackcess-4.0.0-fix-tests.patch" ) - -JAVA_RESOURCE_DIRS="src/main/resources" -JAVA_SRC_DIR="src/main/java" - -JAVA_TEST_GENTOO_CLASSPATH="junit-4" -JAVA_TEST_RESOURCE_DIRS="src/test/resources" -JAVA_TEST_SRC_DIR="src/test/java" - -JAVA_TEST_EXCLUDES=( - # initializationError(com.healthmarketscience.jackcess.TestUtil) - # org.junit.runners.model.InvalidTestClassError: Invalid test class 'com.healthmarketscience.jackcess.TestUtil' - "com.healthmarketscience.jackcess.TestUtil" -) - -src_prepare() { - default #780585 - java-pkg-2_src_prepare -} - -src_test() { - export TZ=UTC - export LC_ALL=C - java-pkg-simple_src_test -} diff --git a/dev-java/openjfx/Manifest b/dev-java/openjfx/Manifest index 63028b364713..924608fcfead 100644 --- a/dev-java/openjfx/Manifest +++ b/dev-java/openjfx/Manifest @@ -8,5 +8,3 @@ DIST lucene-queries-7.1.0.jar 243126 BLAKE2B 166c3efea04c19314be7fd8c1d6b1378b2b DIST lucene-queryparser-7.1.0.jar 384680 BLAKE2B adce2572de9f534323eead31dd30f97b853b2d5e4be6828c415f0c647460c361e00680d856ff9ffbba0fe45c3e4a425d68938a3d2dc01c76491bb65673e120fa SHA512 7151ef899e318679995138262c3450577ae33580708864581dc22a027f43ca4989825d434680925547e3c04ad4453a454e7045f605d7eee0da57d63db978ed68 DIST lucene-sandbox-7.1.0.jar 182914 BLAKE2B 70c795f84d8f0908abe47db77f632eeb6571a77e1445b8ab04a75080cea40e3b8171071965ff7fd9f6d39a450dd33144e922d19c1f07c605de54b45e3e881323 SHA512 6faf9fd9c7c082bf062adb6a28d89447e6e27152eb3f0a325081e5f791196e5440334632ccbf9c458940220676f7e73390a174889d9b7a656d088b3dade5d500 DIST openjfx-11.0.11_p1.tar.bz2 65017753 BLAKE2B ea5834e469bb0bd3a70595a91cc298f6091bc45de4c471ee9d0bcd45700ab3966a3396781ace2666bf94decd1219a83f01b277116cf23baeb6dd34a1a0f44191 SHA512 a1f94b3166aca50344f8af77ec2a5f52be1b0abc1c65fd3ff97f98017377ab772262502af00ad8cd4a6c44281ea459aff43a9cb7e30a1c35b822da8fb39b94fb -DIST openjfx-8.1000-backports.tar.bz2 9142182 BLAKE2B 58ea420ec015c49d2755105a3d11675a92ecab337c7bda5a1ad72e84d0b35f04ed4252cee24da89b1e7b1b5b8b8b9fea7db93364434800246b87827b21970cc3 SHA512 077392368947cb9da1b5c7e14b641d6edcddd9821eb4f16dbea33e8986568211e93799aca29e70b490c8ef2125d69f8372abd1b1ce428a95420f62ff15c414d6 -DIST openjfx-8.1000.tar.bz2 62286455 BLAKE2B c9a714a618d9ae02768dae6128756d64b2b6299a36a6ad9828bf2213dc641cbbcaa2d3f3e0b4913bb60893419a2d5c730ca2db88f759bbd94b3e83112199278c SHA512 6049730b72e569939fed3d62b46a409e949b4c2309f4355253c8c891799c7fb5138e20aa217454fbbd78b1dd99c254b34b3fe6c9cbb35854bd8656993655bf32 diff --git a/dev-java/openjfx/files/8/0000-Fix-wait-call-in-PosixPlatform.patch b/dev-java/openjfx/files/8/0000-Fix-wait-call-in-PosixPlatform.patch deleted file mode 100644 index 4a482240dc6b..000000000000 --- a/dev-java/openjfx/files/8/0000-Fix-wait-call-in-PosixPlatform.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- rt-8u202-b02/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp -+++ rt-8u202-b02-patched/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp -@@ -232,10 +232,7 @@ - pid_t wpid = 0; - - //TODO Use waitpid instead of wait --#ifdef LINUX -- wait(&status); --#endif --#ifdef MAC -+#if defined(LINUX) || defined(MAC) - wpid = wait(&status); - #endif - diff --git a/dev-java/openjfx/files/8/0001-Change-Lucene.patch b/dev-java/openjfx/files/8/0001-Change-Lucene.patch deleted file mode 100644 index 58d0c805ccb5..000000000000 --- a/dev-java/openjfx/files/8/0001-Change-Lucene.patch +++ /dev/null @@ -1,79 +0,0 @@ ---- rt-8u202-b02/build.gradle -+++ rt-8u202-b02-patched/build.gradle -@@ -3268,38 +3268,38 @@ - // The apps build is Ant based, and gradle lets us "import" ant build.xml - // into our configuration. - -- ant.importBuild 'build.xml' -+ //ant.importBuild 'build.xml' - - // Download the Lucene libraries needed for the Ensemble8 app -- def luceneVersion = "7.4.0" -- getConfigurations().create("lucene"); -- dependencies { -- lucene group: "org.apache.lucene", name: "lucene-core", version: luceneVersion -- lucene group: "org.apache.lucene", name: "lucene-grouping", version: luceneVersion -- lucene group: "org.apache.lucene", name: "lucene-queryparser", version: luceneVersion -- } -+ //def luceneVersion = "7.4.0" -+ //getConfigurations().create("lucene"); -+ //dependencies { -+ // lucene group: "org.apache.lucene", name: "lucene-core", version: luceneVersion -+ // lucene group: "org.apache.lucene", name: "lucene-grouping", version: luceneVersion -+ // lucene group: "org.apache.lucene", name: "lucene-queryparser", version: luceneVersion -+ //} - - // Copy Lucene libraries into the Ensemble8/lib directory -- File ensembleLibDir = rootProject.file("apps/samples/Ensemble8/lib"); -- def libNames = [ "lucene-core-${luceneVersion}.jar", -- "lucene-grouping-${luceneVersion}.jar", -- "lucene-queryparser-${luceneVersion}.jar" ] -- -- -- task getLucene(type: Copy) { -- doFirst { -- ensembleLibDir.mkdirs(); -- } -- into ensembleLibDir -- includeEmptyDirs = false -- configurations.lucene.files.each { f -> -- libNames.each { name -> -- if (name == f.getName()) { -- from f.getPath() -- } -- } -- } -- } -+ //File ensembleLibDir = rootProject.file("apps/samples/Ensemble8/lib"); -+ //def libNames = [ "lucene-core-${luceneVersion}.jar", -+ // "lucene-grouping-${luceneVersion}.jar", -+ // "lucene-queryparser-${luceneVersion}.jar" ] -+ -+ -+ //task getLucene(type: Copy) { -+ // doFirst { -+ // ensembleLibDir.mkdirs(); -+ // } -+ // into ensembleLibDir -+ // includeEmptyDirs = false -+ // configurations.lucene.files.each { f -> -+ // libNames.each { name -> -+ // if (name == f.getName()) { -+ // from f.getPath() -+ // } -+ // } -+ // } -+ //} - - compileTargets { t -> - // The apps build is Ant based, and gradle lets us "import" ant apps/build.xml -@@ -3310,7 +3310,7 @@ - def jfxrtJar = "${rootProject.buildDir}/${sdkDirName}/rt/lib/ext/jfxrt.jar" - - def appsJar = project.task("appsJar${t.capital}") { -- dependsOn(sdk, getLucene) -+ dependsOn(sdk) - doLast() { - ant.properties['targetBld'] = "$t.name" - if (!rootProject.ext[t.upper].compileSwing) { - diff --git a/dev-java/openjfx/files/8/0003-fix-cast-between-incompatible-function-types.patch b/dev-java/openjfx/files/8/0003-fix-cast-between-incompatible-function-types.patch deleted file mode 100644 index 7095841498a1..000000000000 --- a/dev-java/openjfx/files/8/0003-fix-cast-between-incompatible-function-types.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 36b952bdcdc301a600009308bff90440b6ceab5b Mon Sep 17 00:00:00 2001 -From: Mat Booth <mat.booth@redhat.com> -Date: Thu, 21 Jun 2018 15:57:01 +0100 -Subject: [PATCH 4/4] fix cast between incompatible function types - ---- a/modules/graphics/src/main/native-glass/gtk/glass_dnd.cpp -+++ b/modules/graphics/src/main/native-glass/gtk/glass_dnd.cpp -@@ -556,7 +556,7 @@ static GdkDragContext *get_drag_context() { - return ctx; - } - --static gboolean dnd_finish_callback() { -+static gboolean dnd_finish_callback(gpointer data) { - if (dnd_window) { - dnd_set_performed_action( - translate_gdk_action_to_glass( -@@ -1079,6 +1079,10 @@ gboolean DragView::get_drag_image_offset(int* x, int* y) { - return offset_set; - } - -+static void on_pixbuf_destroy_notify(guchar *pixels, gpointer data) { -+ g_free(pixels); -+} -+ - GdkPixbuf* DragView::get_drag_image(gboolean* is_raw_image, gint* width, gint* height) { - GdkPixbuf *pixbuf = NULL; - gboolean is_raw = FALSE; -@@ -1106,7 +1110,7 @@ GdkPixbuf* DragView::get_drag_image(gboolean* is_raw_image, gint* width, gint* h - if (data) { - memcpy(data, (raw + whsz), nraw - whsz); - pixbuf = gdk_pixbuf_new_from_data(data, GDK_COLORSPACE_RGB, TRUE, 8, -- w, h, w * 4, (GdkPixbufDestroyNotify) g_free, NULL); -+ w, h, w * 4, (GdkPixbufDestroyNotify) on_pixbuf_destroy_notify, NULL); - } - } - } ---- a/modules/graphics/src/main/native-glass/gtk/glass_window_ime.cpp -+++ b/modules/graphics/src/main/native-glass/gtk/glass_window_ime.cpp -@@ -122,15 +122,12 @@ bool WindowContextBase::filterIME(GdkEvent * event) { - } - } - --//Note: this function must return int, despite the fact it doesn't conform to XIMProc type. --// This is required in documentation of XIM --static int im_preedit_start(XIM im_xim, XPointer client, XPointer call) { -+static void im_preedit_start(XIM im_xim, XPointer client, XPointer call) { - (void)im_xim; - (void)call; - - mainEnv->CallVoidMethod((jobject) client, jViewNotifyPreeditMode, JNI_TRUE); -- CHECK_JNI_EXCEPTION_RET(mainEnv, -1); -- return -1; // No restrictions -+ CHECK_JNI_EXCEPTION(mainEnv); - } - - static void im_preedit_done(XIM im_xim, XPointer client, XPointer call) { -@@ -234,7 +231,7 @@ void WindowContextBase::enableOrResetIME() { - return; - } - -- XIMCallback startCallback = {(XPointer) jview, (XIMProc) im_preedit_start}; -+ XIMCallback startCallback = {(XPointer) jview, im_preedit_start}; - XIMCallback doneCallback = {(XPointer) jview, im_preedit_done}; - XIMCallback drawCallback = {(XPointer) jview, im_preedit_draw}; - XIMCallback caretCallback = {(XPointer) jview, im_preedit_caret}; --- -2.17.1 - diff --git a/dev-java/openjfx/files/8/0004-Fix-Compilation-Flags.patch b/dev-java/openjfx/files/8/0004-Fix-Compilation-Flags.patch deleted file mode 100644 index 17c91ab9ab88..000000000000 --- a/dev-java/openjfx/files/8/0004-Fix-Compilation-Flags.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- rt-8u202-b07/buildSrc/linux.gradle -+++ rt-8u202-b07-patched/buildSrc/linux.gradle -@@ -54,7 +54,7 @@ - def ccFlags = [ - commonFlags, "-I$JDK_HOME/include", "-I$JDK_HOME/include/linux", "-c", - "-ffunction-sections", "-fdata-sections", -- IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : ["-O2", "-DNDEBUG"]].flatten() -+ IS_DEBUG_NATIVE ? ["-ggdb", "-DNDEBUG"] : ["-O2", "-DNDEBUG"]].flatten() - def ccFlagsGTK3 = ccFlags - //ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"]) - def linkFlags = ["-static-libgcc", "-static-libstdc++", "-shared", commonFlags, - ---- rt-8u202-b07/buildSrc/x86egl.gradle -+++ rt-8u202-b07-patched/buildSrc/x86egl.gradle -@@ -99,7 +99,7 @@ - def ccFlags = [ - commonFlags, - "-I$JDK_HOME/include", "-I$JDK_HOME/include/${jniPlatform}", "-c", -- IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : ["-O2", "-DNDEBUG"]].flatten() -+ IS_DEBUG_NATIVE ? ["-ggdb", "-DNDEBUG"] : ["-O2", "-DNDEBUG"]].flatten() - //ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"]) - def linkFlags = ["-shared", commonFlags].flatten() - diff --git a/dev-java/openjfx/files/8/0005-don-t-include-xlocale.h.patch b/dev-java/openjfx/files/8/0005-don-t-include-xlocale.h.patch deleted file mode 100644 index cabb36eefe54..000000000000 --- a/dev-java/openjfx/files/8/0005-don-t-include-xlocale.h.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 597f200762be416d5a62f1efd351cba6e47c1c4c Mon Sep 17 00:00:00 2001 -From: Georgy Yakovlev <gyakovlev@gentoo.org> -Date: Thu, 30 May 2019 12:07:30 -0700 -Subject: [PATCH] don't include xlocale.h - ---- a/modules/media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstrfuncs.c -+++ b/modules/media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstrfuncs.c -@@ -39,7 +39,7 @@ - - #ifdef HAVE_XLOCALE_H - /* Needed on BSD/OS X for e.g. strtod_l */ --#include <xlocale.h> -+#include <locale.h> - #endif - - #ifdef G_OS_WIN32 --- -2.21.0 - diff --git a/dev-java/openjfx/files/8/06-disable-architecture-verification.patch b/dev-java/openjfx/files/8/06-disable-architecture-verification.patch deleted file mode 100644 index d10e62850c31..000000000000 --- a/dev-java/openjfx/files/8/06-disable-architecture-verification.patch +++ /dev/null @@ -1,21 +0,0 @@ -Description: Disable the architecture verification which is limited to i386 and amd64 -Author: Emmanuel Bourg <ebourg@apache.org> -Forwarded: no ---- a/build.gradle -+++ b/build.gradle -@@ -699,6 +699,7 @@ - // at present building on PI is not supported, but we would only need to make - // some changes on assumptions on what should be built (like SWT / Swing) and - // such and we could probably make it work. -+/* - if (!IS_MAC && !IS_WINDOWS && !IS_LINUX) logger.error("Unsupported build OS ${OS_NAME}") - if (IS_WINDOWS && OS_ARCH != "x86" && OS_ARCH != "amd64") { - throw new Exception("Unknown and unsupported build architecture: $OS_ARCH") -@@ -707,6 +708,7 @@ - } else if (IS_LINUX && OS_ARCH != "i386" && OS_ARCH != "amd64") { - throw new Exception("Unknown and unsupported build architecture: $OS_ARCH") - } -+*/ - - // Sanity check that we actually have a list of compile targets to execute - if (COMPILE_TARGETS == null || COMPILE_TARGETS == "") { diff --git a/dev-java/openjfx/files/8/10-javadoc-locale.patch b/dev-java/openjfx/files/8/10-javadoc-locale.patch deleted file mode 100644 index 39d346a4fb73..000000000000 --- a/dev-java/openjfx/files/8/10-javadoc-locale.patch +++ /dev/null @@ -1,21 +0,0 @@ -Description: Set the locale of the javadoc to make the build reproducible -Author: Emmanuel Bourg <ebourg@apache.org> -Forwarded: no ---- a/build.gradle -+++ b/build.gradle -@@ -1218,6 +1218,7 @@ - } else { - options.links(JDK_DOCS); - } -+ options.locale("en"); - options.addBooleanOption("XDignore.symbol.file").setValue(true); - options.addBooleanOption("Xdoclint:none").setValue(!IS_DOC_LINT); - options.addBooleanOption("javafx").setValue(true); -@@ -2769,6 +2770,7 @@ - options.windowTitle("${javadocTitle}") - options.header("${javadocHeader}") - options.bottom("${javadocBottom}") -+ options.locale("en"); - if (BUILD_CLOSED) { - options.linksOffline(JDK_DOCS, JDK_DOCS_CLOSED); - } else { diff --git a/dev-java/openjfx/files/8/99-sysdeps.patch b/dev-java/openjfx/files/8/99-sysdeps.patch deleted file mode 100644 index abcdbab67ef3..000000000000 --- a/dev-java/openjfx/files/8/99-sysdeps.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/build.gradle -+++ b/build.gradle -@@ -1309,6 +1309,7 @@ project(":graphics") { - antlr3 group: "org.antlr", name: "antlr", version: "3.1.3" - antlr3 group: "org.antlr", name: "antlr-runtime", version: "3.1.3" - antlr3 group: "org.antlr", name: "stringtemplate", version: "3.2" -+ antlr3 group: "antlr", name: "antlr", version: "2.7.7" - } - - // Create a single "native" task which will depend on all the individual native tasks for graphics ---- a/buildSrc/build.gradle -+++ b/buildSrc/build.gradle -@@ -82,10 +82,13 @@ getConfigurations().create("antlr3"); - - dependencies { - compile group: "org.antlr", name: "antlr", version: "3.1.3" -+ compile group: "org.antlr", name: "antlr-runtime", version: "3.1.3" -+ compile group: "org.antlr", name: "stringtemplate", version: "3.2" - testCompile group: "junit", name: "junit", version: "4.8.2" - antlr3 group: "org.antlr", name: "antlr-runtime", version: "3.1.3" - antlr3 group: "org.antlr", name: "stringtemplate", version: "3.2" - antlr3 group: "org.antlr", name: "antlr", version: "3.1.3" -+ antlr3 group: "antlr", name: "antlr", version: "2.7.7" - } - - // At the moment the ASM library shipped with Gradle that is used to diff --git a/dev-java/openjfx/files/8/Wno-error.patch b/dev-java/openjfx/files/8/Wno-error.patch deleted file mode 100644 index 771da0707088..000000000000 --- a/dev-java/openjfx/files/8/Wno-error.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 822bf818933311327c5b73cb1b185484f22f55fb Mon Sep 17 00:00:00 2001 -From: Georgy Yakovlev <gyakovlev@gentoo.org> -Date: Sun, 26 Apr 2020 21:15:36 -0700 -Subject: [PATCH] Wno-error - ---- a/buildSrc/armv5sf.gradle -+++ b/buildSrc/armv5sf.gradle -@@ -135,7 +135,6 @@ def dfbLFlags = ["-ldl"] - def lensLFlags = [extraLFlags, "-lpthread", "-ludev", "-ldl", "-lm"].flatten() - def monocleCFlags = [ - extraCFlags, -- "-Werror", - "-I", file("modules/graphics/src/main/native-glass/monocle/")].flatten(); - def monocleLFlags = [extraLFlags, "-ldl", "-lm"].flatten() - def glassCFlags = ["-ffast-math"] ---- a/buildSrc/armv6hf.gradle -+++ b/buildSrc/armv6hf.gradle -@@ -131,7 +131,6 @@ def extraLFlags = [ - def lensLFlags = [extraLFlags, "-lpthread", "-ludev", "-ldl", "-lm"].flatten() - def monocleCFlags = [ - extraCFlags, -- "-Werror", - "-I", file("modules/graphics/src/main/native-glass/monocle/")].flatten(); - def monocleLFlags = [extraLFlags, "-ldl", "-lm"].flatten() - ---- a/buildSrc/armv6sf.gradle -+++ b/buildSrc/armv6sf.gradle -@@ -135,7 +135,6 @@ def dfbLFlags = ["-ldl"] - def lensLFlags = [extraLFlags, "-lpthread", "-ludev", "-ldl", "-lm"].flatten() - def monocleCFlags = [ - extraCFlags, -- "-Werror", - "-I", file("modules/graphics/src/main/native-glass/monocle/")].flatten(); - def monocleLFlags = [extraLFlags, "-ldl", "-lm"].flatten() - def glassCFlags = ["-ffast-math"] ---- a/buildSrc/armv7hf.gradle -+++ b/buildSrc/armv7hf.gradle -@@ -131,7 +131,6 @@ def extraLFlags = [ - def lensLFlags = [extraLFlags, "-lpthread", "-ludev", "-ldl", "-lm"].flatten() - def monocleCFlags = [ - extraCFlags, -- "-Werror", - "-I", file("modules/graphics/src/main/native-glass/monocle/")].flatten(); - def monocleLFlags = [extraLFlags, "-ldl", "-lm"].flatten() - ---- a/buildSrc/armv7sf.gradle -+++ b/buildSrc/armv7sf.gradle -@@ -135,7 +135,6 @@ def dfbLFlags = ["-ldl"] - def lensLFlags = [extraLFlags, "-lpthread", "-ludev", "-ldl", "-lm"].flatten() - def monocleCFlags = [ - extraCFlags, -- "-Werror", - "-I", file("modules/graphics/src/main/native-glass/monocle/")].flatten(); - def monocleLFlags = [extraLFlags, "-ldl", "-lm"].flatten() - def glassCFlags = ["-ffast-math"] ---- a/buildSrc/x86egl.gradle -+++ b/buildSrc/x86egl.gradle -@@ -118,7 +118,6 @@ def extraLFlags = [ - def lensLFlags = [extraLFlags, "-lpthread", "-ludev", "-ldl", "-lm"].flatten() - def monocleCFlags = [ - extraCFlags, -- "-Werror", - "-I", file("modules/graphics/src/main/native-glass/monocle/")].flatten(); - def monocleLFlags = [extraLFlags, "-ldl", "-lm"].flatten() - --- -2.26.2 - diff --git a/dev-java/openjfx/files/8/disable-online-repos.patch b/dev-java/openjfx/files/8/disable-online-repos.patch deleted file mode 100644 index 6dd2db128e90..000000000000 --- a/dev-java/openjfx/files/8/disable-online-repos.patch +++ /dev/null @@ -1,52 +0,0 @@ ---- a/build.gradle -+++ b/build.gradle -@@ -1135,17 +1135,17 @@ allprojects { - // "artifact" in the pattern below. Note that the closed builds use different repositories - // so if you are debugging a closed-build artifact related build issue, check out the - // closed gradle file instead. -- if (!BUILD_CLOSED) { -- repositories { -- mavenCentral() -- ivy { -- url "http://download.eclipse.org/eclipse/updates/4.6/R-4.6.3-201703010400/plugins/" -- layout "pattern", { -- artifact "[artifact].[ext]" -- } -- } -- } -- } -+ // if (!BUILD_CLOSED) { -+ // repositories { -+ // mavenCentral() -+ // ivy { -+ // url "http://download.eclipse.org/eclipse/updates/4.6/R-4.6.3-201703010400/plugins/" -+ // layout "pattern", { -+ // artifact "[artifact].[ext]" -+ // } -+ // } -+ // } -+ // } - - // We want to configure all projects as java projects and use the same compile settings - // etc, except for the root project which we just want to ignore (and for now media) -@@ -1785,13 +1785,13 @@ project(":fxpackager") { - } - // fxpackager has a dependency on ant in order to build the ant jar, - // and as such needs to point to the apache binary repository -- if (!BUILD_CLOSED) { -- repositories { -- maven { -- url "https://repository.apache.org" -- } -- } -- } -+ // if (!BUILD_CLOSED) { -+ // repositories { -+ // maven { -+ // url "https://repository.apache.org" -+ // } -+ // } -+ // } - - dependencies { - compile group: "org.apache.ant", name: "ant", version: "1.8.2" diff --git a/dev-java/openjfx/files/8/don-t-force-msse.patch b/dev-java/openjfx/files/8/don-t-force-msse.patch deleted file mode 100644 index 6cdb19e5a002..000000000000 --- a/dev-java/openjfx/files/8/don-t-force-msse.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 6483d73551590e8036cd5ec6d317e8114b403f36 Mon Sep 17 00:00:00 2001 -From: Georgy Yakovlev <gyakovlev@gentoo.org> -Date: Sun, 26 Apr 2020 20:57:39 -0700 -Subject: [PATCH] don't force msse - ---- a/modules/media/src/main/native/gstreamer/projects/linux/avplugin/Makefile -+++ b/modules/media/src/main/native/gstreamer/projects/linux/avplugin/Makefile -@@ -28,7 +28,6 @@ CFLAGS = -fPIC \ - -Wformat-security \ - -Werror=implicit-function-declaration \ - -fstack-protector \ -- -msse2 \ - -fbuiltin \ - -DHAVE_STDINT_H \ - -DLINUX \ ---- a/modules/media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile -+++ b/modules/media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile -@@ -25,7 +25,6 @@ CFLAGS = -fPIC \ - -Wformat-security \ - -Werror=implicit-function-declaration \ - -fstack-protector \ -- -msse2 \ - -fbuiltin \ - -DHAVE_STDINT_H \ - -DLINUX \ ---- a/modules/media/src/main/native/jfxmedia/projects/linux/Makefile -+++ b/modules/media/src/main/native/jfxmedia/projects/linux/Makefile -@@ -44,7 +44,6 @@ ifdef HOST_COMPILE - -Wformat-security \ - -fstack-protector \ - -Werror=implicit-function-declaration \ -- -msse2 \ - -DGSTREAMER_LITE - - INCLUDES = $(BASE_INCLUDES) \ --- -2.26.2 - diff --git a/dev-java/openjfx/files/8/fxpackager-don-t-include-obsolete-sys-sysctl.h.patch b/dev-java/openjfx/files/8/fxpackager-don-t-include-obsolete-sys-sysctl.h.patch deleted file mode 100644 index 6fd0a9852012..000000000000 --- a/dev-java/openjfx/files/8/fxpackager-don-t-include-obsolete-sys-sysctl.h.patch +++ /dev/null @@ -1,18 +0,0 @@ -From 26d59b7c8cc2b40277756f55387606ba8a852b31 Mon Sep 17 00:00:00 2001 -From: Georgy Yakovlev <gyakovlev@gentoo.org> -Date: Fri, 18 Sep 2020 21:43:57 -0700 -Subject: [PATCH] fxpackager: don't include obsolete sys/sysctl.h - ---- a/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp -+++ b/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp -@@ -43,7 +43,6 @@ - #include <sys/types.h> - #include <sys/wait.h> - #include <unistd.h> --#include <sys/sysctl.h> - #include <iostream> - #include <dlfcn.h> - #include <signal.h> --- -2.28.0 - diff --git a/dev-java/openjfx/files/8/missing-casts.patch b/dev-java/openjfx/files/8/missing-casts.patch deleted file mode 100644 index c3d45f4f07df..000000000000 --- a/dev-java/openjfx/files/8/missing-casts.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/modules/graphics/src/main/native-font/pango.c -+++ b/modules/graphics/src/main/native-font/pango.c -@@ -225,7 +225,7 @@ JNIEXPORT jboolean JNICALL OS_NATIVE(FcConfigAppFontAddFile) - if (text) { - // rc = (jboolean)FcConfigAppFontAddFile(arg0, text); - if (fp) { -- rc = (jboolean)((jboolean (*)(void *, const char *))fp)(arg0, text); -+ rc = (jboolean)((jboolean (*)(void *, const char *))fp)((void *)(intptr_t)arg0, text); - } - (*env)->ReleaseStringUTFChars(env, arg1, text); - } ---- a/modules/graphics/src/main/native-prism-es2/x11/X11GLContext.c -+++ b/modules/graphics/src/main/native-prism-es2/x11/X11GLContext.c -@@ -275,7 +275,7 @@ JNIEXPORT jlong JNICALL Java_com_sun_prism_es2_X11GLContext_nInitialize - dlsym(RTLD_DEFAULT, "glXSwapIntervalSGI"); - - if (ctxInfo->glXSwapIntervalSGI == NULL) { -- ctxInfo->glXSwapIntervalSGI = glXGetProcAddress("glXSwapIntervalSGI"); -+ ctxInfo->glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)glXGetProcAddress("glXSwapIntervalSGI"); - } - - } diff --git a/dev-java/openjfx/files/8/respect_flags.patch b/dev-java/openjfx/files/8/respect_flags.patch deleted file mode 100644 index b8a0975965a8..000000000000 --- a/dev-java/openjfx/files/8/respect_flags.patch +++ /dev/null @@ -1,192 +0,0 @@ -From 102cfe6848fe3e67c3d85cca8f3c02c1f316845b Mon Sep 17 00:00:00 2001 -From: Georgy Yakovlev <gyakovlev@gentoo.org> -Date: Thu, 25 Mar 2021 10:06:49 -0700 -Subject: [PATCH] respect flags - ---- a/buildSrc/linux.gradle -+++ b/buildSrc/linux.gradle -@@ -46,6 +46,9 @@ def commonFlags = [ - "-fstack-protector", - "-W", "-Wall", "-Wno-unused", "-Wno-parentheses", "-Werror=implicit-function-declaration"] // warning flags - -+ -+commonFlags.addAll(System.getenv('CFLAGS').trim().split(" ")) -+ - if (!IS_64) { - commonFlags += "-m32" - } -@@ -61,6 +64,7 @@ def linkFlags = ["-static-libgcc", "-static-libstdc++", "-shared", commonFlags, - "-z", "relro", - "-Wl,--gc-sections"].flatten() - def defaultLinkFlags = linkFlags.flatten() -+linkFlags.addAll(System.getenv('LDFLAGS').trim().split(" ")) - - def toolchainDir - if (hasProperty('toolchainDir')) { ---- a/modules/media/src/main/native/gstreamer/projects/linux/avplugin/Makefile -+++ b/modules/media/src/main/native/gstreamer/projects/linux/avplugin/Makefile -@@ -22,7 +22,7 @@ TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so - OBJBASE_DIR = $(BUILD_DIR)/obj/plugins/avplugin - endif - --CFLAGS = -fPIC \ -+CFLAGS := -fPIC \ - -Wformat \ - -Wextra \ - -Wformat-security \ -@@ -34,13 +34,8 @@ CFLAGS = -fPIC \ - -DGST_DISABLE_LOADSAVE \ - -DGSTREAMER_LITE \ - -DG_DISABLE_DEPRECATED \ -- -ffunction-sections -fdata-sections -- --ifeq ($(BUILD_TYPE), Release) -- CFLAGS += -Os --else -- CFLAGS += -g -Wall --endif -+ -ffunction-sections -fdata-sections \ -+ ${CFLAGS} - - INCLUDES= -I../../../plugins \ - -I../../../plugins/av \ -@@ -50,11 +45,12 @@ INCLUDES= -I../../../plugins \ - -I$(GLIB_DIR)/glib \ - -I$(GLIB_DIR)/gmodule - --LDFLAGS = -L$(BUILD_DIR) \ -+LDFLAGS := -L$(BUILD_DIR) \ - -z relro \ - -lgstreamer-lite \ - -lglib-lite \ -- -static-libgcc -static-libstdc++ -Wl,--gc-sections -+ -static-libgcc -static-libstdc++ -Wl,--gc-sections \ -+ ${LDFLAGS} - - ifneq ($(strip $(LIBAV_DIR)),) - INCLUDES += -I$(LIBAV_DIR)/include ---- a/modules/media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile -+++ b/modules/media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile -@@ -19,7 +19,7 @@ DIRLIST = progressbuffer \ - - TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so - --CFLAGS = -fPIC \ -+CFLAGS := -fPIC \ - -Wformat \ - -Wextra \ - -Wformat-security \ -@@ -35,14 +35,8 @@ CFLAGS = -fPIC \ - -DGST_DISABLE_GST_DEBUG \ - -DGSTREAMER_LITE \ - -DG_DISABLE_DEPRECATED \ -- -ffunction-sections -fdata-sections -- --ifeq ($(BUILD_TYPE), Release) -- CFLAGS += -Os --else -- CFLAGS += -g -Wall --endif -- -+ -ffunction-sections -fdata-sections \ -+ ${CFLAGS} - - INCLUDES = -I$(SRCBASE_DIR) \ - $(addprefix -I$(SRCBASE_DIR)/,$(DIRLIST)) \ -@@ -52,9 +46,10 @@ INCLUDES = -I$(SRCBASE_DIR) \ - -I$(GLIB_DIR)/glib \ - -I$(GLIB_DIR)/gmodule - --LDFLAGS = -L$(BUILD_DIR) -lgstreamer-lite -lglib-lite \ -+LDFLAGS := -L$(BUILD_DIR) -lgstreamer-lite -lglib-lite \ - -z relro \ -- -static-libgcc -static-libstdc++ -Wl,--gc-sections -+ -static-libgcc -static-libstdc++ -Wl,--gc-sections \ -+ ${LDFLAGS} - - ifeq ($(ARCH), x32) - CFLAGS += -m32 ---- a/modules/media/src/main/native/gstreamer/projects/linux/glib-lite/Makefile -+++ b/modules/media/src/main/native/gstreamer/projects/linux/glib-lite/Makefile -@@ -40,20 +40,15 @@ CFLAGS += -fPIC \ - -DMATCH_LIMIT=10000000 \ - -DMATCH_LIMIT_RECURSION=10000000 - --ifeq ($(BUILD_TYPE), Release) -- CFLAGS += -Os --else -- CFLAGS += -g -Wall --endif -- - INCLUDES = -I$(SRCBASE_DIR) \ - -I$(SRCBASE_DIR)/glib \ - -I$(SRCBASE_DIR)/build/linux \ - -I$(LIBFFI_DIR)/include - --LDFLAGS = -L$(BUILD_DIR) -lffi \ -+LDFLAGS := -L$(BUILD_DIR) -lffi \ - -z relro \ -- -static-libgcc -static-libstdc++ -Wl,--gc-sections -+ -static-libgcc -static-libstdc++ -Wl,--gc-sections \ -+ ${LDFLAGS} - - ifeq ($(ARCH), x32) - CFLAGS += -m32 ---- a/modules/media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile -+++ b/modules/media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile -@@ -41,7 +41,7 @@ DIRLIST = gstreamer/gst \ - - TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so - --CFLAGS =-fPIC \ -+CFLAGS :=-fPIC \ - -Wformat \ - -Wextra \ - -Wformat-security \ -@@ -56,13 +56,8 @@ CFLAGS =-fPIC \ - -DGST_DISABLE_GST_DEBUG \ - -DGST_DISABLE_LOADSAVE \ - -DG_DISABLE_DEPRECATED \ -- -ffunction-sections -fdata-sections -- --ifeq ($(BUILD_TYPE), Release) -- CFLAGS += -Os --else -- CFLAGS += -g -Wall --endif -+ -ffunction-sections -fdata-sections \ -+ ${CFLAGS} - - INCLUDES = -I$(BASE_DIR)/plugins \ - -I$(SRCBASE_DIR)/projects/build/linux/common \ -@@ -83,9 +78,10 @@ INCLUDES = -I$(BASE_DIR)/plugins \ - PACKAGES_INCLUDES := $(shell pkg-config --cflags alsa) - PACKAGES_LIBS := $(shell pkg-config --libs alsa) - --LDFLAGS = -L$(BUILD_DIR) -lm -lglib-lite $(PACKAGES_LIBS) \ -+LDFLAGS := -L$(BUILD_DIR) -lm -lglib-lite $(PACKAGES_LIBS) \ - -z relro \ -- -static-libgcc -static-libstdc++ -Wl,--gc-sections -+ -static-libgcc -static-libstdc++ -Wl,--gc-sections \ -+ ${LDFLAGS} - - ifeq ($(ARCH), x32) - CFLAGS += -m32 ---- a/modules/media/src/main/native/gstreamer/projects/linux/libffi/Makefile -+++ b/modules/media/src/main/native/gstreamer/projects/linux/libffi/Makefile -@@ -20,12 +20,6 @@ CFLAGS += -c \ - -DHAVE_AS_X86_PCREL \ - -DGSTREAMER_LITE - --ifeq ($(BUILD_TYPE), Release) -- CFLAGS += -Os --else -- CFLAGS += -O0 -g -Wall --endif -- - INCLUDES = -I$(SRCBASE_DIR)/include - - C_SOURCES = src/closures.c \ --- -2.31.0 - diff --git a/dev-java/openjfx/openjfx-8.1000-r2.ebuild b/dev-java/openjfx/openjfx-8.1000-r2.ebuild deleted file mode 100644 index 303971b7904b..000000000000 --- a/dev-java/openjfx/openjfx-8.1000-r2.ebuild +++ /dev/null @@ -1,196 +0,0 @@ -# Copyright 2020-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="doc source" - -inherit flag-o-matic java-pkg-2 java-pkg-simple multiprocessing toolchain-funcs - -EGRADLE_VER="4.10.3" -EHG_COMMIT="9f49e3b6147f" - -DESCRIPTION="Java OpenJFX 8 client application platform" -HOMEPAGE="https://openjfx.io" -SRC_URI=" - https://hg.openjdk.java.net/${PN}/8u-dev/rt/archive/${EHG_COMMIT}.tar.bz2 -> ${P}.tar.bz2 - https://dev.gentoo.org/~gyakovlev/distfiles/${P}-backports.tar.bz2 - https://downloads.gradle.org/distributions/gradle-${EGRADLE_VER}-bin.zip -" -# eclass overrides it, set back to normal -S="${WORKDIR}/${P}" - -LICENSE="GPL-2-with-classpath-exception" -SLOT="$(ver_cut 1)" -KEYWORDS="~amd64 ~ppc64" -IUSE="debug doc media cpu_flags_x86_sse2" -REQUIRED_USE="amd64? ( cpu_flags_x86_sse2 )" -RESTRICT="test" # needs junit version we don't have, fragile - -DEPEND=" - app-arch/unzip - >=dev-java/ant-1.10.14:0 - >=dev-java/antlr-2.7.7-r7:0 - dev-java/antlr:3 - dev-java/openjdk:8 - dev-java/stringtemplate:0 - dev-java/swt:4.10[cairo,opengl] - app-alternatives/yacc - app-alternatives/lex - virtual/jdk:1.8 - virtual/pkgconfig -" - -RDEPEND=" - dev-java/swt:4.10[cairo,opengl] - virtual/jre:1.8 -" - -# FIXME: majority of flags are honored, needs a bit more patching -QA_FLAGS_IGNORED=".*" - -JAVA_PKG_WANT_BUILD_VM="openjdk-8" -JAVA_PKG_WANT_SOURCE="1.8" -JAVA_PKG_WANT_TARGET="1.8" - -PATCHES=( - "${FILESDIR}"/8/99-sysdeps.patch - "${FILESDIR}"/8/disable-online-repos.patch - "${FILESDIR}"/8/respect_flags.patch - "${FILESDIR}"/8/0000-Fix-wait-call-in-PosixPlatform.patch - "${FILESDIR}"/8/0001-Change-Lucene.patch - "${FILESDIR}"/8/0003-fix-cast-between-incompatible-function-types.patch - "${FILESDIR}"/8/0004-Fix-Compilation-Flags.patch - "${FILESDIR}"/8/0005-don-t-include-xlocale.h.patch - "${FILESDIR}"/8/06-disable-architecture-verification.patch - "${FILESDIR}"/8/10-javadoc-locale.patch - "${FILESDIR}"/8/Wno-error.patch - "${FILESDIR}"/8/don-t-force-msse.patch - "${FILESDIR}"/8/fxpackager-don-t-include-obsolete-sys-sysctl.h.patch - "${FILESDIR}"/8/missing-casts.patch -) - -egradle() { - local GRADLE_HOME="${WORKDIR}/gradle-${EGRADLE_VER}" - local gradle="${GRADLE_HOME}/bin/gradle" - local gradle_args=( - --info - --stacktrace - --no-build-cache - --no-daemon - --offline - --gradle-user-home "${T}/gradle_user_home" - --project-cache-dir "${T}/gradle_project_cache" - ) - - export GRADLE_HOME - - # FIXME: build.gradle believes $ANT_HOME/bin/ant shoud exist - unset ANT_HOME - - einfo "gradle "${gradle_args[@]}" ${@}" - # TERM needed, otherwise gradle may fail on terms it does not know about - TERM="xterm" "${gradle}" "${gradle_args[@]}" ${@} || die "gradle failed" -} - -src_unpack() { - default - mv -v "rt-${EHG_COMMIT}" "${P}" || die -} - -src_prepare() { - eapply "${WORKDIR}/${P}-backports" - default - - # this will create local jar storage to be used as ivy repo - local d="${T}/jars" - mkdir "${d}" || die - - # we need jars subdir in every prokect so gradle can find them - # only system jars, no bundling - local target targets - targets=( - jars - buildSrc/jars - modules/{base,builders,controls,extensions,fxml}/jars - modules/{graphics,jmx,media,swing,swt,web,fxpackager}/jars - ) - einfo "Copying system jars" - for target in ${targets[@]}; do - ln -vs "${T}/jars" "${target}" || die - done - - local swt_file_name="$(java-pkg_getjars swt-4.10)" - java-pkg_jar-from --build-only --into "${d}" ant ant.jar ant-1.8.2.jar - java-pkg_jar-from --build-only --into "${d}" ant ant-launcher.jar ant-launcher-1.8.2.jar - java-pkg_jar-from --build-only --into "${d}" antlr antlr.jar antlr-2.7.7.jar - java-pkg_jar-from --build-only --into "${d}" antlr-3 antlr-tool.jar antlr-3.1.3.jar - java-pkg_jar-from --build-only --into "${d}" antlr-3 antlr-runtime.jar antlr-runtime-3.1.3.jar - java-pkg_jar-from --build-only --into "${d}" stringtemplate stringtemplate.jar stringtemplate-3.2.jar - sed -i "s#compile name: SWT_FILE_NAME#compile files(\"${swt_file_name}\")#" "${S}"/build.gradle || die - - sed -i 's/-rpath/-rpath-link/g' modules/media/src/main/native/jfxmedia/projects/linux/Makefile || die -} - -src_configure() { - # see gradle.properties.template in ${S} - cat <<- _EOF_ > "${S}"/gradle.properties - COMPILE_TARGETS = linux - GRADLE_VERSION_CHECK = false - COMPILE_AVPLUGIN = $(usex media true false) - COMPILE_MEDIA = $(usex media true false) - COMPILE_WEBKIT = false - BUILD_JAVADOC = $(usex doc true false) - BUILD_SRC_ZIP = $(usex source true false) - FULL_TEST = false - CONF = $(usex debug DebugNative Release) - NUM_COMPILE_THREADS = $(makeopts_jobs) - _EOF_ - - local repostring=' - repositories { - ivy { - url file("${projectDir}/jars") - layout "pattern", { - artifact "[artifact]-[revision].[ext]" - artifact "[artifact].[ext]" - } - } - mavenLocal() - }' - - cat <<- _EOF_ > "${S}"/buildSrc/gentoo.gradle - ${repostring} - _EOF_ - - cat <<- _EOF_ > "${S}"/gentoo.gradle - ${repostring} - allprojects { - ${repostring} - } - _EOF_ - - echo "apply from: 'gentoo.gradle'" >> build.gradle || die - echo "apply from: 'gentoo.gradle'" >> buildSrc/build.gradle || die - sed -i 's/mavenCentral/mavenLocal/g' build.gradle || die - sed -i 's/mavenCentral/mavenLocal/g' buildSrc/build.gradle || die - einfo "Configured with the following settings:" - cat gradle.properties || die - -} - -src_compile() { - append-cflags '-fcommon' - tc-export_build_env CC CXX PKG_CONFIG - rm -r tests buildSrc/src/test || die - egradle openExportLinux -} - -src_install() { - local dest="/usr/$(get_libdir)/openjdk-${SLOT}" - local ddest="${ED}${dest}" - dodir "${dest}" - pushd build/export/sdk > /dev/null || die - cp -pPRv * "${ddest}" || die - popd > /dev/null || die -} diff --git a/dev-java/poi/Manifest b/dev-java/poi/Manifest index 2bfa2caf7714..ecac6d6d0b00 100644 --- a/dev-java/poi/Manifest +++ b/dev-java/poi/Manifest @@ -1,4 +1,2 @@ DIST apache-poi-src-5.5.1-20251126.tgz 121846633 BLAKE2B 0435eac69119a6a2acf9c44e2f3a4522ab19e7b58c1f9e6fecedbcf46dc6129b369dbbe31c268d128acc2d8f8aa2a143e7e491f64ffae1ff1c517540b8b24812 SHA512 c40638012cacb52e0667af42eb397ebac28d618a882e82e6933b7833550fca7e17f636f297837616436afb79269ae6e5e110574294f2794e2366e1acbb158cac DIST apache-poi-src-5.5.1-20251126.tgz.asc 488 BLAKE2B 159f281c39863a5153e7862cd1f6b89d6c0387772caa3848caf779b6540e2e7ca94574d959e223de0b7494fd34031b0f154dda283e8d83199a634e641da763a9 SHA512 8dedc18ba861b0d1b1a63158a321a1dd05e0438b11a7d1a0f57dd2d9e06e63bc584109bc2cc5d6ceb4c5a77fd29e36e0bcade05d8e331df4552de2952061f75b -DIST poi-src-5.2.5-20231118.tgz 120325373 BLAKE2B a998b874040ac2fb136b9ffa59d30cf5939434efe59d51fc2e79c63f6fd1f3ad1679b532840f0e1975aa0fe79368951ecf2ddc0259e3dfce9fc2c34d95cb7216 SHA512 d46e94cfadc3a843d8e06033a618098dde738830f20146c6e39abd8f467aa88987719363ee2b91ecf6812e604cdc72a5c0a799676e264a6f9d3799aa4639a6c9 -DIST poi-src-5.2.5-20231118.tgz.asc 488 BLAKE2B 634ed5e3bacd71213a96b9da147348deb3dd2837f6cf47f4d76c254442504815e41b1d9a3facfaa27c927f11f1ba552acf4dc94c4ffbfd11cc70eefd054a1523 SHA512 3588d60ad1c5e59540f19e345f2cfd6600a592fda313ab53bfd280599906e9d3c44aedae8fb72409ebae67c0285b257290bdca9128a632379db894143585dd1e diff --git a/dev-java/poi/poi-5.2.5.ebuild b/dev-java/poi/poi-5.2.5.ebuild deleted file mode 100644 index e16a09749d08..000000000000 --- a/dev-java/poi/poi-5.2.5.ebuild +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# No tests, #839681 -JAVA_PKG_IUSE="doc source" -MAVEN_ID="org.apache.poi:poi-main:${PV}" - -inherit java-pkg-2 java-pkg-simple verify-sig - -DESCRIPTION="Maven build of Apache POI for Sonar checks" -HOMEPAGE="https://poi.apache.org/" -RELEASE_DATE="20231118" -SRC_URI="https://archive.apache.org/dist/poi/release/src/poi-src-${PV}-${RELEASE_DATE}.tgz - verify-sig? ( https://archive.apache.org/dist/poi/release/src/poi-src-${PV}-${RELEASE_DATE}.tgz.asc )" -S="${WORKDIR}/poi-src-${PV}-${RELEASE_DATE}" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 arm64 ppc64" - -VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/poi.apache.org.asc" -BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-poi )" -DEPEND=" - dev-java/commons-codec:0 - dev-java/commons-collections:4 - dev-java/commons-io:1 - dev-java/commons-math:3 - dev-java/log4j-api:2 - >=dev-java/sparsebitset-1.3:0 - >=virtual/jdk-11:* -" - -RDEPEND=">=virtual/jre-1.8:*" - -JAVA_AUTOMATIC_MODULE_NAME="org.apache.poi.poi" -JAVA_CLASSPATH_EXTRA=" - commons-codec - commons-collections-4 - commons-io-1 - commons-math-3 - log4j-api-2 - sparsebitset -" -JAVA_RESOURCE_DIRS="poi/src/main/resources" -JAVA_SRC_DIR=( poi/src/main/java{,9} ) - -src_prepare() { - java-pkg-2_src_prepare - sed \ - -e "s:@VERSION@:${PV}:g" \ - -e "s:@DSTAMP@:${RELEASE_DATE}:g" \ - poi/src/main/version/Version.java.template \ - > poi/src/main/java/org/apache/poi/Version.java || die - # log4j-api does not provide Automatic-Module - sed \ - -e '/org.apache.logging.log4j/d' \ - -i poi/src/main/java9/module-info.java || die -} diff --git a/dev-java/poi/poi-5.5.1.ebuild b/dev-java/poi/poi-5.5.1.ebuild index 94dc5e44b97a..3a53ada970cd 100644 --- a/dev-java/poi/poi-5.5.1.ebuild +++ b/dev-java/poi/poi-5.5.1.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}/apache-poi-src-${PV}-${RELEASE_DATE}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64" +KEYWORDS="amd64 arm64 ppc64" BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-apache-poi-20240421 )" DEPEND=" diff --git a/dev-java/swt/Manifest b/dev-java/swt/Manifest index e3f7ac73b441..274290f156be 100644 --- a/dev-java/swt/Manifest +++ b/dev-java/swt/Manifest @@ -1,5 +1,3 @@ -DIST swt-4.10-gtk-linux-ppc64le.zip 3848264 BLAKE2B 214861fde6987906fb24f3187936f3bcb49aebed54fe242427c3737bf6761e8f77d049c376f30ca0fc33e74a1e8a48b6aff6d9863775ee9c33fea7cb2edd1309 SHA512 1b3ede58c2b41abae76f58a303bd3fbf1849ba8be3fd6518325bc22400e960c3ab542e7351b1bc08053e2746ea3e28812e04c2d1789cb1e19ea28745c8a5f39a -DIST swt-4.10-gtk-linux-x86_64.zip 3844306 BLAKE2B 0e0ed21708acce347fd025920ee635f586c460f8a9c05a7067fd70eed9da999b4a62a5febd17f0c5546ab15198336038e4ab49a1bd588d49ffb39450353a1911 SHA512 9dd946cb7c11446f553f06b8af516167519bab00d4a89f626cd612be6d18e50023fc537aa3d844a8f7a56a767df00410efe4dd20e2bfd930639330a1e279a7a0 DIST swt-4.29-gtk-linux-aarch64.zip 3836724 BLAKE2B 8c905df298688686ee22c9f2021560856f7ac7b6a92dad744b27cd30530c6ff76470fdcbb79b91ada01f28c43b8f694c334ff1337d692366ae9dc0319f7e46e2 SHA512 44ff572b57631b1b6a98192f60624758d90f54a2b2272c6bbb140ece39e65bb4086cf08fbc50c5f2e388e7b410b28fc014b87a8560062053b4c131970fa38b17 DIST swt-4.29-gtk-linux-ppc64le.zip 3860955 BLAKE2B f24f8224581425dc86926a147f2f4c644f086cb7907e03bfca64df93ef5ce8341f519acc91e90c0af4eede65797ac019c17a410ff0312306714fa26ddb4234b4 SHA512 09326b5204970d9db2cede4aebf11c7f24a47c30b6bc49764dda1d0a33fa83c7c4755797cac387d1814a29ad2574e45244b994e5df0c7ef2fd1375fc7877814b DIST swt-4.29-gtk-linux-x86_64.zip 3857122 BLAKE2B ac4416044f93eaed396ac10edb74eb5ebcbb967797109f57580bd0ac7c1e3752e8895c5ff1b315aa32b5d5b5ce8e1440badb8b9c3138a0eaeb4df63098919a8c SHA512 c92381e4d1479c219e174c027e54af781e674b266334a5e087f5821935e0a87696f40afbc9fe6f9ffaa00b5204165d9ff6476031b5e4e2df8aea1a54aeb2e65e diff --git a/dev-java/swt/files/swt-4.10-as-needed-and-flag-fixes.patch b/dev-java/swt/files/swt-4.10-as-needed-and-flag-fixes.patch deleted file mode 100644 index cb70122aa411..000000000000 --- a/dev-java/swt/files/swt-4.10-as-needed-and-flag-fixes.patch +++ /dev/null @@ -1,81 +0,0 @@ ---- a/make_linux.mak -+++ b/make_linux.mak -@@ -101,7 +101,7 @@ - WEBKIT_OBJECTS = swt.o webkitgtk.o webkitgtk_structs.o webkitgtk_stats.o webkitgtk_custom.o - GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o - --CFLAGS := $(CFLAGS) \ -+CFLAGS += -fPIC \ - -DSWT_VERSION=$(SWT_VERSION) \ - $(NATIVE_STATS) \ - $(SWT_DEBUG) \ -@@ -129,13 +129,13 @@ - make_swt: $(SWT_LIB) $(SWTPI_LIB) - - $(SWT_LIB): $(SWT_OBJECTS) -- $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS) -+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS) - - callback.o: callback.c callback.h - $(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c - - $(SWTPI_LIB): $(SWTPI_OBJECTS) -- $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS) -+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS) - - swt.o: swt.c swt.h - $(CC) $(CFLAGS) -c swt.c -@@ -154,7 +154,7 @@ - make_cairo: $(CAIRO_LIB) - - $(CAIRO_LIB): $(CAIRO_OBJECTS) -- $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS) -+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS) - - cairo.o: cairo.c cairo.h swt.h - $(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c -@@ -169,7 +169,7 @@ - make_awt:$(AWT_LIB) - - $(AWT_LIB): $(AWT_OBJECTS) -- $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS) -+ $(CC) -fPIC $(LDFLAGS) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS) - - # - # Atk lib -@@ -177,7 +177,7 @@ - make_atk: $(ATK_LIB) - - $(ATK_LIB): $(ATK_OBJECTS) -- $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS) -+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS) - - atk.o: atk.c atk.h - $(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c -@@ -198,7 +198,7 @@ - endif - - $(WEBKIT_LIB): $(WEBKIT_OBJECTS) -- $(CC) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS) $(WEBKITLIBS) -+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS) $(WEBKITLIBS) - - webkitgtk.o: webkitgtk.c webkitgtk_custom.h - $(CC) $(CFLAGS) $(WEBKITCFLAGS) -c webkitgtk.c -@@ -217,7 +217,7 @@ - make_webkit2extension: $(WEBKIT_EXTENSION_LIB) - - $(WEBKIT_EXTENSION_LIB) : webkitgtk_extension.o -- $(CC) $(LFLAGS) -o $@ $^ $(WEBKIT_EXTENSION_LFLAGS) -+ $(CC) $(LDFLAGS) $(LFLAGS) -o $@ $^ $(WEBKIT_EXTENSION_LFLAGS) - - webkitgtk_extension.o : webkitgtk_extension.c - $(CC) $(CFLAGS) $(WEBKIT_EXTENSION_CFLAGS) ${SWT_PTR_CFLAGS} -fPIC -c $^ -@@ -228,7 +228,7 @@ - make_glx: $(GLX_LIB) - - $(GLX_LIB): $(GLX_OBJECTS) -- $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS) -+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS) - - glx.o: glx.c - $(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c diff --git a/dev-java/swt/files/swt-4.10-manifest b/dev-java/swt/files/swt-4.10-manifest deleted file mode 100644 index 230d33f7bf1c..000000000000 --- a/dev-java/swt/files/swt-4.10-manifest +++ /dev/null @@ -1,16 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Fragment-Host: org.eclipse.swt; bundle-version=4.5.1 -Bundle-SymbolicName: org.eclipse.swt.gtk.linux.SWT_ARCH; singleton:=true -Bundle-Version: 4.5 -Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=SWT_ARCH)) -Export-Package: org.eclipse.swt.internal.accessibility.gtk; x-internal:=true, - org.eclipse.swt.internal.cairo; x-internal:=true, - org.eclipse.swt.internal.cde; x-internal:=true, - org.eclipse.swt.internal.gnome; x-internal:=true, - org.eclipse.swt.internal.gtk; x-internal:=true, - org.eclipse.swt.internal.opengl.glx; x-internal:=true - org.eclipse.swt.internal.webkit; x-internal:=true diff --git a/dev-java/swt/swt-4.10-r4.ebuild b/dev-java/swt/swt-4.10-r4.ebuild deleted file mode 100644 index 9c3211738446..000000000000 --- a/dev-java/swt/swt-4.10-r4.ebuild +++ /dev/null @@ -1,169 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="doc source" - -inherit flag-o-matic java-pkg-2 java-pkg-simple toolchain-funcs java-osgi - -MY_PV="${PV/_rc/RC}" -MY_DMF="https://archive.eclipse.org/eclipse/downloads/drops4/R-${MY_PV}-201812060815" -MY_P="${PN}-${MY_PV}" - -DESCRIPTION="GTK based SWT Library" -HOMEPAGE="https://www.eclipse.org/swt/" -SRC_URI=" - amd64? ( ${MY_DMF}/${MY_P}-gtk-linux-x86_64.zip ) - ppc64? ( ${MY_DMF}/${MY_P}-gtk-linux-ppc64le.zip )" - -LICENSE="CPL-1.0 LGPL-2.1 MPL-1.1" -SLOT="4.10" -KEYWORDS="amd64 ppc64" -IUSE="cairo opengl webkit" - -BDEPEND=" - app-arch/unzip - virtual/pkgconfig -" -COMMON_DEP=" - app-accessibility/at-spi2-core:2 - dev-libs/glib - >=x11-libs/gtk+-2.6.8:2 - x11-libs/libXtst - cairo? ( x11-libs/cairo ) - opengl? ( - virtual/glu - virtual/opengl - ) - webkit? ( - net-libs/webkit-gtk:4 - )" -DEPEND="${COMMON_DEP} - >=virtual/jdk-1.8:*[-headless-awt] - x11-base/xorg-proto - x11-libs/libX11 - x11-libs/libXrender - x11-libs/libXt - x11-libs/libXtst" -RDEPEND="${COMMON_DEP} - >=virtual/jre-1.8:* - x11-libs/libX11" - -# JNI libraries don't need SONAME, bug #253756 -QA_SONAME='usr/lib[^/]*/libswt-[^/]+.so' - -JAVA_RESOURCE_DIRS="resources" -JAVA_SRC_DIR="src" - -PATCHES=( - "${FILESDIR}"/${P}-as-needed-and-flag-fixes.patch -) - -src_unpack() { - default - unpack "./src.zip" -} - -src_prepare() { - default #780585 - java-pkg-2_src_prepare - # .css stuff is essential at least for running net-p2p/biglybt - unzip swt.jar 'org/eclipse/swt/internal/gtk/*.css' -d resources || die - java-pkg_clean - - # Define missing g_thread_supported() to be already started. - sed -i '1s/^/#define g_thread_supported() 1\n\n/' "${S}"/os_custom.h || die - - # Webext is also in the library directory - sed -i 's|findResource([^,]\+|findResource("swt"|' \ - org/eclipse/swt/browser/WebKit.java || die - - mkdir src || die "mkdir failed" - mv org src || die "moving java sources failed" - pushd src > /dev/null || die - find -type f ! -name '*.java' \ - | xargs \ - cp --parent -t ../resources -v \ - || die "copying resources failed" - popd > /dev/null || die - cp version.txt resources || die "adding version.txt failed" -} - -src_compile() { - append-cflags -fcommon # https://bugs.gentoo.org/707838 - - local JAWTSO="libjawt.so" - IFS=":" read -r -a ldpaths <<< $(java-config -g LDPATH) - - for libpath in "${ldpaths[@]}"; do - if [[ -f "${libpath}/${JAWTSO}" ]]; then - export AWT_LIB_PATH="${libpath}" - break - # this is a workaround for broken LDPATH in <=openjdk-8.292_p10 and <=dev-java/openjdk-bin-8.292_p10 - elif [[ -f "${libpath}/$(tc-arch)/${JAWTSO}" ]]; then - export AWT_LIB_PATH="${libpath}/$(tc-arch)" - break - fi - done - - if [[ -z "${AWT_LIB_PATH}" ]]; then - eerror "${JAWTSO} not found in the JDK being used for compilation!" - die "cannot build AWT library" - fi - - # Fix the pointer size for AMD64 - export SWT_PTR_CFLAGS=-DJNI64 - - # Bug #461784, g_thread_init is deprecated since glib-2.32. - append-cflags -DNO__1g_1thread_1init - - local make="emake -f make_linux.mak NO_STRIP=y CC=$(tc-getCC) CXX=$(tc-getCXX)" - - einfo "Building AWT library" - export SWT_JAVA_HOME="$(java-config -g JAVA_HOME)" - ${make} make_awt AWT_LIBS="-L\$(AWT_LIB_PATH) -Wl,-rpath,\$(AWT_LIB_PATH) -ljawt \`pkg-config --libs x11\`" - - einfo "Building SWT library" - ${make} make_swt - - einfo "Building JAVA-AT-SPI bridge" - ${make} make_atk - - if use cairo ; then - einfo "Building CAIRO support" - ${make} make_cairo - fi - - if use opengl ; then - einfo "Building OpenGL component" - ${make} make_glx - fi - - if use webkit ; then - einfo "Building WebKit component" - ${make} make_webkit - fi - - java-pkg-simple_src_compile -} - -src_install() { - local swtArch=${ARCH} - use amd64 && swtArch=x86_64 - - sed "s/SWT_ARCH/${swtArch}/" "${FILESDIR}/${PN}-${SLOT}-manifest" > "MANIFEST_TMP.MF" || die - remove_from_manifest() { - local subpkg=$1 - sed -i -e "/ org.eclipse.swt.internal.$subpkg; x-internal:=true,/d" "MANIFEST_TMP.MF" || die - } - use cairo || remove_from_manifest cairo - use opengl || remove_from_manifest opengl.glx - use webkit || remove_from_manifest webkit - java-osgi_newjar-fromfile "swt.jar" "MANIFEST_TMP.MF" "Standard Widget Toolkit for GTK 2.0" - - java-pkg_sointo "/usr/$(get_libdir)/swt" - java-pkg_doso *.so - - dodoc about.html -} diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index 3608afaefe77..a84244056ec3 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -1,8 +1,10 @@ DIST php-8.2.29.tar.xz 12162364 BLAKE2B 5750dde1e75e0886fb583c4571f3802fc8d6ae30848fa5e423838e612b65414af05a6354896a86f35ebde292ad3b6c171c8f42cda85ea79216743194153112b9 SHA512 36d389e43a9d6bdc558f5e949f54e126c6fd4bf00da572e061e4e4c2f62ffeb292a34371486d3a64b85ab4a18678f7d84b2e3628e0ddc723a7757e90fecdbf92 DIST php-8.2.30.tar.xz 12153868 BLAKE2B 93e75dd6452a511f7c783d424bbee783fcf69044a5ce395df1064054f43668df9f3ae82bf3aec88da49d3a54604d2efa5ad1705f641659f29b4ec2840f242a0c SHA512 4026e39231551c45e0923d44d91a8a9b2614ab1cb432cf73fbb475b7d047f9fbdaa183289d7f149546b254ee1a6374ac65396272b46700d453e53bfe8af42a93 DIST php-8.2.31.tar.xz 12160520 BLAKE2B d02fc5fef89fc1a998ea9611f9ec333b6a4b62e7125eff48ee8a0851224e64f3df2fb34fb488c4e7a6e4c4834d049a493677ff53e0491792fab6b56ce2c4c522 SHA512 814ea663bf638133e940639e0be00acae8d1e6a2c5058980cbf72c71a81224be0ac6c6cb37ad141c3ab81f1064ab81523c775b38c61511c0d0be9b05dd173ecc +DIST php-8.2.32.tar.xz 12162364 BLAKE2B 96484c84fab7041d972fc0f14ffc0b865c77b7303b69906d7d77d1b75212aff31d803d99a548a57e779214047c01108bb325ef79d7df5f897de568b56bbf61a4 SHA512 7411eb65ba5c50a8c793295fa6b635fd660c8e77586be64b25c86993080b1a31af4f2c6656d864af905d6cbaa11262eeeb620e91d24504e6e64ba5c100e07542 DIST php-8.3.26.tar.xz 12581368 BLAKE2B e47b603400f36dfcba2bde85ef64b55d95f156ca4745b7edf14f0b9fa6027158486511e95b9d8440d05321d8540f71c30fb1c2ceb601c62f02838356c5902f6d SHA512 252c0c95bb2c4d6bf03e686c205777b529aaebe52f143754b369069d7a8aa5b45e8c2addb968287d6473cee507df62729e2527607b796fb764d3f036ba89fafb DIST php-8.3.29.tar.xz 12601944 BLAKE2B 8e730a0d22359ca646af1b91c77ff2c2da5b9d4a328148aaf9c74ddf180b5128d2e2c01e2e5971885b718269dd9a483ca58d916d8cacdf471feabb6559da975b SHA512 d5739ff7f13638c60cd7e62bad9aec831282eca7c9e9487c12ca72f4ed4494e46eb45555a19fc5eccb43d36253d2bada12611c691e0edc6dbb8cc9908d449733 DIST php-8.3.31.tar.xz 12603408 BLAKE2B b4257bd7f76b3f04e69c1c85e198c24cda0b200312b6a193cf2b23809b76616caaf2f3b375faebf29a948a4827232e534207ed4463d321a4a2d82b91c2eade10 SHA512 2341ce4061f5e654780c97145ea7bf92fa14f2d5c2ea83d38b8919ee5018c040a08c83c9b7cee97e4bba39267d412f5bf18c515f2001db1659a49449299cbeef -DIST php-8.4.22.tar.xz 13731260 BLAKE2B 08a48d2f2f8ff9e88df244ade137cf14434ae288c4ba8f4887c263212d2ed4794f0dd5beedd0575ebe9b082355bf8aa2dbccaad08d807c4b1f80b960f0b0109b SHA512 44adb8dcc422813e92530a936e432d72e4a9328a23b40f4d2e68b471386c6048886b4810ae813f1277e47822c18645d78299c0e30fac41adbf69862222393ff4 -DIST php-8.5.7.tar.xz 14398060 BLAKE2B e19c28afeb87236ceae04df4829bd2ae337a3cb3763300e1a57b5861980928532fa18d75231a0c52d71c0bf365dc390475e3f683e609d2d87b8475b8aa89dc8f SHA512 2d4081b8684936afae946d5cc4d6714a6e40f8a25c9a286fe22190600896ab447293a0a73f58fae09d4543153134fd0b6a1131dccfc2b585406ae2a4d9aa08b7 +DIST php-8.3.32.tar.xz 12606844 BLAKE2B cf203285727e12ac8b87f6329039661c49160d5eba66a4cf176c3891846b1d58d856c44a3f912ebd5da5c7ece1d631dd586ec3b7b3778fb20bbad47dea9c5d25 SHA512 125683403ae0a300b4537a4493568e06d79cb27c57739c1c37af4b0bf869b484633247d03c4df860d5ab0aa0ccc3a06c66ff0b01b4415ff6d4f6232324c60c88 +DIST php-8.4.23.tar.xz 13741236 BLAKE2B 7463fbf61216dc18ea3cd101dafaf28b8ad59fe92b7c3249574278e8961a21c2256e3b0643c5335a7d1279e37f6c415300f0f82c98bdb766e555742dae68a360 SHA512 96a240e15f470e6386ddf5049fecacc4e007da9883bd64752a6620a96e1cf0441068cbaa946b729dd9c441d0648645f7201a78f17f91f257f9e51119b67a2b9b +DIST php-8.5.8.tar.xz 14410156 BLAKE2B c1af28e4f56f784b882ab4c54dec8f5c24642aadfba257b59dc9c68cf362a05b245914c230bade1ad19bcdf7d9907fd444f26a6c6b2ffe08ced526dd494e4162 SHA512 9c58a121f91a23ec78834cb89b504031ba4d5d8ecb501c3de2172a315f2dad8a1dc39234e39f7b0e70c278c880a13f1eb198858fa7f1ee028701b583dbfbde28 diff --git a/dev-lang/php/files/php-8.3-iconv-testfix-01.patch b/dev-lang/php/files/php-8.3-iconv-testfix-01.patch new file mode 100644 index 000000000000..16d87b707e8f --- /dev/null +++ b/dev-lang/php/files/php-8.3-iconv-testfix-01.patch @@ -0,0 +1,59 @@ +From 26ba738e33ddd83aeba8c98dc106dd064ea4d7a5 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Wed, 1 Jul 2026 13:15:50 -0400 +Subject: [PATCH] ext/iconv/tests/bug76249.phpt: fallback for non-GNU iconv() + +This test fails on musl, where iconv trips over the //IGNORE suffix. +It is not obvious that //IGNORE is required to trigger the issue in +the first place, but since we are ensuring that a security bug is +fixed, it is better to include it where possible. + +This commit updates the test to append //IGNORE only on the two GNU +iconv implementations. Others may support it eventually, but at the +moment, despite being part of POSIX, support is inconsistent (as +evidenced by musl, if nothing else). In any case, we still test that +iconv works with an invalid stream. +--- + ext/iconv/tests/bug76249.phpt | 24 +++++++++++++++++++----- + 1 file changed, 19 insertions(+), 5 deletions(-) + +diff --git a/ext/iconv/tests/bug76249.phpt b/ext/iconv/tests/bug76249.phpt +index 37608ccc0447..b817a3f8285a 100644 +--- a/ext/iconv/tests/bug76249.phpt ++++ b/ext/iconv/tests/bug76249.phpt +@@ -4,16 +4,30 @@ Bug #76249 (stream filter convert.iconv leads to infinite loop on invalid sequen + iconv + --FILE-- + <?php ++$ignore = ""; ++if (ICONV_IMPL == "libiconv" || ICONV_IMPL == "glibc") { ++ // The original bug report used "//IGNORE", and the bug itself ++ // involves the return value and errno from iconv(), so in the ++ // interest of fidelity we include the suffix on systems like the ++ // one where the bug was reported. On other systems however, ++ // despite being mentioned in POSIX 2024, the "//IGNORE" suffix is ++ // not supported consistently. Musl in particular does not support ++ // it at all, so we must omit it to avoid triggering other ++ // (unexpected) errors. In any case, it is nice to check that ++ // iconv and invalid streams do not interact badly. ++ $ignore = "//IGNORE"; ++} ++ + $fh = fopen('php://memory', 'rw'); + fwrite($fh, "abc"); + rewind($fh); +-if (false === @stream_filter_append($fh, 'convert.iconv.ucs-2/utf8//IGNORE', STREAM_FILTER_READ, [])) { +- stream_filter_append($fh, 'convert.iconv.ucs-2/utf-8//IGNORE', STREAM_FILTER_READ, []); ++if (false === @stream_filter_append($fh, "convert.iconv.ucs-2/utf8{$ignore}", STREAM_FILTER_READ, [])) { ++ stream_filter_append($fh, "convert.iconv.ucs-2/utf-8{$ignore}", STREAM_FILTER_READ, []); + } + var_dump(stream_get_contents($fh)); + ?> + DONE +---EXPECTF-- +-Warning: stream_get_contents(): iconv stream filter ("ucs-2"=>"utf%A8//IGNORE"): invalid multibyte sequence in %sbug76249.php on line %d +-string(0) "" ++--EXPECTREGEX-- ++Warning: stream_get_contents\(\): iconv stream filter \("ucs-2"=>"utf-?8(\/\/IGNORE)?"\): invalid multibyte sequence in .*bug76249\.php on line \d+ ++string\(0\) "" + DONE diff --git a/dev-lang/php/files/php-8.3-iconv-testfix-02.patch b/dev-lang/php/files/php-8.3-iconv-testfix-02.patch new file mode 100644 index 000000000000..846847dd9400 --- /dev/null +++ b/dev-lang/php/files/php-8.3-iconv-testfix-02.patch @@ -0,0 +1,78 @@ +From e9d6b1fa4aada9b622a028981d8c71870d974b2b Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 16 Nov 2024 22:55:07 -0500 +Subject: [PATCH 1/2] ext/iconv/tests/eucjp2iso2022jp.phpt: skip for "unknown" + iconv + +This test does a byte comparison of the expected ISO-2022-JP encoding +with the result of iconv(). The ISO-2022-JP encoding, however, is +stateful; there are many ways to arrive at a correct answer. Musl is +known to have an inefficient encoding that causes it to fail this +test, so we add a SKIPIF for the "unknown" iconv implementation that +musl has. + +Nothing is wrong here per se, but to support the musl output (and that +of other iconvs), an expert would need to verify it. +--- + ext/iconv/tests/eucjp2iso2022jp.phpt | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/ext/iconv/tests/eucjp2iso2022jp.phpt b/ext/iconv/tests/eucjp2iso2022jp.phpt +index 6c1a8ec1214b..c3260c370f08 100644 +--- a/ext/iconv/tests/eucjp2iso2022jp.phpt ++++ b/ext/iconv/tests/eucjp2iso2022jp.phpt +@@ -2,6 +2,16 @@ + EUC-JP to ISO-2022-JP + --EXTENSIONS-- + iconv ++--SKIPIF-- ++<?php ++// ISO-2022-JP is a stateful encoding, so the right answer is not ++// unique. In particular, musl (type "unknown") is known to have an ++// inefficient encoding for it that does not agree with the expected ++// output below. ++if (ICONV_IMPL == "unknown") { ++ die("skip byte-comparison of stateful encoding with unknown iconv"); ++} ++?> + --INI-- + error_reporting=2039 + --FILE-- + +From d2f17feb1392219698ced5e4da36dff33dcd0ea3 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 16 Nov 2024 23:13:42 -0500 +Subject: [PATCH 2/2] ext/iconv/tests/iconv_mime_encode.phpt: skip for + "unknown" iconv + +This test checks the output of iconv_mime_encode() with a target +charset of ISO-2022-JP. That charset is stateful, though, and there +are many ways to arrive at a correct answer. Musl has an inefficient +encoding of it that causes this to fail because the actual output +differs from (and is much longer than) the expected output. We add a +SKIPIF for the "unknown" iconv implementation that musl has. +--- + ext/iconv/tests/iconv_mime_encode.phpt | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/ext/iconv/tests/iconv_mime_encode.phpt b/ext/iconv/tests/iconv_mime_encode.phpt +index e055f53b016a..c6f41c56ad90 100644 +--- a/ext/iconv/tests/iconv_mime_encode.phpt ++++ b/ext/iconv/tests/iconv_mime_encode.phpt +@@ -2,6 +2,16 @@ + iconv_mime_encode() + --EXTENSIONS-- + iconv ++--SKIPIF-- ++<?php ++// ISO-2022-JP is a stateful encoding, so the right answer is not ++// unique. In particular, musl (type "unknown") is known to have an ++// inefficient encoding for it that does not agree with the expected ++// output below. ++if (ICONV_IMPL == "unknown") { ++ die("skip byte-comparison of stateful encoding with unknown iconv"); ++} ++?> + --INI-- + iconv.internal_charset=iso-8859-1 + --FILE-- diff --git a/dev-lang/php/files/php-8.3-iconv-testfix-03.patch b/dev-lang/php/files/php-8.3-iconv-testfix-03.patch new file mode 100644 index 000000000000..689970b2eec9 --- /dev/null +++ b/dev-lang/php/files/php-8.3-iconv-testfix-03.patch @@ -0,0 +1,43 @@ +From 13ac9654125e28d999cb7996ff04bc4839d0a42a Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Wed, 1 Jul 2026 18:39:44 -0400 +Subject: [PATCH] ext/iconv/tests/bug52211.phpt: use per-iconv charset names + +The charset names used in this test are implementation-specific, and +in particular are not known to musl. This causes musl to fall back to +utf8, in which the input string is not actually invalid, leading to +a failed test. The input string is already invalid in ASCII however, +so we solve the general problem by using ASCII as the to/from charset +unless the ICONV_IMPL is known to support the originals. +--- + ext/iconv/tests/bug52211.phpt | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +diff --git a/ext/iconv/tests/bug52211.phpt b/ext/iconv/tests/bug52211.phpt +index f213c764de81..fe599f8ac559 100644 +--- a/ext/iconv/tests/bug52211.phpt ++++ b/ext/iconv/tests/bug52211.phpt +@@ -5,8 +5,22 @@ iconv + --FILE-- + <?php + ++// According to POSIX 2024, the to/from charset names are ++// implementation-defined. To keep this test true to its original ++// purpose, we retain the charsets used in bug 52211, but only when ++// the implementation is known to support them. Otherwise we default ++// both to ASCII, which should be supported everywhere (in particular ++// on musl) yet still considers the input invalid. ++$from_charset = "ASCII"; ++$to_charset = "ASCII"; ++ ++if (ICONV_IMPL == "libiconv" || ICONV_IMPL == "glibc") { ++ $from_charset = "CP850"; ++ $to_charset = "ISO-8859-1"; ++} ++ + $str = "PATHOLOGIES MÉDICO-CHIRUR. ADUL. PL"; +-$str_iconv = iconv('CP850', 'ISO-8859-1', $str ); ++$str_iconv = iconv($from_charset, $to_charset, $str ); + var_dump($str_iconv); + + ?> diff --git a/dev-lang/php/files/php-8.3-iconv-testfix-04.patch b/dev-lang/php/files/php-8.3-iconv-testfix-04.patch new file mode 100644 index 000000000000..d60fa0e97887 --- /dev/null +++ b/dev-lang/php/files/php-8.3-iconv-testfix-04.patch @@ -0,0 +1,78 @@ +From 659d9779b553d2e4cfb892dbfca7d63b4f85fe9e Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Wed, 1 Jul 2026 22:55:56 -0400 +Subject: [PATCH] ext/iconv/tests/bug48147.phpt: whitelist iconvs with //IGNORE + +This test is for the behavior of iconv's magic "//IGNORE" suffix. The +output it expects agrees with POSIX 2024 even when the underlying +implementation (glibc) does not. A comment has been added to this +effect, and two calls to urlencode() have been removed so that two +(expected) errors are not swallowed. + +Afterwards, we whitelist the two iconv implementations that are known +to support //IGNORE. While POSIX standardizes its behavior, it falls +short of requiring implementations to support it. Musl in particular +does not support any suffix. +--- + ext/iconv/tests/bug48147.phpt | 32 ++++++++++++++++++++++++++++---- + 1 file changed, 28 insertions(+), 4 deletions(-) + +diff --git a/ext/iconv/tests/bug48147.phpt b/ext/iconv/tests/bug48147.phpt +index ce304eecfb3c..434f71e517bb 100644 +--- a/ext/iconv/tests/bug48147.phpt ++++ b/ext/iconv/tests/bug48147.phpt +@@ -2,17 +2,41 @@ + Bug #48147 (iconv with //IGNORE cuts the string) + --EXTENSIONS-- + iconv ++--SKIPIF-- ++<?php ++/* ++ * POSIX 2024 specifies how the "//IGNORE" suffix should behave, but ++ * falls short of requiring implementations to support it (iconv_open ++ * is allowed to return EINVAL for a suffix it does not recognize). ++ * ++ * Many implementations still do not support it, which is OK. We ++ * whitelist the ones that are known to. ++ */ ++if (ICONV_IMPL != "glibc" && ICONV_IMPL != "libiconv") { ++ die("skip iconv implementation may not support //IGNORE"); ++} ++?> + --FILE-- + <?php ++/* ++ * POSIX says that when //IGNORE is specified, invalid bytes followed ++ * by valid bytes "shall not be treated as an error." GNU iconv does ++ * not follow this convention, but PHP does the right thing. In the ++ * examples below, invalid bytes in the middle of the string get ++ * dropped, and a string is returned. The two examples where the ++ * problem is at the end do not qualify for the "shall not" exception ++ * because there are no VALID bytes after the error. So PHP is morally ++ * correct in those cases to return an error (false). ++ */ + $text = "aa\xC3\xC3\xC3\xB8aa"; + var_dump(iconv("UTF-8", "UTF-8", $text)); + var_dump(urlencode(iconv("UTF-8", "UTF-8//IGNORE", $text))); + // only invalid +-var_dump(urlencode(iconv("UTF-8", "UTF-8//IGNORE", "\xC3"))); ++var_dump(iconv("UTF-8", "UTF-8//IGNORE", "\xC3")); + // start invalid + var_dump(urlencode(iconv("UTF-8", "UTF-8//IGNORE", "\xC3\xC3\xC3\xB8aa"))); + // finish invalid +-var_dump(urlencode(iconv("UTF-8", "UTF-8//IGNORE", "aa\xC3\xC3\xC3"))); ++var_dump(iconv("UTF-8", "UTF-8//IGNORE", "aa\xC3\xC3\xC3")); + ?> + --EXPECTF-- + Notice: iconv(): Detected an illegal character in input string in %s on line %d +@@ -20,8 +44,8 @@ bool(false) + string(10) "aa%C3%B8aa" + + Notice: iconv(): Detected an incomplete multibyte character in input string in %s on line %d +-string(0) "" ++bool(false) + string(8) "%C3%B8aa" + + Notice: iconv(): Detected an incomplete multibyte character in input string in %s on line %d +-string(0) "" ++bool(false) diff --git a/dev-lang/php/files/php-8.4-libgd-test-fixes.patch b/dev-lang/php/files/php-8.4-libgd-test-fixes.patch new file mode 100644 index 000000000000..97c7e2076705 --- /dev/null +++ b/dev-lang/php/files/php-8.4-libgd-test-fixes.patch @@ -0,0 +1,42 @@ +From f1b08fb954d41c562103993810a5c78baf9e065e Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sun, 12 Jul 2026 19:21:54 -0400 +Subject: [PATCH] ext/gd/tests/gh19{666,739}.phpt: skip for external libgd + +These two are regression tests for the bundled libgd, we have to skip +them if an external libgd is used. +--- + ext/gd/tests/gh19666.phpt | 4 ++++ + ext/gd/tests/gh19739.phpt | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/ext/gd/tests/gh19666.phpt b/ext/gd/tests/gh19666.phpt +index 2d82b9b44760..b1409946aa0a 100644 +--- a/ext/gd/tests/gh19666.phpt ++++ b/ext/gd/tests/gh19666.phpt +@@ -2,6 +2,10 @@ + GH-19666 (Unexpected nan value in imageconvolution) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++ if (!GD_BUNDLED) die("skip requires bundled GD library\n"); ++?> + --FILE-- + <?php + $image = imagecreatetruecolor(180, 30); +diff --git a/ext/gd/tests/gh19739.phpt b/ext/gd/tests/gh19739.phpt +index 7dce387b780e..7ef73aeab67d 100644 +--- a/ext/gd/tests/gh19739.phpt ++++ b/ext/gd/tests/gh19739.phpt +@@ -2,6 +2,10 @@ + GH-19739 (integer overflow in imageellipse / imagefilledellipse) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++ if (!GD_BUNDLED) die("skip requires bundled GD library\n"); ++?> + --FILE-- + <?php + $im = imagecreatetruecolor(400, 300); diff --git a/dev-lang/php/php-8.2.29.ebuild b/dev-lang/php/php-8.2.29.ebuild index c6a477381fec..cea37a09cde5 100644 --- a/dev-lang/php/php-8.2.29.ebuild +++ b/dev-lang/php/php-8.2.29.ebuild @@ -151,6 +151,10 @@ PATCHES=( "${FILESDIR}/php-8.2.20-implicit-printf.patch" "${FILESDIR}/php-8.2.23-fix-ub.patch" "${FILESDIR}/php-bug75457-pcre2-backport.patch" + "${FILESDIR}/php-8.3-iconv-testfix-01.patch" + "${FILESDIR}/php-8.3-iconv-testfix-02.patch" + "${FILESDIR}/php-8.3-iconv-testfix-03.patch" + "${FILESDIR}/php-8.3-iconv-testfix-04.patch" ) # ARM/Windows functions (bug 923335) diff --git a/dev-lang/php/php-8.2.30.ebuild b/dev-lang/php/php-8.2.30.ebuild index f1518217798f..280ca6daae05 100644 --- a/dev-lang/php/php-8.2.30.ebuild +++ b/dev-lang/php/php-8.2.30.ebuild @@ -151,6 +151,10 @@ PATCHES=( "${FILESDIR}/php-8.2.20-implicit-printf.patch" "${FILESDIR}/php-8.2.23-fix-ub.patch" "${FILESDIR}/php-bug75457-pcre2-backport.patch" + "${FILESDIR}/php-8.3-iconv-testfix-01.patch" + "${FILESDIR}/php-8.3-iconv-testfix-02.patch" + "${FILESDIR}/php-8.3-iconv-testfix-03.patch" + "${FILESDIR}/php-8.3-iconv-testfix-04.patch" ) # ARM/Windows functions (bug 923335) diff --git a/dev-lang/php/php-8.2.31.ebuild b/dev-lang/php/php-8.2.31.ebuild index 658bae62a2f9..8882c516fb2a 100644 --- a/dev-lang/php/php-8.2.31.ebuild +++ b/dev-lang/php/php-8.2.31.ebuild @@ -151,6 +151,10 @@ PATCHES=( "${FILESDIR}/php-8.2.20-implicit-printf.patch" "${FILESDIR}/php-8.2.23-fix-ub.patch" "${FILESDIR}/php-bug75457-pcre2-backport.patch" + "${FILESDIR}/php-8.3-iconv-testfix-01.patch" + "${FILESDIR}/php-8.3-iconv-testfix-02.patch" + "${FILESDIR}/php-8.3-iconv-testfix-03.patch" + "${FILESDIR}/php-8.3-iconv-testfix-04.patch" ) # ARM/Windows functions (bug 923335) diff --git a/dev-lang/php/php-8.2.32.ebuild b/dev-lang/php/php-8.2.32.ebuild new file mode 100644 index 000000000000..c44466eb8867 --- /dev/null +++ b/dev-lang/php/php-8.2.32.ebuild @@ -0,0 +1,908 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WANT_AUTOMAKE="none" + +inherit flag-o-matic multilib systemd autotools + +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://www.php.net/" +SRC_URI="https://www.php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl apparmor argon2 avif bcmath berkdb bzip2 calendar + cdb cjk +ctype curl debug + enchant exif ffi +fileinfo +filter + +flatfile ftp gd gdbm gmp +iconv imap inifile + intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb + mhash mssql mysql mysqli nls + oci8-instant-client odbc +opcache +opcache-jit pcntl pdo +phar +posix + postgres qdbm readline selinux +session session-mm sharedmem + +simplexml snmp soap sockets sodium spell sqlite ssl + sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode + valgrind webp +xml xmlreader xmlwriter xpm xslt zip zlib" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +# The Oracle instant client provides its own incompatible ldap library. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed phpdbg ) + avif? ( gd zlib ) + cli? ( ^^ ( readline libedit ) ) + !cli? ( ?? ( readline libedit ) ) + truetype? ( gd zlib ) + webp? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + xmlreader? ( xml ) + xmlwriter? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + oci8-instant-client? ( !ldap ) + qdbm? ( !gdbm ) + session-mm? ( session !threads ) + mysql? ( || ( mysqli pdo ) ) + mssql? ( pdo ) + test? ( cli ) +" + +RESTRICT="!test? ( test )" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.7[apache2?,fpm?] + >=dev-libs/libpcre2-10.30[jit?,unicode] + virtual/libcrypt:= + fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) selinux? ( sys-libs/libselinux ) ) + apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) + argon2? ( app-crypt/argon2:= ) + avif? ( media-libs/libavif:= ) + berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) ) + bzip2? ( app-arch/bzip2:0= ) + cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) + curl? ( >=net-misc/curl-7.29.0 ) + enchant? ( app-text/enchant:2 ) + ffi? ( >=dev-libs/libffi-3.0.11:= ) + gd? ( media-libs/libjpeg-turbo:0= media-libs/libpng:0= ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( net-libs/c-client[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11:= ) + ldap-sasl? ( dev-libs/cyrus-sasl ) + libedit? ( dev-libs/libedit ) + lmdb? ( dev-db/lmdb:= ) + mssql? ( dev-db/freetds[mssql] ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient[sdk] ) + odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) ) + postgres? ( >=dev-db/postgresql-9.1:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + session-mm? ( dev-libs/mm ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + sodium? ( dev-libs/libsodium:=[-minimal(-)] ) + spell? ( >=app-text/aspell-0.50 ) + sqlite? ( >=dev-db/sqlite-3.7.6.3 ) + ssl? ( >=dev-libs/openssl-1.0.2:0= ) + tidy? ( app-text/htmltidy ) + tokyocabinet? ( dev-db/tokyocabinet ) + truetype? ( =media-libs/freetype-2* ) + unicode? ( dev-libs/oniguruma:= ) + valgrind? ( dev-debug/valgrind ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.9.0:= ) + xpm? ( x11-libs/libXpm ) + xslt? ( dev-libs/libxslt ) + zip? ( >=dev-libs/libzip-1.2.0:= ) + zlib? ( >=virtual/zlib-1.2.0.4:= ) +" + +IDEPEND=">=app-eselect/eselect-php-0.9.7[apache2?,fpm?]" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +# Bison isn't actually needed when building from a release tarball +# However, the configure script will warn if it's absent or if you +# have an incompatible version installed. See bug 593278. +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1" + +BDEPEND="virtual/pkgconfig" + +PHP_MV="$(ver_cut 1)" + +PATCHES=( + "${FILESDIR}/php-iodbc-header-location.patch" + "${FILESDIR}/php-capstone-optional.patch" + "${FILESDIR}/php-8.2.8-openssl-tests.patch" + "${FILESDIR}/php-8.2.20-implicit-printf.patch" + "${FILESDIR}/php-8.2.23-fix-ub.patch" + "${FILESDIR}/php-bug75457-pcre2-backport.patch" + "${FILESDIR}/php-8.3-iconv-testfix-01.patch" + "${FILESDIR}/php-8.3-iconv-testfix-02.patch" + "${FILESDIR}/php-8.3-iconv-testfix-03.patch" + "${FILESDIR}/php-8.3-iconv-testfix-04.patch" +) + +# ARM/Windows functions (bug 923335) +QA_CONFIG_IMPL_DECL_SKIP=( + __crc32d + _controlfp + _controlfp_s +) + +# Functions from alternate iconv implementations (bug 925268) +QA_CONFIG_IMPL_DECL_SKIP+=( + iconv_ccs_init + cstoccsid +) + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + insinto "${PHP_INI_DIR#"${EPREFIX}"}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#"${EPREFIX}"}" + elog + + dodir "${PHP_EXT_INI_DIR#"${EPREFIX}"}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#"${EPREFIX}"}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "../ext/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#"${EPREFIX}"}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config files php-fpm.conf and www.conf" + insinto "${PHP_INI_DIR#"${EPREFIX}"}" + doins sapi/fpm/php-fpm.conf + insinto "${PHP_INI_DIR#"${EPREFIX}"}/fpm.d" + doins sapi/fpm/www.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + default + + # In php-7.x, the FPM pool configuration files have been split off + # of the main config. By default the pool config files go in + # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the + # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later + # we'll install the pool configuration file "www.conf" there. + php_set_ini_dir fpm + sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ + sapi/fpm/php-fpm.conf.in \ + || die 'failed to move the include directory in php-fpm.conf' + + # Emulate buildconf to support cross-compilation + rm -fr aclocal.m4 autom4te.cache config.cache \ + configure main/php_config.h.in || die + eautoconf --force + eautoheader + + # missing skipif; fixed upstream already + rm sapi/cgi/tests/005.phpt || die + + # These three get BORKED on no-ipv6 systems, + # + # https://github.com/php/php-src/pull/11651 + # + rm ext/sockets/tests/mcast_ipv6_recv.phpt \ + ext/sockets/tests/mcast_ipv6_recv_limited.phpt \ + ext/sockets/tests/mcast_ipv6_send.phpt \ + || die + + # fails in a network sandbox, + # + # https://github.com/php/php-src/issues/11662 + # + rm ext/sockets/tests/bug63000.phpt || die + + # expected output needs to be updated, + # + # https://github.com/php/php-src/pull/11648 + # + rm ext/dba/tests/dba_tcadb.phpt || die + + # Two IMAP tests missing SKIPIFs, + # + # https://github.com/php/php-src/pull/11654 + # + rm ext/imap/tests/imap_mutf7_to_utf8.phpt \ + ext/imap/tests/imap_utf8_to_mutf7_basic.phpt \ + || die + + # broken upstream with icu-73.x, + # + # https://github.com/php/php-src/issues/11128 + # + rm ext/intl/tests/calendar_clear_variation1.phpt || die + + # overly sensitive to INI values; fixes sent upstream: + # + # https://github.com/php/php-src/pull/11631 + # + rm ext/session/tests/{bug74514,bug74936,gh7787}.phpt || die + + # This is sensitive to the current "nice" level: + # + # https://github.com/php/php-src/issues/11630 + # + rm ext/standard/tests/general_functions/proc_nice_basic.phpt || die + + # Tests ignoring the "-n" flag we pass to run-tests.php, + # + # https://github.com/php/php-src/pull/11669 + # + rm ext/standard/tests/file/bug60120.phpt \ + ext/standard/tests/general_functions/proc_open_null.phpt \ + ext/standard/tests/general_functions/proc_open_redirect.phpt \ + ext/standard/tests/general_functions/proc_open_sockets1.phpt \ + ext/standard/tests/general_functions/proc_open_sockets2.phpt \ + ext/standard/tests/general_functions/proc_open_sockets3.phpt \ + ext/standard/tests/ini_info/php_ini_loaded_file.phpt \ + sapi/cli/tests/016.phpt \ + sapi/cli/tests/023.phpt \ + sapi/cli/tests/bug65275.phpt \ + sapi/cli/tests/bug74600.phpt \ + sapi/cli/tests/bug78323.phpt \ + || die + + # Same TEST_PHP_EXTRA_ARGS (-n) issue with this one, but it's + # already been fixed upstream. + rm sapi/cli/tests/017.phpt || die + + # Most Oracle tests are borked, + # + # * https://github.com/php/php-src/issues/11804 + # * https://github.com/php/php-src/pull/11820 + # * https://github.com/php/php-src/issues/11819 + # + rm ext/oci8/tests/*.phpt || die + + # https://github.com/php/php-src/issues/12801 + rm ext/pcre/tests/gh11374.phpt || die + + # This is a memory usage test with hard-coded limits. Whenever the + # limits are surpassed... they get increased... but in the meantime, + # the tests fail. This is not really a test that end users should + # be running pre-install, in my opinion. Bug 927461. + rm ext/fileinfo/tests/bug78987.phpt || die + + # glibc-2.39 compatibility, fixed upstream in + # https://github.com/php/php-src/pull/14097 + rm ext/standard/tests/strings/setlocale_variation3.phpt || die + + # The expected warnings aren't triggered in this test because we + # define session.save_path on the CLI: + # + # https://github.com/php/php-src/issues/14368 + # + rm ext/session/tests/gh13856.phpt || die + + # Bug 935382, fixed eventually by + # + # - https://github.com/php/php-src/pull/14788 + # - https://github.com/php/php-src/pull/14814 + # + rm ext/standard/tests/strings/chunk_split_variation1_32bit.phpt || die + rm ext/standard/tests/strings/wordwrap_memory_limit.phpt || die + + # Bug 935379, not yet fixed upstream but looks harmless (ordering + # of keys isn't guaranteed AFAICS): + # + # - https://github.com/php/php-src/issues/14786 + # + rm ext/dba/tests/dba_gdbm.phpt || die + + # https://github.com/php/php-src/pull/14439 + rm ext/openssl/tests/bug74341.phpt || die + + # Test for https://github.com/php/php-src/issues/16390 relies + # on the inifile handler to be present, so we have to skip + # this test in case the inifile USE flag is _not_ set. + if ! use inifile ; then + rm ext/dba/tests/gh16390.phpt || die + fi + + # Test fails on curl 8.17+, originally fixed upstream, but not + # backported to 8.2 (yet). + rm ext/curl/tests/curl_setopt_ssl.phpt || die + + # bug 977402 + rm ext/standard/tests/file/fdatasync.phpt \ + ext/standard/tests/file/fsync.phpt \ + || die +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + # https://bugs.gentoo.org/866683, https://bugs.gentoo.org/913527 + filter-lto + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # Don't allow ./configure to detect and use an existing version + # of PHP; this can lead to all sorts of weird unpredictability + # as in bug 900210. + export ac_cv_prog_PHP="" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + --without-valgrind + --with-external-libcrypt + $(use_enable threads zts) + ) + + # The slotted man/info pages will be missed by the default list of + # docompress paths. + docompress "${PHP_DESTDIR}/man" "${PHP_DESTDIR}/info" + + our_conf+=( + $(use_with apparmor fpm-apparmor) + $(use_with argon2 password-argon2 "${EPREFIX}/usr") + $(use_with avif) + $(use_enable bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar) + $(use_enable ctype) + $(use_with curl) + $(use_enable xml dom) + $(use_with enchant) + $(use_enable exif) + $(use_with ffi) + $(use_enable fileinfo) + $(use_enable filter) + $(use_enable ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr")) + $(use_enable intl) + $(use_enable ipv6) + $(use_with kerberos) + $(use_with xml libxml) + $(use_enable unicode mbstring) + $(use_with ssl openssl) + $(use_enable pcntl) + $(use_enable phar) + $(use_enable pdo) + $(use_enable opcache) + $(use_enable opcache-jit) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix) + $(use_with selinux fpm-selinux) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_enable simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap) + $(use_enable sockets) + $(use_with sodium) + $(use_with sqlite sqlite3) + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer) + $(use_enable xml) + $(use_enable xmlreader) + $(use_enable xmlwriter) + $(use_with xslt xsl) + $(use_with zip) + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug) + $(use_with valgrind) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm || use lmdb || use tokyocabinet ; then + our_conf+=( "--enable-dba" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + $(use_with tokyocabinet tcadb "${EPREFIX}/usr") + $(use_with lmdb lmdb "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype) + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg) + $(use_with xpm) + $(use_with webp) + ) + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_enable gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl) + ) + fi + + # MySQL support + our_conf+=( $(use_with mysqli) ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + if use odbc && use iodbc ; then + our_conf+=( + --without-unixODBC + --with-iodbc + $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr") + ) + elif use odbc ; then + our_conf+=( + --with-unixODBC="${EPREFIX}/usr" + --without-iodbc + $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr") + ) + else + our_conf+=( + --without-unixODBC + --without-iodbc + --without-pdo-odbc + ) + fi + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mysql pdo-mysql "mysqlnd") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite) + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit) + ) + + # Session support + if use session ; then + our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-external-pcre affects ext/pcre + our_conf+=( + --with-external-pcre + $(use_with jit pcre-jit) + ) + + # Catch CFLAGS problems + # Fixes bug #14067. + # Changed order to run it in reverse for bug #32022 and #12021. + replace-cpu-flags "k6*" "i586" + + # Cache the ./configure test results between SAPIs. + our_conf+=( --cache-file="${T}/config.cache" ) + + # Support user-passed configuration parameters + our_conf+=( ${EXTRA_ECONF:-} ) + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + + # Create separate build trees for each enabled SAPI. The upstream + # build system doesn't do this, but we have to do it to use a + # different php.ini for each SAPI (see --with-config-file-path and + # --with-config-file-scan-dir below). The path winds up define'd + # in main/build-defs.h which is included in main/php.h which is + # included by basically everything; so, avoiding a rebuild after + # changing it is not an easy job. + local one_sapi + local sapi + mkdir "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm|phpdbg) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + einfo "Running econf in ${BUILD_DIR}" + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + if use oci8-instant-client && use kerberos && use imap && use phar; then + # A conspiracy takes place when the first three of these flags + # are set together, causing the newly-built "php" to open + # /dev/urandom with mode rw when it starts. That's not actually + # a problem... unless you also have USE=phar, which runs that + # "php" to build some phar thingy in src_compile(). Later in + # src_test(), portage (at least) sets "addpredict /" so the + # problem does not repeat. + addpredict /dev/urandom #nowarn + fi + + local sapi + for sapi in ${SAPIS} ; do + use "${sapi}" && emake -C "${WORKDIR}/sapis-build/${sapi}" + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="", sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#"${EPREFIX}"}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#"${EPREFIX}"}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#"${EPREFIX}"}/apache2/" + newins ".libs/libphp$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#"${EPREFIX}"}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + # Install the "phar" archive utility. + if use phar ; then + emake INSTALL_ROOT="${D}" install-pharcmd + dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" + fi + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#"${EPREFIX}"}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + export TEST_PHP_EXECUTABLE="${WORKDIR}/sapis-build/cli/sapi/cli/php" + + # Sometimes when the sub-php launches a sub-sub-php, it uses these. + # Without an "-n" in all instances, the *live* php.ini can be loaded, + # pulling in *live* zend extensions. And those can be incompatible + # with the thing we just built. + export TEST_PHP_EXTRA_ARGS="-n" + + if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" + fi + + if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then + export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" + fi + + # The sendmail override prevents ext/imap/tests/bug77020.phpt from + # actually trying to send mail, and will be fixed upstream soon: + # + # https://github.com/php/php-src/issues/11629 + # + # The IO capture tests need to be disabled because they fail when + # std{in,out,err} are redirected (as they are within portage). + # + # One -n applies to the top-level "php", while the other applies + # to any sub-php that get invoked by the test runner. + SKIP_IO_CAPTURE_TESTS=1 SKIP_PERF_SENSITIVE=1 REPORT_EXIT_STATUS=1 \ + "${TEST_PHP_EXECUTABLE}" -n \ + "${WORKDIR}/sapis-build/cli/run-tests.php" --offline -n -q \ + -d "session.save_path=${T}" \ + -d "sendmail_path=echo >/dev/null" \ + || die "tests failed" +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + local m + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/php/php-8.3.26.ebuild b/dev-lang/php/php-8.3.26.ebuild index 3c9690b0d176..f5877f188fb4 100644 --- a/dev-lang/php/php-8.3.26.ebuild +++ b/dev-lang/php/php-8.3.26.ebuild @@ -135,6 +135,10 @@ BDEPEND="virtual/pkgconfig" PATCHES=( "${FILESDIR}/php-8.3.9-gd-cachevars.patch" + "${FILESDIR}/php-8.3-iconv-testfix-01.patch" + "${FILESDIR}/php-8.3-iconv-testfix-02.patch" + "${FILESDIR}/php-8.3-iconv-testfix-03.patch" + "${FILESDIR}/php-8.3-iconv-testfix-04.patch" ) PHP_MV="$(ver_cut 1)" diff --git a/dev-lang/php/php-8.3.29.ebuild b/dev-lang/php/php-8.3.29.ebuild index 7092fdfed5d0..f205c6602303 100644 --- a/dev-lang/php/php-8.3.29.ebuild +++ b/dev-lang/php/php-8.3.29.ebuild @@ -135,6 +135,10 @@ BDEPEND="virtual/pkgconfig" PATCHES=( "${FILESDIR}/php-8.3.9-gd-cachevars.patch" + "${FILESDIR}/php-8.3-iconv-testfix-01.patch" + "${FILESDIR}/php-8.3-iconv-testfix-02.patch" + "${FILESDIR}/php-8.3-iconv-testfix-03.patch" + "${FILESDIR}/php-8.3-iconv-testfix-04.patch" ) PHP_MV="$(ver_cut 1)" diff --git a/dev-lang/php/php-8.3.31.ebuild b/dev-lang/php/php-8.3.31.ebuild index cd31fc04928f..1076d098663e 100644 --- a/dev-lang/php/php-8.3.31.ebuild +++ b/dev-lang/php/php-8.3.31.ebuild @@ -137,6 +137,10 @@ PATCHES=( "${FILESDIR}/php-8.3.9-gd-cachevars.patch" "${FILESDIR}/php-8.3.31-libgd-test-fixes.patch" "${FILESDIR}/php-8.3.31-ipv6-printing-test-fix.patch" + "${FILESDIR}/php-8.3-iconv-testfix-01.patch" + "${FILESDIR}/php-8.3-iconv-testfix-02.patch" + "${FILESDIR}/php-8.3-iconv-testfix-03.patch" + "${FILESDIR}/php-8.3-iconv-testfix-04.patch" ) PHP_MV="$(ver_cut 1)" diff --git a/dev-lang/php/php-8.5.7.ebuild b/dev-lang/php/php-8.3.32.ebuild index af826ac7c944..b886eb5566a6 100644 --- a/dev-lang/php/php-8.5.7.ebuild +++ b/dev-lang/php/php-8.3.32.ebuild @@ -5,7 +5,7 @@ EAPI=8 WANT_AUTOMAKE="none" POSTGRES_COMPAT=( {15..18} ) -inherit flag-o-matic multilib postgres systemd +inherit autotools flag-o-matic multilib postgres systemd DESCRIPTION="The PHP language runtime engine" HOMEPAGE="https://www.php.net/" @@ -21,24 +21,21 @@ LICENSE="PHP-3.01 SLOT="$(ver_cut 1-2)" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" -# We can build the following SAPIs in the given order. -ALL_SAPIS=( embed cli cgi fpm apache2 phpdbg ) +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" -# Will populate this in src_configure() when USE is known. -ENABLED_SAPIS=() - -# SAPIs and SAPI-specific USE flags (cli SAPI is default on). +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): IUSE="${IUSE} - ${ALL_SAPIS[@]/cli/+cli} + ${SAPIS/cli/+cli} threads" IUSE="${IUSE} acl apparmor argon2 avif bcmath berkdb bzip2 calendar capstone cdb +ctype curl debug enchant exif ffi +fileinfo +filter - +flatfile ftp gd gdbm gmp +iconv inifile - intl iodbc ipv6 +jit jpeg ldap ldap-sasl libedit lmdb + +flatfile ftp gd gdbm gmp +iconv imap inifile + intl iodbc ipv6 +jit jpeg kerberos ldap ldap-sasl libedit lmdb mhash mssql mysql mysqli nls - odbc +opcache-jit pcntl pdo +phar +posix postgres png + odbc +opcache +opcache-jit pcntl pdo +phar +posix postgres png qdbm readline selinux +session session-mm sharedmem +simplexml snmp soap sockets sodium spell sqlite ssl sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode @@ -89,7 +86,9 @@ COMMON_DEPEND=" gdbm? ( sys-libs/gdbm:0= ) gmp? ( dev-libs/gmp:0= ) iconv? ( virtual/libiconv ) + imap? ( net-libs/c-client[kerberos=,ssl=] ) intl? ( dev-libs/icu:= ) + kerberos? ( virtual/krb5 ) ldap? ( net-nds/openldap:= ) ldap-sasl? ( dev-libs/cyrus-sasl ) libedit? ( dev-libs/libedit ) @@ -135,7 +134,13 @@ DEPEND="${COMMON_DEPEND} BDEPEND="virtual/pkgconfig" PATCHES=( + "${FILESDIR}/php-8.3.9-gd-cachevars.patch" + "${FILESDIR}/php-8.3.31-libgd-test-fixes.patch" "${FILESDIR}/php-8.3.31-ipv6-printing-test-fix.patch" + "${FILESDIR}/php-8.3-iconv-testfix-01.patch" + "${FILESDIR}/php-8.3-iconv-testfix-02.patch" + "${FILESDIR}/php-8.3-iconv-testfix-03.patch" + "${FILESDIR}/php-8.3-iconv-testfix-04.patch" ) PHP_MV="$(ver_cut 1)" @@ -181,6 +186,14 @@ php_install_ini() { dodir "${PHP_EXT_INI_DIR#"${EPREFIX}"}" dodir "${PHP_EXT_INI_DIR_ACTIVE#"${EPREFIX}"}" + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension = opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "../ext/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#"${EPREFIX}"}/opcache.ini" + fi + # SAPI-specific handling if [[ "${sapi}" == "fpm" ]] ; then einfo "Installing FPM config files php-fpm.conf and www.conf" @@ -206,7 +219,7 @@ pkg_setup() { src_prepare() { default - # In php-8.x, the FPM pool configuration files have been split off + # In php-7.x, the FPM pool configuration files have been split off # of the main config. By default the pool config files go in # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later @@ -240,6 +253,12 @@ src_prepare() { sapi/cli/tests/bug78323.phpt \ || die + # This is a memory usage test with hard-coded limits. Whenever the + # limits are surpassed... they get increased... but in the meantime, + # the tests fail. This is not really a test that end users should + # be running pre-install, in my opinion. Bug 927461. + rm ext/fileinfo/tests/bug78987.phpt || die + # Most tests failing with an external libgd have been fixed, # but there are a few stragglers: # @@ -255,26 +274,27 @@ src_prepare() { ext/gd/tests/bug73272.phpt \ || die - # Test requires USE=cdb, so we have to skip it when - # the cdb USE flag is unset - # - # * https://github.com/php/php-src/issues/19706 - # - if ! use cdb; then - rm ext/dba/tests/gh19706.phpt - fi + # One-off, somebody forgot to update a version constant + rm ext/reflection/tests/ReflectionZendExtension.phpt || die + # Fixed upstream, but not in 8.3.30. + rm ext/openssl/tests/bug{74796,80770}.phpt || die + rm ext/openssl/tests/{sni_server.phpt,sni_server_key_cert.phpt} || die + + # Test fails on curl 8.17+, originally fixed upstream, but not + # backported to 8.2 (yet). + rm ext/curl/tests/curl_setopt_ssl.phpt || die + + # bug 977402 + rm ext/standard/tests/file/fdatasync.phpt \ + ext/standard/tests/file/fsync.phpt \ + ext/standard/tests/general_functions/proc_nice_basic.phpt \ + || die + + eautoconf --force } src_configure() { - # Loop through the list of all SAPIs, and consult the user's USE - # flags to build the list of enabled ones. This avoids having to - # loop and check over and over again. - local sapi - for sapi in "${ALL_SAPIS[@]}" ; do - use "${sapi}" && ENABLED_SAPIS+=( "${sapi}" ) - done - addpredict /usr/share/snmp/mibs/.index #nowarn addpredict /var/lib/net-snmp/mib_indexes #nowarn @@ -289,15 +309,9 @@ src_configure() { export ac_cv_prog_PHP="" # The php-fpm config file wants localstatedir to be ${EPREFIX}/var - # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. We - # use --sbindir=$bindir for backwards compatibility: in the past we - # installed php-fpm to $bindir by hand, but now the upstream build - # system puts it in $sbindir. If nothing else, eselect-php expects - # it in $bindir. + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. local our_conf=( --prefix="${PHP_DESTDIR}" - --datadir="${PHP_DESTDIR}/share" - --sbindir="${PHP_DESTDIR}/bin" --mandir="${PHP_DESTDIR}/man" --infodir="${PHP_DESTDIR}/info" --libdir="${PHP_DESTDIR}/lib" @@ -336,16 +350,19 @@ src_configure() { $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr")) $(use_enable intl) $(use_enable ipv6) + $(use_with kerberos) $(use_with xml libxml) $(use_enable unicode mbstring) $(use_with ssl openssl) $(use_enable pcntl) $(use_enable phar) $(use_enable pdo) + $(use_enable opcache) $(use_enable opcache-jit) $(use_with postgres pgsql "$("${PG_CONFIG:-true}" --bindir)/..") $(use_enable posix) $(use_with selinux fpm-selinux) + $(use_with spell pspell "${EPREFIX}/usr") $(use_enable simplexml) $(use_enable sharedmem shmop) $(use_with snmp snmp "${EPREFIX}/usr") @@ -412,6 +429,14 @@ src_configure() { php_cv_lib_gd_gdImageCreateFromXpm=$(usex xpm) ) + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + # LDAP support if use ldap ; then our_conf+=( @@ -461,8 +486,7 @@ src_configure() { ) fi - # PDO support, sqlite is the only one enabled by default. - our_conf+=( --without-pdo-sqlite ) + # PDO support if use pdo ; then our_conf+=( $(use_with mssql pdo-dblib "${EPREFIX}/usr") @@ -523,7 +547,8 @@ src_configure() { local one_sapi local sapi mkdir "${WORKDIR}/sapis-build" || die - for one_sapi in "${ENABLED_SAPIS[@]}" ; do + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue php_set_ini_dir "${one_sapi}" # The BUILD_DIR variable is used to determine where to output @@ -537,9 +562,7 @@ src_configure() { --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" ) - # We loop through *all* SAPIs here because we want to - # --disable-foo any SAPIs that aren't enabled. - for sapi in "${ALL_SAPIS[@]}" ; do + for sapi in $SAPIS ; do case "$sapi" in cli|cgi|embed|fpm|phpdbg) if [[ "${one_sapi}" == "${sapi}" ]] ; then @@ -583,8 +606,8 @@ src_compile() { addpredict /var/lib/net-snmp/mib_indexes #nowarn local sapi - for sapi in "${ENABLED_SAPIS[@]}" ; do - emake -C "${WORKDIR}/sapis-build/${sapi}" + for sapi in ${SAPIS} ; do + use "${sapi}" && emake -C "${WORKDIR}/sapis-build/${sapi}" done } @@ -592,77 +615,87 @@ src_install() { # see bug #324739 for what happens when we don't have that addpredict /usr/share/snmp/mibs/.index #nowarn - # The current SAPI name as we loop through them. - local sapi - - for sapi in "${ENABLED_SAPIS[@]}" ; do - # Grab the first SAPI that got built, and install common - # (SAPI-independent) targets from there. - cd "${WORKDIR}/sapis-build/${sapi}" || die - emake INSTALL_ROOT="${D}" install-build install-programs - break + # grab the first SAPI that got built and install common files from there + local first_sapi="", sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi done - # Where we'll put the versioned php scripts - keepdir "/usr/share/php${PHP_MV}" + # Install SAPI-independent targets + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + use opcache && emake INSTALL_ROOT="${D}" install-modules - for sapi in "${ENABLED_SAPIS[@]}" ; do - einfo "Installing SAPI: ${sapi}" - cd "${WORKDIR}/sapis-build/${sapi}" || die - php_install_ini "${sapi}" + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" - # Required in each iteration because php_install_ini() resets it. - local dest="${PHP_DESTDIR#"${EPREFIX}"}" - into "${dest}" + local sapi_list="" - # The headers target includes SAPI-specific headers, so we - # need to install them for each SAPI even though most of - # the headers are repeated. - emake INSTALL_ROOT="${D}" install-headers + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die - case "${sapi}" in - apache2) - # We're intentionally not using emake install-sapi as - # libtool may cause unnecessary relink failures (bug - # #351266) + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) insinto "${PHP_DESTDIR#"${EPREFIX}"}/apache2/" newins ".libs/libphp$(get_libname)" \ "libphp${PHP_MV}$(get_libname)" keepdir "/usr/$(get_libdir)/apache2/modules" - ;; - embed) - dolib.so "libs/libphp$(get_libname)" - ;; - cli) - emake INSTALL_ROOT="${D}" install-cli - dosym "..${dest#/usr}/bin/php" "/usr/bin/php${SLOT}" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#"${EPREFIX}"}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + # Install the "phar" archive utility. + if use phar ; then + emake INSTALL_ROOT="${D}" install-pharcmd + dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" + fi + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac - # Install the "phar" archive utility. - if use phar ; then - emake INSTALL_ROOT="${D}" install-pharcmd - dosym "..${dest#/usr}/bin/phar" \ - "/usr/bin/phar${SLOT}" + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}" fi - ;; - cgi) - emake INSTALL_ROOT="${D}" install-cgi - dosym "..${dest#/usr}/bin/php-cgi" \ - "/usr/bin/php-cgi${SLOT}" - ;; - fpm) - emake INSTALL_ROOT="${D}" install-fpm - dosym "..${dest#/usr}/bin/php-fpm" \ - "/usr/bin/php-fpm${SLOT}" - ;; - phpdbg) - emake INSTALL_ROOT="${D}" install-phpdbg - dosym "..${dest#/usr}/bin/phpdbg" \ - "/usr/bin/phpdbg${SLOT}" - ;; - *) - die "unhandled sapi in src_install" - ;; - esac + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi done # Install env.d files @@ -671,8 +704,6 @@ src_install() { sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die # set php-config variable correctly (bug #278439) - local sapi_list="${ENABLED_SAPIS[@]}" - sapi_list="${sapi_list/apache2/apache2handler}" sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die @@ -731,18 +762,19 @@ pkg_postinst() { # Create the symlinks for php local m - for m in "${ENABLED_SAPIS[@]}" ; do + for m in ${SAPIS}; do [[ ${m} == 'embed' ]] && continue; - - local ci=$(eselect php show $m) - if [[ -z $ci ]]; then - eselect php set $m php${SLOT} || die - einfo "Switched ${m} to use php:${SLOT}" - einfo - elif [[ $ci != "php${SLOT}" ]] ; then - elog "To switch $m to use php:${SLOT}, run" - elog " eselect php set $m php${SLOT}" - elog + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi fi done diff --git a/dev-lang/php/php-8.4.22.ebuild b/dev-lang/php/php-8.4.23.ebuild index 8aa62a66d0ff..e2e2d6edee7d 100644 --- a/dev-lang/php/php-8.4.22.ebuild +++ b/dev-lang/php/php-8.4.23.ebuild @@ -136,6 +136,11 @@ BDEPEND="virtual/pkgconfig" PATCHES=( "${FILESDIR}/php-8.3.31-ipv6-printing-test-fix.patch" + "${FILESDIR}/php-8.4-libgd-test-fixes.patch" + "${FILESDIR}/php-8.3-iconv-testfix-01.patch" + "${FILESDIR}/php-8.3-iconv-testfix-02.patch" + "${FILESDIR}/php-8.3-iconv-testfix-03.patch" + "${FILESDIR}/php-8.3-iconv-testfix-04.patch" ) PHP_MV="$(ver_cut 1)" @@ -708,6 +713,12 @@ src_install() { "php-fpm@${SLOT}.service" fi fi + + # Delete empty /var/run and /var/log directories. + # See bug #977105 + if use fpm ; then + rmdir "${D}/var/log" "${D}/var/run" || die + fi } src_test() { diff --git a/dev-lang/php/php-8.5.7-r1.ebuild b/dev-lang/php/php-8.5.8.ebuild index 18b5b61a1702..b15b0ef4d8a6 100644 --- a/dev-lang/php/php-8.5.7-r1.ebuild +++ b/dev-lang/php/php-8.5.8.ebuild @@ -137,6 +137,11 @@ BDEPEND="virtual/pkgconfig" PATCHES=( "${FILESDIR}/php-8.3.31-ipv6-printing-test-fix.patch" + "${FILESDIR}/php-8.4-libgd-test-fixes.patch" + "${FILESDIR}/php-8.3-iconv-testfix-01.patch" + "${FILESDIR}/php-8.3-iconv-testfix-02.patch" + "${FILESDIR}/php-8.3-iconv-testfix-03.patch" + "${FILESDIR}/php-8.3-iconv-testfix-04.patch" ) PHP_MV="$(ver_cut 1)" @@ -707,6 +712,12 @@ src_install() { "php-fpm@${SLOT}.service" fi fi + + # Delete empty /var/run and /var/log directories. + # See bug #977105 + if use fpm ; then + rmdir "${D}/var/log" "${D}/var/run" || die + fi } src_test() { diff --git a/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-20.40.1147286.ebuild b/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-20.40.1147286.ebuild index 4c69674212fb..b6c7ccd52c01 100644 --- a/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-20.40.1147286.ebuild +++ b/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-20.40.1147286.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -44,7 +44,7 @@ src_unpack() { local patchlevel=$(ver_cut 3) cd "${S}" || die unpack_deb "${S}/libdrm-amdgpu-common_${ids_ver}-${patchlevel}_all.deb" - multilib_parallel_foreach_abi multilib_src_unpack + multilib_foreach_abi multilib_src_unpack } multilib_src_unpack() { diff --git a/dev-libs/msgpack/Manifest b/dev-libs/msgpack/Manifest index 097d363b011f..2825966b474b 100644 --- a/dev-libs/msgpack/Manifest +++ b/dev-libs/msgpack/Manifest @@ -1,3 +1,2 @@ -DIST msgpack-c-5.0.0.tar.gz 69275 BLAKE2B 9c4ebc60387028cba04d5a8f4d97ca3cf6caa3db93fa7da1a90089d63cd58b36a7fb387b4fd5410d0c422719c1aed6d479418d3cbc011b609afb49cf89c4d0e3 SHA512 f61f19c7dcb5ef2a94cd3fb84e9b090e236caa922f590496e6455bd49a3d001021b55d0f28cea3ce3c35558bedb64f2f932c0e107fb15e6efc6855b99cbe4de6 DIST msgpack-c-6.0.0.tar.gz 69341 BLAKE2B e5f4f99266e568e7df46064803f869874559b766d32a3eb61f722b610753dd20eb755657eab305079ce0c3c6798848d6511b56d9e60cfedab6fa809cb2f1cb2f SHA512 77a2a3c984e04fcda298ae34571b6826f1d4f6e53b5f7166992269421ae3153b986ed69ba0360347920047e38f6941680bc9e38563ec79f15591bf8d66cd7978 DIST msgpack-c-7.0.1.tar.gz 70469 BLAKE2B 1cec8847b5100b3d215516911ccc5baf99a3dee90b66bddbcc7624525e51e68ba206b345789cf49a1aa922d73d827771b56033d81df680c01681d05ba6f38497 SHA512 a0ea9139a3cd5dc798c825a12ce2bfb27da74b28f86ffe5066e46e0264198c00b417737b26a9e48e632768dab671c00bde830bc3e2f8dba8c4a076c4cb6503d5 diff --git a/dev-libs/msgpack/msgpack-5.0.0.ebuild b/dev-libs/msgpack/msgpack-5.0.0.ebuild deleted file mode 100644 index 61c77da8263b..000000000000 --- a/dev-libs/msgpack/msgpack-5.0.0.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib - -MY_PN="${PN}-c" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="MessagePack is a binary-based efficient data interchange format" -HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/" -SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/c-${PV}/${MY_P}.tar.gz" - -LICENSE="Boost-1.0" -SLOT="0/2" -KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~x64-macos" -IUSE="doc examples test" - -RESTRICT="!test? ( test )" - -BDEPEND="doc? ( app-text/doxygen[dot] ) - test? ( - dev-cpp/gtest[${MULTILIB_USEDEP}] - virtual/zlib:=[${MULTILIB_USEDEP}] - )" - -S="${WORKDIR}"/${MY_P} - -multilib_src_configure() { - local mycmakeargs=( - -DMSGPACK_BUILD_EXAMPLES=OFF - -DMSGPACK_BUILD_TESTS="$(usex test)" - ) - - cmake_src_configure -} - -multilib_src_compile() { - cmake_src_compile - - if multilib_is_native_abi && use doc; then - cmake_build doxygen - fi -} - -multilib_src_install() { - if multilib_is_native_abi; then - if use doc; then - local HTML_DOCS=( "${BUILD_DIR}"/doc_c/html/. ) - fi - - if use examples; then - docinto examples - dodoc -r "${S}"/example/. - docompress -x /usr/share/doc/${PF}/examples - fi - fi - - cmake_src_install -} diff --git a/dev-libs/msgpack/msgpack-6.0.0-r1.ebuild b/dev-libs/msgpack/msgpack-6.0.0-r1.ebuild index 8224a5d54516..fae785d4f329 100644 --- a/dev-libs/msgpack/msgpack-6.0.0-r1.ebuild +++ b/dev-libs/msgpack/msgpack-6.0.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,6 +11,7 @@ MY_P="${MY_PN}-${PV}" DESCRIPTION="MessagePack is a binary-based efficient data interchange format" HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/" SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/c-${PV}/${MY_P}.tar.gz" +S="${WORKDIR}"/${MY_P} LICENSE="Boost-1.0" # Need the -c as a one-off (can drop on next soname bump) as the library rename @@ -29,8 +30,6 @@ BDEPEND="doc? ( app-text/doxygen[dot] ) virtual/zlib:=[${MULTILIB_USEDEP}] )" -S="${WORKDIR}"/${MY_P} - multilib_src_configure() { local mycmakeargs=( -DMSGPACK_BUILD_EXAMPLES=OFF diff --git a/dev-libs/msgpack/msgpack-7.0.1.ebuild b/dev-libs/msgpack/msgpack-7.0.1.ebuild index 0ffb36445823..99c366582ec1 100644 --- a/dev-libs/msgpack/msgpack-7.0.1.ebuild +++ b/dev-libs/msgpack/msgpack-7.0.1.ebuild @@ -11,6 +11,7 @@ MY_P="${MY_PN}-${PV}" DESCRIPTION="MessagePack is a binary-based efficient data interchange format" HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/" SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/c-${PV}/${MY_P}.tar.gz" +S="${WORKDIR}"/${MY_P} LICENSE="Boost-1.0" # Need the -c as a one-off (can drop on next soname bump) as the library rename @@ -29,7 +30,11 @@ BDEPEND="doc? ( app-text/doxygen[dot] ) virtual/zlib:=[${MULTILIB_USEDEP}] )" -S="${WORKDIR}"/${MY_P} +src_prepare() { + # Avoid cmake 3.5 deprecation warning + rm example/cmake/CMakeLists.txt || die + cmake_src_prepare +} multilib_src_configure() { local mycmakeargs=( diff --git a/dev-libs/uriparser/uriparser-1.0.2.ebuild b/dev-libs/uriparser/uriparser-1.0.2.ebuild index 603d94651f2c..100ce8b7346e 100644 --- a/dev-libs/uriparser/uriparser-1.0.2.ebuild +++ b/dev-libs/uriparser/uriparser-1.0.2.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2" LICENSE="test? ( LGPL-2.1+ ) BSD" SLOT="0" KEYWORDS="amd64 arm arm64 ppc ~ppc64 ~riscv ~sparc x86" -IUSE="+doc qt6 test unicode" # +doc to address warning RequiredUseDefaults +IUSE="doc qt6 test unicode" REQUIRED_USE="qt6? ( doc ) test? ( unicode )" RESTRICT="!test? ( test )" diff --git a/dev-python/asgiref/Manifest b/dev-python/asgiref/Manifest index 03e68c421116..e2c1334d2728 100644 --- a/dev-python/asgiref/Manifest +++ b/dev-python/asgiref/Manifest @@ -1 +1,2 @@ DIST asgiref-3.11.1.tar.gz 38550 BLAKE2B 0741e7eb098adb54a72e9e364b60f898368348050dbc56c0d7d8af6b0dc20f3dc5f0761645e922948f885d1939aae4a874f100732479425d63df6f32153fbfce SHA512 f41977ac7a07af7b7c2630b50df30ea4dbbe6b2e6157e9064e3440e342297b5e0c3776648f29e9f8eb95de04d2486872eb2f3e6734b9695073c76f8abaf4053a +DIST asgiref-3.12.1.tar.gz 42378 BLAKE2B 0e825068e755eb408fddc2abbfe8f8d884b18398087edfa4e9b807fb6774596e2b38248d757b6398019d24cb1751c3eb707bae0491d1cd7f5c4f059800856019 SHA512 21cea091580c0595bffae0fd92a81c18404318d8b7a6597032f23a42e1fda7b94c64c1dfa6ad0034839479a1246f55d5aa02aadcdd2d00df9d415027d2a120ff diff --git a/dev-python/asgiref/asgiref-3.12.1.ebuild b/dev-python/asgiref/asgiref-3.12.1.ebuild new file mode 100644 index 000000000000..084cbf2813db --- /dev/null +++ b/dev-python/asgiref/asgiref-3.12.1.ebuild @@ -0,0 +1,24 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="ASGI utilities (successor to WSGI)" +HOMEPAGE=" + https://asgi.readthedocs.io/en/latest/ + https://github.com/django/asgiref/ + https://pypi.org/project/asgiref/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +EPYTEST_PLUGINS=( pytest-asyncio ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest diff --git a/dev-python/bashate/bashate-2.1.1.ebuild b/dev-python/bashate/bashate-2.1.1.ebuild index a201db4f6fd1..e68185dae39d 100644 --- a/dev-python/bashate/bashate-2.1.1.ebuild +++ b/dev-python/bashate/bashate-2.1.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 4a7900b08b57..c34b89b8468a 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -3,3 +3,4 @@ DIST boto3-1.43.36.gh.tar.gz 1169288 BLAKE2B c316bf8bc804c7c7a70eed0b01a66d7cf8f DIST boto3-1.43.40.gh.tar.gz 1175361 BLAKE2B cb24a2dd76debf1b3b2d759d020b2cf17248db20044b06e0c191821170644f4762997a527b8e5c401305f5b0c725d1269d610c9cb1aa2bb776d894f70b09f3ac SHA512 eb7d0218051abddd74e544d8eaa4e83cdd2e9ef305d059c165c926ade12a795ae196eefbaa2b64176fe26a1bf20419d775670fccc4fda485c93197d10efcbcf1 DIST boto3-1.43.46.gh.tar.gz 1180600 BLAKE2B b27ffe984aade7d1f1b0a4c66204acecd5216cf5ccd66c40ed18015c48103c1a9a8c68ea39e5ddc971f6fdeaa0bcf4c39cdd9c252494f1650ea0f431644f4148 SHA512 447256677ce2943450877d7e08dc3c9bc2dc6da284d68c7a43ef25c6445acf135b5b26bf5ede80bd4d6fde48181bf6e5898aadda84e3190caad176280c313a31 DIST boto3-1.43.47.gh.tar.gz 1181255 BLAKE2B 9ecbe5f8f8720df1b5f9359aded4d708c25078703ca38763720068ba1135ade97f12bb288bc83850a72a14a56fbb5b58cbbd41c7160ba04c9e35ea6f47963f9f SHA512 d33f8e155195169727996dfbbe84a7d51ec1c65730853d61e21a952a0acbc7b5cb2c02ac61530a3da83dfd952ee423ffda62544723fe04ccd367a97ceed2e36c +DIST boto3-1.43.48.gh.tar.gz 1182113 BLAKE2B 8485ed17dc4abb15648962d35264738d274e808f63cfe86c33e69462601f591f12ad3409e0e640c0ba394211b50a058154f628a3e2bd7c7bfe4223fd89a6921c SHA512 2b35c4b13cf36d93f1d74936e03acf38dc7939a9e509330c6af3e866c755d90b3c1eb95c4fbd153120eb8fce5d6a88eac0ff7a121812bad411b452fa74d3c300 diff --git a/dev-python/boto3/boto3-1.43.48.ebuild b/dev-python/boto3/boto3-1.43.48.ebuild new file mode 100644 index 000000000000..93fbbe6dd59b --- /dev/null +++ b/dev-python/boto3/boto3-1.43.48.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +SRC_URI=" + https://github.com/boto/boto3/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + >=dev-python/botocore-${PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_prepare_all() { + # don't lock versions to narrow ranges + sed -e '/botocore/ d' \ + -e '/jmespath/ d' \ + -e '/s3transfer/ d' \ + -i setup.py || die + + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_python_prepare_all +} + +python_test() { + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index bde2d104ae9d..c7c285eedabb 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -3,3 +3,4 @@ DIST botocore-1.43.36.gh.tar.gz 16601718 BLAKE2B b4643995a2c173c9df865923d6912e2 DIST botocore-1.43.40.gh.tar.gz 16621912 BLAKE2B 87339ac693df7e8753b8a7463a93aea57f24005c48c6d5b0276307928704893f315e1b7c671d9a91340899bd8bff8846f7afa23eca4dbfaa03f54a3f07b2fa43 SHA512 49257c431950a63d34c137b2b3ed1bb642cfbdc98351dab2cb2dfdaae6f6e88ecb11c74d89d9ec52ad6b558e9d94fa6bc5da13c5a0e67ad441decf1df516e888 DIST botocore-1.43.46.gh.tar.gz 16680698 BLAKE2B cbb2a15145d8fd7d4021538774b21bdb3adfc95c0e9f91a5970b1cb1fc03f5453ab0b6315d27c70b846ea12a2fc8442eccebd04e357d22589cddf5e39fa251dd SHA512 a37e10b54383ad6a7fc1a764c8f565c127eac81e989197335b5bc3ca57b736cbcb36635c070d6d2cc48a06fafdb7c88319630d2c22b3b4349efb406438ba2a50 DIST botocore-1.43.47.gh.tar.gz 16683434 BLAKE2B ff7b769b782fd8c94e3faeaffa095f0a659b31afbe271619a698d18b2804c2d38e91f94f8d561fbedae08bf6461d4b48cee09a25e96f8d532a48a408499c14b3 SHA512 12f33f16dcc43b60904b1ec7f1307a7a45072f4cdafe3b9a6b4c4859009c7cd1b434a76a6c661e7b1d79c67a82743440ff57d07ee3fe5b3bf0ef8a980ad943e8 +DIST botocore-1.43.48.gh.tar.gz 16688909 BLAKE2B 18765fa54b970c5792bed052d910faa1179b8813000da14da41c72735c1a91f86286222b1614fd6b70d6793216e4f35017d42007b9c3a18c92ae03803c5854ed SHA512 560bcbb47f8de85de29bbcd359a01f314eaea8a38298e31f6efdc43b17fb307c10aabe7dfd19866a9fb37b4df42aff1e77f173c105d1c3a46e0117d1b40b5d40 diff --git a/dev-python/botocore/botocore-1.43.48.ebuild b/dev-python/botocore/botocore-1.43.48.ebuild new file mode 100644 index 000000000000..a3a161f78545 --- /dev/null +++ b/dev-python/botocore/botocore-1.43.48.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + <dev-python/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# unbundled packages +RDEPEND+=" + dev-python/requests[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # unpin deps + sed -i -e "s:>=.*':':" setup.py || die + + # unbundle deps + rm -r botocore/vendored || die + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # rely on bundled six + tests/functional/test_six_imports.py::test_no_bare_six_imports + tests/functional/test_six_threading.py::test_six_thread_safety + ) + + epytest tests/{functional,unit} +} diff --git a/dev-python/construct/construct-2.10.70.ebuild b/dev-python/construct/construct-2.10.70.ebuild index 589656d9ce40..81217fdff02e 100644 --- a/dev-python/construct/construct-2.10.70.ebuild +++ b/dev-python/construct/construct-2.10.70.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -34,6 +34,7 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=() distutils_enable_tests pytest EPYTEST_IGNORE=( diff --git a/dev-python/dogpile-cache/dogpile-cache-1.5.0.ebuild b/dev-python/dogpile-cache/dogpile-cache-1.5.0.ebuild index 6db5d1838a49..9acb2016de18 100644 --- a/dev-python/dogpile-cache/dogpile-cache-1.5.0.ebuild +++ b/dev-python/dogpile-cache/dogpile-cache-1.5.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/extras/extras-1.0.0-r2.ebuild b/dev-python/extras/extras-1.0.0-r2.ebuild index ee0bbeb0979c..afea5eb9c002 100644 --- a/dev-python/extras/extras-1.0.0-r2.ebuild +++ b/dev-python/extras/extras-1.0.0-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -27,3 +27,9 @@ BDEPEND=" " distutils_enable_tests unittest + +src_prepare() { + distutils-r1_src_prepare + + sed -i -e 's:assertEquals:assertEqual:' extras/tests/test_*.py || die +} diff --git a/dev-python/faker/Manifest b/dev-python/faker/Manifest index 848176511d7a..177de3ccac8b 100644 --- a/dev-python/faker/Manifest +++ b/dev-python/faker/Manifest @@ -1,3 +1,4 @@ DIST faker-40.23.0.tar.gz 1972975 BLAKE2B bd31c81933c72a1cb367e764331295656e5b92f8b2aab19ee15bbf41a5c9cadae504e76068ee3882b90f13be9a323131e4d1b2af224f9462121acdbf9c6b5988 SHA512 734a4e51073596f6ba8b46cea54257e32f5f1567c21c44f15d82e5eff19a8209a07dd130767d57c02626d95e17cd517ee3c0aec3fc4682761b56e10c25058165 DIST faker-40.27.0.tar.gz 2018361 BLAKE2B 0a2caa035f137738669b57c50a79209f3c3dfedd0fd077992c2290d3cbde4fca3605d797630327cf82afac50f592cb972f10622832483ed45e7d18cd796906a2 SHA512 33734d76f291e6b36b3551201b6055c515d06d943ec1aaeeba739d38d4709849a99af785e1c49a5473ac12fc58d43114a5493a46de52a0d56861dbe5c84c9b0f DIST faker-40.28.1.tar.gz 2022717 BLAKE2B a677249f4144ae6c123b438bae2e7d10c8e7faff839fe7371fe4c7d6fdbe61f0d70a4e90c0cc12448f857afb5aec1d4a424cd9ac3f998f5b78d5ff942aaf136d SHA512 3b0c86a85e4772a10b8995df39af498878d2961e4caa5bda61ef3a2f88e26dc1c3f97781f714e46ef67b0dece68ebfb37390379c06f5768a2914f074c7254d92 +DIST faker-40.31.0.tar.gz 2024136 BLAKE2B f3c1256c9d03d6ec918a849fb720b9bf18e8c177babc422896b174effac242b3c979092a084e7d290b718b7f2f9caaa5040479b62dd5d5cde2ac8c4e7ea14cc8 SHA512 aca52d229f21e80b41b94a95986ea1f5f96bbcfe42e3e9a6b197b44a95b0b6b6ef43fac7be7189a9afa8bd11fd28b6735ee321da37a1d74b222ae62f0c419ffb diff --git a/dev-python/faker/faker-40.31.0.ebuild b/dev-python/faker/faker-40.31.0.ebuild new file mode 100644 index 000000000000..125fe3904e57 --- /dev/null +++ b/dev-python/faker/faker-40.31.0.ebuild @@ -0,0 +1,41 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_PN=${PN^} +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A Python package that generates fake data for you" +HOMEPAGE=" + https://github.com/joke2k/faker/ + https://pypi.org/project/Faker/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + !dev-ruby/faker +" +BDEPEND=" + test? ( + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP},tiff] + dev-python/validators[${PYTHON_USEDEP}] + ) +" + +# note: tests are flaky with xdist +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" ) +distutils_enable_tests pytest + +python_test() { + epytest + epytest --exclusive-faker-session tests/pytest/session_overrides +} diff --git a/dev-python/httpx2/Manifest b/dev-python/httpx2/Manifest index 6d832149447f..efa09e893ff7 100644 --- a/dev-python/httpx2/Manifest +++ b/dev-python/httpx2/Manifest @@ -1,2 +1,3 @@ DIST httpx2-2.4.0.gh.tar.gz 2049043 BLAKE2B ec36c399853c4264bfb8247b770f6ddddecab3de150e75659455820fed1d41758326201684c1ec4adaa4a2e5451fceeba58b4ef0210aed7978e285b750ccf806 SHA512 f6033c1032faa078cb954fc9107a3c34ad46a6ab71ef426048f64147b94bd1737ab80447e5bcceec7c3147fd9ccfdf1b58dbaac5d3b9ab8b9bbb46f9e28617ab DIST httpx2-2.5.0.gh.tar.gz 2053138 BLAKE2B 8d436c215dcb47664c41f0b286bfd614e9eef08161a3c534a40bac5e59d5fe57ec51f87ead1498965d13ad41c4939b3a93b2a053ac2a73d0927593aa8cb61a2a SHA512 45cfadee3c884843e595eb8cffb0887fbee98c069d94c1e5c2498e7ac8c90b414c7d4fff2e8ed4a03589b56b605566674f2dd20e22738aa92812795b50c287f3 +DIST httpx2-2.7.0.gh.tar.gz 2084293 BLAKE2B 82a2ba5d9ea378ecd345e2f44e83a231e52c6a4551c854d2719387abc5a6b03da16fa8c99b731773ee73bbd7212eaa0843bab586edf0938751f0e545b7d170c5 SHA512 4badec86b0e5a4bf0c0974168e65ab24033598f414ea57af24d63c33d5c4700637de3a443cb552cf87f33c6aad3ed17fe498a7ed061d96bde0fe8c22073f3fb2 diff --git a/dev-python/httpx2/httpx2-2.7.0.ebuild b/dev-python/httpx2/httpx2-2.7.0.ebuild new file mode 100644 index 000000000000..91015cb37a30 --- /dev/null +++ b/dev-python/httpx2/httpx2-2.7.0.ebuild @@ -0,0 +1,107 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +# This package combines httpx2 and httpcore2 (because of exact version pin). +DESCRIPTION="The next generation HTTP client (Pydantic fork)" +HOMEPAGE=" + https://pypi.org/project/httpx2/ + https://pypi.org/project/httpcore2/ + https://github.com/pydantic/httpx2/ +" +SRC_URI=" + https://github.com/pydantic/httpx2/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/anyio-4.10[${PYTHON_USEDEP}] + >=dev-python/idna-3.18[${PYTHON_USEDEP}] + >=dev-python/h11-0.16[${PYTHON_USEDEP}] + >=dev-python/truststore-0.10[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}] + ' 3.12) + cli? ( + >=dev-python/click-8.4[${PYTHON_USEDEP}] + =dev-python/pygments-2*[${PYTHON_USEDEP}] + >=dev-python/rich-10[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}] + dev-python/uv-dynamic-versioning[${PYTHON_USEDEP}] + test? ( + dev-python/brotlicffi[${PYTHON_USEDEP}] + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/h2[${PYTHON_USEDEP}] + dev-python/starlette[${PYTHON_USEDEP}] + dev-python/socksio[${PYTHON_USEDEP}] + dev-python/trio[${PYTHON_USEDEP}] + dev-python/trustme[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + dev-python/uvicorn[${PYTHON_USEDEP}] + dev-python/websockets[${PYTHON_USEDEP}] + >=dev-python/wsproto-1.2[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}] + ' 3.12 3.13) + ) +" + +EPYTEST_PLUGINS=( anyio flaky pytest-{httpbin,trio} ) +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_compile() { + local -x UV_DYNAMIC_VERSIONING_BYPASS=${PV} + + cd src/httpcore2 || die + distutils-r1_python_compile + cd ../httpx2 || die + distutils-r1_python_compile + cd ../.. || die +} + +python_test() { + local EPYTEST_DESELECT=( + # random HTTP header case mismatch + tests/httpx2/test_main.py::test_auth + tests/httpx2/test_main.py::test_binary + tests/httpx2/test_main.py::test_follow_redirects + tests/httpx2/test_main.py::test_get + tests/httpx2/test_main.py::test_json + tests/httpx2/test_main.py::test_post + tests/httpx2/test_main.py::test_redirects + tests/httpx2/test_main.py::test_verbose + # Internet + tests/httpcore2/test_cancellations.py::test_h2_timeout_during_request + tests/httpx2/client/test_proxies.py::test_async_proxy_close + tests/httpx2/client/test_proxies.py::test_sync_proxy_close + # unexpected logs from uvicorn + tests/httpx2/test_utils.py::test_logging_request + tests/httpx2/test_utils.py::test_logging_redirect_chain + ) + + local EPYTEST_IGNORE=() + if ! use cli; then + EPYTEST_IGNORE+=( + tests/httpx2/test_main.py + ) + fi + + epytest tests/{httpcore2,httpx2} +} diff --git a/dev-python/jc/Manifest b/dev-python/jc/Manifest index 55976c1c2b68..d6e3a29bba7a 100644 --- a/dev-python/jc/Manifest +++ b/dev-python/jc/Manifest @@ -1,2 +1 @@ -DIST jc-1.25.6.gh.tar.gz 15300270 BLAKE2B a49f05773eb74288dcd93795aed0c2ae8e8efddffdaa20736fbfc1b7397e52fe1f07618c7fb835e304ca845eb93ce3f827cb161a93c6eb3cf4fe4b1821f51e9b SHA512 5ec64731f5e01608fb5cd97fa0e12ad43e7147b79ccc3ab86c685aba7742cdd8a7d8da8d2bec518f675625e569287661a68bc5351f85c2db3776db0644d26dc4 DIST jc-1.25.7.gh.tar.gz 15380863 BLAKE2B 7005171140989c3b4b9053a663e0e2aee6bc8815a541ab61e04373add275806a22b4c13ac10ce1e5875a221d6b3c8c03aab3d79f2edc1161f15f4cb05dfe82e0 SHA512 2b06e538850f91c57b547272468e6096ef6a64e95206cbdd298296eda90605deda96a64ee63b8648bc9d710927249c1639a8cba9423746db2b8b19c61ed0af1d diff --git a/dev-python/jc/jc-1.25.6.ebuild b/dev-python/jc/jc-1.25.6.ebuild deleted file mode 100644 index c67537802447..000000000000 --- a/dev-python/jc/jc-1.25.6.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 2022-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 - -DESCRIPTION="Converts the output of popular command-line tools and file-types to JSON" -HOMEPAGE=" - https://github.com/kellyjonbrazil/jc/ - https://pypi.org/project/jc/ -" -# no tests in sdist, as of 1.23.2 -SRC_URI=" - https://github.com/kellyjonbrazil/jc/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64" - -RDEPEND=" - dev-python/pygments[${PYTHON_USEDEP}] - dev-python/ruamel-yaml[${PYTHON_USEDEP}] - dev-python/xmltodict[${PYTHON_USEDEP}] -" - -distutils_enable_tests unittest - -python_test() { - local -x TZ=America/Los_Angeles - eunittest -} diff --git a/dev-python/jedi/jedi-0.20.0.ebuild b/dev-python/jedi/jedi-0.20.0.ebuild index 5f974213fd54..482cf7bd384e 100644 --- a/dev-python/jedi/jedi-0.20.0.ebuild +++ b/dev-python/jedi/jedi-0.20.0.ebuild @@ -47,14 +47,9 @@ python_test() { ) case ${EPYTHON} in - pypy3.11) + python3.15*) EPYTEST_DESELECT+=( - test/test_api/test_api.py::test_preload_modules - test/test_api/test_interpreter.py::test_param_infer_default - test/test_inference/test_compiled.py::test_next_docstr - test/test_inference/test_compiled.py::test_time_docstring - test/test_inference/test_gradual/test_typeshed.py::test_module_exists_only_as_stub - test/test_utils.py::TestSetupReadline::test_import + test/test_inference/test_sys_path.py::test_venv_and_pths ) ;; esac diff --git a/dev-python/lockfile/lockfile-0.12.2-r3.ebuild b/dev-python/lockfile/lockfile-0.12.2-r3.ebuild index ce5e67d093be..3ccdb728430d 100644 --- a/dev-python/lockfile/lockfile-0.12.2-r3.ebuild +++ b/dev-python/lockfile/lockfile-0.12.2-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -26,5 +26,6 @@ PATCHES=( "${FILESDIR}"/${P}-pytest.patch ) +EPYTEST_PLUGINS=() distutils_enable_tests pytest distutils_enable_sphinx doc/source --no-autodoc diff --git a/dev-python/mechanicalsoup/mechanicalsoup-1.4.0.ebuild b/dev-python/mechanicalsoup/mechanicalsoup-1.4.0.ebuild index f5e05b99de9f..91ba4344dd98 100644 --- a/dev-python/mechanicalsoup/mechanicalsoup-1.4.0.ebuild +++ b/dev-python/mechanicalsoup/mechanicalsoup-1.4.0.ebuild @@ -27,17 +27,17 @@ RDEPEND=" >=dev-python/requests-2.22.0[${PYTHON_USEDEP}] >=dev-python/urllib3-2.2.2[${PYTHON_USEDEP}] " -BDEPEND=" - test? ( - >=dev-python/requests-mock-1.3.0[${PYTHON_USEDEP}] - ) -" -EPYTEST_PLUGINS=( pytest-{httpbin,mock} ) +EPYTEST_PLUGINS=( pytest-{httpbin,mock} requests-mock ) distutils_enable_tests pytest distutils_enable_sphinx docs python_test() { + local EPYTEST_DESELECT=( + # random regression (deps?) + tests/test_stateful_browser.py::test_select_form_associated_elements + ) + epytest -o addopts= } diff --git a/dev-python/munch/munch-4.0.0.ebuild b/dev-python/munch/munch-4.0.0.ebuild index c7cc1235f2e1..1706a270a29e 100644 --- a/dev-python/munch/munch-4.0.0.ebuild +++ b/dev-python/munch/munch-4.0.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -25,6 +25,7 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=() distutils_enable_tests pytest PATCHES=( diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest index 3684f8b8c01a..5da9d5206fa8 100644 --- a/dev-python/mypy/Manifest +++ b/dev-python/mypy/Manifest @@ -1,3 +1,4 @@ DIST mypy-1.20.2.gh.tar.gz 3837137 BLAKE2B cc28ad8a145d27dd4f6f395496e44ed80859df634e89fe7d584975107534cf063db97817b5b94665e2b7629ca1fa67c75c0ed2978237f10d68606c33bc6e79d3 SHA512 55affb5d086b18ea16b5cc9fd4bb2fbc99987d444f2c0b6c64aaa9dd87a7790f99385b922eb6afbd5fe0c0ff0a5da9f69ab03bb3d8aac350aa5b2f85174fc130 DIST mypy-2.1.0.gh.tar.gz 3916741 BLAKE2B 37bf2f6d79377ebde68537119c0b58ae9cf6868421329b1d5b814e48788749e53cd34053bb5472385881b167cc8af7fdd85cef3c63792868668286516fe27462 SHA512 ae24addeaa7c7f51b43df718482be368e9078c16c42c2449cabed74b98d3a36a701235b092d044c3e452ec84ee26806090f2d38e173d752e8511a178e12cd761 DIST mypy-2.2.0.gh.tar.gz 3970949 BLAKE2B 975d59c31ad9127be7d490a706c9bceb06b9eb0c19e96ed9112f35626c0a615edd51f83ddd4c1a30188c58572b45768dfbdd3f3c65c670972de46f96c3427cd3 SHA512 6f8d3be955df2e3de1495c67931ec813f62c05b68969108a2ba1a978221924e860bc03b48eddf51f4efca1c8f684e2708637004f6ce457489ba6fdea31582fdb +DIST mypy-2.3.0.gh.tar.gz 4005925 BLAKE2B 72d9e55459d11729fe75e299c36dee981acb0576925bc4c4273f688bf7859736e17ccebf349bcf345f3cd1939353e1bbfe81ad655c3ba99cc08f11d3cf89cf78 SHA512 6457a9372149cb7154ea772bc3981838a7f7a51d652fefe2caa56015d7b1c1389ea069cfae6086e9840e317a97eb980548089b70b3135f5d1b1e6580298dfcbe diff --git a/dev-python/mypy/mypy-2.3.0.ebuild b/dev-python/mypy/mypy-2.3.0.ebuild new file mode 100644 index 000000000000..525c023a8c1c --- /dev/null +++ b/dev-python/mypy/mypy-2.3.0.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="sqlite" + +inherit distutils-r1 optfeature + +DESCRIPTION="Optional static typing for Python" +HOMEPAGE=" + https://www.mypy-lang.org/ + https://github.com/python/mypy/ + https://pypi.org/project/mypy/ +" +SRC_URI=" + https://github.com/python/mypy/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="native-extensions" + +# stubgen collides with this package: https://bugs.gentoo.org/585594 +RDEPEND=" + !dev-util/stubgen + <dev-python/ast-serialize-1[${PYTHON_USEDEP}] + >=dev-python/ast-serialize-0.6.0[${PYTHON_USEDEP}] + >=dev-python/librt-0.13.0[${PYTHON_USEDEP}] + >=dev-python/mypy-extensions-1.0.0[${PYTHON_USEDEP}] + >=dev-python/pathspec-1.0.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}] +" +BDEPEND=" + native-extensions? ( + ${RDEPEND} + dev-python/types-psutil[${PYTHON_USEDEP}] + dev-python/types-setuptools[${PYTHON_USEDEP}] + ) + test? ( + >=dev-python/attrs-18.0[${PYTHON_USEDEP}] + >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}] + >=dev-python/lxml-4.9.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +# frustratingly, mypyc produces non-deterministic output. If ccache is enabled it will be a waste of time, +# but simultaneously it might trash your system and fill up the cache with a giant wave of non-reproducible +# test files (https://github.com/mypyc/mypyc/issues/1014) +export CCACHE_DISABLE=1 + +PATCHES=( + "${FILESDIR}"/${PN}-1.14.0-no-werror.patch +) + +src_prepare() { + distutils-r1_src_prepare + + # don't force pytest-xdist, in case user asked for EPYTEST_JOBS=1 + sed -i -e '/addopts/s:-nauto::' pyproject.toml || die +} + +python_compile() { + local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0) + distutils-r1_python_compile +} + +python_test() { + local EPYTEST_DESELECT=( + # the majority of them require Internet (via pip) + mypy/test/testpep561.py + # known broken with assertions enabled + # https://github.com/python/mypy/issues/16043 + mypyc/test/test_external.py::TestExternal::test_c_unit_test + mypyc/test/test_run.py::TestRun::run-async.test::testRunAsyncMiscTypesInEnvironment + mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps + mypyc/test/test_run.py::TestRun::run-classes.test::testDelException + mypyc/test/test_run.py::TestRun::run-classes.test::testDelForDictSubclass + mypyc/test/test_run.py::TestRun::run-classes.test::testSubclassDict + mypyc/test/test_run.py::TestRun::run-dicts.test::testDictIterationMethodsRun + mypyc/test/test_run.py::TestRun::run-dicts.test::testDictMethods + mypyc/test/test_run.py::TestRun::run-dunders.test::testDundersContainer + mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps + mypyc/test/test_run.py::TestRun::run-i64.test::testI64BasicOps + mypyc/test/test_run.py::TestRun::run-i64.test::testI64DefaultArgValues + mypyc/test/test_run.py::TestRun::run-i64.test::testI64ErrorValuesAndUndefined + mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance + mypyc/test/test_run.py::TestRun::run-librt-strings.test::testLibrtStrings_librt + mypyc/test/test_run.py::TestRun::run-vecs-i64.test::testVecI64BasicOps_librt + mypyc/test/test_run.py::TestRun::run-vecs-i64.test::testVecI64BasicOps_librt_experimental + mypyc/test/test_run.py::TestRun::run-vecs-misc.test::testVecMiscBasicOps_librt + mypyc/test/test_run.py::TestRun::run-vecs-nested.test::testVecNestedBasicOps_librt + mypyc/test/test_run.py::TestRun::run-vecs-t.test::testVecTBasicOps_librt + mypyc/test/test_run.py::TestRun::run-vecs-t.test::testVecTBasicOps_librt_experimental + mypyc/test/test_run.py::TestRunStrictDunderTyping::run-dunders.test::testDundersContainer_dunder_typing + mypyc/test/test_run.py::TestRunStrictDunderTyping::run-floats.test::testFloatOps_dunder_typing + # these assume that types-docutils are not installed + mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testIgnoreImportIfNoPython3StubAvailable + mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testNoPython3StubAvailable + # TODO + mypy/test/meta/test_parse_data.py + mypy/test/meta/test_update_data.py + # Unknown SIGBUS, bug #967850 + mypyc/test/test_run.py::TestRun::run-classes.test::testBufferRoundTrip_native_libs + ) + + case ${EPYTHON} in + python3.1[45]*) + EPYTEST_DESELECT+=( + mypyc/test/test_run.py::TestRun::run-async.test::testRunAsyncRefCounting + mypyc/test/test_run.py::TestRun::run-tuples.test::testNamedTupleClassSyntax + ) + ;; + esac + + # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests + # fail with high COLUMNS values + local -x COLUMNS=80 + + # The tests depend on having in-source compiled extensions if you want to + # test those compiled extensions. Various crucial test dependencies aren't + # installed. Even pyproject.toml is needed because that's where pytest args + # are in. Hack them into the build directory and delete them afterwards. + # See: https://github.com/python/mypy/issues/16143 + local -x MYPY_TEST_PREFIX="${S}" + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + cp -r "${S}"/{conftest.py,pyproject.toml} . || die + + local failed= + nonfatal epytest || failed=1 + + rm -r conftest.py pyproject.toml .mypy_cache || die + + [[ ${failed} ]] && die "epytest failed with ${EPYTHON}" +} + +pkg_postinst() { + optfeature "dmypy status -v support for memory use" dev-python/psutil +} diff --git a/dev-python/nextinspace/nextinspace-3.0.1.ebuild b/dev-python/nextinspace/nextinspace-3.0.1.ebuild index 5a44788bf6d5..d7cfc842e967 100644 --- a/dev-python/nextinspace/nextinspace-3.0.1.ebuild +++ b/dev-python/nextinspace/nextinspace-3.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -25,11 +25,6 @@ RDEPEND=" >=dev-python/colorama-0.4.3[${PYTHON_USEDEP}] >=dev-python/requests-2.24[${PYTHON_USEDEP}] " -BDEPEND=" - test? ( - dev-python/pytest-lazy-fixtures[${PYTHON_USEDEP}] - >=dev-python/requests-mock-1.8[${PYTHON_USEDEP}] - ) -" +EPYTEST_PLUGINS=( pytest-lazy-fixtures requests-mock ) distutils_enable_tests pytest diff --git a/dev-python/nextinspace/nextinspace-9999.ebuild b/dev-python/nextinspace/nextinspace-9999.ebuild index 23039ff15516..d7314c82636e 100644 --- a/dev-python/nextinspace/nextinspace-9999.ebuild +++ b/dev-python/nextinspace/nextinspace-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -25,11 +25,6 @@ RDEPEND=" >=dev-python/colorama-0.4.3[${PYTHON_USEDEP}] >=dev-python/requests-2.24[${PYTHON_USEDEP}] " -BDEPEND=" - test? ( - dev-python/pytest-lazy-fixtures[${PYTHON_USEDEP}] - >=dev-python/requests-mock-1.8[${PYTHON_USEDEP}] - ) -" +EPYTEST_PLUGINS=( pytest-lazy-fixtures requests-mock ) distutils_enable_tests pytest diff --git a/dev-python/oslotest/Manifest b/dev-python/oslotest/Manifest index 744e30d8e259..917e798ab3a5 100644 --- a/dev-python/oslotest/Manifest +++ b/dev-python/oslotest/Manifest @@ -1,3 +1 @@ -DIST oslotest-6.0.0.tar.gz 32997 BLAKE2B 5943f211d1a1d6c0f1b9700be935792c7f83a6db4dc7604afe1f4645939d2e113960c2fd258fe46e08e6f7f653f76bcbc5cb1b5c2e9a30524be7a8f81c50063f SHA512 4541f4fd4cb5ed4e903076fbcb58514709bbf3a9400964a8d54a5708ef8015b75023ef1442eb50980b78e0e794c6c4f95ae6cd75e8c8555fe897862f3d77fbdc -DIST oslotest-6.1.0.tar.gz 34358 BLAKE2B 4258e3010500fb29b67d58df6ab2088a4e8b7396bb2f6b819d11cbd607a3ccee454a961037d00f6313efbf1f1b144a4655bcf1ae0ac588aef15e4109f6987c00 SHA512 b226f92bee97ad708b672188d0ff03e62673b04496211afb0398232cc6d4abbacf1f730fc2f652532032f19eeef309d178fd5059a603594dee3cdd116b9fcd3a DIST oslotest-6.1.1.tar.gz 34131 BLAKE2B 681c024e1e7291983ed1ff98cddb14a6e57188c6b604440dbbddf1bd0900453c469a272eaa1e9dd242b69c378a5e9581a8f492ba293402f87ef91153c49b0514 SHA512 11524557f50549d187ab438e5368258b10aa4c10100979305c31269a681d201c204411047e84a89e9b310fe523cdee460fec0d1fdee65491de634b8bf11ec3ea diff --git a/dev-python/oslotest/oslotest-6.0.0.ebuild b/dev-python/oslotest/oslotest-6.0.0.ebuild deleted file mode 100644 index a7384b6aedde..000000000000 --- a/dev-python/oslotest/oslotest-6.0.0.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=pbr -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Oslo test framework" -HOMEPAGE=" - https://opendev.org/openstack/oslotest/ - https://github.com/openstack/oslotest/ - https://pypi.org/project/oslotest/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 x86" - -RDEPEND=" - >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}] - >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}] -" - -distutils_enable_tests unittest - -src_prepare() { - sed -i -e '/subunit/d' requirements.txt || die - distutils-r1_src_prepare -} diff --git a/dev-python/oslotest/oslotest-6.1.0.ebuild b/dev-python/oslotest/oslotest-6.1.0.ebuild deleted file mode 100644 index d98cd5af7007..000000000000 --- a/dev-python/oslotest/oslotest-6.1.0.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=pbr -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Oslo test framework" -HOMEPAGE=" - https://opendev.org/openstack/oslotest/ - https://github.com/openstack/oslotest/ - https://pypi.org/project/oslotest/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 x86" - -RDEPEND=" - >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}] - >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}] -" - -distutils_enable_tests unittest diff --git a/dev-python/parso/parso-0.8.7.ebuild b/dev-python/parso/parso-0.8.7.ebuild index bbb9021820bd..22d476196605 100644 --- a/dev-python/parso/parso-0.8.7.ebuild +++ b/dev-python/parso/parso-0.8.7.ebuild @@ -27,3 +27,22 @@ distutils_enable_sphinx docs EPYTEST_PLUGINS=() EPYTEST_XDIST=1 distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=() + + case ${EPYTHON} in + python3.15*) + EPYTEST_DESELECT+=( + # minor exception message mismatch + 'test/test_python_errors.py::test_python_exception_matches[def f(x, x): pass]' + 'test/test_python_errors.py::test_python_exception_matches[def x(*): pass]' + # now valid in py3.15 + 'test/test_python_errors.py::test_python_exception_matches[[*[] for a in [1]]]' + 'test/test_python_errors.py::test_python_exception_matches[{**{} for a in [1]}]' + ) + ;; + esac + + epytest +} diff --git a/dev-python/pbr/pbr-7.0.3-r1.ebuild b/dev-python/pbr/pbr-7.0.3-r1.ebuild deleted file mode 100644 index 1a48791d56e9..000000000000 --- a/dev-python/pbr/pbr-7.0.3-r1.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=standalone -PYTHON_TESTED=( python3_{13..14} ) -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 pypi - -DESCRIPTION="Inject some useful and sensible default behaviors into setuptools" -HOMEPAGE=" - https://opendev.org/openstack/pbr/ - https://github.com/openstack/pbr/ - https://pypi.org/project/pbr/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" - -# importlib-resources/pkg-resources: _compat/metadata.py -# packaging/pkg-resources: _compat/packaging.py -RDEPEND=" - || ( - dev-python/importlib-resources[${PYTHON_USEDEP}] - dev-python/pkg-resources[${PYTHON_USEDEP}] - ) - || ( - >=dev-python/packaging-20.0[${PYTHON_USEDEP}] - dev-python/pkg-resources[${PYTHON_USEDEP}] - ) - >=dev-python/setuptools-64.0.0[${PYTHON_USEDEP}] -" - -# git is needed for tests, see https://bugs.launchpad.net/pbr/+bug/1326682 and -# https://bugs.gentoo.org/show_bug.cgi?id=561038 docutils is needed for sphinx -# exceptions... https://bugs.gentoo.org/show_bug.cgi?id=603848 stestr is run as -# external tool. -BDEPEND=" - ${RDEPEND} - test? ( - $(python_gen_cond_dep ' - >=dev-python/wheel-0.32.0[${PYTHON_USEDEP}] - >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}] - >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}] - >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}] - >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}] - >=dev-python/virtualenv-20.0.3[${PYTHON_USEDEP}] - dev-vcs/git - ' "${PYTHON_TESTED[@]}") - ) -" - -distutils_enable_tests unittest - -python_prepare_all() { - # TODO: investigate - sed -e 's:test_with_argument:_&:' \ - -e 's:test_wsgi_script_run:_&:' \ - -i pbr/tests/functional/test_wsgi_scripts.py || die - # installs random packages via pip from the Internet - rm pbr/tests/functional/test_pep517.py || die - rm pbr/tests/functional/test_requirements.py || die - - distutils-r1_python_prepare_all -} - -python_test() { - if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then - einfo "Testing on ${EPYTHON} is not supported at the moment" - return - fi - - cd "${BUILD_DIR}/install$(python_get_sitedir)" || die - eunittest -b -} diff --git a/dev-python/pbr/pbr-7.0.3-r2.ebuild b/dev-python/pbr/pbr-7.0.3-r2.ebuild index 4f449b2e2167..355fe1236522 100644 --- a/dev-python/pbr/pbr-7.0.3-r2.ebuild +++ b/dev-python/pbr/pbr-7.0.3-r2.ebuild @@ -4,7 +4,6 @@ EAPI=8 DISTUTILS_USE_PEP517=standalone -PYTHON_TESTED=( python3_{13..14} ) PYTHON_COMPAT=( python3_{13..14} ) PYTHON_REQ_USE="threads(+)" @@ -22,9 +21,6 @@ SLOT="0" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" RDEPEND=" - $(python_gen_cond_dep ' - dev-python/importlib-resources[${PYTHON_USEDEP}] - ' pypy3_11 3.11) >=dev-python/packaging-20.0[${PYTHON_USEDEP}] >=dev-python/setuptools-64.0.0[${PYTHON_USEDEP}] " @@ -36,15 +32,13 @@ RDEPEND=" BDEPEND=" ${RDEPEND} test? ( - $(python_gen_cond_dep ' - >=dev-python/wheel-0.32.0[${PYTHON_USEDEP}] - >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}] - >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}] - >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}] - >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}] - >=dev-python/virtualenv-20.0.3[${PYTHON_USEDEP}] - dev-vcs/git - ' "${PYTHON_TESTED[@]}") + >=dev-python/wheel-0.32.0[${PYTHON_USEDEP}] + >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}] + >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}] + >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}] + >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20.0.3[${PYTHON_USEDEP}] + dev-vcs/git ) " @@ -63,11 +57,6 @@ python_prepare_all() { } python_test() { - if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then - einfo "Testing on ${EPYTHON} is not supported at the moment" - return - fi - cd "${BUILD_DIR}/install$(python_get_sitedir)" || die eunittest -b } diff --git a/dev-python/peewee/Manifest b/dev-python/peewee/Manifest index 1b031c995ea7..88599aaffbfd 100644 --- a/dev-python/peewee/Manifest +++ b/dev-python/peewee/Manifest @@ -4,3 +4,4 @@ DIST peewee-4.0.9.gh.tar.gz 1002262 BLAKE2B 456af69c3d57d2e8344080cf40845163c9d0 DIST peewee-4.1.2.gh.tar.gz 1046776 BLAKE2B 8a66ea828ad669db4d20cce089e485f75b9f792bc94fea8a1a1d46f9391e062f89c33cb2e7a34aae84645580967c586d4efff067d1aa4d7cfd6cc1da01fe90e9 SHA512 4a384817a8b3a146ac818b7327cc1ef4a02c0322409353ac29f64d9c66e1e6eeebb226db67fa6e4754662e82307b0abaa57b7526faa4dc7d90d911b8cc3094e9 DIST peewee-4.2.1.gh.tar.gz 1052835 BLAKE2B 1e6600f93622b06ab83b049f6f0ba0791c61e0027c9d00fd6c66a7619176b6be13fd50e655bf233c62247834f9804df338a5cbb8dfac5a9e384f54bafdc3fd8e SHA512 14fef860da92f7408047a24b2faaa9e1941072ff293044d610971ad5a8fafdc9c72f1784a57258529e769e81438a1c47ed42a784f1f7a41bffa563c1a956fd90 DIST peewee-4.2.2.gh.tar.gz 1055796 BLAKE2B caf2e0cd0ffde1073f09d161be2b10665cb9878786e38c25f14579ccea362591948bdadab8c9f7d8d898b287892a0e9ee772653eebe952943e368b054b3b15ed SHA512 0fabf02e266750819df0e0e9ff1934dc43a688b5b697984ca131236f04f68012d7b6b42e74af4b67863f0518a787589880a9c371419ff20d289581a727b783c0 +DIST peewee-4.2.3.gh.tar.gz 1060965 BLAKE2B 8efec0c00959f42586dd53a8f3181935bdb99b44a890faa2fe5f3c44661b98d9c8319711b39998be159cfdca98df86877af92beb407633381576bd40957e6892 SHA512 3094c10735aeaf4729c6232002d48af476d3839ebd844281775fd18a2277c1d03c7ea8c23d18c98735a64c66c9d77e0ce26ea7089aa4d448758a25e663dc3836 diff --git a/dev-python/peewee/peewee-4.2.3.ebuild b/dev-python/peewee/peewee-4.2.3.ebuild new file mode 100644 index 000000000000..354b1a91f483 --- /dev/null +++ b/dev-python/peewee/peewee-4.2.3.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="sqlite" + +inherit distutils-r1 + +DESCRIPTION="Small Python ORM" +HOMEPAGE=" + https://github.com/coleifer/peewee/ + https://pypi.org/project/peewee/ +" +SRC_URI=" + https://github.com/coleifer/peewee/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +IUSE="examples +native-extensions test" +RESTRICT="!test? ( test )" + +DEPEND=" + native-extensions? ( dev-db/sqlite:3= ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + ) + test? ( + dev-db/postgresql + dev-python/psycopg:0[${PYTHON_USEDEP}] + sys-libs/timezone-data + ) +" + +distutils_enable_sphinx docs \ + dev-python/sphinx-rtd-theme + +src_prepare() { + default + + # disable test failing on postgres 16 + sed -e 's/test_timeout/_&/' -i tests/sqliteq.py || die +} + +src_compile() { + if ! use native-extensions; then + local -x NO_SQLITE=1 + fi + + distutils-r1_src_compile +} + +src_test() { + initdb -D "${T}"/pgsql || die + pg_ctl -w -D "${T}"/pgsql start -o "-h '' -k '${T}'" || die + createdb -h "${T}" peewee_test || die + psql -h "${T}" peewee_test -c 'create extension hstore;' || die + + local -x PEEWEE_PSQL_HOST="${T}" + distutils-r1_src_test + + pg_ctl -w -D "${T}"/pgsql stop || die +} + +python_test() { + "${EPYTHON}" runtests.py -v 2 || die "tests failed under ${EPYTHON}" +} + +python_install_all() { + use examples && DOCS=( examples/ ) + distutils-r1_python_install_all +} diff --git a/dev-python/pudb/pudb-2025.1.5.ebuild b/dev-python/pudb/pudb-2025.1.5.ebuild index 2af9e0b6f4bf..8725abbd4629 100644 --- a/dev-python/pudb/pudb-2025.1.5.ebuild +++ b/dev-python/pudb/pudb-2025.1.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/pyghmi/Manifest b/dev-python/pyghmi/Manifest index 9bec1e3c1b1d..ffb708f6524e 100644 --- a/dev-python/pyghmi/Manifest +++ b/dev-python/pyghmi/Manifest @@ -1,2 +1 @@ -DIST pyghmi-1.6.18.tar.gz 286180 BLAKE2B 1fed199f2df8142e2d2dde91fd6c53c327a4899432fc8bca73e8bcb8db91bb2d6cb404ac40f8b1c989ce8854d12353692f6359e1906e0d7f989530808abaed0c SHA512 28182d2b13dd9100acf46f07781fd8a6e7fac757471dfa484a760de5b331dd4c71e1113eb3c03d2d7378d64986f5226fc0e20ca4b6c50184f11ac622718068a9 DIST pyghmi-1.6.19.tar.gz 286305 BLAKE2B da1de714f9bc7dc33d332cf3b627dcd27a3c4c82acdfb12ce7fbd72d7d2825f2c949739c84e1d7824172b957e5e1a7a706ca4c5c5bf257a4c92205497bd302b1 SHA512 92c98636e84f0fecdd17c1f4a7aa09d55f937eddf45ab41cd28fe5fe336991b7e19ede3b199b3b71ba66f125ecd33f3fc46b04ea44cbb99ca7afed6cdd129a55 diff --git a/dev-python/pyghmi/pyghmi-1.6.18.ebuild b/dev-python/pyghmi/pyghmi-1.6.18.ebuild deleted file mode 100644 index ad0c0c312dde..000000000000 --- a/dev-python/pyghmi/pyghmi-1.6.18.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="A pure python implementation of IPMI protocol" -HOMEPAGE=" - https://opendev.org/x/pyghmi/ - https://pypi.org/project/pyghmi/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" - -RDEPEND=" - >=dev-python/cryptography-2.1[${PYTHON_USEDEP}] - dev-python/pbr[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests unittest diff --git a/dev-python/pykeepass/pykeepass-4.1.1_p1.ebuild b/dev-python/pykeepass/pykeepass-4.1.1_p1.ebuild index 9fa6f231a0c7..88446de2b80e 100644 --- a/dev-python/pykeepass/pykeepass-4.1.1_p1.ebuild +++ b/dev-python/pykeepass/pykeepass-4.1.1_p1.ebuild @@ -31,7 +31,6 @@ RDEPEND=" >=dev-python/pyotp-2.9.0[${PYTHON_USEDEP}] " -EPYTEST_PLUGINS=() distutils_enable_tests unittest python_prepare() { diff --git a/dev-python/pymediainfo/pymediainfo-7.0.1.ebuild b/dev-python/pymediainfo/pymediainfo-7.0.1.ebuild index b65c8ff1731a..1986b833d291 100644 --- a/dev-python/pymediainfo/pymediainfo-7.0.1.ebuild +++ b/dev-python/pymediainfo/pymediainfo-7.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -31,4 +31,5 @@ BDEPEND=" " distutils_enable_sphinx docs dev-python/alabaster dev-python/myst-parser +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/pyperclip/pyperclip-1.11.0.ebuild b/dev-python/pyperclip/pyperclip-1.11.0.ebuild index 65734613e821..5f78a8102921 100644 --- a/dev-python/pyperclip/pyperclip-1.11.0.ebuild +++ b/dev-python/pyperclip/pyperclip-1.11.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/pytest-param-files/pytest-param-files-0.6.0.ebuild b/dev-python/pytest-param-files/pytest-param-files-0.6.0.ebuild index 9fcda277909d..99257fa7897a 100644 --- a/dev-python/pytest-param-files/pytest-param-files-0.6.0.ebuild +++ b/dev-python/pytest-param-files/pytest-param-files-0.6.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -DISTUTILS_USE_PEP517=flit +DISTUTILS_USE_PEP517=flit-core PYTHON_COMPAT=( python3_{13..14} ) inherit distutils-r1 @@ -27,4 +27,6 @@ RDEPEND=" >=dev-python/ruamel-yaml-0.15[${PYTHON_USEDEP}] " +EPYTEST_PLUGINS=( "${PN}" ) +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 distutils_enable_tests pytest diff --git a/dev-python/pytest-tap/Manifest b/dev-python/pytest-tap/Manifest new file mode 100644 index 000000000000..778000a5626e --- /dev/null +++ b/dev-python/pytest-tap/Manifest @@ -0,0 +1 @@ +DIST pytest-tap-3.5.gh.tar.gz 17237 BLAKE2B 7a665b81faa08f11bcdc21945e77f4c74372c40ba737c198ee7975de62842f123ccd3a3c1ee5e365c3c43b7f8404f391adf1c2c85fc4017d40f52ab14cc95bb3 SHA512 5227af603294a6f039bb4759859bbcb69629bf057f92c71e51472bce222740346e7c911e00bd0646abf1e6998259d4c4064e91db131c2672b3c9211df0836712 diff --git a/dev-python/pytest-tap/files/pytest-tap-3.5-hatchling-wheel.patch b/dev-python/pytest-tap/files/pytest-tap-3.5-hatchling-wheel.patch new file mode 100644 index 000000000000..dc7df6edd335 --- /dev/null +++ b/dev-python/pytest-tap/files/pytest-tap-3.5-hatchling-wheel.patch @@ -0,0 +1,70 @@ +https://github.com/python-tap/pytest-tap/commit/aba9dfa88c8736e96e6af6382b2688c919600050 + +From aba9dfa88c8736e96e6af6382b2688c919600050 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= <cynerd@email.cz> +Date: Thu, 30 Oct 2025 03:24:39 +0100 +Subject: [PATCH] pyproject.toml: fix missing package i wheel (#105) + +* pyproject.toml: fix missing package i wheel + +The wheel was missing package due to it not being packaged. The +hatchling documentation specifies that packages should be set this way. + +The testing of this change in virtual environment: + + nobody@host:pytest-tap$ python3 -m venv env wheelfix+ + nobody@host:pytest-tap$ . ./env/bin/activate wheelfix+ + ((env) ) nobody@host:pytest-tap$ pip install . wheelfix+ + Processing /home/cynerd/src/pytest-tap + Installing build dependencies ... done + Getting requirements to build wheel ... done + Preparing metadata (pyproject.toml) ... done + Requirement already satisfied: pytest>=3.0 in /nix/store/094gpcj7d1z8wdvymhxvi2rns757vb2p-python3.12-pytest-8.3.5/lib/python3.12/site-packages (from pytest-tap==3.5) (8.3.5) + Requirement already satisfied: tap-py<4.0,>=3.2 in /nix/store/bmvj5dimxkphyrzwl0jyvi6blz8imqpn-python3.12-tap.py-3.2.1/lib/python3.12/site-packages (from pytest-tap==3.5) (3.2.1) + Requirement already satisfied: iniconfig in /nix/store/8bcr5c5m8d1359k52mwjdbqjw2rzwdgq-python3.12-iniconfig-2.1.0/lib/python3.12/site-packages (from pytest>=3.0->pytest-tap==3.5) (2.1.0) + Requirement already satisfied: packaging in /nix/store/wr2lp9ziysxbjbf5ww09a4k7ivvnxbc4-python3.12-packaging-24.2/lib/python3.12/site-packages (from pytest>=3.0->pytest-tap==3.5) (24.2) + Requirement already satisfied: pluggy<2,>=1.5 in /nix/store/fbbyfni2ccjw8r7rh7ww3x8ky1yk4hi7-python3.12-pluggy-1.5.0/lib/python3.12/site-packages (from pytest>=3.0->pytest-tap==3.5) (1.5.0) + Building wheels for collected packages: pytest-tap + Building wheel for pytest-tap (pyproject.toml) ... done + Created wheel for pytest-tap: filename=pytest_tap-3.5-py3-none-any.whl size=6543 sha256=6733459ec7272402507031361355d4820fd799659e4102568790d9e53b2863c0 + Stored in directory: /home/cynerd/.cache/pip/wheels/e4/ea/6f/0c79e4850b81f185670c0a561a2ebc457c7a0b4ee105c88476 + Successfully built pytest-tap + Installing collected packages: pytest-tap + Successfully installed pytest-tap-3.5 + + [notice] A new release of pip is available: 25.0.1 -> 25.1.1 + [notice] To update, run: pip install --upgrade pip + ((env) ) nobody@host:pytest-tap$ ls env/lib/python3.12/site-packages/pytest_tap/ wheelfix+ + __init__.py plugin.py + +The listed directory wasn't present before this change. + +* Remove sources entry from pyproject.toml + +This applies a similar fix to https://github.com/python-tap/tappy/pull/166 + +--------- + +Co-authored-by: Matt Layman <matthewlayman@gmail.com> +--- + pyproject.toml | 4 +--- + 2 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/pyproject.toml b/pyproject.toml +index 940540c..97b9a37 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -47,11 +47,9 @@ include = [ + "/docs", + "/tests", + ] +-sources = ["src"] + + [tool.hatch.build.targets.wheel] +-sources = ["src"] +-packages = ["pytest_tap"] ++packages = ["src/pytest_tap"] + + [tool.pytest.ini_options] + pythonpath = [".", "src"] + diff --git a/dev-python/pytest-tap/metadata.xml b/dev-python/pytest-tap/metadata.xml new file mode 100644 index 000000000000..5e95859f915a --- /dev/null +++ b/dev-python/pytest-tap/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> + <stabilize-allarches /> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/dev-python/pytest-tap/pytest-tap-3.5.ebuild b/dev-python/pytest-tap/pytest-tap-3.5.ebuild new file mode 100644 index 000000000000..cb9dacdc00a9 --- /dev/null +++ b/dev-python/pytest-tap/pytest-tap-3.5.ebuild @@ -0,0 +1,34 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Reporting plugin for pytest that outputs Test Anything Protocol (TAP) data" +HOMEPAGE=" + https://github.com/python-tap/pytest-tap + https://pypi.org/project/pytest-tap/ +" +# No tests in sdist +SRC_URI="https://github.com/python-tap/pytest-tap/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + dev-python/pytest[${PYTHON_USEDEP}] + >=dev-python/tap-py-3.2[${PYTHON_USEDEP}] +" + +PATCHES=( + "${FILESDIR}"/${PN}-3.5-hatchling-wheel.patch +) + +EPYTEST_PLUGINS=( "${PN}" ) +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +distutils_enable_tests pytest diff --git a/dev-python/python-daemon/python-daemon-3.1.2.ebuild b/dev-python/python-daemon/python-daemon-3.1.2.ebuild index 00e72c722b52..66a666573474 100644 --- a/dev-python/python-daemon/python-daemon-3.1.2.ebuild +++ b/dev-python/python-daemon/python-daemon-3.1.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/python-glanceclient/files/python-glanceclient-4.12.0-py315.patch b/dev-python/python-glanceclient/files/python-glanceclient-4.12.0-py315.patch new file mode 100644 index 000000000000..aeae21445037 --- /dev/null +++ b/dev-python/python-glanceclient/files/python-glanceclient-4.12.0-py315.patch @@ -0,0 +1,67 @@ +From 98fa6a7ffcb128e406922ac8520180fc05c21648 Mon Sep 17 00:00:00 2001 +From: Steve Traylen <steve.traylen@cern.ch> +Date: Sun, 26 Apr 2026 16:49:34 +0200 +Subject: [PATCH] fix hashlib ValueError message check for py3.15 + +I realise python3.15 is is not supported yet but this allows tests +to pass on 3.15a8. + +Python 3.15 changed the ValueError message raised by hashlib.new() for +unknown algorithms from "unsupported hash type <name>" to "unsupported +hash algorithm <name>", + +Replace the prefix check with a test for the algorithm name in +the exception message + +Python change: + +https://github.com/python/cpython/commit/6be49ee517258281357aa6846d2564bc5626b7ca +Change-Id: I69b1b0fb2ac18c0a590b9d375b88030361251935 +Signed-off-by: Steve Traylen <steve.traylen@cern.ch> +--- + +diff --git a/glanceclient/tests/unit/v2/test_images.py b/glanceclient/tests/unit/v2/test_images.py +index 33626fd..839d7fe 100644 +--- a/glanceclient/tests/unit/v2/test_images.py ++++ b/glanceclient/tests/unit/v2/test_images.py +@@ -1184,12 +1184,12 @@ + do_checksum=False) + body = ''.join([b for b in body]) + self.assertEqual('BB', body) +- try: +- body = self.controller.data('badalgo-db27-11e1-a1eb-080027cbe205') +- self.fail('bad os_hash_algo did not raise an error.') +- except ValueError as e: +- msg = 'unsupported hash type not_an_algo' +- self.assertIn(msg, str(e)) ++ self.assertRaisesRegex( ++ ValueError, ++ r'unsupported hash (type|algorithm) not_an_algo', ++ self.controller.data, ++ 'badalgo-db27-11e1-a1eb-080027cbe205' ++ ) + + def test_data_with_checksum(self): + for prefix in ['headeronly', 'chkonly', 'multihash']: +@@ -1207,7 +1207,7 @@ + @ddt.data('headeronly', 'chkonly', 'multihash') + def test_data_with_checksum_but_no_md5_algo(self, prefix): + with mock.patch('hashlib.new', mock.MagicMock( +- side_effect=ValueError('unsupported hash type'))): ++ side_effect=ValueError('unsupported hash algorithm sha384'))): + body = self.controller.data(prefix + + '-dd57-11e1-af0f-02163e68b1d8', + allow_md5_fallback=True) +diff --git a/glanceclient/v2/images.py b/glanceclient/v2/images.py +index 3c658fa..6cff610 100644 +--- a/glanceclient/v2/images.py ++++ b/glanceclient/v2/images.py +@@ -278,7 +278,7 @@ + meta_hash_value) + check_md5sum = False + except ValueError as ve: +- if (str(ve).startswith('unsupported hash type') and ++ if (str(meta_hash_algo) in str(ve) and + allow_md5_fallback): + check_md5sum = True + else: diff --git a/dev-python/python-glanceclient/python-glanceclient-4.12.0.ebuild b/dev-python/python-glanceclient/python-glanceclient-4.12.0.ebuild index a82673afcd02..800afebd5fda 100644 --- a/dev-python/python-glanceclient/python-glanceclient-4.12.0.ebuild +++ b/dev-python/python-glanceclient/python-glanceclient-4.12.0.ebuild @@ -44,6 +44,11 @@ BDEPEND=" distutils_enable_tests unittest +PATCHES=( + # https://review.opendev.org/c/openstack/python-glanceclient/+/986313 + "${FILESDIR}/${P}-py315.patch" +) + python_test() { # functional tests require cloud instance access eunittest -b glanceclient/tests/unit diff --git a/dev-python/python-manilaclient/python-manilaclient-6.2.0.ebuild b/dev-python/python-manilaclient/python-manilaclient-6.2.0.ebuild index 6392eaf1aa0b..2fbb1ebe03d7 100644 --- a/dev-python/python-manilaclient/python-manilaclient-6.2.0.ebuild +++ b/dev-python/python-manilaclient/python-manilaclient-6.2.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/pywinrm/pywinrm-0.5.0.ebuild b/dev-python/pywinrm/pywinrm-0.5.0.ebuild index bbe83a95e6d6..a3c5f9b3d789 100644 --- a/dev-python/pywinrm/pywinrm-0.5.0.ebuild +++ b/dev-python/pywinrm/pywinrm-0.5.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/requests-credssp/requests-credssp-2.0.0.ebuild b/dev-python/requests-credssp/requests-credssp-2.0.0.ebuild index 323e169473d1..7798855c7507 100644 --- a/dev-python/requests-credssp/requests-credssp-2.0.0.ebuild +++ b/dev-python/requests-credssp/requests-credssp-2.0.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/requests-kerberos/requests-kerberos-0.15.0.ebuild b/dev-python/requests-kerberos/requests-kerberos-0.15.0.ebuild index d539dbd7bab8..10a60ec09b56 100644 --- a/dev-python/requests-kerberos/requests-kerberos-0.15.0.ebuild +++ b/dev-python/requests-kerberos/requests-kerberos-0.15.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/requests-mock/requests-mock-1.12.1.ebuild b/dev-python/requests-mock/requests-mock-1.12.1.ebuild index 3b78e2d00837..e781ce5c2705 100644 --- a/dev-python/requests-mock/requests-mock-1.12.1.ebuild +++ b/dev-python/requests-mock/requests-mock-1.12.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -26,13 +26,13 @@ BDEPEND=" dev-python/setuptools-scm[${PYTHON_USEDEP}] test? ( dev-python/fixtures[${PYTHON_USEDEP}] - dev-python/pytest[${PYTHON_USEDEP}] dev-python/requests-futures[${PYTHON_USEDEP}] dev-python/testtools[${PYTHON_USEDEP}] ) " distutils_enable_sphinx doc/source +EPYTEST_PLUGINS=( "${PN}" ) distutils_enable_tests pytest python_prepare_all() { @@ -49,5 +49,6 @@ python_prepare_all() { # Disable a test which requires purl (not in the tree) sed -e "/^import purl$/d" -e "s/test_with_purl/_&/" \ -i tests/test_adapter.py || die + sed -i -e 's:assertEquals:assertEqual:' tests/test_*.py || die distutils-r1_python_prepare_all } diff --git a/dev-python/requests-ntlm/requests-ntlm-1.3.0.ebuild b/dev-python/requests-ntlm/requests-ntlm-1.3.0.ebuild index fdffeec34803..8249d2912101 100644 --- a/dev-python/requests-ntlm/requests-ntlm-1.3.0.ebuild +++ b/dev-python/requests-ntlm/requests-ntlm-1.3.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/requests-oauthlib/files/requests-oauthlib-2.0.0-test.patch b/dev-python/requests-oauthlib/files/requests-oauthlib-2.0.0-test.patch new file mode 100644 index 000000000000..fd85d16fc0cf --- /dev/null +++ b/dev-python/requests-oauthlib/files/requests-oauthlib-2.0.0-test.patch @@ -0,0 +1,31 @@ +From b1dd93c5d024500b6236dea06734d6e6482c3565 Mon Sep 17 00:00:00 2001 +From: Jonathan Huot <jonathan.huot@gmail.com> +Date: Thu, 12 Jun 2025 20:06:32 +0200 +Subject: [PATCH] Updated tests to support 3.3.0/changes rel. to expires_at + +--- + tests/test_compliance_fixes.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/test_compliance_fixes.py b/tests/test_compliance_fixes.py +index c5166bd..9ad6d09 100644 +--- a/tests/test_compliance_fixes.py ++++ b/tests/test_compliance_fixes.py +@@ -115,7 +115,7 @@ def test_fetch_access_token(self): + authorization_response="https://i.b/?code=hello", + ) + # Times should be close +- approx_expires_at = time.time() + 3600 ++ approx_expires_at = round(time.time()) + 3600 + actual_expires_at = token.pop("expires_at") + self.assertAlmostEqual(actual_expires_at, approx_expires_at, places=2) + +@@ -289,7 +289,7 @@ def test_fetch_access_token(self): + authorization_response="https://i.b/?code=hello", + ) + +- approx_expires_at = time.time() + 86400 ++ approx_expires_at = round(time.time()) + 86400 + actual_expires_at = token.pop("expires_at") + self.assertAlmostEqual(actual_expires_at, approx_expires_at, places=2) + diff --git a/dev-python/requests-oauthlib/requests-oauthlib-2.0.0.ebuild b/dev-python/requests-oauthlib/requests-oauthlib-2.0.0.ebuild index 875e3ba59f05..57aba141ce0c 100644 --- a/dev-python/requests-oauthlib/requests-oauthlib-2.0.0.ebuild +++ b/dev-python/requests-oauthlib/requests-oauthlib-2.0.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -26,25 +26,21 @@ RDEPEND=" >=dev-python/requests-2.0.0[${PYTHON_USEDEP}] >=dev-python/oauthlib-3.0.0[${PYTHON_USEDEP}] " -BDEPEND=" - test? ( - dev-python/requests-mock[${PYTHON_USEDEP}] - ) -" +EPYTEST_PLUGINS=( requests-mock ) distutils_enable_tests pytest -python_test() { - local EPYTEST_DESELECT=( - # Internet access - tests/test_core.py::OAuth1Test::testCanPostBinaryData - tests/test_core.py::OAuth1Test::test_content_type_override - tests/test_core.py::OAuth1Test::test_url_is_native_str - ) - local EPYTEST_IGNORE=( - tests/examples - ) +PATCHES=( + # https://github.com/requests/requests-oauthlib/commit/b1dd93c5d024500b6236dea06734d6e6482c3565 + "${FILESDIR}/${P}-test.patch" +) - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} +EPYTEST_DESELECT=( + # Internet access + tests/test_core.py::OAuth1Test::testCanPostBinaryData + tests/test_core.py::OAuth1Test::test_content_type_override + tests/test_core.py::OAuth1Test::test_url_is_native_str +) +EPYTEST_IGNORE=( + tests/examples +) diff --git a/dev-python/ruamel-yaml/ruamel-yaml-0.19.1.ebuild b/dev-python/ruamel-yaml/ruamel-yaml-0.19.1.ebuild index 9403bd180d37..868a11e63518 100644 --- a/dev-python/ruamel-yaml/ruamel-yaml-0.19.1.ebuild +++ b/dev-python/ruamel-yaml/ruamel-yaml-0.19.1.ebuild @@ -27,17 +27,11 @@ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 RDEPEND=" dev-python/ruamel-yaml-clibz[${PYTHON_USEDEP}] - !dev-python/namespace-ruamel " EPYTEST_PLUGINS=() distutils_enable_tests pytest -python_compile() { - distutils-r1_python_compile - find "${BUILD_DIR}" -name '*.pth' -delete || die -} - python_test() { local EPYTEST_IGNORE=( # Old PyYAML tests from lib/ require special set-up and are diff --git a/dev-python/sphinx-basic-ng/sphinx-basic-ng-1.0.0_beta2.ebuild b/dev-python/sphinx-basic-ng/sphinx-basic-ng-1.0.0_beta2.ebuild index 5257473834cb..71fd3d4081e3 100644 --- a/dev-python/sphinx-basic-ng/sphinx-basic-ng-1.0.0_beta2.ebuild +++ b/dev-python/sphinx-basic-ng/sphinx-basic-ng-1.0.0_beta2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.6.0.ebuild b/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.6.0.ebuild index af5b9b9713ea..e5d59af86050 100644 --- a/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.6.0.ebuild +++ b/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.6.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2021-2025 Gentoo Authors +# Copyright 2021-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -29,13 +29,7 @@ RDEPEND=" EPYTEST_PLUGINS=() distutils_enable_tests pytest -python_compile() { - distutils-r1_python_compile - find "${BUILD_DIR}" -name '*.pth' -delete || die -} - python_test() { - distutils_write_namespace sphinxcontrib cd "${T}" || die epytest "${S}"/tests } diff --git a/dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild b/dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild index cc6c65fe1b87..c37c65bc4cf2 100644 --- a/dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild +++ b/dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild @@ -23,4 +23,5 @@ RDEPEND=" dev-python/python-box[${PYTHON_USEDEP}] " +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/testscenarios/Manifest b/dev-python/testscenarios/Manifest index cadab344de92..ab659246115d 100644 --- a/dev-python/testscenarios/Manifest +++ b/dev-python/testscenarios/Manifest @@ -1,4 +1,2 @@ -DIST testscenarios-0.5.0.tar.gz 20951 BLAKE2B 154915281456aad3353e144ffec8404514622fdeb8d2129ba530d3d5a02814599c2fead9dc25ab4904bad68b2892a435f9cbbcde92503d71477624bbec154f53 SHA512 f08b868babf504482369c5cb945d3e95bca1cc00f92d5013f6898c488051be0c26dc49aaabcef362aea45450a8d041d9826fb6b5c848beec013fb102d6935521 DIST testscenarios-0.6.1.tar.gz 18484 BLAKE2B 0d8d2cb28fbaf2a245efa6bb5c52311ef04ced5910880519d8931fee4022de35d28046c1c10f63bdae34487a13033f75e046abb6290e02ad268c1829d84e933f SHA512 a8220e1f18c3eb6ad55b9bbe61e58b1ead5e730babda2375df5d1648dbcbabe56ddfd62f41d654b28eca605d54e7303799e99fbeef005f3fd66304b7f61cc81c DIST testscenarios-0.6.1.tar.gz.provenance 9708 BLAKE2B 15bb80ad8cc73ce0f96d1deb4cc7a55a6c4e101c9ec38361f1ac2ef01effcc1e2071f5ed0bd5140e6268b36dac82cdf5a91f3aa890e500df80d13378aa85d202 SHA512 bf004f8b8f33520f3cc71171127c8699470c4850947a35a14d60968b0281d0a537c266cf571588628b426f0a1fcf0bd093509bbe65db40f290c50de73f650ac2 -DIST testscenarios-0.6.tar.gz 14970 BLAKE2B 01e0ee8160ed56da1ef6f00870aff2ac414bb3c7492773656936c9e7c8a0ae5be2bea21fe62fb7cc18809b0177a0d1e60a0fe5c6a4399eed1f08174339e518b7 SHA512 fd83ed0fae6a1d39d829db5616bc54e86b960cf5f049fb472e416e6a49bdbba676bdea543f4396471debe990ba5c6bbf8574964111eea9bc7afed4355c1191c6 diff --git a/dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild b/dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild deleted file mode 100644 index 2cdb982c68b1..000000000000 --- a/dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="A pyunit extension for dependency injection" -HOMEPAGE=" - https://launchpad.net/testscenarios/ - https://github.com/testing-cabal/testscenarios/ - https://pypi.org/project/testscenarios/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" - -RDEPEND=" - dev-python/testtools[${PYTHON_USEDEP}] - >=dev-python/pbr-0.11[${PYTHON_USEDEP}] -" - -# using pytest for tests since unittest loader fails with py3.5+ -BDEPEND=" - >=dev-python/pbr-0.11[${PYTHON_USEDEP}] -" - -distutils_enable_tests pytest - -EPYTEST_DESELECT=( - testscenarios/tests/test_testcase.py -) diff --git a/dev-python/testscenarios/testscenarios-0.6.ebuild b/dev-python/testscenarios/testscenarios-0.6.ebuild deleted file mode 100644 index 407660250e8f..000000000000 --- a/dev-python/testscenarios/testscenarios-0.6.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="A pyunit extension for dependency injection" -HOMEPAGE=" - https://launchpad.net/testscenarios/ - https://github.com/testing-cabal/testscenarios/ - https://pypi.org/project/testscenarios/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND=" - dev-python/testtools[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/hatch-vcs[${PYTHON_USEDEP}] - test? ( - ${RDEPEND} - ) -" - -python_test() { - "${EPYTHON}" -m testtools.run -v testscenarios.tests.test_suite || - die "Tests failed with ${EPYTHON}" -} diff --git a/dev-python/testtools/Manifest b/dev-python/testtools/Manifest index 9dc319250ddb..0aa5f92580c2 100644 --- a/dev-python/testtools/Manifest +++ b/dev-python/testtools/Manifest @@ -1,3 +1,2 @@ -DIST testtools-2.7.2.tar.gz 201430 BLAKE2B d827d8e66c85908f4d16aa0762c3b0a454d374a0d23323fc3c123027f55f0e85f4fea9a24b5d1d0279266af2185f08abbcbbdcb785014b237df45a6448587611 SHA512 5815519d2b72d6b1e9f453c02793c70eb7d3b6580a211fb3708cd6121aed3c6100ceb1e35321f481a63b1f999ede030e43f1ae91d3621faf461c1908db767551 DIST testtools-2.9.1.tar.gz 221377 BLAKE2B 61684837047dc9ec91a412b22f7423c43f19500062571d0b36f821576503537218f5225c963f603feb142e3f1a5766d825a59df8e6a5da12d739372ae7c55b85 SHA512 68530c96756d383575602c6e3b6d33ca19fec4fe35ac6dba4ada4954be969a31414f930572cebbcbe4008fbdd1904537be793acdb5cce8458e36cdcbbfe719e0 DIST testtools-2.9.1.tar.gz.provenance 9604 BLAKE2B 01f82b392b2dd0226fda576aefd788c388ba50c275740f4adeab5ad2decf56a6a628e911bb8db0423ef047bf845325759f8c5c3135abd8146a33e4e699fa92c6 SHA512 5177b6070f4760baffc1644536abea1de55937e797de08e8d499e7ce07053ce8e0c22d996e9401a53e2ebe2461ce0c32e50732cdd9af0a26e40b3e19aac8891e diff --git a/dev-python/testtools/files/testtools-2.7.2-py314.patch b/dev-python/testtools/files/testtools-2.7.2-py314.patch deleted file mode 100644 index afce3b2c12ad..000000000000 --- a/dev-python/testtools/files/testtools-2.7.2-py314.patch +++ /dev/null @@ -1,34 +0,0 @@ -https://github.com/testing-cabal/testtools/commit/79fa5d41a05c423cf43a65d2b347c7c566bcdfa5 - -From 79fa5d41a05c423cf43a65d2b347c7c566bcdfa5 Mon Sep 17 00:00:00 2001 -From: Stephen Finucane <stephen@that.guru> -Date: Fri, 21 Feb 2025 11:14:35 +0000 -Subject: [PATCH] Resolve deprecation warning - -See [1] for more info. - -[1] https://github.com/python/cpython/issues/79893 - -Signed-off-by: Stephen Finucane <stephen@that.guru> ---- - testtools/testcase.py | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/testtools/testcase.py b/testtools/testcase.py -index ad983730..4f4923b3 100644 ---- a/testtools/testcase.py -+++ b/testtools/testcase.py -@@ -268,8 +268,10 @@ def _reset(self): - - def __eq__(self, other): - eq = getattr(unittest.TestCase, "__eq__", None) -- if eq is not None and not unittest.TestCase.__eq__(self, other): -- return False -+ if eq is not None: -+ eq_ = unittest.TestCase.__eq__(self, other) -+ if eq_ is NotImplemented or not eq_: -+ return False - return self.__dict__ == getattr(other, "__dict__", None) - - # We need to explicitly set this since we're overriding __eq__ - diff --git a/dev-python/testtools/files/testtools-2.7.2-twisted-fix.patch b/dev-python/testtools/files/testtools-2.7.2-twisted-fix.patch deleted file mode 100644 index bbf943be60d1..000000000000 --- a/dev-python/testtools/files/testtools-2.7.2-twisted-fix.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 5b8cb6497c7159f593e68de6a13e15f7e78e56e3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@atlas.cz> -Date: Mon, 1 Jul 2024 10:00:05 +0200 -Subject: [PATCH] Prepare tests for upcoming twisted version - -Twisted recently changed behavior of logger on failures [1]. It newly -logs the `Main loop terminated.` even on exceptions, which breaks two -test in twistedsupport test suite. This hack attempts to address the -upcoming issue. - -[1] https://github.com/twisted/twisted/pull/12207 - -Upstream-PR: https://github.com/testing-cabal/testtools/pull/387 - -diff --git a/testtools/tests/twistedsupport/test_runtest.py b/testtools/tests/twistedsupport/test_runtest.py -index 4b46cc64..f8faf7c6 100644 ---- a/testtools/tests/twistedsupport/test_runtest.py -+++ b/testtools/tests/twistedsupport/test_runtest.py -@@ -16,7 +16,6 @@ - Contains, - ContainsAll, - ContainsDict, -- EndsWith, - Equals, - Is, - KeysEqual, -@@ -749,7 +748,7 @@ def test_something(self): - test, - { - "traceback": Not(Is(None)), -- "twisted-log": AsText(EndsWith(" foo\n")), -+ "twisted-log": AsText(Contains(" foo\n")), - }, - ), - ("stopTest", test), -@@ -790,7 +789,8 @@ def test_something(self): - result = self.make_result() - runner.run(result) - self.assertThat( -- messages, MatchesListwise([ContainsDict({"message": Equals(("foo",))})]) -+ messages[0:1], -+ MatchesListwise([ContainsDict({"message": Equals(("foo",))})]), - ) - - def test_restore_observers(self): diff --git a/dev-python/testtools/testtools-2.7.2-r1.ebuild b/dev-python/testtools/testtools-2.7.2-r1.ebuild deleted file mode 100644 index 4abb03a66fca..000000000000 --- a/dev-python/testtools/testtools-2.7.2-r1.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 pypi - -DESCRIPTION="Extensions to the Python standard library unit testing framework" -HOMEPAGE=" - https://github.com/testing-cabal/testtools/ - https://pypi.org/project/testtools/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" -IUSE="test" -RESTRICT="!test? ( test )" - -BDEPEND=" - dev-python/hatch-vcs[${PYTHON_USEDEP}] - test? ( - >=dev-python/fixtures-2.0.0[${PYTHON_USEDEP}] - dev-python/testscenarios[${PYTHON_USEDEP}] - dev-python/testresources[${PYTHON_USEDEP}] - dev-python/twisted[${PYTHON_USEDEP}] - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-2.7.2-twisted-fix.patch" - "${FILESDIR}/${PN}-2.7.2-py314.patch" -) - -distutils_enable_sphinx doc - -python_test() { - cp testtools/tests/__init__.py test_suite.py || die - if ! has_version "dev-python/twisted[${PYTHON_USEDEP}]"; then - sed -i -e '/twistedsupport/d' test_suite.py || die - fi - - "${EPYTHON}" -m testtools.run test_suite.test_suite || - die "tests failed under ${EPYTHON}" -} diff --git a/dev-python/tifffile/Manifest b/dev-python/tifffile/Manifest index 744af0e6a0a5..e0c503806217 100644 --- a/dev-python/tifffile/Manifest +++ b/dev-python/tifffile/Manifest @@ -1 +1,2 @@ DIST tifffile-2026.6.1.gh.tar.gz 418247 BLAKE2B 2c20840bbf901fda3b001638d93887e1821d8aa4325f903f44bfdc65e1e48eef80ea087dec7443a415f8d767859ddb588e7292dd85805e27ae86894e6463ffb1 SHA512 4296d605ce212b065acb288b8a60515f9fcd4135474523eb68261736c1861606969c54f33a75116b6908c4218a6392a0f9cba008c2409e7744ee5a19d2bb767a +DIST tifffile-2026.7.14.gh.tar.gz 423471 BLAKE2B 14670ce0fc117ef1cc95e6bd161ae5dc68a0a85594aa2b49b77b6d6fe0460fb914536117bcaae61a95d4c2646032359b2be358865273d6119032fcca03ea1950 SHA512 9cb973d885c931afbec1754f50bd121580d1ba9bce8e49b95c122b0fc960f4c76b7664a669aa8a46251d4a82647a41420be85c1ca9400155d7c05042b92208b5 diff --git a/dev-python/tifffile/tifffile-2026.7.14.ebuild b/dev-python/tifffile/tifffile-2026.7.14.ebuild new file mode 100644 index 000000000000..49630e1bd1b8 --- /dev/null +++ b/dev-python/tifffile/tifffile-2026.7.14.ebuild @@ -0,0 +1,56 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Read and write TIFF files" +HOMEPAGE=" + https://pypi.org/project/tifffile/ + https://github.com/cgohlke/tifffile/ + https://www.cgohlke.com/ +" +SRC_URI=" + https://github.com/cgohlke/tifffile/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/numpy-2.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/defusedxml[${PYTHON_USEDEP}] + >=dev-python/fsspec-2021.5.0[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/xarray[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # not marked properly + # https://github.com/cgohlke/tifffile/pull/308 + tests/test_tifffile.py::test_issue_dcp + # meaningless and broken on py<3.13 + # https://github.com/cgohlke/tifffile/pull/309 + tests/test_tifffile.py::test_gil_enabled + ) + + local -x SKIP_LARGE=1 + local -x SKIP_HTTP=1 + + epytest +} diff --git a/dev-python/twython/twython-3.9.1-r1.ebuild b/dev-python/twython/twython-3.9.1-r1.ebuild index b0d7741bc9ce..2a62f3dae268 100644 --- a/dev-python/twython/twython-3.9.1-r1.ebuild +++ b/dev-python/twython/twython-3.9.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-util/android-studio/Manifest b/dev-util/android-studio/Manifest index 88a974551939..0b5d07adeb38 100644 --- a/dev-util/android-studio/Manifest +++ b/dev-util/android-studio/Manifest @@ -1 +1 @@ -DIST android-studio-quail1-patch2-linux.tar.gz 1529034844 BLAKE2B add83a328549401870044e843aa594c7efcaead55d62ee0b2af0e5de104f28f468fa960bf2d6663b7f74276f219af872696357e2ff0e4193da85caf9a790d9ba SHA512 69a6e0019c21a2f49271ed2bfd2cf21c33b511a6db0114985be7edb5f0148dc94c4818ea10d170b36042b0d77c02dcce66da9df3a17e780b2b7f14986de1fe21 +DIST android-studio-quail2-linux.tar.gz 1541218005 BLAKE2B 9f61ad03790109850b572a313cb71d7a7bc3e107158577cf22478cfbff8a51bf895ae0eb55a46f652b749d92d42b113d5c1712b13886e171a8e0df7cbd9841cd SHA512 27ff348ccb82d6ae5ec4e44449459d6286672774e8aa2350a3a98d1d1c0d1983c53cb48dac69c19bc13338f199fd916ffc4020b3743de476e8adbfe04fcceedd diff --git a/dev-util/android-studio/android-studio-2026.1.1.10.ebuild b/dev-util/android-studio/android-studio-2026.1.2.10.ebuild index e281069aa649..e332ac5703df 100644 --- a/dev-util/android-studio/android-studio-2026.1.1.10.ebuild +++ b/dev-util/android-studio/android-studio-2026.1.2.10.ebuild @@ -31,7 +31,7 @@ QA_PREBUILT=" DESCRIPTION="Android development environment based on IntelliJ IDEA" HOMEPAGE="https://developer.android.com/studio" -SRC_URI="https://edgedl.me.gvt1.com/android/studio/ide-zips/${PV}/${PN}-quail1-patch2-linux.tar.gz" +SRC_URI="https://edgedl.me.gvt1.com/android/studio/ide-zips/${PV}/${PN}-quail2-linux.tar.gz" S=${WORKDIR}/${PN} LICENSE="Apache-2.0 android BSD BSD-2 CDDL-1.1 CPL-0.5 EPL-1.0 GPL-2 GPL-2+ JDOM IJG LGPL-2.1 MIT diff --git a/dev-util/pkgconf/Manifest b/dev-util/pkgconf/Manifest index e3eb8b8e8b51..cf204fcd8f92 100644 --- a/dev-util/pkgconf/Manifest +++ b/dev-util/pkgconf/Manifest @@ -1,2 +1,2 @@ DIST pkgconf-2.5.1.tar.xz 328064 BLAKE2B 0995c1d649876d27e9275a77b702c0c100979c7b83fb7b58c925ca287be5e1568dd7ae2781dac51beb9e84a41d4424428f0542e4de488c45d005d602e76e1277 SHA512 e654c3a460e5f0f801e8ac43ad9086f397d1da0553186ff05f5f0e18ffdac99fb652fd9b6c0379db4bc8307699699d69bc66d13cc85a4a6b0cd36462f5948a1d -DIST pkgconf-3.0.2.tar.xz 415496 BLAKE2B 61839b1cd0fce9e9f08a0c74b6fe524bca72616959a37029579ebf64e974fb6dd6ff42a2c5a814988750ed3f92efe30a1e5b3a1ef8aa7dc1c7e10e15fae80aff SHA512 bb8909aefab2739850d90d6d490f9436fb021ce89ec9a9ed27dfc5ed70f17210615920e1d0499f3f55b0417a3b4f9d64dcd095ded8749f2d16b910eac03f6c85 +DIST pkgconf-3.0.3.tar.xz 415512 BLAKE2B 1de3b5f81b1bf291c3861c39244e2020de5333046f594161e687aa56388615b5b6d97db07cee9f19d66d6c6dae09a50e8b1045f8718ab8c7bea5e630a1252e2e SHA512 72dfd924e4e1763ac362ed7ed2f88378d05f21118f67883a521524fbf8500d6e21152805802cd104dbd123d427dc2b0293a3e0c05b7553d42c0f1eb418a0331f diff --git a/dev-util/pkgconf/pkgconf-3.0.2.ebuild b/dev-util/pkgconf/pkgconf-3.0.3.ebuild index d77151edc86d..d77151edc86d 100644 --- a/dev-util/pkgconf/pkgconf-3.0.2.ebuild +++ b/dev-util/pkgconf/pkgconf-3.0.3.ebuild diff --git a/dev-vcs/hg-git/hg-git-1.2.0-r1.ebuild b/dev-vcs/hg-git/hg-git-1.2.0-r1.ebuild index 5659fb520f6c..d28e4ba497ce 100644 --- a/dev-vcs/hg-git/hg-git-1.2.0-r1.ebuild +++ b/dev-vcs/hg-git/hg-git-1.2.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" @@ -21,7 +21,7 @@ IUSE="test" RESTRICT="!test? ( test )" RDEPEND=" - >=dev-vcs/mercurial-6.6[${PYTHON_USEDEP}] + <dev-vcs/mercurial-7.2[${PYTHON_USEDEP}] >=dev-python/dulwich-0.21.6[${PYTHON_USEDEP}] " DEPEND=" diff --git a/eclass/java-osgi.eclass b/eclass/java-osgi.eclass index 114790d824bf..544a5eaa0a57 100644 --- a/eclass/java-osgi.eclass +++ b/eclass/java-osgi.eclass @@ -9,6 +9,7 @@ # @SUPPORTED_EAPIS: 8 # @PROVIDES: java-utils-2 # @BLURB: Java OSGi eclass +# @DEPRECATED: none # @DESCRIPTION: # This eclass provides functionality which is used by packages that need to be # OSGi compliant. This means that the generated jars will have special headers diff --git a/games-action/prismlauncher/Manifest b/games-action/prismlauncher/Manifest index 933187b71454..31d97f245ae4 100644 --- a/games-action/prismlauncher/Manifest +++ b/games-action/prismlauncher/Manifest @@ -1,5 +1,6 @@ DIST prismlauncher-10.0.5.tar.gz 4078955 BLAKE2B e8ff80fa957e33e3d6b17ba89c28c19869dd0a16fc440c40ccbf56e77bedaa918a8dc3082538acdba2ccd2eac5f541705dcdd177a1499eb6157cae4073d120a0 SHA512 b8e99817a10b63bba4bdc450d0b3801c3e3d3c3939c46427a1605c77452d3c88cd30016faf829e88f4e164403b19739f0579cfc1f14865f73c598e3bd70ad556 DIST prismlauncher-11.0.0.tar.gz 4104245 BLAKE2B 5f5f6c297bb7fbdbe5afb53f880d2c8093f848d02db63a2883a1253dcdc1abfafe7c4df2d6da709bcb775097c0ce272e5683bb7395746e7c18a68dd20ee7adfd SHA512 75a440647a4046a45016183ad9c57ea68711969cc93856b5b5d2dc450b4371745e04efa5e9b7a43559a485a6e7efa5b4b4f5482f8283448428217000dec49d59 DIST prismlauncher-11.0.2.tar.gz 4104613 BLAKE2B 2fd5affcda9fd7604e47f054ee809f23d26586cada65dd47acd73c854b3d26bc76bab77f7e4736c32c6c8b621c934160caea40924946283c163b949ee28987b0 SHA512 910b9b82b216619887dc93d9d62b10fe71cb4d3a700d94ffe0759b16f5fdcea3e4f047dfdfb20bbbd9c74b82454b717ebd769f316ce816a258f2f1e8b1620792 +DIST prismlauncher-11.0.3.tar.gz 4111624 BLAKE2B 539b6d38b8b0feb593581c72628bd0fc21ad6bb0780b09cdfcbef10ef19aa8d8af289f0ba4deac4ba64a5eb4aa72637031cb0062bb25a7537b768e1a62793523 SHA512 00070da6372738f7d30e11ced5115bb97a73c424ed10bfb385e00cf9f8b9a7a13206da382e82913d9eb9a17affbe9859debf0b997c336debcdd7d9d2e525b0b0 DIST prismlauncher-9.1.tar.gz 8460672 BLAKE2B 1bb31dab88d9ca4317e61b6938f9b5aeb0b76cab3407d69b62ecf9bfa1ade3308a8927f53e020b6531fbe0cce962c7e560727298a911f07b9fec1f51b1470cd9 SHA512 5a486bb0034464be873d80512ba164fab44eb60e3abda28771387f8bed471c5a323269a5f961a0950692915698b849bb4e7de7405c26e3ad29aa8732f140a66d DIST prismlauncher-9.4.tar.gz 8544189 BLAKE2B 57bb4391e8b84265e42b08545bb0cf64046915fca2a80a7f40923f6abf605d9bdd7efefae40694cb5118451346ed4cf8b9d77291b6ebc5b82ec1bb1fbafc16fc SHA512 7a81d6bd77da953ca92311f93ed753287b837ebdf51ae6898afa14769a0407eee55c17b6d9e09f4623f012375314b533c2a0bca2a16dedcce2e5327a5a1930a6 diff --git a/games-action/prismlauncher/prismlauncher-11.0.3.ebuild b/games-action/prismlauncher/prismlauncher-11.0.3.ebuild new file mode 100644 index 000000000000..01c2573e94d0 --- /dev/null +++ b/games-action/prismlauncher/prismlauncher-11.0.3.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QTMIN=6.0.0 +inherit branding cmake java-pkg-2 optfeature toolchain-funcs xdg + +DESCRIPTION="Custom, open source Minecraft launcher" +HOMEPAGE="https://prismlauncher.org/ https://github.com/PrismLauncher/PrismLauncher" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/PrismLauncher/PrismLauncher" + EGIT_SUBMODULES=( 'libraries/libnbtplusplus' ) +else + MY_PN="PrismLauncher" + # use vendored tarball to avoid dealing with submodules directly + SRC_URI=" + https://github.com/PrismLauncher/PrismLauncher/releases/download/${PV}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz + " + S="${WORKDIR}/${MY_PN}-${PV}" + KEYWORDS="~amd64 ~arm64" +fi + +# GPL-3 for PolyMC (PrismLauncher is forked from it) and Prism itself +# Apache-2.0 for MultiMC (PolyMC is forked from it) +# LGPL-3+ for libnbtplusplus +# rest of its libs: https://github.com/PrismLauncher/PrismLauncher/tree/develop/libraries +LICENSE="Apache-2.0 BSD BSD-2 GPL-2+ GPL-3 ISC LGPL-2.1+ LGPL-3+" +SLOT="0" +IUSE="test" + +RESTRICT="!test? ( test )" + +# Required at both build time and runtime +COMMON_DEPEND=" + app-arch/libarchive:= + app-text/cmark:= + dev-cpp/tomlplusplus + >=dev-qt/qtbase-${QTMIN}:6[concurrent,gui,opengl,network,vulkan,widgets,xml(+)] + >=dev-qt/qtnetworkauth-${QTMIN}:6 + games-util/gamemode + media-gfx/qrencode:= + virtual/zlib:= +" +# max jdk-25 for bug #968411 +DEPEND="${COMMON_DEPEND} + media-libs/libglvnd + <virtual/jdk-26:* +" +# QtSvg imageplugin needed at runtime for svg icons, via QIcon. +# At runtime we don't depend on JDK, only JRE +# And we need more than just the GL headers +RDEPEND="${COMMON_DEPEND} + >=dev-qt/qtsvg-${QTMIN}:6 + >=virtual/jre-1.8.0:* + virtual/opengl +" +BDEPEND=" + app-text/scdoc + >=kde-frameworks/extra-cmake-modules-6.0.0:* + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}/${PN}-11.0.2-fortify-source-redef.patch" +) + +src_prepare() { + cmake_src_prepare + + local java="$(java-config -f)" + local java_version=${java//[^0-9]/} + if [[ ${java_version} -ge 20 ]]; then + elog "Java 20 and up has dropped binary compatibility with java 7." + elog "${PN} is being compiled with java ${java_version}." + elog "The sources will be patched to build binary compatible with" + elog "java 8 instead of java 7. This may cause issues with very old" + elog "Minecraft versions and/or older forge versions." + elog + elog "If you experience any problems, install an older java compiler" + elog "and select it with \"eselect java\", then recompile ${PN}." + eapply "${FILESDIR}/${PN}-10.0.3-openjdk21.patch" + fi +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="/usr" + # Resulting binary is named prismlauncher + -DLauncher_APP_BINARY_NAME="${PN}" + -DLauncher_BUILD_PLATFORM="${BRANDING_OS_PRETTY_NAME}" + -DLauncher_QT_VERSION_MAJOR=6 + + -DENABLE_LTO=$(tc-is-lto) + -DBUILD_TESTING=$(usex test) + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile +} + +pkg_postinst() { + xdg_pkg_postinst + + # Original issue: https://github.com/PolyMC/PolyMC/issues/227 + optfeature "old Minecraft (<= 1.12.2) support" x11-apps/xrandr + + optfeature "built-in MangoHud support (available in GURU overlay)" games-util/mangohud + optfeature "built-in Feral Gamemode support" games-util/gamemode +} diff --git a/games-emulation/zsnes/Manifest b/games-emulation/zsnes/Manifest index addaa2afec69..4407fe7a35ce 100644 --- a/games-emulation/zsnes/Manifest +++ b/games-emulation/zsnes/Manifest @@ -1,2 +1,2 @@ -DIST zsnes-2.1.0.tar.gz 1209591 BLAKE2B f0bc9de0cad3ee52b552a66be3dea43d63d8587b21ae016685a5917d0939b4939d51088feba8f6afc3cb881ab85d37fc2af55ef952b477a90fba87adf0d9af4e SHA512 65169452bc9f31dbb2282960c57fe804980776ebd5d46cfec9e59240d3fb40f11a6720db5a77e8e3d58c2ca6b260a97ac68ed98b162aa3a6ac79458dfaef242b DIST zsnes-2.1.1.tar.gz 1211001 BLAKE2B 7f40305c86adf80dc6f4bec24dbb82929abc8d4dac54cb81693f9e74968a7300c88b99122cd32abea1bd3b91f0476925433581734e446a9d7b61cfc2e6359fe8 SHA512 10e71c5f9bcebf889625696f6f83a40cb7529291f3ef37113ddf8c0f231e199e6d4ca48274a4bee54996290ec9cf119b9ffc90c0df316da0097df18a043529af +DIST zsnes-2.2.1.tar.gz 1241244 BLAKE2B 28f6f5b9acffd6109f30fbed1952866ed7952679124e7d39bd6e2004a53f3124b984489c848965fdaa882b1f488fd35259d22d6cdf3bd6cf5ce7bafb2bc5f5a1 SHA512 599fe81b296e00ad47158d57fc1d844ebd58639054b4d39c3a961bb8c9a057c1132b2dd9c5476bccb96da7bd5cf54073e76db54e2cb0a75d080ade73e3795214 diff --git a/games-emulation/zsnes/zsnes-2.1.0.ebuild b/games-emulation/zsnes/zsnes-2.2.1.ebuild index 00ec04d501bb..1118834c29b9 100644 --- a/games-emulation/zsnes/zsnes-2.1.0.ebuild +++ b/games-emulation/zsnes/zsnes-2.2.1.ebuild @@ -23,14 +23,10 @@ RDEPEND=" media-libs/libpng:=[abi_x86_32(-)] media-libs/libsdl3[abi_x86_32(-),opengl] virtual/zlib:=[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] ao? ( media-libs/libao[abi_x86_32(-)] ) pipewire? ( media-video/pipewire:=[abi_x86_32(-)] ) " -DEPEND=" - ${RDEPEND} - x11-base/xorg-proto -" +DEPEND="${RDEPEND}" BDEPEND=" ${PYTHON_DEPS} dev-lang/nasm @@ -50,12 +46,15 @@ src_compile() { if use !custom-cflags; then strip-flags append-cppflags -U_FORTIFY_SOURCE # to disable =3, Makefile enables =2 + + # furthermore fails with -Werror=strict-aliasing+lto-type-mismatch + append-cflags -fno-strict-aliasing + filter-lto fi use amd64 && multilib_toolchain_setup x86 - tc-export CC CXX + tc-export CC append-cflags ${CPPFLAGS} - append-cxxflags ${CPPFLAGS} ZSNES_MAKEARGS=( ARCH=LINUX diff --git a/games-engines/devilutionx/Manifest b/games-engines/devilutionx/Manifest index cc8a8e0d7ead..d134328735a7 100644 --- a/games-engines/devilutionx/Manifest +++ b/games-engines/devilutionx/Manifest @@ -1,2 +1 @@ -DIST devilutionx-1.5.4.tar.xz 22665424 BLAKE2B 2debdc0235618bf3b244da4b6ef48af45c0940bba7b923fefec3d1a2183e80459b5a997440008d56fe9483cb84e2b78c6eff41e21b4c25617fba067e7e27f704 SHA512 1d601453a826d4a214f851844c1b6e68114ac099f152464edbabe4e6bfd4553746ab1e6da83a01e6318e83f8e559000052a991fbfb7e88c6f1a7e9d059ab3380 DIST devilutionx-1.5.5.tar.xz 22561696 BLAKE2B 2023d8483f712507a90b0a121ac985a0cbeb745989d501b8b8a9de8367d1645cdc58767d0992d579181710518b63177dbf591d97aea318a3fe12c9d9a587d8d5 SHA512 e62d11f9970625f5d20a0b9a46a2c90b6d837e02ca1d7665b0d8e21049d745237ed2b6f17c40e606178ae987a4e5a9a6d711844fef7c173c71c1192689697bb1 diff --git a/games-engines/devilutionx/devilutionx-1.5.4-r1.ebuild b/games-engines/devilutionx/devilutionx-1.5.4-r1.ebuild deleted file mode 100644 index a885ff46e940..000000000000 --- a/games-engines/devilutionx/devilutionx-1.5.4-r1.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake xdg - -DESCRIPTION="Diablo engine for modern operating systems" -HOMEPAGE="https://github.com/diasurgical/devilutionX/" -SRC_URI=" - https://github.com/diasurgical/devilutionX/releases/download/${PV}/devilutionx-src.tar.xz - -> ${P}.tar.xz -" -S=${WORKDIR}/${PN}-src-${PV} - -LICENSE=" - Sustainable-Use-1.0 - Boost-1.0 BSD CC-BY-4.0 GPL-2+ LGPL-2.1+ MIT OFL-1.1 - zerotier? ( BUSL-1.1 ) -" -SLOT="0" -KEYWORDS="~amd64 ~ppc64 ~x86" -IUSE="debug +sodium test zerotier" -RESTRICT="bindist mirror !test? ( test )" - -RDEPEND=" - app-arch/bzip2:= - dev-libs/libfmt:= - media-libs/libsdl2[haptic,joystick,opengl,video] - media-libs/sdl2-image[png] - media-libs/sdl_audiolib - virtual/zlib:= - sodium? ( dev-libs/libsodium:= ) -" -DEPEND=" - ${RDEPEND} - dev-cpp/simpleini - test? ( dev-cpp/gtest ) -" -BDEPEND=" - sys-devel/gettext -" - -CMAKE_SKIP_TESTS=( - # timedemo tests only pass when game assets are available - Timedemo. -) - -src_prepare() { - cmake_src_prepare - - # ensure system copies are used - rm -r dist/{simpleini,sdl_audiolib}-src || die -} - -src_configure() { - local mycmakeargs=( - -DBUILD_TESTING=$(usex test) - -DCCACHE_PROGRAM=no #813768 - -DDEBUG=$(usex debug) - -DDISABLE_LTO=yes # let CFLAGS control this - -DDISABLE_ZERO_TIER=$(usex !zerotier) - -DPACKET_ENCRYPTION=$(usex sodium) - -DPIE=yes - ) - - cmake_src_configure -} - -src_install() { - local DOCS=( Packaging/nix/README.txt docs/*.md ) - cmake_src_install - - rm -- "${ED}"/usr/share/diasurgical/devilutionx/README.txt || die -} - -pkg_postinst() { - xdg_pkg_postinst - - if [[ ! ${REPLACING_VERSIONS} ]]; then - elog "In order to play the game, you will need to copy the following data file" - elog "from the original game, and optionally the hellfire expansion files:" - elog " - DIABDAT.MPQ" - elog " - hellfire.mpq hfmonk.mpq hfmusic.mpq hfvoice.mpq" - elog "to ~/.local/share/diasurgical/devilution/" - elog - elog "See ${EROOT}/usr/share/doc/${PF}/README.txt* for details." - fi -} diff --git a/games-engines/devilutionx/devilutionx-1.5.5.ebuild b/games-engines/devilutionx/devilutionx-1.5.5.ebuild index 4b1cc50c481d..86d3fc008d1c 100644 --- a/games-engines/devilutionx/devilutionx-1.5.5.ebuild +++ b/games-engines/devilutionx/devilutionx-1.5.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -48,6 +48,10 @@ CMAKE_SKIP_TESTS=( CMAKE_QA_COMPAT_SKIP=1 #957952 +PATCHES=( + "${FILESDIR}"/${P}-missing-include.patch +) + src_prepare() { cmake_src_prepare diff --git a/games-engines/devilutionx/files/devilutionx-1.5.5-missing-include.patch b/games-engines/devilutionx/files/devilutionx-1.5.5-missing-include.patch new file mode 100644 index 000000000000..d4ec0c9d2870 --- /dev/null +++ b/games-engines/devilutionx/files/devilutionx-1.5.5-missing-include.patch @@ -0,0 +1,8 @@ +https://bugs.gentoo.org/979231 +https://github.com/diasurgical/DevilutionX/commit/cfa65293579112 +--- a/test/animationinfo_test.cpp ++++ b/test/animationinfo_test.cpp +@@ -1 +1,3 @@ ++#include <iomanip>
++
+ #include <gtest/gtest.h>
diff --git a/gnome-extra/gnome-shell-extension-desktop-icons-ng/Manifest b/gnome-extra/gnome-shell-extension-desktop-icons-ng/Manifest index cbacfb4c2551..425fe53e9444 100644 --- a/gnome-extra/gnome-shell-extension-desktop-icons-ng/Manifest +++ b/gnome-extra/gnome-shell-extension-desktop-icons-ng/Manifest @@ -1,2 +1 @@ -DIST desktop-icons-ng-50.2.0.tar.bz2 177364 BLAKE2B fa81000e7119cd3aa82942d92ce2a7bc1873546aa9fc1256097fc1c0577dc922e45ec3af73a4e0219884607fadb8b5320da9061e23e37d4936ac97601f9ef4d1 SHA512 6b8011d30b975f2230e03077205579735a1434ce0cff14477391a15e7370a81bdb72fe8ddc3be051f7eef2924e3c44462f7bd7f1e717fe540da87cd3b1f6273b DIST desktop-icons-ng-50.3.0.tar.bz2 178219 BLAKE2B 271c309846d6e0592243f776d01f2974f12707a46fa49a671de69ee4ebf5960d54e17e8bf47ec7aa9d96a831b0b82c597c2c4e3505fc952f76cf67751aa3bc2c SHA512 f4d077973267f144780046355f5056e12f0e8508372f582a28832af7fc3a02fbb6a04190cb690f2cf870519cab05181679c652002e4eed2bfec69c0dd5396369 diff --git a/gnome-extra/gnome-shell-extension-desktop-icons-ng/gnome-shell-extension-desktop-icons-ng-50.2.0.ebuild b/gnome-extra/gnome-shell-extension-desktop-icons-ng/gnome-shell-extension-desktop-icons-ng-50.2.0.ebuild deleted file mode 100644 index dc817a909d12..000000000000 --- a/gnome-extra/gnome-shell-extension-desktop-icons-ng/gnome-shell-extension-desktop-icons-ng-50.2.0.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit gnome2-utils meson - -MY_PN="desktop-icons-ng" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="Desktop icon support for GNOME Shell" -HOMEPAGE="https://gitlab.com/rastersoft/desktop-icons-ng" -SRC_URI="https://gitlab.com/rastersoft/${MY_PN}/-/archive/${PV}/${MY_P}.tar.bz2" -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="amd64 x86" - -COMMON_DEPEND="dev-libs/glib:2" -RDEPEND="${COMMON_DEPEND} - app-eselect/eselect-gnome-shell-extensions - >=gnome-base/gnome-shell-46 - >=gnome-base/nautilus-3.38 -" -DEPEND="${COMMON_DEPEND}" - -pkg_preinst() { - gnome2_schemas_savelist -} - -pkg_postinst() { - gnome2_schemas_update - ebegin "Updating list of installed extensions" - eselect gnome-shell-extensions update - eend $? -} - -pkg_postrm() { - gnome2_schemas_update -} diff --git a/gnome-extra/gnome-shell-extension-lockscreen-studio/Manifest b/gnome-extra/gnome-shell-extension-lockscreen-studio/Manifest new file mode 100644 index 000000000000..eef0dbc5a107 --- /dev/null +++ b/gnome-extra/gnome-shell-extension-lockscreen-studio/Manifest @@ -0,0 +1 @@ +DIST gnome-shell-extension-lockscreen-studio-1.1.2.tar.gz 870331 BLAKE2B 2d172b6cc63a50818a8445bb1c4dd71d24feaa6a377b42e4b46950640f94b89de64df6d3e591b77961667a4a0648df3b88ef699fcd444940cb773ef115475d8e SHA512 ca4ba1dc01b269e3f80021d13abf7ec0e3b4ab2239c51c3f34300fbf1336634132ae681fa5ba49dabab516f2906289297e1d595651001815bb3b8512d91eb82c diff --git a/gnome-extra/gnome-shell-extension-lockscreen-studio/gnome-shell-extension-lockscreen-studio-1.1.2.ebuild b/gnome-extra/gnome-shell-extension-lockscreen-studio/gnome-shell-extension-lockscreen-studio-1.1.2.ebuild new file mode 100644 index 000000000000..8a299362a73f --- /dev/null +++ b/gnome-extra/gnome-shell-extension-lockscreen-studio/gnome-shell-extension-lockscreen-studio-1.1.2.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit gnome2-utils + +DESCRIPTION="Customization extension for the gnome-shell lock screen" +HOMEPAGE="https://github.com/phenrique-coder/lockscreen-studio" +SRC_URI="https://github.com/phenrique-coder/lockscreen-studio/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${P/gnome-shell-extension-}" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="amd64" + +RDEPEND=" + dev-libs/glib:2 + app-eselect/eselect-gnome-shell-extensions + >=gnome-base/gnome-shell-45 +" + +extension_uuid="lockscreen-studio@pedro.projects" + +src_install() { + einstalldocs + insinto /usr/share/glib-2.0/schemas + doins schemas/*.xml + insinto /usr/share/gnome-shell/extensions/"${extension_uuid}" + doins metadata.json extension.js prefs.js +} + +pkg_preinst() { + gnome2_schemas_savelist +} + +pkg_postinst() { + gnome2_schemas_update + ebegin "Updating list of installed extensions" + eselect gnome-shell-extensions update + eend $? +} + +pkg_postrm() { + gnome2_schemas_update +} diff --git a/gnome-extra/gnome-shell-extension-lockscreen-studio/metadata.xml b/gnome-extra/gnome-shell-extension-lockscreen-studio/metadata.xml new file mode 100644 index 000000000000..ddb376056c16 --- /dev/null +++ b/gnome-extra/gnome-shell-extension-lockscreen-studio/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>pacho@gentoo.org</email> + </maintainer> + <stabilize-allarches /> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/gnome-extra/pch-session/Manifest b/gnome-extra/pch-session/Manifest index e749dbb62520..cf143cb0a8fb 100644 --- a/gnome-extra/pch-session/Manifest +++ b/gnome-extra/pch-session/Manifest @@ -1,2 +1,3 @@ DIST pch-session-48.0.tar.bz2 3611182 BLAKE2B b83403ea6bd18aef4f58204835fb9e1276ea3b97eac6a12c1a4658ff92a44e3f99cfcecebe11070aef97f7b6992a0156387b14f2c2321e31f0c55fb77460dd37 SHA512 62c0a71b3a47c011ed14c7b076a0d38917dcbf13862f1571da6004a61cef9c21503d3d46a8073109f06d9b5f6dc153c9fb7a72e945d60578201bbfbbfbd2be6c DIST pch-session-49.0.tar.bz2 3611391 BLAKE2B 56d4fd3b2cd10deb57953126fc58f642c151e8a873a63847a679992ddcd70bf84090fcccb404ee1ae4411f096a6a4258d042ad13e47304a60a4fcb745e2efa96 SHA512 4f24cd28da543e10da4f522aa6a08254b6a5d37dfb73409c8886d10e1da4d0a5df73718fcac415109d4b82b1506510ceb777f3232b2a6cd0eaeea85cc1c4e795 +DIST pch-session-49.1.tar.bz2 3611440 BLAKE2B 1b8d1a93abe501602bc84a6944e9ead1e2467373da379ec44f268b9b08dbe2df96795a9b8e53ef1c248a37895a8ddb0b5a1a46e24e15910ca96569fdab3ceb00 SHA512 b997ccaa992865ece1d388a6145f76df879746269c97eabb1726c429f7184bb73c94b9f1288947a7ef6ce944440a8dfc57542c5e30f2ebf8835103bf172438fd diff --git a/gnome-extra/pch-session/pch-session-49.1.ebuild b/gnome-extra/pch-session/pch-session-49.1.ebuild new file mode 100644 index 000000000000..65e6f118eac2 --- /dev/null +++ b/gnome-extra/pch-session/pch-session-49.1.ebuild @@ -0,0 +1,62 @@ +# Copyright 2019-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit gnome2-utils + +DESCRIPTION="Unofficial gnome based session with different default settings and extensions" +HOMEPAGE="https://gitlab.com/pachoramos/pch-session" +SRC_URI="https://gitlab.com/pachoramos/${PN}/-/archive/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64" +IUSE="breeze qt6 wayland webp" + +RDEPEND=" + >=gnome-base/gnome-shell-49 + >=gnome-extra/gnome-shell-extensions-49 + >=gnome-extra/gnome-shell-extension-alphabetical-grid-44.0 + >=gnome-extra/gnome-shell-extension-appindicator-64 + >=gnome-extra/gnome-shell-extension-applications-overview-tooltip-24 + >=gnome-extra/gnome-shell-extension-bing-wallpaper-52 + >=gnome-extra/gnome-shell-extension-dash-to-panel-73 + >=gnome-extra/gnome-shell-extension-desktop-icons-ng-50.0.0 + >=gnome-extra/gnome-shell-extension-gsconnect-71 + >=gnome-extra/gnome-shell-extension-lockscreen-studio-1.1.2 + >=gnome-extra/gnome-shell-extension-weather-oclock-50.2 + >=gnome-extra/gnome-tweaks-49 + + >=gnome-extra/gnome-clocks-49 + >=media-fonts/fonts-meta-2 + || ( + sys-apps/tuned[ppd] + sys-power/power-profiles-daemon + ) + x11-themes/papirus-icon-theme + + breeze? ( kde-plasma/breeze:6 ) + qt6? ( + x11-themes/QGnomePlatform + wayland? ( x11-themes/QAdwaitaDecorations ) + ) + webp? ( gui-libs/gdk-pixbuf-loader-webp ) +" + +pkg_preinst() { + gnome2_schemas_update +} + +src_install() { + insinto / + doins -r usr/ etc/ + einstalldocs +} + +pkg_postinst() { + gnome2_schemas_update +} + +pkg_postrm() { + gnome2_schemas_update +} diff --git a/mail-mta/postfix/Manifest b/mail-mta/postfix/Manifest index eeec304b0e96..673049ef8db7 100644 --- a/mail-mta/postfix/Manifest +++ b/mail-mta/postfix/Manifest @@ -1,4 +1,4 @@ DIST postfix-3.11.5.tar.gz 5287872 BLAKE2B c677014019ce0851e45b103e5d6a88972a10cd3685d4c68b47f6b94ee318b9e81fb017f5b15f4307f3b8c6719afcbba33f4fc1c31a4fb65fe040522d6af38704 SHA512 af9d3678844afcbdf77c228e29138255a935c63988c3b8dff31bb2a66315f376d94d782b5545829e1491c6a1335172ad194b7f8fd02038db35cd6527cff82087 DIST postfix-3.11.5.tar.gz.asc 220 BLAKE2B 410b111707ebd9539e8be33a9bd2605d7515c0931d971cbaf0114e3f8f505e759d6c9c25350080becebb77532ca03ece647c14ce15b2d10f5e938bd08e6f76a3 SHA512 7e8fe9ace6ada3168cf7f1f6611879c5a0015c0114d5da07ed46e6d9455847be4963c79dcfdf60b53b07b2a7dadf24d6e2449c81a72e966bc75613ef83f4a7b8 -DIST postfix-3.12-20260710.tar.gz 5409047 BLAKE2B 74855cd589dbce0b09d0bc9a630bdb83687df20dc9eaec5468556993cde47bbf10508b6c414e0f2f82fb6c321c4e34ed267b4dc8209007577649b751e896d52c SHA512 aefacbc9830fa8620eb64c04e371d08630277a238858f5a3943f64bd25b511ad41576471bfa61301206da6c593e2b78009a37b45cbf456688e83e92a28983011 -DIST postfix-3.12-20260710.tar.gz.asc 220 BLAKE2B 93ad238879128c521cf1a9a2f523d70fbecaaeb35abeb812d2380d02ab6354474666b6cb147e03d899b4fdac359476126afbd07499475ffbedb5cc86b78d5e5f SHA512 527ccc8f7b3806af805a28ae30afa165a3cb5cee89a883773316d337d26f2bac7a48ebfd16a75c4d7787cd03c5876da8091967806ebd1452c91bc7975a6e81ec +DIST postfix-3.12-20260713.tar.gz 5409855 BLAKE2B 110319b0223f74732849d32a6f5aad8af292de3c749f963ac3fa681237d5c2d15a8d1889d1c211efe960c09bb8383c78f20397c3dc80e634c07f8cb116bcb321 SHA512 c2564be73753c0b0329a05addfa3a92a9414a5207a07c60fec5ebc62c35967188224c282974819d40bf7943c86f13697f099c849205313befcf3f012ffcc2f07 +DIST postfix-3.12-20260713.tar.gz.asc 220 BLAKE2B 992480afdbbeb28d640d2425286b8e3da5e78f9f10a1da9465c80b8103e4b2940f5104f0a181096d91dd54ef0cfd10da51488c8ea4154889885a3507391c3e7e SHA512 671eff57e4cff47fb58545fddfe7876ed87763ccc24605966687acbda08c7b0e16e46891b57242e70e184f00fe1e29ba16fd6a0f87ec66da67e7ec3ea773cc42 diff --git a/mail-mta/postfix/postfix-3.12_pre20260710.ebuild b/mail-mta/postfix/postfix-3.12_pre20260713.ebuild index 3b1e7e4d29ff..3b1e7e4d29ff 100644 --- a/mail-mta/postfix/postfix-3.12_pre20260710.ebuild +++ b/mail-mta/postfix/postfix-3.12_pre20260713.ebuild diff --git a/media-libs/fontconfig/Manifest b/media-libs/fontconfig/Manifest index 986dd9fe0311..3df1bdcfa4ff 100644 --- a/media-libs/fontconfig/Manifest +++ b/media-libs/fontconfig/Manifest @@ -1,3 +1,4 @@ DIST fontconfig-2.16.2.tar.xz 1298436 BLAKE2B 24fdbfc573d1a97e08fc159b91e24b77ddeb646e59ab62bb154b18f07383103a8b1e00c635299e1209fb5965dc889b8ab8f5d7228083af1a916978fa69c71136 SHA512 b51ac822f00b41026d74b73aabcdb5ec766b68c478fdb0a50d5ec20c5ad4661ba38417aac088ee86ef097bd1ecda708f818636389acb34502444298a08701c12 DIST fontconfig-2.17.1.tar.xz 1326312 BLAKE2B 6a25826efacd177c89613aa63b0c94312129af500fb0f5a24de3bb16146b68cc42e45d80b020096286f15b730e0cbf0e640d57024f57299caec4a31b6d178ba9 SHA512 c09c1f041f61ee0d220ff906a86b5c4b329106dc96f8c04b23f8fdeb480df626717fe3613bccb41cb39e86334078139322710377f5ddaa3abe48569e798161c9 DIST fontconfig-2.18.1.tar.xz 1358564 BLAKE2B 57fc8c71e670081236e711bf1703ff2821ec4b823bbe51a5e3d3515d4dc3a696d946beaa546edb75562a0e8300db5683f60f38ed31069713601248264198ac27 SHA512 5d637a030625fa5b55399a2711b4dd48949429caae4b80503655bc7bd12b9a58cc278b520660845c9e93dcac4631ad5c36bf97793ac1af1b8f3131e7bd22077c +DIST fontconfig-2.18.2.tar.xz 1347988 BLAKE2B 537f0f26a13dd967899becb331e303d5ff1d635c64488ca131d0847b2f2a364735f51a0ca9f5cef3e1d7dc7ead9409b1b6d52ad0546bafaeca4a7e46ca86716c SHA512 eba8f7fe5409159d6a9e0fd562dd3a7643da94b41fc0fdb2b742d5f4950ca2d6e636461352b2f148720653c83957373d28329ed20b50e7efd76ecfc60b2f3434 diff --git a/media-libs/fontconfig/fontconfig-2.16.2-r1.ebuild b/media-libs/fontconfig/fontconfig-2.16.2-r1.ebuild index f5c79c643737..bdc126f245ad 100644 --- a/media-libs/fontconfig/fontconfig-2.16.2-r1.ebuild +++ b/media-libs/fontconfig/fontconfig-2.16.2-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -236,6 +236,6 @@ pkg_postinst() { eend $? } - multilib_parallel_foreach_abi multilib_pkg_postinst + multilib_foreach_abi multilib_pkg_postinst fi } diff --git a/media-libs/fontconfig/fontconfig-2.17.1.ebuild b/media-libs/fontconfig/fontconfig-2.17.1.ebuild index 047cef24e3d4..18beab0b1169 100644 --- a/media-libs/fontconfig/fontconfig-2.17.1.ebuild +++ b/media-libs/fontconfig/fontconfig-2.17.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -236,6 +236,6 @@ pkg_postinst() { eend $? } - multilib_parallel_foreach_abi multilib_pkg_postinst + multilib_foreach_abi multilib_pkg_postinst fi } diff --git a/media-libs/fontconfig/fontconfig-2.18.1.ebuild b/media-libs/fontconfig/fontconfig-2.18.1.ebuild index da45fb32da70..6e355e3f69b3 100644 --- a/media-libs/fontconfig/fontconfig-2.18.1.ebuild +++ b/media-libs/fontconfig/fontconfig-2.18.1.ebuild @@ -235,6 +235,6 @@ pkg_postinst() { eend $? } - multilib_parallel_foreach_abi multilib_pkg_postinst + multilib_foreach_abi multilib_pkg_postinst fi } diff --git a/media-libs/fontconfig/fontconfig-2.18.2.ebuild b/media-libs/fontconfig/fontconfig-2.18.2.ebuild new file mode 100644 index 000000000000..558f5eedd827 --- /dev/null +++ b/media-libs/fontconfig/fontconfig-2.18.2.ebuild @@ -0,0 +1,250 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit eapi9-ver multilib meson-multilib python-any-r1 readme.gentoo-r1 + +DESCRIPTION="A library for configuring and customizing font access" +HOMEPAGE="https://fontconfig.org/" +SRC_URI=" + https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/${PV}/${P}.tar.xz + https://fontconfig.org/release/${P}.tar.xz +" + +LICENSE="MIT" +SLOT="1.0" +if ! [[ $(ver_cut 3) -ge 90 ]] ; then + KEYWORDS="~amd64" +fi +IUSE="doc nls test" +RESTRICT="!test? ( test )" + +# - Check minimum freetype & other deps on bumps. See +# https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/main/configure.ac#L314. +# Note that FT versioning is confusing, need to map it using +# https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/VERSIONS.TXT +# But sometimes it's actually greater than that, e.g. see Fedora's spec file +# https://src.fedoraproject.org/rpms/fontconfig/blob/rawhide/f/fontconfig.spec#_1 +# +# - Purposefully dropped the xml USE flag and libxml2 support. Expat is the +# default and used by every distro. See bug #283191. +# +# - There's a test-only dep on json-c. +# It might become an optional(?) runtime dep in future though. Who knows. +# Keep an eye on it. +RDEPEND=" + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=media-libs/freetype-2.9.1[${MULTILIB_USEDEP}] + virtual/libintl[${MULTILIB_USEDEP}] + !elibc_Darwin? ( !elibc_SunOS? ( sys-apps/util-linux[${MULTILIB_USEDEP}] ) ) + elibc_Darwin? ( sys-libs/native-uuid ) + elibc_SunOS? ( sys-libs/libuuid ) +" +DEPEND=" + ${RDEPEND} + test? ( dev-libs/json-c ) +" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-build/meson-1.11.0 + dev-util/gperf + virtual/pkgconfig + doc? ( + =app-text/docbook-sgml-dtd-3.1* + app-text/docbook-sgml-utils[jadetex] + ) + nls? ( >=sys-devel/gettext-0.19.8 ) + test? ( + $(python_gen_any_dep ' + dev-python/pytest-tap[${PYTHON_USEDEP}] + ') + ) +" +PDEPEND="virtual/ttf-fonts" +# We need app-eselect/eselect-fontconfig in IDEPEND to update ROOT +# when cross-compiling. +IDEPEND="app-eselect/eselect-fontconfig" + +PATCHES=( + # bug #130466 + make liberation default + "${FILESDIR}"/${PN}-2.14.0-latin-update.patch + # Fix build failure with -ggdb3 + "${FILESDIR}"/${PN}-2.17.0-macro-preprocess.patch + + # Patches from upstream (can usually be removed with next version bump) +) + +DOC_CONTENTS="Please make fontconfig configuration changes using +\`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be +overwritten. If you need to reset your configuration to upstream defaults, +delete the directory ${EROOT}/etc/fonts/conf.d/ and re-emerge fontconfig." + +python_check_deps() { + use test || return 0 + + python_has_version "dev-python/pytest-tap[${PYTHON_USEDEP}]" +} + +src_prepare() { + default + + # Test needs network access + # https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/319 + # On bumps, please check to see if this has been fixed + # to allow local access! + sed -i -e '/test-crbug1004254/d' test/meson.build || die +} + +multilib_src_configure() { + local addfonts=( + "${EPREFIX}"/usr/local/share/fonts + ) + + # Harvest some font locations, such that users can benefit from the + # host OS's installed fonts + case ${CHOST} in + *-darwin*) + addfonts+=( + /Library/Fonts + /System/Library/Fonts + ) + ;; + + *-solaris*) + [[ -d /usr/X/lib/X11/fonts/TrueType ]] && \ + addfonts+=( /usr/X/lib/X11/fonts/TrueType ) + [[ -d /usr/X/lib/X11/fonts/Type1 ]] && + addfonts+=( /usr/X/lib/X11/fonts/Type1 ) + ;; + + *-linux-gnu) + use prefix && [[ -d /usr/share/fonts ]] && \ + addfonts+=( /usr/share/fonts ) + ;; + esac + + local emesonargs=( + # USE=doc only controls the additional bits like html/pdf + # and regeneration of man pages from source. We always install + # the prebuilt man pages. + $(meson_native_use_feature doc) + $(meson_native_use_feature doc doc-txt) + $(meson_native_use_feature doc doc-html) + $(meson_native_use_feature doc doc-man) + $(meson_native_use_feature doc doc-pdf) + + $(meson_native_use_feature nls) + $(meson_feature test tests) + -Dtests-bwrap=disabled + -Dtests-external-fonts=disabled + + -Dcache-build=disabled + -Dcache-dir="${EPREFIX}"/var/cache/fontconfig + -Ddefault-fonts-dirs="${EPREFIX}"/usr/share/fonts + -Dadditional-fonts-dirs=$(IFS=, ; echo "${addfonts[*]}" ) + -Dtemplate-dir="${EPREFIX}"/etc/fonts/conf.avail + # TODO: Rust + -Dfontations=disabled + -Dxml-backend=expat + + # Let users choose via eselect-fontconfig. See bug #900681 + # and https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/356. + -Ddefault-sub-pixel-rendering=none + ) + + meson_src_configure +} + +multilib_src_install() { + MULTILIB_CHOST_TOOLS=( /usr/bin/fc-cache$(get_exeext) ) + + meson_src_install + + rm -rf "${ED}"/var/cache || die + + # Avoid calling this multiple times, bug #459210 + if multilib_is_native_abi; then + insinto /etc/fonts + doins fonts.conf + fi +} + +multilib_src_install_all() { + einstalldocs + + # fc-lang directory contains language coverage datafiles + # which are needed to test the coverage of fonts. + insinto /usr/share/fc-lang + doins fc-lang/*.orth + + dodoc doc/fontconfig-user.{txt,pdf} + + if ! use doc ; then + find "${S}" -name "*.[[:digit:]]" -type f -exec doman '{}' + || die + fi + + if [[ -e ${ED}/usr/share/doc/fontconfig/ ]] ; then + mv "${ED}"/usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${PF} || die + rm -rf "${ED}"/usr/share/doc/fontconfig || die + fi + + # Changes should be made to /etc/fonts/local.conf, and as we had + # too much problems with broken fonts.conf we force update it ... + echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig || die + doenvd "${T}"/37fontconfig + + # As of fontconfig 2.7, everything sticks their noses in here. + dodir /etc/sandbox.d + echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig || die + + readme.gentoo_create_doc +} + +pkg_preinst() { + # bug #193476 + # /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various + # config files. If we install as-is, we'll blow away user settings. + ebegin "Syncing fontconfig configuration to system" + if [[ -e ${EROOT}/etc/fonts/conf.d ]] ; then + local file f + for file in "${EROOT}"/etc/fonts/conf.avail/* ; do + f=${file##*/} + if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]] ; then + [[ -f ${ED}/etc/fonts/conf.avail/${f} ]] \ + && ln -sf ../conf.avail/"${f}" \ + "${ED}"/etc/fonts/conf.d/ &>/dev/null + else + [[ -f ${ED}/etc/fonts/conf.avail/${f} ]] \ + && rm "${ED}"/etc/fonts/conf.d/"${f}" &>/dev/null + fi + done + fi + eend $? +} + +pkg_postinst() { + einfo "Cleaning broken symlinks in ${EROOT}/etc/fonts/conf.d/" + find -L "${EROOT}"/etc/fonts/conf.d/ -type l -delete + + readme.gentoo_print_elog + + # 2.14.2 and 2.14.2-r1 included the bad 10-sub-pixel-none.conf + if ver_replacing -eq 2.14.2 || ver_replacing -eq 2.14.2-r1; then + if [[ -e "${EROOT}"/etc/fonts/conf.d/10-sub-pixel-none.conf ]] ; then + einfo "Deleting 10-sub-pixel-none.conf from bad fontconfig-2.14.2 (bug #900681)" + rm "${EROOT}"/etc/fonts/conf.d/10-sub-pixel-none.conf || die + fi + fi + + if [[ -z ${ROOT} ]] ; then + multilib_pkg_postinst() { + ebegin "Creating global font cache for ${ABI}" + "${EPREFIX}"/usr/bin/${CHOST}-fc-cache -srf + eend $? + } + + multilib_foreach_abi multilib_pkg_postinst + fi +} diff --git a/media-libs/nv-codec-headers/Manifest b/media-libs/nv-codec-headers/Manifest index cc0c06310e81..4c5786fb75a5 100644 --- a/media-libs/nv-codec-headers/Manifest +++ b/media-libs/nv-codec-headers/Manifest @@ -1,3 +1,5 @@ DIST nv-codec-headers-12.1.14.0.tar.gz 77418 BLAKE2B e9e9bb25da88108c8d9168c7d810f12ea3759b1e42e8a2115e5fc45164b1de18d59e30ed3b8a368945fd1a3774c4ad418a90b616cc9ac29cc7912a5e03a0876c SHA512 2b70becf2896a2bb1d1fe06a7e12245c69c34eb67592bb30fa64784063de0b952f9b066ab74c01aec4caca301fe7a3ecc615eeec919f23f6a5fafeff2ada6c18 -DIST nv-codec-headers-12.2.72.0.tar.gz 78822 BLAKE2B a04e093cc1da8204855b875047ed4b65a0b93391b01f08cdfce1bc5621359c2ec3edf9d91919fc73cb87c31a75e2b781fb3b2bfcc60dd59ebcc50f21da91d2d7 SHA512 67faadacf781bb60e7cca69aaa50c56ac7f7250f1eb41b6d21d392222dee56043fdf8354339e3bd8aaad5a997f48e494a7a0054a2516ed0021b4526f5669b36e +DIST nv-codec-headers-12.1.14.1.tar.gz 78065 BLAKE2B 7125cce9e052b05a2f5b59b129f6743b46255bc40e996ced0b989327fcf14d4cdae1c1d3255b2928a3d0bba2a47a74f4197f6797374c0d94da4e14e059602647 SHA512 df1bf49c58e55bd16669c37b3d3c6b51f359b6a86a5a7d8c83e7b73a6d5a3ab0a037eb238805ce0a2297b7b2ac284f02836d061eeeb4e9cf71fdb28fefa79dfd DIST nv-codec-headers-13.0.19.0.tar.gz 81250 BLAKE2B de73304485de0266f41ba4600691de6718049be98db58d4387089c5e622078d47a1303b8b55e05155ca3e1a565246635b599aaa8ff737911bf203183df98f013 SHA512 6e278c35737be5eea05582c4b47f8e36c58a8922983e5565b58357105d7fac2d7ba500e475a8bec598c0e6bca93eb4a0ed2867ddd198aa9f2a8c656eaa962dac +DIST nv-codec-headers-13.0.19.1.tar.gz 81874 BLAKE2B 2148e1ac1b50b2394ac8c7e4934864f27eb0f234518923222ae2aabde1fbb085e4920044a555e8a599aac8165ee6e59270987825cda8256e4c5ba3ec9235e605 SHA512 62721a302cf20d5a251d4703e3e90147968dd46393c84c20978194aff68a60775507fdeabf00b39702f65b1787ae77a96be4ba38da3008a0b9e6eaf8097477d4 +DIST nv-codec-headers-13.1.15.0.tar.gz 84034 BLAKE2B b564d233b8acac28730989791cd1e6e9548c591683a2d38aa6de8d907319f8b45fd9fc360c000f025af972b218a6faaaeaed9d6439bcec77b5131103a68fc5f5 SHA512 3acf4343c2c0d747a42f75132fcf09748017ef4c9206a8fb36f333811dce02878a8607893f3d04fdb7fe472e326ed2d76d0a840531c0f55f4eb80eb32cb55057 diff --git a/media-libs/nv-codec-headers/nv-codec-headers-12.1.14.0.ebuild b/media-libs/nv-codec-headers/nv-codec-headers-12.1.14.0.ebuild index 52814050dd63..88c886daad69 100644 --- a/media-libs/nv-codec-headers/nv-codec-headers-12.1.14.0.ebuild +++ b/media-libs/nv-codec-headers/nv-codec-headers-12.1.14.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -# ideally only stabilize versions that work for all non-masked nvidia-drivers +# only stabilize versions that work for all widely used nvidia-drivers branches NV_MIN_VERSION=530.41.03 # see README DESCRIPTION="FFmpeg version of headers required to interface with Nvidias codec APIs" diff --git a/media-libs/nv-codec-headers/nv-codec-headers-12.2.72.0.ebuild b/media-libs/nv-codec-headers/nv-codec-headers-12.1.14.1.ebuild index cb05c373deb3..5a8b05af1a30 100644 --- a/media-libs/nv-codec-headers/nv-codec-headers-12.2.72.0.ebuild +++ b/media-libs/nv-codec-headers/nv-codec-headers-12.1.14.1.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -# ideally only stabilize versions that work for all non-masked nvidia-drivers -NV_MIN_VERSION=550.54.14 # see README +# only stabilize versions that work for all widely used nvidia-drivers branches +NV_MIN_VERSION=530.41.03 # see README DESCRIPTION="FFmpeg version of headers required to interface with Nvidias codec APIs" HOMEPAGE="https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git" diff --git a/media-libs/nv-codec-headers/nv-codec-headers-13.0.19.0.ebuild b/media-libs/nv-codec-headers/nv-codec-headers-13.0.19.0.ebuild index 5d6844da867c..869b8f3af8ef 100644 --- a/media-libs/nv-codec-headers/nv-codec-headers-13.0.19.0.ebuild +++ b/media-libs/nv-codec-headers/nv-codec-headers-13.0.19.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -# ideally only stabilize versions that work for all non-masked nvidia-drivers +# only stabilize versions that work for all widely used nvidia-drivers branches NV_MIN_VERSION=570 # see README DESCRIPTION="FFmpeg version of headers required to interface with Nvidias codec APIs" diff --git a/media-libs/nv-codec-headers/nv-codec-headers-13.0.19.1.ebuild b/media-libs/nv-codec-headers/nv-codec-headers-13.0.19.1.ebuild new file mode 100644 index 000000000000..869b8f3af8ef --- /dev/null +++ b/media-libs/nv-codec-headers/nv-codec-headers-13.0.19.1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# only stabilize versions that work for all widely used nvidia-drivers branches +NV_MIN_VERSION=570 # see README + +DESCRIPTION="FFmpeg version of headers required to interface with Nvidias codec APIs" +HOMEPAGE="https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git" +SRC_URI="https://github.com/FFmpeg/nv-codec-headers/releases/download/n${PV}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong" + +src_install() { + emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr LIBDIR=share install + einstalldocs +} + +pkg_postinst() { + # prefer not to depend on nvidia-drivers given this package is depended + # on as header-only and drivers are optfeature'ish which can be better + # for e.g. binhosts to provide support (binding operators also not really + # suitable in DEPEND-only wrt rebuilds, rebuilds are not currently needed + # to work with *newer* drivers, and would be annoying for users switching + # driver versions only to troubleshoot non-nvenc issues) + if ! has_version ">=x11-drivers/nvidia-drivers-${NV_MIN_VERSION}"; then + ewarn + ewarn "Be warned that packages built using this version of ${PN}" + ewarn "will require x11-drivers/nvidia-drivers of version ${NV_MIN_VERSION} or" + ewarn "higher for NVDEC/NVENC to function properly. If switch to an older" + ewarn "${PN} version, remember to rebuild packages that are using" + ewarn "this such as ffmpeg or mpv." + fi +} diff --git a/media-libs/nv-codec-headers/nv-codec-headers-13.1.15.0.ebuild b/media-libs/nv-codec-headers/nv-codec-headers-13.1.15.0.ebuild new file mode 100644 index 000000000000..2b38e63340a1 --- /dev/null +++ b/media-libs/nv-codec-headers/nv-codec-headers-13.1.15.0.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# only stabilize versions that work for all widely used nvidia-drivers branches +NV_MIN_VERSION=610 # see README + +DESCRIPTION="FFmpeg version of headers required to interface with Nvidias codec APIs" +HOMEPAGE="https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git" +SRC_URI="https://github.com/FFmpeg/nv-codec-headers/releases/download/n${PV}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong" + +src_install() { + emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr LIBDIR=share install + einstalldocs +} + +pkg_postinst() { + # prefer not to depend on nvidia-drivers given this package is depended + # on as header-only and drivers are optfeature'ish which can be better + # for e.g. binhosts to provide support (binding operators also not really + # suitable in DEPEND-only wrt rebuilds, rebuilds are not currently needed + # to work with *newer* drivers, and would be annoying for users switching + # driver versions only to troubleshoot non-nvenc issues) + if ! has_version ">=x11-drivers/nvidia-drivers-${NV_MIN_VERSION}"; then + ewarn + ewarn "Be warned that packages built using this version of ${PN}" + ewarn "will require x11-drivers/nvidia-drivers of version ${NV_MIN_VERSION} or" + ewarn "higher for NVDEC/NVENC to function properly. If switch to an older" + ewarn "${PN} version, remember to rebuild packages that are using" + ewarn "this such as ffmpeg or mpv." + fi +} diff --git a/net-fs/cifs-utils/Manifest b/net-fs/cifs-utils/Manifest index 5517854ea5c5..d3bd5c3324d9 100644 --- a/net-fs/cifs-utils/Manifest +++ b/net-fs/cifs-utils/Manifest @@ -1,2 +1,3 @@ DIST cifs-utils-7.5.tar.bz2 423849 BLAKE2B ddabbaaa122252640d9e69f7c180b53c33d0d02d14b26d96f1fc52858e3d6a3d491c64cec9bc9e0367dedfbc041fa7098d1de6aa3dc991e655ef45c919e3b1a3 SHA512 d44b26ca3224160bcb4fc712eb6c6d09fcfee196197d46481e95333494eaae1a4851712fba9b922c203e3cd301c481b433ff49ec396428c12ff7db3c628ce9e9 DIST cifs-utils-7.6.tar.bz2 236411 BLAKE2B 8a05d1c31f43ae107d3ea4f4ccd18b3ca95ad669a33fe8dc3991cfe77343ff2ad59c15ccf85740795b3d74c0f5a189d3c5ea5ab2d4eef9f4ebcc3573160587cd SHA512 000bca9eb0242c8c04dc1110244ad26cd39f11541cc038e36a1b36c2e683fde19d61a59234e0e592bf8d83ebebafb4d46a7e6978c745bba5e3e155e05908dcbc +DIST cifs-utils-7.7.tar.bz2 426805 BLAKE2B 4b0934778a803863cdca37375c9273c601494a6656d070ab5ad510616adbce92c68b0c952146257b839a19d15c42216d3c4f0f1b83942b9f0dd8e0d3d06916ea SHA512 cc94105a1ff639d2257a3e644e3b766259ef7a83725c9dddb465e8a8c7126f06a0a036a1c8cfb495943b4d1e370aae8df0bb51f85ff36e54b4894e27d8ddce29 diff --git a/net-fs/cifs-utils/cifs-utils-7.7.ebuild b/net-fs/cifs-utils/cifs-utils-7.7.ebuild new file mode 100644 index 000000000000..84e6d80fe8d7 --- /dev/null +++ b/net-fs/cifs-utils/cifs-utils-7.7.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit autotools bash-completion-r1 flag-o-matic linux-info pam python-single-r1 + +DESCRIPTION="Tools for Managing Linux CIFS Client Filesystems" +HOMEPAGE="https://wiki.samba.org/index.php/LinuxCIFS_utils https://git.samba.org/cifs-utils.git/?p=cifs-utils.git" +SRC_URI="https://ftp.samba.org/pub/linux-cifs/${PN}/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+acl +ads +caps creds pam +python systemd" + +RDEPEND=" + sys-libs/talloc + ads? ( + sys-apps/keyutils:= + virtual/krb5 + ) + caps? ( sys-libs/libcap-ng ) + creds? ( sys-apps/keyutils:= ) + pam? ( + sys-apps/keyutils:= + sys-libs/pam + ) + python? ( ${PYTHON_DEPS} ) +" +DEPEND="${RDEPEND}" +BDEPEND="dev-python/docutils" +PDEPEND=" + acl? ( >=net-fs/samba-4.0.0_alpha1 ) +" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) +" + +DOCS="doc/linux-cifs-client-guide.odt" + +PATCHES=( + "${FILESDIR}/${PN}-7.3-no-clobber-fortify-source.patch" +) + +pkg_setup() { + linux-info_pkg_setup + + if ! linux_config_exists || ! linux_chkconfig_present CIFS; then + ewarn "You must enable CIFS support in your kernel config, " + ewarn "to be able to mount samba shares. You can find it at" + ewarn + ewarn " File systems" + ewarn " Network File Systems" + ewarn " CIFS support" + ewarn + ewarn "and recompile your kernel ..." + fi + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + if has_version app-crypt/heimdal ; then + # bug #612584 + eapply "${FILESDIR}/${PN}-6.7-heimdal.patch" + fi + + eautoreconf +} + +src_configure() { + # bug #927809 + filter-flags -fno-semantic-interposition + + local myeconfargs=( + --enable-man + --enable-smbinfo + $(use_enable acl cifsacl cifsidmap) + $(use_enable ads cifsupcall) + $(use_with caps libcap) + $(use_with caps libcap-ng) + $(use_enable creds cifscreds) + $(use_enable pam) + $(use_with pam pamdir $(getpam_mod_dir)) + $(use_enable python pythontools) + # mount.cifs can get passwords from systemd + $(use_enable systemd) + ) + + ROOTSBINDIR="${EPREFIX}"/sbin econf "${myeconfargs[@]}" +} + +src_install() { + default + + # remove empty directories + find "${ED}" -type d -empty -delete || die + + if use acl ; then + dodir /etc/cifs-utils + dosym ../../usr/$(get_libdir)/cifs-utils/idmapwb.so \ + /etc/cifs-utils/idmap-plugin + dodir /etc/request-key.d + echo 'create cifs.idmap * * /usr/sbin/cifs.idmap %k' \ + > "${ED}/etc/request-key.d/cifs.idmap.conf" + fi + + if use ads ; then + dodir /etc/request-key.d + echo 'create dns_resolver * * /usr/sbin/cifs.upcall %k' \ + > "${ED}/etc/request-key.d/cifs.upcall.conf" + echo 'create cifs.spnego * * /usr/sbin/cifs.upcall %k' \ + > "${ED}/etc/request-key.d/cifs.spnego.conf" + fi + + dobashcomp bash-completion/smbinfo + use python && python_fix_shebang "${ED}" +} + +pkg_postinst() { + # Inform about set-user-ID bit of mount.cifs + ewarn "setuid use flag was dropped due to multiple security implications" + ewarn "such as CVE-2009-2948, CVE-2011-3585 and CVE-2012-1586" + ewarn "You are free to set setuid flags by yourself" + + # Inform about upcall usage + if use acl ; then + einfo "The cifs.idmap utility has been enabled by creating the" + einfo "configuration file /etc/request-key.d/cifs.idmap.conf" + einfo "This enables you to get and set CIFS acls." + fi + + if use ads ; then + einfo "The cifs.upcall utility has been enabled by creating the" + einfo "configuration file /etc/request-key.d/cifs.upcall.conf" + einfo "This enables you to mount DFS shares." + fi +} diff --git a/net-im/discord/Manifest b/net-im/discord/Manifest index 29b44d7ce22b..931275823d9a 100644 --- a/net-im/discord/Manifest +++ b/net-im/discord/Manifest @@ -1,24 +1,4 @@ DIST discord-0.0.135.tar.gz 107861168 BLAKE2B 59f7a303c45c137cdf870abf8cf421c39ced29b55cd3b8703f2d9d253857c305cd579380cc4f7cba2cf95ac2f64524a9dc53c0fcf6eefe4c7805d58b8f1dac59 SHA512 7be159b69fe322939fccfbe82c2c15b0dffb2ee2106a19824d7cc1ccb6b5f87b90446ba1915dfb81bbc59dab56561c104645d969acca5e9a95ac5b4c7afbd2ba -DIST discord-1.0.144-discord_desktop_core.distro 523230 BLAKE2B ef3573dbd5734bf38d07a4c50fde69b66b012b69ede0bd6b89d48f8b2a69f71c0461a70717f552cf0febffdedadcd8fb1fe83ef31ebeeb282580d7c251404b39 SHA512 3d3ec8d9d7f9b75b948d9444eeceacfd56cb307dadb1d0c53fced219fd559f26e5ee542fb4073067d8ae4c481410da250ad264c86ad2a0c6f838253902e74b08 -DIST discord-1.0.144-discord_erlpack.distro 2065589 BLAKE2B 0f9d0ba65427f35e7c67edde0bd4f96119bb70e85e5af653421d53ad135b0bf8768dc8d72b903e74d45ab004ee29cd4cf009234d7fcfe02c36dff5120b2b30ab SHA512 7b03cde71d8269a7e1165160979ffd3daaaef7bcff4d28adb01bd464b9566e76823fbe9182ae1bef719ce463ee350717d1aaae215db0c0a65ad046f22131fb9e -DIST discord-1.0.144-discord_game_utils.distro 3172504 BLAKE2B 57ea1d4931145781bba378172730b00679bf0acef6d086dff852100c614aafbc17a3a7f6f33f072c2f3ef7a69290ca3c1d99d8f5854ee8cc73d4f10aa7e22b3b SHA512 31ca37ccb7ed82313627992f68b6b22f7c000b1b3876a93531187e2859c1e80344ec08af841cf43119d710764f2a1587d6fe4abe48755c19d6ca31a386d58c2f -DIST discord-1.0.144-discord_krisp.distro 36158747 BLAKE2B f13be529d237ee16cd7af6f1866a886de347336a8cfd9b6df01b3cbc816bd9f165bea06be0bfef88f6f135afdbc2f4570f835be2f783df8129d28745dff4a5ed SHA512 fb6ececcbbae91727b836f956cca571fe5c8a79e3ecb04ccee3b93638188ff2db1d5552990930c110518074e857dbe12093e4214fc2d0f6a093cf0e249559282 -DIST discord-1.0.144-discord_rpc.distro 30381 BLAKE2B ff78ee434efba00c5f42a1fa1d073cf0bcf81619749719a0207491de9918a41084b9fbdfb07e8d90cae1181353f89e7c8d2f37dad38118ac1e3c70a517f000e0 SHA512 83fe02eacebf5f7315ee15019b91cda39674240d0c411dfce31c534579a4fe3f848e5f39d3d94cfa3e8339440730f675a2c93163993e150c7cbcccf4a52651da -DIST discord-1.0.144-discord_spellcheck.distro 9889932 BLAKE2B e152bcd7c62e7e1fa943d571a6d3d6eadf1326ab28bcf773031ff0e0e403504bcdaca0e85797e5826dccb2b14566549bfb81e2cec367233ca5e5c66c3c9f8f66 SHA512 f64aae9bde31e01ccee20d31970173e96c43999086f87e4c4538f822f3c260d1ffb31c550589a2c00a8e19ec277ac54adea856f86108e75a04eea70f3eb07764 -DIST discord-1.0.144-discord_utils.distro 4598171 BLAKE2B 1a220e9766723e6374607aa65797c41d03887ef1536b50c57afa4a64ca6bb6208dade10c5ca169a5b65dcfe3d34936c3d38ed5e47fe0f1a4c2d96d6282b8ae7e SHA512 0430481d59e9345088136114e8f81d0e9abcc0bbf65a0020a936105330f456f5ca829c7838d9d75613c7d201885dc9576d1da3109e96651e6953b761c6b653c9 -DIST discord-1.0.144-discord_voice.distro 32744887 BLAKE2B 00c01152ce292277305a4afcd0ad3d9389ff92d58a080d0c165f8b817ed40245f8624102c8d755af53e697f9176d23eb9e254e45d62a9856e4a0aac741894e84 SHA512 acd37f8848a717043a558095d497234caac7500fb8b00030783ae5a5c51c3a5e3b352a7e289f55d244d566bb01c26e5afeeb7859a2be788ce1cc37efd1627be2 -DIST discord-1.0.144-discord_zstd.distro 328106 BLAKE2B 0087528fde0e4e8bc7eae46f5edd2adfd570cd645071af243f68e9903a96bcbf53dd2f9262a194d035c39b650b7e9f12c168ff60abdccad248872425e9004461 SHA512 984d79f024094d4ac72df7ddf1e35eb67144afa7d80b4b10bf55d78232317dc290ecdaaf013643f2049d11f11fdef475309e5a6236e42d5baa2fdadff5545099 -DIST discord-1.0.144.distro 91387526 BLAKE2B eadf6346baace6286a16d7cee6cc013128c91faead4dc1c91c043dfe4d6288ffc64315e873b81b3a237e61d92d979c923b9942158e044ee7d44d34bd8cb600b6 SHA512 58c24e26be0d0fb8cea968440772e276a01e98869a299f56d4b0ad8435fc8e31248f9181134cf2084f9b02fc5863e6f2e842770ccbbf5dfe4862c0638478d5b8 -DIST discord-1.0.145-discord_desktop_core.distro 523947 BLAKE2B 4c2c574b4144723c3660e105546e46752f108715b712b0b4d62228906c3a5889e259837056bb5cbb15f3aaea77497930482f143a5a9aec858508db3247486ad9 SHA512 ad3d4334f9079b97310aac64b93ec35dbdfa205a1747f6b6359659fd93516326865c6fcddc82e1fe762cad31758d1257feec68f0bc5a5a1fffa91a4f36a3745a -DIST discord-1.0.145-discord_erlpack.distro 2068679 BLAKE2B e7fb5d350cbc45aa1f252ddd753a3415cbb03bf6d0ba5d052e50212749962e7fdf5b07ae71c88611b01a79c2054f05adbf9953362569c1e665cfab5347c0c5ff SHA512 d2e08a3b5f69fd4eb5ead1d33e237434c7d6735257143eebd22d00d2c794bbda42b73e9f3d7bbf7ced235f5586cb585455fdf6fa1772cafbce74ef6ca10a44b5 -DIST discord-1.0.145-discord_game_utils.distro 3172465 BLAKE2B 75bb14f6784e85b7c28b63e4bdba8722f02a06f165b0bfdfcc24cf6c75bcccf5bcdf1b4a0dddd5b907509bac8f5d47aa3861de374b0029adeb46bd9d212a7ebb SHA512 8882599f8df1bd277cae73bc7c5f04ed194381c28f726f7081148c85b44606b0f8543a31b27e8d6d072bbfb45ab6402cc63c0929422d7a9af98f082d84166721 -DIST discord-1.0.145-discord_krisp.distro 36157987 BLAKE2B 14c43b0a5462351550cc1df336f9e5b9943ddd4c3cbc5812eed9ac6905d5fc15642b8517851ec6e617c0923f647d30aaf3f3e36d0aa908a0960292b814366f0d SHA512 fa2d2b15a03fdd182facd7d4c3765bfff353f0f74cb88db97313e37c1721c5bdbb31d34d94781b36fecd061c129f735d6f5eb353a7e43ded6237dd5314819324 -DIST discord-1.0.145-discord_rpc.distro 30382 BLAKE2B bb784aecd6e0db5cf3e173d61ebc3d32e3e6d850a6499527c84661e4ace6a123af780fa38736c4645381c767a81fe0a662eba84ee25cfde4c454f75039d2f229 SHA512 a43fb16e00dfc26196bdbd1712a3be8cb9cbe83e3dcd71b98d7c0c73f30195b6da60c59672fb8ccb129afe83a059d6422a3282765830a4b15511e1d0f6cf3ab0 -DIST discord-1.0.145-discord_spellcheck.distro 9889607 BLAKE2B 105f65006ae48173115c79ac878aae9eab402af3e057f8edb1a47f2fdeb7e45365a65d55a27d5a551c70db38ab03dad5f6854efd0d114a13b2938f7d4de14044 SHA512 ffb4d994cf74535e79b91f428d8274164a885676df625534ef80ea6f05d55fd6e0b9b77473cde740529a6ea8e41aaae17f91e3f30009acd945ae6e617095df13 -DIST discord-1.0.145-discord_utils.distro 4598154 BLAKE2B b3dfd06b65fe02fd2f3dd72d655b6a50e95447a7dd8af6ed563e94f3c145afe4192211108a1356cb456d11f6c3b1165e1f8868da53d7da37bc5fe70569ba4a38 SHA512 22628f401aa739f9b34f074fdcd6ac9546b0876c3e2148f4d1072d515cb953d6ad67e793861c9ce12b802b846133cb8cf35263f265fe617d897df154866bb286 -DIST discord-1.0.145-discord_voice.distro 32828004 BLAKE2B c28f27fc613c2be9d9a211c28ebebae6b1f625d758f02fa0278f034d4de2e75acce73ecacd8747c11698fa9e3689b8f6a32f81ec9d2ab03ad92d6b88d43d78fa SHA512 af8f47d22707325c9dc88a1babb93a90acbe656d62f3014c5ad169e3d2759a1825a37715f3c1e34dbfdb2f677aabe4918cc72c9b12910f3fe6a82985bd4044cf -DIST discord-1.0.145-discord_zstd.distro 328074 BLAKE2B ec56d0136c558422407f7297119dfdc4c3a46740730542e1494a8bf082cd5fdf899748550c464f8e73fda7d835ed11b028d0bbc59295d97fd0f9aded50865b80 SHA512 3c1d59f189911a35b4be377ead0d3add05eedcebb54028987f7b7507c00b335dfb9ea2a3c68ebcb463712c650f2d56d85d94cdc08430cf4d83caa9e5705ae2b0 -DIST discord-1.0.145.distro 91388717 BLAKE2B 9265ca8df91edb50156b13eba0244edadad8752bc219d7d5a946426bceb76b008e1b4585911cee9cd85494c5882b0936646615af78079dabf054f091604696f9 SHA512 bbf0d6ddd09fbc6ba69d155d7b21552646f72942a3238a7a1e0ab9bf98e68dec399ef235974e8d887df083c9ea4db2b4c8d164436eaf5536512e30a2b9cf4fa3 DIST discord-1.0.146-discord_desktop_core.distro 525075 BLAKE2B 26670215bc3f8dc2119bee6e2cab2c4d683a0e9a3b2c1a625679d36acc56e07d7ee21c29014cceed7b7715d7de22ed62e542ae50597f0027fc0f64312f30f4c1 SHA512 88024b0faf4e4db8e283af9081b88072ec8ab908e4b72a7c0bab8ae7fcb3c5ae09b2b3e34af0b35429b51f46be359dc39983191e376a762c6c4831d4918a9792 DIST discord-1.0.146-discord_erlpack.distro 2067901 BLAKE2B 1121dbd1d74abb61824e3f44fa6812ecd7ae6c2f97a83238c0775f49ff32ada41828825c0fa1f6b30ac1f228d3440edc3c14f86b204a35837da8618dd5e59521 SHA512 755e37330fc16d99f630ed0036eaabf83b4f137123c72eae35fe47996d243ceaed1ddc6f1891efaeffb3f28fa4c0eb9b2be76308df50d98a97be24c37f5e41f0 DIST discord-1.0.146-discord_game_utils.distro 3172533 BLAKE2B d820da64a700f033c3e318bfa8a87d38043eb7ecde4bce0f14f7e2d880707ebac401062ee60ec1ecaa80ceb9b7fa768fbf0081576de1e237fb775282ffd5ec53 SHA512 f23b41b7e55c6611a77767c4ccd7010bfc5a901d241ac91826b191ca7d894e5960eda1afde05a0b52564b555006ce762620b08c9378eff733a0b89c5fd49a3e4 @@ -29,4 +9,14 @@ DIST discord-1.0.146-discord_utils.distro 4597694 BLAKE2B aa7009ba3466cca3ac3397 DIST discord-1.0.146-discord_voice.distro 32845629 BLAKE2B 07a376e84e0bb552507a55b704ca1423fba5c24a8b0c06f4114df0df01ff0dadf0256e11b53301c00cc2de728e21762b646e0096ee2f52fb58846333571d6149 SHA512 fc5dd9840f0b13bf8b66dc4901833c701293a914c54765c04c18414755f237284e93e1a7bf2660120507263500f9ab385c1c9966fe0f33e368b3fae9d695b432 DIST discord-1.0.146-discord_zstd.distro 328071 BLAKE2B 7e5cd3914da41834a0b01466602e9e421600a9cf7c2c3c33c3405c06c90fe3be1b58cfc27c02e7e97bee0e7dd96657fdfe4326073534e94e733b71604e03d828 SHA512 b7a676bd7e7cb1a9d57aaad1c828499f7ecdc0360bb982a3138181bb29710354509c50998344004c73ca2b87f7866a603109c2cb79b848b3240fa08a35578b16 DIST discord-1.0.146.distro 91381828 BLAKE2B 4dd4a2b2751a0adec640a29a23a12999ae5ec108e089671dba532d4b203ed63d7ec5e359277effa063d7718ac1bf032c5d1b5bdc7ccb92b7b48b25639f95fdf1 SHA512 dca9bbf55afcb1425af7bd0fc4d891fe0cc37859436a8b2a1ae9d29689d72e574dc2f974d468a86527c0420847fd27af5517da7b02075ee2eebe8bd2d43a7d09 +DIST discord-1.0.147-discord_desktop_core.distro 525093 BLAKE2B e60942556c96bb40802a5955a4ed4e7d1510606839a9e870a6f7117569a2f4f93432515742dd0751312f644e9d9140e064dec61653ddd4ac849b71dbe26128a1 SHA512 0a0c02df8fd04e6671f391b052c7227b29aa805afd86688d4c435b4b7b6f6d3b58669c205f37f84a8057074e976fea449d8fb17f88011e370a5eb7058215a892 +DIST discord-1.0.147-discord_erlpack.distro 2065488 BLAKE2B e15d3dd989d4d0c45e2d89f1fca8eb3a1941270967f949071fb39b10288478ce0778b2d2f55c409969ae7035b4674a7d0f877cfdd7518fccd71a079d2ca76b76 SHA512 798c6cb73018b4cec6ff1c94259be3d56b3051f3daaea6cd5fee26d2fb55dee109cafd978b33d2b54f260d6db0ba0876501d83e342e135b5ebfb05f7d744a696 +DIST discord-1.0.147-discord_game_utils.distro 3172405 BLAKE2B 1556e8434e0af0a68a997ecf2cb343318fb650111b338d5b7cc3e453b3fd6577d8c5217a933729edb3ac5915b11d27f5a994ccfd8e7af3d241dbe5a4d3417bac SHA512 c027fe9cf7e60c0272a719ae56eb14bf2ceafb6d012fecf521750a5d8608668ae422b085e621458a0c7dde7cf75bf7a705052be4cee39a52cb21b8081d87ea6a +DIST discord-1.0.147-discord_krisp.distro 36158393 BLAKE2B c3edae9d983aac07c2398e1b233cc517614c78cdd974a97b782bd6225433e2857ec48e07b3010afae3cc52da97a5ab35560b9aff37e9956ffe16cc6b39f121ac SHA512 0984ec74faf3596b3744b5cf8d0b0ce09feef32ee557ad023c688dbd9234f7e2848e0c503a2b879ab02bf3e0609e5ec96fd53e639854af6fc1744c9f12f1b65d +DIST discord-1.0.147-discord_rpc.distro 30379 BLAKE2B 576525cd3267eacaf36bf9089bcf6cd7d8e4762fcb4ffa63ae1cdb0d59d90701ad442f9383e6d230d3041266df35b336044baf03a82fb226bd335cc5e154ff1d SHA512 b080157280c02b2f26c44d5dfbfd0a3c46e85b200181281f3a5e50b8f290167f88d517ef05ec1bb71e8053593aa90b8e427136a1cbf98e7d14068a163f8424a3 +DIST discord-1.0.147-discord_spellcheck.distro 9902531 BLAKE2B 82b92f668a99545984e0b8277b8f4d9489e06a9d38aaee0936d32db8f998804090b94e6dd55fe70141e3b86a5ca05263f19bf1d7e99fb3edc1dcdb539b6b2b1b SHA512 b59404a48493afeb5a8733b3b3c62d0650667d3dcd58e1afc181cdde524e339da12f0683dce1af90c250226828bf10a92e6b2d869a533d452caf378fa0b11985 +DIST discord-1.0.147-discord_utils.distro 4597800 BLAKE2B c23c6bf4be84ba72df81f8e783457d677751844d1cb8f07efa39adbfd0abf282e35bc3937978973972e26787682005d5de9d4a99ad655f1c6da272a585500540 SHA512 1adba698aff755767abbdd5249416fc7721389e658732105349194b1585a06d7de5b82268818db4852b3e914b1458b677968c7a5321b004a6c019f64182bc09b +DIST discord-1.0.147-discord_voice.distro 32863361 BLAKE2B 0c9600f405401b0c7c1e718ce909fa1546456f7e1ec7032fdaad9c64b2126c93bfe09624120e959e0022c580253e77a6feb177f2a4f9e89026328dfd0905fbca SHA512 e561cf39de736024e9ada0f9a358b17b351e9a86fec023d08b7cef0b105739d33e040892127c25009f7ad27b14aaa4fcdc3b5866ef0b3ccd71d2b31c58dc63d4 +DIST discord-1.0.147-discord_zstd.distro 328096 BLAKE2B fee95e0e1b9041844024460ae6dba19f89f823bfc8edb42fe492c0cc9b377d5fd1bcde810a71f7170810dd63e5e33985eeb5b81542adb174e644c3c55980854a SHA512 ff520ab95719fafb3c38d7592152c2914ae8b20245ad3bf58a7fe4b2afa06c824f0948954581e02afd9569db6669a0d93f430a6032ca62d8e5e7dbb46cb3099c +DIST discord-1.0.147.distro 91387601 BLAKE2B 3648418ca590cf5e3fe51ef06960e90eb69ac4c9530b8120a56111ec60629d1b619eddf705872b258ff65bd9ffb2c8a4c0511fc19bd635b01f927e8ffc2cb5f2 SHA512 434f927e1f259adebbf7988a4c42a7eb6b5a4a271f0fa30ee13eaf234f83ed655a92edf182a17d8684f28e3d57beafd9b4bdf1bcaa755811f304e4689e582f6a DIST discord-disable-breaking-updates-2f26748a667045d26bc19841f1a731b4be7a7514.py 1299 BLAKE2B b6c923c450a28405e2a439e0d1b8a83e01e0536c62095fafbae74612aa4e891df733aa13999ce6a8be3618fd14e154aec802aa4ee21aad1303b05626ffd23314 SHA512 a7ef493a216c71a5b02685cff6866bfc3940aaf9cdc73b58859c962d0d33b613349289ef7027359f184f42dddaed486b84f6d85b9023ab8530ab7ba66431c3c7 diff --git a/net-im/discord/discord-1.0.145.ebuild b/net-im/discord/discord-1.0.145.ebuild deleted file mode 100644 index 2bb428c4c8b4..000000000000 --- a/net-im/discord/discord-1.0.145.ebuild +++ /dev/null @@ -1,223 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_PN="${PN/-bin/}" -MY_PV="${PV/-r*/}" - -CHROMIUM_LANGS=" - af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi - hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv - sw ta te th tr uk ur vi zh-CN zh-TW -" -PYTHON_COMPAT=( python3_{13..14} ) -UPDATE_DISABLER_COMMIT="2f26748a667045d26bc19841f1a731b4be7a7514" - -inherit chromium-2 desktop linux-info optfeature python-single-r1 unpacker xdg - -DESCRIPTION="All-in-one voice and text chat for gamers" -HOMEPAGE="https://discord.com/" - -SRC_URI=" - https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/full.distro -> ${P}.distro - https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_desktop_core/1/full.distro - -> ${P}-${MY_PN}_desktop_core.distro - https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_erlpack/1/full.distro - -> ${P}-${MY_PN}_erlpack.distro - https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_spellcheck/1/full.distro - -> ${P}-${MY_PN}_spellcheck.distro - https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_utils/1/full.distro - -> ${P}-${MY_PN}_utils.distro - https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_voice/1/full.distro - -> ${P}-${MY_PN}_voice.distro - https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_zstd/1/full.distro - -> ${P}-${MY_PN}_zstd.distro - https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_rpc/1/full.distro - -> ${P}-${MY_PN}_rpc.distro - https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_game_utils/1/full.distro - -> ${P}-${MY_PN}_game_utils.distro - https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_krisp/1/full.distro - -> ${P}-${MY_PN}_krisp.distro - https://github.com/flathub/com.discordapp.Discord/raw/${UPDATE_DISABLER_COMMIT}/disable-breaking-updates.py - -> discord-disable-breaking-updates-${UPDATE_DISABLER_COMMIT}.py -" -S="${WORKDIR}/${MY_PN^}" - -LICENSE="all-rights-reserved" -SLOT="0" -KEYWORDS="~amd64" - -IUSE="appindicator +seccomp wayland" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist mirror strip test" -BDEPEND="app-arch/brotli - app-arch/zip" -RDEPEND=" - ${PYTHON_DEPS} - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - dev-libs/wayland - media-libs/alsa-lib - media-libs/fontconfig - media-libs/mesa[gbm(+)] - net-print/cups - sys-apps/dbus - sys-apps/util-linux - sys-libs/glibc - x11-libs/cairo - x11-libs/libdrm - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3 - x11-libs/libX11 - x11-libs/libXScrnSaver - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - appindicator? ( dev-libs/libayatana-appindicator ) -" - -DESTDIR="/opt/${MY_PN}" - -QA_PREBUILT="*" - -CONFIG_CHECK="~USER_NS" - -repackage_node_modules() { - brotli -d "${DISTDIR}/${P}"-$1.distro -o "${T}"/$1.tar 2>/dev/null || die - unpack "${T}"/$1.tar || die - pushd "${WORKDIR}"/files 2>/dev/null || die - zip -rq "${WORKDIR}"/$1.zip . || die - popd 2>/dev/null || die - mv $1.zip "${S}"/resources/bootstrap/ || die - rm -r "${WORKDIR}"/files || die -} - -src_unpack() { - # Upstream now only ships an autoupdater, where the binaries downloaded from the - # upstream package do not contain the app, but instead contain software that - # downloads and installs the app. To work around this, we manually download - # the same Brotli-compressed tar archives that the autoupdater would, for both - # the base app itself and the required Node modules. The Node modules need to be - # unpacked and installed in ~/.config/discord/${PV}/modules, and luckily the base app - # can automatically do this for us on the first launch if we package the Node - # modules into a .zip and put them in <base app location>/resources/bootstrap. - # Some modules are installed at runtime, but we want to bootstrap those too, - # so we use a custom <base app location>/resources/bootstrap/manifest.json - # copied over from $FILESDIR. - brotli -d "${DISTDIR}/${P}".distro -o "${T}/${P}.tar" 2>/dev/null || die - unpack "${T}/${P}.tar" - mv "${WORKDIR}"/files "${S}" || die - rm "${T}/${P}.tar" || die - # For any new Node modules, add the Brotli-compressed archive to SRC_URI - # following the same pattern, and then add a corressponding call to - # repackage_node_modules here. You can find a list of required modules - # at <base app location>/resources/bootstrap/manifest.json, as well as - # running the application and looking for lines in the output about "modules". - # If checking manifest.json, make sure to check the one directly from upstream, - # as the one installed on the system is copied over from $FILESDIR. - repackage_node_modules "discord_desktop_core" - repackage_node_modules "discord_erlpack" - repackage_node_modules "discord_spellcheck" - repackage_node_modules "discord_utils" - repackage_node_modules "discord_voice" - repackage_node_modules "discord_zstd" - repackage_node_modules "discord_rpc" - repackage_node_modules "discord_game_utils" - repackage_node_modules "discord_krisp" -} - -src_configure() { - default - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - default - # cleanup languages - pushd "locales/" >/dev/null || die "location change for language cleanup failed" - chromium_remove_language_paks - popd >/dev/null || die "location reset for language cleanup failed" - - # Update exec location in launcher - sed --expression "s:@@DESTDIR@@:${DESTDIR}:" \ - "${FILESDIR}/launcher-r1.sh" > "${T}/launcher.sh" || die "updating of exec location in launcher failed" - - # USE seccomp in launcher - if use seccomp; then - sed --in-place --expression '/^EBUILD_SECCOMP=/s/false/true/' \ - "${T}/launcher.sh" || die "sed failed for seccomp" - fi - - # USE wayland in launcher - if use wayland; then - sed --in-place --expression '/^EBUILD_WAYLAND=/s/false/true/' \ - "${T}/launcher.sh" || die "sed failed for wayland" - fi - cp "${FILESDIR}/manifest.json" resources/bootstrap/manifest.json || die "Failed copying manifest.json" -} - -src_install() { - doicon -s 256 "${MY_PN}.png" - - # install .desktop file - make_desktop_entry "${EPREFIX}/usr/bin/discord" Discord "${PN}" \ - "Network;InstantMessaging;" \ - "StartupWMClass=discord" \ - "Path=${EPREFIX}/usr/bin" - - exeinto "${DESTDIR}" - - doexe "${MY_PN^}" chrome-sandbox libEGL.so libffmpeg.so libGLESv2.so libvk_swiftshader.so - - insinto "${DESTDIR}" - doins chrome_100_percent.pak chrome_200_percent.pak icudtl.dat resources.pak snapshot_blob.bin v8_context_snapshot.bin - insopts -m0755 - doins -r locales resources - - # Chrome-sandbox requires the setuid bit to be specifically set. - # see https://github.com/electron/electron/issues/17972 - fowners root "${DESTDIR}/chrome-sandbox" - fperms 4711 "${DESTDIR}/chrome-sandbox" - - # Crashpad is included in the package once in a while and when it does, it must be installed. - # See #903616 and #890595 - [[ -x chrome_crashpad_handler ]] && doins chrome_crashpad_handler - - # https://bugs.gentoo.org/905289 - newins "${DISTDIR}/discord-disable-breaking-updates-${UPDATE_DISABLER_COMMIT}.py" disable-breaking-updates.py - python_fix_shebang "${ED}/${DESTDIR}/disable-breaking-updates.py" - - exeinto "/usr/bin" - newexe "${T}/launcher.sh" "discord" || die "failing to install launcher" - - # https://bugs.gentoo.org/898912 - if use appindicator; then - dosym ../../usr/lib64/libayatana-appindicator3.so /opt/discord/libappindicator3.so - fi - -} - -pkg_postinst() { - xdg_pkg_postinst - - optfeature_header "Install the following packages for additional support:" - optfeature "sound support" \ - media-sound/pulseaudio media-sound/apulse[sdk] media-video/pipewire - optfeature "emoji support" media-fonts/noto-emoji - if has_version kde-plasma/kwin[-screencast] && use wayland; then - einfo " " - einfo "When using KWin on Wayland, the kde-plasma/kwin[screencast] USE flag" - einfo "must be enabled for screensharing." - einfo " " - fi -} diff --git a/net-im/discord/discord-1.0.144.ebuild b/net-im/discord/discord-1.0.147.ebuild index 2bb428c4c8b4..008eb84bc750 100644 --- a/net-im/discord/discord-1.0.144.ebuild +++ b/net-im/discord/discord-1.0.147.ebuild @@ -46,7 +46,7 @@ S="${WORKDIR}/${MY_PN^}" LICENSE="all-rights-reserved" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="appindicator +seccomp wayland" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/net-im/qtox/Manifest b/net-im/qtox/Manifest index d16a2ed95df2..e1b42ee08830 100644 --- a/net-im/qtox/Manifest +++ b/net-im/qtox/Manifest @@ -1,3 +1,2 @@ -DIST qTox-1.18.3.tar.gz 5312073 BLAKE2B 5c7e4827b72af6bc6383600ace8bd878b47f5b3cf6edab3b8bfa65e0f489ddeca75f15f6bb5e5c41d63be2dd8a6aab2b600075284b4f8a8960377c13ca345e22 SHA512 c0d9a832fc937b5d0b67a5905d3ac60d31ffa92492533c41caad23a53d8538bc44202b09811d2d1495afb3a0a0f1badb0c6900b8a291ef78ee736d47fc030136 DIST qTox-1.18.4.tar.gz 5400012 BLAKE2B a84aa227b72969f9af1bd20b8feab7134ba0660796a405cf61609d84585db9b2d872438be1240fdb4533c980d0cd905409d521b4be68e0ce5439c75af5a8e8d4 SHA512 265d4b7266e05f5ad2389a766d72af2be111089d77ddedff39b9409e519542c2712d49225b759f93d33bf2cf2b988d24338dd2225bcc0e2755f07129bb8a6797 DIST qTox-1.18.5.tar.gz 5403534 BLAKE2B b882bca0ce53c28acb548bc23dd5eb477bc83cd4de7eda7181d33dc376154267fa2f5b15e6f53b88c92e06384029eaf5cca0628cd10ab4fc743438f44b764bfd SHA512 25a6cbb1a7059740c3eea3667225d5460e4a686f175acb593f9248c2e3e7789bd2ad6edb829013abf09862f9ac60012e18aae477abf0c02f9b4d441afc4f359d diff --git a/net-im/qtox/qtox-1.18.3-r1.ebuild b/net-im/qtox/qtox-1.18.3-r1.ebuild deleted file mode 100644 index 265cb4cdc802..000000000000 --- a/net-im/qtox/qtox-1.18.3-r1.ebuild +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake xdg - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/TokTok/qTox.git" -else - MY_P="qTox-${PV}" - SRC_URI="https://github.com/TokTok/qTox/archive/v${PV}/v${PV}.tar.gz -> ${MY_P}.tar.gz" - KEYWORDS="amd64" - S="${WORKDIR}/qTox-${PV}" -fi - -DESCRIPTION="Instant messaging client using the encrypted p2p Tox protocol" -HOMEPAGE="https://qtox.github.io/" - -LICENSE="GPL-3+" -SLOT="0" -IUSE="spellcheck X" - -BDEPEND=" - dev-qt/qttools:6[linguist] - virtual/pkgconfig -" -RDEPEND=" - dev-db/sqlcipher - dev-libs/libsodium:= - dev-qt/qtbase:6[concurrent,gui,network,opengl,widgets,xml] - dev-qt/qtsvg:6 - media-gfx/qrencode:= - media-libs/libexif - media-libs/openal - media-video/ffmpeg:=[webp] - >=net-libs/tox-0.2.19:=[av] - spellcheck? ( - || ( - kde-frameworks/sonnet:6[aspell] - kde-frameworks/sonnet:6[hunspell] - ) - ) - X? ( - dev-qt/qtbase:6=[X] - x11-libs/libX11 - x11-libs/libXScrnSaver - ) -" -DEPEND="${RDEPEND} - X? ( x11-base/xorg-proto ) -" - -DOCS=( CHANGELOG.md README.md doc/user_manual_en.md ) - -src_configure() { - local mycmakeargs=( - -DASAN=OFF - -DPLATFORM_EXTENSIONS=$(usex X) - -DSPELL_CHECK=$(usex spellcheck) - -DSTRICT_OPTIONS=OFF - -DTSAN=OFF - -DUBSAN=ON - -DUPDATE_CHECK=OFF - -DUSE_CCACHE=OFF - ) - - [[ ${PV} != 9999 ]] && mycmakeargs+=( -DGIT_DESCRIBE=${PV} ) - - cmake_src_configure -} - -src_test() { - # The excluded tests require network access. - cmake_src_test -E "test_(bsu|core)" -} diff --git a/net-im/toxic/Manifest b/net-im/toxic/Manifest index 04ad7a27f7c2..ab61f088c746 100644 --- a/net-im/toxic/Manifest +++ b/net-im/toxic/Manifest @@ -1,2 +1,2 @@ -DIST toxic-0.16.0.tar.gz 1246725 BLAKE2B 47a1d22137de1db635e99dcff1618150aae5e98c1cea58ce944284c97ccd1c8c141d20be17a2f4a3691dc823a1fdb09ab312d643b224668c51c47dbf36c659cf SHA512 94e8c61bff56533f384367270b5b946727e7cb6a3f928b312c47578b104a881fd344af829bbf4712a79ef65526ba75c84c335ef31685e97b4a7b03b96bd642b2 DIST toxic-0.16.2.tar.gz 1257173 BLAKE2B de49de03db5fbb1a79fd3094cb01c9f137552fad244bb8ff248baf6b6ec171c48a903cee206711f73689b6bea211a5fda5d3ba7a804febd66aeec2ef8adb84d5 SHA512 5033afdefea4771f0a8f4e4a79953b48087087ff6de08f4685067ff2ec439bcdf6c3f276aa915168f4a0df4cca5c276f9b7f0a12413a9e98b69bc664960e3750 +DIST toxic-0.16.3.tar.gz 1257798 BLAKE2B 2658aac851c69097c1ac1966764369032066ccb502952a227df394fb48c61be0804793c6a19bccfaf7508e1e08edff4c043ace36406c968d56b3e9965ce67d15 SHA512 0f71ee6bb1308ad67ede9bd3912bb82deba0929774124094cb37ba71e7c0279c4e277a98f64b4165a62eb9f51a5a85368f25b28c6367d2c0aed2025a9204aebb diff --git a/net-im/toxic/toxic-0.16.0.ebuild b/net-im/toxic/toxic-0.16.3.ebuild index c65e9524de9b..4b96b14dd796 100644 --- a/net-im/toxic/toxic-0.16.0.ebuild +++ b/net-im/toxic/toxic-0.16.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ SRC_URI="https://github.com/JFreegman/toxic/archive/v${PV}.tar.gz -> ${P}.tar.gz LICENSE="GPL-3+" SLOT="0" -KEYWORDS="amd64 x86" +KEYWORDS="~amd64 ~x86" IUSE="+audio-notify debug experimental games llvm notification png python qrcode +sound +video +X" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) video? ( sound X ) " @@ -21,7 +21,7 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) BDEPEND="virtual/pkgconfig" RDEPEND="dev-libs/libconfig:= - >=net-libs/tox-0.2.19:= + >=net-libs/tox-0.2.23:= net-misc/curl sys-kernel/linux-headers sys-libs/ncurses:= diff --git a/net-libs/tox/Manifest b/net-libs/tox/Manifest index 5797cbe69c1b..2cd59d8bfbd2 100644 --- a/net-libs/tox/Manifest +++ b/net-libs/tox/Manifest @@ -1,3 +1,3 @@ -DIST c-toxcore-0.2.20.tar.gz 862660 BLAKE2B 77f0d423f3579f83f114e2201315d8bb97a951a79aeefaf9ef6e012c7c98b6bba7889359a405746c976ac4689112a9366bdf291998c6f835972e540d01782b20 SHA512 84497bd8d542d8ccb4d77d9210852a0e73a0f2c4885b8282c39263042555495c37196b5f2ddf37f393bcc2b84d839bba3506da2c68440e4d5329d086b2ebefb6 DIST c-toxcore-0.2.22.tar.gz 959762 BLAKE2B 976d702f7b036eea8941c73d656c35e32e2fb8be758c7588c758f4efa033077647aaadfe45572999698fbdb253811751e951441f928c10bfcc30b12b2bcfd3dd SHA512 c42fba4da94eb5ec28f4b9c8afb3ad61ec36c1a17dabb6dd5530caa31b66192bdb0b057a2e939dccb7ffe91ec24691e8953e0641cd33f0dd7edea921910f7b1a +DIST c-toxcore-0.2.23.tar.gz 972079 BLAKE2B 671c3cab36c467f14129c14e512a4d34323a76343c60a50b407855cc1ad9fd891e17d26360c7609a24f246b3609d1ef0e841a2e1158976a4cf0293a956d7de81 SHA512 3a56e5ec28b90fe60fb86ac3e703bc3a4fd4fae6a3e87d725d6efdb23064e887a04f0f00f6ff979a9b18b6b8c93dda9e85d22ffe3c712b8653f09c6d1dd003e0 DIST toktok-cmp-52bfcfa17d2eb4322da2037ad625f5575129cece.tar.gz 40169 BLAKE2B 761a81845f1d577853b95464acb52e7c507808c498d5ab0518e5cc8e26150e3b4448e095ffd554f512ca7771b1c88c1c7200442f42c599d71005722992ea977f SHA512 fc336deb0a42b9ef2b5ddb24ffe6fe68bad34587dc23ceb5893ac164f0c5228a5626689d602ed8903c8c4f7f213f1f2a1d17f016ab2561d835cfb05c217a5542 diff --git a/net-libs/tox/tox-0.2.20.ebuild b/net-libs/tox/tox-0.2.23.ebuild index 7b713e490f0a..5902fda9a2fc 100644 --- a/net-libs/tox/tox-0.2.20.ebuild +++ b/net-libs/tox/tox-0.2.23.ebuild @@ -1,19 +1,34 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit cmake systemd +# The notice is triggered by a docker file, which is unused here. +# https://bugs.gentoo.org/964599 +CMAKE_QA_COMPAT_SKIP=1 +CMP_COMMIT="52bfcfa17d2eb4322da2037ad625f5575129cece" + DESCRIPTION="Encrypted P2P, messaging, and audio/video calling platform" HOMEPAGE="https://tox.chat https://github.com/TokTok/c-toxcore" -MY_P="c-toxcore-${PV}" -S="${WORKDIR}/${MY_P}" -SRC_URI="https://github.com/TokTok/c-toxcore/releases/download/v${PV}/${MY_P}.tar.gz" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/TokTok/c-toxcore.git" + EGIT_SUBMODULES=( third_party/cmp ) +else + MY_P="c-toxcore-${PV}" + SRC_URI=" + https://github.com/TokTok/c-toxcore/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz + https://github.com/TokTok/cmp/archive/${CMP_COMMIT}.tar.gz -> toktok-cmp-${CMP_COMMIT}.tar.gz + " + KEYWORDS="~amd64 ~arm ~x86" + S="${WORKDIR}/${MY_P}" +fi LICENSE="GPL-3+" SLOT="0/0.2" -KEYWORDS="amd64 ~arm x86" IUSE="+av debug daemon dht-node experimental ipv6 key-utils log-debug +log-error log-info log-trace log-warn test" REQUIRED_USE="?? ( log-debug log-error log-info log-trace log-warn ) @@ -35,13 +50,22 @@ RDEPEND="${DEPEND} ) key-utils? ( || ( sys-devel/gcc[openmp] llvm-runtimes/clang-runtime[openmp] ) )" -src_prepare() { - cmake_src_prepare +# Skip flaky tests. +CMAKE_SKIP_TESTS=( + scenario_group_topic + scenario_lan_discovery + scenario_tox_many +) + +src_unpack() { + default - #Remove faulty tests - for testname in group_topic, lan_discovery; do - sed -i -e "/^auto_test(${testname})$/d" ./auto_tests/CMakeLists.txt || die - done + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + rm -d ${MY_P}/third_party/cmp || die + mv cmp-${CMP_COMMIT} ${MY_P}/third_party/cmp || die + fi } src_configure() { @@ -92,6 +116,8 @@ src_configure() { } src_test() { + # Some tests appear to get flaky with multiple jobs running. + # https://bugs.gentoo.org/730434 cmake_src_test -j1 } diff --git a/net-misc/freerdp/Manifest b/net-misc/freerdp/Manifest index 0b2cd2c0f0f4..1a548d25c249 100644 --- a/net-misc/freerdp/Manifest +++ b/net-misc/freerdp/Manifest @@ -1,2 +1,4 @@ DIST freerdp-3.27.1.tar.gz 11452205 BLAKE2B ee08cfc2e4d203e6a2796bc52fa5b2285d6359d38482c5a4ffcc8dd3bd11c2593ab21a5772bdc13acaf810a8f229d669324f8d6d573d5c7ee9bec20dcfd46c4e SHA512 8d564dd8552abf3ecd592a106c43434f62895caeebb425fa2b259456d6670e64d513d6174ffc31a26aac57697e954156e0f8bb9900524d6f96efd3d8d4f3afe5 DIST freerdp-3.27.1.tar.gz.asc 228 BLAKE2B 5d0d86bd3e1643b8c325d6197295c74e8ccaa38d2cabb497fbe98ee285f9ab73ffc6f28f1ee4428bab57d7a54952d9ee6daef68761109dc25a3cfd7d5768471b SHA512 32f052e66ecec48315288e2f675853ab823309f20e090596e38a00177e6fecdb69df77d6021564bc4ea6f2c5b914504de105639f1b29ce810fb07d9511910242 +DIST freerdp-3.29.0.tar.gz 11067925 BLAKE2B 2202eae9cca1275b366b6b87935760ec438b10ef0e15222241ee8126b74614938dc47586d51c28e68e1597fc46a0a02130238af7dff5db4fc850d6604e516548 SHA512 daa1dc6d561c5ffa65a422ffbd218a6244dd3eff400759a456f33ead3618461302d13543ae32a41aa188b2e3590f15b143cf158b13f38b235fe992c38c9916f9 +DIST freerdp-3.29.0.tar.gz.asc 228 BLAKE2B 5df8af1b75bfe5eb0be2526908c39d6324c9bbd04219528b84b467e9db875ed4b406e550d8e2a4ca4ee528d405063183d551f98aa405a1361fdc28307a0b3453 SHA512 46373f21988db91fa9179364290e0daf3a8b2d58cc084a6c1fbd5870994b011bebab01b8e9ee32e7df266350fb0a647defaab37aa5d10246f8922b196460d1ff diff --git a/net-misc/freerdp/freerdp-3.29.0.ebuild b/net-misc/freerdp/freerdp-3.29.0.ebuild new file mode 100644 index 000000000000..e3a36bfd8578 --- /dev/null +++ b/net-misc/freerdp/freerdp-3.29.0.ebuild @@ -0,0 +1,192 @@ +# Copyright 2011-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/FreeRDP/FreeRDP.git" + case ${PV} in + 2.*) EGIT_BRANCH="stable-2.0";; + esac +else + inherit verify-sig + MY_P=${P/_/-} + S="${WORKDIR}/${MY_P}" + SRC_URI="https://pub.freerdp.com/releases/${MY_P}.tar.gz + verify-sig? ( https://pub.freerdp.com/releases/${MY_P}.tar.gz.asc )" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-akallabeth )" + VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/akallabeth.asc" +fi + +DESCRIPTION="Free implementation of the Remote Desktop Protocol" +HOMEPAGE="https://www.freerdp.com/" + +LICENSE="Apache-2.0" +SLOT="3" +IUSE="aad alsa camera cpu_flags_arm_neon +client cups debug +ffmpeg +fuse gstreamer +icu jpeg kerberos openh264 pulseaudio sdl server smartcard systemd test usb valgrind wayland X xinerama xv" +RESTRICT="!test? ( test )" + +BDEPEND+=" + virtual/pkgconfig + app-text/docbook-xsl-stylesheets + dev-libs/libxslt +" +COMMON_DEPEND=" + dev-libs/openssl:0= + virtual/zlib:= + aad? ( dev-libs/cJSON ) + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + usb? ( + virtual/libudev:0= + sys-apps/util-linux:0= + dev-libs/dbus-glib:0= + virtual/libusb:1= + ) + X? ( + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + xinerama? ( x11-libs/libXinerama ) + xv? ( x11-libs/libXv ) + ) + ffmpeg? ( media-video/ffmpeg:0= ) + !ffmpeg? ( + x11-libs/cairo:0= + ) + fuse? ( sys-fs/fuse:3= ) + gstreamer? ( + media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0 + X? ( x11-libs/libXrandr ) + ) + icu? ( dev-libs/icu:0= ) + jpeg? ( media-libs/libjpeg-turbo:0= ) + kerberos? ( virtual/krb5 ) + openh264? ( media-libs/openh264:0= ) + pulseaudio? ( media-libs/libpulse ) + server? ( + X? ( + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libXtst + xinerama? ( x11-libs/libXinerama ) + ) + ) + smartcard? ( sys-apps/pcsc-lite ) + systemd? ( sys-apps/systemd:0= ) + client? ( + camera? ( media-libs/libv4l ) + sdl? ( + media-libs/libsdl3 + media-libs/sdl3-ttf + ) + wayland? ( + dev-libs/wayland + x11-libs/libxkbcommon + ) + ) + X? ( + x11-libs/libX11 + x11-libs/libxkbfile + ) +" +DEPEND="${COMMON_DEPEND} + test? ( + ffmpeg? ( media-video/ffmpeg:0[x264(-)] ) + ) + valgrind? ( dev-debug/valgrind ) +" +RDEPEND="${COMMON_DEPEND} + !net-misc/freerdp:0 + client? ( !net-misc/freerdp:2[client] ) + server? ( !net-misc/freerdp:2[server] ) + smartcard? ( app-crypt/p11-kit ) +" + +option() { + usex "$1" ON OFF +} + +option_client() { + if use client; then + option "$1" + else + echo OFF + fi +} + +src_configure() { + use debug || append-cppflags -DNDEBUG + local mycmakeargs=( + -Wno-dev + + -DBUILD_TESTING=$(option test) + + # https://bugs.gentoo.org/927037 + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF + + -DCHANNEL_URBDRC=$(option usb) + -DCHANNEL_RDPECAM_CLIENT=$(option_client camera) + -DWITH_AAD=$(option aad) + -DWITH_ALSA=$(option alsa) + -DWITH_CCACHE=OFF + -DWITH_CLIENT=$(option client) + -DWITH_CLIENT_SDL2=OFF + -DWITH_CLIENT_SDL3=$(option_client sdl) + -DWITH_SAMPLE=OFF + -DWITH_CUPS=$(option cups) + -DWITH_DEBUG_ALL=$(option debug) + -DWITH_VERBOSE_WINPR_ASSERT=$(option debug) + -DWITH_MANPAGES=ON + -DWITH_FFMPEG=$(option ffmpeg) + -DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON + -DWITH_SWSCALE=$(option ffmpeg) + -DWITH_CAIRO=$(option !ffmpeg) + -DWITH_DSP_FFMPEG=$(option ffmpeg) + -DWITH_FUSE=$(option fuse) + -DWITH_GSTREAMER_1_0=$(option gstreamer) + -DWITH_JPEG=$(option jpeg) + -DWITH_KRB5=$(option kerberos) + -DWITH_NEON=$(option cpu_flags_arm_neon) + -DWITH_OPENH264=$(option openh264) + -DWITH_OSS=OFF + -DWITH_PCSC=$(option smartcard) + -DWITH_PKCS11=$(option smartcard) + -DWITH_PULSE=$(option pulseaudio) + -DWITH_SERVER=$(option server) + -DWITH_LIBSYSTEMD=$(option systemd) + -DWITH_UNICODE_BUILTIN=$(option !icu) + -DWITH_VALGRIND_MEMCHECK=$(option valgrind) + -DWITH_X11=$(option X) + -DWITH_XINERAMA=$(option xinerama) + -DWITH_XV=$(option xv) + -DWITH_WAYLAND=$(option_client wayland) + -DWITH_WEBVIEW=OFF + -DWITH_WINPR_TOOLS=$(option server) + ) + cmake_src_configure +} + +src_test() { + # TestBacktrace: bug 930636 + # TestSynchCritical, TestSynchMultipleThreads: bug 951301 + local CMAKE_SKIP_TESTS=( TestBacktrace TestSynchCritical TestSynchMultipleThreads ) + if has network-sandbox ${FEATURES}; then + CMAKE_SKIP_TESTS+=( TestConnect ) + fi + cmake_src_test +} + +src_install() { + cmake_src_install + mv "${ED}"/usr/share/man/man7/wlog{,3}.7 || die +} diff --git a/net-misc/geckodriver/geckodriver-0.37.0.ebuild b/net-misc/geckodriver/geckodriver-0.37.0.ebuild index b6b44f55b037..e6dc8ffe2ecb 100644 --- a/net-misc/geckodriver/geckodriver-0.37.0.ebuild +++ b/net-misc/geckodriver/geckodriver-0.37.0.ebuild @@ -20,7 +20,7 @@ LICENSE+=" || ( Apache-2.0 Boost-1.0 ) " SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm64 ppc64 ~riscv x86" IUSE="unchained" diff --git a/net-misc/kea/Manifest b/net-misc/kea/Manifest index b52d33272bb8..576c546193e1 100644 --- a/net-misc/kea/Manifest +++ b/net-misc/kea/Manifest @@ -4,4 +4,4 @@ DIST kea-3.0.3.tar.xz.asc 833 BLAKE2B 6db52edd917165e99947e4fa448ac9cffff149534f DIST kea-3.2.0.tar.xz 6765764 BLAKE2B 0b803155e5cf3a0f88dadd1dcfb2ca1a868093019f847125a2c6c2b84dca25013c6c4482c3790aa07c3bdb5976e8c5cc37e2518642fbd6f389d4fd8557979ce9 SHA512 67677a90f98704bca2b769cd1fededb384ba8d627fa2564c66f44a656d82a4de9ae9cd86071ec0d953e9291d82b009c63ceed56947daa5530d97ae83e66d0afe DIST kea-3.2.0.tar.xz.asc 833 BLAKE2B 9dcb71535605c6677e18a998fd81d48d9f32498f4cd297e9d5e2b88776fb4b3d5c499ad3d0f468e589144a75966cf339eafa31d59e6c3c3c2f81af8958d9d724 SHA512 eec8835aa59b7f244c13d56b4d7883129b65f0c9a13e520a05492f6118a34050a4436405e0885a811b6b7eecd6836b87c6194aa62add841a43c4ef3ea4beb70f DIST kea-manpages-3.0.3.tar.gz 6745 BLAKE2B 8009d67bb9a0e15189001392ce6e804a95b7b8251acf890313ddb1b4e897d65af4b200d8dc33fd138c5de8983184dc45349254e03aa3ccdd89dcc01946b5c650 SHA512 0e57d6fd9d1d139cd12f85bc0200401136492a2f4a1afc8b28b97ca1d2e2ce8566ce6b01461b0ead612bf6ae59a5eb439f07a40bc7c8dfe21d10d95cb29ee11c -DIST kea-manpages-3.2.0.tar.gz 14446 BLAKE2B 68da30b2ff54f3d20595dc40294cbd27df552cf1dbb759f06f1a98275c1279382b183b47a752bd78b0216b43a935ed9781188ac7eda184d06e85cce6e399554a SHA512 a4f767b9b8845ff88b9548b8f87cba111cc395a103f175c5f47d8dce39c235fa27f14c5b61f54a303ea6a14fc7be3d5b0520bdf3f2edda080f8b44db4e75d38e +DIST kea-manpages-3.2.0.tar.gz 13883 BLAKE2B 6213c93b9374772b089a07dda8755af156376920b059fda43124f64d02125bcde0b1bcad643f5d11afd3b8188b537aa7bf20d1fa443085b8819f9c2c3cedc78f SHA512 5a93ff794533ad631fbfe7eae961df275b2a6d6ed505c16bb977b73f6b0d5235fccccec5cd104df8242391747be9fdf8b7a53b69d348fbd17975c721f0d959cf diff --git a/net-misc/sb-hosts/Manifest b/net-misc/sb-hosts/Manifest index c750750168af..72202ede588d 100644 --- a/net-misc/sb-hosts/Manifest +++ b/net-misc/sb-hosts/Manifest @@ -1,2 +1,2 @@ -DIST sb-hosts-3.16.96.tar.gz 21509620 BLAKE2B fdb597778130bf7b320a745f30c58c4673bcefce9577b4e019bd10e6109852f7540fe66254ef557cd12cce5643fb6cc02f0162a78ca0b0b7a2c495e465f3ba78 SHA512 ee99efd2ce925216b8b418fa49199f11fe4535841a0d04dc3e0b884d2e8f68597483cb6fdaa5bb34d773bd3f3edb5a0f90c5d5c27f409a3cfe55e607e1354bba DIST sb-hosts-3.16.97.tar.gz 21612967 BLAKE2B 5c99d2a5aaabf669b52a671fa25a181643896f7900fe0aca9dc1ab603eded3a429722bdc443295e9e20295afed560bb72466fbe33d888149bc1f5548b9caf0a0 SHA512 79fcfbdf8cd873b394ae364647370b48ab33fc3ef2e577f4295844b8b5cef8267297d66415b8a5bbc53d7af1c32593c6823d396d55e2d656292fbbc0c324884e +DIST sb-hosts-3.16.98.tar.gz 21315483 BLAKE2B 4f13575cf9612acde978e7115ecd6ff4494bf41cbbdc399d91870074609a006e8922606e86814ae669c9a70e4fac49b52718e47148ab7195a376b57b1397d26d SHA512 cd1eefb94269123e4e8ac55098fdfe83b65e512e8c2214f370dd5b20780b7707bac2949f753fa708251ef728067670973610d2debd561d92890fb9de5b7710d6 diff --git a/net-misc/sb-hosts/sb-hosts-3.16.96.ebuild b/net-misc/sb-hosts/sb-hosts-3.16.98.ebuild index 941876ea977f..941876ea977f 100644 --- a/net-misc/sb-hosts/sb-hosts-3.16.96.ebuild +++ b/net-misc/sb-hosts/sb-hosts-3.16.98.ebuild diff --git a/net-vpn/openvpn/openvpn-2.7.5.ebuild b/net-vpn/openvpn/openvpn-2.7.5.ebuild index 7179b0a6bec7..070d0b7bf731 100644 --- a/net-vpn/openvpn/openvpn-2.7.5.ebuild +++ b/net-vpn/openvpn/openvpn-2.7.5.ebuild @@ -74,7 +74,7 @@ RDEPEND=" if [[ ${PV} = "9999" ]]; then BDEPEND+=" dev-python/docutils" else - BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openvpn )" + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-openvpn-202600704 )" fi pkg_setup() { diff --git a/net-wireless/bluez/bluez-5.87.ebuild b/net-wireless/bluez/bluez-5.87.ebuild index 1d66dca097d3..c13f66d516f0 100644 --- a/net-wireless/bluez/bluez-5.87.ebuild +++ b/net-wireless/bluez/bluez-5.87.ebuild @@ -198,7 +198,7 @@ multilib_src_install() { fi # Not installed by default after being built, bug #666756 - use btpclient && dobin tools/btpclient + use btpclient && dobin client/btpclient/btpclient # Unittests are not that useful once installed, so make them optional if use test-programs; then diff --git a/profiles/package.deprecated b/profiles/package.deprecated index 1d43844d54d7..71e53cf2fc82 100644 --- a/profiles/package.deprecated +++ b/profiles/package.deprecated @@ -77,15 +77,6 @@ dev-python/httpretty # Bug 892854 dev-python/berkeleydb -# Michał Górny <mgorny@gentoo.org> (2025-07-29) -# dev-python/flaky and dev-python/pytest-rerunfailurse have conflicting -# pytest fixtures, with the latter providing a more powerful fixture -# (and the former breaking packages requiring it). If your package -# uses `@pytest.mark.flaky`, use pytest-rerunfailures instead. -# If it uses `@flaky.flaky`, send a patch upstream to switch -# to `@pytest.mark.flaky`. -dev-python/flaky - # Michał Górny <mgorny@gentoo.org> (2025-06-28) # versioningit does not provide any support for building via GitHub # archives, and has rejected the efforts to provide an envvar override diff --git a/sci-ml/ollama/files/ollama-0.31.1-llamaDL.patch b/sci-ml/ollama/files/ollama-0.31.1-llamaDL.patch deleted file mode 100644 index 8720bc36c3f9..000000000000 --- a/sci-ml/ollama/files/ollama-0.31.1-llamaDL.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/cmake/local.cmake.old 2026-07-04 11:21:56.571755428 +0200 -+++ b/cmake/local.cmake 2026-07-04 11:22:30.948410723 +0200 -@@ -124,7 +124,7 @@ - else() - set(OLLAMA_LLAMA_CPP_SOURCE_DIR "${CMAKE_BINARY_DIR}/_deps/llama_cpp-src") - ExternalProject_Add(ollama-llama-cpp-source -- GIT_REPOSITORY "https://github.com/ggml-org/llama.cpp.git" -+ DOWNLOAD_COMMAND true - GIT_TAG ${OLLAMA_LLAMA_CPP_GIT_TAG} - GIT_SHALLOW TRUE - SOURCE_DIR ${OLLAMA_LLAMA_CPP_SOURCE_DIR} diff --git a/sci-ml/ollama/files/ollama-0.31.1-nostrip.patch b/sci-ml/ollama/files/ollama-0.31.1-nostrip.patch deleted file mode 100644 index 7d73e24ea50f..000000000000 --- a/sci-ml/ollama/files/ollama-0.31.1-nostrip.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/cmake/local.cmake 2026-07-06 12:13:41.141873612 +0200 -+++ b/cmake/local.cmake 2026-07-06 12:13:51.589768325 +0200 -@@ -483,7 +483,7 @@ - get_filename_component(OLLAMA_GO_OUTPUT_DIR "${OLLAMA_GO_OUTPUT}" DIRECTORY) - - set(OLLAMA_GO_LDFLAGS -- "-s -w -X=github.com/ollama/ollama/version.Version=${OLLAMA_VERSION} -X=github.com/ollama/ollama/server.mode=release") -+ "-X=github.com/ollama/ollama/version.Version=${OLLAMA_VERSION} -X=github.com/ollama/ollama/server.mode=release") - if(GO_EXECUTABLE) - add_custom_target(ollama-go ALL - COMMAND ${CMAKE_COMMAND} -E make_directory "${OLLAMA_GO_OUTPUT_DIR}" diff --git a/sci-ml/ollama/ollama-0.31.2-r1.ebuild b/sci-ml/ollama/ollama-0.31.2-r1.ebuild index 2c277da984af..04274b56f1b5 100644 --- a/sci-ml/ollama/ollama-0.31.2-r1.ebuild +++ b/sci-ml/ollama/ollama-0.31.2-r1.ebuild @@ -39,32 +39,85 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-0.31.1-ggml.patch - "${FILESDIR}"/${PN}-0.31.1-llamaDL.patch "${FILESDIR}"/${PN}-0.31.1-cmake.patch - "${FILESDIR}"/${PN}-0.31.1-nostrip.patch ) src_prepare() { cmake_src_prepare - cd ../llama.cpp-${LLAMA_CPP_tag} - eapply "${FILESDIR}"/${PN}-0.31.1-gcc17.patch + + local llama_src="${BUILD_DIR}/_deps/llama_cpp-src" + local llama_patch_dir="${WORKDIR}/${P}/llama/compat" + + mkdir -p "${BUILD_DIR}"/_deps || die + + ln -s "${WORKDIR}"/llama.cpp-${LLAMA_CPP_tag} "${llama_src}" || die + + # Switch to the llama.cpp source directory + pushd "${llama_src}" > /dev/null || die + eapply "${llama_patch_dir}"/*.patch \ + "${llama_patch_dir}"/models/*.patch \ + "${FILESDIR}"/${PN}-0.31.1-gcc17.patch + + # Remove vendored rm -r vendor/stb || die + popd > /dev/null || die } src_configure() { + # Configure Embedded local Server + local llama_src="${BUILD_DIR}/_deps/llama_cpp-src" local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${BUILD_DIR}" + -DOLLAMA_RUNNER_DIR="" + -DFETCHCONTENT_SOURCE_DIR_LLAMA_CPP="${llama_src}" + -DOLLAMA_LLAMA_CPP_SKIP_COMPAT_PATCH=ON + -DBUILD_SHARED_LIBS=ON -DLLAMA_USE_SYSTEM_GGML=ON ) - + local CMAKE_USE_DIR="${S}/llama/server" + local BUILD_DIR="${BUILD_DIR}/llama-server-local" cmake_src_configure - rm -rf "${BUILD_DIR}"/_deps/llama_cpp-src || die - ln -s "${WORKDIR}"/llama.cpp-${LLAMA_CPP_tag} \ - "${BUILD_DIR}"/_deps/llama_cpp-src || die +} + +src_compile() { + local SAVE_BUILD_DIR="${BUILD_DIR}" + + # Compile Embedded Local Server + local BUILD_DIR="${BUILD_DIR}"/llama-server-local + local cmake_src_compile_opts=( + --target llama-server + --target llama-quantize + ) + cmake_src_compile + + # Install/Stage Local Server Component + "${CMAKE_BINARY}" \ + --install "${BUILD_DIR}" \ + --prefix "${SAVE_BUILD_DIR}" \ + --component llama-server \ + || die "Failed to stage server component" + + # Expose CGO to Go and establish compiler optimization paths + export CGO_ENABLED=1 + + # Replicate the linker flags dynamically from your ebuild version + local mygoldflags="-X github.com/ollama/ollama/version.Version=${PV} \ + -X github.com/ollama/ollama/server.mode=release" + + # Call the Go build engine natively with standard Gentoo flags + ego build \ + -trimpath \ + -ldflags "${mygoldflags}" \ + -o "${BUILD_DIR}/ollama" \ + . || die "Go build failed" } src_install() { - cmake_src_install - rm -rf "${D}"/var || die + dobin "${BUILD_DIR}"/llama-server-local/ollama + insinto usr + doins -r "${BUILD_DIR}"/lib + + einstalldocs newinitd "${FILESDIR}/ollama.init" "${PN}" newconfd "${FILESDIR}/ollama.confd" "${PN}" diff --git a/sys-devel/gettext/gettext-0.22.5-r2.ebuild b/sys-devel/gettext/gettext-0.22.5-r2.ebuild index fe06327b5d23..b3af4d9425b6 100644 --- a/sys-devel/gettext/gettext-0.22.5-r2.ebuild +++ b/sys-devel/gettext/gettext-0.22.5-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Note: Keep version bumps in sync with dev-libs/libintl. @@ -135,7 +135,7 @@ multilib_src_configure() { $(use_enable nls) $(use_enable openmp) $(use_enable static-libs static) - $(use_enable xattr attr) + $(use_enable xattr) ) local ECONF_SOURCE="${S}" diff --git a/sys-devel/gettext/gettext-0.23.1-r1.ebuild b/sys-devel/gettext/gettext-0.23.1-r1.ebuild index 968daaad081f..01bd6563c5d8 100644 --- a/sys-devel/gettext/gettext-0.23.1-r1.ebuild +++ b/sys-devel/gettext/gettext-0.23.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Note: Keep version bumps in sync with dev-libs/libintl. @@ -137,7 +137,7 @@ multilib_src_configure() { $(use_enable nls) $(use_enable openmp) $(use_enable static-libs static) - $(use_enable xattr attr) + $(use_enable xattr) ) local ECONF_SOURCE="${S}" diff --git a/sys-devel/gettext/gettext-0.23.2.ebuild b/sys-devel/gettext/gettext-0.23.2.ebuild index f93795f09912..b5614336a2aa 100644 --- a/sys-devel/gettext/gettext-0.23.2.ebuild +++ b/sys-devel/gettext/gettext-0.23.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Note: Keep version bumps in sync with dev-libs/libintl. @@ -137,7 +137,7 @@ multilib_src_configure() { $(use_enable nls) $(use_enable openmp) $(use_enable static-libs static) - $(use_enable xattr attr) + $(use_enable xattr) ) local ECONF_SOURCE="${S}" diff --git a/sys-devel/gettext/gettext-0.25.1.ebuild b/sys-devel/gettext/gettext-0.25.1.ebuild index 82211b73d7b7..b09ce1cd770b 100644 --- a/sys-devel/gettext/gettext-0.25.1.ebuild +++ b/sys-devel/gettext/gettext-0.25.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Note: Keep version bumps in sync with dev-libs/libintl. @@ -149,7 +149,7 @@ multilib_src_configure() { $(use_enable nls) $(use_enable openmp) $(use_enable static-libs static) - $(use_enable xattr attr) + $(use_enable xattr) ) local ECONF_SOURCE="${S}" diff --git a/sys-devel/gettext/gettext-0.26.ebuild b/sys-devel/gettext/gettext-0.26.ebuild index 82211b73d7b7..b09ce1cd770b 100644 --- a/sys-devel/gettext/gettext-0.26.ebuild +++ b/sys-devel/gettext/gettext-0.26.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Note: Keep version bumps in sync with dev-libs/libintl. @@ -149,7 +149,7 @@ multilib_src_configure() { $(use_enable nls) $(use_enable openmp) $(use_enable static-libs static) - $(use_enable xattr attr) + $(use_enable xattr) ) local ECONF_SOURCE="${S}" diff --git a/sys-devel/gettext/gettext-1.0.ebuild b/sys-devel/gettext/gettext-1.0.ebuild index 5194846322b3..551446063e1e 100644 --- a/sys-devel/gettext/gettext-1.0.ebuild +++ b/sys-devel/gettext/gettext-1.0.ebuild @@ -150,7 +150,7 @@ multilib_src_configure() { $(use_enable nls) $(use_enable openmp) $(use_enable static-libs static) - $(use_enable xattr attr) + $(use_enable xattr) ) local ECONF_SOURCE="${S}" diff --git a/sys-firmware/sof-firmware/Manifest b/sys-firmware/sof-firmware/Manifest index 8e5ec0feb853..4022f4a65725 100644 --- a/sys-firmware/sof-firmware/Manifest +++ b/sys-firmware/sof-firmware/Manifest @@ -1,3 +1 @@ -DIST sof-firmware-2025.12.1.tar.gz 13486538 BLAKE2B f791dccb488ae3a1db26e39d149d0a51b68c200943ef35d2f40a59c0e17a4bc7bcaea5f54195ccc6cd9574371aceb07a394a1869efe1bdfd418d938283f8e7b8 SHA512 78885d29720dbf2b54999e3ac4dc4124ac0f6fc466cd51bdfff3ae93dcd796a99e96fe3ea7d997f32e9b85936780c1ad04565002244024d92731a68c889c2087 DIST sof-firmware-2025.12.2.tar.gz 13486442 BLAKE2B 284584e043404a65bbc2f04fcd78e9db4b1e844343a5fe1fd463e1021e92e7dcddbf8e5a8b620ca1e25d77a2469dec1804a0bafea02d3bcbfe175f64a92816a1 SHA512 5eb64665c2cb87967ff2aa81f7d39397dc6e813abea531e89c12bb5c0a15821e7cbfd8c485af196e37984c1cdf9ac72c93f9feea1205d9d71736d163f5af0084 -DIST sof-firmware-2025.12.tar.gz 13398826 BLAKE2B 935f909e4b5ab9fed3424767b660e7ac3b96e121f23d2b52d0b0f24e82877e1acbd54fce530861f43bf01b1b0343874959a0e75c712440c15bc761b3d9d643f2 SHA512 f77c47a401e68e3edb29b281efbfe97505b9ae4c188ea09ccd2855aaced4976631160885df8ce50cf83550bdfdc2bc7489cfee3ed6d9cd63563bbf3d0be8f661 diff --git a/sys-firmware/sof-firmware/sof-firmware-2025.12.1.ebuild b/sys-firmware/sof-firmware/sof-firmware-2025.12.1.ebuild deleted file mode 100644 index 5bd47e5655f4..000000000000 --- a/sys-firmware/sof-firmware/sof-firmware-2025.12.1.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Sound Open Firmware (SOF) binary files" -HOMEPAGE="https://www.sofproject.org https://github.com/thesofproject/sof https://github.com/thesofproject/sof-bin" -SRC_URI="https://github.com/thesofproject/sof-bin/releases/download/v${PV}/sof-bin-${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}"/sof-bin-${PV} - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64" -IUSE="tools" - -RDEPEND=" - tools? ( - media-libs/alsa-lib - sys-libs/glibc - ) -" - -QA_PREBUILT="usr/bin/sof-ctl - usr/bin/sof-logger - usr/bin/sof-probes" - -src_install() { - dodir /lib/firmware/intel - dodir /usr/bin - FW_DEST="${D}/lib/firmware/intel" TOOLS_DEST="${D}/usr/bin" "${S}/install.sh" || die - - # Drop tools if requested (i.e. useful for musl systems, where glibc - # is not available) - if ! use tools ; then - rm -rv "${D}"/usr/bin || die - fi -} - -pkg_preinst() { - # Fix sof-ace-tplg directory symlink collisions - local sofpath="${EROOT}/lib/firmware/intel/sof-ace-tplg" - if [[ ! -L "${sofpath}" && -d "${sofpath}" ]] ; then - rm -r "${sofpath}" || die - fi -} diff --git a/sys-firmware/sof-firmware/sof-firmware-2025.12.ebuild b/sys-firmware/sof-firmware/sof-firmware-2025.12.ebuild deleted file mode 100644 index 40a085cc2e66..000000000000 --- a/sys-firmware/sof-firmware/sof-firmware-2025.12.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Sound Open Firmware (SOF) binary files" -HOMEPAGE="https://www.sofproject.org https://github.com/thesofproject/sof https://github.com/thesofproject/sof-bin" -SRC_URI="https://github.com/thesofproject/sof-bin/releases/download/v${PV}/sof-bin-${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}"/sof-bin-${PV} - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64" -IUSE="tools" - -RDEPEND=" - tools? ( - media-libs/alsa-lib - sys-libs/glibc - ) -" - -QA_PREBUILT="usr/bin/sof-ctl - usr/bin/sof-logger - usr/bin/sof-probes" - -src_install() { - dodir /lib/firmware/intel - dodir /usr/bin - FW_DEST="${D}/lib/firmware/intel" TOOLS_DEST="${D}/usr/bin" "${S}/install.sh" || die - - # Drop tools if requested (i.e. useful for musl systems, where glibc - # is not available) - if ! use tools ; then - rm -rv "${D}"/usr/bin || die - fi -} - -pkg_preinst() { - # Fix sof-ace-tplg directory symlink collisions - local sofpath="${EROOT}/lib/firmware/intel/sof-ace-tplg" - if [[ ! -L "${sofpath}" && -d "${sofpath}" ]] ; then - rm -r "${sofpath}" || die - fi -} diff --git a/virtual/httpd-php/httpd-php-8.5.ebuild b/virtual/httpd-php/httpd-php-8.5.ebuild index fb2dfdb87a2b..3e1b3b514f3e 100644 --- a/virtual/httpd-php/httpd-php-8.5.ebuild +++ b/virtual/httpd-php/httpd-php-8.5.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" DESCRIPTION="Virtual to provide PHP-enabled webservers" SLOT="${PV}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" RDEPEND="|| ( dev-lang/php:${SLOT}[fpm] dev-lang/php:${SLOT}[apache2] diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest index ae26191c3f98..da6f48243561 100644 --- a/www-client/firefox-bin/Manifest +++ b/www-client/firefox-bin/Manifest @@ -192,8 +192,107 @@ DIST firefox-152.0.5-vi.xpi 516537 BLAKE2B b12fc7be70358a7659c9951b78533df70c738 DIST firefox-152.0.5-xh.xpi 275320 BLAKE2B 0a72132347ab4948cb56a1cc6f2532602504ac6da509d645e17269067a3876f42bb181c4cb0b25a932c54c754998be2d8820da097ea016d8f4baeb1efc2de186 SHA512 7c040d3f08f9add75da352b2885ca0f4303cd87f3e21c182d15cbdddf5ca2b992b3049550b290b6338d3bd2a93610ea5bf3b41ac9ce6fcad42230750df982915 DIST firefox-152.0.5-zh-CN.xpi 506653 BLAKE2B ad779697055f8995a538be6ea824dbc5fa59faa8689622b8629b9519492081fba97f42c51760b2741b24b7a33f2e3e86779b911ff01e9c224eefe4fb4d5813aa SHA512 22094f3530128d9fde1f89e5e2fe8f29aea56ab7d765ee75dc0e56c28ede29ecd55359d1c15c50419e360228ec235b312cab1a7cb74dd61e9abeceed3cbaf56c DIST firefox-152.0.5-zh-TW.xpi 510788 BLAKE2B aa974692771a52c08003a13808ae1b20aa55c1d4de1d129634aa95fe2016e7344e3b7e3ae8e779009e88baf99c4a1ca5e28d9e46f124608df5d357243f9b2e1d SHA512 99307fe39b33e85e786f64856fec8941b3b7e22f38d01d6b53d67188be8632724ac2291f7ac295e1c12ff5d9daf2972c59c2de2a08b3e0640ad6c6817acae0d1 +DIST firefox-152.0.6-ach.xpi 295754 BLAKE2B 22291e8efd897e7f52212f47627d70ef94c7a8ac1f8e06a73691320048e9e837540969e7e71d29f0324c081fb56c606a29f086dad3d8f13437eb0e07976e5cab SHA512 a7431c21bce0e2fb4b28a7e3ff1dc2aabcce10104401778799df5cec3ac67bb746ec5887916df5d5ed631a1bdbb85d6ce32136abd3c97cb0d308eb646b65344a +DIST firefox-152.0.6-af.xpi 269407 BLAKE2B 1c3155c56485657f3def9bcd9d197325f4ca3fcce79b9a3f0dfc777ae607dca05f7a7dd2aa7396c11a0db2ff381c4d759031686935095a97f2e73590193babe9 SHA512 5a87d20581c919cc045371d016ab3ade5fd7c10ca9759f8462964f5a737f31399b2bd0296a8a699471d8873808a64fff6e440e88b7e6f305325c0e91b074b047 +DIST firefox-152.0.6-an.xpi 332681 BLAKE2B c080a5635619a97a13c0290f3c9be93a8a93515cb45bd4d61a2e5dd607dcdb5c6421ee14d6449f0989a1aa66a72ac8e13249f24c7094c796b3604879e3f0116c SHA512 913be83251f5beefce2d61ebd92beceaea958c6303dd461fb20a02bf34e515b4fcb9e5e840a88bf19a67994be82c1a668c4bda3ec9926ea0bd9c6914aa88986b +DIST firefox-152.0.6-ar.xpi 508568 BLAKE2B 7aef2c4572f6941aa92e9f8ca37053f4fa616e26ff42a258efe5de79c321aa79ad4f9cfa2b9d23027aa14853ce418ce92f4214de5f880983579f04a1e1c1ecfa SHA512 4874ce62a4aa19777f9c3e8c3dd542659dc2418a7bfec4d263a6a23faca1f4bd5d4714cb47cd8ccbdcbe9f852097020a1724348a0196b1a920f275cf1f388207 +DIST firefox-152.0.6-ast.xpi 313615 BLAKE2B d788d04a68b5ed400f6095bfca770373ef9e184aff9cf50f218f9588740464d4cb8ea053258d67e429ab5096b8b6b96d23ef2a69f08b29bf3c766949032cb4f5 SHA512 cffab83daf3f3cf63fb11cca9e0122cc2b0eafe9d43e8735fdc8ede0401df901b2188b227b54783334a8cfec168061d2fda75afb678328fc4baccb46089ef766 +DIST firefox-152.0.6-az.xpi 319317 BLAKE2B 01aa7f0f38e9dcf770a9e65b087fd6b9b5100edcc379b04800b6b06b5007ea1847811f7270515c5a2b94f0c4c4dab01d0e1d9015dc6a361ae594b54dc16340a8 SHA512 973cca06e9efd6960ae9958d505266b4ba1c58123ab2ee6559bd8e028cf342e63c9651608fcf0e9d68f56dfe616e179152933cd820e95b336253c08ff0549d60 +DIST firefox-152.0.6-be.xpi 577430 BLAKE2B 36d248b2206c49699db15fcc44b8340e64393e64b786faadd91d555faf65af19890e49798c802ae0960db8982d5e8e57a1608e21d62ff9dd0209e55de35be004 SHA512 09b191ee7d15d314b653917391c7a3ca758a3ae741e811bcc475d81b61800e8800e1ae9f712f26c5d13081b54129e1d5cf2c19f65b726065d8fe374261cc758e +DIST firefox-152.0.6-bg.xpi 474919 BLAKE2B b7132de567ef85a132933c7b27394c370f59cb0138dc150c53c6506716efa26d98995368d9b4da8b6ba7a7c31986623d130804d419d8f50ad0cb3e7cc626f361 SHA512 fa59289e06aeeb1f719c36c6564c1de758963e4f66e2dfc86412f1df4c2277b6828d189aa747ede6b923176edaea5f0ed2cd24b36f9dd3ecfe791e4aed2c413d +DIST firefox-152.0.6-bn.xpi 413024 BLAKE2B 330d323196438da0482f443d1a4e29fb31e8cc7b069f2cef230267de20402860c4ccbc91e289bbc49db3dd48a0d821f70a9f0a230c59267b0219a9afb76eb1f7 SHA512 70c745eac5762e75b84ce6bf8dfb1625aaf5a515d7dd5beaa8bf9f8889cf3f95b166de2b38f6f593b8e763eb352c0bb2d25241e2a97692c491a33108df1c667a +DIST firefox-152.0.6-br.xpi 396238 BLAKE2B 195422db57d52c4eaaf91950bc74e8232c67714b29dcacac30d4edfad69ccda5a28bf3c4618c897a029aa11b3fdb8453306c376c262ee97ce5fe355504538322 SHA512 7c3b8e8bc848615b4847f2bc38aaf45cb7f2d040dd1b4e744c20aa8fd1c4711cbcb88088b461350f6ddff9faf1ede4e3c68c77556c492fd705fad382b9b62932 +DIST firefox-152.0.6-bs.xpi 449427 BLAKE2B c2de41021400e2ee75590b0cd30d84ceb42bf5287f4f28395e096d44250149ffc693288226740a7937c5678bc247fc7e1a04e2b7bcc2f030de42eb4b1e7fae86 SHA512 d34c5c195e60573005700a967143826a5a7cf0cf899c7ef690a8eeac2ac15199c0d3d71b8467e480e24f420b1dd34af4fa7c57446243d1d25d540627ea7f8053 +DIST firefox-152.0.6-ca-valencia.xpi 358799 BLAKE2B 0a115d48a21843bf74be424cc6bfb253323654c9c133c914ec41e0c324c60b2af9c3376abcc6195cb30906e4e96daf6c158753fcde4fea808b242c6d094856be SHA512 6fa9f4744b64cd2db8c119ee9aa5d0d786b4c081691189fd6240546b14617efc0da0fc50804e7edd9ad9d61e209e8f0d28db146551fb7767de7ac05b65afaf6b +DIST firefox-152.0.6-ca.xpi 439476 BLAKE2B 84f940cf51dc4955ae40b9030d817eedcb22070fd032b78ef38bdac98b3603d724c3321a036805e57f02df1c31ecd9aa7a610dc535ad3346b95a95b069f43955 SHA512 09cd23f192d723309d75335059c39037fc62b4bb0f81b8b201e9c676b397b1e489b31d9f27120fe705b037dc65d1274205729e593a63e12276d71048cd1f1093 +DIST firefox-152.0.6-cak.xpi 390244 BLAKE2B 7ce71e6bd7335cefb68aee859798683a80549901b833db975b77016bc5fa6895a7c9ec14b449c2f3b0cae4ec55ebb5ff548dbfd4d8e71fd02e4c94dc475f0ebe SHA512 75ac746e90a4e7aed5a4ea8b2a9004c56a724387bb746da59cb69438481a1b20c6ab69d29cbe2b3a49d4d0873808dec1f4c8c34f19e0043d8a611b07afc0801e +DIST firefox-152.0.6-cs.xpi 528069 BLAKE2B 5c57b97ba69bb1f41634a3a9beb724820ababde94b8c9b7ea242ce25db6fe9daba69e34fa2402bc148075462c272eaa4a36ebc07b4a172f1a8e8458fdb5f110a SHA512 ff5672349314d8353ee845c743f98e1a41a666aa601cd7b0556201bbb81b0d2209fc9f6c8206cceaeb748fb33ae4f3dc3f6c457e3245b33c90d218eb322e469b +DIST firefox-152.0.6-cy.xpi 488944 BLAKE2B 2fdb18ce0f53e5714430a9e4d22cbf754dd9f16c3c427af200dea03feb3585d14c94937c5f638ae775f46857c18c0a92a63be0e44ce51774329e285788ccbd74 SHA512 bb7e9a91c9f7e49a7945d94823e0f63356f8e93f6947bb9d333510086a52086fc8f6526b439f867c92ece676b958d66d1185b5856652504b8182963bc017a8ed +DIST firefox-152.0.6-da.xpi 468424 BLAKE2B 75fb9d8d72d94141b041d63d226bfd2530477dae6a320219378c16398e57dc9431916ed4d0828708a8a2456e9b91e316f9d19b049e4688f63efe9a01129c1388 SHA512 9f601f71ca04d5cd5356a65863c995dcefe6c8473a748a2fd95f13af661b4c6c2cc9705f7c28ee24ec17953fd0d1b73bbe341c0958cf2849e8adc2892ae3b716 +DIST firefox-152.0.6-de.xpi 500408 BLAKE2B e578526ebcccc5bc9b0253b003d430e5087989a2012d3f83e999fef89050ed1a3f93046f70257baeaf3d3509de13e8f34e2ae7ec4a6e73e196e3533b25185a99 SHA512 1639d18c482180c05257428cc28a456a069336e4470001980b29d7bc674de1c02855a4d85740d77bd96f31046476699271db9c49841f7a1b70cca09306f2856b +DIST firefox-152.0.6-dsb.xpi 514572 BLAKE2B 93db404a3caff0753f735d67154218ab8f333a3d34de28186cd9d2261302f3388297f62b9a7e1904b50d31c66150c081568891b7e796824686467740b2aa3525 SHA512 dd8278e8764ca5d88c214f817752d6244fa0222e8dd2a34f4e9caab0a43c9a3c4274938a10814ce8e88840a6cea643f7d816e99cb1324a1a575ee097c76d4532 +DIST firefox-152.0.6-el.xpi 593115 BLAKE2B 0bb2542945a0f85de8c5e5768a295f5498f41a5beece6b071a32bb64c1ff059a78d2976ee40564c6b74b2033a9a56d3b183aef1c9f42d45643fcdd43ecc3e3f8 SHA512 3005643a38c16a83e60f84fc8c2dd1bf870efb2379f1f1cf6157d87b438dbcc8b91fcb14f33b069696622fd5c425a424e3313612ff5ab1d91015a15cf5bfd5b0 +DIST firefox-152.0.6-en-CA.xpi 452174 BLAKE2B 081da1bfa9790386049d0fec9770b7267d1004d4b0b1bc0fb3d65d6925f2c37de4e5421b496ac5d7c6c1ca2b95aa74ea878c8e1e956e6ce863974743cbd8f981 SHA512 d3ef1d8f19ed83c4bfb4a42260ad66b5f09ba91cd57942f0ac947eed3e94bdfc566f03603acd5ed615d50d8f34c4792b0c411a501d26a484c05211f14e628942 +DIST firefox-152.0.6-en-GB.xpi 452475 BLAKE2B be89d0025d3989ab5ce6773dacd5c5dcde4aa392a6f0d37044c13e286ddedd91583dccc915241f10b65ca62112d523d6c3f2188de18d87451ac39cf9c34af3c9 SHA512 baea8b75662f0e413578911c85cc69bfd64d351821b69b71d9cbb1f2fe82b3a0a0079ff75c7be5c13e73cf020b1d0d833b68fdc59296a23891b2b632acdf1039 +DIST firefox-152.0.6-eo.xpi 478154 BLAKE2B bb772bc481bbfa18aec2810bf32cdc679d997a0087f09ba4faee37beed87ba7610376c0399ed4b30d4d88169abe0aedc37988d28defec843f017b01bc0b551ab SHA512 aae9fc7dbb37662dda83f17374e819630d32f1b2f7b3e24e72ef82a48e5ba9163055ef6a386c8cdec7d68132d52e9b75bb7ae2dd0c193c7e0b77916f6eb2f563 +DIST firefox-152.0.6-es-AR.xpi 490660 BLAKE2B c0a304b26ed466127d5b4ba62c531d5ec35ac3fff6ff2bd90b60ba90922c36a5f2ea4db10f0e79b594978663082f1e9977aef41207d2c3f1c8ef0690f4f468c3 SHA512 8400c63872214413f381aba13f49536600750a66bbf969a73f3d032a757fbf2f52ddee838816e483ff68b31916de2c8ec63d041dfd89366d8776af1bf72af7cf +DIST firefox-152.0.6-es-CL.xpi 492411 BLAKE2B da676fbaa29d5b51ff8f3e70d58bd61567cef3369f58c67a847328fd60c33f8be57866de85d3c69fb33db5fa19344136481e15f96774426e05a5a83b15489baa SHA512 830b196b8bb270b391c759befb6ea1e1e5dbd4c939e56e80a9ced081621b149636355db5388465bcce3ba521913f9e7a35d3821fbcb7643d5cc5594a72309c53 +DIST firefox-152.0.6-es-ES.xpi 493165 BLAKE2B 590b047e866fc92cde609a729b2171a954630de29331473ed7661edd3e7ad5e640977e682987cce1357d6698d20aa86c27c57d00d35ae92abf8379de2219136b SHA512 a8091d070c741964709d8b94e618747aa6e686d79bebe70bed16f4f495d15dbe354908431a398a47413cf628466d6be2367050a7be8107a1f96c7635ca466197 +DIST firefox-152.0.6-es-MX.xpi 496053 BLAKE2B 7e5ca98ec4afd76290090f440c9c3b5a217e71dc2e69b6f169a008739c4c8512736ce82b5bbadc032c6e16fbfb84eaeb97b50e1160b7caf7bf9cf55451d097a6 SHA512 d5fcabf938aabe04b3124e248aeeb11b5f79eccd130d2539ba68b31eeaab8c42a4f6df3753b277f906da1af55004134bab1e92f31b548268baa8a61e059ad417 +DIST firefox-152.0.6-et.xpi 360495 BLAKE2B 2cd5c996d182a3f4800471d95c4f8573292084281f77fa22bd8728547aeb98274394cb0e010bc6d3fcb7387d15565dc27992ba6d6fd41f6b9610974e5bbe3b85 SHA512 800a43248582e9865b6589ea92f73c3918a96f4553368324fc14902e2264faf7583b290967f198a6e096b85211d892ab4dec9c3e224d5cefc1894a26f424b15e +DIST firefox-152.0.6-eu.xpi 477712 BLAKE2B 19934eed5815010139530e318434537d88e4bcdea07d0d4073b0dd0136ff8a9c316f42cb4e718cfecd9afb094c8cccc2d8fe98694670454506e65fbc14454a40 SHA512 94686646b32ac3a1376440f19a729065ca12a48ed510bf852b27c6cacd29443964872d09035279d5c10966951844ebcd63577b1ce94b3cb5de3fa71589d910b9 +DIST firefox-152.0.6-fa.xpi 420812 BLAKE2B c007c792eb89e01d2bdc0df1cbac676168b60e294461d194ccf8a9b15927d600cca20b888101be7831a8ad3105abc1c6bc1ddc8bcb65acff64b40bc3fe0ad4ce SHA512 d512c2355ec29b0eae5bad4454195e48a79ec42b650f338c0dd6351db201ff9426d11b281131a40750118679ae02734cbbaa508555f70ae2d77ed008624ba229 +DIST firefox-152.0.6-ff.xpi 311018 BLAKE2B e6f868a17c83106dd6b5bcc35dec99fa10b859a7ba127ae8bafe4079d1c1b8df752df077b2011993df603f73374930a0f4373e9e3b3e2ba9f6e35364cad581ed SHA512 062e563aa2665b3f2afbfc34d512014d2f62a690e9943248ddc9556771a16be7bc52270a5c865a0f6c975de7a68fe531ae6ba97a7369c1708872abb30b1c9e2b +DIST firefox-152.0.6-fi.xpi 476310 BLAKE2B d77d001e8568260d1b17d5715adf0eee78dadeddbd2607d3802f5c501e70f361611b24f26a108e4d85b1c45fbeaf201aef63e2a5a4e5ff4e8cf65bf6c2bc41c3 SHA512 ebfff471da5e20cd2867d798a2125001b789d8d1312902279de0e54bec764efd70478367228352c46830afe44837d8208ee81eb81e1996a22ce531b9eb5fa110 +DIST firefox-152.0.6-fr.xpi 506058 BLAKE2B e56137a5964d9b27a2e62ed81290f16711cf64d0a9ea1d2b3f76d573b4f99461bf31693e5cdb1000726211aaf9072bba4ae1fb327cc489b51d1fab0f8374162d SHA512 6b949f4fe1218f0178b8f8ff5dcfc3cf7bc6a628ea9d537647d1c31e721bb3da4a47dc0b435303df63b3149838e88d5bd34bc226aaa9c01478311190cbeb0d4c +DIST firefox-152.0.6-fy-NL.xpi 487571 BLAKE2B 9768fe623a3826e83f3dd1279bf1fe9339b8b499e14c6772591db813fe955fc0e7de5c9a25103ebc306d7966e2100e5567d3969049be557a0ebfabacbae7d98b SHA512 c4173b36fe851c94e7f50fc50db4e1ebf9bd5a24eef40c35c256b4ea40cd8e2aa2a1d453946400ea541a17c2868e0cc33f0399e68e7ccdab4f07effd5ce25db5 +DIST firefox-152.0.6-ga-IE.xpi 319425 BLAKE2B 477c85e6e5d4154d9f7d30df66572da8c5b1ab13cb9194d92e37492dfffd9faf251a1c57ec878fe2260b4ca80416bf71b7eb643b611fb5f20d4b72ee62d6a263 SHA512 7d0b54dc90f7c61dccd7b7c8eefee49885aff18f7bb9d20b627778abcc22ac015ec58b2758dd2b6af305ac5ef1eed28f3ef007a872dea6ed2b79d5242a9bbcaf +DIST firefox-152.0.6-gd.xpi 409698 BLAKE2B 5689875b5a5b9f8e5b148745254b06536f5fbe845018e344e616746df7be53019920d0cd74e616ac730d86f3b85c8365b55d23a84bb056a2e0825142d5a1cbbd SHA512 73b9703ce7e03b4b11584fa187697f5bdcc17e5db4a09c44271efc8737783c4e84a794f4e9bba05edb4ce38162c82dd5488987792b6aa190ba6051f3b8d7f252 +DIST firefox-152.0.6-gl.xpi 446293 BLAKE2B c531502f591de3a5d90fbac3847d4ec128ca4cc7f677488d0343010501d29f0104f4e163cd4a667e44f9fec74d9720f6deafffa63f780ed45bff1e14a2c7ecf2 SHA512 217ccf00e924074f0aa06ba583325e42bb93d0d304f3c83ab9aed124f8ad815e815166f3011ad9de729bef31bc151060f0ac274703b522a92521348c5533074e +DIST firefox-152.0.6-gn.xpi 495743 BLAKE2B 38efecded88c6547896df473a115cb9bb2b456929ee6ba7cb1d54710f232c05cecfd282bee072b2371d15d284163ca6d933c8f9572d015e9c392bea6ef0405d8 SHA512 c4b6217e0714abb3e808cb9fdf6d7f5f457c5863a8b5ffb1a930c1e38c3982979b52539be9bdbe4d3210b14bf53a60040c12fd211b540e1ccc90d440ec405a2f +DIST firefox-152.0.6-gu-IN.xpi 358918 BLAKE2B 8896cc9769ace08e6bffeb975c84ee0a100884096d0cec3b40bffb0fab5000f82b4fc8e96ebd0920d904c37850935a8b10d9a35427513ebaa41c5811b7145b28 SHA512 2d75c63a5fbf4faa4659ecfdc6aec94c31e680e00bea41e1931982279de3ea15a22300c93e9f9cb641e49ff00452b52ef6ab897100337a645c4eb80b3db425a3 +DIST firefox-152.0.6-he.xpi 492267 BLAKE2B b28f4f53ba5102ab02e75a41591599f4e988ce16c3fc6f8d8d0584f9c0c0a829565220fc0c3202021a80eacf6dbd59b4f8d161a7ae34b41c20e28a00c406799e SHA512 cc0c129e5455975a4ad2acd3bcceffe1cd80a0f79fc3e9bbed8062fcce187af4a1968a1deeb6f8998a269adde861a4d457a56c6e075a30bee2941eeefdbfd119 +DIST firefox-152.0.6-hi-IN.xpi 377793 BLAKE2B 3f1e3f2e93ea5a6ff27c475c152c1eb20307e8e12ee5f60348c916df17e7d0c43b5ee504cdf8bc54e8bf63b89b3d9f56f505e331615836de500bb19f5020c0d6 SHA512 cae16b08bf81fc93c598d01c6e7c805bc421e5c01a9999402aaa4809753d214967e01f71c1346a43be84fb07bda16277486c3b53ccce3f68f427d222439605b8 +DIST firefox-152.0.6-hr.xpi 472448 BLAKE2B c72175fca5889f62bb3443d9739f79a00fcb7561824964428f5593e276679f814b89c0c1e160f87587e96cb8fa66d996f772130491e66776d49c44e0d577c583 SHA512 ab89f9ebae0c5a17f28f4df8b1f592abf4ace14aef6032044011a0c37941d7080c4fc8a4a60efd98561d82320c9e26c5248c6df5aeb344c72791d4b58d9c32a4 +DIST firefox-152.0.6-hsb.xpi 511227 BLAKE2B 7a12392230a1ef3c4215339ea4176cc67a96ab3271e635d37d6b4d1ae89998a845069ec3fc429b47d4f1bbcbb0eeddc8a6731839353eafc18a6d841d29a336fc SHA512 cbf9f6605362da37e3bbc40adae6ea6b33ca51c81488853fc68e931afc1a9ff23633b51b75e93998f7c79a88ed7a71c2b4c6d232e46aff43b5c38a2f9a3f45cd +DIST firefox-152.0.6-hu.xpi 515437 BLAKE2B 9a86af97287b7f3c314658c54ae2a2dcde907ef3fa345e856c68cf433189f902c44d5ecc00e8abd2a34a01d732da2760274407214e64f1b4ca4dc08da399d973 SHA512 afd0a0a00d93addcef3894d5564810aceff9669a31a7f7a8661e13c0c3d763a72f41c3b232e6a5719b44fb964a49fa00a43be06892358342621d91f6c6d036d2 +DIST firefox-152.0.6-hy-AM.xpi 498184 BLAKE2B 4e862faa0c4fe2d876c535e3a488f50610cc3932d09d94db10604d1e655e1098ea9bc65ff80c4526dccc6d9c063cf941d5dfada7d5dd9a16fd0f7fda25a3bfdd SHA512 c06d24937fffac9f6297aa7312dec743558645f0574cb6f0e655ce06e377838f60bc2a4ae35eec2dbf73fb6614ea14177e5ec8b122d09ed646109019c479d6df +DIST firefox-152.0.6-ia.xpi 474254 BLAKE2B 38a1f13f8226f91e795c555b162b8451f2c217aa69e3b82658a13449103bd7c2334030e852a1c83a841bb88bd63ee61845ce7d2b537748654c807e197c3c83be SHA512 433f4da58da4304e3a0a899a96dc22da8425a6a74765cefa8c7e196cb73bbda66a95db47e5b91cc398104f6ede07f3ac85440165977304957c75261cb268ce7d +DIST firefox-152.0.6-id.xpi 433197 BLAKE2B 91df1c032e92e243556115e17e7e7496a32de559725e6a76514276122f6e21c6a96e5c895c47a4a5d98a3dd35bcd628b3990545e6e25ee49d467c0ac0f0ba56f SHA512 a1bec707bbc2d0a685fe97549037cbe053a087deb973861b9ef871f1fa61e9c47b79ec2d892874a5159687dbba7003795e56c84a6cb3dc0a7978ee33e8fd4619 +DIST firefox-152.0.6-is.xpi 441018 BLAKE2B 56e8cec18601e0eaf9970d9f243a6cccdb4fce2d66848d5c5717055f7e875683dc549e7e41a4d10ea747e2e8a8e3e5922f28f24e1d0fd4ccfd6175aac66c8254 SHA512 5600e9ca2b80c89bad0058e3fc2fd36903f938554b09c7a7e25d3d74ac269b94c9badcf7cf3053769a4d7837c75ae99f59701b6e5cec12c548bd025d286de3ae +DIST firefox-152.0.6-it.xpi 486440 BLAKE2B 541cd4cbd30271a25dc8eacd31491bec1e55e820fc941ef9bdae35d136e58d33460c603e7982933522c4d5a5a04130d682386a7b55c80726ef5948ad8f754bf6 SHA512 355d149bc51f7ee44fd764ba0bd00c0d41646f6fd8d62a77b910aae0a2303d792475a2f3e833aae9fc30ca63db8d8c6b79d3e63c2ce897abb11c15707b92fbc5 +DIST firefox-152.0.6-ja.xpi 530161 BLAKE2B e4053f17d5c1f2159715ef675e97bc7445316b38ae433c555a13960e1fd7e90d1ef72675faa233085d9033a43af4457fbb3ede8004bec82bc1cfeaf1971f9c36 SHA512 2a15cd849edfd4e09dff5d96b3bb6ec1c0d2e7023be8f98f2953cba465294afbc8f11dc6b01672097e73d2edaded1adcc9e41e47eff4ea7f468b658aceaf1097 +DIST firefox-152.0.6-ka.xpi 549529 BLAKE2B 3a425e45dcb602b8b29a1e1017c84bfb74f13103fd4c8b47c30178e9257afc2b7fd459c6c26303d71b605669cd3c73e5c07d879308318a207ab6785c2bd5140e SHA512 78a55d816dc22149c0d6d9d1ce1975105370550d55d871a1f135db9103a03f38b3fb7a6ba215c38de82639d0bf6988b5364b7a12af160ba96a29c011c40d75b5 +DIST firefox-152.0.6-kab.xpi 427380 BLAKE2B 89090054af5e33b7c65beebc983c6b2419ff186196e75763d78013cfa490b5db1e36aba341e5db561c961363c0f288e4e6661101a442ff963373b45cade6f26e SHA512 4033ad854ab4c388dc77d8a9ca520223b9b12a01241a1aa5af555bff8cbc6ae517520f9777fb9fa757a5077947666a2f248f663b3be0775ce8527c03fa37a75f +DIST firefox-152.0.6-kk.xpi 568463 BLAKE2B 8af8e9eea545c82d06b8bcb2398ac7949b22d99e14370e127bde63e2f6f7592ebe0e3f8c89fd9dc24d2c0ae4e012e443c31b43a8411f009e421fe6ca2d002a8f SHA512 7eb4c8dc7ac1dbb120f143e2497b0fb46baaf5dc875bbcab9d30bfa03e4e0e0b3ad88817385a81517a5d643dd953ba430a56fffc9ffe7d64467ce2587cc359c2 +DIST firefox-152.0.6-km.xpi 375973 BLAKE2B 6cc33d7519dc6fd1f1903e97a8d6f337ca53e1da1dd32b9835292e4eda4b2a2b0dfe6018f6ed45caba601c06b0610fbda45ca8ac330d42b15382980135757eee SHA512 d1813afbbe3f6fa24c31e69de95c86d200b045ceb7859bff01a634f615a88459b0b5582c46d002ce89dcc8ecc86990e2867764c38305393ce1990d73f534afee +DIST firefox-152.0.6-kn.xpi 333350 BLAKE2B 62bb302e9c923862d6a440038f20f0b51e0ed89f5b5f18fe8b6329d2e5e0480d93bda315fcae1c8fac10a67ce2d35e6968ce34656b3e5f7063587ce877bf94e1 SHA512 366cf7254063404a9dd03be79a50ce9f9eec3d4dcc66189b7d54442a3f578efa5021fc82b2bb3bafd63d2eb7cc261ce8d80afb3c7871f7c422d31fc5922f2f96 +DIST firefox-152.0.6-ko.xpi 514478 BLAKE2B bcf9e5da2c72d5086ef5520eee4475ff9cd3685e095dad107073396aaebfd9d9477f5d275c1368c6da07d07ac969c6c5043bd6f61281d6489e230cad0b6d9bbc SHA512 c672d240fc63fcec65ba03f62ce76dfac5c7a06b16ae7b7df32073e5549edaab60e5ba4203c0a5bb1b38e56453d5dbe6d5e07ef7f4591de9034632db4b81e830 +DIST firefox-152.0.6-lij.xpi 323320 BLAKE2B 615485cba5fb3accf8744d15f042eae3e9545626a3e2cfa53678b18c1e7ce809db10dc9974aa51ca7326fdc363c2336e58b7cfdb31b3d945b1657db628863dda SHA512 c663972b1076762ae6a4d02c09d1ef5d8c2430ea31c219f1a56d1265c4b1bff330fc4da5ecfd2014605d00695174d71816a4b77fe9290415c60af0f23f2ce24c +DIST firefox-152.0.6-lt.xpi 379977 BLAKE2B 43dad45ba44cd6e50a527f536e7d32c4340a5bebad51a73b7ac92d2076da7b1270a5fe9cfe5f94a164c597cf840b34f960de75539c7e71f5dbd2c63c35b12803 SHA512 34cf185f9d173a1525e732bd2779855e783789a1bca491e542493a6a138794e2a8622b540051b75d8524c6d181cc0320b3f076fa5d4a37f337711f7a752fe97e +DIST firefox-152.0.6-lv.xpi 398449 BLAKE2B 1bc81fc6feabf2f85fa28939a6b6d4037f6d73ee83d668c22037b209046d1243262b4ecda021f214f7b72be32797b0208ff6957692b32a104ad7b4b76d21c6d0 SHA512 9872c33e13576cde44c1b94d3309b92fca82e3a725f7f3fc0d3762b363ed9d8482f620c929f4439525b1a2631a9395809bccdd2518e40ca8b50a9adb1bb10911 +DIST firefox-152.0.6-mk.xpi 371146 BLAKE2B 4290dc341d55b18e6843820ad148da4581548a8f1f8bbe8bda663843bd7fdeb6c911dce8b8509b2a79157a922bdc85e7948056bf7c779eabec37f167d3fb5c32 SHA512 235bb3a59e1c5fac1e265245fd6e3f9f61e5f33c6d3d3621929476dd24ab4b708309841f7bb407711e466502d43cbe967e002fedb95d79f6c573730e4c73bf6e +DIST firefox-152.0.6-mr.xpi 356754 BLAKE2B 61f81f7fce0a25b25c58c3013196c2c460cd34fd63e65da54d59feab9dc1947c53b7bf9d9fc0aa9bf0f5754fa6c7b159a981c300c23215705ef2c14d3b237b72 SHA512 3e4eddd50317eb389f42dfef358b1c3cd83a2c32435c8f0b654c034421efd51b028b2e5885d84c1b6a5ff1de048c047bfb047344912f6bf016b9a01f9845a580 +DIST firefox-152.0.6-ms.xpi 296901 BLAKE2B 233c944263daaaac5365c5d8382505f18882a8072122e8ab2ce45d16cd8f48086fdd06b7e791d73bb57dc8da87518b9872a9a2524eb5f986ea4cd0c0ebaf4dd0 SHA512 35da6eab61647c62adcdfb8fb3b8eb9d4dc4d1299bbe7b4e3b04876522440ffb2bc2ebe1c81faef760b50c478d4cd02696368da16244395d8a899d7f36e4dbf7 +DIST firefox-152.0.6-my.xpi 343717 BLAKE2B db34cee0f60e8611d68be36f7c5a1bc57fdeb85c79f4a7a4c5b7f11df1e9690e00ae7ac0f014d0c44e2bd9f490ca26e94eb28447b290bec6d6e70642f6af251f SHA512 eadf1111f2e00d81acad63d137feefc850e7a3caec26370f73675723662e160e86206f1ba15019fb23d5b6a12dadcd18684cef6b01a358aa5dad3f9f9ba12590 +DIST firefox-152.0.6-nb-NO.xpi 473270 BLAKE2B d68561034ffce24ef12fe9a927a6cf064272c03887197cc87b4539737308870bc2c4f5c71c6d48f76a1e6b0ed3d904885cc8bfa0c051ca15c7b9aa87f1226903 SHA512 235e826c5a5bea532c0c8cff16dceca490293a871204c741b92cb344151af7d9ab62f72f23d3d844c51e5271d287579dfd35892fc6d8f1e5bbb3c4b1c5c61786 +DIST firefox-152.0.6-ne-NP.xpi 348954 BLAKE2B a73dbd410a528e45a60ffde52d7cac2275ef71b97b8c315d1f0843867f131f819344121bca67c15c5a2286bd51cbe3fc7e312a05d9757f2b0ee83f3d05f7a5cf SHA512 2a35971622d70fdafc47e5af4fb474742764b5554183a5ca61abdd8f9f7a1ccf87ce376cb50c628b5ce8ca09265b1da830cfa114e673f39ef5a2191e1da02360 +DIST firefox-152.0.6-nl.xpi 481114 BLAKE2B 26be01aeeef3247cb578c00ddcc493ec8b49f64099bf79e9aa8b2150262be59027116ed72dd9f6359408c0148246169050e85e1799f576be280ff77fbaac8f97 SHA512 0b08674ed4a551f8a128a6d490b11a0a430cb6a880228fb7e2084e234b8ad5abab48e6d9717edc14d7e8064d08740c98a55a640045a2c973299e029840b4ff53 +DIST firefox-152.0.6-nn-NO.xpi 476705 BLAKE2B 6dffe7772653f5ce93fc70b0df4a645f610ae98456f6f7cdb23cbe9c45a10b7d6ef468c091ee466ebc3381dabf568141049445384dc5ab861ed34e5ac6d414a3 SHA512 b5c914323d8953f6a85a7b45ef6f7a56ff3df4909b075ebd02e546f6e263f0e1b81a091d96fded33308f7ea32b92cdd7d4c3cb9763f425cbaf2aa58febf4079a +DIST firefox-152.0.6-oc.xpi 414367 BLAKE2B 1413086e1668068107ff0449a7886ddb3f5bd83a8ff966c0a7cfe98f00b01c97df2766472e9a0c4bb387ecc2f383b43dd28fb9924cba065d7c8d8cd7a1009ebc SHA512 7273de3e6c579ab2b60d542e9e59cde6ad9e0bc9834e8adf1274489f3fda632a4e7ee6e347981aab570279e621bd9950ddd0724bffbe2703acd4738311c8be5c +DIST firefox-152.0.6-pa-IN.xpi 547927 BLAKE2B 8ec2969826619d9e0326dc336b45044092028424f8d80c9cbb20ec8be028018fedd5013113d7c414d7c3d751c16ab993764911b68a942659c29995bd5ca5af64 SHA512 d535c627cce209cdc3025feabf42d07d45576507f8c7fc8b9b9bcd56868567502c9d0f81dcf3b7de8824d74943320615c25dedd71075859462cdc47d945e4fe8 +DIST firefox-152.0.6-pl.xpi 512173 BLAKE2B 65017a7c5bf489eca57d17faebc5e5d68a22efa850422e27639bf715412df33313a621b1c74321eb158ec8a92ed6676ad34f8bd0f63b7aeab0813d10a256a389 SHA512 803c5f1117c3ca533603d90319791dfa0395df03a6252f8f6cd4c1f687771b1fe7d38f49dcf271fb8fa1bbd8a7b4246b1cffaddbcdcfbb6272be2febd2e63ee6 +DIST firefox-152.0.6-pt-BR.xpi 485864 BLAKE2B c837991fee7602f92b67b7673e8b017bec6aeb924dedc821f54a0feb1a68a71934366164e5d728d7d131e9e1317b64a34b78291ed42da778e8caca06a08bb5de SHA512 7fecc489d60d3b75d97879a68eb42e98da9f7835726bc221867603870f6f48cd1889de330579bb924daae717c747fe9b80dee902553a1f7709501c2f72d3a04d +DIST firefox-152.0.6-pt-PT.xpi 489645 BLAKE2B ca0464e2be48de771a3123ed9d087cb361178cfb60af8d249f88f9da42394ce10f403db7584025df8308ee6221bcd7101ef2a39a1fa4b8601d3eaf837dac3d5a SHA512 9d7948d5dc8edbbb1351b8e04281fcc5f20858ac5860717a505a6ec85dc2c7f2049d33f3fcf9797d876c62554e8b7d871e1ff7e14186baa2ca3bdb1445a72855 +DIST firefox-152.0.6-rm.xpi 458007 BLAKE2B 15fea99996489d241c1cf5e24368335b7fc9ddf4ca407e5f962ddd06b9471764a8459b937f734f6ee8b0d7ebdc7fe922eb32cade74dc76d3b4927f2f58b6382b SHA512 b43529dc705b8bde379cf7cfc9a824e0450ed5295ea8b789ed7b36f245bfe1fea1d254fe01cede7d9c08b90008089e503a0214f93cc0681cabc6eae4514009c4 +DIST firefox-152.0.6-ro.xpi 499820 BLAKE2B 4f557e3956d608308c78b1585c3a02c0c63f46c2bad55f86a454f42346c4381e208dfae5394727919ceaf706ed06831ab132087bba1b4f762f06b09cb348e82a SHA512 7394db1490f96c78db49d1b97f75524882a8947198354dd1cf93253a8f7cf5bbf9628de5b9463094caa9616a69ca6baa23a6dafbeb260af21237405c3762d223 +DIST firefox-152.0.6-ru.xpi 581057 BLAKE2B 56500485bf4871166a848892b4e3fc00c5123ef0d681bf1626b872aa5ae8dd90bdfac2bbe182d3589444081a2c839cf14d06d100e394010cd2c197c7962d829a SHA512 28d15be09aa44ccf024b8f8240fcbe678db92f1c9e8599715b5ed5705c83303977ed228f12a85c9534a4e088b796d820c4ce3a1aa86b42bf75b5958e3d8a0fc5 +DIST firefox-152.0.6-sco.xpi 323544 BLAKE2B cee1afe19a8715592ee769615b0a826938aad2485c9833212ca8dbc715236d49f4ab91d196739c97bed34af6b0953dec0eb48f094086ac8a3c791e2c5f02e3c4 SHA512 e6906af7d842c571401dce61e380b0bc11da6cf7bfc0594e51f9cb8860b6dc582ea0da96037e53c42e256a00721393efaede0ebc6d1928d4409609388eccdaaf +DIST firefox-152.0.6-si.xpi 409421 BLAKE2B fb6152c4e6cfa8289708e617d41e7929fecf46245cc09c7cea7f165b1b05bcebb401a07d550f1853d3629124d2ede51dc46c91152f87ea93dc344abda5972a7d SHA512 c27ea2fda3ec60d153ea3227ab7cad6db2763e91fc194bcea87e871a1a56a5e689203ec2495d2ce61492443b06a37ea5634832b2686001908fdad1979b53d2ab +DIST firefox-152.0.6-sk.xpi 518351 BLAKE2B 6caa4dde2f34e6646ae037da4c9036d414aeb912ff7d5041fa3175996e03803719d9ed5a57f733afb02e26848c9ebc25ab19b1153fa6bb7de5125f2b7cb701db SHA512 4c6ad137715abc4a581baf9241fde7b873808dd9b4d2994a8d99b88e85e5c70ca6cf78d0636df7f503c473e2ff366249354398787cbd22e1549ade7d6483dece +DIST firefox-152.0.6-skr.xpi 484341 BLAKE2B ef62bc93c11764c7b8b1c2ea9cd173e6c8b6ce1e7a38d99adb73627d476d50e791ed1a137bbdb3db42154c104c0687d5b3a106be8602df5754b69ed4775f35df SHA512 381ce221ebd0754e1a9c85327babcc90097a35a38fe07fb805d8228d04b2bdab53636d734bf87589d7864ab265468aa705ba8aaf10502cda44da07f0a911edcc +DIST firefox-152.0.6-sl.xpi 484095 BLAKE2B 9810d6275a9429fa71dcad7e35bad31483ded9357d49b851f7eabeea1d0ca859d178445824877a72c41952866196be0461127757e75ce0ca956ced15cf3ebb3d SHA512 1b7592e69c256e7b5f336a00aea8a096de9463e81de850510c59e99ac6840953af603ef2900b41918d2f644a5b3c690701ca332d29a90491d10a791ec46c8ef4 +DIST firefox-152.0.6-son.xpi 275890 BLAKE2B d1e4f9d902915f39dc27384e553f465991fc617b2e0c1d11ee284c7db43cfa9941e31269f8523dd4cd7b712f1c01e417b7f9cd29700b352efe67cb511c2a2cb4 SHA512 cca379e3974f958fb1bbe079a189b2a658b5ced3a7253fe7da4d161777744dd34e5bb6c35a8de7aad49f1e6ab8a0d1233eb3f08f06725d949da72ce75c7d664b +DIST firefox-152.0.6-sq.xpi 492022 BLAKE2B 45b8270cc93f7cbfca64253ab34587299ea78270fa3722ca96bba716530a1e8009211600aec5ed7a95b0d0eec683a91ffbc2061bb74557d8a5eeec768d4d8a5b SHA512 1d72ad0495bb0c29d9c5ec06cf341b34b60e59904d8b28b5e27b2466d762e9e70de9b7f412e71ac7af9b9326ab41f454ad5c2f5ab04edc2a4fbf307e6925b684 +DIST firefox-152.0.6-sr.xpi 552473 BLAKE2B 9a3446d9a1b51f6848d1291e9b40579439c7cd4a8f99dbc6456d5a49476dc33fe5b324cd14bb6eb3875c67f0fd0495ee7eb457ca07c539ab589217c53fabd58d SHA512 99111ca0ad72ad982c17b9842958701a5f848aaa6e09a2bab440c477f3874d6bf49bbcc4a93049a7e9db8f21c9654a7a0645f5f947b2e844dbf7be57851f1876 +DIST firefox-152.0.6-sv-SE.xpi 480606 BLAKE2B a3dea0900342d2d808c535aaa87263f8f6ccaf2cdbca694be1737a4ebee3fb7fb7210bae60f7136e5f974f6faecdecc1732ebdf787d21631e10a6e14606453c8 SHA512 555919e2df6e9685d5edd6f40f0fb392977041a138b0c22f1cbdd24a6c56ea15c372e7fbd3b226c646984167766c515eabcb16a998db4730d55fc2649dbe591b +DIST firefox-152.0.6-ta.xpi 338706 BLAKE2B 532937f9644c6177ab1ba05c1d5c4772f7f32a2e9aaf95b22567e13a9bd965c3b3476d32cd01221084622b9d8dc932a204a7f4eb1a2983411d9da5c461d6b844 SHA512 9c5649857bad1672b59c856798102422c75be6d493c9dc53ee9036d9b51ceeb1c2febec54dff3b5f53c7f3c9f63ec86a624e10ab9cc33a2a11239578afddcdd8 +DIST firefox-152.0.6-te.xpi 388473 BLAKE2B ae9bb54ea03bf65c7d6ecd376e5de68e6b66cecae1a0f7fba481f268ddd82ee103d72f27be4f1d668c6c47bd3da705e9705a50c72415fa988a19ca55bbb3dbe1 SHA512 4028ce2fbbd2f81a969077bf38bd099b7d8446b853484794bc9ba0aec71da36b0a9b273c253f16fdc34bd9852b7f37ac69bf4c27d75cc277cba828eb3236d1a5 +DIST firefox-152.0.6-th.xpi 558165 BLAKE2B 9ed5b03fb57e9450113592c22d80746033481457d24e11a4f8822bc06ea8d6ac5f549d9adc1c21c79d0642759e1746771205622cfc813a84e4a95d5fb54c2aff SHA512 8ec00e9268e5bba96c4b3d638e7b02e0f3a08eb00bbd0eae26f823db38e5e3c6516be59054c66d1e08a7f7716624fd8fd1e2d0b9f9759d6120b57abf589b4998 +DIST firefox-152.0.6-tl.xpi 356373 BLAKE2B 5e6d793476c7a00587449e7852cecd613e4b1abc09e3240902940a49716f867a40620ec3e8ba1127a885139250fc8f79682d6e9130c864b10f568e770ea5f23f SHA512 d853a517b921cd933eaf1ae4db19770828b2e1de2cb481180b35d6e161cd50a35808bd7ee61eb9a3934290f4e6cbfa4b27d99dbf36ad2038a21d4870540ef9a4 +DIST firefox-152.0.6-tr.xpi 495513 BLAKE2B 120ec8ddce40952774b88963031f00802ed6e71d1ca48112ae6c95912e72af4c2313b3231acfc201f3ba2d9044b24a55a60b3f8c9c92a21d95eff5606743b27d SHA512 a39044da85db80b67783ecff97cdedfbcd5e820f84bc05208acb0192289607c703f1524fef052bf1ed92ade7246ebaff52787e366975754ed228b12d9953bcb3 +DIST firefox-152.0.6-trs.xpi 325402 BLAKE2B 2aaeaa4e5fccfe7b1fae231b436730b9b038cfd23bb7c67ec6683272c38e1d2063b3d0f6aad737345f565346da2db4f3f5263a9515bb0f8dd979549b15e5193d SHA512 cdb61729a178d46bf07b1e8f10c8f1a9d5305750e68927e192485d40ebffc77d8c89055a7deb780407836bbc570b0b50928e878ac4e24c1dd38accffbc93754a +DIST firefox-152.0.6-uk.xpi 565394 BLAKE2B 552d2f9b9fef0744554b81b8014e69e0d3c34aa7eaea755d91853a1ec4387287a7d9350b2e49edd8ffc78a09afc520cfd094dcfe1e5e3ac089690ca2f17b233f SHA512 79e62b94c38454cd5d70d0e76ad1f3a0b65432b2859b10828d3f89090ea16717af92704db7c12ef29d75578ccf3b7babce188e55e94d2db1f8fea5bb87eff575 +DIST firefox-152.0.6-ur.xpi 371124 BLAKE2B af2ac69551d060ec6f569e989944aba2cb108e46436398383c2c8d26bdd9631ebb2cfa8118d54f8becdfd1bac41aa57e22490d88da313583dcf7f350748b2428 SHA512 89b314c34772fe1df024a7b2cf82c677b4b588b6af97de4268e326cad927c23e3f97d2ebe5cd8c842fe9e91ebfaa167d50eb2bd6874a9c5188e83b20f1953f71 +DIST firefox-152.0.6-uz.xpi 305663 BLAKE2B 24a3374ae659c063d9553c09513e0ad2810e30fe99ac42236c341f66631f067a4d66a9eeab6cbcf5f3560d7e677a3112c628055e0eb951ead759ab6c51e85898 SHA512 c587aca3d4db7a072f8287fe904ff076ccd4562cb5c8b33b35c7475de117b7ef3d4f0f1527b3df0058ca4e4c93272d694333febae32d1ab90ae5fa86c852d863 +DIST firefox-152.0.6-vi.xpi 516614 BLAKE2B d64bef02a4c15960658e3e70de6f678bcfc55c4bf49e6337bf2b4726eb6c509dbddf72659630ea1d93a2a57009d43f70a3409705482e6421040b2518634da50d SHA512 69e4d61e8b1d3fb3dc2d73903a7d442c43f8a76fbfd03c96171a2bff9929e50e38f39c784081c06310aff07f7163c1e5f6420ef27882f5090df3c7a10bb8af4b +DIST firefox-152.0.6-xh.xpi 275378 BLAKE2B e26f4c2d4c75dfe535c9f39440687636191f0d3e978cc9ce93d78ef3d096e29f80b59a1eadc285236445191eb13d7d8b346560cd1c76a5a3960afd64ba6f6766 SHA512 3d1dc3208d2f0d881006ac45fa1475f2604fe6a6ab321eff65df58e011a456a87e7b947df23958b1a26af4b44df40ef4134076438c6696dda4eef86a98501a04 +DIST firefox-152.0.6-zh-CN.xpi 506726 BLAKE2B 64916a9933073504203ddaa8353342a4b3da8f5175403263c07d3589ed681a056ff0e11daeffc3635efadd856f02c792d90b91b58662aa984636b9006405fb41 SHA512 5f9bce4e899267ce2b8de6b5fd8908c2b7f456227bb461ed6bed7395c088b20fb690ca10c7aa8da3e2ca08182b2fac6b8b4288f56ab018e08db7ee2581d4eed7 +DIST firefox-152.0.6-zh-TW.xpi 510886 BLAKE2B d209f239923cac1677b8b084dbd986a2eb3b9040c4474d0930aa8b47ecd858a4af668c51e7b4b82ea92f3304b46ecf5c5b41877bd2f1e1f83eaab9db9cbddb70 SHA512 db3557af70134c6509781474b2d8b9ebc2810b8b837201a93bf9e36d3ac724dd087157d38a7df5a7a062e41cd75db5db50861b6e7c3d546ee69b8b214836efcc DIST firefox-bin_aarch64-140.12.0.tar.xz 66491416 BLAKE2B c49e14b248305d1dec7861fc875249620ce00509240c20ffd2281cdc525ae7e387c4dbd8078a816c20ca9e69add9b4c6b847154e0c12dd171dea7e23cdd19b99 SHA512 bbbcf5b5273019c3767eb9780d4db3592b6bd48821986fff1032d5a2a431a48127d25290f76d67fea086b8f0c5ea181c4a4d91165be03de0737b35f6e4919405 DIST firefox-bin_aarch64-152.0.5.tar.xz 72747640 BLAKE2B b36df5b1593923f0b147a23974188576fc2534622d06ee4b432b0615d6a63d43ac1b0ebcc119a43a92413bc5868660d0a45579846c32e150f112b158e1b75eb1 SHA512 54a04a1f178bf530fe62e5b00d15f820b53bb124f979d2f0f98a977490bfa90a3bfc4b3ce33db0d025d3b1cf72ab75871a62fad864ce4f71d4c1c8ac040c8951 +DIST firefox-bin_aarch64-152.0.6.tar.xz 72750384 BLAKE2B 8d7aa97118d8bcc93610977790eec5281c471f85cc5679c7cc875c9bfd58c0441b1ed0192e68f765d8808fa192284185da8f9703e949e4b81a9bc63ea1f01793 SHA512 774a05b4512bb25c32a242f023803fdd8c36411dc618a7a352aca683cb9c7222dd71206fe253ed95511c758c90e6191a17b3dfe1a15a40d6d7efd3a543a377e9 DIST firefox-bin_i686-140.12.0.tar.xz 78697392 BLAKE2B d66d6c0df0d6134733a476f2103baeca1f442dd2c68d7a6b3a31e6c55a522515bacd36fe05e4a362f84f540ef6082f0d1e146f20be520f424d3a2d16df948c5b SHA512 27a3009e9667d58723b219511d9c727a128d761e20f7226fbd2dc28e9ee851234919b3a5c78e34ca308a7dcda7d72aa034f648a1fa5c5908113d265eadccf565 DIST firefox-bin_x86_64-140.12.0.tar.xz 75366748 BLAKE2B 6d5856e50c95b9ceaec4a7acfdad065ff17ac7d28904f842c79bf1b30c5d825380905d2d1d9d89727a34d4e4e0afc088e035fc48f177c0c671a6ff2639dbab50 SHA512 71cbb52c78187a96034df19d1ac57a4f68316335d7918f130588b26cf93308a212f2f946510fdd8f02a8c76a1a211246a6af1d899e0c131f13bc567e33259557 DIST firefox-bin_x86_64-152.0.5.tar.xz 84615388 BLAKE2B 9753c013a0acdebc1ad879422d29a444d4cf846735b428599286ce2a83396d2bf807c72f80a833f3dd6b8f5fb210a9f861faef5dd17b0d81c87ce9fdee92927d SHA512 7c006e291d9a414a4abeed196654f1b513610bd7de1d7dbcd7688313c537d832b856ab239687583d2caf01026c490ffb4ce05f85f468a291b4a2598a813dba42 +DIST firefox-bin_x86_64-152.0.6.tar.xz 85090976 BLAKE2B 7ba75393fc67f7c5f95cdd2c3e366e0dc2de65bf3ae057f07fa553c4d2e49360d6ec04acf34d8074a062f4a234098273af9ffe7feec4480d7a8c6898e2d396db SHA512 414b060f5e28e1b9c8818dee51896a81bd273c6cf6a4cffa53c4d7214f2c1d26d0416b9088518294435a7ead014a320a8deb910e93f3345ab6fbbbe596b4a336 diff --git a/www-client/firefox-bin/firefox-bin-152.0.6.ebuild b/www-client/firefox-bin/firefox-bin-152.0.6.ebuild new file mode 100644 index 000000000000..dea9320c7c9c --- /dev/null +++ b/www-client/firefox-bin/firefox-bin-152.0.6.ebuild @@ -0,0 +1,359 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.firefox.com" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop linux-info optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.xz -> ${PN}_x86_64-${PV}.tar.xz ) + arm64? ( ${MOZ_SRC_BASE_URI}/linux-aarch64/en-US/${MOZ_P}.tar.xz -> ${PN}_aarch64-${PV}.tar.xz )" + +DESCRIPTION="Firefox Web Browser" + +KEYWORDS="-* amd64 ~arm64" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="+gmp-autoupdate selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + !www-client/firefox-bin:0 + || ( + media-libs/libpulse + media-sound/apulse + ) + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + media-video/ffmpeg + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + selinux? ( sec-policy/selinux-mozilla ) +" + +# ESR and rapid dependencies. +if [[ -n ${MOZ_ESR} ]] ; then + RDEPEND+=" !www-client/firefox-bin:rapid" +else + RDEPEND+=" !www-client/firefox-bin:esr" +fi + +QA_PREBUILT="opt/${MOZ_PN}/*" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +MOZ_LANGS=( + ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy + da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu + fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM + ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my + nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco + si sk skr sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi + xh zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +pkg_setup() { + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \ + "${ED}${MOZILLA_FIVE_HOME}"/plugin-container + + # Prevent auto-updater from popping up. + echo "This installation is managed by Gentoo's package manager." > "${ED}${MOZILLA_FIVE_HOME}"/is-packaged-app + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js" + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default" + local icon_symbolic_file="${FILESDIR}/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^} (bin)" + local desktop_file="${FILESDIR}/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN} --name=firefox-bin" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230, bgo#941873 + local apulselib= + if has_version -r media-sound/apulse[-sdk] ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + ewarn "media-sound/apulse with -sdk use flag detected!" + ewarn "Firefox-bin will be installed with a wrapper, that attempts to load" + ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues." + ewarn "Please either enable sdk use flag for apulse, or remove apulse" + ewarn "completely and re-install firefox-bin to utilize pipewire/pulseaudio instead." + fi + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + local show_doh_information show_normandy_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + optfeature_header "Optional programs for extra features:" + optfeature "speech syntesis (text-to-speech) support" app-accessibility/speech-dispatcher + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + # optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/www-client/firefox-l10n/Manifest b/www-client/firefox-l10n/Manifest index 5b9835fc52ce..b39c13f4f7bc 100644 --- a/www-client/firefox-l10n/Manifest +++ b/www-client/firefox-l10n/Manifest @@ -98,3 +98,103 @@ DIST firefox-152.0.5-vi.xpi 516537 BLAKE2B b12fc7be70358a7659c9951b78533df70c738 DIST firefox-152.0.5-xh.xpi 275320 BLAKE2B 0a72132347ab4948cb56a1cc6f2532602504ac6da509d645e17269067a3876f42bb181c4cb0b25a932c54c754998be2d8820da097ea016d8f4baeb1efc2de186 SHA512 7c040d3f08f9add75da352b2885ca0f4303cd87f3e21c182d15cbdddf5ca2b992b3049550b290b6338d3bd2a93610ea5bf3b41ac9ce6fcad42230750df982915 DIST firefox-152.0.5-zh-CN.xpi 506653 BLAKE2B ad779697055f8995a538be6ea824dbc5fa59faa8689622b8629b9519492081fba97f42c51760b2741b24b7a33f2e3e86779b911ff01e9c224eefe4fb4d5813aa SHA512 22094f3530128d9fde1f89e5e2fe8f29aea56ab7d765ee75dc0e56c28ede29ecd55359d1c15c50419e360228ec235b312cab1a7cb74dd61e9abeceed3cbaf56c DIST firefox-152.0.5-zh-TW.xpi 510788 BLAKE2B aa974692771a52c08003a13808ae1b20aa55c1d4de1d129634aa95fe2016e7344e3b7e3ae8e779009e88baf99c4a1ca5e28d9e46f124608df5d357243f9b2e1d SHA512 99307fe39b33e85e786f64856fec8941b3b7e22f38d01d6b53d67188be8632724ac2291f7ac295e1c12ff5d9daf2972c59c2de2a08b3e0640ad6c6817acae0d1 +DIST firefox-152.0.6-ach.xpi 295754 BLAKE2B 22291e8efd897e7f52212f47627d70ef94c7a8ac1f8e06a73691320048e9e837540969e7e71d29f0324c081fb56c606a29f086dad3d8f13437eb0e07976e5cab SHA512 a7431c21bce0e2fb4b28a7e3ff1dc2aabcce10104401778799df5cec3ac67bb746ec5887916df5d5ed631a1bdbb85d6ce32136abd3c97cb0d308eb646b65344a +DIST firefox-152.0.6-af.xpi 269407 BLAKE2B 1c3155c56485657f3def9bcd9d197325f4ca3fcce79b9a3f0dfc777ae607dca05f7a7dd2aa7396c11a0db2ff381c4d759031686935095a97f2e73590193babe9 SHA512 5a87d20581c919cc045371d016ab3ade5fd7c10ca9759f8462964f5a737f31399b2bd0296a8a699471d8873808a64fff6e440e88b7e6f305325c0e91b074b047 +DIST firefox-152.0.6-an.xpi 332681 BLAKE2B c080a5635619a97a13c0290f3c9be93a8a93515cb45bd4d61a2e5dd607dcdb5c6421ee14d6449f0989a1aa66a72ac8e13249f24c7094c796b3604879e3f0116c SHA512 913be83251f5beefce2d61ebd92beceaea958c6303dd461fb20a02bf34e515b4fcb9e5e840a88bf19a67994be82c1a668c4bda3ec9926ea0bd9c6914aa88986b +DIST firefox-152.0.6-ar.xpi 508568 BLAKE2B 7aef2c4572f6941aa92e9f8ca37053f4fa616e26ff42a258efe5de79c321aa79ad4f9cfa2b9d23027aa14853ce418ce92f4214de5f880983579f04a1e1c1ecfa SHA512 4874ce62a4aa19777f9c3e8c3dd542659dc2418a7bfec4d263a6a23faca1f4bd5d4714cb47cd8ccbdcbe9f852097020a1724348a0196b1a920f275cf1f388207 +DIST firefox-152.0.6-ast.xpi 313615 BLAKE2B d788d04a68b5ed400f6095bfca770373ef9e184aff9cf50f218f9588740464d4cb8ea053258d67e429ab5096b8b6b96d23ef2a69f08b29bf3c766949032cb4f5 SHA512 cffab83daf3f3cf63fb11cca9e0122cc2b0eafe9d43e8735fdc8ede0401df901b2188b227b54783334a8cfec168061d2fda75afb678328fc4baccb46089ef766 +DIST firefox-152.0.6-az.xpi 319317 BLAKE2B 01aa7f0f38e9dcf770a9e65b087fd6b9b5100edcc379b04800b6b06b5007ea1847811f7270515c5a2b94f0c4c4dab01d0e1d9015dc6a361ae594b54dc16340a8 SHA512 973cca06e9efd6960ae9958d505266b4ba1c58123ab2ee6559bd8e028cf342e63c9651608fcf0e9d68f56dfe616e179152933cd820e95b336253c08ff0549d60 +DIST firefox-152.0.6-be.xpi 577430 BLAKE2B 36d248b2206c49699db15fcc44b8340e64393e64b786faadd91d555faf65af19890e49798c802ae0960db8982d5e8e57a1608e21d62ff9dd0209e55de35be004 SHA512 09b191ee7d15d314b653917391c7a3ca758a3ae741e811bcc475d81b61800e8800e1ae9f712f26c5d13081b54129e1d5cf2c19f65b726065d8fe374261cc758e +DIST firefox-152.0.6-bg.xpi 474919 BLAKE2B b7132de567ef85a132933c7b27394c370f59cb0138dc150c53c6506716efa26d98995368d9b4da8b6ba7a7c31986623d130804d419d8f50ad0cb3e7cc626f361 SHA512 fa59289e06aeeb1f719c36c6564c1de758963e4f66e2dfc86412f1df4c2277b6828d189aa747ede6b923176edaea5f0ed2cd24b36f9dd3ecfe791e4aed2c413d +DIST firefox-152.0.6-bn.xpi 413024 BLAKE2B 330d323196438da0482f443d1a4e29fb31e8cc7b069f2cef230267de20402860c4ccbc91e289bbc49db3dd48a0d821f70a9f0a230c59267b0219a9afb76eb1f7 SHA512 70c745eac5762e75b84ce6bf8dfb1625aaf5a515d7dd5beaa8bf9f8889cf3f95b166de2b38f6f593b8e763eb352c0bb2d25241e2a97692c491a33108df1c667a +DIST firefox-152.0.6-br.xpi 396238 BLAKE2B 195422db57d52c4eaaf91950bc74e8232c67714b29dcacac30d4edfad69ccda5a28bf3c4618c897a029aa11b3fdb8453306c376c262ee97ce5fe355504538322 SHA512 7c3b8e8bc848615b4847f2bc38aaf45cb7f2d040dd1b4e744c20aa8fd1c4711cbcb88088b461350f6ddff9faf1ede4e3c68c77556c492fd705fad382b9b62932 +DIST firefox-152.0.6-bs.xpi 449427 BLAKE2B c2de41021400e2ee75590b0cd30d84ceb42bf5287f4f28395e096d44250149ffc693288226740a7937c5678bc247fc7e1a04e2b7bcc2f030de42eb4b1e7fae86 SHA512 d34c5c195e60573005700a967143826a5a7cf0cf899c7ef690a8eeac2ac15199c0d3d71b8467e480e24f420b1dd34af4fa7c57446243d1d25d540627ea7f8053 +DIST firefox-152.0.6-ca-valencia.xpi 358799 BLAKE2B 0a115d48a21843bf74be424cc6bfb253323654c9c133c914ec41e0c324c60b2af9c3376abcc6195cb30906e4e96daf6c158753fcde4fea808b242c6d094856be SHA512 6fa9f4744b64cd2db8c119ee9aa5d0d786b4c081691189fd6240546b14617efc0da0fc50804e7edd9ad9d61e209e8f0d28db146551fb7767de7ac05b65afaf6b +DIST firefox-152.0.6-ca.xpi 439476 BLAKE2B 84f940cf51dc4955ae40b9030d817eedcb22070fd032b78ef38bdac98b3603d724c3321a036805e57f02df1c31ecd9aa7a610dc535ad3346b95a95b069f43955 SHA512 09cd23f192d723309d75335059c39037fc62b4bb0f81b8b201e9c676b397b1e489b31d9f27120fe705b037dc65d1274205729e593a63e12276d71048cd1f1093 +DIST firefox-152.0.6-cak.xpi 390244 BLAKE2B 7ce71e6bd7335cefb68aee859798683a80549901b833db975b77016bc5fa6895a7c9ec14b449c2f3b0cae4ec55ebb5ff548dbfd4d8e71fd02e4c94dc475f0ebe SHA512 75ac746e90a4e7aed5a4ea8b2a9004c56a724387bb746da59cb69438481a1b20c6ab69d29cbe2b3a49d4d0873808dec1f4c8c34f19e0043d8a611b07afc0801e +DIST firefox-152.0.6-cs.xpi 528069 BLAKE2B 5c57b97ba69bb1f41634a3a9beb724820ababde94b8c9b7ea242ce25db6fe9daba69e34fa2402bc148075462c272eaa4a36ebc07b4a172f1a8e8458fdb5f110a SHA512 ff5672349314d8353ee845c743f98e1a41a666aa601cd7b0556201bbb81b0d2209fc9f6c8206cceaeb748fb33ae4f3dc3f6c457e3245b33c90d218eb322e469b +DIST firefox-152.0.6-cy.xpi 488944 BLAKE2B 2fdb18ce0f53e5714430a9e4d22cbf754dd9f16c3c427af200dea03feb3585d14c94937c5f638ae775f46857c18c0a92a63be0e44ce51774329e285788ccbd74 SHA512 bb7e9a91c9f7e49a7945d94823e0f63356f8e93f6947bb9d333510086a52086fc8f6526b439f867c92ece676b958d66d1185b5856652504b8182963bc017a8ed +DIST firefox-152.0.6-da.xpi 468424 BLAKE2B 75fb9d8d72d94141b041d63d226bfd2530477dae6a320219378c16398e57dc9431916ed4d0828708a8a2456e9b91e316f9d19b049e4688f63efe9a01129c1388 SHA512 9f601f71ca04d5cd5356a65863c995dcefe6c8473a748a2fd95f13af661b4c6c2cc9705f7c28ee24ec17953fd0d1b73bbe341c0958cf2849e8adc2892ae3b716 +DIST firefox-152.0.6-de.xpi 500408 BLAKE2B e578526ebcccc5bc9b0253b003d430e5087989a2012d3f83e999fef89050ed1a3f93046f70257baeaf3d3509de13e8f34e2ae7ec4a6e73e196e3533b25185a99 SHA512 1639d18c482180c05257428cc28a456a069336e4470001980b29d7bc674de1c02855a4d85740d77bd96f31046476699271db9c49841f7a1b70cca09306f2856b +DIST firefox-152.0.6-dsb.xpi 514572 BLAKE2B 93db404a3caff0753f735d67154218ab8f333a3d34de28186cd9d2261302f3388297f62b9a7e1904b50d31c66150c081568891b7e796824686467740b2aa3525 SHA512 dd8278e8764ca5d88c214f817752d6244fa0222e8dd2a34f4e9caab0a43c9a3c4274938a10814ce8e88840a6cea643f7d816e99cb1324a1a575ee097c76d4532 +DIST firefox-152.0.6-el.xpi 593115 BLAKE2B 0bb2542945a0f85de8c5e5768a295f5498f41a5beece6b071a32bb64c1ff059a78d2976ee40564c6b74b2033a9a56d3b183aef1c9f42d45643fcdd43ecc3e3f8 SHA512 3005643a38c16a83e60f84fc8c2dd1bf870efb2379f1f1cf6157d87b438dbcc8b91fcb14f33b069696622fd5c425a424e3313612ff5ab1d91015a15cf5bfd5b0 +DIST firefox-152.0.6-en-CA.xpi 452174 BLAKE2B 081da1bfa9790386049d0fec9770b7267d1004d4b0b1bc0fb3d65d6925f2c37de4e5421b496ac5d7c6c1ca2b95aa74ea878c8e1e956e6ce863974743cbd8f981 SHA512 d3ef1d8f19ed83c4bfb4a42260ad66b5f09ba91cd57942f0ac947eed3e94bdfc566f03603acd5ed615d50d8f34c4792b0c411a501d26a484c05211f14e628942 +DIST firefox-152.0.6-en-GB.xpi 452475 BLAKE2B be89d0025d3989ab5ce6773dacd5c5dcde4aa392a6f0d37044c13e286ddedd91583dccc915241f10b65ca62112d523d6c3f2188de18d87451ac39cf9c34af3c9 SHA512 baea8b75662f0e413578911c85cc69bfd64d351821b69b71d9cbb1f2fe82b3a0a0079ff75c7be5c13e73cf020b1d0d833b68fdc59296a23891b2b632acdf1039 +DIST firefox-152.0.6-eo.xpi 478154 BLAKE2B bb772bc481bbfa18aec2810bf32cdc679d997a0087f09ba4faee37beed87ba7610376c0399ed4b30d4d88169abe0aedc37988d28defec843f017b01bc0b551ab SHA512 aae9fc7dbb37662dda83f17374e819630d32f1b2f7b3e24e72ef82a48e5ba9163055ef6a386c8cdec7d68132d52e9b75bb7ae2dd0c193c7e0b77916f6eb2f563 +DIST firefox-152.0.6-es-AR.xpi 490660 BLAKE2B c0a304b26ed466127d5b4ba62c531d5ec35ac3fff6ff2bd90b60ba90922c36a5f2ea4db10f0e79b594978663082f1e9977aef41207d2c3f1c8ef0690f4f468c3 SHA512 8400c63872214413f381aba13f49536600750a66bbf969a73f3d032a757fbf2f52ddee838816e483ff68b31916de2c8ec63d041dfd89366d8776af1bf72af7cf +DIST firefox-152.0.6-es-CL.xpi 492411 BLAKE2B da676fbaa29d5b51ff8f3e70d58bd61567cef3369f58c67a847328fd60c33f8be57866de85d3c69fb33db5fa19344136481e15f96774426e05a5a83b15489baa SHA512 830b196b8bb270b391c759befb6ea1e1e5dbd4c939e56e80a9ced081621b149636355db5388465bcce3ba521913f9e7a35d3821fbcb7643d5cc5594a72309c53 +DIST firefox-152.0.6-es-ES.xpi 493165 BLAKE2B 590b047e866fc92cde609a729b2171a954630de29331473ed7661edd3e7ad5e640977e682987cce1357d6698d20aa86c27c57d00d35ae92abf8379de2219136b SHA512 a8091d070c741964709d8b94e618747aa6e686d79bebe70bed16f4f495d15dbe354908431a398a47413cf628466d6be2367050a7be8107a1f96c7635ca466197 +DIST firefox-152.0.6-es-MX.xpi 496053 BLAKE2B 7e5ca98ec4afd76290090f440c9c3b5a217e71dc2e69b6f169a008739c4c8512736ce82b5bbadc032c6e16fbfb84eaeb97b50e1160b7caf7bf9cf55451d097a6 SHA512 d5fcabf938aabe04b3124e248aeeb11b5f79eccd130d2539ba68b31eeaab8c42a4f6df3753b277f906da1af55004134bab1e92f31b548268baa8a61e059ad417 +DIST firefox-152.0.6-et.xpi 360495 BLAKE2B 2cd5c996d182a3f4800471d95c4f8573292084281f77fa22bd8728547aeb98274394cb0e010bc6d3fcb7387d15565dc27992ba6d6fd41f6b9610974e5bbe3b85 SHA512 800a43248582e9865b6589ea92f73c3918a96f4553368324fc14902e2264faf7583b290967f198a6e096b85211d892ab4dec9c3e224d5cefc1894a26f424b15e +DIST firefox-152.0.6-eu.xpi 477712 BLAKE2B 19934eed5815010139530e318434537d88e4bcdea07d0d4073b0dd0136ff8a9c316f42cb4e718cfecd9afb094c8cccc2d8fe98694670454506e65fbc14454a40 SHA512 94686646b32ac3a1376440f19a729065ca12a48ed510bf852b27c6cacd29443964872d09035279d5c10966951844ebcd63577b1ce94b3cb5de3fa71589d910b9 +DIST firefox-152.0.6-fa.xpi 420812 BLAKE2B c007c792eb89e01d2bdc0df1cbac676168b60e294461d194ccf8a9b15927d600cca20b888101be7831a8ad3105abc1c6bc1ddc8bcb65acff64b40bc3fe0ad4ce SHA512 d512c2355ec29b0eae5bad4454195e48a79ec42b650f338c0dd6351db201ff9426d11b281131a40750118679ae02734cbbaa508555f70ae2d77ed008624ba229 +DIST firefox-152.0.6-ff.xpi 311018 BLAKE2B e6f868a17c83106dd6b5bcc35dec99fa10b859a7ba127ae8bafe4079d1c1b8df752df077b2011993df603f73374930a0f4373e9e3b3e2ba9f6e35364cad581ed SHA512 062e563aa2665b3f2afbfc34d512014d2f62a690e9943248ddc9556771a16be7bc52270a5c865a0f6c975de7a68fe531ae6ba97a7369c1708872abb30b1c9e2b +DIST firefox-152.0.6-fi.xpi 476310 BLAKE2B d77d001e8568260d1b17d5715adf0eee78dadeddbd2607d3802f5c501e70f361611b24f26a108e4d85b1c45fbeaf201aef63e2a5a4e5ff4e8cf65bf6c2bc41c3 SHA512 ebfff471da5e20cd2867d798a2125001b789d8d1312902279de0e54bec764efd70478367228352c46830afe44837d8208ee81eb81e1996a22ce531b9eb5fa110 +DIST firefox-152.0.6-fr.xpi 506058 BLAKE2B e56137a5964d9b27a2e62ed81290f16711cf64d0a9ea1d2b3f76d573b4f99461bf31693e5cdb1000726211aaf9072bba4ae1fb327cc489b51d1fab0f8374162d SHA512 6b949f4fe1218f0178b8f8ff5dcfc3cf7bc6a628ea9d537647d1c31e721bb3da4a47dc0b435303df63b3149838e88d5bd34bc226aaa9c01478311190cbeb0d4c +DIST firefox-152.0.6-fur.xpi 492914 BLAKE2B 728fe395b978ff24ccebbb7a58d04e33bb2307ce5149d1be3c82c186156c5998dcc6a3dde38605eeafdc51dc192342cf234eed1c2cd9a5e16e5e2c73dad47222 SHA512 0a3f90ea4f08c863c631bda1dcbe0d48d79e8cead4c99eb91b61fe96f397d9ff5cccb69671ef89111a6fa0a082c9f54d029fc3cc0c3e8908bc0ee7c12e4babac +DIST firefox-152.0.6-fy-NL.xpi 487571 BLAKE2B 9768fe623a3826e83f3dd1279bf1fe9339b8b499e14c6772591db813fe955fc0e7de5c9a25103ebc306d7966e2100e5567d3969049be557a0ebfabacbae7d98b SHA512 c4173b36fe851c94e7f50fc50db4e1ebf9bd5a24eef40c35c256b4ea40cd8e2aa2a1d453946400ea541a17c2868e0cc33f0399e68e7ccdab4f07effd5ce25db5 +DIST firefox-152.0.6-ga-IE.xpi 319425 BLAKE2B 477c85e6e5d4154d9f7d30df66572da8c5b1ab13cb9194d92e37492dfffd9faf251a1c57ec878fe2260b4ca80416bf71b7eb643b611fb5f20d4b72ee62d6a263 SHA512 7d0b54dc90f7c61dccd7b7c8eefee49885aff18f7bb9d20b627778abcc22ac015ec58b2758dd2b6af305ac5ef1eed28f3ef007a872dea6ed2b79d5242a9bbcaf +DIST firefox-152.0.6-gd.xpi 409698 BLAKE2B 5689875b5a5b9f8e5b148745254b06536f5fbe845018e344e616746df7be53019920d0cd74e616ac730d86f3b85c8365b55d23a84bb056a2e0825142d5a1cbbd SHA512 73b9703ce7e03b4b11584fa187697f5bdcc17e5db4a09c44271efc8737783c4e84a794f4e9bba05edb4ce38162c82dd5488987792b6aa190ba6051f3b8d7f252 +DIST firefox-152.0.6-gl.xpi 446293 BLAKE2B c531502f591de3a5d90fbac3847d4ec128ca4cc7f677488d0343010501d29f0104f4e163cd4a667e44f9fec74d9720f6deafffa63f780ed45bff1e14a2c7ecf2 SHA512 217ccf00e924074f0aa06ba583325e42bb93d0d304f3c83ab9aed124f8ad815e815166f3011ad9de729bef31bc151060f0ac274703b522a92521348c5533074e +DIST firefox-152.0.6-gn.xpi 495743 BLAKE2B 38efecded88c6547896df473a115cb9bb2b456929ee6ba7cb1d54710f232c05cecfd282bee072b2371d15d284163ca6d933c8f9572d015e9c392bea6ef0405d8 SHA512 c4b6217e0714abb3e808cb9fdf6d7f5f457c5863a8b5ffb1a930c1e38c3982979b52539be9bdbe4d3210b14bf53a60040c12fd211b540e1ccc90d440ec405a2f +DIST firefox-152.0.6-gu-IN.xpi 358918 BLAKE2B 8896cc9769ace08e6bffeb975c84ee0a100884096d0cec3b40bffb0fab5000f82b4fc8e96ebd0920d904c37850935a8b10d9a35427513ebaa41c5811b7145b28 SHA512 2d75c63a5fbf4faa4659ecfdc6aec94c31e680e00bea41e1931982279de3ea15a22300c93e9f9cb641e49ff00452b52ef6ab897100337a645c4eb80b3db425a3 +DIST firefox-152.0.6-he.xpi 492267 BLAKE2B b28f4f53ba5102ab02e75a41591599f4e988ce16c3fc6f8d8d0584f9c0c0a829565220fc0c3202021a80eacf6dbd59b4f8d161a7ae34b41c20e28a00c406799e SHA512 cc0c129e5455975a4ad2acd3bcceffe1cd80a0f79fc3e9bbed8062fcce187af4a1968a1deeb6f8998a269adde861a4d457a56c6e075a30bee2941eeefdbfd119 +DIST firefox-152.0.6-hi-IN.xpi 377793 BLAKE2B 3f1e3f2e93ea5a6ff27c475c152c1eb20307e8e12ee5f60348c916df17e7d0c43b5ee504cdf8bc54e8bf63b89b3d9f56f505e331615836de500bb19f5020c0d6 SHA512 cae16b08bf81fc93c598d01c6e7c805bc421e5c01a9999402aaa4809753d214967e01f71c1346a43be84fb07bda16277486c3b53ccce3f68f427d222439605b8 +DIST firefox-152.0.6-hr.xpi 472448 BLAKE2B c72175fca5889f62bb3443d9739f79a00fcb7561824964428f5593e276679f814b89c0c1e160f87587e96cb8fa66d996f772130491e66776d49c44e0d577c583 SHA512 ab89f9ebae0c5a17f28f4df8b1f592abf4ace14aef6032044011a0c37941d7080c4fc8a4a60efd98561d82320c9e26c5248c6df5aeb344c72791d4b58d9c32a4 +DIST firefox-152.0.6-hsb.xpi 511227 BLAKE2B 7a12392230a1ef3c4215339ea4176cc67a96ab3271e635d37d6b4d1ae89998a845069ec3fc429b47d4f1bbcbb0eeddc8a6731839353eafc18a6d841d29a336fc SHA512 cbf9f6605362da37e3bbc40adae6ea6b33ca51c81488853fc68e931afc1a9ff23633b51b75e93998f7c79a88ed7a71c2b4c6d232e46aff43b5c38a2f9a3f45cd +DIST firefox-152.0.6-hu.xpi 515437 BLAKE2B 9a86af97287b7f3c314658c54ae2a2dcde907ef3fa345e856c68cf433189f902c44d5ecc00e8abd2a34a01d732da2760274407214e64f1b4ca4dc08da399d973 SHA512 afd0a0a00d93addcef3894d5564810aceff9669a31a7f7a8661e13c0c3d763a72f41c3b232e6a5719b44fb964a49fa00a43be06892358342621d91f6c6d036d2 +DIST firefox-152.0.6-hy-AM.xpi 498184 BLAKE2B 4e862faa0c4fe2d876c535e3a488f50610cc3932d09d94db10604d1e655e1098ea9bc65ff80c4526dccc6d9c063cf941d5dfada7d5dd9a16fd0f7fda25a3bfdd SHA512 c06d24937fffac9f6297aa7312dec743558645f0574cb6f0e655ce06e377838f60bc2a4ae35eec2dbf73fb6614ea14177e5ec8b122d09ed646109019c479d6df +DIST firefox-152.0.6-ia.xpi 474254 BLAKE2B 38a1f13f8226f91e795c555b162b8451f2c217aa69e3b82658a13449103bd7c2334030e852a1c83a841bb88bd63ee61845ce7d2b537748654c807e197c3c83be SHA512 433f4da58da4304e3a0a899a96dc22da8425a6a74765cefa8c7e196cb73bbda66a95db47e5b91cc398104f6ede07f3ac85440165977304957c75261cb268ce7d +DIST firefox-152.0.6-id.xpi 433197 BLAKE2B 91df1c032e92e243556115e17e7e7496a32de559725e6a76514276122f6e21c6a96e5c895c47a4a5d98a3dd35bcd628b3990545e6e25ee49d467c0ac0f0ba56f SHA512 a1bec707bbc2d0a685fe97549037cbe053a087deb973861b9ef871f1fa61e9c47b79ec2d892874a5159687dbba7003795e56c84a6cb3dc0a7978ee33e8fd4619 +DIST firefox-152.0.6-is.xpi 441018 BLAKE2B 56e8cec18601e0eaf9970d9f243a6cccdb4fce2d66848d5c5717055f7e875683dc549e7e41a4d10ea747e2e8a8e3e5922f28f24e1d0fd4ccfd6175aac66c8254 SHA512 5600e9ca2b80c89bad0058e3fc2fd36903f938554b09c7a7e25d3d74ac269b94c9badcf7cf3053769a4d7837c75ae99f59701b6e5cec12c548bd025d286de3ae +DIST firefox-152.0.6-it.xpi 486440 BLAKE2B 541cd4cbd30271a25dc8eacd31491bec1e55e820fc941ef9bdae35d136e58d33460c603e7982933522c4d5a5a04130d682386a7b55c80726ef5948ad8f754bf6 SHA512 355d149bc51f7ee44fd764ba0bd00c0d41646f6fd8d62a77b910aae0a2303d792475a2f3e833aae9fc30ca63db8d8c6b79d3e63c2ce897abb11c15707b92fbc5 +DIST firefox-152.0.6-ja.xpi 530161 BLAKE2B e4053f17d5c1f2159715ef675e97bc7445316b38ae433c555a13960e1fd7e90d1ef72675faa233085d9033a43af4457fbb3ede8004bec82bc1cfeaf1971f9c36 SHA512 2a15cd849edfd4e09dff5d96b3bb6ec1c0d2e7023be8f98f2953cba465294afbc8f11dc6b01672097e73d2edaded1adcc9e41e47eff4ea7f468b658aceaf1097 +DIST firefox-152.0.6-ka.xpi 549529 BLAKE2B 3a425e45dcb602b8b29a1e1017c84bfb74f13103fd4c8b47c30178e9257afc2b7fd459c6c26303d71b605669cd3c73e5c07d879308318a207ab6785c2bd5140e SHA512 78a55d816dc22149c0d6d9d1ce1975105370550d55d871a1f135db9103a03f38b3fb7a6ba215c38de82639d0bf6988b5364b7a12af160ba96a29c011c40d75b5 +DIST firefox-152.0.6-kab.xpi 427380 BLAKE2B 89090054af5e33b7c65beebc983c6b2419ff186196e75763d78013cfa490b5db1e36aba341e5db561c961363c0f288e4e6661101a442ff963373b45cade6f26e SHA512 4033ad854ab4c388dc77d8a9ca520223b9b12a01241a1aa5af555bff8cbc6ae517520f9777fb9fa757a5077947666a2f248f663b3be0775ce8527c03fa37a75f +DIST firefox-152.0.6-kk.xpi 568463 BLAKE2B 8af8e9eea545c82d06b8bcb2398ac7949b22d99e14370e127bde63e2f6f7592ebe0e3f8c89fd9dc24d2c0ae4e012e443c31b43a8411f009e421fe6ca2d002a8f SHA512 7eb4c8dc7ac1dbb120f143e2497b0fb46baaf5dc875bbcab9d30bfa03e4e0e0b3ad88817385a81517a5d643dd953ba430a56fffc9ffe7d64467ce2587cc359c2 +DIST firefox-152.0.6-km.xpi 375973 BLAKE2B 6cc33d7519dc6fd1f1903e97a8d6f337ca53e1da1dd32b9835292e4eda4b2a2b0dfe6018f6ed45caba601c06b0610fbda45ca8ac330d42b15382980135757eee SHA512 d1813afbbe3f6fa24c31e69de95c86d200b045ceb7859bff01a634f615a88459b0b5582c46d002ce89dcc8ecc86990e2867764c38305393ce1990d73f534afee +DIST firefox-152.0.6-kn.xpi 333350 BLAKE2B 62bb302e9c923862d6a440038f20f0b51e0ed89f5b5f18fe8b6329d2e5e0480d93bda315fcae1c8fac10a67ce2d35e6968ce34656b3e5f7063587ce877bf94e1 SHA512 366cf7254063404a9dd03be79a50ce9f9eec3d4dcc66189b7d54442a3f578efa5021fc82b2bb3bafd63d2eb7cc261ce8d80afb3c7871f7c422d31fc5922f2f96 +DIST firefox-152.0.6-ko.xpi 514478 BLAKE2B bcf9e5da2c72d5086ef5520eee4475ff9cd3685e095dad107073396aaebfd9d9477f5d275c1368c6da07d07ac969c6c5043bd6f61281d6489e230cad0b6d9bbc SHA512 c672d240fc63fcec65ba03f62ce76dfac5c7a06b16ae7b7df32073e5549edaab60e5ba4203c0a5bb1b38e56453d5dbe6d5e07ef7f4591de9034632db4b81e830 +DIST firefox-152.0.6-lij.xpi 323320 BLAKE2B 615485cba5fb3accf8744d15f042eae3e9545626a3e2cfa53678b18c1e7ce809db10dc9974aa51ca7326fdc363c2336e58b7cfdb31b3d945b1657db628863dda SHA512 c663972b1076762ae6a4d02c09d1ef5d8c2430ea31c219f1a56d1265c4b1bff330fc4da5ecfd2014605d00695174d71816a4b77fe9290415c60af0f23f2ce24c +DIST firefox-152.0.6-lt.xpi 379977 BLAKE2B 43dad45ba44cd6e50a527f536e7d32c4340a5bebad51a73b7ac92d2076da7b1270a5fe9cfe5f94a164c597cf840b34f960de75539c7e71f5dbd2c63c35b12803 SHA512 34cf185f9d173a1525e732bd2779855e783789a1bca491e542493a6a138794e2a8622b540051b75d8524c6d181cc0320b3f076fa5d4a37f337711f7a752fe97e +DIST firefox-152.0.6-lv.xpi 398449 BLAKE2B 1bc81fc6feabf2f85fa28939a6b6d4037f6d73ee83d668c22037b209046d1243262b4ecda021f214f7b72be32797b0208ff6957692b32a104ad7b4b76d21c6d0 SHA512 9872c33e13576cde44c1b94d3309b92fca82e3a725f7f3fc0d3762b363ed9d8482f620c929f4439525b1a2631a9395809bccdd2518e40ca8b50a9adb1bb10911 +DIST firefox-152.0.6-mk.xpi 371146 BLAKE2B 4290dc341d55b18e6843820ad148da4581548a8f1f8bbe8bda663843bd7fdeb6c911dce8b8509b2a79157a922bdc85e7948056bf7c779eabec37f167d3fb5c32 SHA512 235bb3a59e1c5fac1e265245fd6e3f9f61e5f33c6d3d3621929476dd24ab4b708309841f7bb407711e466502d43cbe967e002fedb95d79f6c573730e4c73bf6e +DIST firefox-152.0.6-mr.xpi 356754 BLAKE2B 61f81f7fce0a25b25c58c3013196c2c460cd34fd63e65da54d59feab9dc1947c53b7bf9d9fc0aa9bf0f5754fa6c7b159a981c300c23215705ef2c14d3b237b72 SHA512 3e4eddd50317eb389f42dfef358b1c3cd83a2c32435c8f0b654c034421efd51b028b2e5885d84c1b6a5ff1de048c047bfb047344912f6bf016b9a01f9845a580 +DIST firefox-152.0.6-ms.xpi 296901 BLAKE2B 233c944263daaaac5365c5d8382505f18882a8072122e8ab2ce45d16cd8f48086fdd06b7e791d73bb57dc8da87518b9872a9a2524eb5f986ea4cd0c0ebaf4dd0 SHA512 35da6eab61647c62adcdfb8fb3b8eb9d4dc4d1299bbe7b4e3b04876522440ffb2bc2ebe1c81faef760b50c478d4cd02696368da16244395d8a899d7f36e4dbf7 +DIST firefox-152.0.6-my.xpi 343717 BLAKE2B db34cee0f60e8611d68be36f7c5a1bc57fdeb85c79f4a7a4c5b7f11df1e9690e00ae7ac0f014d0c44e2bd9f490ca26e94eb28447b290bec6d6e70642f6af251f SHA512 eadf1111f2e00d81acad63d137feefc850e7a3caec26370f73675723662e160e86206f1ba15019fb23d5b6a12dadcd18684cef6b01a358aa5dad3f9f9ba12590 +DIST firefox-152.0.6-nb-NO.xpi 473270 BLAKE2B d68561034ffce24ef12fe9a927a6cf064272c03887197cc87b4539737308870bc2c4f5c71c6d48f76a1e6b0ed3d904885cc8bfa0c051ca15c7b9aa87f1226903 SHA512 235e826c5a5bea532c0c8cff16dceca490293a871204c741b92cb344151af7d9ab62f72f23d3d844c51e5271d287579dfd35892fc6d8f1e5bbb3c4b1c5c61786 +DIST firefox-152.0.6-ne-NP.xpi 348954 BLAKE2B a73dbd410a528e45a60ffde52d7cac2275ef71b97b8c315d1f0843867f131f819344121bca67c15c5a2286bd51cbe3fc7e312a05d9757f2b0ee83f3d05f7a5cf SHA512 2a35971622d70fdafc47e5af4fb474742764b5554183a5ca61abdd8f9f7a1ccf87ce376cb50c628b5ce8ca09265b1da830cfa114e673f39ef5a2191e1da02360 +DIST firefox-152.0.6-nl.xpi 481114 BLAKE2B 26be01aeeef3247cb578c00ddcc493ec8b49f64099bf79e9aa8b2150262be59027116ed72dd9f6359408c0148246169050e85e1799f576be280ff77fbaac8f97 SHA512 0b08674ed4a551f8a128a6d490b11a0a430cb6a880228fb7e2084e234b8ad5abab48e6d9717edc14d7e8064d08740c98a55a640045a2c973299e029840b4ff53 +DIST firefox-152.0.6-nn-NO.xpi 476705 BLAKE2B 6dffe7772653f5ce93fc70b0df4a645f610ae98456f6f7cdb23cbe9c45a10b7d6ef468c091ee466ebc3381dabf568141049445384dc5ab861ed34e5ac6d414a3 SHA512 b5c914323d8953f6a85a7b45ef6f7a56ff3df4909b075ebd02e546f6e263f0e1b81a091d96fded33308f7ea32b92cdd7d4c3cb9763f425cbaf2aa58febf4079a +DIST firefox-152.0.6-oc.xpi 414367 BLAKE2B 1413086e1668068107ff0449a7886ddb3f5bd83a8ff966c0a7cfe98f00b01c97df2766472e9a0c4bb387ecc2f383b43dd28fb9924cba065d7c8d8cd7a1009ebc SHA512 7273de3e6c579ab2b60d542e9e59cde6ad9e0bc9834e8adf1274489f3fda632a4e7ee6e347981aab570279e621bd9950ddd0724bffbe2703acd4738311c8be5c +DIST firefox-152.0.6-pa-IN.xpi 547927 BLAKE2B 8ec2969826619d9e0326dc336b45044092028424f8d80c9cbb20ec8be028018fedd5013113d7c414d7c3d751c16ab993764911b68a942659c29995bd5ca5af64 SHA512 d535c627cce209cdc3025feabf42d07d45576507f8c7fc8b9b9bcd56868567502c9d0f81dcf3b7de8824d74943320615c25dedd71075859462cdc47d945e4fe8 +DIST firefox-152.0.6-pl.xpi 512173 BLAKE2B 65017a7c5bf489eca57d17faebc5e5d68a22efa850422e27639bf715412df33313a621b1c74321eb158ec8a92ed6676ad34f8bd0f63b7aeab0813d10a256a389 SHA512 803c5f1117c3ca533603d90319791dfa0395df03a6252f8f6cd4c1f687771b1fe7d38f49dcf271fb8fa1bbd8a7b4246b1cffaddbcdcfbb6272be2febd2e63ee6 +DIST firefox-152.0.6-pt-BR.xpi 485864 BLAKE2B c837991fee7602f92b67b7673e8b017bec6aeb924dedc821f54a0feb1a68a71934366164e5d728d7d131e9e1317b64a34b78291ed42da778e8caca06a08bb5de SHA512 7fecc489d60d3b75d97879a68eb42e98da9f7835726bc221867603870f6f48cd1889de330579bb924daae717c747fe9b80dee902553a1f7709501c2f72d3a04d +DIST firefox-152.0.6-pt-PT.xpi 489645 BLAKE2B ca0464e2be48de771a3123ed9d087cb361178cfb60af8d249f88f9da42394ce10f403db7584025df8308ee6221bcd7101ef2a39a1fa4b8601d3eaf837dac3d5a SHA512 9d7948d5dc8edbbb1351b8e04281fcc5f20858ac5860717a505a6ec85dc2c7f2049d33f3fcf9797d876c62554e8b7d871e1ff7e14186baa2ca3bdb1445a72855 +DIST firefox-152.0.6-rm.xpi 458007 BLAKE2B 15fea99996489d241c1cf5e24368335b7fc9ddf4ca407e5f962ddd06b9471764a8459b937f734f6ee8b0d7ebdc7fe922eb32cade74dc76d3b4927f2f58b6382b SHA512 b43529dc705b8bde379cf7cfc9a824e0450ed5295ea8b789ed7b36f245bfe1fea1d254fe01cede7d9c08b90008089e503a0214f93cc0681cabc6eae4514009c4 +DIST firefox-152.0.6-ro.xpi 499820 BLAKE2B 4f557e3956d608308c78b1585c3a02c0c63f46c2bad55f86a454f42346c4381e208dfae5394727919ceaf706ed06831ab132087bba1b4f762f06b09cb348e82a SHA512 7394db1490f96c78db49d1b97f75524882a8947198354dd1cf93253a8f7cf5bbf9628de5b9463094caa9616a69ca6baa23a6dafbeb260af21237405c3762d223 +DIST firefox-152.0.6-ru.xpi 581057 BLAKE2B 56500485bf4871166a848892b4e3fc00c5123ef0d681bf1626b872aa5ae8dd90bdfac2bbe182d3589444081a2c839cf14d06d100e394010cd2c197c7962d829a SHA512 28d15be09aa44ccf024b8f8240fcbe678db92f1c9e8599715b5ed5705c83303977ed228f12a85c9534a4e088b796d820c4ce3a1aa86b42bf75b5958e3d8a0fc5 +DIST firefox-152.0.6-sc.xpi 430003 BLAKE2B 14ab668be5750d2d4b1ae9de0f1745771a48c8fb9903442a4be140d926d1ba80e75bf74d24d2cc994ae9de3fab576efb320a96e82afe7ab14b9d1f285d3b3ad4 SHA512 4557c070466a0d1667cf37463b20d37f66824634a43c215276c9a1ce9684370b207d8df62f8c5e717f3a615588fb73f06abaf6447dc802caeef156de8eac6944 +DIST firefox-152.0.6-sco.xpi 323544 BLAKE2B cee1afe19a8715592ee769615b0a826938aad2485c9833212ca8dbc715236d49f4ab91d196739c97bed34af6b0953dec0eb48f094086ac8a3c791e2c5f02e3c4 SHA512 e6906af7d842c571401dce61e380b0bc11da6cf7bfc0594e51f9cb8860b6dc582ea0da96037e53c42e256a00721393efaede0ebc6d1928d4409609388eccdaaf +DIST firefox-152.0.6-si.xpi 409421 BLAKE2B fb6152c4e6cfa8289708e617d41e7929fecf46245cc09c7cea7f165b1b05bcebb401a07d550f1853d3629124d2ede51dc46c91152f87ea93dc344abda5972a7d SHA512 c27ea2fda3ec60d153ea3227ab7cad6db2763e91fc194bcea87e871a1a56a5e689203ec2495d2ce61492443b06a37ea5634832b2686001908fdad1979b53d2ab +DIST firefox-152.0.6-sk.xpi 518351 BLAKE2B 6caa4dde2f34e6646ae037da4c9036d414aeb912ff7d5041fa3175996e03803719d9ed5a57f733afb02e26848c9ebc25ab19b1153fa6bb7de5125f2b7cb701db SHA512 4c6ad137715abc4a581baf9241fde7b873808dd9b4d2994a8d99b88e85e5c70ca6cf78d0636df7f503c473e2ff366249354398787cbd22e1549ade7d6483dece +DIST firefox-152.0.6-skr.xpi 484341 BLAKE2B ef62bc93c11764c7b8b1c2ea9cd173e6c8b6ce1e7a38d99adb73627d476d50e791ed1a137bbdb3db42154c104c0687d5b3a106be8602df5754b69ed4775f35df SHA512 381ce221ebd0754e1a9c85327babcc90097a35a38fe07fb805d8228d04b2bdab53636d734bf87589d7864ab265468aa705ba8aaf10502cda44da07f0a911edcc +DIST firefox-152.0.6-sl.xpi 484095 BLAKE2B 9810d6275a9429fa71dcad7e35bad31483ded9357d49b851f7eabeea1d0ca859d178445824877a72c41952866196be0461127757e75ce0ca956ced15cf3ebb3d SHA512 1b7592e69c256e7b5f336a00aea8a096de9463e81de850510c59e99ac6840953af603ef2900b41918d2f644a5b3c690701ca332d29a90491d10a791ec46c8ef4 +DIST firefox-152.0.6-son.xpi 275890 BLAKE2B d1e4f9d902915f39dc27384e553f465991fc617b2e0c1d11ee284c7db43cfa9941e31269f8523dd4cd7b712f1c01e417b7f9cd29700b352efe67cb511c2a2cb4 SHA512 cca379e3974f958fb1bbe079a189b2a658b5ced3a7253fe7da4d161777744dd34e5bb6c35a8de7aad49f1e6ab8a0d1233eb3f08f06725d949da72ce75c7d664b +DIST firefox-152.0.6-sq.xpi 492022 BLAKE2B 45b8270cc93f7cbfca64253ab34587299ea78270fa3722ca96bba716530a1e8009211600aec5ed7a95b0d0eec683a91ffbc2061bb74557d8a5eeec768d4d8a5b SHA512 1d72ad0495bb0c29d9c5ec06cf341b34b60e59904d8b28b5e27b2466d762e9e70de9b7f412e71ac7af9b9326ab41f454ad5c2f5ab04edc2a4fbf307e6925b684 +DIST firefox-152.0.6-sr.xpi 552473 BLAKE2B 9a3446d9a1b51f6848d1291e9b40579439c7cd4a8f99dbc6456d5a49476dc33fe5b324cd14bb6eb3875c67f0fd0495ee7eb457ca07c539ab589217c53fabd58d SHA512 99111ca0ad72ad982c17b9842958701a5f848aaa6e09a2bab440c477f3874d6bf49bbcc4a93049a7e9db8f21c9654a7a0645f5f947b2e844dbf7be57851f1876 +DIST firefox-152.0.6-sv-SE.xpi 480606 BLAKE2B a3dea0900342d2d808c535aaa87263f8f6ccaf2cdbca694be1737a4ebee3fb7fb7210bae60f7136e5f974f6faecdecc1732ebdf787d21631e10a6e14606453c8 SHA512 555919e2df6e9685d5edd6f40f0fb392977041a138b0c22f1cbdd24a6c56ea15c372e7fbd3b226c646984167766c515eabcb16a998db4730d55fc2649dbe591b +DIST firefox-152.0.6-szl.xpi 342094 BLAKE2B 6778b3988f5b8a7df7e3cb96832403c42582e596f54e6ed8b2519ed07d9e3d2153ce33776ae08463170234b90b9f2143b8f984572ddd726bda4009ab481f4afc SHA512 e60a886c87c03a5742c69cfef152d675172478fcfe84463513c2858bc3413b29887eed297db1f6dbd7bed156083d36033c442fe7b79a2e90b6a3be8f35d32762 +DIST firefox-152.0.6-ta.xpi 338706 BLAKE2B 532937f9644c6177ab1ba05c1d5c4772f7f32a2e9aaf95b22567e13a9bd965c3b3476d32cd01221084622b9d8dc932a204a7f4eb1a2983411d9da5c461d6b844 SHA512 9c5649857bad1672b59c856798102422c75be6d493c9dc53ee9036d9b51ceeb1c2febec54dff3b5f53c7f3c9f63ec86a624e10ab9cc33a2a11239578afddcdd8 +DIST firefox-152.0.6-te.xpi 388473 BLAKE2B ae9bb54ea03bf65c7d6ecd376e5de68e6b66cecae1a0f7fba481f268ddd82ee103d72f27be4f1d668c6c47bd3da705e9705a50c72415fa988a19ca55bbb3dbe1 SHA512 4028ce2fbbd2f81a969077bf38bd099b7d8446b853484794bc9ba0aec71da36b0a9b273c253f16fdc34bd9852b7f37ac69bf4c27d75cc277cba828eb3236d1a5 +DIST firefox-152.0.6-th.xpi 558165 BLAKE2B 9ed5b03fb57e9450113592c22d80746033481457d24e11a4f8822bc06ea8d6ac5f549d9adc1c21c79d0642759e1746771205622cfc813a84e4a95d5fb54c2aff SHA512 8ec00e9268e5bba96c4b3d638e7b02e0f3a08eb00bbd0eae26f823db38e5e3c6516be59054c66d1e08a7f7716624fd8fd1e2d0b9f9759d6120b57abf589b4998 +DIST firefox-152.0.6-tl.xpi 356373 BLAKE2B 5e6d793476c7a00587449e7852cecd613e4b1abc09e3240902940a49716f867a40620ec3e8ba1127a885139250fc8f79682d6e9130c864b10f568e770ea5f23f SHA512 d853a517b921cd933eaf1ae4db19770828b2e1de2cb481180b35d6e161cd50a35808bd7ee61eb9a3934290f4e6cbfa4b27d99dbf36ad2038a21d4870540ef9a4 +DIST firefox-152.0.6-tr.xpi 495513 BLAKE2B 120ec8ddce40952774b88963031f00802ed6e71d1ca48112ae6c95912e72af4c2313b3231acfc201f3ba2d9044b24a55a60b3f8c9c92a21d95eff5606743b27d SHA512 a39044da85db80b67783ecff97cdedfbcd5e820f84bc05208acb0192289607c703f1524fef052bf1ed92ade7246ebaff52787e366975754ed228b12d9953bcb3 +DIST firefox-152.0.6-trs.xpi 325402 BLAKE2B 2aaeaa4e5fccfe7b1fae231b436730b9b038cfd23bb7c67ec6683272c38e1d2063b3d0f6aad737345f565346da2db4f3f5263a9515bb0f8dd979549b15e5193d SHA512 cdb61729a178d46bf07b1e8f10c8f1a9d5305750e68927e192485d40ebffc77d8c89055a7deb780407836bbc570b0b50928e878ac4e24c1dd38accffbc93754a +DIST firefox-152.0.6-uk.xpi 565394 BLAKE2B 552d2f9b9fef0744554b81b8014e69e0d3c34aa7eaea755d91853a1ec4387287a7d9350b2e49edd8ffc78a09afc520cfd094dcfe1e5e3ac089690ca2f17b233f SHA512 79e62b94c38454cd5d70d0e76ad1f3a0b65432b2859b10828d3f89090ea16717af92704db7c12ef29d75578ccf3b7babce188e55e94d2db1f8fea5bb87eff575 +DIST firefox-152.0.6-ur.xpi 371124 BLAKE2B af2ac69551d060ec6f569e989944aba2cb108e46436398383c2c8d26bdd9631ebb2cfa8118d54f8becdfd1bac41aa57e22490d88da313583dcf7f350748b2428 SHA512 89b314c34772fe1df024a7b2cf82c677b4b588b6af97de4268e326cad927c23e3f97d2ebe5cd8c842fe9e91ebfaa167d50eb2bd6874a9c5188e83b20f1953f71 +DIST firefox-152.0.6-uz.xpi 305663 BLAKE2B 24a3374ae659c063d9553c09513e0ad2810e30fe99ac42236c341f66631f067a4d66a9eeab6cbcf5f3560d7e677a3112c628055e0eb951ead759ab6c51e85898 SHA512 c587aca3d4db7a072f8287fe904ff076ccd4562cb5c8b33b35c7475de117b7ef3d4f0f1527b3df0058ca4e4c93272d694333febae32d1ab90ae5fa86c852d863 +DIST firefox-152.0.6-vi.xpi 516614 BLAKE2B d64bef02a4c15960658e3e70de6f678bcfc55c4bf49e6337bf2b4726eb6c509dbddf72659630ea1d93a2a57009d43f70a3409705482e6421040b2518634da50d SHA512 69e4d61e8b1d3fb3dc2d73903a7d442c43f8a76fbfd03c96171a2bff9929e50e38f39c784081c06310aff07f7163c1e5f6420ef27882f5090df3c7a10bb8af4b +DIST firefox-152.0.6-xh.xpi 275378 BLAKE2B e26f4c2d4c75dfe535c9f39440687636191f0d3e978cc9ce93d78ef3d096e29f80b59a1eadc285236445191eb13d7d8b346560cd1c76a5a3960afd64ba6f6766 SHA512 3d1dc3208d2f0d881006ac45fa1475f2604fe6a6ab321eff65df58e011a456a87e7b947df23958b1a26af4b44df40ef4134076438c6696dda4eef86a98501a04 +DIST firefox-152.0.6-zh-CN.xpi 506726 BLAKE2B 64916a9933073504203ddaa8353342a4b3da8f5175403263c07d3589ed681a056ff0e11daeffc3635efadd856f02c792d90b91b58662aa984636b9006405fb41 SHA512 5f9bce4e899267ce2b8de6b5fd8908c2b7f456227bb461ed6bed7395c088b20fb690ca10c7aa8da3e2ca08182b2fac6b8b4288f56ab018e08db7ee2581d4eed7 +DIST firefox-152.0.6-zh-TW.xpi 510886 BLAKE2B d209f239923cac1677b8b084dbd986a2eb3b9040c4474d0930aa8b47ecd858a4af668c51e7b4b82ea92f3304b46ecf5c5b41877bd2f1e1f83eaab9db9cbddb70 SHA512 db3557af70134c6509781474b2d8b9ebc2810b8b837201a93bf9e36d3ac724dd087157d38a7df5a7a062e41cd75db5db50861b6e7c3d546ee69b8b214836efcc diff --git a/www-client/firefox-l10n/firefox-l10n-152.0.6.ebuild b/www-client/firefox-l10n/firefox-l10n-152.0.6.ebuild new file mode 100644 index 000000000000..47f081fa54d4 --- /dev/null +++ b/www-client/firefox-l10n/firefox-l10n-152.0.6.ebuild @@ -0,0 +1,181 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/" +else + HOMEPAGE="https://www.firefox.com" +fi + +MOZ_PN="${PN%-l10n}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +DESCRIPTION="Firefox Web Browser's translation files" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" + +# 149.0 is when the firefox-l10n was introduced. +RDEPEND="!<www-client/firefox-149.0" +BDEPEND="app-arch/unzip" + +S="${WORKDIR}" + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb el en-CA en-GB + en-US es-AR es-ES et eu fi fr fy-NL ga-IE gd gl he hr hsb hu id + is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO pa-IN pl pt-BR + pt-PT rm ro ru sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_install() { + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${MOZ_PN}" + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi +} diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 752cbba85b6a..89652087f9ca 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -103,5 +103,6 @@ DIST firefox-140.12.0esr.source.tar.xz 641934156 BLAKE2B c9e3b2fd860edf1e9147541 DIST firefox-140esr-patches-12.tar.xz 16200 BLAKE2B 51110f80537b2c3fd2e53e6c65c8d19b78b6ec828161da8697dfb3eb008c39e036517c78b0491f1131351967d3a775154d795bafe978850415b2f9fa5415b8a2 SHA512 a73007646116a1e50da1e2cfab623794283ba6890743c17bfefe4115ee4b1dca5a55fe1ed798a6efcad0c2ff708dd38bab0d328007b4ebd99c9c90f880920bc4 DIST firefox-152-patches-03.tar.xz 14440 BLAKE2B f081628d26a591637df5f9f316a368045cfdacc5d9b5eb732777272c4d3be7a42691443f194ca1a6538b2262b4c4b0bf21bbcd53836a98fb90cc8b442bfd13a8 SHA512 ea6a1a3d7cd9ada4950cc69e63b79b1d5dc7ae2218de856198c24e24eb9b52f552db54dc8796e6a795a61524319182b87d3f2f49f588a1a0719c66ce1f26df5f DIST firefox-152.0.5.source.tar.xz 800076384 BLAKE2B 011cae8194c98ada33d47f468ce3e23c7c3056f09c9ee0c69cd8eb58007d88002436a374bcb8eb9cbffbbde27b083004c53b752a5a4b6d342af220193ab2e7f7 SHA512 6cf2dc7f28a6a3430f2866df4ca35063cbadf234c82a34fa651e02d909e5741e50cd986fef1bd97d486b51244cb639b2b103514688347bf7f94fd16d264cc4f2 +DIST firefox-152.0.6.source.tar.xz 801138984 BLAKE2B d0a55f6f30a78516d244037d593ccb08f6803498b582508af35d5b2811097f00584c5b1760c488ae6e7073837b88087ff94ab36eee9af8d7a110350515fc94eb SHA512 c4d877837d7007fb611c38d49d9b6dd3bc4c5c9ca900b54e722e140ce7ecd0924f69b5cedc7f8c1fe602e7efe1d7159b019de27999e29235cd631821bb13e6b0 DIST wasi-sdk-32.0-arm64-linux.tar.gz 142940986 BLAKE2B 45712415f916c2749bac9002157def84f75d005bcac0403cb9b5a814623a1e0c2a2f24092d55478ca5204afa82c7499cabf405b8e5c6e95a514351801da4a91c SHA512 e39f3130290e63a7c2674e8838bd6569ca6a630c0231e2a303d6bd4a6b7f9c78b59a99606193c3ba3e200d93d9221339d23653e98ef720632d54c5c6866dde69 DIST wasi-sdk-32.0-x86_64-linux.tar.gz 143157058 BLAKE2B 62b83e2db70b24361962b392551c604b21c59535b8d34a5e652447d7b722b033327334f0e17381d28eaa6dcb31fb02aad9978c66b761fb592b6de502012aeb57 SHA512 f77c08d1eb0f8e765bed4955d4794b33bb38149df5a144bebbe43e91fce3cfda7210cdf57073c0ff23c1d3c68105b6c69b4782af1643a0be2f3310001a2398f0 diff --git a/www-client/firefox/firefox-152.0.6.ebuild b/www-client/firefox/firefox-152.0.6.ebuild new file mode 100644 index 000000000000..e512c7ef7628 --- /dev/null +++ b/www-client/firefox/firefox-152.0.6.ebuild @@ -0,0 +1,1389 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-152-patches-03.tar.xz" + +LLVM_COMPAT=( 21 22 ) + +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 +RUST_MIN_VER=1.90.0 + +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +VIRTUALX_REQUIRED="manual" + +# Information about the bundled wasi toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=32.0 +WASI_SDK_LLVM_VER=22 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.firefox.com" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + wasm-sandbox? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" + +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-pipewire system-png +system-webp test valgrind wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell jpegxl +jumbo-build openh264 +telemetry wasm-sandbox" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( jumbo-build ) + wayland? ( dbus ) + wifi? ( dbus ) +" + +RESTRICT="!test? ( test )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.29.4 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + gui-wm/tinywl + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${FF_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.124 + >=dev-libs/nspr-4.39 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + virtual/zlib:= + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/libdrm + x11-libs/pango + x11-libs/pixman + dbus? ( + sys-apps/dbus + ) + jack? ( virtual/jack ) + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-3.10.0:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) + ) + system-icu? ( >=dev-libs/icu-78.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-pipewire? ( >=media-video/pipewire-1.4.7-r2:= ) + system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + valgrind? ( dev-debug/valgrind ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[networkmanager] + ) + sys-apps/dbus + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + hwaccel? ( + media-video/libva-utils + sys-apps/pciutils + ) + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +# ESR and rapid dependencies. +if [[ -n ${MOZ_ESR} ]] ; then + RDEPEND+=" !www-client/firefox:rapid" +else + RDEPEND+=" !www-client/firefox:esr" +fi + +# Firefox-only RDEPEND +RDEPEND+=" ~www-client/firefox-l10n-${PV}" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="18700M" + + if ! use clang ; then + if tc-is-gcc && ver_test "$(gcc-major-version)" -eq 15 && has_version -b "<sys-devel/gcc-15.2.1_p20251108-r1:15"; then + eerror "<gcc-15.2.1_p20251108-r1:15 and pgo detected. Firefox-145.0 can not be compiled" + eerror "with this GCC, when also enabling pgo." + eerror "See bug https://gcc.gnu.org/PR122620" + eerror "" + eerror "Your options are:" + eerror " 1) upgrade GCC to >=15.2.1_p20251108-r1 - note that even with the 16.0" + eerror " releases, make sure the patch set is equal or newer than 16.0.0_p20251109-r1," + eerror " or use the \"trunk\" version," + eerror " 2) compile Firefox with Clang by enabling the \"clang\" USE flag, or" + eerror " 3) disable pgo when compiling with GCC for now." + die "Firefox-${PV} with gcc+pgo cannot be compiled with the detected gcc version: $(gcc-fullversion)" + fi + fi + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10900M" + + if ! use clang ; then + if tc-is-gcc && ver_test "$(gcc-major-version)" -eq 15 && has_version -b "<sys-devel/gcc-15.2.1_p20251108-r1:15"; then + eerror "<gcc-15.2.1_p20251108-r1:15 and lto detected. Firefox-145.0 can not be compiled" + eerror "with this GCC, when also enabling lto." + eerror "See bug https://gcc.gnu.org/PR122620" + eerror "" + eerror "Your options are:" + eerror " 1) upgrade GCC to >=15.2.1_p20251108-r1 - note that even with the 16.0" + eerror " releases, make sure the patch set is equal or newer than 16.0.0_p20251109-r1," + eerror " or use the \"trunk\" version," + eerror " 2) compile Firefox with Clang by enabling the \"clang\" USE flag, or" + eerror " 3) disable lto when compiling with GCC for now." + die "Firefox-${PV} with gcc+lto cannot be compiled with the detected gcc version: $(gcc-fullversion)" + fi + fi + else + CHECKREQS_DISK_BUILD="9700M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + + if ! use clang ; then + if tc-is-gcc && ver_test "$(gcc-major-version)" -eq 15 && has_version -b "<sys-devel/gcc-15.2.1_p20251108-r1:15"; then + eerror "<gcc-15.2.1_p20251108-r1:15 and pgo detected. Firefox-145.0 can not be compiled" + eerror "with this GCC, when also enabling lto." + eerror "See bug https://gcc.gnu.org/PR122620" + eerror "" + eerror "Your options are:" + eerror " 1) upgrade GCC to >=15.2.1_p20251108-r1 - note that even with the 16.0" + eerror " releases, make sure the patch set is equal or newer than 16.0.0_p20251109-r1," + eerror " or use the \"trunk\" version," + eerror " 2) compile Firefox with Clang by enabling the \"clang\" USE flag, or" + eerror " 3) disable lto when compiling with GCC for now." + die "Firefox-${PV} with gcc+lto cannot be compiled with the detected gcc version: $(gcc-fullversion)" + fi + fi + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + + if ! use clang ; then + if tc-is-gcc && ver_test "$(gcc-major-version)" -eq 15 && has_version -b "<sys-devel/gcc-15.2.1_p20251108-r1:15"; then + eerror "<gcc-15.2.1_p20251108-r1:15 and lto detected. Firefox-145.0 can not be compiled" + eerror "with this GCC, when also enabling pgo." + eerror "See bug https://gcc.gnu.org/PR122620" + eerror "" + eerror "Your options are:" + eerror " 1) upgrade GCC to >=15.2.1_p20251108-r1 - note that even with the 16.0" + eerror " releases, make sure the patch set is equal or newer than 16.0.0_p20251109-r1," + eerror " or use the \"trunk\" version," + eerror " 2) compile Firefox with Clang by enabling the \"clang\" USE flag, or" + eerror " 3) disable pgo when compiling with GCC for now." + die "Firefox-${PV} with gcc+pgo cannot be compiled with the detected gcc version: $(gcc-fullversion)" + fi + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="18700M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10900M" + else + CHECKREQS_DISK_BUILD="9700M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 and bmo#1988166 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + rm -v "${WORKDIR}"/firefox-patches/*bgo-967694-musl-prctrl-exception-on-musl.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm-sandbox path manipulation. + if use wasm-sandbox ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm-sandbox enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + # glslopt: bgo#969412 + moz_clear_vendor_checksums glslopt + moz_clear_vendor_checksums encoding_rs + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-updater \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-packed-relative-relocs \ + --enable-release \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-gbm \ + --with-system-libdrm \ + --with-system-nspr \ + --with-system-nss \ + --with-system-pixman \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + elif use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # riscv-related options, bgo#947337, bgo#947338, bgo#977845 + if use riscv ; then + mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc + mozconfig_add_options_ac 'Disable JIT for RISC-V' --disable-jit + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-pipewire + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable valgrind + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + mozconfig_add_options_ac "+hardened stl" --enable-stl-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # wasm-sandbox + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. + if use wasm-sandbox ; then + mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + ! use jpegxl && mozconfig_add_options_ac '-jpegxl' --disable-jxl + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + # PGO was moved outside lto block to allow building pgo without lto. + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + # Avoid compressing just-built instrumented Firefox with + # high levels of compression. Just use tar as a container + # to save >=10 minutes. + export MOZ_PKG_FORMAT=tar + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + else + # Attempt to fix pgo hanging with gcc, bgo#966309. + export MOZ_REMOTE_SETTINGS_DEVTOOLS=1 + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + if use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + mozconfig_use_enable test tests + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + if use valgrind; then + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_test() { + # https://firefox-source-docs.mozilla.org/testing/automated-testing/index.html + local -a failures=() + + # Some tests respect this + local -x MOZ_HEADLESS=1 + + # Check testing/mach_commands.py + einfo "Testing with cppunittest ..." + ./mach cppunittest + local ret=$? + if [[ ${ret} -ne 0 ]]; then + eerror "Test suite cppunittest failed with error code ${ret}" + failures+=( cppunittest ) + fi + + if [[ ${#failures} -eq 0 ]]; then + einfo "Test suites succeeded" + else + die "Test suites failed: ${failures[@]}" + fi +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + doexe "${BUILD_DIR}"/dist/bin/vulkantest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" || die "failed to set telemetry prefs" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + + # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${S}"/browser/installer/linux/app/flatpak/files/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg firefox-symbolic.svg + dosym -r /usr/share/icons/hicolor/symbolic/apps/firefox-symbolic.svg /usr/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + if [[ -n ${MOZ_ESR} ]] ; then + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + fi + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + if use jpegxl ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable jpegxl via pref" + pref("image.jxl.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + # bug 835078 + # might work fine with vulkan, starting in 152.0? + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/ungoogled-chromium/Manifest b/www-client/ungoogled-chromium/Manifest index e773d4e7802f..1616703cda44 100644 --- a/www-client/ungoogled-chromium/Manifest +++ b/www-client/ungoogled-chromium/Manifest @@ -7,6 +7,7 @@ DIST chromium-149.0.7827.196-linux.tar.xz 1609747760 BLAKE2B 35426def770e108f166 DIST chromium-149.0.7827.200-linux.tar.xz 1609868392 BLAKE2B 4ced9d2d5f3d273ce0049033c094e3401faf6d8bd4877fda60e6da79cafb96af876a0d92440b8b70067319f6881bda1d27ac696c4a9b9a971c4934ac49586305 SHA512 40d198bd9210fca8570787d7338a3ad0472deaaded00d1983b27bdbb7f98379cbbaecf4a6d99171d0a83ab8edf86f5ab5d015f73bb8c403c1c5c0c0d3ae1a02a DIST chromium-149.0.7827.53-linux.tar.xz 1611305116 BLAKE2B 72018ef444c4769234e13dab7cbe0d2abd03d140631d7ba3cf0dcd4b6fa87f777cb8bbfa6b8100de2166f991f4557197545cac090a9935ddf6ec0f988610ad11 SHA512 36aa5854152d0c0ce338331be28c077aa2cf9edc45c608096368fbbdd84700df4d428daf67b7c76c36a3ff423ccd5b5f6518814bc87facce3d2da529e9dafafd DIST chromium-150.0.7871.114-linux.tar.xz 1670274328 BLAKE2B 7462e3f64b27ef260197d7d3920ca38561404baf155fb2e2500628c9526bd774b7ed721415606d4b0704bd923536aedc8b750fc2eb0b2cfe01cefaa5b9f15984 SHA512 c6ab88182810bbf9423f01c1c4d02abfb3dcec8c182095ddfae5a49bb3817aef21a43eb743dcc95a6418ffaa54f3a8a4686795fb2e7be67f4c3d0ab489f0ee66 +DIST chromium-150.0.7871.124-linux.tar.xz 1670364688 BLAKE2B 68a19fca963ca95e1bbea6afa28bde1de3ac84301e719cf0c6885dba82061688966940b91bf6b821c620e1e07540bea88cc4a677ca815c62b61b6220321fa575 SHA512 bd9ff49b3d48a7311878f358a3fb15e31e882b234f7ff36f9657c28a0e1d0f3e7bda7324452cb0aecc08d4ca2f34fc19700651813e309d92936f068cbe0de527 DIST chromium-cf94ed446320d35c8613ed9b3ffb6e6a61bfcb5f.patch 9972 BLAKE2B 72d3b755214a8cc0299129c645b938746a2e4dff31cc9aa154019ebaf5c29d5ce9a8378dbecbf0455f253c5e10b83dbfd03a10573d8fa93992f2d6ac965a2b1f SHA512 62ffd3162a0c1aa4be51d3ead238b3a84463f8c6d55b9aad5806bcb23dfb2b832ad6aec7f348690c4b3aaf430260352ca558e791ca611d5e791e6b3eadcffcf1 DIST chromium-clang-llvmorg-23-init-10931-g20b6ec66-11.tar.xz 69635068 BLAKE2B 5250889dac7ca048030266b9e5eb9b08a1288acb1023fff3513555ca361f787fdb273b04d5cb5cc9960d7d13e804604ca63e65b056d1873a8f5e1d56e8f59db8 SHA512 4a1f06bacfb5894e277f3957df3adcc937f262ec91927d6fd97a2e4b88b795e2559a8498be633d6b191dd4d52a5df52669f76c59c2939689f5f88fc7457cabae DIST chromium-clang-llvmorg-23-init-10931-g20b6ec66-8.tar.xz 69605340 BLAKE2B 5ab6a03bfa76a8523d35c9f9541bc8aff2c33331208ffd2c729e6cd7e6d58e225d236ca8233893df57a52d4cefb0c62d79d61c8f902fbd909cdac8f148822fb8 SHA512 6e013faba35b624144535207c5c884d4675e4166f4eb212d2494c43dbb430b35030734d6f28fc087f5da79a8318531560529a0d0754a96d13e628eb5090de6b5 @@ -32,4 +33,5 @@ DIST ungoogled-chromium-149.0.7827.196-1.tar.gz 665767 BLAKE2B bb080b21bee602be0 DIST ungoogled-chromium-149.0.7827.200-1.tar.gz 665727 BLAKE2B 4374ff19aeccd38bc47551c895250a3f972ecac6d9e8e79fb14817d1bd4b0bc8dbebb209db07da8a1cedc4c4a26b3fe252c300021d6a1b724b1a46e9bbe2a99a SHA512 f194ed2f943b6f58b09f1547e67fdca842456c4847f5d0d9dc9d0959af86853edac8cb4a8b897241bfe30fb4e5d60f63cecfd3f0b1d1e43c1a81b933bba59925 DIST ungoogled-chromium-149.0.7827.53-1.tar.gz 664795 BLAKE2B 1f64ccac79b560cecc25b5e9d0846d6bd048900edffe06c5549a18f7d7312634a868f1b1b08c178826e95fb4f96fa9d3d48665288bf3ad943f385f56e3f9e5f6 SHA512 dd6dbb61fdab41924c7e417b593521d747bb51ec16c68f5fef9e0e3c574abd338cd9b4d98f8216c741ba4178d2612a4dd0ef6f164b3402d1b3b0ee3bb56c7921 DIST ungoogled-chromium-150.0.7871.114-1.tar.gz 669709 BLAKE2B 1e79d1a073ffbb3733e0e758130cf2b206eace70937e984791f2d08760d15cbb8b352ada59e0c21d05b7761cfdd5a3d9d33564b249162a3c07d25e178105d11d SHA512 caf5810553f68d15dfe72a180fd568601302cc52d311b5d5e7621e696a4e53944f72b0f5a93fb0a442ca1c87e2f0d66c7efb1db0ff7e903a966be3dce38653de +DIST ungoogled-chromium-3a1e4997f632b1e32552adb39f0e2007bd78b3a3.tar.gz 669506 BLAKE2B 62411f36e5c97d0de4117edc0c1d96149ec6da65735bf6cab27dc4b82c389686fa503aa1e27262fe8d8ac2454cd32225ec20e1d9aca8eda7da80ee278d38222a SHA512 ce60946630b521d1742f6d0013ab7dd7058cbe077962b751a426149f8836731fff987e9af4e400bee615326c4aa80e0ddfbf41933c513bc761427b574587d342 DIST ungoogled-chromium-4d7bb965938b072e1dc7d9a5fa26121805f97fc8.tar.gz 665638 BLAKE2B 84d8ef00835f9d880007db9c125729209900d4df1087099af9fd9b66727fbb37b1520908d3bedcf3416302e45866a4f7278cc0589ef6de25a5e6142c123d08b9 SHA512 b6653986b3af157ad5749eabd185280ccd24cf5a551f2e639a6ac9b51aff2fa4f5aa7c0b3cd881162b0da2f44e022755013d1f747e1268378a18fcb9cdfde015 diff --git a/www-client/ungoogled-chromium/ungoogled-chromium-150.0.7871.124_p1.ebuild b/www-client/ungoogled-chromium/ungoogled-chromium-150.0.7871.124_p1.ebuild new file mode 100644 index 000000000000..176cde865b1f --- /dev/null +++ b/www-client/ungoogled-chromium/ungoogled-chromium-150.0.7871.124_p1.ebuild @@ -0,0 +1,2528 @@ +# Copyright 2009-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Use following environment variables to customise the build +# EXTRA_GN — pass extra options to gn +# NINJAOPTS="-k0 -j8" useful to populate ccache even if ebuild is still failing +# UGC_SKIP_PATCHES — space-separated list of patches to skip +# UGC_KEEP_BINARIES — space-separated list of binaries to keep +# UGC_SKIP_SUBSTITUTION — space-separated list of files to skip domain substitution + +# USE=bundled-toolchain is intended for users who want to use the same toolchain +# as the upstream releases. It's also a good fallback in case we fall behind +# and need to get a release out quickly (less likely with `dev` in-tree). +# We can't rely on it as a default since the toolchain is only shipped for x86-64; +# other architectures will need to use system toolchain. + +# Since m133 we are using CI-generated tarballs from +# https://github.com/chromium-linux-tarballs/chromium-tarballs/ + +# These are bit-for-bit identical to the official releases, but are built +# using an external CI system that we have some control over, in case +# issues pop up again with official tarball generation. + +GN_MIN_VER=0.2374 +# chromium-tools/get-chromium-toolchain-strings.py (or just use Chromicler) +# Node for M145+ should be 24.12.0 but that's not packaged in Gentoo yet. See #969145 +TEST_FONT="9c07d19d9c5ee1ff94f717e6fb17e0c8c354e6f9" +BUNDLED_CLANG_VER="llvmorg-23-init-10931-g20b6ec66-11" +BUNDLED_RUST_VER="4c4205163abcbd08948b3efab796c543ba1ea687-5" +RUST_SHORT_HASH=${BUNDLED_RUST_VER:0:10}-${BUNDLED_RUST_VER##*-} +NODE_VER="24.16.0-r1" +ESBUILD_VER="0.25.1" +ROLLUP_VER="4.57.1" # currently manual. + +CHROMIUM_LANGS="af am ar as az be bg bn bs ca cs cy da de el en-GB es es-419 et eu fa fi fil + fr fr-CA gl gu he hi hr hu hy id is it ja ka kk km kn ko ky lo lt lv mk ml mn mr ms my + nb ne nl or pa pl pt-BR pt-PT ro ru si sk sl sq sr sr-Latn sv sw ta te th tr uk ur uz + vi zh-CN zh-HK zh-TW zu" + +UGC_COMMIT_ID="3a1e4997f632b1e32552adb39f0e2007bd78b3a3" +# UGC_PR_COMMITS=( +# c917e096342e5b90eeea91ab1f8516447c8756cf +# 5794e9d12bf82620d5f24505798fecb45ca5a22d +# ) + +CROMITE_COMMIT_ID="cb3baf14f52eb4365d017f640f85310735c19b79" + +declare -A CHROMIUM_COMMITS=( +# ["fcfb1a42813f1e9d8babedc7bb2e0f06101a3151"]="." #148+ + ["-cf94ed446320d35c8613ed9b3ffb6e6a61bfcb5f"]="." +# # ["-37c28a19804e47a68eabf3cf882a310689fc325b"]="." #disable style check for cromite +# # ["cd5a0df905a28faa89ff2a4ab44f893f84dc4487"]="net/third_party/quiche/src" +) + +LLVM_COMPAT=( 21 22 23 ) +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="xml(+)" +RUST_MIN_VER=1.91.0 +RUST_NEEDS_LLVM="yes please" +RUST_OPTIONAL="yes" # Not actually optional, but we don't need system Rust (or LLVM) with USE=bundled-toolchain +RUST_REQ_USE="rustfmt" # Upstream run rustfmt on bindgen output, so we need it to be available. + +inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils +inherit python-any-r1 readme.gentoo-r1 rust systemd toolchain-funcs xdg-utils + +DESCRIPTION="Modifications to Chromium for removing Google integration and enhancing privacy" +HOMEPAGE="https://github.com/ungoogled-software/ungoogled-chromium" +PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6" +PATCH_V="${PV%%\.*}-1" +COPIUM_COMMIT="b00f26bb5e0781020da5f830981472a142c6baf1" +SRC_URI="https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/${PV/_*}/chromium-${PV/_*}-linux.tar.xz + https://deps.gentoo.zip/www-client/chromium/rollup-wasm-node-${ROLLUP_VER}.tgz + https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 + !bundled-toolchain? ( + https://codeberg.org/selfisekai/copium/archive/${COPIUM_COMMIT}.tar.gz + -> chromium-patches-copium-${COPIUM_COMMIT:0:10}.tar.gz + ) + bundled-toolchain? ( + https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${BUNDLED_CLANG_VER}.tar.xz + -> chromium-clang-${BUNDLED_CLANG_VER}.tar.xz + https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${BUNDLED_RUST_VER}-${BUNDLED_CLANG_VER%-*}.tar.xz + -> chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz + ) + test? ( + https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz + ) + ppc64? ( + https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 + ) +" + +# Gentoo tarball: +# https://chromium-tarballs.distfiles.gentoo.org/chromium-${PV/_*}.tar.xz -> chromium-${PV/_*}-gentoo.tar.xz + +# chromium-linux-tarballs +# https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/${PV/_*}/chromium-${PV/_*}-linux.tar.xz + +# Official tarball: +# https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${PV/_*}${LITE_TARBALL:+-lite}.tar.xz + +# https://gitweb.gentoo.org/proj/chromium-tools.git/tree/get-chromium-licences.py @ 145.0.7632.76 +LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Base64 Boost-1.0 CC-BY-3.0 CC-BY-4.0 Clear-BSD FFT2D FTL" +LICENSE+=" IJG ISC LGPL-2 LGPL-2.1 MIT MPL-1.1 MPL-2.0 Ms-PL PSF-2 SGI-B-2.0 SSLeay SunSoft Unicode-3.0" +LICENSE+=" Unicode-DFS-2015 Unlicense UoI-NCSA ZLIB libtiff openssl" +LICENSE+=" cromite? ( GPL-3 )" + +SLOT="beta" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +IUSE_SYSTEM_LIBS="abseil-cpp av1 brotli crc32c double-conversion ffmpeg +harfbuzz icu jsoncpp +libusb libvpx +openh264 openjpeg re2 snappy woff2 +zstd" +IUSE="+X bindist bluetooth bundled-toolchain cfi convert-dict cups custom-cflags debug ffmpeg-chromium enable-driver gtk4 hangouts headless kerberos +libcxx nvidia +official optimize-thinlto optimize-webui override-data-dir pax-kernel pgo" +IUSE+=" +proprietary-codecs pulseaudio qt6 screencast selinux test thinlto cromite vaapi wayland widevine cpu_flags_ppc_vsx3" +RESTRICT=" + !bindist? ( bindist ) + !test? ( test ) + arm64? ( test ) + !system-ffmpeg? ( proprietary-codecs? ( bindist ) ) + !system-openh264? ( bindist ) + cromite? ( bindist )" + +REQUIRED_USE=" + !headless? ( || ( X wayland ) ) + screencast? ( wayland ) + ffmpeg-chromium? ( bindist proprietary-codecs ) + optimize-thinlto? ( thinlto ) + cfi? ( thinlto ) + x86? ( !thinlto !widevine ) + debug? ( !official ) + vaapi? ( !system-av1 !system-libvpx ) +" + +UGC_PV="${PV/_p/-}" +UGC_PF="${PN}-${UGC_PV}" +UGC_URL="https://github.com/ungoogled-software/${PN}/archive/" + +if [ -z "$UGC_COMMIT_ID" ]; then + UGC_URL="${UGC_URL}${UGC_PV}.tar.gz -> ${UGC_PF}.tar.gz" + UGC_WD="${WORKDIR}/${UGC_PF}" +else + UGC_URL="${UGC_URL}${UGC_COMMIT_ID}.tar.gz -> ${PN}-${UGC_COMMIT_ID}.tar.gz" + UGC_WD="${WORKDIR}/ungoogled-chromium-${UGC_COMMIT_ID}" +fi + +SRC_URI+="${UGC_URL} +" + +if [ ! -z "${UGC_PR_COMMITS[*]}" ]; then + for i in "${UGC_PR_COMMITS[@]}"; do + SRC_URI+="https://github.com/ungoogled-software/${PN}/commit/$i.patch?full_index=true -> ${PN}-$i.patch + " + done +fi + +if [ ! -z "${CHROMIUM_COMMITS[*]}" ]; then + # for i in "${CHROMIUM_COMMITS[@]}"; do + for i in "${!CHROMIUM_COMMITS[@]}"; do + if [[ ${CHROMIUM_COMMITS[$i]} =~ webrtc ]]; then + #TODO: is it safe to use this mirror? + SRC_URI+="https://github.com/webrtc-mirror/webrtc/commit/${i/-}.patch?full_index=true -> webrtc-${i/-}.patch + " + elif [[ ${CHROMIUM_COMMITS[$i]} =~ angle ]]; then + SRC_URI+="https://github.com/google/angle/commit/${i/-}.patch?full_index=true -> angle-${i/-}.patch + " + elif [[ ${CHROMIUM_COMMITS[$i]} =~ quiche ]]; then + SRC_URI+="https://github.com/google/quiche/commit/${i/-}.patch?full_index=true -> quiche-${i/-}.patch + " + elif [[ ${CHROMIUM_COMMITS[$i]} =~ dawn ]]; then + SRC_URI+="https://github.com/google/dawn/commit/${i/-}.patch?full_index=true -> dawn-${i/-}.patch + " + elif [[ ${CHROMIUM_COMMITS[$i]} =~ perfetto ]]; then + SRC_URI+="https://github.com/google/perfetto/commit/${i/-}.patch?full_index=true -> perfetto-${i/-}.patch + " + elif [[ ${CHROMIUM_COMMITS[$i]} =~ ink ]]; then + SRC_URI+="https://github.com/google/ink/commit/${i/-}.patch?full_index=true -> ink-${i/-}.patch + " + elif [[ ${CHROMIUM_COMMITS[$i]} =~ vulkan-utility-libraries ]]; then + SRC_URI+="https://github.com/KhronosGroup/Vulkan-Utility-Libraries/commit/${i/-}.patch?full_index=true -> vulkan-utility-libraries-${i/-}.patch + " + elif [[ ${CHROMIUM_COMMITS[$i]} =~ ruy ]]; then + SRC_URI+="https://github.com/google/ruy/commit/${i/-}.patch?full_index=true -> ruy-${i/-}.patch + " + else + SRC_URI+="https://github.com/chromium/chromium/commit/${i/-}.patch?full_index=true -> chromium-${i/-}.patch + " + fi + done +fi + +SRC_URI+="cromite? ( https://github.com/uazo/cromite/archive/${CROMITE_COMMIT_ID}.tar.gz -> cromite-${CROMITE_COMMIT_ID}.tar.gz ) +" + +for i in ${IUSE_SYSTEM_LIBS}; do + [[ $i =~ ^(\+)?(.*)$ ]] + IUSE+=" ${BASH_REMATCH[1]}system-${BASH_REMATCH[2]}" +done + +COMMON_X_DEPEND=" + x11-libs/libXcomposite:= + x11-libs/libXcursor:= + x11-libs/libXdamage:= + x11-libs/libXfixes:= + >=x11-libs/libXi-1.6.0:= + x11-libs/libXrandr:= + x11-libs/libXrender:= + x11-libs/libXtst:= + x11-libs/libxshmfence:= +" + +# sys-libs/zlib: https://bugs.gentoo.org/930365; -ng is not compatible. +# We _could_ use the bundled minizip, but that's against policy. +COMMON_SNAPSHOT_DEPEND=" + system-icu? ( >=dev-libs/icu-78:= ) + system-abseil-cpp? ( >=dev-cpp/abseil-cpp-20260107.0 ) + system-brotli? ( >=app-arch/brotli-9999 ) + system-crc32c? ( dev-libs/crc32c ) + system-double-conversion? ( dev-libs/double-conversion ) + system-woff2? ( media-libs/woff2 ) + system-snappy? ( app-arch/snappy ) + system-jsoncpp? ( dev-libs/jsoncpp ) + system-openjpeg? ( media-libs/openjpeg:2= ) + system-re2? ( >=dev-libs/re2-0.2019.08.01:= ) + system-libvpx? ( >=media-libs/libvpx-1.13.0:=[postproc] ) + system-libusb? ( virtual/libusb:1 ) + cromite? ( dev-util/patchutils ) + >=dev-libs/libxml2-2.12.4:=[icu] + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + dev-libs/libxslt:= + media-libs/fontconfig:= + >=media-libs/freetype-2.11.0-r1:= + system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) + media-libs/libjpeg-turbo:= + media-libs/libpng:= + system-zstd? ( >=app-arch/zstd-1.5.5:= ) + >=media-libs/libwebp-0.4.0:= + media-libs/mesa:=[gbm(+)] + >=media-libs/openh264-2.6.0:= + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-3.7.0:= + ) + sys-libs/zlib:= + !headless? ( + dev-libs/glib:2 + >=media-libs/alsa-lib-1.0.19:= + media-video/pipewire:= + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.9 + ) + ) + sys-apps/pciutils:= + kerberos? ( virtual/krb5 ) + vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) + X? ( + x11-base/xorg-proto:= + x11-libs/libX11:= + x11-libs/libxcb:= + x11-libs/libXext:= + ) + x11-libs/libxkbcommon:= + wayland? ( + screencast? ( media-video/pipewire:= ) + dev-libs/libffi:= + dev-libs/wayland:= + screencast? ( + media-video/pipewire:= + || ( + sys-apps/xdg-desktop-portal-gnome + sys-apps/xdg-desktop-portal-gtk + kde-plasma/xdg-desktop-portal-kde + gui-libs/xdg-desktop-portal-lxqt + gui-libs/xdg-desktop-portal-wlr + ) + ) + ) + ) +" + +COMMON_DEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + app-arch/bzip2:= + dev-libs/expat:= + system-ffmpeg? ( + >=media-video/ffmpeg-6.1:= + >=media-libs/opus-1.3.1:= + ) + net-misc/curl[ssl] + sys-apps/dbus:= + media-libs/flac:= + sys-libs/zlib:=[minizip] + !headless? ( + >=app-accessibility/at-spi2-core-2.46.0:2 + media-libs/mesa:=[X?,wayland?] + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/pango:= + cups? ( >=net-print/cups-1.3.11:= ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + X? ( ${COMMON_X_DEPEND} ) + ) +" +RDEPEND="${COMMON_DEPEND} + !www-client/ungoogled-chromium:0 + >=www-client/chromium-common-2 + !headless? ( + || ( + x11-libs/gtk+:3[X?,wayland?] + gui-libs/gtk:4[X?,wayland?] + ) + qt6? ( dev-qt/qtbase:6[X?,wayland?] ) + ) + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) + bindist? ( + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) + ) + !override-data-dir? ( + !www-client/chromium:${SLOT} + !www-client/cromite:${SLOT}[-override-data-dir] + ) +" +# For M149+ pipewire is a mandatory build-time dependency, but it's optional at runtime for most configurations. +DEPEND="${COMMON_DEPEND} + !headless? ( + media-video/pipewire + gtk4? ( gui-libs/gtk:4[X?,wayland?] ) + !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) + ) +" + + # pgo? ( >=llvm-core/clang-22.0.0_pre20260106 >=llvm-core/lld-22.0.0_pre20260106 ) +BDEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + >=app-arch/gzip-1.7 + !headless? ( + qt6? ( dev-qt/qtbase:6 ) + ) + !bundled-toolchain? ( $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + cfi? ( llvm-runtimes/clang-runtime:${LLVM_SLOT}[sanitize] ) + official? ( + !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] ) + ) ') + || ( + $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') + >=sys-devel/mold-2.41.0 + ) + ${RUST_DEPEND} + ) + >=dev-util/bindgen-0.72.1 + >=dev-build/gn-${GN_MIN_VER} + app-alternatives/ninja + dev-lang/perl + >=dev-util/gperf-3.2 + dev-util/esbuild:${ESBUILD_VER} + dev-vcs/git + >=net-libs/nodejs-${NODE_VER}[inspector] + sys-apps/hwdata + >=sys-devel/bison-2.4.3 + sys-devel/flex + virtual/pkgconfig + x11-misc/xdg-utils +" + +if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then + EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; +fi + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS=" +Some web pages may require additional fonts to display properly. +Try installing some of the following packages if some characters +are not displayed properly: +- media-fonts/arphicfonts +- media-fonts/droid +- media-fonts/ipamonafont +- media-fonts/noto +- media-fonts/ja-ipafonts +- media-fonts/takao-fonts +- media-fonts/wqy-microhei +- media-fonts/wqy-zenhei + +To fix broken icons on the Downloads page, you should install an icon +theme that covers the appropriate MIME types, and configure this as your +GTK+ icon theme. + +For native file dialogs in KDE, install kde-apps/kdialog. + +To make password storage work with your desktop environment you may +have install one of the supported credentials management applications: +- app-crypt/libsecret (GNOME) +- kde-frameworks/kwallet (KDE) +If you have one of above packages installed, but don't want to use +them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS +in /etc/chromium/default. +" + +S="${WORKDIR}/chromium-${PV/_*}" + +python_check_deps() { + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" +} + +pre_build_checks() { + # Check build requirements: bugs #471810, #541816, #914220 + # We're going to start doing maths here on the size of an unpacked source tarball, + # this should make updates easier as chromium continues to balloon in size. + # xz -l /var/cache/distfiles/chromium-${PV}*.tar.xz + local base_disk=9 # Round up + use test && base_disk=$((base_disk + 5)) + local extra_disk=1 # Always include a little extra space + local memory=4 + tc-is-cross-compiler && extra_disk=$((extra_disk * 2)) + if tc-is-lto || use pgo; then + memory=$((memory * 2 + 1)) + tc-is-cross-compiler && extra_disk=$((extra_disk * 2)) # Double the requirements + use pgo && extra_disk=$((extra_disk + 4)) + fi + if is-flagq '-g?(gdb)?([1-9])'; then + if use custom-cflags; then + extra_disk=$((extra_disk + 5)) + fi + memory=$((memory * 2)) + fi + local CHECKREQS_MEMORY="${memory}G" + local CHECKREQS_DISK_BUILD="$((base_disk + extra_disk))G" + check-reqs_${EBUILD_PHASE_FUNC} +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]]; then + # The pre_build_checks are all about compilation resources, no need to run it for a binpkg + pre_build_checks + fi + + if use headless; then + local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt6" "vaapi" "wayland") + for myiuse in ${headless_unused_flags[@]}; do + use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." + done + fi + + if ! use bindist && use ffmpeg-chromium; then + ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." + fi + if use libcxx; then + ewarn + ewarn "Building with libcxx, please be aware that system-*" + ewarn "and some other c++ dependencies need to be compiled" + ewarn "with the same c++ library as ungoogled-chromium itself" + ewarn "dev-libs/jsoncpp is most problematic, see #58 #49 #119 for details" + ewarn "Simplest solution would be to disable corresponding system-* flags" + ewarn + fi + if use cfi; then + ewarn + ewarn "Building with cfi is only possible if building with -stdlib=libc++" + ewarn "Make sure all dependencies are also built this way, see #40" + ewarn + fi + if use cromite; then + ewarn + ewarn "Cromite patches are very experimental and unstable" + ewarn "Please consider testing them and giving feedback upstream:" + ewarn "https://github.com/uazo/cromite/issues" + ewarn "Not all patches are applied, let me know if others should be considered too" + ewarn + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + # The pre_build_checks are all about compilation resources, no need to run it for a binpkg + pre_build_checks + + # We haven't massaged any CFLAGS yet, so we want to do this before we force CC/CXX to prevent warnings. + local want_lto="false" + tc-is-lto && want_lto="true" + + # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment + # We'll set these to clang here then use llvm-utils functions to very explicitly set these + # to a sane value. + # This is effectively the 'force-clang' path if GCC support is re-added. + if use !bundled-toolchain; then + llvm-r1_pkg_setup + rust_pkg_setup + + # Forcing clang; respect llvm_slot_x to enable selection of impl via LLVM_COMPAT + AR=llvm-ar + CPP="${CHOST}-clang++-${LLVM_SLOT} -E" + NM=llvm-nm + CC="${CHOST}-clang-${LLVM_SLOT}" + CXX="${CHOST}-clang++-${LLVM_SLOT}" + fi + + # LTO in Chromium means LLVM ThinLTO, if GCC support is re-added + # We'll need to handle that here too. + use_lto="false" + local lto_usable="true" + if [[ "$want_lto" == "true" ]]; then + if use arm64 && [[ "${LLVM_SLOT}" -lt 22 ]]; then + einfo "LTO is broken with LLVM 21 on arm64, ignoring CFLAGS." + lto_usable="false" + else + use_lto="true" + fi + # We can rely on GN to do this for us; without this builds + # take significantly longer with LTO enabled. + filter-lto + fi + + if [[ "$use_lto" == "false" ]] && use official && [[ "$lto_usable" == "true" ]]; then + einfo "USE=official selected and LTO not detected." + einfo "It is _highly_ recommended that LTO be enabled for performance reasons" + einfo "and to be consistent with the upstream \"official\" build optimisations." + fi + + if [[ "$use_lto" == "false" ]] && use test; then + die "Tests require CFI which requires LTO" + fi + + export use_lto + + if tc-is-cross-compiler; then + use pgo && die "The pgo USE flag cannot be used when cross-compiling" + CPP="${CBUILD}-clang++-${LLVM_SLOT} -E" + fi + + # Sanity checks for development convenience + if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then + die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium" + fi + + # Sometimes, when adding a new LLVM slot, devs (me) forget to install an appropriate lld. + if tc-ld-is-lld; then + local lld_ver=$(ld.lld --version | awk '{split($2,a,"."); print a[1]}' || die "Failed to check lld version") + if [[ ${lld_ver} -lt ${LLVM_SLOT} ]]; then + die "Your lld version (${lld_ver}) is too old for the selected LLVM slot (${LLVM_SLOT}). Please install a newer lld or select an older LLVM slot." + fi + fi + fi + + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + # # Here be dragons! + # local XCLD="--exclude=chromium-${PV/_*}/third_party/instrumented_libs \ + # --exclude=chromium-${PV/_*}/third_party/llvm \ + # --exclude=chromium-${PV/_*}/third_party/llvm-build \ + # --exclude=chromium-${PV/_*}/third_party/node/linux \ + # --exclude=chromium-${PV/_*}/third_party/rust-src \ + # --exclude=chromium-${PV/_*}/third_party/rust-toolchain \ + # --exclude=chromium-${PV/_*}/build/linux/debian_bullseye_i386-sysroot \ + # --exclude=chromium-${PV/_*}/build/linux/debian_bullseye_amd64-sysroot \ + # --exclude=chromium-${PV/_*}/third_party/angle/third_party/VK-GL-CTS \ + # " + + # if ! use libcxx ; then + # XCLD+=" --exclude=chromium-${PV/_*}/third_party/libc++" + # fi + + # if ! use pgo ; then + # XCLD+=" --exclude=chromium-${PV/_*}/chrome/build/pgo_profiles" + # fi + + # einfo "Unpacking chromium-${PV/_*}.tar.xz to ${WORKDIR}" + # # Gentoo tarball: + # # tar ${XCLD} -xf "${DISTDIR}/chromium-${PV/_*}-gentoo.tar.xz" -C "${WORKDIR}" || die + # tar ${XCLD} -xf "${DISTDIR}/chromium-${PV/_*}${LITE_TARBALL:+-lite}.tar.xz" -C "${WORKDIR}" || die + + # unpack ${UGC_URL#*->} + # # unpack chromium-patches-${PATCH_V}.tar.bz2 + # # Warned you! + + unpack chromium-${PV/_*}-linux.tar.xz + unpack chromium-patches-${PATCH_V}.tar.bz2 + # These should only be required when we're not using the official toolchain + if use !bundled-toolchain; then + unpack chromium-patches-copium-${COPIUM_COMMIT:0:10}.tar.gz + fi + + if use test; then + # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location. + local testfonts_dir="${WORKDIR}/chromium-${PV/_*}/third_party/test_fonts/test_fonts" + local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz" + einfo "Unpacking test fonts ..." + tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts" + fi + + # We need to manually unpack this since M126 else we'd unpack one toolchain over the other. + # Since we're doing that anyway let's unpack to sensible locations to make symlink creation easier. + if use bundled-toolchain; then + einfo "Unpacking bundled Clang ..." + mkdir -p "${WORKDIR}"/clang || die "Failed to create clang directory" + tar xf "${DISTDIR}/chromium-clang-${BUNDLED_CLANG_VER}.tar.xz" -C "${WORKDIR}/clang" || die "Failed to unpack Clang" + einfo "Unpacking bundled Rust ..." + local rust_dir="${WORKDIR}/rust-toolchain" + mkdir -p "${rust_dir}" || die "Failed to create rust toolchain directory" + tar xf "${DISTDIR}/chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz" -C "${rust_dir}" || + die "Failed to unpack Rust" + fi + + if use ppc64; then + unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 + fi + + # This is a dirty hack, but we need rollup to build successfully and it's proving to be challenging + # to build locally due to deps + unpack rollup-wasm-node-${ROLLUP_VER}.tgz + + if use cromite; then + unpack cromite-${CROMITE_COMMIT_ID}.tar.gz + fi + + unpack ${UGC_URL#*->} +} + +remove_compiler_builtins() { + # We can't use the bundled compiler builtins with the system toolchain + # We used to `grep` then `sed`, but it was indirect. Combining the two into a single + # `awk` command is more efficient and lets us document the logic more clearly. + + local pattern=' configs += [ "//build/config/clang:compiler_builtins" ]' + local target='build/config/compiler/BUILD.gn' + + local tmpfile + tmpfile=$(mktemp) || die "Failed to create temporary file." + + if awk -v pat="${pattern}" ' + BEGIN { + match_found = 0 + } + + # If the delete countdown is active, decrement it and skip to the next line. + d > 0 { d--; next } + + # If the current line matches the pattern... + $0 == pat { + match_found = 1 # ...set our flag to true. + d = 2 # Set delete counter for this line and the next two. + prev = "" # Clear the buffered previous line so it is not printed. + next + } + + # For any other line, print the buffered previous line. + NR > 1 { print prev } + + # Buffer the current line to be printed on the next cycle. + { prev = $0 } + + END { + # Print the last line if it was not part of a deleted block. + if (d == 0) { print prev } + + # If the pattern was never found, exit with a failure code. + if (match_found == 0) { + exit 1 + } + } + ' "${target}" > "${tmpfile}"; then + # AWK SUCCEEDED (exit code 0): The pattern was found and edited. + # This is to avoid gawk's `-i inplace` option which users complain about. + mv "${tmpfile}" "${target}" + else + # AWK FAILED (exit code 1): The pattern was not found. + rm -f "${tmpfile}" + die "Awk patch failed: Pattern not found in ${target}." + fi +} + +src_prepare() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # We'll fill this in as we go. Patches go in chromium-patches. + local PATCHES=() + + rm "${WORKDIR}/chromium-patches-${PATCH_V}/common/cr131-unbundle-icu-target.patch" + if ver_test "${RUST_SLOT}" -ge "1.95.0"; then + rm "${WORKDIR}/chromium-patches-${PATCH_V}/rust/cr146-fix-botched-bytemuck-roll.patch" + sed -i '/SupportedLaneCount/d' third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs || die + sed -i '/SupportedLaneCount/d' third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs || die + fi + + #cp -f ${WORKDIR}/chromium-patches-${PATCH_V}/*-compiler.patch "${T}/compiler.patch" + ##cp -f ${FILESDIR}/chromium-147-compiler.patch "${T}/compiler.patch" + #if ! use custom-cflags; then #See #25 #92 + # sed -i '/default_stack_frames/Q' "${T}/compiler.patch" || die + #fi + + PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}/common/" ) + PATCHES+=( "${FILESDIR}/restore-x86-r4.patch" ) + + # https://issues.chromium.org/issues/442698344 + # Unreleased fontconfig changed magic numbers and google have rolled to this version + if has_version "<=media-libs/fontconfig-2.17.1"; then + PATCHES+=( "${FILESDIR}/chromium-142-work-with-old-fontconfig.patch" ) + fi + + if use bundled-toolchain; then + # We need to symlink the toolchain into the expected location + einfo "Symlinking Clang toolchain to expected location ..." + mkdir -p third_party/llvm-build/ || die "Failed to create llvm-build directory" + # the 'Chromium Linux Tarballs' seem to already have 'Release+Asserts/{lib,bin}'; not sure if this is an + # upstream change - we're using the same scripts to build, theoretically. We'll still attempt to create + # llvm-build, but we'll rm Release+Asserts and symlink directly. + if [[ -d third_party/llvm-build/Release+Asserts ]]; then + rm -r third_party/llvm-build/Release+Asserts || die "Failed to remove third_party/llvm-build/Release+Asserts" + fi + ln -s "${WORKDIR}"/clang third_party/llvm-build/Release+Asserts || die "Failed to bundle Clang" + einfo "Symlinking Rust toolchain to expected location ..." + # As above, so below + if [[ -d third_party/rust-toolchain ]]; then + rm -r third_party/rust-toolchain || die "Failed to remove third_party/rust-toolchain" + fi + ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust" + cp "${WORKDIR}"/rust-toolchain/VERSION \ + "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version" + else + # We don't need our toolchain patches if we're using the official toolchain + + # Copium patches go here. + PATCHES+=( + "${WORKDIR}/copium/cr143-libsync-__BEGIN_DECLS.patch" + "${WORKDIR}/copium/cr149-unbundle-minizip-undo-unicode.patch" + ) + + # Automate conditional application of chromium-patches + # The directory structure is expected to be something like: + # chromium-patches-145/ + # ├── toolchain/ + # │ ├── cr123-foo.patch + # │ └── cr135-bar.patch + # ├── llvm/ + # │ ├── cr144-baz.patch + # │ └── lt-23/ + # │ └── cr145-bleeding-edge-llvm-feature.patch + # Where `lt-23` means "apply this patch if the LLVM version is less than 23". + # Only categories in `slot_map` will be checked for version constraints. + shopt -s nullglob + local -A slot_map=( [llvm]="${LLVM_SLOT}" [rust]="${RUST_SLOT}" ) + + for category in "${WORKDIR}/chromium-patches-${PATCH_V}"/*/; do + local category_name="${category%/}" + category_name="${category_name##*/}" + + # Skip arch-specific categories + if [[ "${category_name}" == "ppc64le" ]]; then + use ppc64 || continue + fi + + # We applied common patches above, no need to apply them again here + [[ "${category_name}" == "common" ]] && continue + + # Unconditional patches for this category + local category_patches=( "${category}"*.patch ) + [[ ${#category_patches[@]} -gt 0 ]] && PATCHES+=( "${category}" ) + + # Version-constrained subdirectories (e.g., llvm/lt-23/) + for constraint_dir in "${category}"*/; do + local dir_name="${constraint_dir%/}" + dir_name="${dir_name##*/}" + if [[ "${dir_name}" =~ ^lt-(.*)$ && -v slot_map[${category_name}] ]]; then + ver_test "${slot_map[${category_name}]}" -lt "${BASH_REMATCH[1]}" && + PATCHES+=( "${constraint_dir}" ) + fi + done + done + + shopt -u nullglob + + # Strictly speaking this doesn't need to be gated (no bundled toolchain for ppc64); it keeps the logic together + if use ppc64; then + local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches" + # patch causes build errors on 4K page systems (https://bugs.gentoo.org/show_bug.cgi?id=940304) + local page_size_patch="ppc64le/third_party/use-sysconf-page-size-on-ppc64.patch" + local isa_3_patch="ppc64le/core/baseline-isa-3-0.patch" + # Apply the OpenPOWER patches (check for page size and isa 3.0) + openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" | + grep -v "${isa_3_patch}" || die) ) + for patch in "${openpower_patches[@]}"; do + PATCHES+=( "${patchset_dir}/${patch}" ) + done + if [[ $(getconf PAGESIZE) == 65536 ]]; then + PATCHES+=( "${patchset_dir}/${page_size_patch}" ) + fi + # We use vsx3 as a proxy for 'want isa3.0' (POWER9) + if use cpu_flags_ppc_vsx3 ; then + PATCHES+=( "${patchset_dir}/${isa_3_patch}" ) + fi + fi + + remove_compiler_builtins + + # We can't rely on the eselect'd Rust to actually include rustfmt, so we'll point to the selected slot specifically. + local suffix="" + if [[ "${RUST_TYPE}" == "binary" ]]; then + suffix="-bin-${RUST_SLOT}" + else + suffix="-${RUST_SLOT}" + fi + sed -i "s|/bin/rustfmt|/bin/rustfmt${suffix}|g" build/rust/rust_bindgen_generator.gni || + die "Failed to update rustfmt path" + + fi + + # Do this before we apply patches since (e.g.) ppc64 needs to patch rollup and it's easier in ${S} + einfo "Moving rollup wasm-node package into place ..." + mkdir -p third_party/devtools-frontend/src/node_modules/@rollup/wasm-node || + die "Failed to create node_modules/@rollup/wasm-node" + mv "${WORKDIR}"/package/* third_party/devtools-frontend/src/node_modules/@rollup/wasm-node || + die "Failed to move rollup package" + + if [ ! -z "${CHROMIUM_COMMITS[*]}" ]; then + # for i in "${CHROMIUM_COMMITS[@]}"; do + for i in "${!CHROMIUM_COMMITS[@]}"; do + if [[ ${CHROMIUM_COMMITS[$i]} =~ webrtc ]]; then + patch_prefix="webrtc" + elif [[ ${CHROMIUM_COMMITS[$i]} =~ angle ]]; then + patch_prefix="angle" + elif [[ ${CHROMIUM_COMMITS[$i]} =~ quiche ]]; then + patch_prefix="quiche" + elif [[ ${CHROMIUM_COMMITS[$i]} =~ dawn ]]; then + patch_prefix="dawn" + elif [[ ${CHROMIUM_COMMITS[$i]} =~ perfetto ]]; then + patch_prefix="perfetto" + elif [[ ${CHROMIUM_COMMITS[$i]} =~ ink ]]; then + patch_prefix="ink" + elif [[ ${CHROMIUM_COMMITS[$i]} =~ vulkan-utility-libraries ]]; then + patch_prefix="vulkan-utility-libraries" + elif [[ ${CHROMIUM_COMMITS[$i]} =~ ruy ]]; then + patch_prefix="ruy" + else + patch_prefix="chromium" + fi + pushd "${CHROMIUM_COMMITS[$i]}" > /dev/null || die + if [[ $i = -* ]]; then + einfo "Reverting ${patch_prefix}-${i/-}.patch" + git_wrapper apply -R --exclude="*unittest.cc" --exclude="DEPS" \ + -p1 < "${DISTDIR}/${patch_prefix}-${i/-}.patch" + else + einfo "Applying ${patch_prefix}-${i/-}.patch" + git_wrapper apply --exclude="*unittest.cc" --exclude="DEPS" \ + -p1 < "${DISTDIR}/${patch_prefix}-${i/-}.patch" + fi + popd > /dev/null || die + done + fi + + if ! use bluetooth ; then + PATCHES+=( + "${FILESDIR}/disable-bluez-r7.patch" + ) + fi + + if use convert-dict ; then + PATCHES+=( + "${FILESDIR}/chromium-ucf-dict-utility-r3.patch" + ) + fi + + if ! use libcxx ; then + PATCHES+=( + "${FILESDIR}/fix-wayland-oncecallback-copy.patch" + ) + fi + + if use system-ffmpeg; then + PATCHES+=( + "${FILESDIR}/chromium-141-opus-mp3.patch" + "${FILESDIR}/chromium-135-hevc.patch" + ) + sed -i "\!AVFMT_FLAG_NOH264PARSE!d" media/filters/ffmpeg_glue.cc || die + ewarn "You need to expose \"av_stream_get_first_dts\" in ffmpeg via user patch" + fi + + if use system-av1; then + PATCHES+=( + "${FILESDIR}/chromium-system-av1.patch" + ) + fi + + if use system-libvpx; then + PATCHES+=( + "${FILESDIR}/chromium-system-libvpx.patch" + ) + fi + + if use system-openjpeg ; then + PATCHES+=( + "${FILESDIR}/chromium-system-openjpeg-r4.patch" + ) + fi + + # if use x86 ; then + # #* Fixes a segfault in transport_security_state_generator + # PATCHES+=( + # "${FILESDIR}/fix-segfault-x86.patch" + # ) + # fi + + # Testing all patches when NODIE is defined + if [ ! -z "${NODIE}" ]; then + for i in "${PATCHES[@]}"; do + eapply_wrapper "$i" + done + nonfatal eapply_user + else + default + fi + + if use cromite ; then + BR_PA_PATH="${WORKDIR}/cromite-${CROMITE_COMMIT_ID}/build/patches" + + sed -i '/b\/components\/components_strings\.grd/,+10d' "${BR_PA_PATH}/Add-cromite-flags-support.patch" || die + sed -i '/b\/chrome\/android\/java\/res\/xml\/privacy_preferences\.xml/,+13d' "${BR_PA_PATH}/Add-cromite-flags-support.patch" || die + sed -i '/b\/android_webview\/support_library\/java\/src\/org\/chromium\/support_lib_glue/,+11d' "${BR_PA_PATH}/Client-hints-overrides.patch" || die + sed -i '/webapps_strings.grdp" \/>/{s++webapps_strings.grdp" /><part file="cromite_components_strings_grd/placeholder.txt"/>+;h};${x;/./{x;q0};x;q1}' \ + components/components_strings.grd || die + + sed -i 's/absl::/std::/' "${BR_PA_PATH}/Add-a-proxy-configuration-page.patch" || die + + filterdiff -p1 "${BR_PA_PATH}/JIT-site-settings.patch" --exclude="content/browser/renderer_host/render_process_host_impl.cc" \ + > "${BR_PA_PATH}/JIT-site-settings.patch1" + mv -f "${BR_PA_PATH}/JIT-site-settings.patch1" "${BR_PA_PATH}/JIT-site-settings.patch" + + BROMITE_PATCHES=( + "${BR_PA_PATH}/bromite-build-utils.patch" + "${BR_PA_PATH}/Battery-API-return-nothing.patch" + "${BR_PA_PATH}/Multiple-fingerprinting-mitigations.patch" + "${BR_PA_PATH}/Add-flag-to-configure-maximum-connections-per-host.patch" + "${BR_PA_PATH}/Add-a-proxy-configuration-page.patch" + "${BR_PA_PATH}/Enable-StrictOriginIsolation-and-SitePerProcess.patch" + "${BR_PA_PATH}/Disable-requests-for-single-word-Omnibar-searches.patch" + "${BR_PA_PATH}/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch" + "${BR_PA_PATH}/Client-hints-overrides.patch" + "${BR_PA_PATH}/Disable-idle-detection.patch" + "${BR_PA_PATH}/Disable-TLS-resumption.patch" + "${BR_PA_PATH}/Remove-navigator.connection-info.patch" + + "${BR_PA_PATH}/AudioBuffer-AnalyserNode-fp-mitigations.patch" + "${BR_PA_PATH}/Fonts-fingerprinting-mitigation.patch" + "${BR_PA_PATH}/Content-settings-infrastructure.patch" + "${BR_PA_PATH}/Add-autoplay-site-setting.patch" + "${BR_PA_PATH}/Site-setting-for-images.patch" + "${BR_PA_PATH}/JIT-site-settings.patch" + "${BR_PA_PATH}/Add-webGL-site-setting.patch" + "${BR_PA_PATH}/Add-webRTC-site-settings.patch" + "${BR_PA_PATH}/Show-site-settings-for-cookies-javascript-and-ads.patch" + "${BR_PA_PATH}/Viewport-Protection-flag.patch" + "${BR_PA_PATH}/Revert-remove-allowscript-content-setting-secondary-url.patch" + "${BR_PA_PATH}/Timezone-customization.patch" + "${BR_PA_PATH}/Disable-speechSynthesis-getVoices-API.patch" + "${BR_PA_PATH}/Remove-support-for-device-memory-and-cpu-recovery.patch" + "${BR_PA_PATH}/Disable-Feeback-Collector.patch" + "${BR_PA_PATH}/Disable-remote-altsvc-for-h3-connections.patch" + "${BR_PA_PATH}/Add-cromite-flags-support.patch" + "${BR_PA_PATH}/Enables-deactivation-of-the-js-debugger-statement.patch" + ) + for i in "${BROMITE_PATCHES[@]}"; do + if [[ "$i" =~ "Add-autoplay-site-setting.patch" ]] || + [[ "$i" =~ "JIT-site-settings.patch" ]] || + [[ "$i" =~ "Site-setting-for-images.patch" ]]; then + einfo "Git binary patch: ${i##*/}" + git_wrapper apply -p1 < "$i" + else + filter_wrapper "$i" --exclude="chrome/android/*" + fi + done + + #! conflicting patches + sed -i '/browser_features.cc/,+17d' \ + "${UGC_WD}/patches/extra/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch" || die + sed -i 's$} // namespace features$BASE_FEATURE(kClearDataOnExit, "ClearDataOnExit", base::FEATURE_DISABLED_BY_DEFAULT);}$' \ + chrome/browser/browser_features.cc || die + sed -i 's$} // namespace features$BASE_DECLARE_FEATURE(kClearDataOnExit);}$' \ + chrome/browser/browser_features.h || die + sed -i 's$kChromeUIAboutHost,$kChromeUIAboutHost,"ungoogled-first-run",$' \ + chrome/common/webui_url_constants.cc || die + sed -i '/chrome\/common\/webui_url_constants.cc/Q' \ + "${UGC_WD}/patches/extra/ungoogled-chromium/first-run-page.patch" || die + + #! normalise paths in py + sed -i 's$os.path.dirname(include_file)$os.path.abspath(os.path.dirname(include_file))$' \ + build/bromite/gyp/cpp_bromite_include.py || die + fi + + # if [[ ${LLVM_SLOT} == "19" ]]; then + # # Upstream now hard depend on a feature that was added in LLVM 20.1, but we don't want to stabilise that yet. + # # Do the temp file shuffle in case someone is using something other than `gawk` + # { + # awk '/config\("clang_warning_suppression"\) \{/ { print $0 " }"; sub(/clang/, "xclang"); print; next } + # { print }' build/config/compiler/BUILD.gn > "${T}/build.gn" && \ + # mv "${T}/build.gn" build/config/compiler/BUILD.gn + # } || die "Unable to disable warning suppression" + # fi + + ## Not included in -lite tarballs, but we should check for it anyway. + #if [[ -f third_party/node/linux/node-linux-x64/bin/node ]]; then + # rm third_party/node/linux/node-linux-x64/bin/node || die + #else + # mkdir -p third_party/node/linux/node-linux-x64/bin || die + #fi + #ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die + + cp "${FILESDIR}/libusb.gn" build/linux/unbundle || die + sed -i '/^REPLACEMENTS.*$/{s++REPLACEMENTS = {"libusb":"third_party/libusb/BUILD.gn",+;h};${x;/./{x;q0};x;q1}' \ + build/linux/unbundle/replace_gn_files.py || die + sed -i '/^.*deps.*third_party\/jsoncpp.*$/{s++public_deps \+= [ "//third_party/jsoncpp" ]+;h};${x;/./{x;q0};x;q1}' \ + third_party/webrtc/rtc_base/BUILD.gn || die + + if use override-data-dir; then + sed -i '/"chromium";/{s++"ungoogled-chromium";+;h};${x;/./{x;q0};x;q1}' \ + chrome/common/chrome_paths_linux.cc || die + fi + + if use system-abseil-cpp; then + eapply_wrapper "${FILESDIR}/chromium-147-system-abseil.patch" + + #! SFINAE mangling incompatibility between clang and gcc: + #! https://github.com/llvm/llvm-project/issues/85656 + #! gcc: _ZN4absl12lts_202601074CordC1INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELi0EEEOT_ + #! clang: _ZN4absl12lts_202601074CordC1INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEETnNSt9enable_ifIXsr3std7is_sameIT_S8_EE5valueEiE4typeELi0EEEOSA_ + #! So, either this: + eapply_wrapper "${FILESDIR}/chromium-141-system-abseil-cord.patch" + #! or build with -fclang-abi-compat=17 + + # cp -f /usr/include/absl/base/options.h third_party/abseil-cpp/absl/base/options.h + # sed -i '/^#define ABSL_OPTION_USE_STD_ORDERING.*$/{s++#define ABSL_OPTION_USE_STD_ORDERING 1+;h};${x;/./{x;q0};x;q1}' \ + # third_party/abseil-cpp/absl/base/options.h || die + fi + + #* Applying UGC PRs here + if [ ! -z "${UGC_PR_COMMITS[*]}" ]; then + pushd "${UGC_WD}" >/dev/null + for i in "${UGC_PR_COMMITS[@]}"; do + eapply_wrapper "${DISTDIR}/${PN}-$i.patch" + done + popd >/dev/null + fi + + # From here we adapt ungoogled-chromium's patches to our needs + local ugc_pruning_list="${UGC_WD}/pruning.list" + local ugc_patch_series="${UGC_WD}/patches/series" + local ugc_substitution_list="${UGC_WD}/domain_substitution.list" + + local ugc_unneeded=( + # GN bootstrap + extra/debian/gn/parallel + # following Gentoo's Chromium + core/ungoogled-chromium/build-with-wasm-rollup + ) + + if use cromite ; then + einfo "Using fingerprinting patches from Cromite instead" + ugc_unneeded+=( + extra/bromite/fingerprinting-flags-client-rects-and-measuretext + extra/bromite/flag-max-connections-per-host + extra/bromite/flag-fingerprinting-canvas-image-data-noise + extra/ungoogled-chromium/add-components-ungoogled + extra/ungoogled-chromium/remove-pac-size-limit + ) + fi + + # #* Temporary fix + # sed -i "\!ios/!d" "${ugc_pruning_list}" || die + # sed -i "\!third_party/icu/!d" "${ugc_pruning_list}" || die + # sed -i "\!third_party/libjpeg_turbo/!d" "${ugc_pruning_list}" || die + # sed -i "\!third_party/snappy/!d" "${ugc_pruning_list}" || die + # sed -i "\!third_party/closure_compiler/!d" "${ugc_pruning_list}" || die + + # #* Didn't unpack them at the first place + # sed -i "\!build/linux/debian_bullseye_i386-sysroot!d" "${ugc_pruning_list}" || die + # sed -i "\!build/linux/debian_bullseye_amd64-sysroot!d" "${ugc_pruning_list}" || die + # sed -i "\!third_party/llvm-build!d" "${ugc_pruning_list}" || die + # sed -i "\!third_party/node/linux!d" "${ugc_pruning_list}" || die + # sed -i "\!third_party/rust-src!d" "${ugc_pruning_list}" || die + # sed -i "\!third_party/rust-toolchain!d" "${ugc_pruning_list}" || die + # if ! use libcxx ; then + # sed -i "\!third_party/libc!d" "${ugc_pruning_list}" || die + # fi + sed -i "s|debug('files|error('files|" \ + "${UGC_WD}/utils/prune_binaries.py" || die + sed -i "\!third_party/node/linux!d" \ + "${UGC_WD}/utils/prune_binaries.py" || die + + local ugc_p ugc_dir + for p in "${ugc_unneeded[@]}"; do + einfo "Removing ${p}.patch" + sed -i "\!${p}.patch!d" "${ugc_patch_series}" || die + done + + if [ ! -z "${UGC_SKIP_PATCHES}" ]; then + for p in ${UGC_SKIP_PATCHES}; do + ewarn "Removing ${p}" + sed -i "\!${p}!d" "${ugc_patch_series}" || die + done + fi + + if [ ! -z "${UGC_KEEP_BINARIES}" ]; then + for p in ${UGC_KEEP_BINARIES}; do + ewarn "Keeping binary ${p}" + sed -i "\!${p}!d" "${ugc_pruning_list}" || die + done + fi + + if [ ! -z "${UGC_SKIP_SUBSTITUTION}" ]; then + for p in ${UGC_SKIP_SUBSTITUTION}; do + ewarn "No substitutions in ${p}" + sed -i "\!${p}!d" "${ugc_substitution_list}" || die + done + fi + + ebegin "Pruning binaries" + "${UGC_WD}/utils/prune_binaries.py" -q . "${UGC_WD}/pruning.list" + eend $? || die + + ebegin "Applying ungoogled-chromium patches" + "${UGC_WD}/utils/patches.py" -q apply . "${UGC_WD}/patches" + eend $? || die + + ebegin "Applying domain substitution" + "${UGC_WD}/utils/domain_substitution.py" -q apply -r "${UGC_WD}/domain_regex.list" -f "${UGC_WD}/domain_substitution.list" . + eend $? || die + + # Sanity check esbuild version before we start removing files. + # We _could_ patch the version check out - in theory esbuild upstream are being super conservative after + # arch(AUR) packaged an `esbuild` binary and set ESBUILD_BINARY_PATH=/usr/bin/esbuild, causing much breakage, + # but this is fine too and exactly matches what upstream are expecting. + # https://github.com/evanw/esbuild/issues/2894 + local esbuild_js="${S}/third_party/devtools-frontend/src/node_modules/esbuild/lib/main.js" + local found + found=$(awk -F'"' '/if \(binaryVersion !==/ {print $2}' "${esbuild_js}") + if [[ "${found}" != "${ESBUILD_VER}" ]]; then + die "esbuild version mismatch: expected ${ESBUILD_VER}, found ${found}" + fi + + elog "Removing bundled binaries from source tree ..." + # Purge bundled ELF files: These are non-portable and will cause issues if used instead of system versions. + # Use `--wasm` to also remove WebAssembly binaries, if desired - they're portable so shouldn't break builds. + ${EPYTHON} "${FILESDIR}/bin-finder.py" --elf "${S}" | awk '{print $1}' | xargs rm -f || + die "Failed to remove bundled binaries" + + # And now we restore any that we actually need, from the host system + local esbuild_path="${S}/third_party/devtools-frontend/src/third_party/esbuild" + local -A restore_list=( + ["/usr/bin/esbuild-${ESBUILD_VER}"]="${esbuild_path}/esbuild" + ["/usr/bin/gperf"]="${S}/third_party/gperf/cipd/bin/gperf" + ["/usr/bin/node"]="${S}/third_party/node/linux/node-linux-x64/bin/node" + ) + + for src in "${!restore_list[@]}"; do + dst="${restore_list[${src}]}" + if [[ -f "${src}" ]]; then + einfo "Symlinking ${src} ..." + # Make sure the parent dir exists; some tarballs don't include (e.g.) node's bindir + mkdir -p "$(dirname "${dst}")" || die "Failed to create directory for ${dst}" + ln -s "${src}" "${dst}" || die "Failed to symlink ${dst} from ${src}" + if [[ ! -L "${dst}" || "$(readlink -f "${dst}")" != "${src}" ]]; then + die "Symlink verification failed for ${dst} -> ${src}" + fi + else + die "Expected to find ${src} to restore ${dst}, but it does not exist." + fi + done + + # adjust python interpreter version + sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die + + # Use the system copy of hwdata's usb.ids; upstream is woefully out of date (2015!) + sed 's|//third_party/usb_ids/usb.ids|/usr/share/hwdata/usb.ids|g' \ + -i services/device/public/cpp/usb/BUILD.gn || die "Failed to set system usb.ids path" + + # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party' + # whitelist matches use the right-most matching path component, so we need to whitelist from that point down. + local keeplibs=( + base/third_party/cityhash + ) + use system-double-conversion || keeplibs+=( + base/third_party/double_conversion + ) + keeplibs+=( + base/third_party/icu + base/third_party/nspr + base/third_party/superfasthash + base/third_party/symbolize + base/third_party/xdg_user_dirs + buildtools/third_party/libc++ + buildtools/third_party/libc++abi + ) + use cromite && keeplibs+=( + cromite_flags/third_party + ) + keeplibs+=( + net/third_party/mozilla_security_manager + net/third_party/quic + net/third_party/uri_template + ) + use system-abseil-cpp || keeplibs+=( + third_party/abseil-cpp + ) + keeplibs+=( + third_party/angle + third_party/angle/src/common/third_party/xxhash + third_party/angle/src/third_party/ceval + ) + use nvidia || keeplibs+=( + third_party/angle/src/third_party/libXNVCtrl + ) + keeplibs+=( + third_party/angle/src/third_party/volk + third_party/anonymous_tokens + third_party/apple_apsl + third_party/axe-core + third_party/bidimapper + third_party/blink + third_party/boringssl + third_party/boringssl/src/third_party/fiat + third_party/breakpad + third_party/breakpad/breakpad/src/third_party/curl + ) + use system-brotli || keeplibs+=( + third_party/brotli + ) + keeplibs+=( + third_party/catapult + third_party/catapult/common/py_vulcanize/third_party/rcssmin + third_party/catapult/common/py_vulcanize/third_party/rjsmin + third_party/catapult/third_party/beautifulsoup4-4.9.3 + third_party/catapult/third_party/html5lib-1.1 + third_party/catapult/third_party/polymer + third_party/catapult/third_party/six + third_party/catapult/third_party/typ + third_party/catapult/tracing/third_party/d3 + third_party/catapult/tracing/third_party/gl-matrix + third_party/catapult/tracing/third_party/jpeg-js + third_party/catapult/tracing/third_party/jszip + third_party/catapult/tracing/third_party/mannwhitneyu + third_party/catapult/tracing/third_party/oboe + third_party/catapult/tracing/third_party/pako + third_party/ced + third_party/cld_3 + third_party/closure_compiler + ) + use libcxx && keeplibs+=( + third_party/compiler-rt + ) + keeplibs+=( + third_party/content_analysis_sdk + third_party/cpuinfo + third_party/crabbyavif + third_party/crashpad + third_party/crashpad/crashpad/third_party/lss + third_party/crashpad/crashpad/third_party/zlib + ) + use system-crc32c || keeplibs+=( + third_party/crc32c + ) + keeplibs+=( + third_party/cros_system_api + third_party/d3 + third_party/dawn + third_party/dawn/third_party/gn/webgpu-cts + third_party/dawn/third_party/OpenGL-Registry + third_party/dawn/third_party/renderdoc + third_party/dawn/third_party/webgpu-headers + third_party/depot_tools + third_party/devscripts + third_party/devtools-frontend + third_party/devtools-frontend/src/front_end/third_party/acorn + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/devtools-frontend/src/front_end/third_party/axe-core + third_party/devtools-frontend/src/front_end/third_party/chromium + third_party/devtools-frontend/src/front_end/third_party/codemirror + third_party/devtools-frontend/src/front_end/third_party/csp_evaluator + third_party/devtools-frontend/src/front_end/third_party/diff + third_party/devtools-frontend/src/front_end/third_party/i18n + third_party/devtools-frontend/src/front_end/third_party/intl-messageformat + third_party/devtools-frontend/src/front_end/third_party/json5 + third_party/devtools-frontend/src/front_end/third_party/legacy-javascript + third_party/devtools-frontend/src/front_end/third_party/lighthouse + third_party/devtools-frontend/src/front_end/third_party/lit + third_party/devtools-frontend/src/front_end/third_party/marked + third_party/devtools-frontend/src/front_end/third_party/puppeteer + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/third_party/mitt + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/third_party/parsel-js + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/third_party/rxjs + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/third_party/urlpattern-polyfill + third_party/devtools-frontend/src/front_end/third_party/source-map-scopes-codec + third_party/devtools-frontend/src/front_end/third_party/third-party-web + third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data + third_party/devtools-frontend/src/front_end/third_party/wasmparser + third_party/devtools-frontend/src/front_end/third_party/web-vitals + third_party/devtools-frontend/src/third_party + third_party/dom_distiller_js + third_party/dragonbox + third_party/eigen3 + third_party/emoji-segmenter + third_party/farmhash + third_party/fast_float + third_party/fdlibm + third_party/federated_compute/chromium/fcp/confidentialcompute + third_party/federated_compute/src/fcp/base + third_party/federated_compute/src/fcp/confidentialcompute + third_party/federated_compute/src/fcp/protos/confidentialcompute + third_party/federated_compute/src/fcp/protos/federatedcompute + third_party/fft2d + third_party/flatbuffers + third_party/fp16 + third_party/freetype + third_party/fusejs + third_party/fxdiv + third_party/gemmlowp + third_party/google_input_tools + third_party/google_input_tools/third_party/closure_library + third_party/google_input_tools/third_party/closure_library/third_party/closure + third_party/googletest + third_party/gperf # We symlink system gperf, but this will purge the symlink since we tidy up afterwards. + third_party/highway + third_party/hunspell + third_party/hyphenation-patterns + third_party/ink/src/ink/brush + third_party/ink/src/ink/color + third_party/ink/src/ink/geometry + third_party/ink/src/ink/rendering + third_party/ink/src/ink/rendering/skia/common_internal + third_party/ink/src/ink/rendering/skia/native + third_party/ink/src/ink/rendering/skia/native/internal + third_party/ink/src/ink/strokes + third_party/ink/src/ink/types + third_party/inspector_protocol + third_party/ipcz + third_party/jinja2 + ) + use system-jsoncpp || keeplibs+=( + third_party/jsoncpp + ) + keeplibs+=( + third_party/khronos + third_party/lens_server_proto + third_party/leveldatabase + third_party/libaddressinput + ) + use libcxx && keeplibs+=( + third_party/libc++ + ) + keeplibs+=( + third_party/libdrm + third_party/libgav1 + third_party/libjingle + third_party/libpfm4 + third_party/libphonenumber + third_party/libpng + third_party/libsecret + third_party/libsrtp + third_party/libsync + third_party/libtess2/libtess2 + third_party/libtess2/src/Include + third_party/libtess2/src/Source + third_party/liburlpattern + ) + use system-libusb || keeplibs+=( + third_party/libusb + ) + keeplibs+=( + third_party/libva_protected_content + ) + use system-libvpx || keeplibs+=( + third_party/libvpx + third_party/libvpx/source/libvpx/third_party/x86inc + ) + keeplibs+=( + third_party/libwebm + third_party/libx11 + third_party/libxcb-keysyms + third_party/libxml/chromium + third_party/libyuv + third_party/libzip + third_party/lit + ) + use libcxx && keeplibs+=( + third_party/llvm-libc + third_party/llvm-libc/src/shared/ + ) + keeplibs+=( + third_party/lottie + third_party/lss + third_party/lzma_sdk + third_party/mako + third_party/markupsafe + third_party/material_color_utilities + third_party/metrics_proto + third_party/minigbm + third_party/ml_dtypes + third_party/modp_b64 + third_party/nasm + third_party/nearby + third_party/neon_2_sse + third_party/node + third_party/oak/chromium/proto + third_party/oak/chromium/proto/attestation + third_party/omnibox_proto + third_party/one_euro_filter + third_party/openscreen + third_party/openscreen/src/third_party/ + third_party/openscreen/src/third_party/tinycbor/src/src + third_party/ots + third_party/pdfium + third_party/pdfium/third_party/agg23 + third_party/pdfium/third_party/bigint + third_party/pdfium/third_party/freetype + third_party/pdfium/third_party/lcms + ) + use system-openjpeg || keeplibs+=( + third_party/pdfium/third_party/libopenjpeg + ) + keeplibs+=( + third_party/pdfium/third_party/libtiff + third_party/perfetto + third_party/perfetto/protos/third_party/android + third_party/perfetto/protos/third_party/chromium + third_party/perfetto/protos/third_party/pprof + third_party/perfetto/protos/third_party/primes + third_party/perfetto/protos/third_party/simpleperf + third_party/pffft + third_party/ply + third_party/polymer + third_party/private_membership + third_party/private-join-and-compute + third_party/protobuf + third_party/protobuf/third_party/utf8_range + third_party/pthreadpool + third_party/puffin + third_party/pyjson5 + third_party/pyyaml + third_party/rapidhash + third_party/readability + third_party/rnnoise + third_party/rust + third_party/ruy + third_party/s2cellid + third_party/search_engines_data + third_party/securemessage + third_party/selenium-atoms + third_party/sentencepiece + third_party/sentencepiece/src/third_party/darts_clone + third_party/shell-encryption + third_party/simdutf + third_party/simplejson + third_party/six + third_party/skia + third_party/skia/include/third_party/vulkan + third_party/smhasher + ) + use system-snappy || keeplibs+=( + third_party/snappy + ) + keeplibs+=( + third_party/spirv-headers + third_party/spirv-tools + third_party/sqlite + third_party/swiftshader + third_party/swiftshader/third_party/astc-encoder + third_party/swiftshader/third_party/llvm-subzero + third_party/swiftshader/third_party/marl + third_party/swiftshader/third_party/SPIRV-Headers/include/spirv + third_party/swiftshader/third_party/SPIRV-Tools + third_party/swiftshader/third_party/subzero + third_party/tensorflow_models + third_party/tensorflow-text + third_party/tflite + third_party/tflite/src/third_party/fft2d + third_party/tflite/src/third_party/xla/third_party/tsl + third_party/tflite/src/third_party/xla/xla/tsl/framework + third_party/tflite/src/third_party/xla/xla/tsl/lib/random + third_party/tflite/src/third_party/xla/xla/tsl/platform + third_party/tflite/src/third_party/xla/xla/tsl/protobuf + third_party/tflite/src/third_party/xla/xla/tsl/util + third_party/ukey2 + third_party/utf + third_party/vulkan + third_party/wayland + third_party/webdriver + third_party/webgpu-cts + third_party/webrtc + third_party/webrtc/common_audio/third_party/ooura + third_party/webrtc/common_audio/third_party/spl_sqrt_floor + third_party/webrtc/modules/third_party/fft + third_party/webrtc/modules/third_party/g711 + third_party/webrtc/modules/third_party/g722 + third_party/widevine + ) + use system-woff2 || keeplibs+=( + third_party/woff2 + ) + keeplibs+=( + third_party/wuffs + third_party/x11proto + third_party/xcbproto + third_party/xnnpack + third_party/zlib/google + third_party/zxcvbn-cpp + url/third_party/mozilla + v8/third_party/glibc + v8/third_party/inspector_protocol + v8/third_party/rapidhash-v8 + v8/third_party/siphash + v8/third_party/utf8-decoder + v8/third_party/v8 + v8/third_party/valgrind + + # gyp -> gn leftovers + third_party/speech-dispatcher + third_party/usb_ids + ) + + if use test; then + keeplibs+=( + third_party/breakpad/breakpad/src/processor + third_party/fuzztest + third_party/google_benchmark/src/include/benchmark + third_party/google_benchmark/src/src + third_party/test_fonts + third_party/test_fonts/fontconfig + third_party/test_fonts/test_fonts + ) + fi + + # USE=system-* + if ! use system-harfbuzz; then + keeplibs+=( third_party/harfbuzz ) + fi + + if ! use system-ffmpeg; then + keeplibs+=( third_party/ffmpeg third_party/opus ) + fi + + if ! use system-icu; then + keeplibs+=( third_party/icu ) + fi + + if ! use system-zstd; then + keeplibs+=( third_party/zstd ) + fi + + if ! use system-av1; then + keeplibs+=( + third_party/dav1d + third_party/libaom + third_party/libaom/source/libaom/third_party/fastfeat + third_party/libaom/source/libaom/third_party/vector + third_party/libaom/source/libaom/third_party/x86inc + ) + fi + + if use libcxx; then + keeplibs+=( + third_party/libc++ + third_party/llvm-libc + ) + fi + + if ! use system-openh264; then + keeplibs+=( third_party/openh264 ) + fi + + if ! use system-re2; then + keeplibs+=( third_party/re2 ) + fi + + # Arch-specific + if use arm64 || use ppc64 ; then + keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) + fi + # we need to generate ppc64 stuff because upstream does not ship it yet + # it has to be done before unbundling. + if use ppc64; then + pushd third_party/libvpx >/dev/null || die + mkdir -p source/config/linux/ppc64 || die + # requires git and clang, bug #832803 + # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh + # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh + # since we're not in a git repo + sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ + generate_gni.sh || die + ./generate_gni.sh || die + popd >/dev/null || die + + pushd third_party/ffmpeg >/dev/null || die + cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die + cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die + popd >/dev/null || die + fi + + # Sanity check keeplibs, on major version bumps it is often necessary to update this list + # and this enables us to hit them all at once. + # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd) + whitelist_libs=( + net/third_party/quic + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/libjingle + third_party/mesa + third_party/skia/third_party/vulkan + third_party/vulkan + ) + local not_found_libs=() + for lib in "${keeplibs[@]}"; do + if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then + not_found_libs+=( "${lib}" ) + fi + done + + if [[ ${#not_found_libs[@]} -gt 0 ]]; then + ewarn "The following \`keeplibs\` directories were not found in the source tree:" + for lib in "${not_found_libs[@]}"; do + ewarn " ${lib}" + done + fi + + keeplibs+=( third_party/ungoogled ) + + # Remove most bundled libraries. Some are still needed. + einfo "Unbundling third-party libraries ..." + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die + + # Interferes with our bundled clang path; we don't want stripped binaries anyway. + sed -i -e 's|${clang_base_path}/bin/llvm-strip|/bin/true|g' \ + -e 's|${clang_base_path}/bin/llvm-objcopy|/bin/true|g' \ + build/linux/strip_binary.gni || die +} + +src_configure() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + # https://bugs.gentoo.org/654216 + addpredict /dev/dri/ #nowarn + + # Use system-provided libraries. + # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_protobuf (bug #525560). + # TODO: use_system_sqlite (http://crbug.com/22208). + + # libevent: https://bugs.gentoo.org/593458 + local gn_system_libraries=( + flac + fontconfig + freetype + libjpeg + libwebp + libxml + libxslt + zlib + ) + if use system-abseil-cpp; then + gn_system_libraries+=( + absl_algorithm + absl_base + absl_cleanup + absl_container + absl_crc + absl_debugging + absl_flags + absl_functional + absl_hash + absl_log + absl_log_internal + absl_memory + absl_meta + absl_numeric + absl_random + absl_status + absl_strings + absl_synchronization + absl_time + absl_types + absl_utility + ) + fi + if use system-brotli; then + gn_system_libraries+=( brotli ) + fi + if use system-crc32c; then + gn_system_libraries+=( crc32c ) + fi + if use system-double-conversion; then + gn_system_libraries+=( double-conversion ) + fi + if use system-woff2; then + gn_system_libraries+=( woff2 ) + fi + if use nvidia; then + gn_system_libraries+=( libXNVCtrl ) + fi + if use system-ffmpeg; then + gn_system_libraries+=( ffmpeg opus ) + fi + if use system-jsoncpp; then + gn_system_libraries+=( jsoncpp ) + fi + if use system-icu; then + gn_system_libraries+=( icu ) + fi + if use system-zstd; then + gn_system_libraries+=( zstd ) + fi + if use system-av1; then + gn_system_libraries+=( dav1d libaom ) + fi + if use system-libusb; then + gn_system_libraries+=( libusb ) + fi + if use system-libvpx; then + gn_system_libraries+=( libvpx ) + fi + use system-openh264 && gn_system_libraries+=( + openh264 + ) + use system-re2 && gn_system_libraries+=( + re2 + ) + use system-snappy && gn_system_libraries+=( + snappy + ) + + build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || + die "Failed to replace GN files for system libraries" + + # TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file + # drop the last line, then append the freetype line and a new curly brace to end the block + local freetype_gni="build/config/freetype/freetype.gni" + sed -i -e '$d' ${freetype_gni} || die + echo " enable_freetype = true" >> ${freetype_gni} || die + echo "}" >> ${freetype_gni} || die + + if use !custom-cflags; then + replace-flags "-Os" "-O2" + strip-flags + # Debug info section overflows without component build + # Prevent linker from running out of address space, bug #471810 . + filter-flags "-g*" + # 949123: Several multimedia components explicitly build with specific CFLAGS and + # use runtime detection to enable optimisations; unfortunately any of our CFLAGS are suffixed + # to the end of the command line, which causes build failures. + fi + # Since M150 `skia` will begin breaking for x86_64 due to compilation of `avx512` code paths; + # we need to filter these for all arches. + filter-flags "-march*" "-mtune*" "-mcpu*" + + # We don't use the same clang version as upstream, and with -Werror + # we need to make sure that we don't get superfluous warnings. + append-flags -Wno-unknown-warning-option + if tc-is-cross-compiler; then # can you cross-compile with the bundled toolchain? + export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" + export BUILD_CFLAGS+=" -Wno-unknown-warning-option" + fi + + # Start building our GN options + local myconf_gn=() # Tip: strings must be quoted, bools or numbers are fine + + if use !bundled-toolchain; then + # We already forced the "correct" clang via pkg_setup + + if tc-is-cross-compiler; then + CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" + CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" + BUILD_AR=${AR} + BUILD_CC=${CC} + BUILD_CXX=${CXX} + BUILD_NM=${NM} + fi + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX NM + + strip-unsupported-flags + append-ldflags -Wl,--undefined-version # https://bugs.gentoo.org/918897#c32 + + myconf_gn+=( + "is_clang=true" + "clang_use_chrome_plugins=false" + "use_clang_modules=false" # M141 enables this for the linux platform by default. + 'custom_toolchain="//build/toolchain/linux/unbundle:default"' + # From M127 we need to provide a location for libclang and the clang resource dir so that bindgen can find them + "bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\"" + "bindgen_clang_resource_dir=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/include\"" + "bindgen_extra_clang_args=[\"-I${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/include\"]" + "clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" + "rust_bindgen_root=\"${EPREFIX}/usr/\"" + "rust_sysroot_absolute=\"$(get_rust_prefix)\"" + "rustc_version=\"${RUST_SLOT}\"" + ) + + if tc-ld-is-mold; then + myconf_gn+=( + "use_mold=true" + "use_lld=false" + "linker_path=\"${EPREFIX}/usr/bin/mold\"" + ) + else + myconf_gn+=( "use_lld=true" ) + fi + + if [[ ${LLVM_SLOT} -lt 23 ]]; then + # Workaround for -fsanitize-ignore-for-ubsan-feature (added in LLVM 23) + myconf_gn+=( 'clang_has_ubsan_feature_ignore=false' ) + fi + + if ! tc-is-cross-compiler; then + myconf_gn+=( 'host_toolchain="//build/toolchain/linux/unbundle:default"' ) + else + tc-export BUILD_{AR,CC,CXX,NM} + myconf_gn+=( + 'host_toolchain="//build/toolchain/linux/unbundle:host"' + 'v8_snapshot_toolchain="//build/toolchain/linux/unbundle:host"' + "host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" + "pkg_config=\"$(tc-getPKG_CONFIG)\"" + ) + + # setup cups-config, build system only uses --libs option + if use cups; then + mkdir "${T}/cups-config" || die + cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die + export PATH="${PATH}:${T}/cups-config" + fi + + # Don't inherit PKG_CONFIG_PATH from environment + local -x PKG_CONFIG_PATH= + fi + + fi # !bundled-toolchain + + local myarch + myarch="$(tc-arch)" + case ${myarch} in + amd64) + # Bug 530248, 544702, 546984, 853646. + use !custom-cflags && filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 \ + -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a + myconf_gn+=( 'target_cpu="x64"' ) + ;; + x86) + # Bug 530248, 544702, 546984, 853646. + use !custom-cflags && filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 \ + -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a + myconf_gn+=( 'target_cpu="x86"' ) + ;; + arm64) + myconf_gn+=( 'target_cpu="arm64"' ) + ;; + ppc64) + myconf_gn+=( 'target_cpu="ppc64"' ) + ;; + *) + die "Failed to determine target arch, got '${myarch}'." + ;; + esac + + # Common options + + myconf_gn+=( + # Disable code formating of generated files + "blink_enable_generated_code_formatting=false" + # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. + # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. + "dcheck_always_on=$(usex debug true false)" + "dcheck_is_configurable=$(usex debug true false)" + # Chromium builds provided by Linux distros should disable the testing config + "disable_fieldtrial_testing_config=true" + # Custom patch: Enable building Chromium as individual channels (e.g. stable, beta, dev) that + # use different profile directories, desktop entries, etc. This enables slotting the ebuild. + "enable_channel_branding=true" + # 131 began laying the groundwork for replacing freetype with + # "Rust-based Fontations set of libraries plus Skia path rendering" + # We now need to opt-in + "enable_freetype=true" + "enable_hangout_services_extension=$(usex hangouts true false)" + # Don't need nocompile checks and GN crashes with our config (verify with modern GN) + "enable_nocompile_tests=false" + # pseudolocales are only used for testing + "enable_pseudolocales=false" + "enable_widevine=$(usex widevine true false)" + # Disable fatal linker warnings, bug 506268. + "fatal_linker_warnings=false" + # Component build isn't generally intended for use by end users. It's mostly useful + # for development and debugging. + "is_component_build=false" + # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. + "is_debug=false" + "is_official_build=$(usex official true false)" + # Enable ozone wayland and/or headless support + "ozone_auto_platforms=false" + "ozone_platform_headless=true" + # Enables building without non-free unRAR licence + "safe_browsing_use_unrar=false" + # "thin_lto_enable_optimizations=${use_lto}" + "treat_warnings_as_errors=false" + # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) + # instead of the system C++ library for C++ standard library support. + # default: true, but let's be explicit (forced since 120 ; USE removed 127). + "use_custom_libcxx=true" + # Enable ozone wayland and/or headless support + "use_ozone=true" + # The sysroot is the oldest debian image that chromium supports, we don't need it + "use_sysroot=false" + # See dependency logic in third_party/BUILD.gn + "use_system_harfbuzz=$(usex system-harfbuzz true false)" + # "use_thin_lto=${use_lto}" + # Only enabled for clang, but gcc has endian macros too + "v8_use_libm_trig_functions=true" + ) + + myconf_gn+=( "enable_iterator_debugging=$(usex debug true false)" ) + + if use debug; then + myconf_gn+=( + "symbol_level=2" + "blink_symbol_level=2" + "v8_symbol_level=2" + ) + else + myconf_gn+=( + "symbol_level=0" + "blink_symbol_level=0" + "v8_symbol_level=0" + ) + fi + + if use bindist ; then + myconf_gn+=( + # If this is set to false Chromium won't be able to load any proprietary codecs + # even if provided with an ffmpeg capable of h264/aac decoding + "proprietary_codecs=true" + 'ffmpeg_branding="Chrome"' + # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute + "is_component_ffmpeg=true" + ) + else + myconf_gn+=( + "proprietary_codecs=$(usex proprietary-codecs true false)" + "ffmpeg_branding=\"$(usex proprietary-codecs Chrome Chromium)\"" + ) + fi + + if use headless; then + myconf_gn+=( + "enable_print_preview=false" + "enable_remoting=false" + 'ozone_platform="headless"' + "rtc_use_pipewire=false" + "use_alsa=false" + "use_cups=false" + "use_gio=false" + "use_glib=false" + "use_gtk=false" + "use_kerberos=false" + "use_libpci=false" + "use_pangocairo=false" + "use_pulseaudio=false" + "use_qt5=false" + "use_qt6=false" + "use_udev=false" + "use_vaapi=false" + "use_xkbcommon=false" + ) + else + myconf_gn+=( + "gtk_version=$(usex gtk4 4 3)" + # link pulseaudio directly (DT_NEEDED) instead of using dlopen. + # helps with automated detection of ABI mismatches and prevents silent errors. + "link_pulseaudio=$(usex pulseaudio true false)" + "ozone_platform_wayland=$(usex wayland true false)" + "ozone_platform_x11=$(usex X true false)" + "ozone_platform=\"$(usex wayland wayland x11)\"" + "rtc_use_pipewire=$(usex screencast true false)" + "use_cups=$(usex cups true false)" + "use_kerberos=$(usex kerberos true false)" + "use_pulseaudio=$(usex pulseaudio true false)" + "use_qt5=false" + "use_system_libffi=$(usex wayland true false)" + "use_system_minigbm=true" + "use_vaapi=$(usex vaapi true false)" + "use_xkbcommon=true" + ) + if use qt6; then + local cbuild_libdir + cbuild_libdir="$(get_libdir)" + if tc-is-cross-compiler; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + cbuild_libdir="$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)" + cbuild_libdir="${cbuild_libdir:2}" + cbuild_libdir="${cbuild_libdir/% }" + fi + myconf_gn+=( + "use_qt6=true" + "moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" + ) + else + myconf_gn+=( "use_qt6=false" ) + fi + fi + + # Explicitly disable ICU data file support for system-icu/headless builds. + if use system-icu || use headless; then + myconf_gn+=( "icu_use_data_file=false" ) + fi + + if use official; then + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py || die + # Don't add symbols to build + myconf_gn+=( "symbol_level=0" ) + fi + + if use pgo; then + myconf_gn+=( + "chrome_pgo_phase=2" + "v8_enable_builtins_optimization=true" + ) + else + myconf_gn+=( "chrome_pgo_phase=0" ) + fi + + # Odds and ends + + # skipping typecheck is only supported on amd64, bug #876157 + if ! use amd64; then + myconf_gn+=( "devtools_skip_typecheck=false" ) + fi + + # Disable external code space for V8 for ppc64. It is disabled for ppc64 + # by default, but cross-compiling on amd64 enables it again. + if tc-is-cross-compiler && use ppc64; then + myconf_gn+=( "v8_enable_external_code_space=false" ) + fi + + # This determines whether or not GN uses the bundled libcxx + if use libcxx; then + myconf_gn+=( "use_custom_libcxx=true" ) + else + myconf_gn+=( + "use_custom_libcxx=false" + "use_llvm_libatomic=false" + ) + append-cppflags -U_GLIBCXX_ASSERTIONS #See #318 + fi + + myconf_gn+=( "use_bluez=$(usex bluetooth true false)" ) + + myconf_gn+=( "is_cfi=$(usex cfi true false)" ) + + if use cfi; then + myconf_gn+=( + "use_cfi_icall=true" + "use_cfi_cast=true" + ) + fi + + myconf_gn+=( + "optimize_webui=$(usex optimize-webui true false)" + "use_system_freetype=$(usex system-harfbuzz true false)" + "use_system_libopenjpeg2=$(usex system-openjpeg true false)" + "enable_pdf=true" + "use_system_lcms2=true" + "enable_print_preview=true" + "use_thin_lto=$(usex thinlto true false)" + "thin_lto_enable_optimizations=$(usex optimize-thinlto true false)" + + # Ungoogled flags + "build_with_tflite_lib=false" + "enable_mdns=false" + "enable_mse_mpeg2ts_stream_parser=$(usex proprietary-codecs true false)" + "enable_remoting=false" + "enable_reporting=false" + "enable_service_discovery=false" + "exclude_unwind_tables=true" + "google_api_key=\"\"" + "google_default_client_id=\"\"" + "google_default_client_secret=\"\"" + "safe_browsing_mode=0" + "use_official_google_api_keys=false" + "use_unofficial_version_number=false" + + # "enable_swiftshader=false" + + # Additional flags + # "perfetto_use_system_zlib=true" + # "use_system_zlib=true" + # "use_system_libjpeg=true" + # "rtc_build_examples=false" + # "enable_chromium_prelude=false" + # "enable_updater=false" + # "enable_update_notifications=false" + # "enable_constraints=false" + # "rtc_rusty_base64=false" + # "v8_enable_temporal_support=false" + # "media_use_symphonia=false" + # "pdf_enable_rust_png=false" + # "skia_use_libpng_encode=true" + # "skia_use_libpng_decode=true" + # "skia_use_rust_png_decode=false" + # "skia_use_rust_png_encode=false" + # "enable_jxl_decoder=false" + ) + + if use amd64 || use arm64; then + myconf_gn+=( + "v8_drumbrake_bounds_checks=true" + # "v8_enable_drumbrake=true" + ) + fi + + if use thinlto; then + # We need to change the default value of import-instr-limit in + # LLVM to limit the text size increase. The default value is + # 100, and we change it to 30 to reduce the text size increase + # from 25% to 10%. The performance number of page_cycler is the + # same on two of the thinLTO configurations, we got 1% slowdown + # on speedometer when changing import-instr-limit from 100 to 30. + # append-ldflags "-Wl,-plugin-opt,-import-instr-limit=30" + sed -i '/import_instr_limit = 5/{s++import_instr_limit = 30+;h};${x;/./{x;q0};x;q1}' \ + build/config/compiler/BUILD.gn || die + + append-ldflags "-Wl,--thinlto-jobs=$(makeopts_jobs)" + fi + + # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn) + append-cflags -Wno-builtin-macro-redefined + append-cxxflags -Wno-builtin-macro-redefined + append-cppflags "-D__DATE__= -D__TIME__= -D__TIMESTAMP__=" + + local flags + einfo "Building with the following compiler settings:" + for flags in C{C,XX} AR NM RANLIB {C,CXX,CPP,LD}FLAGS \ + EXTRA_GN UGC_{SKIP_{PATCHES,SUBSTITUTION},KEEP_BINARIES} ; do + einfo " ${flags} = \"${!flags}\"" + done + + # Since we build from tarballs, we need to set the channel here so that it can be used in the build. + export CHROME_VERSION_EXTRA="${SLOT}" + + einfo "Configuring Chromium ..." + set -- gn gen --args="${myconf_gn[*]}${EXTRA_GN:+ ${EXTRA_GN}}" out/Release + echo "$@" + "$@" || die "Failed to configure Chromium" + + # The "if" below should not be executed unless testing + if [ ! -z "${NODIE}" ]; then + # List all args + # gn args --list out/Release + + # Quick compiler check + eninja -C out/Release protoc torque + fi +} + +src_compile() { + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # I hate doing this but upstream Rust have yet to come up with a better solution for + # us poor packagers. Required for Split LTO units, which are required for CFI. + export RUSTC_BOOTSTRAP=1 + + # Don't inherit PYTHONPATH from environment, bug #789021, #812689 + local -x PYTHONPATH= + + # Build mksnapshot and pax-mark it. + if use pax-kernel; then + local x + for x in mksnapshot v8_context_snapshot_generator code_cache_generator; do + if tc-is-cross-compiler; then + eninja -C out/Release "host/${x}" + pax-mark m "out/Release/host/${x}" + else + eninja -C out/Release "${x}" + pax-mark m "out/Release/${x}" + fi + done + fi + + # Even though ninja autodetects number of CPUs, we respect + # user's options, for debugging with -j 1 or any other reason. + eninja -C out/Release chrome chrome_sandbox $(use test && echo "base_unittests") + + pax-mark m out/Release/chrome + + # This codepath does minimal patching, so we're at the mercy of upstream + # CFLAGS. This is fine - we're not intending to force this on users + # and we do a lot of flag 'management' anyway. + if use bundled-toolchain; then + QA_FLAGS_IGNORED=" + usr/lib64/chromium-browser/chrome + usr/lib64/chromium-browser/chrome-sandbox + usr/lib64/chromium-browser/chromedriver + usr/lib64/chromium-browser/chrome_crashpad_handler + usr/lib64/chromium-browser/libEGL.so + usr/lib64/chromium-browser/libGLESv2.so + usr/lib64/chromium-browser/libVkICD_mock_icd.so + usr/lib64/chromium-browser/libVkLayer_khronos_validation.so + usr/lib64/chromium-browser/libqt6_shim.so + usr/lib64/chromium-browser/libvk_swiftshader.so + usr/lib64/chromium-browser/libvulkan.so.1 + " + fi + + use convert-dict && eninja -C out/Release convert_dict + + use enable-driver && eninja -C out/Release chromedriver + #use suid && eninja -C out/Release chrome_sandbox + + use enable-driver && mv out/Release/chromedriver{.unstripped,} + + rm -f out/Release/locales/*.pak.info || die + + # Generate support files (desktop file, manpage, etc.) See: #684550 #706786 #968958 + ${EPYTHON} "${FILESDIR}/generate-support-files.py" \ + --installdir "/usr/$(get_libdir)/ungoogled-chromium-browser" \ + --channel "${SLOT}" || + die "Failed to generate support files" +} + +src_test() { + # Tests may be flaky with usersandbox, and the test runner executes significantly faster without. + # If you seem to be excluding too many tests for a particular milestone: comment them out, reboot, and + # run the tests again. If that doesn't help, try FEATURES="-usersandbox" and send it because obviously the + # chromium gods are not smiling upon you today. Do some runtime testing, obvs. + local skip_tests=( + # Wildcard exclusions (if all tests in a test suite are broken) + 'AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/*' + 'AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/*' + 'AlternateTestParams/PartitionAllocTest.*' # 200+ tests, >= 1 crashes entire test runner with usersandbox. + 'CheckExitCodeAfterSignalHandlerDeathTest.*' + 'CriticalProcessAndThreadSpotChecks/HangWatcherAnyCriticalThreadTests.*' + 'LazyThreadPoolTaskRunnerEnvironmentTest.*' # M142 + 'ToolsSanityTest.BadVirtualCall*' + # requires en-us locale + SysStrings.SysNativeMBAndWide + SysStrings.SysNativeMBToWide + SysStrings.SysWideToNativeMB + # Specific test cases + CancelableEventTest.BothCancelFailureAndSucceedOccurUnderContention + FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe + HistogramTesterTest.PumaTestUniqueSample + ImmediateCrashTest.ExpectedOpcodeSequence # M150 + PathServiceTest.CheckedGetFailure + PlatformThreadTest.CanChangeThreadType + RawPtrTest.SetLookupUsesGetForComparison # M146 ; also broken for alpine in M144. + RustLogIntegrationTest.CheckAllSeverity + StackCanary.ChangingStackCanaryCrashesOnReturn + StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree + TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest + ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker + ) + local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")" + # test-launcher-bot-mode enables parallelism and plain output + # Check individual tests with --gtest_filter=<test you want> --single-process-tests + ./out/Release/base_unittests --test-launcher-bot-mode \ + --test-launcher-jobs="$(get_makeopts_jobs)" \ + --gtest_filter="${test_filter}" || die "Tests failed!" +} + +src_install() { + local browser_suffix + if [[ "${SLOT}" != "stable" ]]; then + browser_suffix="-${SLOT}" + else + browser_suffix="" + fi + local CHROMIUM_HOME="/usr/$(get_libdir)/ungoogled-chromium-browser${browser_suffix}" + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome + + #newexe out/Release/chrome_sandbox chrome-sandbox + #fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" + + use enable-driver && doexe out/Release/chromedriver + + #* https://github.com/ungoogled-software/ungoogled-chromium/pull/3563 + doexe out/Release/chrome_crashpad_handler + + if use convert-dict; then + newexe "${FILESDIR}/update-dicts.sh" update-dicts.sh + doexe out/Release/convert_dict + fi + + ozone_auto_session () { + use X && use wayland && ! use headless && echo true || echo false + } + + cat <<- EOF > "${D}${CHROMIUM_HOME}/chromium-launcher.sh" || die + #!/bin/bash + # Wrapper to launch slotted Chromium via the chromium-common launcher script. + export CHROME_DESKTOP="ungoogled-chromium-browser${browser_suffix}.desktop" + export CHROME_EXEC_NAME="ungoogled-chromium-browser${browser_suffix}" + export CHROME_VERSION_EXTRA="${SLOT}" + export CHROME_WRAPPER="\$(readlink -f "\$0")" + export OZONE_AUTO_SESSION=$(ozone_auto_session) + + exec /usr/libexec/chromium/chromium-launcher.sh "\$@" + EOF + + chmod 755 "${D}${CHROMIUM_HOME}/chromium-launcher.sh" || die + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/ungoogled-chromium-browser${browser_suffix} + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/ungoogled-chromium${browser_suffix} + + use enable-driver && dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/ungoogled-chromedriver${browser_suffix} + + pushd out/Release/locales > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + insinto "${CHROMIUM_HOME}" + doins out/Release/*.bin + doins out/Release/*.pak + doins -r out/Release/hyphen-data + + if use bindist; then + # We built libffmpeg as a component library, but we can't distribute it + # with proprietary codec support. Remove it and make a symlink to the requested + # system library. + rm -f out/Release/libffmpeg.so \ + || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" + # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. + einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." + dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ + /usr/$(get_libdir)/ungoogled-chromium-browser/libffmpeg.so + fi + + ( + shopt -s nullglob + local files=(out/Release/*.so out/Release/*.so.[0-9]) + [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" + ) + + if ! use system-icu && ! use headless; then + doins out/Release/icudtl.dat + fi + + doins -r out/Release/locales + #doins -r out/Release/MEIPreload + + # Install vk_swiftshader_icd.json; bug #827861 + doins out/Release/vk_swiftshader_icd.json + + if [[ -d out/Release/swiftshader ]]; then + insinto "${CHROMIUM_HOME}/swiftshader" + doins out/Release/swiftshader/*.so + fi + + use widevine && dosym WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so "${CHROMIUM_HOME}/libwidevinecdm.so" + + # Install icons + local branding size + for size in 16 24 32 48 64 128 256 ; do + case ${size} in + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; + *) branding="chrome/app/theme/chromium" ;; + esac + newicon -s ${size} "${branding}/product_logo_${size}.png" \ + ungoogled-chromium-browser${browser_suffix}.png + done + + # Install desktop entry + domenu out/Release/ungoogled-chromium-browser${browser_suffix}.desktop + + # Install GNOME default application entry (bug #303100). + insinto /usr/share/gnome-control-center/default-apps + doins out/Release/ungoogled-chromium-browser${browser_suffix}.xml + + # Install AppStream metadata + insinto /usr/share/appdata + doins out/Release/ungoogled-chromium-browser${browser_suffix}.appdata.xml + + # Install manpage; bug #684550 + doman out/Release/ungoogled-chromium-browser${browser_suffix}.1 + dosym ungoogled-chromium-browser${browser_suffix}.1 /usr/share/man/man1/ungoogled-chromium${browser_suffix}.1 + + readme.gentoo_create_doc +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + readme.gentoo_print_elog + + if use !headless && [[ -z "${REPLACING_VERSIONS}" ]]; then + if use vaapi; then + elog "Hardware-accelerated video decoding configuration:" + elog + elog "Chromium supports multiple backends for hardware acceleration. To enable one," + elog " Add to CHROMIUM_FLAGS in /etc/chromium/default:" + elog + elog "1. VA-API with OpenGL (recommended for most users):" + elog " --enable-features=AcceleratedVideoDecodeLinuxGL" + elog " VaapiVideoDecoder may need to be added as well, but try without first." + elog + if use wayland; then + elog "2. Enhanced Wayland/EGL performance:" + elog " --enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL" + elog + fi + if use X; then + elog "$(usex wayland "3" "2"). VA-API with Vulkan:" + elog " --enable-features=VaapiVideoDecoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE" + elog + if use wayland; then + elog " NOTE: Vulkan acceleration requires X11 and will not work under Wayland sessions." + elog " Use OpenGL-based acceleration instead when running under Wayland." + elog + fi + fi + elog "Additional options:" + elog " To enable hardware-accelerated encoding (if supported)" + elog " add 'AcceleratedVideoEncoder' to your feature list" + elog " VaapiIgnoreDriverChecks bypasses driver compatibility checks" + elog " (may be needed for newer/unsupported hardware)" + elog + else + elog "This Chromium build was compiled without VA-API support, which provides" + elog "hardware-accelerated video decoding." + fi + if use screencast; then + elog "Screencast is disabled by default at runtime. Either enable it" + elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" + elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + elog + elog "Additional setup may be required for screencasting to work." + elog "See issue: https://github.com/PF4Public/gentoo-overlay/issues/314" + fi + if use gtk4; then + elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" + elog "behaviour you need to pass --gtk-version=4, e.g. by adding it" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use widevine; then + elog "widevine requires binary plugins, which are distributed separately" + elog "Make sure you have www-plugins/chrome-binary-plugins installed" + fi + fi + + if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then + ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" + ewarn "indicates that the Gentoo handbook was not followed to completion." + ewarn "" + ewarn "Chromium is known to behave unpredictably with this system configuration;" + ewarn "please complete the configuration of this system before logging any bugs." + fi + + # Stable slot doesn't change profile directory, and it's vanishingly unlikely that users will downgrade from dev. + if [[ -n "${REPLACING_VERSIONS}" ]]; then + local replacing_non_slotted=false + # there could be more than one PVR + for version in ${REPLACING_VERSIONS}; do + if ver_test "${version}" -le "145.0.7632.116"; then + replacing_non_slotted=true + break + fi + done + if ${replacing_non_slotted}; then + ewarn "This version of Chromium has replaced a non-slotted ebuild." + if [[ ${SLOT} != "stable" ]]; then + ewarn "This channel has its own profile directory, so your existing profile will not be used." + ewarn "To use your existing profile, either copy or move it to the new location." + ewarn "See https://wiki.gentoo.org/wiki/Chromium#Profile_Directories for more information." + ewarn "" + fi + ewarn "Any existing Progressive Web Apps (PWAs) will need to be reinstalled," + ewarn "or have the path in the desktop files updated to point to the new wrapper script." + fi + fi +} + +eapply_wrapper () { + if [ ! -z "${NODIE}" ]; then + nonfatal eapply "$@" + else + eapply "$@" + fi +} + +git_wrapper () { + if [ ! -z "${NODIE}" ]; then + git "$@" + else + git "$@" || die + fi +} + +filter_wrapper () { + einfo "Applying ${i##*/}" + #? fuzz factor of 3 is OK? + if [ ! -z "${NODIE}" ]; then + filterdiff -p1 "${@:2}" < "$1" | patch -F 3 -p1 + else + filterdiff -p1 "${@:2}" < "$1" | patch -F 3 -p1 || die + fi +} diff --git a/x11-libs/gtk+/gtk+-2.24.33-r3.ebuild b/x11-libs/gtk+/gtk+-2.24.33-r3.ebuild index e60753fae99d..3050cf935f81 100644 --- a/x11-libs/gtk+/gtk+-2.24.33-r3.ebuild +++ b/x11-libs/gtk+/gtk+-2.24.33-r3.ebuild @@ -243,7 +243,7 @@ pkg_preinst() { touch "${ED}${cache}" || die fi } - multilib_parallel_foreach_abi multilib_pkg_preinst + multilib_foreach_abi multilib_pkg_preinst } pkg_postinst() { @@ -253,7 +253,7 @@ pkg_postinst() { gnome2_query_immodules_gtk2 \ || die "Update immodules cache failed (for ${ABI})" } - multilib_parallel_foreach_abi multilib_pkg_postinst + multilib_foreach_abi multilib_pkg_postinst set_gtk2_confdir diff --git a/x11-libs/gtk+/gtk+-3.24.51.ebuild b/x11-libs/gtk+/gtk+-3.24.51.ebuild index 9152fa3ad5b8..edfa19001e6f 100644 --- a/x11-libs/gtk+/gtk+-3.24.51.ebuild +++ b/x11-libs/gtk+/gtk+-3.24.51.ebuild @@ -179,7 +179,7 @@ pkg_preinst() { touch "${ED}${cache}" || die fi } - multilib_parallel_foreach_abi multilib_pkg_preinst + multilib_foreach_abi multilib_pkg_preinst } pkg_postinst() { @@ -189,7 +189,7 @@ pkg_postinst() { gnome2_query_immodules_gtk3 \ || die "Update immodules cache failed (for ${ABI})" } - multilib_parallel_foreach_abi multilib_pkg_postinst + multilib_foreach_abi multilib_pkg_postinst if ! has_version "app-text/evince"; then elog "Please install app-text/evince for print preview functionality." diff --git a/x11-libs/gtk+/gtk+-3.24.52.ebuild b/x11-libs/gtk+/gtk+-3.24.52.ebuild index 68ee54a8b61c..c74c90053455 100644 --- a/x11-libs/gtk+/gtk+-3.24.52.ebuild +++ b/x11-libs/gtk+/gtk+-3.24.52.ebuild @@ -186,7 +186,7 @@ pkg_preinst() { touch "${ED}${cache}" || die fi } - multilib_parallel_foreach_abi multilib_pkg_preinst + multilib_foreach_abi multilib_pkg_preinst } pkg_postinst() { @@ -196,7 +196,7 @@ pkg_postinst() { gnome2_query_immodules_gtk3 \ || die "Update immodules cache failed (for ${ABI})" } - multilib_parallel_foreach_abi multilib_pkg_postinst + multilib_foreach_abi multilib_pkg_postinst if ! has_version "app-text/evince"; then elog "Please install app-text/evince for print preview functionality." diff --git a/x11-libs/libxcb/files/libxcb-1.17.0-unquoted-var.patch b/x11-libs/libxcb/files/libxcb-1.17.0-unquoted-var.patch new file mode 100644 index 000000000000..b762e0980bbc --- /dev/null +++ b/x11-libs/libxcb/files/libxcb-1.17.0-unquoted-var.patch @@ -0,0 +1,24 @@ +https://bugs.gentoo.org/979126 + +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -270,7 +270,7 @@ + + $(EXTSOURCES): c_client.py $(XCBPROTO_XCBINCLUDEDIR)/$(@:.c=.xml) + $(AM_V_GEN)$(PYTHON) $(srcdir)/c_client.py -c "$(PACKAGE_STRING)" -l "$(XORG_MAN_PAGE)" \ +- -s "$(LIB_MAN_SUFFIX)" -p $(XCBPROTO_XCBPYTHONDIR) \ ++ -s "$(LIB_MAN_SUFFIX)" -p "$(XCBPROTO_XCBPYTHONDIR)" \ + $(C_CLIENT_PY_EXTRA_ARGS) \ + $(XCBPROTO_XCBINCLUDEDIR)/$(@:.c=.xml) + +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -1423,7 +1423,7 @@ + + $(EXTSOURCES): c_client.py $(XCBPROTO_XCBINCLUDEDIR)/$(@:.c=.xml) + $(AM_V_GEN)$(PYTHON) $(srcdir)/c_client.py -c "$(PACKAGE_STRING)" -l "$(XORG_MAN_PAGE)" \ +- -s "$(LIB_MAN_SUFFIX)" -p $(XCBPROTO_XCBPYTHONDIR) \ ++ -s "$(LIB_MAN_SUFFIX)" -p "$(XCBPROTO_XCBPYTHONDIR)" \ + $(C_CLIENT_PY_EXTRA_ARGS) \ + $(XCBPROTO_XCBINCLUDEDIR)/$(@:.c=.xml) + diff --git a/x11-libs/libxcb/libxcb-1.17.0.ebuild b/x11-libs/libxcb/libxcb-1.17.0.ebuild index 035f4ea48279..d80ea3eeedb7 100644 --- a/x11-libs/libxcb/libxcb-1.17.0.ebuild +++ b/x11-libs/libxcb/libxcb-1.17.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -37,6 +37,8 @@ BDEPEND="${PYTHON_DEPS} test? ( dev-libs/libxslt ) " +PATCHES=( "${FILESDIR}"/${PN}-1.17.0-unquoted-var.patch ) + python_check_deps() { python_has_version "${XCB_PROTO_DEP}[${PYTHON_USEDEP}]" } diff --git a/x11-libs/tslib/tslib-1.23-r1.ebuild b/x11-libs/tslib/tslib-1.23-r1.ebuild index b4994471fdc3..f134e39c5c8e 100644 --- a/x11-libs/tslib/tslib-1.23-r1.ebuild +++ b/x11-libs/tslib/tslib-1.23-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -58,5 +58,5 @@ src_configure() { cmake_src_configure } - multilib_parallel_foreach_abi my_configure + multilib_foreach_abi my_configure } diff --git a/x11-misc/primus/primus-0.2-r4.ebuild b/x11-misc/primus/primus-0.2-r4.ebuild index acd44b6182fd..01c139711c07 100644 --- a/x11-misc/primus/primus-0.2-r4.ebuild +++ b/x11-misc/primus/primus-0.2-r4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -48,7 +48,7 @@ src_compile() { mymake() { emake LIBDIR=$(get_libdir) } - multilib_parallel_foreach_abi mymake + multilib_foreach_abi mymake } src_install() { diff --git a/x11-misc/virtualgl/virtualgl-3.1.3.ebuild b/x11-misc/virtualgl/virtualgl-3.1.3.ebuild index 89fef3628cc5..ba2a11f7dd48 100644 --- a/x11-misc/virtualgl/virtualgl-3.1.3.ebuild +++ b/x11-misc/virtualgl/virtualgl-3.1.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -71,7 +71,7 @@ src_configure() { ) cmake_src_configure } - multilib_parallel_foreach_abi abi_configure + multilib_foreach_abi abi_configure } src_install() { diff --git a/x11-misc/virtualgl/virtualgl-3.1.4.ebuild b/x11-misc/virtualgl/virtualgl-3.1.4.ebuild index 89fef3628cc5..ba2a11f7dd48 100644 --- a/x11-misc/virtualgl/virtualgl-3.1.4.ebuild +++ b/x11-misc/virtualgl/virtualgl-3.1.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -71,7 +71,7 @@ src_configure() { ) cmake_src_configure } - multilib_parallel_foreach_abi abi_configure + multilib_foreach_abi abi_configure } src_install() { |
