From 4187bba080530c5ca1c7dae9c233e88f3fc8f535 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 6 Jul 2024 08:06:16 +0100 Subject: gentoo auto-resync : 06:07:2024 - 08:06:15 --- dev-lang/Manifest.gz | Bin 21968 -> 21969 bytes dev-lang/boogie/Manifest | 2 + dev-lang/boogie/boogie-3.2.0.ebuild | 306 ++++++++++ dev-lang/php/Manifest | 7 +- .../php/files/php-8.2.20-implicit-printf.patch | 65 ++ dev-lang/php/php-8.1.29.ebuild | 2 +- dev-lang/php/php-8.2.20.ebuild | 18 +- dev-lang/php/php-8.3.8.ebuild | 15 + dev-lang/python/Manifest | 2 + dev-lang/python/python-3.13.0_beta3_p1.ebuild | 659 +++++++++++++++++++++ 10 files changed, 1071 insertions(+), 5 deletions(-) create mode 100644 dev-lang/boogie/boogie-3.2.0.ebuild create mode 100644 dev-lang/php/files/php-8.2.20-implicit-printf.patch create mode 100644 dev-lang/python/python-3.13.0_beta3_p1.ebuild (limited to 'dev-lang') diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz index e750cdeb4e31..136739ed4442 100644 Binary files a/dev-lang/Manifest.gz and b/dev-lang/Manifest.gz differ diff --git a/dev-lang/boogie/Manifest b/dev-lang/boogie/Manifest index 4975c536a93d..0a528fee2208 100644 --- a/dev-lang/boogie/Manifest +++ b/dev-lang/boogie/Manifest @@ -1,5 +1,6 @@ AUX boogie-3.0.4-disable-analyzers.patch 764 BLAKE2B 965f6a8007a4324aa95b165109dcbc85f7bba5696d04772c53cfb1e456d0c60d2d3dce9103df641fe7f565d2a2d4e04a5d02aba43ac1ccc4527dcaae90b7b28b SHA512 b8c7b9172cd2f45be84058babd33c75f37dcb08f6c1a0b7c79b0ae2bd8afec70b29886f23d0a5553a00e1d3761a7788db0444d06788ee32aed2d1c2cd7cb9554 DIST boogie-3.1.6.tar.gz 2053303 BLAKE2B bc4c9ee72e605b1c78140f6120d0fe8ffcad663638829b28e8b5c7238d7265c156ad8994f4bb79989aea030b571b261f71b09050d80ab5a94625e47adc29a74d SHA512 31c4ca25bde610354f5ce4aaeab8f885c89f443a2d96671d55b4b38dc5dc30b6060f89100dba68a2bc962d6169618e1ab9f6958b1f12730687fa1e5c47267663 +DIST boogie-3.2.0.tar.gz 2064238 BLAKE2B 01b10f33dddd651b97786c0d9e3c8678c2c3afeb7dfc9403024a6d676b6b8a553b79804fe060b3e165f5b7dcee48de9f208639b115e5557fcd447f767f9144f0 SHA512 0642a407e0a7129776cbee934c45dbac0d12c41d9c920c6d2006c93af71046db0519b2530052686e5fc965a4b525641b5da1ab8ffeb4a48a3e8cfd5f918a6d66 DIST microsoft.bcl.asyncinterfaces.6.0.0.nupkg 76354 BLAKE2B aca3f5db71e4037dbdd604aeaebcd0962ccc171915b77b4c409ab744bf0a469c7d588f9504fc7fa49e3863e9593b66b4083235cb49e812d1f87b3dadb32e6003 SHA512 221a05a0c910f7a87b620d8f3831ed392b4eb95d112bee274d35f27009ad2a26445de9d7cd235fe6fb4a03f2550874bda3be3dddd96edaf9c0852a9c23d7b099 DIST microsoft.codecoverage.16.2.0.nupkg 3133582 BLAKE2B 418cf403247d594cde0d827f8ca8690019a7631525f07993937085f4bbf8473364b4c99aea6e8b7b0020208d15fe0da63f0f4e69c273493c51ae011e8bd82667 SHA512 91f1d43fc038a20f5367d9aab669105dc7514dfbe749260b52789c09a75abcc6bdc000ee0c7f432231d4cc09e99bf5b863dd6289d813342f74d9dad23a651625 DIST microsoft.csharp.4.0.1.nupkg 462346 BLAKE2B 209ccebc9103b803d26ea1f0232245c3cd231078b03a83a0011a2a79a1a8a324a72c5b3fda94b2686fff170932f366e165f81a36a70df590a39c45d70778e4be SHA512 c0e75a9162f28ba4c4572c8fac4fd4c8c97d6d3505a37683646ba5f7e5f6ac0da69d5200d2646054de90e8e08f893a10e514591b69b8273640842b2cf90bddec @@ -191,4 +192,5 @@ DIST system.xml.xpath.4.3.0.nupkg 250182 BLAKE2B 8a4177d47af56bc7a6289ed8f2cac41 DIST system.xml.xpath.xmldocument.4.0.1.nupkg 86933 BLAKE2B 4c03b5a9433c2c954e75d212f9026885aa7514574b73a54880c3d55baee6bd5517abb46b67b22b9b6e63de92a8bc5ab4ff37e3f7e6454a5c5137ae2be6574b75 SHA512 81041a08d3b9158c43dfb48d42f13ec9950d7c2b7f63e1600a779a77786edfb46c522c32d9cc6a44358fbfe11efba0e539e578ef169261867a1905b8121a045d DIST system.xml.xpath.xmldocument.4.3.0.nupkg 138523 BLAKE2B ba53f3b5ac0f2d1d1e9120940b302e6960690ed4a44b96ba15b03e16f9159f2c57d6004aa55b796ba2327009d23fc2f10d4d09e948b88eb6af36efa5f76e401b SHA512 f75b6f7c75874ab6053e8942c1662a6e9a3561aa01502437b8d67f3bfcebd1ebf906792801326889ed7acb094c55469766d7d27cd10bc61b46ddaaa94dfc11e3 EBUILD boogie-3.1.6.ebuild 9418 BLAKE2B f2ab18943dd53d9d54fbf579d6f603ff53c3c74ab0e373c8be244b91cb172c964d01970400f8096a6fd16d1a9838df7d4d1597f62e74b2ab345e4d24410bac41 SHA512 28a0a1089b99108b86ff165c1157294b6cb7562f775a9b78420caa2ad925c7620b9e6faa3318279dd07da3c5da44886794cc9187484549aa921d6ab7aae1a7b2 +EBUILD boogie-3.2.0.ebuild 9475 BLAKE2B 1c2fc5631b2f16ee7c55cf850e35add9cc8e6f83271b9dbe89cd3ae91eef04068bf1eba0585dbbbb751a2e08740ba2f60492f9dc1fd169a9211b29939693c00d SHA512 4dda5316e21247409c0568fc13ff9572c6f01a4ce1be50db002fd4d68ab49ef8795213c097511c3d674de7fb52cd860243cbcd859e64ae13474e2dfa77d96d84 MISC metadata.xml 1102 BLAKE2B 215544658792715aae72787f7c949ed89df9c05ceab5a919a861c02b7938c0d1ee228e0ede55008287b616faf70992a8c1f2854e6e5e1fc909718ae682996bb8 SHA512 b6a626c485e2a5db3390da62c629507a60417eda8b508d7ed8d1c017ac337743d2c4fe0e8554b103f989176dcd2969cc8579e91532b07a22c1b66328ef241e8d diff --git a/dev-lang/boogie/boogie-3.2.0.ebuild b/dev-lang/boogie/boogie-3.2.0.ebuild new file mode 100644 index 000000000000..049cfbc87840 --- /dev/null +++ b/dev-lang/boogie/boogie-3.2.0.ebuild @@ -0,0 +1,306 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOTNET_PKG_COMPAT=8.0 +NUGETS=" +microsoft.bcl.asyncinterfaces@6.0.0 +microsoft.codecoverage@16.2.0 +microsoft.csharp@4.0.1 +microsoft.dotnet.internalabstractions@1.0.0 +microsoft.net.test.sdk@16.2.0 +microsoft.netcore.platforms@1.0.1 +microsoft.netcore.platforms@1.1.0 +microsoft.netcore.targets@1.0.1 +microsoft.netcore.targets@1.1.0 +microsoft.testplatform.objectmodel@16.2.0 +microsoft.testplatform.testhost@16.2.0 +microsoft.win32.primitives@4.0.1 +microsoft.win32.primitives@4.3.0 +microsoft.win32.registry@4.0.0 +microsoft.win32.registry@4.3.0 +microsoft.win32.systemevents@6.0.0 +netstandard.library@1.6.0 +netstandard.library@2.0.0 +newtonsoft.json@9.0.1 +nunit@3.12.0 +nunit3testadapter@3.15.1 +runtime.any.system.collections@4.3.0 +runtime.any.system.diagnostics.tools@4.3.0 +runtime.any.system.diagnostics.tracing@4.3.0 +runtime.any.system.globalization.calendars@4.3.0 +runtime.any.system.globalization@4.3.0 +runtime.any.system.io@4.3.0 +runtime.any.system.reflection.extensions@4.3.0 +runtime.any.system.reflection.primitives@4.3.0 +runtime.any.system.reflection@4.3.0 +runtime.any.system.resources.resourcemanager@4.3.0 +runtime.any.system.runtime.handles@4.3.0 +runtime.any.system.runtime.interopservices@4.3.0 +runtime.any.system.runtime@4.3.0 +runtime.any.system.text.encoding.extensions@4.3.0 +runtime.any.system.text.encoding@4.3.0 +runtime.any.system.threading.tasks@4.3.0 +runtime.any.system.threading.timer@4.3.0 +runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.native.system.io.compression@4.1.0 +runtime.native.system.net.http@4.0.1 +runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.native.system.security.cryptography@4.0.0 +runtime.native.system@4.0.0 +runtime.native.system@4.3.0 +runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.unix.microsoft.win32.primitives@4.3.0 +runtime.unix.system.console@4.3.0 +runtime.unix.system.diagnostics.debug@4.3.0 +runtime.unix.system.io.filesystem@4.3.0 +runtime.unix.system.net.primitives@4.3.0 +runtime.unix.system.net.sockets@4.3.0 +runtime.unix.system.private.uri@4.3.0 +runtime.unix.system.runtime.extensions@4.3.0 +system.appcontext@4.1.0 +system.buffers@4.0.0 +system.buffers@4.3.0 +system.collections.concurrent@4.0.12 +system.collections.immutable@1.2.0 +system.collections.nongeneric@4.0.1 +system.collections.nongeneric@4.3.0 +system.collections.specialized@4.0.1 +system.collections.specialized@4.3.0 +system.collections@4.0.11 +system.collections@4.3.0 +system.componentmodel.eventbasedasync@4.0.11 +system.componentmodel.eventbasedasync@4.3.0 +system.componentmodel.primitives@4.1.0 +system.componentmodel.primitives@4.3.0 +system.componentmodel.typeconverter@4.1.0 +system.componentmodel.typeconverter@4.3.0 +system.componentmodel@4.0.1 +system.componentmodel@4.3.0 +system.configuration.configurationmanager@6.0.0 +system.console@4.0.0 +system.diagnostics.debug@4.0.11 +system.diagnostics.debug@4.3.0 +system.diagnostics.diagnosticsource@4.0.0 +system.diagnostics.process@4.1.0 +system.diagnostics.process@4.3.0 +system.diagnostics.textwritertracelistener@4.0.0 +system.diagnostics.tools@4.0.1 +system.diagnostics.tracesource@4.0.0 +system.diagnostics.tracing@4.1.0 +system.diagnostics.tracing@4.3.0 +system.drawing.common@6.0.0 +system.dynamic.runtime@4.0.11 +system.globalization.calendars@4.0.1 +system.globalization.extensions@4.0.1 +system.globalization.extensions@4.3.0 +system.globalization@4.0.11 +system.globalization@4.3.0 +system.io.compression.zipfile@4.0.1 +system.io.compression@4.1.0 +system.io.filesystem.primitives@4.0.1 +system.io.filesystem.primitives@4.3.0 +system.io.filesystem@4.0.1 +system.io.filesystem@4.3.0 +system.io@4.1.0 +system.io@4.3.0 +system.linq.async@6.0.1 +system.linq.expressions@4.1.0 +system.linq@4.1.0 +system.linq@4.3.0 +system.net.http@4.1.0 +system.net.nameresolution@4.3.0 +system.net.primitives@4.0.11 +system.net.sockets@4.1.0 +system.objectmodel@4.0.12 +system.private.datacontractserialization@4.1.1 +system.private.uri@4.3.0 +system.reactive@4.4.1 +system.reflection.emit.ilgeneration@4.0.1 +system.reflection.emit.lightweight@4.0.1 +system.reflection.emit@4.0.1 +system.reflection.extensions@4.0.1 +system.reflection.extensions@4.3.0 +system.reflection.metadata@1.3.0 +system.reflection.primitives@4.0.1 +system.reflection.primitives@4.3.0 +system.reflection.typeextensions@4.1.0 +system.reflection.typeextensions@4.3.0 +system.reflection@4.1.0 +system.reflection@4.3.0 +system.resources.resourcemanager@4.0.1 +system.resources.resourcemanager@4.3.0 +system.runtime.caching@6.0.0 +system.runtime.extensions@4.1.0 +system.runtime.extensions@4.3.0 +system.runtime.handles@4.0.1 +system.runtime.handles@4.3.0 +system.runtime.interopservices.runtimeinformation@4.0.0 +system.runtime.interopservices.runtimeinformation@4.3.0 +system.runtime.interopservices@4.1.0 +system.runtime.interopservices@4.3.0 +system.runtime.loader@4.0.0 +system.runtime.numerics@4.0.1 +system.runtime.serialization.json@4.0.2 +system.runtime.serialization.primitives@4.1.1 +system.runtime@4.1.0 +system.runtime@4.3.0 +system.security.accesscontrol@6.0.0 +system.security.claims@4.3.0 +system.security.cryptography.algorithms@4.2.0 +system.security.cryptography.cng@4.2.0 +system.security.cryptography.csp@4.0.0 +system.security.cryptography.encoding@4.0.0 +system.security.cryptography.openssl@4.0.0 +system.security.cryptography.primitives@4.0.0 +system.security.cryptography.protecteddata@6.0.0 +system.security.cryptography.x509certificates@4.1.0 +system.security.permissions@6.0.0 +system.security.principal.windows@4.3.0 +system.security.principal@4.3.0 +system.text.encoding.extensions@4.0.11 +system.text.encoding.extensions@4.3.0 +system.text.encoding@4.0.11 +system.text.encoding@4.3.0 +system.text.regularexpressions@4.1.0 +system.text.regularexpressions@4.3.0 +system.threading.tasks.extensions@4.0.0 +system.threading.tasks.extensions@4.3.0 +system.threading.tasks@4.0.11 +system.threading.tasks@4.3.0 +system.threading.thread@4.0.0 +system.threading.thread@4.3.0 +system.threading.threadpool@4.0.10 +system.threading.threadpool@4.3.0 +system.threading.timer@4.0.1 +system.threading@4.0.11 +system.threading@4.3.0 +system.windows.extensions@6.0.0 +system.xml.readerwriter@4.0.11 +system.xml.readerwriter@4.3.0 +system.xml.xdocument@4.0.11 +system.xml.xmldocument@4.0.1 +system.xml.xmldocument@4.3.0 +system.xml.xmlserializer@4.0.11 +system.xml.xpath.xmldocument@4.0.1 +system.xml.xpath.xmldocument@4.3.0 +system.xml.xpath@4.0.1 +system.xml.xpath@4.3.0 +" + +inherit check-reqs dotnet-pkg edo multiprocessing + +DESCRIPTION="SMT-based program verifier" +HOMEPAGE="https://github.com/boogie-org/boogie/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/boogie-org/${PN}.git" +else + SRC_URI="https://github.com/boogie-org/${PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz" + + KEYWORDS="~amd64" +fi + +SRC_URI+=" ${NUGET_URIS} " + +LICENSE="MIT" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + sci-mathematics/z3 +" +BDEPEND=" + ${RDEPEND} + test? ( + dev-python/OutputCheck + dev-python/lit + dev-python/psutil + ) +" + +PATCHES=( "${FILESDIR}/${PN}-3.0.4-disable-analyzers.patch" ) + +CHECKREQS_DISK_BUILD="2G" +DOTNET_PKG_PROJECTS=( Source/BoogieDriver/BoogieDriver.csproj ) +DOTNET_PKG_BUILD_EXTRA_ARGS=( -p:RollForward=Major ) + +pkg_setup() { + check-reqs_pkg_setup + dotnet-pkg_pkg_setup +} + +src_unpack() { + dotnet-pkg_src_unpack + + if [[ -n "${EGIT_REPO_URI}" ]] ; then + git-r3_src_unpack + fi +} + +src_prepare() { + # Remove bad tests. + local -a bad_tests=( + civl/inductive-sequentialization/BroadcastConsensus.bpl + civl/inductive-sequentialization/ChangRoberts.bpl + civl/inductive-sequentialization/PingPong.bpl + civl/large-samples/GC.bpl + civl/paxos/is.sh + civl/samples/reserve.bpl + civl/samples/treiber-stack.bpl + inst/vector-generic.bpl + livevars/stack_overflow.bpl + prover/cvc5-offline.bpl + prover/cvc5.bpl + prover/exitcode.bpl + prover/z3-hard-timeout.bpl + prover/z3mutl.bpl + test0/AssumeFalseSplit/AssumeFalseSplit.bpl + test0/Split/Split.bpl + test15/CaptureInlineUnroll.bpl + test2/Timeouts0.bpl + test21/InterestingExamples4.bpl + ) + local bad_test + for bad_test in "${bad_tests[@]}" ; do + rm "${S}/Test/${bad_test}" || die + done + + # Update the boogieBinary variable. + sed "/^boogieBinary/s|= .*|= '${DOTNET_PKG_OUTPUT}/BoogieDriver.dll'|" \ + -i "${S}/Test/lit.site.cfg" || die "failed to update lit.site.cfg" + + dotnet-pkg_src_prepare +} + +src_test() { + einfo "Starting tests using the lit test tool." + local -a lit_opts=( + --order=lexical + --time-tests + --timeout 1800 # Let one test take no more than half a hour. + --verbose + --workers="$(makeopts_jobs)" + ) + edo lit "${lit_opts[@]}" "${S}/Test" +} + +src_install() { + dotnet-pkg-base_install + dotnet-pkg-base_dolauncher "/usr/share/${P}/BoogieDriver" boogie + + einstalldocs +} diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index 77b72e7d7cd5..3c959cc0fa62 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -2,6 +2,7 @@ AUX 20php5-envd 208 BLAKE2B 7d876903c7f58ab148e1d6bb2b0d86cb9f5ecd241bc00e92138d AUX fix-musl-llvm.patch 1195 BLAKE2B d2f3dffcae9cf82da44d0424bda6a15430a48a8def71373aa038b5f19ecb6e19e2efc4243e7c4fb1e376eccff4740476b66b41db4ae3fae38dc1d6e08c0c8b8f SHA512 a22156eafa738326657ca5cb4bad01658bcbc9409d91f0f8fc2809931dab3945064a0f031a4aa922a484768705c0b72e87d1ba634f13ae4bda613a01826aa0fb AUX php-8.1.27-gcc14-libxml.patch 1982 BLAKE2B dcb329e5bae787aa0d47f70e7d60f5a187568b10f2e3a1dd33b5fc422df7b5774e9f4093b728d3621bcdfa2d3d96da98272e80be553cce5ea61151b362347c0a SHA512 f68cb97cc3b0b8da5eb62d7217fcbe1652579771ed19aba0b52740cb056c85710a1b1bff3286dbefa72bc22885dd4b4df8c5f5b1f089c977106251d9daa2065d AUX php-8.1.27-implicit-decls.patch 2163 BLAKE2B 0164d973ae9b6851014bcccd0deb92add72fa92d9a7c830695841768fb1998c2b49d649503ca324d9735f893974884438b922deab5a4c6c46275057a139ee3ea SHA512 f02d9668ceea39be7b4a6a9c3026d3d0e5230e74aadab09a454a2447a93ea1a4098982d714353c64ec1beb69fe387e9b3575c60fc14e4749298ea674f81401c2 +AUX php-8.2.20-implicit-printf.patch 2226 BLAKE2B 859cd38c6687b517a372973a8d282494f43bc5739ffa00c829de4a43ad72a752195657ededc7d4705699c0bd1ab249e588a74f6be85e1937c55de00d2844213d SHA512 95e4f535066b72e1497673dd633aa33beaf49c5a967ca2ad04e837ddea546f935717b3095d61cef8310138d77a3d18372139af3f979030b25b9ec2dc38318fb0 AUX php-8.2.8-openssl-tests.patch 790 BLAKE2B fcfa6f361470f2baa65d2bbbde7c9629841546a560aa6f88d85b68727004e24949f9516340eba0339e575dcf06077d08540a7a6d58a0cda42d5cd26bf48d9e46 SHA512 d29b5334abee8bcbef62c88c01c9eaf887f25901763db75e754f6690e24138c9e45783943d32402f693bd7e4564d737521a8b0b8034d5401bac73ff30f453050 AUX php-capstone-optional.patch 2497 BLAKE2B f23236130be88d28d933d5482f1925c4e32e09c5022544ac2dec62465e9296baabe64f57fedd7ccb9f4499d354bd466d10cfb66596e8be029be6fa4f82dbc1a1 SHA512 a9000d789a7bc54d4b6cf8ed287dcfd71958dfc85c6417737dcd66b9461be5b1aa2568a19f5a9cd29927fe9d955ac24d04e2f64f1c4018110a8f81a6eb4813c5 AUX php-fpm_at-simple.service 316 BLAKE2B 0ba10f3e3b004fbf14956e1e4f04f59b8a127e6717fe6b92c09b9f931033a11551c75fbbee9010f6b694c5a8758ca0eec9eed457ae304ba0dea8f2c256c3b8d4 SHA512 7367a3f8d3874f8e0c76f331ba613a0250db02f60ad9f87affaf448dcb5bc34bcecb91d88f415764a12b24b46ae3d1b738a002af9f77a4b707e916e83a0021fd @@ -16,9 +17,9 @@ DIST php-8.2.20.tar.xz 12097568 BLAKE2B 1e38e48ea9c28abfe2c3bd860bc5d959fbe32766 DIST php-8.3.8.tar.xz 12480896 BLAKE2B 477129fcd766f2235e3d776c923ba51b76539f074245e8041a861db09ebbc648658b2756e6a23051a75a512fdc6e5c129633d1471213dec6f7e24d4da0d317e8 SHA512 1a2840f0b5dcbea6dfcc3894cb9e38d103bf4110c1b956438199deee0b60e5ae63cce34be25ca6f03ac8d26581a852657f8800f92fefe38345e20443b646bb3e EBUILD php-8.1.26-r1.ebuild 21992 BLAKE2B 6a2d19aefc689f44603bf95a14b21e345ae739a5dd66a620a065f36e4b72233753a8144f41434211de28ee49ac0e3c0dda3dd712749215a721007126104cddfc SHA512 928b5d071618a69d398c15223c8885924c5dbe6581bacc93f041a27c6caf4384ae43e0aeeb6f2bf31582b5d1838a6656a8e6cb24d18ddddf44e9df1e18694c93 EBUILD php-8.1.28.ebuild 22549 BLAKE2B d09d8749f4daa08f6aae974f79a0726dca5890058d7678e378da48c330a69c9e71b9f8468ae6924d2369aa56db164fb88c98928729996792c6dc9350232a5937 SHA512 0928681d7a843f97c4084fd6050407eadb3253eb3b33bfb76725feaad9ef2e3b6763a66cdd174e689cf8b4606ef37f29628e073d990b8526b6ae6cd19fd58dde -EBUILD php-8.1.29.ebuild 22549 BLAKE2B d09d8749f4daa08f6aae974f79a0726dca5890058d7678e378da48c330a69c9e71b9f8468ae6924d2369aa56db164fb88c98928729996792c6dc9350232a5937 SHA512 0928681d7a843f97c4084fd6050407eadb3253eb3b33bfb76725feaad9ef2e3b6763a66cdd174e689cf8b4606ef37f29628e073d990b8526b6ae6cd19fd58dde +EBUILD php-8.1.29.ebuild 22547 BLAKE2B b087d99d25da6da7a6cea1619782fc66f926b8f06ae2fca802b9a4ab63699578bccfd46f50bfd9a916df68f2028b6267694a46c423c580ed836de9f1a054f7a7 SHA512 e46a9f3a296c8052a0ef7db8de88ee69837065cfb91c51f2639ebc2b49260d4894b83d1f27dbcb259f82d6e9daa93d86ec06656af49868ff9ffeb0b9a0840384 EBUILD php-8.2.15.ebuild 25370 BLAKE2B 48ace575c7542824739c35e836e7213008d355214c0ad77e358e4e70887aa76a990f0bc4a583097a1cd16c6b37f7da6ca6fe20b419d7ca628838be0f89557d80 SHA512 266d3c538548bd124a828eaa4ab2b9f4daaf954005f589f83fc4b66bb1a6b7a980c2fbf056d8a86fc5c956ea0231fd76deca57861661274c3693b561397c1e1d EBUILD php-8.2.18.ebuild 25786 BLAKE2B b6c8acb63663a8cc0e4adc7cc79b285e95add4308a5686523d3808b5ac21ed075091cddf17854733fa429ec8ff0210a580352d727358fd281acb7238d18fad44 SHA512 0480657861f695fd3ab011720c7dfdbd59c9fcb297dcf1e72c10877235e2e131c12bfa184268a6602834b9a5502befebd569d4184ba7a3f35166c89e2959fdfd -EBUILD php-8.2.20.ebuild 25955 BLAKE2B 14d8e7527d60b78678b8be2152cf6000d27c7ee0915d5c9e7917655a485558f2c34dacba07b0c8ed891382a1b66fb9bf46e850eb7b1395af2c19599ef3f0adf7 SHA512 79f672cca6ef2a70916fb9881e54923ec91b3dd3cba1a425dc462ce509cf6d22a84c68d7c0f6fa69f15a651c1f9591b6f2270aee4c012fd09f87814b21e3e3d8 -EBUILD php-8.3.8.ebuild 23098 BLAKE2B 5408dbb7612ba5c4555b0c646b616dd93897d126121053b136cbcb39cc3a3faba7144a7dc9ccafa1156b840a70b3f6b21ac680669af424bf08a31e879fd7f879 SHA512 b069bc436c08e80a023b92b918304083c75802d85bec97ec4655520c649df553ff1d6e566c8699a01fd955bfc66b1aea544101e7e47921992283007523029878 +EBUILD php-8.2.20.ebuild 26473 BLAKE2B ac859f939dc6d05ec1f0892f99fbf531431ce4cb667c20dbb4d83b194e70f341ed44483c93d985076a8c548ef86bee3665411fa82ba4e5089906da95b83d0515 SHA512 e257b6ec490df75935c4c3fd0cda4b2e3f74a8104f317af2e4dc505f705db32afc9242edc9a19f747b3f20962ef803678e4f56ef1738596438541ebf85868876 +EBUILD php-8.3.8.ebuild 23570 BLAKE2B 8a233faa961fa0a18c735a2c7b3ae1fb727c9ebea64cfdc20bb3b6a9abaa2a915e6e0dbc588ca2484b714fe3ca6d2ce6a18d2028fe3272016f2471f102e62c24 SHA512 b42e259799e820e2dcff8e23b06258c3366616599cf28fc3cc06b6a62d359ca6715fb9cedaa062ade8522d629e428dadd9a86bce5bb15384335164f0301a9ea4 MISC metadata.xml 4134 BLAKE2B 62c1c5052c50db537586edc1db639fa94e24609ea027208177566ae7f7f9199103bb3ef5b636766508027e8e7aacb8451d25b57e981b582bc42299e199696a68 SHA512 b059c7552c18dfcabe82170c1ae5978421284f3ea9ea9505359c1441ccc76b668a5555919251c6ca55f1f450da9363a8ac7b30c393a8506921f790e0f4197dbb diff --git a/dev-lang/php/files/php-8.2.20-implicit-printf.patch b/dev-lang/php/files/php-8.2.20-implicit-printf.patch new file mode 100644 index 000000000000..6c0bdb57a35d --- /dev/null +++ b/dev-lang/php/files/php-8.2.20-implicit-printf.patch @@ -0,0 +1,65 @@ +commit 88b30e08cc434ec82cae7881d360bd83fac733a2 +Author: Michael Orlitzky +Date: Fri Mar 3 12:28:37 2023 -0500 + + ext/iconv/config.m4: add missing stdio.h include. + + The next generation of C compilers is going to enforce the C standard + more strictly: + + https://wiki.gentoo.org/wiki/Modern_C_porting + + One warning that will eventually become an error is + -Wimplicit-function-declaration. This is relatively easy to catch in + most code (it will fail to compile), but inside of autoconf tests it + can go unnoticed because many feature-test compilations fail by + design. For example, + + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[iconv_ccs_init(NULL, NULL);]])]... + + is designed to fail if iconv_ccs_init() is not in iconv.h. On the + other hand, + + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include + int main() { + printf("%d", _libiconv_version); + return 0; + } + + should pass if _libiconv_version is defined. If the user has + -Werror=implicit-function-declaration in his CFLAGS, however, + it will not: + + $ export CFLAGS="$CFLAGS -Werror=implicit-function-declaration" + $ ./configure + ... + checking if using GNU libiconv... no + + This is because the stdio.h header that defines printf() is missing: + + conftest.c:240:3: error: implicit declaration of function 'printf' + [-Werror=implicit-function-declaration] + 240 | printf("%d", _libiconv_version); + | ^~~~~~ + conftest.c:239:1: note: include '' or provide a declaration + of 'printf' + + This commit adds the include, correcting the test with any compiler + that balks at implicit function definitions. + + Closes GH-10751 + +diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4 +index 5d408de833..3cf400fe96 100644 +--- a/ext/iconv/config.m4 ++++ b/ext/iconv/config.m4 +@@ -30,6 +30,7 @@ if test "$PHP_ICONV" != "no"; then + AC_MSG_CHECKING([if using GNU libiconv]) + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include ++#include + int main(void) { + printf("%d", _libiconv_version); + return 0; diff --git a/dev-lang/php/php-8.1.29.ebuild b/dev-lang/php/php-8.1.29.ebuild index 4fb765cbc0a9..56e457c59090 100644 --- a/dev-lang/php/php-8.1.29.ebuild +++ b/dev-lang/php/php-8.1.29.ebuild @@ -20,7 +20,7 @@ LICENSE="PHP-3.01 unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" # We can build the following SAPIs in the given order SAPIS="embed cli cgi fpm apache2 phpdbg" diff --git a/dev-lang/php/php-8.2.20.ebuild b/dev-lang/php/php-8.2.20.ebuild index d21e14874745..f4a2e43fcdb1 100644 --- a/dev-lang/php/php-8.2.20.ebuild +++ b/dev-lang/php/php-8.2.20.ebuild @@ -20,7 +20,7 @@ LICENSE="PHP-3.01 unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" # We can build the following SAPIs in the given order SAPIS="embed cli cgi fpm apache2 phpdbg" @@ -150,6 +150,7 @@ 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" ) # ARM/Windows functions (bug 923335) @@ -338,6 +339,21 @@ src_prepare() { # 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 } src_configure() { diff --git a/dev-lang/php/php-8.3.8.ebuild b/dev-lang/php/php-8.3.8.ebuild index 607ae090b3e6..8ea0dd1af24f 100644 --- a/dev-lang/php/php-8.3.8.ebuild +++ b/dev-lang/php/php-8.3.8.ebuild @@ -260,6 +260,21 @@ src_prepare() { # 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 } src_configure() { diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 6d25c32159c2..2f33cf5a9c6f 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -29,6 +29,7 @@ DIST python-gentoo-patches-3.12.4_p2.tar.xz 11124 BLAKE2B 8e49af60b1e514de9b77c5 DIST python-gentoo-patches-3.13.0b1_p3.tar.xz 11056 BLAKE2B ef932bac59d2316ee8fe638a3d34ce247ff587915546038627674cd4c03179998a58336f8ebae45f1fcc94c8059d61ff6f22693f25ace1462bce275f50bfb48f SHA512 956e3da7376d60d7a593af50fff9842016a3b193180e93ab8298756c9eedfb2aaf8c1287bb75111e6340b5bac20a12dcb00ef51ecf0e12ef9ae5c98202fb071b DIST python-gentoo-patches-3.13.0b2_p9.tar.xz 11288 BLAKE2B e46bac845ce54e32446316b8a5e055905f023e88ad7fb9cfed101f0fccf6c0fef2fb9fd5b7dc4b15ec1e6c075ceaa9f07777c3cfede0f88412871beac0a54e47 SHA512 4148342d649acd98cce1f3d3c7bdbf4adad069ba555624882ddb69f00ee0e64641014086b5e60d97eac809ccb1e3e782a112eb58d7bb83bcfa3222811cbb8682 DIST python-gentoo-patches-3.13.0b3.tar.xz 5704 BLAKE2B 665f60d0a440c63ca6bbc1615333e01e0b9d3c5cd8c871157866dd70146a9afb71aecdb6f72f75de2fd8c163d011c8df538c8b278ad6a91079f3300bd05fead3 SHA512 959826aaf467235c8a144a2b94137113b273f79febd30fee0556b718132bb89b5ba97bc01a3718771cade099777f131b322682f336dfaabe18cd5838a75318fa +DIST python-gentoo-patches-3.13.0b3_p1.tar.xz 8716 BLAKE2B 25b2d9f059c6f31a354b19833a3dfaab446a43ca00bbaa415e38c3ede6c4a738046469ca4ef6e184a5d7df33a8a1c5209271a1eb0728c3791e6630953bcd798f SHA512 57bbe0470e3356cef3b1880cedd18d4e84d6f64d1f398ce3e3e729744ac5f7a4dc4144333e2355f9ecf41c58382ab5708e7dbf7d480dbf797caa460862aee3bd DIST python-gentoo-patches-3.8.19_p2.tar.xz 35524 BLAKE2B a6b81e6ae907b60eea676cb65a9c693e62453dc44616baaadb294c5782a195c20eff6c2869b38ea110fe06e9e511468f4ab0c3d1811b16e0ab2833f9dc09b25b SHA512 9944c330b6062c2ac6e13fcfbc1c8835dfd078f6744cdfbc03ba787ae97c08bdae559cefadafe9dfe9be9c31f8c15ee895599b266d870f73c06a2f4b15c78dc3 DIST python-gentoo-patches-3.9.19_p3.tar.xz 28240 BLAKE2B 35c70b1f9a590abe9a74795f478ab788cd72c96e9d84f2756685e61324dc4203148e71b00a236bb4af8fb8315e3582ecec255b39749a653e0511d4a9f9fef725 SHA512 6b8f4dab4aa7d4d646ee4091b5cf76bbc8896d4299a3623660a2c5fec06c0cf56c0a50ac87604885cd155141bc85e0e80acdbedb7b34a813901aad021b9b8ab2 EBUILD python-2.7.18_p16-r2.ebuild 8603 BLAKE2B 6a2ee7f1a5d0eae487cf0293fb2528c97679d0fb395cd51f00a08ede8abb473f3e16051c8b7b797a99c4462d520955c01b1b0d238caf0652a3166034bed60839 SHA512 e498d3f4904e2cf2de6a6d0beb8e573a462bc96970c861616bd12956434154146e1625ea36b44f984b82f3d6cc90b33860b71c4067002b7f96510eb5e632e572 @@ -40,6 +41,7 @@ EBUILD python-3.12.4_p2.ebuild 14884 BLAKE2B 03c95778d4d3b4d9644f14ed57ee5935178 EBUILD python-3.13.0_beta1_p3.ebuild 17346 BLAKE2B 83266bc2fb4b68f001c6669b02c83909ec1eb2cb1dfc69f5a14a9a33fcbeba76c3bf6068f1b38a5ba8d3e64dfa9e04df896b4cdd51d149e94f843ffcd61d51e5 SHA512 0ba4fdd9d5531f045565c8da01e9e1a455160e4d1767b7e3f4a5f667cc300e8b1a9fb47023ca2f3b4b64a54b346648cdd56fd200bbd9be71712757de9680059d EBUILD python-3.13.0_beta2_p9.ebuild 17108 BLAKE2B 1f22231f8246ff3c78b119b3ff8b574efac464bf25a9a82ff7eedd7632acb52d4457b586b50d23f0c06e15618f733daf4691a08cf54db2ff700e4f39d85295fd SHA512 ca0b2941ea726c1d03cd39f7bd434ce994669d79fec7bdfd2a7d06c7fc8c620bd0fbbe8e78c7ac4ba4903c9d95058e2a397c2d7960f547248e35764785aad86a EBUILD python-3.13.0_beta3.ebuild 17108 BLAKE2B 1f22231f8246ff3c78b119b3ff8b574efac464bf25a9a82ff7eedd7632acb52d4457b586b50d23f0c06e15618f733daf4691a08cf54db2ff700e4f39d85295fd SHA512 ca0b2941ea726c1d03cd39f7bd434ce994669d79fec7bdfd2a7d06c7fc8c620bd0fbbe8e78c7ac4ba4903c9d95058e2a397c2d7960f547248e35764785aad86a +EBUILD python-3.13.0_beta3_p1.ebuild 17108 BLAKE2B 1f22231f8246ff3c78b119b3ff8b574efac464bf25a9a82ff7eedd7632acb52d4457b586b50d23f0c06e15618f733daf4691a08cf54db2ff700e4f39d85295fd SHA512 ca0b2941ea726c1d03cd39f7bd434ce994669d79fec7bdfd2a7d06c7fc8c620bd0fbbe8e78c7ac4ba4903c9d95058e2a397c2d7960f547248e35764785aad86a EBUILD python-3.8.19_p2.ebuild 12217 BLAKE2B ff0dc6d1012257d77cdac44a2c3b022ec6c06564a4f2bbf871450efd17d9486ee36af14d57fd338adfc9fdf96d43b880cd5b12f4f73bf2008b52e34fbd0e7459 SHA512 d61c2155ee1332be4c0bc799a306efd7b2ea0655ab1ec957446c9711b798bbee0d4815c5e4fb9da325d1c20dbe820ff03f58b7ff4e825a770f78a00706754062 EBUILD python-3.9.19_p3.ebuild 13667 BLAKE2B c1579e1d0395e677834ce1891f4de07abf4b5156d1e150d2f04dfd5a5a21afa4dde9e5800dc7ba591c3c5d51267c64c60f4ece3b31f583bb320841ce89c649f4 SHA512 9df7d256591e73d71d6b8e3a637d737102ae809534c62d92b69a9fad8cb1ad693730398f5392f03fa5a194c7259143d1e83fdc6bcd872599f322269108af4e66 MISC metadata.xml 1562 BLAKE2B d89ba32e0a261cfa3f185881f83a8bd9434aba2029aca437419d625ed3d025fc3226d4440dfdc34c1c64c42448bb00f903b88d80ac06f2bddf8dd58a7aa66673 SHA512 3fb20f7648db7a5d7080bb9e439b39f90cd0f56bfa24d0b97b9d7966c1062951b9d9d1cea9ec557d7db065cbd53c8a394503616d807b2ea4c5a3ea2c806c0ff2 diff --git a/dev-lang/python/python-3.13.0_beta3_p1.ebuild b/dev-lang/python/python-3.13.0_beta3_p1.ebuild new file mode 100644 index 000000000000..87d11b2c5374 --- /dev/null +++ b/dev-lang/python/python-3.13.0_beta3_p1.ebuild @@ -0,0 +1,659 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 18 ) +LLVM_OPTIONAL=1 +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing +inherit pax-utils python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build +debug +ensurepip examples gdbm +gil jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend + + if ! use gil || use jit; then + ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" + ewarn "them could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python[gil,-jit]. Instead," + ewarn "please consider reporting freethreading / JIT problems upstream." + fi +} + +pkg_setup() { + use jit && llvm-r1_pkg_setup + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # failures + -x test_concurrent_futures + -x test_gdb + # test_asyncio_repl_is_ok is flaky + # https://github.com/python/cpython/issues/119909 + -x test_repl + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + ia64*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + + # Fails in profiling run, passes in src_test(). + -x test_capi + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + ia64*) + profile_task_flags+=( + -x test_signal + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable gil) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.13.0_beta2; then + ewarn "Python 3.13.0b2 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.13 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.13/site-packages" + fi + done +} -- cgit v1.2.3