diff options
Diffstat (limited to 'dev-lang')
177 files changed, 11608 insertions, 4838 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz Binary files differindex 136739ed4442..4848c2affea7 100644 --- a/dev-lang/Manifest.gz +++ b/dev-lang/Manifest.gz diff --git a/dev-lang/algol68g/Manifest b/dev-lang/algol68g/Manifest index b8460297a7ad..2060469b39ba 100644 --- a/dev-lang/algol68g/Manifest +++ b/dev-lang/algol68g/Manifest @@ -6,5 +6,5 @@ DIST algol68g-3.5.4.tar.gz 664208 BLAKE2B b8e2bcc53cf3cc7254da37f1d5655ddc4f7956 EBUILD algol68g-3.5.1.ebuild 946 BLAKE2B 7826e7dd8c13921585c3056103f6ad3e241e1599e45ed7854fd1f2da334d057bd5c92d6178491387cbdf391b7bc3bda1d2f1ca1eb458a0eb2d1b4251157ef29d SHA512 509e4b99469fcf59a74871f4d5f28ec22d2b6ae6c361abfa9305ef666580f27154cd33ffa3c923df665229c581bb56d8a57f33d16dc0d0b546cf1509cf6f1d39 EBUILD algol68g-3.5.2.ebuild 946 BLAKE2B 7826e7dd8c13921585c3056103f6ad3e241e1599e45ed7854fd1f2da334d057bd5c92d6178491387cbdf391b7bc3bda1d2f1ca1eb458a0eb2d1b4251157ef29d SHA512 509e4b99469fcf59a74871f4d5f28ec22d2b6ae6c361abfa9305ef666580f27154cd33ffa3c923df665229c581bb56d8a57f33d16dc0d0b546cf1509cf6f1d39 EBUILD algol68g-3.5.3.ebuild 947 BLAKE2B 87f8a18c197e751b44821dcf82b8c262d8430caa080e2f3a742771b583a94d99b6e072c109d7c66738dce198a03de3c3fecc8fac9f45a504b0d9508fa3d07688 SHA512 d2e9d150e89e830205f4a9f7c406c40ccce9399a89499f8757b0ff1e3651143333f2577b0a4eb6b388a706b14a884023f562bf4a0c018c41bd50cff9c52ac7a3 -EBUILD algol68g-3.5.4.ebuild 947 BLAKE2B 87f8a18c197e751b44821dcf82b8c262d8430caa080e2f3a742771b583a94d99b6e072c109d7c66738dce198a03de3c3fecc8fac9f45a504b0d9508fa3d07688 SHA512 d2e9d150e89e830205f4a9f7c406c40ccce9399a89499f8757b0ff1e3651143333f2577b0a4eb6b388a706b14a884023f562bf4a0c018c41bd50cff9c52ac7a3 +EBUILD algol68g-3.5.4.ebuild 946 BLAKE2B 7826e7dd8c13921585c3056103f6ad3e241e1599e45ed7854fd1f2da334d057bd5c92d6178491387cbdf391b7bc3bda1d2f1ca1eb458a0eb2d1b4251157ef29d SHA512 509e4b99469fcf59a74871f4d5f28ec22d2b6ae6c361abfa9305ef666580f27154cd33ffa3c923df665229c581bb56d8a57f33d16dc0d0b546cf1509cf6f1d39 MISC metadata.xml 665 BLAKE2B 2b9b283f86666d64dd77164c5afb0d76403c63f9f0dfac3170eb2ade95bcc382b09d14248cb720edf7c1b055e78ca5ca0017b6784caf4381d970a011301058bd SHA512 b3171d505f9f9e4dcdd5b5a0c6d302849fa017538402832dd3db205c48c68a39867089aae4d1f3c158a45bfc170b21f83789cba16511f251d70300020e102b0a diff --git a/dev-lang/algol68g/algol68g-3.5.4.ebuild b/dev-lang/algol68g/algol68g-3.5.4.ebuild index 6689c5616025..3b5c40da8f55 100644 --- a/dev-lang/algol68g/algol68g-3.5.4.ebuild +++ b/dev-lang/algol68g/algol68g-3.5.4.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://jmvdveer.home.xs4all.nl/${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 ~x86" IUSE="+curl +gsl +mpfr +ncurses plotutils postgres +readline" RDEPEND=" diff --git a/dev-lang/boogie/Manifest b/dev-lang/boogie/Manifest index 0a528fee2208..695acccf1097 100644 --- a/dev-lang/boogie/Manifest +++ b/dev-lang/boogie/Manifest @@ -1,6 +1,8 @@ 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 boogie-3.2.1.tar.gz 2065129 BLAKE2B 714ab5c5737d6020ae773b3b2a014a96322a8117a149d9476a540bb2cee88f3bb95e15fd2560bddb772ea14841cd3a7ee3a4025330c408bb94a37446f0acd1f1 SHA512 e5bad71281f5134e700d0da847f3473b3dc3f2e287fdd2aca11cf346870aef8f6c73f6d1983765b6d14cedbf77be4a38529c8b92f7295fc6dc5910e3947a5e43 +DIST boogie-3.2.3.tar.gz 2064649 BLAKE2B f8388d782f90351a9a63aa8a9f68e70a562e76f12b376ae20c0adc6c31c85341b1676290a9128d72b65c97ccdf14c2a83f5e0fb87cfc86595f083f04e9b0b1f8 SHA512 9b56cf1c0a9b66d9c20719c85da196d531eb242ab2fbbad4dbba494761d00e9551b2945f86f269339803cebff99e98cea7a807598c42efcdb194d930f63e75c2 +DIST boogie-3.2.4.tar.gz 2067404 BLAKE2B 3c7edfa3c78335f587e9b3216599c2ffef639ba78103889d1a08236824b04a501a6def08393e08e506eadf1805a8a7310b252b03762f737d28bbab978364710c SHA512 a7d87a980b9b23540102276857621e24c020b6a66762e57c008ab2aa0f82255ba7c0c03b13e7e8ab6e94088e031b23ff2463ef2a96c3e2f572651030b89ce286 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,6 +193,8 @@ DIST system.xml.xpath.4.0.1.nupkg 250135 BLAKE2B d6f211f98f33f6b8959b918cff8e676 DIST system.xml.xpath.4.3.0.nupkg 250182 BLAKE2B 8a4177d47af56bc7a6289ed8f2cac41d504dee212a858ed221277b3f523b1ce38ccb47bc3ce4d59a2c7cfd77f00f3c9693a9c257c90adb38096ee77a860f10cc SHA512 2bd0979a2020579fb32ad374b89929a272e763ee1233ed9a215408c0a1f9f82a5fdb74330c1c55a6102e0dfdb8b7b59ed25fdf6454bf3de146152ea779f366e0 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 +EBUILD boogie-3.2.0.ebuild 9474 BLAKE2B b3d0ca9587300bd9b20af61bd1a827844498069005a820ac46a519a1f4d1a35110668853a1db6e1d65c3b52999b2a261fe63b149563720bd0eed24af2ebee4bf SHA512 c72028faf6737e71e1ca9f55b54ed881cbca80fa60c9d3f8f696cd6a34e9f2e6fa4f01fc34e3dbd1434fc0edf8f26197818e1578ad8e5eac4437f3804a26940f +EBUILD boogie-3.2.1.ebuild 9504 BLAKE2B cd6159246008d9410453f1ab139838816e22f517768a2584192165afb2151b3c80e568230a4edc00b57b232f49cf71e9a178c0ecf0ddda0d72a221f0d7f23a2e SHA512 bb399d2c6717f1dfa599b15409d1590aaac4f437dafb1805cd20eba1bbf5c619ffc34f65c2eb39f78842d3be88ccf39a0e1f354bdeaaa76945d78418d52b5b49 +EBUILD boogie-3.2.3.ebuild 9504 BLAKE2B cd6159246008d9410453f1ab139838816e22f517768a2584192165afb2151b3c80e568230a4edc00b57b232f49cf71e9a178c0ecf0ddda0d72a221f0d7f23a2e SHA512 bb399d2c6717f1dfa599b15409d1590aaac4f437dafb1805cd20eba1bbf5c619ffc34f65c2eb39f78842d3be88ccf39a0e1f354bdeaaa76945d78418d52b5b49 +EBUILD boogie-3.2.4.ebuild 9627 BLAKE2B 6e94bbf75ebf930941f9d4a118af4ef2a894518555f3b4792a48d10f6683ddf55598a105231c8ef20c7152bd5f09b95bfadd33d050fde885e0d0133e9dbcb9f7 SHA512 f2514c888d9e1437ca0a83baf66e6a4f60ef00bd864b8c142fa5d9d75408456efa1e4f525cbcf63e8653e8db46f63343fe890dc161752e4035ba96618a2c63e0 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 index 049cfbc87840..bf9913b0664e 100644 --- a/dev-lang/boogie/boogie-3.2.0.ebuild +++ b/dev-lang/boogie/boogie-3.2.0.ebuild @@ -210,7 +210,7 @@ else SRC_URI="https://github.com/boogie-org/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" + KEYWORDS="amd64" fi SRC_URI+=" ${NUGET_URIS} " diff --git a/dev-lang/boogie/boogie-3.1.6.ebuild b/dev-lang/boogie/boogie-3.2.1.ebuild index 76dd6c06954a..baa291441b16 100644 --- a/dev-lang/boogie/boogie-3.1.6.ebuild +++ b/dev-lang/boogie/boogie-3.2.1.ebuild @@ -210,7 +210,7 @@ else SRC_URI="https://github.com/boogie-org/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64" + KEYWORDS="~amd64" fi SRC_URI+=" ${NUGET_URIS} " @@ -268,6 +268,9 @@ src_prepare() { prover/exitcode.bpl prover/z3-hard-timeout.bpl prover/z3mutl.bpl + snapshots/runtest.snapshot + test0/AssumeFalseSplit/AssumeFalseSplit.bpl + test0/Split/Split.bpl test15/CaptureInlineUnroll.bpl test2/Timeouts0.bpl test21/InterestingExamples4.bpl @@ -292,7 +295,6 @@ src_test() { --timeout 1800 # Let one test take no more than half a hour. --verbose --workers="$(makeopts_jobs)" - --workers=1 ) edo lit "${lit_opts[@]}" "${S}/Test" } diff --git a/dev-lang/boogie/boogie-3.2.3.ebuild b/dev-lang/boogie/boogie-3.2.3.ebuild new file mode 100644 index 000000000000..baa291441b16 --- /dev/null +++ b/dev-lang/boogie/boogie-3.2.3.ebuild @@ -0,0 +1,307 @@ +# 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 + snapshots/runtest.snapshot + 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/boogie/boogie-3.2.4.ebuild b/dev-lang/boogie/boogie-3.2.4.ebuild new file mode 100644 index 000000000000..754aad26d108 --- /dev/null +++ b/dev-lang/boogie/boogie-3.2.4.ebuild @@ -0,0 +1,310 @@ +# 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/inductive-sequentialization/distributed-snapshot.bpl + civl/large-samples/GC.bpl + civl/paxos/is.sh + civl/samples/reserve.bpl + civl/samples/treiber-stack.bpl + havoc0/MouseClassFindMorePorts.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 + snapshots/runtest.snapshot + test0/AssumeFalseSplit/AssumeFalseSplit.bpl + test0/Split/Split.bpl + test15/CaptureInlineUnroll.bpl + test2/Timeouts0.bpl + test2/git-issue-366.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/c-intercal/Manifest b/dev-lang/c-intercal/Manifest index 2b6c19bf7c81..7bc02b7225a4 100644 --- a/dev-lang/c-intercal/Manifest +++ b/dev-lang/c-intercal/Manifest @@ -2,5 +2,5 @@ AUX 50c-intercal-gentoo.el 191 BLAKE2B 3575c7ecac45d7023f727e559bbcfeb311c45c720 AUX c-intercal-31.0-no-common.patch 311 BLAKE2B 25e260a1e4c7079fb8baac690580505c401870fe60b6c0e398f79a8d1027ea6395b30b8c16244ad147489787606d6b6a27f244e4b8f9e9f7710405b124d3d7a8 SHA512 84db59e1855672260079c39ac066d98d031536019180483002b224c48912472c175bcde20053d37510e6aa07fa2de62beb4161d5a262b5d775742d0d10e7b51e AUX c-intercal-31.0-version.patch 330 BLAKE2B f7a18b5098c6969ea29c21513221e3dd6f6cce847ceca102f8d3a0713d18bbdfd11b1349b0463f7338ef69ccb2b08aa8162e91860b26338c577647728e1261db SHA512 cfb0c79e76b19938fda232cf508e32812aa4edad2eb6545eef84f6bdfd8304666911ca4042450c4642699a41a140f4e199acf0f8d9ab0f24ab8daa81a89d3393 DIST intercal-0.31.tar.gz 940950 BLAKE2B 9a23229b1d7f0524b164a4b66bcab4fdf67a04ba1e411365a46a90d646867fe92d6e328935b406673809535a895becde934fb6cf2e8380943eb8f19473fcedab SHA512 ca5c10be880ce2470d7dd3404fa5a314bd7bcab45cf4908f7108eb1baa50339b876e135251d991527881b564027c63dc38d74a154cbd00d606261013d2b01262 -EBUILD c-intercal-31.0.ebuild 1817 BLAKE2B e191a8c562913facb1ca220449acd7f011704b5379e30a1ee810b1e7828e302fc55ea8a944a1cb1be1672565897a5c697c8368988ff6bdbfc0d06524acf7da1e SHA512 0e48c04cd7a73c143d216ec1fa16c1c94921593456c9f0a3144785c29bbb4560de0b0b12b18f4564f76b8f299c27452b2362bf3c0dbef79705dd378aa3ca67db +EBUILD c-intercal-31.0.ebuild 1939 BLAKE2B 11a1049b636861eff6bf03c8cea5081b6eb710fce7496f5b34a9993d5e26e81dd0f0d8ae27d93c3be9408577d102b5848c12965a3637663cc2e44a3700bd1b58 SHA512 12ae39447678122e97ff132fa954b29deb14edc16d66bff32b52152198f0276ad0eb5b735200bd647759274fa206a1b305950e1a971b15ca47a10b9e3261c592 MISC metadata.xml 593 BLAKE2B a4c6702e622cc4c7132f16b2fcc5713de9a9cc5c78b15ff899c47d6d82c64e0b60ba49e6f9b9a3fe9464eed96143c45207fd57996aeb64776b4b6fdd76794c40 SHA512 1f1ddbfc8ec9414851e22204450b94006f00474c9e13634eac8abb0359b5e9c199b3a541d8cb91ef5c38142b36a99fb7defd5dce82a1fe14c12a72bf047f1ff7 diff --git a/dev-lang/c-intercal/c-intercal-31.0.ebuild b/dev-lang/c-intercal/c-intercal-31.0.ebuild index 8657f746d707..77d289ef928e 100644 --- a/dev-lang/c-intercal/c-intercal-31.0.ebuild +++ b/dev-lang/c-intercal/c-intercal-31.0.ebuild @@ -48,6 +48,11 @@ src_prepare() { } src_configure() { + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/855590 + # https://gitlab.com/esr/intercal/-/issues/7 + filter-lto + append-cflags $(test-flags-CC -fno-toplevel-reorder) #722862 econf } diff --git a/dev-lang/clojure/Manifest b/dev-lang/clojure/Manifest index b849b595db80..dd97d956a9c5 100644 --- a/dev-lang/clojure/Manifest +++ b/dev-lang/clojure/Manifest @@ -1,12 +1,16 @@ AUX add-compile-spec-ant-build-target.patch 1813 BLAKE2B 5a24f1457e298429bee3fe31deca54df3801665ed57a91c9ee760003418a34a3d5f59cfe432eedfb8a247e8b9c12dce701253dd9fc747b3bf1c84f10d8bc9ec5 SHA512 da5e5a61faa8c17244073dcfa0de40c9aec1ce698df60aa1b8ba89d5aa187e9974edd400fee711120c0181b152e461db8669a85f5b83ff037023c3f05a81f21b DIST clojure-1.11.3.tar.gz 706113 BLAKE2B eed50639d251406d96e528a14d055ddc59cd7fac18a415d4947e46d93d11e67ec263f697dbc14a9e5482f134f546a55413529ed58a7b064169cb06f45bd5e5d5 SHA512 33d59a5c1b94902198e669ea7c4161c515d6463dd6e5ce7251adf8f5a9da493a5446d91f218e8e90ec8bf0866119f9c28d64361c2ed57265eea62baf39ca1302 +DIST clojure-1.11.4.tar.gz 707254 BLAKE2B 2c0ff59fc1cdae36a664c46e18bef98a90cd8bba87036e868bd4cc63d44a850bd376544335fcd646db2c67602720add6b3a2afdabc3444cfb41bb8af79bdc6f9 SHA512 28eb09eeb5e9d77922a1222478d75bccbeb6b598fac7ba469f561bbbf15fe57ca093fbe5d7ff05d3d78e6260a650b545ffe90413dbba48d869dbb43f73394af2 DIST core.specs.alpha-0.3.70.tar.gz 12176 BLAKE2B 168b055ee1a518e750791cd010872b6d2f3a655c474f7feab93b0e06bca7cbaf9e029b9c042c2e218129213a5c787b3409c2ddc17f902907c1d38a4d9c22cdfd SHA512 223a8d1a2f1fbb93d9144e2a50fa7d9e5fa79657fcd0c96ece7170c33f23620aeb7645ace84edd3512fe87b88bb3e9422666c66343989bb07a4cd5fadc1216d7 +DIST core.specs.alpha-0.4.74.tar.gz 12225 BLAKE2B df4238bdec9d91ad935b76d025cc439d2842e8577bafcfab5267750149e0f1dcbf9a8e35475f60f64f10b84f99b59238157fce82311684e63598a0cb31b350e8 SHA512 dae9ea983d9f46d0f3d5f8979f0f2b1a0eac3af48103063b5904f8cbe9813f87ef71f7a4a85528db7e9d2189f4ab2a656f805ddcc13e2835c47bc79d8408de31 DIST data.generators-1.1.0.tar.gz 11781 BLAKE2B cccbacb789f37a705d64c9467dcb0f737110176c92f3af89165688676c225179bdf17ca29126ab3578a54ace9137c991d2f1bf4b3024c7c6aaf9fe2f63f37fb8 SHA512 7b51fd44c9d58de639d036dbce343dd81a271e28db096c64e910ca6c87869fa6ccac9ba87d7313b53304017a335ee45bbd5ab9794bc166ec46b5a8d86b5aa82e DIST java.classpath-1.1.0.tar.gz 10881 BLAKE2B 1f3f9a103197990954e97725ffd581945fa27f2b50b44513a94a28bf0c50f0f2fd26a906f30eefbb110942d3ba157af945e009e3d5825a73ffb37aa85679bde6 SHA512 2d3c887a04f4c8a3a1189de719cfe020ff3989bb0c680328ef15311105b2244aa2d6797c017b1d39f6c025a8bf5ea36051d995dcebcae2ea032a5ca8cec12816 DIST spec.alpha-0.4.233.tar.gz 42433 BLAKE2B be243c2180903ababd23eb6f5f47caa855f730eef5efdc30f1f404ec6c7471e15dc6bbbd1a13a2ea911e82a97dbe8e64631cd4f18e4be09b3c8c5aa76fa59b78 SHA512 085d6833c58f607d222edc832fb78e786946d2d3e0644c990043f0a98c055eff0b56b0e920010253c898e643cbc43c72c222cd8c6a813c5c5cc663cdda337aa1 +DIST spec.alpha-0.5.238.tar.gz 42490 BLAKE2B a519bfe4ae081359bb8038dcf58e1bf2552df53691a253d113c071e80c970dc4b7a7f82d56a9d2c5fc3015546b195904cb0d29e99bc6f511d64097fa6f4b1a77 SHA512 9bad34bb4a944fe36844f31b0dcdfa66a3192d6675f48ea105a90803da9907b9bb948ef9a23de84e24c9f5389d1863521017e55e020aca647bd6c0bb4c78aeb7 DIST test.check-1.1.1.tar.gz 85399 BLAKE2B 752f0f0149dd5720dcabdcc65173906b124a85590f6b3cda41d3384a05e5b54c10b4cd399ba26ff466d637ea87e0fd81dc2a4943179818ba3d4fccdee977922d SHA512 e62ac00e302efbf4bb0c70721cd0b4438b2d302855146a052bfde492b0f36506fbd44c10c3e5c88a0eeb9b548eac40247f77d8ac590f758176e1d8f54270e196 DIST test.generative-1.1.0.tar.gz 144819 BLAKE2B b6cbf42b401380e3977ac219ddbc8b26ddcfc285a06ce5f2d68c3a52bb6c36702922975e9c9e2bfd4198ec239f2efd676fdfc8293222b75eb5c417ef1d80681f SHA512 4ef4640be2f630c4ebbe81d7bafec1e6e32619480c09ef59882b182738a998941d442231148d8cd2fb4166454780fd72067e5dda4b64d0ae0b064c91928f5c67 DIST tools.namespace-1.5.0.tar.gz 37913 BLAKE2B bae6be788507d200f6e781754b46d5c7c34069b3340006f078a3f0360c0c5d2dea0398d5afe1ea6b49166baa482cc07a7687735474afc84abe644c2b8b53cd9d SHA512 c1f4dba4758ecb39460334e61f989cf92e3e2ca1f6ff03b9e12bc137de088f994d86feec827f40d33034e2f8978e099326aed3b85a21c68a910714b662bf9052 DIST tools.reader-1.4.2.tar.gz 63868 BLAKE2B 3f4ceab49de2d518ba5854a81af13cb51902b240d2db2be2c8ededd48d6f9db3898eb54fdb41c6b9ce49d9d8eb912b0a7d3683dc1d61b6e238c5b862fad4b4a5 SHA512 bc3510887b7c5c5f84f0969ff2224dc745a54c81c186c50d0436af9e6f8eb4abf6d9c6a7bba4362ba3f8c94cd6bedefdf1a7698a1cd67db4b324fbaffaae5fbf EBUILD clojure-1.11.3-r1.ebuild 3482 BLAKE2B b5ca3cb3e89a9de7d9ccd9cfb055a1bddc74384a1ced66140f48765f58c5aa2a87e2c8c203cec3aeb1267dececd2a3f9c1abb3bd02763675bd977c6f8ce82fdb SHA512 a2ede4ec6a84e6c6e6aec8fdae8e34e9e351d8d653a8bb5c42cb4e4964f94c71b07e533273d1757e949885e8094941445d5d5fcb3cdc46fd83695cff42ecee7a +EBUILD clojure-1.11.4.ebuild 3914 BLAKE2B 86fa2c9bf54f75a8a649d31b254fba899d50fcded65bec11c5d28626e92f878b9926da9f94b62f21f54db1651abc04ee2e9f2858dd7e71d94ae3a120ee45ab4a SHA512 91b7109a805d5d4fb75c2d65f7b8bbf50a3d94e7b02c6a7a44239ec7d9861b837b5f3e25ad3e8be57a46358f433de31e9bbefbab12490c603c877b0a867e6c2e MISC metadata.xml 335 BLAKE2B 9d5549eaaf88d24a1023d47406828fe19bb004dd23a8d53180d2f7cc3368b55105a3940051229a04f5a0071ef51591ec905c4fd1e527fc82b35f5f7920004267 SHA512 5d9f342b3e530281c617e5ffbc68ad085d6171148ff48c6842c5053cd35be57a244014b4b917610b833cbfa3d960f3e667aa6601d7e5cb29f05bd2030cc39200 diff --git a/dev-lang/clojure/clojure-1.11.4.ebuild b/dev-lang/clojure/clojure-1.11.4.ebuild new file mode 100644 index 000000000000..f098da23c778 --- /dev/null +++ b/dev-lang/clojure/clojure-1.11.4.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +SPEC_ALPHA_VER="0.5.238" # https://github.com/clojure/spec.alpha/tags/ +CORE_SPECS_ALPHA_VER="0.4.74" # https://github.com/clojure/core.specs.alpha/tags/ + +TOOLS_NAMESPACE_VER="1.5.0" # https://github.com/clojure/tools.namespace/tags/ +JAVA_CLASSPATH_VER="1.1.0" # https://github.com/clojure/java.classpath/tags/ +TOOLS_READER_VER="1.4.2" # https://github.com/clojure/tools.reader/tags/ +TEST_GENERATIVE_VER="1.1.0" # https://github.com/clojure/test.generative/tags/ +DATA_GENERATORS_VER="1.1.0" # https://github.com/clojure/data.generators/tags/ +TEST_CHECK_VER="1.1.1" # https://github.com/clojure/test.check/tags/ + +JAVA_PKG_IUSE="test" + +inherit java-pkg-2 + +DESCRIPTION="General-purpose programming language with an emphasis on functional programming" +HOMEPAGE="https://clojure.org/ + https://github.com/clojure/clojure/" +SRC_URI=" + https://github.com/${PN}/${PN}/archive/${P}.tar.gz + + https://github.com/clojure/spec.alpha/archive/v${SPEC_ALPHA_VER}.tar.gz + -> spec.alpha-${SPEC_ALPHA_VER}.tar.gz + https://github.com/clojure/core.specs.alpha/archive/v${CORE_SPECS_ALPHA_VER}.tar.gz + -> core.specs.alpha-${CORE_SPECS_ALPHA_VER}.tar.gz + + test? ( + https://github.com/clojure/tools.namespace/archive/v${TOOLS_NAMESPACE_VER}.tar.gz + -> tools.namespace-${TOOLS_NAMESPACE_VER}.tar.gz + https://github.com/clojure/java.classpath/archive/v${JAVA_CLASSPATH_VER}.tar.gz + -> java.classpath-${JAVA_CLASSPATH_VER}.tar.gz + https://github.com/clojure/tools.reader/archive/v${TOOLS_READER_VER}.tar.gz + -> tools.reader-${TOOLS_READER_VER}.tar.gz + https://github.com/clojure/test.generative/archive/v${TEST_GENERATIVE_VER}.tar.gz + -> test.generative-${TEST_GENERATIVE_VER}.tar.gz + https://github.com/clojure/data.generators/archive/v${DATA_GENERATORS_VER}.tar.gz + -> data.generators-${DATA_GENERATORS_VER}.tar.gz + https://github.com/clojure/test.check/archive/v${TEST_CHECK_VER}.tar.gz + -> test.check-${TEST_CHECK_VER}.tar.gz + ) +" +S="${WORKDIR}/${PN}-${P}" + +LICENSE="EPL-1.0 Apache-2.0 BSD" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~x86 ~x86-linux" +RESTRICT="!test? ( test )" + +BDEPEND=" + >=dev-java/ant-1.10.14-r3 +" +RDEPEND=" + >=virtual/jre-1.8:* +" +DEPEND=" + >=virtual/jdk-1.8:* +" + +PATCHES=( + "${FILESDIR}/add-compile-spec-ant-build-target.patch" +) + +DOCS=( changes.md CONTRIBUTING.md readme.txt ) + +src_prepare() { + default + java-pkg-2_src_prepare + + ln -rs \ + ../spec.alpha-${SPEC_ALPHA_VER}/src/main/clojure/clojure/spec \ + src/clj/clojure/spec || die "Could not create symbolic link for spec-alpha" + ln -rs \ + ../core.specs.alpha-${CORE_SPECS_ALPHA_VER}/src/main/clojure/clojure/core/specs \ + src/clj/clojure/core/specs || die "Could not create symbolic link for core-specs-alpha" +} + +src_compile() { + eant -f build.xml jar +} + +src_test() { + ln -rs \ + ../tools.namespace-${TOOLS_NAMESPACE_VER}/src/main/clojure/clojure/tools \ + src/clj/clojure/tools || die "Could not create symbolic link for tools-namespace" + mv \ + ../java.classpath-${JAVA_CLASSPATH_VER}/src/main/clojure/clojure/java/* \ + src/clj/clojure/java || die "Could not move java-classpath" + mv \ + ../tools.reader-${TOOLS_READER_VER}/src/main/clojure/clojure/tools/* \ + src/clj/clojure/tools || die "Could not move tools-reader" + mv \ + ../test.generative-${TEST_GENERATIVE_VER}/src/main/clojure/clojure/test/* \ + src/clj/clojure/test || die "Could not move test-generative" + ln -rs \ + ../data.generators-${DATA_GENERATORS_VER}/src/main/clojure/clojure/data/ \ + src/clj/clojure/data || die "Could not create symbolic link for data-generators" + mv \ + ../test.check-${TEST_CHECK_VER}/src/main/clojure/clojure/test/* \ + src/clj/clojure/test || die "Could not move test-check" + + eant -f build.xml test +} + +src_install() { + java-pkg_newjar "${PN}.jar" + java-pkg_dolauncher "${PN}" --main clojure.main + + einstalldocs +} diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest index 9adb78913b5d..13a8f5ed89d7 100644 --- a/dev-lang/crystal/Manifest +++ b/dev-lang/crystal/Manifest @@ -1,10 +1,13 @@ AUX crystal-0.27.0-gentoo-tests-long-unix-2.patch 469 BLAKE2B 66bcc1d0dd9582cac4ba89a2ccc2c7a2ac3ff4994cd687191470f2d481f9a6e3a91aaaf705f92f7600118a9cda015a9554056520502df7ae6462e111665c7330 SHA512 d840ac343ef566e404dc84e908bead5a020dfd88b8c0432f17bceea8d710d435626dc72b4be6622dbcd683a149bca16e781320cf74fc3f2598f84d169c6f7faa AUX crystal-0.27.0-gentoo-tests-long-unix.patch 3317 BLAKE2B df1040abdb587ac3fffb8129d4f1bafc492e38ad5dcfdea5cfbf4426849b099c4d94dac61c93ae7fcae46b60dea1809f52ad373efcd89796a3c1f119614063c1 SHA512 a9ed819a864465e062b4d6a568f14fbb8adc1db01071c79164dede8b2b8d83e07b785cd8196826097de5119e0bdc7d6e194cf4e10cc677bd2bdf158d124c2ad2 AUX crystal-1.7.2-extra-spec-flags.patch 1080 BLAKE2B 3054e38d4e7d114f1b0a08b367f9a5b366bbe269c75b9195abf9dc39231b32428a108c4254abd0bdb29b2ac6a94d6d256eccc68ca69f80a273cd17e0c0115fc7 SHA512 3c3fd6a42b291a42f76ec76101d669011eb02d4d17f35c8ad31c5a49aa3655a2315999e2401af7f3bc26445f74f432430a44b021846238d345d9c14b1009fdc5 -DIST crystal-1.12.1-1-linux-x86_64.tar.gz 47041074 BLAKE2B 7e5d4a422144902de4b187947d55f9e8069d55f51013e10236fcf79b142ff96fc39973c883f5a633fbd10180553b6c82bdea824bff09d355fa171e4f5e308b68 SHA512 3256dc2340ed7b783bdf7e5f3d5c03cf981655ac2f50921aa53ada13cc72315d5a70515adb1c511f0f6e37c09310a963773b4f57eaeffe34c68e539edaaa7726 -DIST crystal-1.12.1.tar.gz 3657963 BLAKE2B 42cf32dca63a2bdd2925b4970e2277cb163ddcdbcbc997b7c72b155024f642d03c5a565e82dfc8a2b1aed0d3f877633beb9d128eb592485c034bfdcbc3f5baab SHA512 bd0c085d44a473b86797fa64ce9a5c66c7d3eda44bdba929faee490b635aef45bdf84b45baaa5dfea8e2b6fd218d1ae7fbdf117d3924b04b284075d4a500e55c DIST crystal-1.12.2-1-linux-x86_64.tar.gz 47042270 BLAKE2B 17c29658fba1e32eafc0716f34d96f080b8500ef81d573719a3944873fbd16521ef2e3c0b6f3ea2753f67e96fe6cbf361df03233aa9e3eea19b87850b8d38089 SHA512 33d40b003481f56c1a3dcefb586e45326629455faad0adc6fce60f4fe91b586f01f997665aa535286b6909b5a4e0c05db3577b3eb8b36f6864f80d576ddd1d39 DIST crystal-1.12.2.tar.gz 3655994 BLAKE2B d5de81445e3e81352ae821cdf91863464f70466674f541e2b9e499610e0d68b4aac3af6e2688870be8b2ccd84c9da78734e0e8f5f8be070192bd7d7342d77853 SHA512 b972015fa17da19bcb649a4e0387e709b4a792c8e9279898e48fb82f8840e92f35492df9cce1ec2487724ee460d3ab9099144f6bd25a091a725578ec3fb0fbd6 -EBUILD crystal-1.12.1.ebuild 2629 BLAKE2B f3f307224f2c46fd96ed84663102894fa340db5976fbf2eecaa9a2f6dae13aaa2b866fff42fe8c3a7790c5672422894d79da78565742ab309bb5936bed537f0f SHA512 eb084e916cddcf5c8f4d555ab5a9f4efc236247d6824a892da68567f3869f092e1db72bcc43703e285d4a64f7ea07818dfb5d2c26dfed3a955067dbddbb712e2 -EBUILD crystal-1.12.2.ebuild 2630 BLAKE2B a940cead1eedbe0926149c7d5daa3e34ab61a98bc8fe4f07df56e66759e2bb107fca49e1e28c0038cb1e7d05e8d6323b427c30fbdd8ed5d41345ccd79aa0b447 SHA512 155a50c6af61b0ab13affaf29d02f2e7fbf81ebfae900e622a777133020452f8d9356688fe7e7bb11eaac946b05a2a0cbad25cf4662f63d3f29e6f53dc67c63e +DIST crystal-1.13.0-1-linux-x86_64.tar.gz 51652465 BLAKE2B 21f390f19b53249c9d5dfce5fb754ba2f45f0ddabf191098146f6eb89c7bee6432a4c9b127585eb924864dea78c6f90463baff806ecbe544b35677fe9aee1acb SHA512 4754e3b41eeea073e406e40636aa97146f3227cd6538b9080b4190b6ddacf98eeb9b877fb1e367630a208e8fe66d9d458bc8d03f8916bf521ca546ae1ed98337 +DIST crystal-1.13.0.tar.gz 3687491 BLAKE2B 7ced8216f1777cd5b1fa831ccb1591a0f06b9451476eb70ff5f389600a4f85a24b7eb8730eda4726f0d61e72581817f0b946a5483175f2fe4193a0d186baeed5 SHA512 7b6cb45f78bf3827a23fb4a3299873848ee2548fe7887c84832fe4735bf5e39c41980731e92e89170774f8d632f77124cdd814edd0be9a36ef5b85a05bc13454 +DIST crystal-1.13.1-1-linux-x86_64.tar.gz 51651920 BLAKE2B 304203d7f46653c7c687e0d96ab8ff63798cc1e8f43ffcb9d3fd12c04e5ac35d058d6964e8d6e8f407b579e1bc80daa88dc0d9463cc7dc558055b36e96f75799 SHA512 d79555b3f79b0e9ad48ae08b1566c0ac2c1097ae28c434af43d869916b5a4b81383491492f548fec2bd662ff29231c83c14f10bacbb85bc9741a1903e3f331f2 +DIST crystal-1.13.1.tar.gz 3686680 BLAKE2B 8032895933d98bc8e3168a9ef1749e0b8c45e5f6501e70a4680a400d842999c2861e3d8064e457a81050f6c4dedc4ca5c968dca0ce593ff38e4091d5a45b7d40 SHA512 62e8d12d8b6fff4a8602e7b04a57b49dd17350585fa13fd015e649cae28affc134a38ec2852b07172c682affb50210df2bc26f707795a4c3483d9522272990db +EBUILD crystal-1.12.2.ebuild 2629 BLAKE2B f3f307224f2c46fd96ed84663102894fa340db5976fbf2eecaa9a2f6dae13aaa2b866fff42fe8c3a7790c5672422894d79da78565742ab309bb5936bed537f0f SHA512 eb084e916cddcf5c8f4d555ab5a9f4efc236247d6824a892da68567f3869f092e1db72bcc43703e285d4a64f7ea07818dfb5d2c26dfed3a955067dbddbb712e2 +EBUILD crystal-1.13.0.ebuild 2630 BLAKE2B a940cead1eedbe0926149c7d5daa3e34ab61a98bc8fe4f07df56e66759e2bb107fca49e1e28c0038cb1e7d05e8d6323b427c30fbdd8ed5d41345ccd79aa0b447 SHA512 155a50c6af61b0ab13affaf29d02f2e7fbf81ebfae900e622a777133020452f8d9356688fe7e7bb11eaac946b05a2a0cbad25cf4662f63d3f29e6f53dc67c63e +EBUILD crystal-1.13.1.ebuild 2629 BLAKE2B f3f307224f2c46fd96ed84663102894fa340db5976fbf2eecaa9a2f6dae13aaa2b866fff42fe8c3a7790c5672422894d79da78565742ab309bb5936bed537f0f SHA512 eb084e916cddcf5c8f4d555ab5a9f4efc236247d6824a892da68567f3869f092e1db72bcc43703e285d4a64f7ea07818dfb5d2c26dfed3a955067dbddbb712e2 MISC metadata.xml 762 BLAKE2B 591f38c882318a6564501cc61abe6222264b65adeaffaf3b23d959ee86b83bae33eaf99029229705f92070fa539fd6d63d8242afc38475904483a9a0b997effd SHA512 ea223d568a3c336a43b183efc61bd1f1a9d1e5e0e8d963275e0b23ee879551bc7d8aae797b1e2edba49d119ad306692599eb535c5d164ebee0c6721dfeab78dc diff --git a/dev-lang/crystal/crystal-1.12.2.ebuild b/dev-lang/crystal/crystal-1.12.2.ebuild index 02631f5f838f..92f5bc42f945 100644 --- a/dev-lang/crystal/crystal-1.12.2.ebuild +++ b/dev-lang/crystal/crystal-1.12.2.ebuild @@ -23,7 +23,7 @@ SRC_URI=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="doc debug llvm-libunwind" # Upstream test suite not reliable diff --git a/dev-lang/crystal/crystal-1.13.0.ebuild b/dev-lang/crystal/crystal-1.13.0.ebuild new file mode 100644 index 000000000000..02631f5f838f --- /dev/null +++ b/dev-lang/crystal/crystal-1.13.0.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +BV="${PV}-1" +BV_AMD64="${BV}-linux-x86_64" + +LLVM_MAX_SLOT=17 + +inherit bash-completion-r1 llvm multiprocessing toolchain-funcs + +DESCRIPTION="The Crystal Programming Language" +HOMEPAGE="https://crystal-lang.org/ + https://github.com/crystal-lang/crystal/" +SRC_URI=" + https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz + -> ${P}.tar.gz + amd64? ( + https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz + ) +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc debug llvm-libunwind" + +# Upstream test suite not reliable +RESTRICT="test" + +DEPEND=" + <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):= + dev-libs/boehm-gc:=[threads] + dev-libs/gmp:= + dev-libs/libatomic_ops:= + dev-libs/libevent:= + dev-libs/libpcre2:=[unicode] + dev-libs/pcl:= + llvm-libunwind? ( + sys-libs/llvm-libunwind:= + ) + !llvm-libunwind? ( + sys-libs/libunwind:= + ) +" +RDEPEND=" + ${DEPEND} + dev-libs/libxml2 + dev-libs/libyaml +" + +PATCHES=( + "${FILESDIR}/${PN}-1.7.2-extra-spec-flags.patch" + "${FILESDIR}/${PN}-0.27.0-gentoo-tests-long-unix.patch" + "${FILESDIR}/${PN}-0.27.0-gentoo-tests-long-unix-2.patch" +) + +src_configure() { + local bootstrap_path="${WORKDIR}/${PN}-${BV}/bin" + if [[ ! -d "${bootstrap_path}" ]] ; then + eerror "Binary tarball does not contain expected directory:" + die "'${bootstrap_path}' path does not exist." + fi + + # crystal uses 'LLVM_TARGETS' to override default list of targets + unset LLVM_TARGETS + + MY_EMAKE_COMMON_ARGS=( + PATH="${bootstrap_path}:${PATH}" + + CRYSTAL_CONFIG_VERSION="${PV}" + CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal" + + $(usex debug "" release=1) + progress=true + stats=1 + threads="$(makeopts_jobs)" + verbose=1 + + AR="$(tc-getAR)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + LLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + ) +} + +src_compile() { + emake "${MY_EMAKE_COMMON_ARGS[@]}" + + use doc && emake docs "${MY_EMAKE_COMMON_ARGS[@]}" +} + +src_test() { + # EXTRA_SPEC_FLAGS is useful to debug individual tests + # as part of full build: + # USE=debug EXTRA_SPEC_FLAGS='-e parse_set_cookie' emerge -1 crystal + emake std_spec \ + "${MY_EMAKE_COMMON_ARGS[@]}" "EXTRA_SPEC_FLAGS=${EXTRA_SPEC_FLAGS}" +} + +src_install() { + insinto "/usr/$(get_libdir)/crystal" + doins -r src/. + + exeinto /usr/bin + doexe .build/crystal + + insinto /usr/share/zsh/site-functions + newins etc/completion.zsh _crystal + + dodoc -r samples + doman "man/${PN}.1" + newbashcomp etc/completion.bash "${PN}" + + if use doc ; then + docinto api + dodoc -r docs/. + fi +} diff --git a/dev-lang/crystal/crystal-1.12.1.ebuild b/dev-lang/crystal/crystal-1.13.1.ebuild index 92f5bc42f945..92f5bc42f945 100644 --- a/dev-lang/crystal/crystal-1.12.1.ebuild +++ b/dev-lang/crystal/crystal-1.13.1.ebuild diff --git a/dev-lang/dafny-bin/Manifest b/dev-lang/dafny-bin/Manifest index 613260136dad..6b3d01a527a4 100644 --- a/dev-lang/dafny-bin/Manifest +++ b/dev-lang/dafny-bin/Manifest @@ -1,5 +1,5 @@ DIST dafny-4.6.0-x64-ubuntu-20.04.zip 63265253 BLAKE2B ebba4490857fb9860289ccad5ea03251366ec5d745588e43a74529c3500f5f02c516bef70f4c661b3138b935e340102ea2537e0c22daf64b88941fec1ff90b4b SHA512 2537cc9d2b2a5514d5ff83988856bac4100bb381eef540870867e47d4557e54bf0889a60ad329f961366558be30590cb5c611bcc7a15305c27a1c38da629746f DIST dafny-4.7.0-x64-ubuntu-20.04.zip 63382915 BLAKE2B dfda2ceccabd2c223e7ab8ae6c8b02e7f34b42d4c115c2b8013941220246817536313d35927cca68f1427332b937434ec8e9a5dc6347b56eac0f907366c123d2 SHA512 89ef8ebda46b99cebd22f9721fc7af74c8e265a73db4530c571bd37b58d6741f15064d77ee5035be2b2039565b4bc826251dd29d6752557dfb9044fe40b07775 EBUILD dafny-bin-4.6.0.ebuild 1266 BLAKE2B d468b3d62b76525ac092d6ea0c4db6a20d30b883d9c66dca490172ff548e7d27d546e9cf93acbaa8d3b2c6bdc600fcb455f04085971943b413faefcda7b7b56e SHA512 f2eb9d0e966a164ce03c37b46b9e64d5ffb957a03491d931504656d6f918f641329a95f08281e026c9e080ed55e7efd9e7d17ec1b67ec9a2197c2b854e3f50a8 -EBUILD dafny-bin-4.7.0.ebuild 1267 BLAKE2B a43474ee492a32e6dc5287dccf7f3e2b5bef765c120e710194285803c2d8341a89c0bf4cc374e85b753984ac80c4227cc55e5f6440fad7091e65f53d22f0af97 SHA512 dd56c0f34b37a65bae3fc4f54e78c727b39b7efd421b74530c33d60a45a2906edd21c369485ffede7bf158a0b84c85473fa4f320cab2292d923c3c4a84efa3e8 +EBUILD dafny-bin-4.7.0.ebuild 1266 BLAKE2B d468b3d62b76525ac092d6ea0c4db6a20d30b883d9c66dca490172ff548e7d27d546e9cf93acbaa8d3b2c6bdc600fcb455f04085971943b413faefcda7b7b56e SHA512 f2eb9d0e966a164ce03c37b46b9e64d5ffb957a03491d931504656d6f918f641329a95f08281e026c9e080ed55e7efd9e7d17ec1b67ec9a2197c2b854e3f50a8 MISC metadata.xml 1826 BLAKE2B 66f000cee8fbf3bcae05da9249d5bc3388f9c05f32c45e96dd51b035aea220a9d49af25cb89b8b8a64a691408373c1ea02d0f345f9a4a554565f708a894664d5 SHA512 0cc12d9c49360bbc08bb8eccd3f7139ec149a9b731f0283b0f95a8506dd93458eb93f3347a978e55a86279ad85ee3233c1b87bfee36f22c9e40bdd14c0aef6c5 diff --git a/dev-lang/dafny-bin/dafny-bin-4.7.0.ebuild b/dev-lang/dafny-bin/dafny-bin-4.7.0.ebuild index 8ed638b01e1e..66b2bf3d4f1b 100644 --- a/dev-lang/dafny-bin/dafny-bin-4.7.0.ebuild +++ b/dev-lang/dafny-bin/dafny-bin-4.7.0.ebuild @@ -11,7 +11,7 @@ S="${WORKDIR}/dafny" LICENSE="MIT" SLOT="0" -KEYWORDS="-* ~amd64" +KEYWORDS="-* amd64" REQUIRED_USE="elibc_glibc" RESTRICT="strip" diff --git a/dev-lang/dafny/Manifest b/dev-lang/dafny/Manifest index dfef10dba0d2..3b4369de4a64 100644 --- a/dev-lang/dafny/Manifest +++ b/dev-lang/dafny/Manifest @@ -367,5 +367,5 @@ DIST xunit.runner.visualstudio.2.4.3.nupkg 809588 BLAKE2B ce18ac895657d1efa9752e DIST xunit.runner.visualstudio.2.5.1.nupkg 348549 BLAKE2B 530ffc6b699a1589ad6a7fb5aa826d7238b63ea8dcd13ce5705a3d29a0ba70edeac2d9950cd1a00a13a779add761e4e14335689051a43b4cd662a330734e4df7 SHA512 0cc7887e7c7c3315db31aab79df236db9b5542e0234c27543dd5b11cf917674a8fdebc384e7331663b08d586fcf20628479a20ad7edbed4e61667903e812c6f0 DIST xunit.skippablefact.1.4.8.nupkg 44542 BLAKE2B 3c9b09d5196e8901770099b2e5078d9373e8ebc2da058a9071707d6fee56eab7c876578734f3be5b088db6ae83c8ad81a3aadfcab38e1fd2b28bd25601fe5463 SHA512 a2c680223bda4f9bfdbd751c8d6a5319e0a4611533272860ca0a396b26c473a13065301a5d8973074ea2bb5119caaeec5a67d547a96ae5d762dc09f337f51ad1 EBUILD dafny-4.6.0.ebuild 19686 BLAKE2B d26b6a164fe3a4c16c1130057103be047bec579ed87ea84611e17fff71271aaab2690a7d3195f8747b2a77a1150d6fdf4ceb4873fdd86ea9dd56aba58ced9925 SHA512 14923ff113a7aeca39af8eecbd1a1eedae171e34d3e812f0cb301e0635f9c1dc724aceb898db9a72ed771e5c4f3e907df1fa0b4eb4069eafd7a026d4f9faf285 -EBUILD dafny-4.7.0.ebuild 20969 BLAKE2B be17a511d947e5c04442af34cc7dd7ffa23da2818ef32b688011bc25d42d86e715176913e1d5b0dd0ca0a3880dd3a64eb962d6b0514e875a4cbfb30209476a95 SHA512 4708cd5daba42d67a986fe4bf25efa926c315780fdfba98efcd3949d431cb9e1d388737a470e8fbddd3fef4092e658c2942fbf4197671ce18d70404980865495 +EBUILD dafny-4.7.0.ebuild 20968 BLAKE2B dcb3e0ad327528a7daedfef62e523404baed4a17b34d65ea1f812b9052a67e94b8df29d65946c643c11872c4e09229bc8de46013ab2ee4691cc90159d91d9167 SHA512 cd830820563c61d7c6e4a0a88dab3a819e3b48d5133fa4e00e88fcba5b50a9ce6093406060f6315531322112cffd03e6aba4ce86bf1f447419d4e0a1671421ae MISC metadata.xml 1884 BLAKE2B e3a53cfd90a4edf1d9fd9f567ac3c23fd88cc46602cfe6aea31ddc40585ebc89ab82833dcd21c82083671a54454d62f162f45d56d6b0ec9c202148b3d5ea2c6d SHA512 4cffb9c237ed85097ce1496a72f5aa9c5a0f5758402fe66ff745a3b1dbc3f8d9a40fecc9140ee1b9418f09b62794f7e0a47f908e6ba01b370087d4df62bfa46e diff --git a/dev-lang/dafny/dafny-4.7.0.ebuild b/dev-lang/dafny/dafny-4.7.0.ebuild index edd00aee8e1e..9b156ca74c80 100644 --- a/dev-lang/dafny/dafny-4.7.0.ebuild +++ b/dev-lang/dafny/dafny-4.7.0.ebuild @@ -373,7 +373,7 @@ else SRC_URI="https://github.com/dafny-lang/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" + KEYWORDS="amd64" fi SRC_URI+=" diff --git a/dev-lang/eisl/Manifest b/dev-lang/eisl/Manifest index c5a8e6d7259f..927fcc2cd472 100644 --- a/dev-lang/eisl/Manifest +++ b/dev-lang/eisl/Manifest @@ -1,7 +1,11 @@ AUX eisl-3.60-Makefile.patch 883 BLAKE2B 42419e7db0c5b960e218e821cd53d11caaa1a48d74c3e3d810c387e7e74f4fb2699d1cc54fc59c4201664a35384288c1f43e9910cabca9747f2522f2dc3aa364 SHA512 de22e920debb00b2988b8cd9d63c50c7c43d680c5b668f32dd9841a50875f7a857f5c320a00311f4d4adbff857298bf1e25f19f6a0baa7f0cba81ac63aaacd0f -DIST eisl-3.95.tar.gz 2438216 BLAKE2B 927af9a8b0469fcda16501a6fffba60eebc708dcfaba1b076b0ffe80396c285fc1fbb427694548418f76102451f7e37506686bf8d025decd04245e105fa618f7 SHA512 50e4159bbbc3c72fe985db3b2d77be63f2e8197027e97ac5af0e9316e5f817497bfc0a9f7cf0b0624bb8baf2cf28b5b94556ad77edcdee2e8e8a6d63a74e02a2 DIST eisl-4.00.tar.gz 2299966 BLAKE2B fe2d4e486d459866870b0baa23d2eb32890e1661460116508bd18aa401ec71cb68395bf857c98ba749005dcfd0985ab628274800a32e749abf27a767a2ce8615 SHA512 0b4d225f6068a9ff05c6483663b68ae920a1f63e30b47e7350243a70902ae7f5818cf4713fdd45c223e858a4e435d5e93f0944965af1db3f8d9d48f0e2db8239 -EBUILD eisl-3.95.ebuild 1010 BLAKE2B caf0eaf92d6f0397eba23e8641b1bff1d5316d97d1886e75a2bcd504354fbef1ca19d053168ad592503156a7b6270da2dd39cb03f65f78dbb210f6c569476904 SHA512 f637a8521189709117940c1d4240280357394dfb9dceb591658afbc58ccc5190e649144df52ac100f24e0ca3c98913b53d67ca4fa5aa92814bab560791913b35 -EBUILD eisl-4.00.ebuild 1011 BLAKE2B 291b801fbede039429edf9317a5ac1a7beed406019edb25aa218be9f718deff1742a4e99adc349ebe04d5160126bae590de9dc831378aeddfaf7bcce5e554ca1 SHA512 71d7528dbfbc0b76b68bc574aa7ca11b463cae94a5682bc74458cd8b0530de222de50aa540e3e9e444bbef58b2c36d49bb94ad929a99dc9574148ac3abba6afd +DIST eisl-5.00.tar.gz 2995464 BLAKE2B ecfc577df2e2b470845a0f3cbaa646408b8d5ec72c0b0e86263c443d6cf0aad0401d7f70e826db71ba824f7659fb4620a83aa81840e2c1b7822c97ada5212d86 SHA512 c82aaac0a9878f33abfe5edd54a37884965a00e6f37e901f81e49537afe8a4891343096d6089058c8ce0df4e8cc89f1f6c179f97eb950e45b949e95d9e094ddf +DIST eisl-5.10.tar.gz 2994605 BLAKE2B 6e877db145fe086118975f1c81537e6c2e6dc28c24a59a155c4549e99a72e554f03c8167610564292446e44e3882a176a69fee681c6c3dc3adebe5b775ad321c SHA512 b600946df1472ea632d497ddd4cd58fb5940da4a917652c792460cb3d3fa4390c3b80457afd46bceefe2873691d885c92bdb931df8579d4b24b948ae4e504d05 +DIST eisl-5.25.tar.gz 3091474 BLAKE2B 61a41005481b604d130261b14418c464418f4e2db92f507e6f9f91b7af84555130ac1cf886e8ae72d12827a95423e5a000ac20e8ccabd7de412b42a1ddcacf3d SHA512 1e18024b9bc2dd9964cb37a6ad645dd2af9c913f5d217a75384a8fe60aca910b3421380004d9cb51fbaf8f3439493a1626cabc2076471758737bd2edf07e55c9 +EBUILD eisl-4.00.ebuild 1010 BLAKE2B caf0eaf92d6f0397eba23e8641b1bff1d5316d97d1886e75a2bcd504354fbef1ca19d053168ad592503156a7b6270da2dd39cb03f65f78dbb210f6c569476904 SHA512 f637a8521189709117940c1d4240280357394dfb9dceb591658afbc58ccc5190e649144df52ac100f24e0ca3c98913b53d67ca4fa5aa92814bab560791913b35 +EBUILD eisl-5.00.ebuild 1010 BLAKE2B caf0eaf92d6f0397eba23e8641b1bff1d5316d97d1886e75a2bcd504354fbef1ca19d053168ad592503156a7b6270da2dd39cb03f65f78dbb210f6c569476904 SHA512 f637a8521189709117940c1d4240280357394dfb9dceb591658afbc58ccc5190e649144df52ac100f24e0ca3c98913b53d67ca4fa5aa92814bab560791913b35 +EBUILD eisl-5.10.ebuild 1011 BLAKE2B 291b801fbede039429edf9317a5ac1a7beed406019edb25aa218be9f718deff1742a4e99adc349ebe04d5160126bae590de9dc831378aeddfaf7bcce5e554ca1 SHA512 71d7528dbfbc0b76b68bc574aa7ca11b463cae94a5682bc74458cd8b0530de222de50aa540e3e9e444bbef58b2c36d49bb94ad929a99dc9574148ac3abba6afd +EBUILD eisl-5.25.ebuild 1011 BLAKE2B 291b801fbede039429edf9317a5ac1a7beed406019edb25aa218be9f718deff1742a4e99adc349ebe04d5160126bae590de9dc831378aeddfaf7bcce5e554ca1 SHA512 71d7528dbfbc0b76b68bc574aa7ca11b463cae94a5682bc74458cd8b0530de222de50aa540e3e9e444bbef58b2c36d49bb94ad929a99dc9574148ac3abba6afd EBUILD eisl-9999.ebuild 1005 BLAKE2B bf9361efcf3f564ea3dd41a9f9d404b95b774df7f88b6280fa1d41d67eebbe1063d6f49876068478d31d11dc0846247b7655d4022ca07cd26c4ee869856acd6b SHA512 dfb4fc078498d62a137dcac57a0cd7bf5c7efb85bf4b9cbec3406ebbe432906e1d621ddf282145a3037bdd1a84b603b665d14638adf4d2894441da7b9c7a3b8c MISC metadata.xml 631 BLAKE2B fd171b07cf1f7beae7be774a5da360d466c83f01a6bd52dc69af436926ae5aebec27a2723c11498be21c4f96f6b82c6aa3571f4b84e763459ef78086450252f2 SHA512 dd9e329f24ce6d3922e92e81d36234b93151f71c88d6ba4b38557565a7c1c3bc4b7172d4d55f1d2d5bd6c5cada449691067cc71abd4d456941f6a8b78fe0df87 diff --git a/dev-lang/eisl/eisl-4.00.ebuild b/dev-lang/eisl/eisl-4.00.ebuild index 0ef48728bee1..1e6288f65690 100644 --- a/dev-lang/eisl/eisl-4.00.ebuild +++ b/dev-lang/eisl/eisl-4.00.ebuild @@ -16,7 +16,7 @@ else SRC_URI="https://github.com/sasagawa888/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~x86" + KEYWORDS="amd64 ~x86" fi LICENSE="BSD-2" diff --git a/dev-lang/eisl/eisl-3.95.ebuild b/dev-lang/eisl/eisl-5.00.ebuild index 1e6288f65690..1e6288f65690 100644 --- a/dev-lang/eisl/eisl-3.95.ebuild +++ b/dev-lang/eisl/eisl-5.00.ebuild diff --git a/dev-lang/eisl/eisl-5.10.ebuild b/dev-lang/eisl/eisl-5.10.ebuild new file mode 100644 index 000000000000..0ef48728bee1 --- /dev/null +++ b/dev-lang/eisl/eisl-5.10.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Interpreter and compiler compatible with the ISLisp standard" +HOMEPAGE="https://github.com/sasagawa888/eisl/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/sasagawa888/${PN}.git" +else + SRC_URI="https://github.com/sasagawa888/${PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz" + + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="BSD-2" +SLOT="0" +RESTRICT="test" # Tests run cppcheck (and fail) + +DOCS=( README{,-ja}.md documents ) + +RDEPEND=" + sys-libs/ncurses:= +" +DEPEND=" + ${RDEPEND} +" + +PATCHES=( "${FILESDIR}/${PN}-3.60-Makefile.patch" ) + +src_compile() { + emake CC="$(tc-getCC)" clean edlis eisl +} + +src_install() { + exeinto /usr/bin + doexe edlis eisl + + # Compilation of ISLisp files on installation fails. + # Do not compile them and mimic "make install". + insinto "/usr/share/${PN}" + doins -r library + doins fast.h ffi.h + + einstalldocs +} diff --git a/dev-lang/eisl/eisl-5.25.ebuild b/dev-lang/eisl/eisl-5.25.ebuild new file mode 100644 index 000000000000..0ef48728bee1 --- /dev/null +++ b/dev-lang/eisl/eisl-5.25.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Interpreter and compiler compatible with the ISLisp standard" +HOMEPAGE="https://github.com/sasagawa888/eisl/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/sasagawa888/${PN}.git" +else + SRC_URI="https://github.com/sasagawa888/${PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz" + + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="BSD-2" +SLOT="0" +RESTRICT="test" # Tests run cppcheck (and fail) + +DOCS=( README{,-ja}.md documents ) + +RDEPEND=" + sys-libs/ncurses:= +" +DEPEND=" + ${RDEPEND} +" + +PATCHES=( "${FILESDIR}/${PN}-3.60-Makefile.patch" ) + +src_compile() { + emake CC="$(tc-getCC)" clean edlis eisl +} + +src_install() { + exeinto /usr/bin + doexe edlis eisl + + # Compilation of ISLisp files on installation fails. + # Do not compile them and mimic "make install". + insinto "/usr/share/${PN}" + doins -r library + doins fast.h ffi.h + + einstalldocs +} diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest index 34977a8948f9..6401f8bdd67e 100644 --- a/dev-lang/elixir/Manifest +++ b/dev-lang/elixir/Manifest @@ -9,9 +9,11 @@ DIST elixir-1.15.7.tar.gz 3151775 BLAKE2B 62dc5e390f7b704fdab2be91b36faabc62aed0 DIST elixir-1.15.8.tar.gz 3152250 BLAKE2B 5a4eeca0d2a63fa5dbf322f79bc3373a56a639cc0d583bf660d04dba8e11a2aa2c19b0e4c561ffb4354e225d9c64585d4c6529033b47c6e00c5cf0cc34cf070b SHA512 5e1e5524e5849c5fd56f073f8308acaf3aac77dd78cd6c2a88687ce7a311d96335436d341d52375c4c66524019a26915b2ce608a7d3431e52d16fc3e37beb3b4 DIST elixir-1.16.2.tar.gz 3357093 BLAKE2B 61ba738542d33e827f7352b7f0a27aa76fc06f037d35c56efd96be1c26e28be90b6f2998cd2cac0090e5da771f6c45ad12d68644e36a214de36c9e26d4ac9686 SHA512 1e90adcd5d0512d4b394276e431f3987fc61a3f6191cd5c1d0f7fdd82baba99747aa553a3583e0813ffb5a48a32ce02a24e27b641f86a61e421722a802a850c1 DIST elixir-1.16.3.tar.gz 3360376 BLAKE2B ac6cdc16f193560e18338bd3e45a4f88c7d4398969336062551477dfdafaab8ada60ae64c856647b36967205849427413938da87f746bd52d03d78e141ba5a03 SHA512 1511fb78bdcc50850cbf91007ed11c6a89e947d0a743c1e9ed30e1c93c1b47b5377fced17eeb66ac511d4f151d2e00ef2ecc6fb425d0d4afe2451be41a6ba6ee +DIST elixir-1.17.2.tar.gz 3255067 BLAKE2B b2902c41262303fe33efeb22f8fe6cf76596f7d9894b018c0d45eaf1858f7d2ffaa1481659ff290c71807b03c5f2ebb17160d7420133d440957f344df6d01126 SHA512 f9d4983c3e7bd054a76bfe0dfa4aea483a4dd84ada432ae5a144167ff8d268499077704214eaaecfda84469c2f747a3594258ca95a7955bffde0c7b0f65985f2 EBUILD elixir-1.14.5-r2.ebuild 1124 BLAKE2B 9e2db53b75ba926cd48a945155b0688774f344a68237010eeb712d5884504b7156600e97e6ef68ff930a7068de34bc974374cffc5ed857ca3e1e5acbc31be77a SHA512 c26275434d77a2004ab24b0e989f2cf1ffded9e5718b54eeb57e7314b5109c6b5ee50b10f84013157a71867ecab7e60f6a55dfa65dff8ff51c3c32d94b471412 EBUILD elixir-1.15.7.ebuild 1019 BLAKE2B 548d634aa96e2870d25acb3cc2104b1c0bb4007e7ca7bb72d1f7e4ef665c114b1f305b61f07ec4e7d7daa8a17cd0a2ccdb4b8473b77e31f4f4247642ac147327 SHA512 64a81fb48913bfef71db087c2afb25de826d31311b5df5efbec2be891bfa1669c44723fd3097d00f46b3adb34f2f830e2bb36177f59cdd6b03eed38d47999de5 EBUILD elixir-1.15.8.ebuild 1022 BLAKE2B 39dcca698a60d83057297aeee72f45fce2751851de8c46fdf8d1b3b6a807204dabce74ec15953575b1a98d6c7221c63ad9e1a2079d888baca716ac8f120d7abd SHA512 10bebf96befc825277ed193fc4a4c5e331f385bbeb51d31790b3d1b326b22b45978d0daa60776f12ae95fdf6fddcbd339789190aefd9b650651bd2ebb3ec3e15 EBUILD elixir-1.16.2.ebuild 1072 BLAKE2B ae4ae5a412db1470f8b34d598e2c0ccd6b4a0bbdacfffb23e130335d7b29bc708c2b9ef8b1f45a3c52a49bc976347288351646ba2255fb8dd108670986e90f91 SHA512 47acef4abcbb766abb9976a885199c481fc83c6c6510685630e5ba75a9e04c2cf6dcb2e579c39c6c8d3a9d0521e62d51f2b4958cffbf619be99f172f80215d2e EBUILD elixir-1.16.3.ebuild 1008 BLAKE2B 8fd43a3908bd041ff4eac297e9b0483af41485186ec01ae7284bff9eee428c87b60d48b14dd22e7a4a61436fed74f456cb598639859359cca06479dc52838e7e SHA512 a3d6f6fae136a2a6abdbd52dc158d865c85ce4eabc229b9cfb199059a9bd05123314691db088c39c44d9a733317cfae0f679eaead5a03b862483327e6394b1fd +EBUILD elixir-1.17.2.ebuild 1008 BLAKE2B d9b267e50c585231d45ad12d2d22f0ca5ebd21a86133eadf018e68cd77c299f31d1377c95a8a52aff44932a8e11f635994d13f343c901c5f364244eb4b0b09ce SHA512 b12477639201728ed35e9299dbecd355308644dbfe076add605fc74d8e29b2706ce405676526bb57b592eecb6fb4f0b865a1173343dc52e22331b214fcf52a7e MISC metadata.xml 724 BLAKE2B ae59dba7153a9cdbeb0ed45acf54cf733f07ebc1b43896f88ff09686ecbdd56553e92f7733e5f556d01e622cadb85a24da879799b0f742d7e257425db1f300b4 SHA512 43cc4435aa89e2ba8edaf8f4cead814c514fac07a7c0500f3f7dfe35d2da6f75f835df0d21d862be6dcbffbd9c6e5ea32b21296048ec903c1491ccfd4854316b diff --git a/dev-lang/elixir/elixir-1.17.2.ebuild b/dev-lang/elixir/elixir-1.17.2.ebuild new file mode 100644 index 000000000000..0f14987b04c1 --- /dev/null +++ b/dev-lang/elixir/elixir-1.17.2.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Elixir programming language" +HOMEPAGE="https://elixir-lang.org" +SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 ErlPL-1.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~riscv ~sparc ~x86" +IUSE="test" + +RESTRICT="!test? ( test )" + +# https://hexdocs.pm/elixir/compatibility-and-deprecations.html#between-elixir-and-erlang-otp +DEPEND=" + >=dev-lang/erlang-25:0=[ssl] + <dev-lang/erlang-28 +" +# 'mix' tool collides with sci-biology/phylip, bug #537514 +RDEPEND="${DEPEND} + !!sci-biology/phylip +" +DEPEND+=" + test? ( dev-vcs/git ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch + "${FILESDIR}"/${PN}-1.10.3-no-Q.patch + "${FILESDIR}"/${PN}-1.10.3-epmd-daemon.patch +) + +src_install() { + emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" install + dodoc README.md CHANGELOG.md CODE_OF_CONDUCT.md +} diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index db25f508606c..8f5bec07e2ec 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -9,6 +9,7 @@ AUX erlang-27.0-dont-ignore-LDFLAGS.patch 679 BLAKE2B acfc9a6320144a370a82bb7962 DIST erlang-26.2.1.tar.gz 62435848 BLAKE2B 4e257c73de868b5bbd213a66ece60f29e5231845c5f40b17876b8f042c20ba89bced920ffdbb2a44b890b920d8a147b0a0cb4a2bce66a51e49b720ee794c06c9 SHA512 f4fa0d11ecbd99ca5ef4421abb78ef2aba8ea0f8d19e4aed991c2afcc42bb057a37ae34a416b050fd7ed8ca39ba7cc8b3619ff371bc09f56dfd5b523988a8f8c DIST erlang-26.2.2.tar.gz 62440930 BLAKE2B c2746b3eb4ffcd3643803745df3e6474291edfb1bd50a0a7cd858942d89808d8b041afd7d8c9dbd0ac336b71412cad972768a3c11d06908605e8a9521f5f5c11 SHA512 27d89f4ee1c7beccd27348ad0d5d9650cda58614f3c278b0a7cf062bf4efc91bd1c7aecfff55b934c57f69cb30c41ead89b94625616817acb2e5910b95bc80fd DIST erlang-26.2.4.tar.gz 62476971 BLAKE2B f3acfb05a569ce0b4cfd9d9a30ac4840845cc285691294c2ff2776c45812b9046d3453700150912128c385458a3afba7dc54ab773611d46de31b4d2744fcdaf6 SHA512 2fa385b5ec93810c984f31e22757fe8614087191adf0f99376702bd15a316237f8abc1b65d40a302d3919cd28afe65fb4086e39638c6c39af165c0c1ee6fb51d +DIST erlang-27.0.1.tar.gz 62055749 BLAKE2B 2cbf74efb6e2bd821b30e9b39d13b5b16899a49eedcbedd171068cb4da5d2f5cd98697a4234387d194aeace3ec1c168d752a2afd5bc52c4c6799dfd68ade6916 SHA512 03bba7f7d8226474b4dba9855e78b59c7cf78973fbb2ed48893a26879dc0dce579336e9cae6870f154bdd48cf3be6398cc1ec4ff52f252017d84edb20d565e71 DIST erlang-27.0.tar.gz 62019520 BLAKE2B 9c683e4de7a1b98579e572667746461b9cba0b54d572cde75e3484003548fea2f657292b7f6bfcb4e765d74d744276ddf5ee3f7f615b29cc4b3e563a8cc00944 SHA512 16945c50c09caad9aac6808470ea2a0e282713f23e54cd4ad60510b114811b5deac427acb36cc8049443b4e3c3302c40b02c696cf3f2028f8bd3e836c8c48ea9 DIST erlang_doc_html_26.2.tar.gz 37572819 BLAKE2B c9e5dcaf4a282063a58883fc63adb14e4448333e07994542fdf6dfb29cf4c782f3b7a33b4b6543ffa64b2ce9f40fa9482ca798181bd84e00ebaf5a3223d300d4 SHA512 846f42666d190c9c2b4c11048e842f921d2bc9767483b6f54095c3aba0cbea9a0fbe06daac4c4837b371f9653346660704ea957fd9fbb6606e4274897042abaa DIST erlang_doc_html_27.0.tar.gz 29506649 BLAKE2B bae1425e3b43608c59975c7936e3e250ae9606acce34a7168c2ef1aba60a2956858e3a5cb4412f8ff937c93821110eae5f0d71b9378cce86d9ad9810f70510dc SHA512 a86497709bb0571b261f520f3e875d51628bc741affa8aded941fd9f66a7a6c821dbf415554cd7be6f91ebedd0d6ca7e6dde2f072bbffdf307bc127f17423536 @@ -17,5 +18,6 @@ DIST erlang_doc_man_27.0.tar.gz 1764909 BLAKE2B b55614bc3c795813eb2d73dc990f740e EBUILD erlang-26.2.1.ebuild 5334 BLAKE2B 7e04036ef4e52fd3e96aa3304ba7558dd836cffbe57892bcbe60875fd72f12e856dcee33d9b399b6dc6c6ee9f01ee95f160f403d0916a0b7b4aeedb587a92d0b SHA512 8a6581d831fe83a3bb1fbd079648f7559fbf61aa967cb5da1aa8fe9f633eedc69f422397541fc3bd0f76883d9f43316d8972d6ea8f8683a6bb521b825bf9e3e3 EBUILD erlang-26.2.2.ebuild 5383 BLAKE2B 93f349d27f78506582d9155ba5ddb51b720d72b9b0f48d061ab311e17ba0a98a0248b36ef9a835a94c8873a6ede5ea45ca5e2138369283b95c0a7ff130a52bf2 SHA512 32215031638111845b543620d884ea2ff7508e344efda0272fd7ea509f849c1e21d935caa303006e78231cc6833ae572a7345e0e3379e7457cbc353c3e166c76 EBUILD erlang-26.2.4.ebuild 5432 BLAKE2B 0d5c5b84c2169c98e779957643670691f7ed985f8fb78cbe114ac4bbb151c4baeab44e0073a56aa3fe34d6c654fb44a06a87a892c5aeb7c815991ab1ac302ba4 SHA512 555d24e9ffebd9d158ef23a39054f0934d18395b468a6a8695e5269749775278e804579759425cfd1cef049090c7574eccaccba67196e1b63453e5a3e489334d +EBUILD erlang-27.0.1.ebuild 5035 BLAKE2B 632ae310fe05d4385d41ffee3b8c56a6275892b165747b26b1b7c7c5d762389f429b1451f3d9e2a296c963d9e182d806c9c65d9ca16dfd7ce97504bf05ffc32b SHA512 01dbb3cf15a7aae64d94e0a02388dfdfb9296ad2c5a616009e51da08547e238704f7de6ddafec2221ee0bd42caaa1b31dc41f487a63638a4a7d5a5e15e65ed58 EBUILD erlang-27.0.ebuild 5550 BLAKE2B 8a12af1b6ce0ccf4abd8525f8d8f7ca59fac6d7a6dc0a3ff274cc5e7af3bc06570499d6d4a4c19b3b5fa0723bc36f9a35d954a2a1c1abe899b0a7b07510485d5 SHA512 1128abd81627bc65eefb676095168295f221cf4f12efffcb89ec70637d1fb7653a633c26a289ea5b7f0f8f7caf253ad55e63ad37f893951fd927fa238dc22065 MISC metadata.xml 624 BLAKE2B aa99e3487778663cc634e71ed1d22b63ce829d2180c41c390737c7c5761982de8db5755c82db0753cc36c45888409095cbe5f0df3f31f2bf09c12a67c091fcaf SHA512 29910d752f37bf7cb020f8d18790c477a4702e767dec059be9487cb7edf98dfef3b4bdaf37e4275281a26104187ddabfbc9ba9c104fd8bee19a306c3dee4281e diff --git a/dev-lang/erlang/erlang-27.0.1.ebuild b/dev-lang/erlang/erlang-27.0.1.ebuild new file mode 100644 index 000000000000..790c862e2aa5 --- /dev/null +++ b/dev-lang/erlang/erlang-27.0.1.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +WX_GTK_VER="3.2-gtk3" + +inherit autotools flag-o-matic java-pkg-opt-2 systemd toolchain-funcs wxwidgets + +UPSTREAM_V="$(ver_cut 1-2)" + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="https://www.erlang.org/ https://github.com/erlang/otp" +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz + https://github.com/${PN}/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz + -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( https://github.com/${PN}/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_html_${UPSTREAM_V}.tar.gz + -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" +S="${WORKDIR}"/otp-OTP-${PV} + +LICENSE="Apache-2.0" +# We use this subslot because Compiled HiPE Code can be loaded on the exact +# same build of ERTS that was used when compiling the code. See +# http://erlang.org/doc/system_principles/misc.html for more information. +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="doc java +kpoll odbc sctp ssl systemd tk wxwidgets" + +RDEPEND=" + acct-group/epmd + acct-user/epmd + sys-libs/ncurses:0 + sys-libs/zlib + java? ( >=virtual/jdk-1.8:* ) + odbc? ( dev-db/unixODBC ) + sctp? ( net-misc/lksctp-tools ) + ssl? ( >=dev-libs/openssl-0.9.7d:0= ) + systemd? ( sys-apps/systemd ) + wxwidgets? ( + dev-libs/glib:2 + x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] + virtual/glu + ) +" +DEPEND="${RDEPEND} + dev-lang/perl +" + +PATCHES=( + "${FILESDIR}"/${PN}-27.0-dont-ignore-LDFLAGS.patch + "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch + "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887 + "${FILESDIR}"/${PN}-26.2.4-test-errorinfo.patch +) + +SITEFILE=50"${PN}"-gentoo.el + +QA_CONFIG_IMPL_DECL_SKIP=( + # FreeBSD & OpenBSD + pthread_set_name_np +) + +src_prepare() { + default + + tc-export AR CPP CXX LD + + # bug #797886: erlang's VM does unsafe casts for ints + # to pointers and back. This breaks on gcc-11 -flto. + append-flags -fno-strict-aliasing + + # Ensure that we use erl_interface's libei.a, and not the system + # libei.so from dev-libs/libei. Bug #912888. + sed -i 's/-lei$/-l:libei.a/' \ + "${S}"/lib/odbc/c_src/Makefile.in || die + (cd "${S}"/lib/odbc && + eautoconf -B "${S}"/make/autoconf && + eautoheader -B "${S}"/make/autoconf) || die +} + +src_configure() { + use wxwidgets && setup-wxwidgets + + local myconf=( + --disable-builtin-zlib + + # don't search for static zlib + --with-ssl-zlib=no + + $(use_enable kpoll kernel-poll) + $(use_with java javac) + $(use_with odbc) + $(use_enable sctp) + $(use_with ssl ssl) + $(use_enable ssl dynamic-ssl-lib) + $(use_enable systemd) + $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null") + ) + econf "${myconf[@]}" +} + +src_compile() { + emake + use doc && emake docs DOC_TARGETS=chunks +} + +extract_version() { + local path="$1" + local var_name="$2" + sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed" +} + +src_install() { + local erl_libdir_rel="$(get_libdir)/erlang" + local erl_libdir="/usr/${erl_libdir_rel}" + local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)" + local erl_erts_ver="$(extract_version erts VSN)" + local my_manpath="/usr/share/${PN}/man" + + [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version" + [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version" + + emake INSTALL_PREFIX="${D}" install + + if use doc ; then + emake INSTALL_PREFIX="${D}" install-docs DOC_TARGETS=chunks + + # Note: we explicitly install docs into: + # /usr/share/doc/${PF}/{doc,lib,erts-*} + # To maintain that layout we gather everything in 'html-docs'. + # See bug #684376. + mkdir html-docs || die + mv "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* html-docs/ || die + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" html-docs/. ) + docompress -x /usr/share/doc/${PF} + else + local DOCS=("README.md") + fi + + einstalldocs + + dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl + dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc + dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript + dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call + dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp + + ## Clean up the no longer needed files + rm "${ED}/${erl_libdir}/Install" || die + + # Bug #922743 + docompress "${my_manpath}" + + insinto "${my_manpath}" + doins -r "${WORKDIR}"/man/* + # extend MANPATH, so the normal man command can find it + # see bug 189639 + newenvd - "90erlang" <<-_EOF_ + MANPATH="${my_manpath}" + _EOF_ + + newinitd "${FILESDIR}"/epmd.init-r3 epmd + use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service +} + +src_test() { + # Only run a subset of tests to test that everything was built + # successfully, otherwise we will be here for a long time. + emake kernel_test ARGS="-suite os_SUITE" +} diff --git a/dev-lang/execline/Manifest b/dev-lang/execline/Manifest index 081736c0dec5..141fc911feb2 100644 --- a/dev-lang/execline/Manifest +++ b/dev-lang/execline/Manifest @@ -1,5 +1,5 @@ DIST execline-2.9.5.1.tar.gz 110874 BLAKE2B bef3cb560f00c01c96065429220017315edc8378403c73e4a0edba67ee248f76ca849cd8a107756251db9844d3ac650259b33db2f93abc1c7aa4f68995b5b624 SHA512 11bfd825b0b72cba118eff9ecb97672d0c015e0bd50c7c8f83e101ee41c323b3a3c82e42fed75b6bc65ab6edb85a8bbeef8900b594cf651825b6313a5123c88f DIST execline-2.9.6.0.tar.gz 111660 BLAKE2B 42baed36228b1e6a370d6d4c18829be7f517812ce9e3838e5b102d0fe58ac48ecd84f17caef89e9a07b3b149ed9b38b3b00f7eef810c231995c8e5ecbf07a770 SHA512 1c5233b0f17b4c92ab2e9e8700b47c8429ad97962bcb7c83190d0b3251b26584e591d77418eca77e8112cdecd24eec50aaca7da1dbb506120931bbda39f2b7cb EBUILD execline-2.9.5.1.ebuild 1132 BLAKE2B 8ac47516f9f4d89f44a6b86988a6df1a1f5639868f24f29691a1e6f4f9c7cd1e46520e82f37577d6bf31e81200e70aee08e4cbc6966dd4274772a0e65307dd24 SHA512 97932b7287d2cd30b625425de149bb3ca701e2902637146c90cd6e6ac8251b0e533832b060d93efa5efb66415c0aa5392ddb49a17ddc200e6eab6752663578dc -EBUILD execline-2.9.6.0.ebuild 1135 BLAKE2B d772b43ae63801febe3450deca71d89e62e3195af05e569f59cb1acefd7d3b87956861d665a1e13e963d79052ed90cde92c6e40b56180fd9bf3ffbde3562546a SHA512 82f6a85dff699956ee962e0ce582b08c068de0bcdeffdc6fea36269f00fea77a9b0d82da2217641419832249228d08ac11c7a370af53aca6d3b462cf723f9607 +EBUILD execline-2.9.6.0.ebuild 1132 BLAKE2B 8ac47516f9f4d89f44a6b86988a6df1a1f5639868f24f29691a1e6f4f9c7cd1e46520e82f37577d6bf31e81200e70aee08e4cbc6966dd4274772a0e65307dd24 SHA512 97932b7287d2cd30b625425de149bb3ca701e2902637146c90cd6e6ac8251b0e533832b060d93efa5efb66415c0aa5392ddb49a17ddc200e6eab6752663578dc MISC metadata.xml 585 BLAKE2B ce0671014512c49b041f6c47002603a15f0f5d7f23c356465fff024506fb261096aa757cc1c707501f5be572cea9d925a25039d1549d31852ffaf9b2f17b5cb3 SHA512 bddd917f615e8ff772889a4da992c9201f6e32982374ffa29e7a8c3fce8d7a4f409c3b3ffe8c989e7802c2b321d6cfc5bb37017aa75dc38e3026c1de48bb0090 diff --git a/dev-lang/execline/execline-2.9.6.0.ebuild b/dev-lang/execline/execline-2.9.6.0.ebuild index 6eff46cb134a..25e4a9c495bd 100644 --- a/dev-lang/execline/execline-2.9.6.0.ebuild +++ b/dev-lang/execline/execline-2.9.6.0.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz" LICENSE="ISC" SLOT="0/$(ver_cut 1-2).4" -KEYWORDS="~alpha ~amd64 ~arm ~mips ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="~alpha amd64 arm ~mips ~ppc ~ppc64 ~riscv x86" RDEPEND=">=dev-libs/skalibs-2.14.0.0:=" DEPEND="${RDEPEND}" diff --git a/dev-lang/gdl/Manifest b/dev-lang/gdl/Manifest index de31140e561f..19fe9601a702 100644 --- a/dev-lang/gdl/Manifest +++ b/dev-lang/gdl/Manifest @@ -1,4 +1,4 @@ AUX gdl-1.0.4-cmake.patch 4739 BLAKE2B 954ec16e3bdd803ad842cce7d3389bd1a6137176a4be129027fd2b5075fbac89f45a3cfacc1f04cc7aec73f519f5a25d36b75c8790490ebef41f9b462fed0b5a SHA512 aeaf09b6eadbe89f98cccb003dbea510e8ec66659d7c290dc7e5315db073592ad215fab4a8feb9ac2af5ef7be9822c5fa0e92ab4bf64394b6fae6caa0277a279 DIST gdl-1.0.4.tar.gz 33219638 BLAKE2B db0e843cf2e3f07d6f53d3a8b46cb95303cd0ae199c98099f45bbdfe5d206f325a8f9814935e876a3dfee3a46da0144766b18fa54b38a653567a429a88f06250 SHA512 3206bdd88b0478493221c0552e62620f1c9acbfec6f1900d73d932caae12401bf825e8893c81f844965f79e332bedb6ea99e6ea6f2b21427022efa60d1326eb0 -EBUILD gdl-1.0.4-r1.ebuild 3387 BLAKE2B 3fa66631eaaad8e2fca7f08de10f424179a0bb92aad840481cbe7e27bc3dc70b4735bd3850bd693bc736682f4bf0172be603fdbf5ce162f633b44ea545542b50 SHA512 558be57b0a371d90a19d3a860cfc975a8b26eca4b298c59a1f52cd0d44c0a7f200575dbb8f1e7c531df6cff6cf5e735cae28cf6ae2e3a26cfb47d284b6bfbc7e +EBUILD gdl-1.0.4-r1.ebuild 3599 BLAKE2B 57cf9816547de1715b8b4ee8a64aa4f839c4d5f9a4b3d66b278dfddc77031158ee8e3a7629e923ec292237b7c08c14e130c64fa97c678bab165fc621d9b4cb0a SHA512 a022583dbde7354ef345bdf5357449a6f9ed7b5fae1946d5a1b42f07f1f923a4171e5bf688575bb2b01fe2e518e6e007632ab8ec68098e30cc2a29a34892b315 MISC metadata.xml 1288 BLAKE2B c2e9dd75d0e8a9d59470fb1c9eee3e8b6f9378bfcb11dfd7f1e37d6294f3830af40d1693ab306e656cc830e5f924738f8db015fdf710318529635b3197abfa1b SHA512 927178c2c284e7a273cd289a3c828094b5a5cfd7fc4eeb8479ba6fa6b56bd5a0ed240161edbad1c1ad6c8189844cff8ccbaf9c1ff57842ea439fb82677e0b4bf diff --git a/dev-lang/gdl/gdl-1.0.4-r1.ebuild b/dev-lang/gdl/gdl-1.0.4-r1.ebuild index 37797d0e9d71..e0d6af34f1d0 100644 --- a/dev-lang/gdl/gdl-1.0.4-r1.ebuild +++ b/dev-lang/gdl/gdl-1.0.4-r1.ebuild @@ -6,7 +6,7 @@ EAPI=8 WX_GTK_VER="3.2-gtk3" PYTHON_COMPAT=( python3_{10..12} ) -inherit cmake python-single-r1 toolchain-funcs virtualx wxwidgets +inherit cmake flag-o-matic python-single-r1 toolchain-funcs virtualx wxwidgets DESCRIPTION="GNU Data Language" HOMEPAGE="https://github.com/gnudatalanguage/gdl" @@ -96,6 +96,14 @@ src_prepare() { } src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/930966 + # https://github.com/gnudatalanguage/gdl/issues/1852 + # + # Do not trust with LTO either. + append-flags -fno-strict-aliasing + filter-lto + # MPI is still very buggy # x11=off does not compile local mycmakeargs=( diff --git a/dev-lang/gleam/Manifest b/dev-lang/gleam/Manifest index 449aa65a6b59..608c7a42dca6 100644 --- a/dev-lang/gleam/Manifest +++ b/dev-lang/gleam/Manifest @@ -1,4 +1,5 @@ -DIST gleam-1.1.0-crates.tar.xz 28586380 BLAKE2B edecdff51966a0091bc915d7e3d4f8d1530f62dd4cb6b2b5d235e0512103c614df028351e61b6793bc56a79f469567a95224cbae3dee7b4932df23d21a5f3c5f SHA512 221675cab2b1ca6e61bbe1a87976640d25e741de4578a8d7ed5be3e552d784596bac1905af2ea06d1b3c5c6efb1ec189aa682d3e9e3f6462fd09d8b31af9603d -DIST gleam-1.1.0.tar.gz 882622 BLAKE2B 7f3ff5ce346e3f1b8d7a13723ea649f5b6e325a563cd3f4e4c0b227f3d9e4643e1e9cd403dbe9c5e8c93e47c2ae6fe1f137250c0155f8b4acbe324fdcf9efc91 SHA512 265867096b758ab554f0b4228d95b40a30d5796499b29775465d8dc3cc3ad37cf517cf979f33d906229dd33e424708e40a13ea6cf9932b54c573cd2335788695 -EBUILD gleam-1.1.0.ebuild 1002 BLAKE2B b3d0103dd43b516f290ef34cf04f384db8884937774c03b308baf93f4c208ec92f09f71cbc387241ea889e556b2d78f95e03f352c950b9a1b7d54e39008efd99 SHA512 cc158df3a11ef0e4a495eaa640ed16778519ca3d9c5796cd43693c4d5e6124292194261bfe3877a76881276b3f0fbc7e4b57d8926d9bad2d9957c1ff9c09fd6a +AUX gleam-1.4.0-rust178-compat.patch 1253 BLAKE2B 1a05f9b2cacd84a2bc52bd7cdf30470920f6c3ba406f8e5f0fc067128cb2630fc0ba4895ffeef2d5ff3f1ce9ffef60147267ff1876df09ba5957e6cbaea87307 SHA512 89ad034f4f41faa3adae86452ae8f87eb77e91527943c4289351255098df67518723f8308a23235972b2df002d2b37d451743628d860e37086dc039a17718189 +DIST gleam-1.4.0-crates.tar.xz 42395452 BLAKE2B 36733afeda26214d4d5078824fe46a7c531b73875fd265727f1e363d799accd0b4e4401798e81ef4c60dba6401e00a5df63ed54fa424d4b7a395ee07a0124676 SHA512 5996bf3e4b11d95c05de9fe02e0f2ea8ca195931098e897ee74cb96515b81cadf7e46bd566d895d79d83ac71058a05a75b2f4a60da6ff9c6e0ad9dd0332daf3a +DIST gleam-1.4.1.tar.gz 1024265 BLAKE2B c1e37d4ba261d94d2131ab79f24859cbad0a465b967c9231d991ed0640cbed3be9fbae0b693b73020ffb56346f77e313420bb1c3c4c90e7b4d0807c400008464 SHA512 ea8dbab041f3dc480c408595b9adf4fc9a588f8438c98b5c7234d735c3b0ad98fe556d4a0258a663b322275212a5f5dbc48637e9d8d557915630dae85904a5cd +EBUILD gleam-1.4.1.ebuild 1069 BLAKE2B 5361603890ad0b12cadbb93d300c7558128a825ee105d73112873e306b548416194d8f7845f7408107fa8505b61fe3de436cd8d8929cdbe64ac1fb861fd02bd1 SHA512 3df007190721bce286c3cec05e5e0ffd6a48f9d2e4f20da947718c70852e9d01054c42700c18f934ee4f7bf13622546b205380631757cc6eb8ce497acf1cb8e3 MISC metadata.xml 339 BLAKE2B 75c47a1669f737b04e1ca54cb3d222f84f408ad4d24ae8c505dd0d6644b4c0069618cb8ef7f5c773f271c3ac1ae8d6a625e0a4cabadbf23b9eae0c9ab149d3cd SHA512 5f769e170ffff7a528f5de910ba8ff1c525214357e1e421c2b6a922700ef77271b91687c18708787195d6b28179a95dc171082c1e94291bc9fef8771fb7c7086 diff --git a/dev-lang/gleam/files/gleam-1.4.0-rust178-compat.patch b/dev-lang/gleam/files/gleam-1.4.0-rust178-compat.patch new file mode 100644 index 000000000000..3e3ab1dc1937 --- /dev/null +++ b/dev-lang/gleam/files/gleam-1.4.0-rust178-compat.patch @@ -0,0 +1,28 @@ +From b2301ad49894fa7a6edc89a3b2128be274bd2996 Mon Sep 17 00:00:00 2001 +From: Philipp Herzog <ph@flyingcircus.io> +Date: Sat, 3 Aug 2024 11:10:37 +0200 +Subject: [PATCH] Store formatted variables in a variable + +This fixes compilation errors when compiling with slightly less recent +rust compilers, e.g. 1.78.0 and 1.77.1. + +The performance overhead of formatting the string here is neglegible in +any case since the string is only discarded if there are zero or one +variables, in which case the extra call to `join` is very cheap. + +Upstream: https://github.com/gleam-lang/gleam/pull/3484 +--- a/compiler-core/src/language_server/code_action.rs ++++ b/compiler-core/src/language_server/code_action.rs +@@ -344,10 +344,11 @@ impl<'ast> ast::visit::Visit<'ast> for LetAssertToCase<'_> { + self.visit_typed_pattern(&assignment.pattern); + let variables = std::mem::take(&mut self.pattern_variables); + ++ let formatted_all = format!("#({})", variables.join(", ")); + let assigned = match variables.len() { + 0 => "_", + 1 => variables.first().expect("Variables is length one"), +- _ => &format!("#({})", variables.join(", ")), ++ _ => &formatted_all, + }; + + let edit = TextEdit { diff --git a/dev-lang/gleam/gleam-1.1.0.ebuild b/dev-lang/gleam/gleam-1.4.1.ebuild index 050a8cc09d08..7151240a5284 100644 --- a/dev-lang/gleam/gleam-1.1.0.ebuild +++ b/dev-lang/gleam/gleam-1.4.1.ebuild @@ -9,7 +9,7 @@ DESCRIPTION="A friendly language for building type-safe, scalable systems!" HOMEPAGE="https://gleam.run https://github.com/gleam-lang/gleam" SRC_URI=" https://github.com/gleam-lang/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - https://dev.gentoo.org/~matthew/distfiles/${P}-crates.tar.xz + https://dev.gentoo.org/~matthew/distfiles/${PN}-1.4.0-crates.tar.xz " LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB openssl" @@ -18,6 +18,8 @@ KEYWORDS="~amd64" RDEPEND="dev-lang/erlang:*" +PATCHES=( "${FILESDIR}"/${PN}-1.4.0-rust178-compat.patch ) + # rust does not use *FLAGS from make.conf, silence portage warning # update with proper path to binaries this crate installs, omit leading / QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest index 01a009d40bc7..8024f2219010 100644 --- a/dev-lang/go/Manifest +++ b/dev-lang/go/Manifest @@ -1,12 +1,8 @@ AUX go-never-download-newer-toolchains.patch 368 BLAKE2B 0c90f46492af80622f430b2d506b143f3b553b5276085f78f41b93fee8219745179038302462603b5b1677554d92911eb4865084d0488aaa4c71ae1abc307f71 SHA512 b5acf97ccf96c6a353fcb7bd97113c38562defd82338828124fcc72c71334feda9c4e839d2aae5b66b809bc8a692eac96396c54a478e17a7ffd8d2c68fea95e6 AUX go-sets.conf 256 BLAKE2B 670afd72a2fa961e2b3882ac48d10e9d047af7a68f47bc8c8985b2de7a84022410fb1acfe2c710f8b3804ec3b043bf18c948478cf7d31c982cff47714b309cdf SHA512 028fba72c2d82ef893416970c27cb277be15f7c5c67773c0a62cd8ce2c192813ba851339596f10a6f5394c479e67b62dd4e4520379cc03f764ed4a4ab834fba6 -DIST go1.21.11.src.tar.gz 26994914 BLAKE2B 73f0a5c133844c287cc7aa32e9b8d8735956e0e88b0100b644c22a2748ab28b5bedcba3575e9f34be50ac67a0ccf8ef04100e8076176d175d9cdd111c13a8f6e SHA512 dffcef964a4fbe08cd965bcffad6138fab164f14936a83988ced86924f794c1f107c122d1aeb674eacb0a1a498a31bdf83ea8f87b352494fa69f6e38931d2120 -DIST go1.21.12.src.tar.gz 26997443 BLAKE2B 2d53822fe5ce0664a440325b25ed4eb4268f54982941f045b4fda8e9c650ce37d5daf0bd81dccc69ce69a69868344272607dbe59d9b8f78380dd4cf590324433 SHA512 fb909b92e9dbcf022b9f9250c66a6681585e26aeaf7b8a16b4263082c137181c53966299aa8014983a0215d70e03d1e18b77d674ab32dcfaa5de8c9ed2c8020c -DIST go1.22.4.src.tar.gz 27555503 BLAKE2B 00a6a3430e38fe5b63df3d453bd58ff51f3cff7814f3e05520725ef2093d1f2547c214f6e58c9bbd078334b51be2407dfe5b68eac5b7eeaa2a33bd3c3a13f3f4 SHA512 4855ba7e277b2eb79eb52e3ad2a52f18b3a4cd3adc20b7a17d29fabae74141265bf31399307b8d3f35110031d11ad7f583016aa903f3e36eeb6d1f64cfc8a5ad -DIST go1.22.5.src.tar.gz 27559458 BLAKE2B f166dd9f1c55addf422f2612f3f6a084fa96d3e2cb7455f03286cf23778ce2bd83097de621c69f9c1f23912d55039c926608dbee25da13f084ca9a5e0f04f249 SHA512 798c2bd5d59be1fb5d7af98893fa7bb68322117facfdee546a37175ec5e8be634f2bed2d8d0e7d4d0555b354c8e9d72b3829c39670d3be2d2328376a00a48576 -EBUILD go-1.21.11.ebuild 5204 BLAKE2B 2fe9369fbc565c10082d5d508c863739e24e85dd491cd3c27691ea3025f06bb94e976c8f109d26455a8560356fbebbaaa5e5d1e034a20b7648596c9f053807d9 SHA512 ed2806d6d1efb4d9194354468157129b9f27483f63ae166d66bb559541880d416254fa1ca39dc2022d485abda6fe771d8311c007eac78ef01a7ce38b9641ed19 -EBUILD go-1.21.12.ebuild 5209 BLAKE2B 5656d72770d2f5d6092328eeb3883f303407e591845530c2041df1382ffec3cde87c150ac591f4a4bebfa2dada0b504151c36e454d66269d31fe975eab786917 SHA512 d0b37538789f820c8314dbfbe9e8b5a18de1c3a8009d3e2633d6b4f0bdf1bd100374232f8323e7e55c67300e98f70468b3e26ea57153448d7bb24d629e9387e6 -EBUILD go-1.22.4.ebuild 5269 BLAKE2B d3218c1d0e0fd4fb81b53af9a53823484737736c4d19e605f2aa805f764338487e0f35e4f44f11127ae6e1cf5420785d0b280af0f1bb9a4270e032c7d2177aa8 SHA512 0bb285a4f49ecaa9c1e6ca51a7402f3569e64be74b0ba0081850f92d07a9e482a12da1f744c163bee77a837e9951eeeb213916315a82268c9b9c63642e01a0c1 -EBUILD go-1.22.5.ebuild 5274 BLAKE2B fb71001874cd0037ff66a9b8dacc058c7276bac4095402eea81fef64eaa3f336ebe04535385fc5036aaf10267f578ef0742f2b088bd15e88747c53fc742b7a13 SHA512 139516a4593e9abcb35fa754db6c0582d3f113e68ec65fb6cf34c96673eff792c0d95cddf8786a66ffcd0725782f08b0d43b61ad10229c3c00a4a372f2f2eb96 -EBUILD go-9999.ebuild 5274 BLAKE2B fb71001874cd0037ff66a9b8dacc058c7276bac4095402eea81fef64eaa3f336ebe04535385fc5036aaf10267f578ef0742f2b088bd15e88747c53fc742b7a13 SHA512 139516a4593e9abcb35fa754db6c0582d3f113e68ec65fb6cf34c96673eff792c0d95cddf8786a66ffcd0725782f08b0d43b61ad10229c3c00a4a372f2f2eb96 +DIST go1.22.6.src.tar.gz 27561569 BLAKE2B 55ce88dc2039d68f14aea0792ed6a1b45c8e262aa73f76f852941aed12019318b3be7938c954fb7c03d7583f930f7a0e5164effc1ec10fc6d0fc282484390e49 SHA512 59f84ba390203271d9fe2d3f04624449d54d3bb73c2b6e54b5f7dc9e9e2dce2192bae07ef56a2afee871cff84d457b90f8a00f4433e072028b97af987f3799e1 +DIST go1.23.0.src.tar.gz 28163301 BLAKE2B 49e382dae5195e4a6544f9bd96b169a4c7a822544c7db07c69566063d3f6c21dbbac9991e7da1a0b946ee59ac8f65589b47edbb9856fed93d37e2bac18f61644 SHA512 5822124ca570662ac8dcec32a79196520ce355fe421d83372f8b8a97b3811de0739edcd7080a23f845cf700a6a26f3af6c93278f6ce485b93120afdd4f6c4f47 +EBUILD go-1.22.6.ebuild 4269 BLAKE2B 98523fc945a5383c10e91f37ec15c86a4a6cdd501ed0f4a2fb22ce8771b7d67f95c239a97bb6a4c34c5edf3050c76372afa3954bb843ef7164c89b0e61cf60a9 SHA512 c35a4c9e8eb764683cd9d53fc71e2ff7b5aec00d14f12e0d4a138d23b19974d1999e6c5cc6b5f977740ba5bb59eafb704fd4407395bbb18d276337dc6ed9efaa +EBUILD go-1.23.0.ebuild 4174 BLAKE2B 55fa5a577403deb55f35d277ef4e7b104381982fbeece7b2c6b45f04e0bf49c4ee5e45e6372e80a351017e34d43268081cf5816ae99469d5195a9dadae549271 SHA512 bf66b5a718f227b1163053ce86b187be4e2f80289f9aeb0b8beb5a3ec4a74130fe11d64f587af4059f2a745be4d4d44c66060dd27a4359d95c358001a03b2de4 +EBUILD go-9999.ebuild 4274 BLAKE2B 7cbc81bac15c21d76bfadbc9b414ae9fbe7549a49ed2f9b9fae45bd00d6dfc304b054fef08f42f94be45d7c2defc3ebabce9d8f480db5e60c0c4a9e95cdcafd7 SHA512 9c9e3ce9713153f3316f54b96450deeb951c453b2320773771b047d12226db15d724157455fd6a218028d0a49b145c317019190083361f328b4d07001d197fd6 MISC metadata.xml 589 BLAKE2B 341e4c0e91d73ca668c1795035e1223eed60f85c724afd989ef1f8fb69649f7f6eaaf8a5228f6c8f587ffcc40a438c47d332fbe6866839f5a0829872a983f642 SHA512 fe58ddddfbd4d0d060516cb035592a80c0f48e125bb59c95d3c6fac0c182271e2a9ec9bd055b9cc8e6cb8c449e6c483bff4a23c362f532c24255febfdefc273a diff --git a/dev-lang/go/go-1.21.11.ebuild b/dev-lang/go/go-1.21.11.ebuild deleted file mode 100644 index 7588d8461f60..000000000000 --- a/dev-lang/go/go-1.21.11.ebuild +++ /dev/null @@ -1,210 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -# See "Bootstrap" in release notes -GO_BOOTSTRAP_MIN=1.17.13 -MY_PV=${PV/_/} - -inherit toolchain-funcs - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - ;; - esac -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://go.dev" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="abi_mips_o32 abi_mips_n64 cpu_flags_x86_sse2" - -RDEPEND=" -arm? ( sys-devel/binutils[gold] ) -arm64? ( sys-devel/binutils[gold] )" -BDEPEND="|| ( - >=dev-lang/go-${GO_BOOTSTRAP_MIN} - >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" - -# the *.syso files have writable/executable stacks -QA_EXECSTACK='*.syso' - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# This package triggers "unrecognized elf file(s)" notices on riscv. -# https://bugs.gentoo.org/794046 -QA_PREBUILT='.*' - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT+=" strip" - -DOCS=( - CONTRIBUTING.md - PATENTS - README.md - SECURITY.md -) - -go_arch() { - # By chance most portage arch names match Go - local tc_arch=$(tc-arch $@) - case "${tc_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - loong) echo loong64;; - mips) if use abi_mips_o32; then - [[ $(tc-endian $@) = big ]] && echo mips || echo mipsle - elif use abi_mips_n64; then - [[ $(tc-endian $@) = big ]] && echo mips64 || echo mips64le - fi ;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - riscv) echo riscv64 ;; - s390) echo s390x ;; - *) echo "${tc_arch}";; - esac -} - -go_arm() { - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; - esac -} - -go_os() { - case "${1:-${CHOST}}" in - *-linux*) echo linux;; - *-darwin*) echo darwin;; - *-freebsd*) echo freebsd;; - *-netbsd*) echo netbsd;; - *-openbsd*) echo openbsd;; - *-solaris*) echo solaris;; - *-cygwin*|*-interix*|*-winnt*) - echo windows - ;; - *) - die "unknown GOOS for ${1:-${CHOST}}" - ;; - esac -} - -go_tuple() { - echo "$(go_os $@)_$(go_arch $@)" -} - -go_cross_compile() { - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -PATCHES=( - "${FILESDIR}"/go-never-download-newer-toolchains.patch -) - -src_compile() { - if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - fi - - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="${PWD}" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_arch ${CBUILD}) - export GOHOSTOS=$(go_os ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go_arch) - export GOOS=$(go_os) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - use arm && export GOARM=$(go_arm) - use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat') - - cd src - bash -x ./make.bash || die "build failed" -} - -src_test() { - go_cross_compile && return 0 - - cd src - - # https://github.com/golang/go/issues/42005 - rm cmd/link/internal/ld/fallocate_test.go || die - - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild -k || die "tests failed" -} - -src_install() { - dodir /usr/lib/go - # The use of cp is deliberate in order to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - einstalldocs - - insinto /usr/lib/go - doins go.env VERSION - - # testdata directories are not needed on the installed system - rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) - - local bin_path - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - local f x - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - - # install the @golang-rebuild set for Portage - insinto /usr/share/portage/config/sets - newins "${FILESDIR}"/go-sets.conf go.conf -} - -pkg_postinst() { - [[ -z ${REPLACING_VERSIONS} ]] && return - elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild" - elog "all packages compiled with previous versions of ${CATEGORY}/${PN}" - elog "due to the static linking nature of go." - elog "If this is not done, the packages compiled with the older" - elog "version of the compiler will not be updated until they are" - elog "updated individually, which could mean they will have" - elog "vulnerabilities." - elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages" - elog "See https://bugs.gentoo.org/752153 for more info" -} diff --git a/dev-lang/go/go-1.21.12.ebuild b/dev-lang/go/go-1.21.12.ebuild deleted file mode 100644 index 6060e4160e11..000000000000 --- a/dev-lang/go/go-1.21.12.ebuild +++ /dev/null @@ -1,210 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -# See "Bootstrap" in release notes -GO_BOOTSTRAP_MIN=1.17.13 -MY_PV=${PV/_/} - -inherit toolchain-funcs - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - ;; - esac -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://go.dev" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="abi_mips_o32 abi_mips_n64 cpu_flags_x86_sse2" - -RDEPEND=" -arm? ( sys-devel/binutils[gold] ) -arm64? ( sys-devel/binutils[gold] )" -BDEPEND="|| ( - >=dev-lang/go-${GO_BOOTSTRAP_MIN} - >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" - -# the *.syso files have writable/executable stacks -QA_EXECSTACK='*.syso' - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# This package triggers "unrecognized elf file(s)" notices on riscv. -# https://bugs.gentoo.org/794046 -QA_PREBUILT='.*' - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT+=" strip" - -DOCS=( - CONTRIBUTING.md - PATENTS - README.md - SECURITY.md -) - -go_arch() { - # By chance most portage arch names match Go - local tc_arch=$(tc-arch $@) - case "${tc_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - loong) echo loong64;; - mips) if use abi_mips_o32; then - [[ $(tc-endian $@) = big ]] && echo mips || echo mipsle - elif use abi_mips_n64; then - [[ $(tc-endian $@) = big ]] && echo mips64 || echo mips64le - fi ;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - riscv) echo riscv64 ;; - s390) echo s390x ;; - *) echo "${tc_arch}";; - esac -} - -go_arm() { - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; - esac -} - -go_os() { - case "${1:-${CHOST}}" in - *-linux*) echo linux;; - *-darwin*) echo darwin;; - *-freebsd*) echo freebsd;; - *-netbsd*) echo netbsd;; - *-openbsd*) echo openbsd;; - *-solaris*) echo solaris;; - *-cygwin*|*-interix*|*-winnt*) - echo windows - ;; - *) - die "unknown GOOS for ${1:-${CHOST}}" - ;; - esac -} - -go_tuple() { - echo "$(go_os $@)_$(go_arch $@)" -} - -go_cross_compile() { - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -PATCHES=( - "${FILESDIR}"/go-never-download-newer-toolchains.patch -) - -src_compile() { - if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - fi - - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="${PWD}" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_arch ${CBUILD}) - export GOHOSTOS=$(go_os ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go_arch) - export GOOS=$(go_os) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - use arm && export GOARM=$(go_arm) - use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat') - - cd src - bash -x ./make.bash || die "build failed" -} - -src_test() { - go_cross_compile && return 0 - - cd src - - # https://github.com/golang/go/issues/42005 - rm cmd/link/internal/ld/fallocate_test.go || die - - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild -k || die "tests failed" -} - -src_install() { - dodir /usr/lib/go - # The use of cp is deliberate in order to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - einstalldocs - - insinto /usr/lib/go - doins go.env VERSION - - # testdata directories are not needed on the installed system - rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) - - local bin_path - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - local f x - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - - # install the @golang-rebuild set for Portage - insinto /usr/share/portage/config/sets - newins "${FILESDIR}"/go-sets.conf go.conf -} - -pkg_postinst() { - [[ -z ${REPLACING_VERSIONS} ]] && return - elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild" - elog "all packages compiled with previous versions of ${CATEGORY}/${PN}" - elog "due to the static linking nature of go." - elog "If this is not done, the packages compiled with the older" - elog "version of the compiler will not be updated until they are" - elog "updated individually, which could mean they will have" - elog "vulnerabilities." - elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages" - elog "See https://bugs.gentoo.org/752153 for more info" -} diff --git a/dev-lang/go/go-1.22.4.ebuild b/dev-lang/go/go-1.22.6.ebuild index 38f5a0419240..a251f93835b7 100644 --- a/dev-lang/go/go-1.22.4.ebuild +++ b/dev-lang/go/go-1.22.6.ebuild @@ -10,7 +10,7 @@ export CTARGET=${CTARGET:-${CHOST}} GO_BOOTSTRAP_MIN=1.20.14 MY_PV=${PV/_/} -inherit toolchain-funcs +inherit go-env toolchain-funcs case ${PV} in *9999*) @@ -33,7 +33,7 @@ HOMEPAGE="https://go.dev" LICENSE="BSD" SLOT="0/${PV}" -IUSE="abi_mips_o32 abi_mips_n64 cpu_flags_x86_sse2" +IUSE="cpu_flags_x86_sse2" RDEPEND=" arm? ( sys-devel/binutils[gold] ) @@ -66,55 +66,8 @@ DOCS=( SECURITY.md ) -go_arch() { - # By chance most portage arch names match Go - local tc_arch=$(tc-arch $@) - case "${tc_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - loong) echo loong64;; - mips) if use abi_mips_o32; then - [[ $(tc-endian $@) = big ]] && echo mips || echo mipsle - elif use abi_mips_n64; then - [[ $(tc-endian $@) = big ]] && echo mips64 || echo mips64le - fi ;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - riscv) echo riscv64 ;; - s390) echo s390x ;; - *) echo "${tc_arch}";; - esac -} - -go_arm() { - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; - esac -} - -go_os() { - case "${1:-${CHOST}}" in - *-linux*) echo linux;; - *-darwin*) echo darwin;; - *-freebsd*) echo freebsd;; - *-netbsd*) echo netbsd;; - *-openbsd*) echo openbsd;; - *-solaris*) echo solaris;; - *-cygwin*|*-interix*|*-winnt*) - echo windows - ;; - *) - die "unknown GOOS for ${1:-${CHOST}}" - ;; - esac -} - go_tuple() { - echo "$(go_os $@)_$(go_arch $@)" + echo "$(go-env_goos $@)_$(go-env_goarch $@)" } go_cross_compile() { @@ -140,16 +93,16 @@ src_compile() { export GOBIN="${GOROOT}/bin" # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_arch ${CBUILD}) - export GOHOSTOS=$(go_os ${CBUILD}) + export GOHOSTARCH=$(go-env_goarch ${CBUILD}) + export GOHOSTOS=$(go-env_goos ${CBUILD}) export CC=$(tc-getBUILD_CC) - export GOARCH=$(go_arch) - export GOOS=$(go_os) + export GOARCH=$(go-env_goarch) + export GOOS=$(go-env_goos) export CC_FOR_TARGET=$(tc-getCC) export CXX_FOR_TARGET=$(tc-getCXX) - use arm && export GOARM=$(go_arm) - use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat') + use arm && export GOARM=$(go-env_goarm) + use x86 && export GO386=$(go-env_go386) cd src bash -x ./make.bash || die "build failed" diff --git a/dev-lang/go/go-1.22.5.ebuild b/dev-lang/go/go-1.23.0.ebuild index fc36a2d33ae9..56fac09b0188 100644 --- a/dev-lang/go/go-1.22.5.ebuild +++ b/dev-lang/go/go-1.23.0.ebuild @@ -10,7 +10,7 @@ export CTARGET=${CTARGET:-${CHOST}} GO_BOOTSTRAP_MIN=1.20.14 MY_PV=${PV/_/} -inherit toolchain-funcs +inherit go-env toolchain-funcs case ${PV} in *9999*) @@ -33,7 +33,7 @@ HOMEPAGE="https://go.dev" LICENSE="BSD" SLOT="0/${PV}" -IUSE="abi_mips_o32 abi_mips_n64 cpu_flags_x86_sse2" +IUSE="cpu_flags_x86_sse2" RDEPEND=" arm? ( sys-devel/binutils[gold] ) @@ -66,55 +66,8 @@ DOCS=( SECURITY.md ) -go_arch() { - # By chance most portage arch names match Go - local tc_arch=$(tc-arch $@) - case "${tc_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - loong) echo loong64;; - mips) if use abi_mips_o32; then - [[ $(tc-endian $@) = big ]] && echo mips || echo mipsle - elif use abi_mips_n64; then - [[ $(tc-endian $@) = big ]] && echo mips64 || echo mips64le - fi ;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - riscv) echo riscv64 ;; - s390) echo s390x ;; - *) echo "${tc_arch}";; - esac -} - -go_arm() { - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; - esac -} - -go_os() { - case "${1:-${CHOST}}" in - *-linux*) echo linux;; - *-darwin*) echo darwin;; - *-freebsd*) echo freebsd;; - *-netbsd*) echo netbsd;; - *-openbsd*) echo openbsd;; - *-solaris*) echo solaris;; - *-cygwin*|*-interix*|*-winnt*) - echo windows - ;; - *) - die "unknown GOOS for ${1:-${CHOST}}" - ;; - esac -} - go_tuple() { - echo "$(go_os $@)_$(go_arch $@)" + echo "$(go-env_goos $@)_$(go-env_goarch $@)" } go_cross_compile() { @@ -135,21 +88,17 @@ src_compile() { die "Should not be here, please report a bug" fi - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="${PWD}" - export GOBIN="${GOROOT}/bin" - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_arch ${CBUILD}) - export GOHOSTOS=$(go_os ${CBUILD}) + export GOHOSTARCH=$(go-env_goarch ${CBUILD}) + export GOHOSTOS=$(go-env_goos ${CBUILD}) export CC=$(tc-getBUILD_CC) - export GOARCH=$(go_arch) - export GOOS=$(go_os) + export GOARCH=$(go-env_goarch) + export GOOS=$(go-env_goos) export CC_FOR_TARGET=$(tc-getCC) export CXX_FOR_TARGET=$(tc-getCXX) - use arm && export GOARM=$(go_arm) - use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat') + use arm && export GOARM=$(go-env_goarm) + use x86 && export GO386=$(go-env_go386) cd src bash -x ./make.bash || die "build failed" diff --git a/dev-lang/go/go-9999.ebuild b/dev-lang/go/go-9999.ebuild index fc36a2d33ae9..b16e86ae904f 100644 --- a/dev-lang/go/go-9999.ebuild +++ b/dev-lang/go/go-9999.ebuild @@ -10,7 +10,7 @@ export CTARGET=${CTARGET:-${CHOST}} GO_BOOTSTRAP_MIN=1.20.14 MY_PV=${PV/_/} -inherit toolchain-funcs +inherit go-env toolchain-funcs case ${PV} in *9999*) @@ -33,7 +33,7 @@ HOMEPAGE="https://go.dev" LICENSE="BSD" SLOT="0/${PV}" -IUSE="abi_mips_o32 abi_mips_n64 cpu_flags_x86_sse2" +IUSE="cpu_flags_x86_sse2" RDEPEND=" arm? ( sys-devel/binutils[gold] ) @@ -66,55 +66,8 @@ DOCS=( SECURITY.md ) -go_arch() { - # By chance most portage arch names match Go - local tc_arch=$(tc-arch $@) - case "${tc_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - loong) echo loong64;; - mips) if use abi_mips_o32; then - [[ $(tc-endian $@) = big ]] && echo mips || echo mipsle - elif use abi_mips_n64; then - [[ $(tc-endian $@) = big ]] && echo mips64 || echo mips64le - fi ;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - riscv) echo riscv64 ;; - s390) echo s390x ;; - *) echo "${tc_arch}";; - esac -} - -go_arm() { - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; - esac -} - -go_os() { - case "${1:-${CHOST}}" in - *-linux*) echo linux;; - *-darwin*) echo darwin;; - *-freebsd*) echo freebsd;; - *-netbsd*) echo netbsd;; - *-openbsd*) echo openbsd;; - *-solaris*) echo solaris;; - *-cygwin*|*-interix*|*-winnt*) - echo windows - ;; - *) - die "unknown GOOS for ${1:-${CHOST}}" - ;; - esac -} - go_tuple() { - echo "$(go_os $@)_$(go_arch $@)" + echo "$(go-env_goos $@)_$(go-env_goarch $@)" } go_cross_compile() { @@ -140,16 +93,16 @@ src_compile() { export GOBIN="${GOROOT}/bin" # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_arch ${CBUILD}) - export GOHOSTOS=$(go_os ${CBUILD}) + export GOHOSTARCH=$(go-env_goarch ${CBUILD}) + export GOHOSTOS=$(go-env_goos ${CBUILD}) export CC=$(tc-getBUILD_CC) - export GOARCH=$(go_arch) - export GOOS=$(go_os) + export GOARCH=$(go-env_goarch) + export GOOS=$(go-env_goos) export CC_FOR_TARGET=$(tc-getCC) export CXX_FOR_TARGET=$(tc-getCXX) - use arm && export GOARM=$(go_arm) - use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat') + use arm && export GOARM=$(go-env_goarm) + use x86 && export GO386=$(go-env_go386) cd src bash -x ./make.bash || die "build failed" diff --git a/dev-lang/haxe/Manifest b/dev-lang/haxe/Manifest index 8e608c1b01d1..372f095d5544 100644 --- a/dev-lang/haxe/Manifest +++ b/dev-lang/haxe/Manifest @@ -1,5 +1,7 @@ -DIST haxe-4.3.3.tar.gz 8405617 BLAKE2B 0c27eafd6af0615b47de8a7bdbff25fe15d8bbf80525ede273a4a430cedde6f0d6c9871ae581e2a7e8a87b56862f0c1b9f6f862a7cbfb68ac943ccbc3ae36878 SHA512 fea25ae2ba7433e2f39faae8e05538419e5dfbc519315c8e91b84a2d0a7c9e2ed380b92b21c23ff597797311cbb7a15276b5f4623fb65c6e3d4d8cc801a74e23 DIST haxe-4.3.4.tar.gz 8409775 BLAKE2B 929797d71c23724c08c85957be8b39d6802d35990f70a85f8f7c309fa4505dae2b4b24e881ea8f55b02d68af4eb5fb7956c2562cdc5a8f201925a3029bd2cafd SHA512 77f08d5ecd2f0d08d4f44f186120a3f72eb51c712116d50d524f116d981b28fec4e5a03ef0d7c84bf0451caac76a37d642841202d01822cbb5f08981f12998ec -EBUILD haxe-4.3.3.ebuild 1324 BLAKE2B 6ec3a1bddb8a1ef1c5e5774346932f1817c748eed300e267c493bfe44149800427e688e4c3d46ef99d39953cebdec289b9f5ef35eb5086e0f7629c3f8cf3c117 SHA512 2fc4029a965872fdb0fc06805cb272838bfa9788adfcb17b446c10341c6c1242522dcc23d97023b6ed44629b61dc2458abe05003d3f20d1a45a2fdf90a644164 -EBUILD haxe-4.3.4.ebuild 1357 BLAKE2B 30c146830340437c87ea1859b297cb40fad62d81d69a11a06f7b4123255b068648f53e33de0d1df2ad7819a1b9a47fab662c28fc3c7b9362028be617ce940e6b SHA512 f71d9bd74a380e755504f80cb9c270fe7ad4766eb7ad8676880f1cf528b951fe0eb9c7835a3f8336a856a51a190597fa70f5d42fcda806ec8f06d4fccd0a9518 +DIST haxe-4.3.5.tar.gz 8409453 BLAKE2B 5240d9dc215b9636927d2461c6250acc566c7e314850a2804af8a3d4ae8ca6f7ea2c53da5b5852b3714da102c07e58fdfcc36a3104f5fca0612b55cfcfd3e4be SHA512 df8c93542102b359946507ab3b5d33b69556c57a491b0196d2ab51733fcfc03482867550a6f11543aee0c50ce685dfc89220f5d828b982219defcfec3508447c +DIST haxe-4.3.6.tar.gz 8409453 BLAKE2B 5240d9dc215b9636927d2461c6250acc566c7e314850a2804af8a3d4ae8ca6f7ea2c53da5b5852b3714da102c07e58fdfcc36a3104f5fca0612b55cfcfd3e4be SHA512 df8c93542102b359946507ab3b5d33b69556c57a491b0196d2ab51733fcfc03482867550a6f11543aee0c50ce685dfc89220f5d828b982219defcfec3508447c +EBUILD haxe-4.3.4.ebuild 1357 BLAKE2B 8aceead965bade611912317c79ff3d1951c8e715d5aa8af6c30ba7df661b3a8a5fd1cdb0ada60ec2b5dfdecd8c57e032646a8e389b6919735b11525d36f11aee SHA512 927cdfd6f6664c86efc860cabc36c267e0caa53665211cbc990a24a07c0a9a4aa69cf8480ca82fddb2980cf187c6b013ae473a7b5633db05678f930924194a1c +EBUILD haxe-4.3.5.ebuild 1351 BLAKE2B 2e7d177143ac025bfad3783c9cda86fb148f212acdc0ea1e8dbc2378c14c4a2755ec05b37d9db2d5c8413258c2c5a03486384d208c0bff1635308d3f5e807851 SHA512 88cf0f7303dbf37d8550ed24e1887e422c47296ef75d2ce068f6fc7e1d820b38e11c9555ae29a673d347705a382d26dd590e72dd8aa4769559e6d87d90393902 +EBUILD haxe-4.3.6.ebuild 1351 BLAKE2B 2e7d177143ac025bfad3783c9cda86fb148f212acdc0ea1e8dbc2378c14c4a2755ec05b37d9db2d5c8413258c2c5a03486384d208c0bff1635308d3f5e807851 SHA512 88cf0f7303dbf37d8550ed24e1887e422c47296ef75d2ce068f6fc7e1d820b38e11c9555ae29a673d347705a382d26dd590e72dd8aa4769559e6d87d90393902 MISC metadata.xml 733 BLAKE2B 293f296fd51f93d0834ba3f9ad2815161313f2ee7fcc5ebb68f20090e76fd67b4845114c4c78959cd13d64146e9221d001e0be76b65323d1d5b3cf934085a1ec SHA512 6dd648666a0916f27edc70e637e426e03790d4fd50a43fd2696b62c69cdf0f8b1c831fd8dca03db844209a0a23952c5dc1bc1b929b42928f6608288f470f8399 diff --git a/dev-lang/haxe/haxe-4.3.4.ebuild b/dev-lang/haxe/haxe-4.3.4.ebuild index 776b27a6ebe6..71558710fc5d 100644 --- a/dev-lang/haxe/haxe-4.3.4.ebuild +++ b/dev-lang/haxe/haxe-4.3.4.ebuild @@ -12,7 +12,7 @@ if [[ "${PV}" == *9999* ]] ; then EGIT_REPO_URI="https://github.com/HaxeFoundation/haxe.git" else - # Haxe-debian is a distribution variant then contains the required git modules. + # Haxe-debian is a distribution variant that contains the required git modules. SRC_URI="https://github.com/HaxeFoundation/haxe-debian/archive/upstream/${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/haxe-debian-upstream-${PV}" diff --git a/dev-lang/haxe/haxe-4.3.3.ebuild b/dev-lang/haxe/haxe-4.3.5.ebuild index c0dfcd532325..b922a3ab9e47 100644 --- a/dev-lang/haxe/haxe-4.3.3.ebuild +++ b/dev-lang/haxe/haxe-4.3.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,10 +12,10 @@ if [[ "${PV}" == *9999* ]] ; then EGIT_REPO_URI="https://github.com/HaxeFoundation/haxe.git" else - # Haxe-debian already contains correct git modules + # Haxe-debian is a distribution variant that contains the required git modules. SRC_URI="https://github.com/HaxeFoundation/haxe-debian/archive/upstream/${PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/haxe-debian-upstream-${PV}" + S="${WORKDIR}/haxe-debian-upstream" KEYWORDS="~amd64" fi @@ -58,10 +58,10 @@ src_configure() { src_compile() { emake -j1 BRANCH="" COMMIT_DATE="" COMMIT_SHA="" \ - OCAMLOPT="${OCAMLOPT}" INSTALL_DIR=/usr + OCAMLOPT="${OCAMLOPT}" INSTALL_DIR="/usr" } src_install() { - emake DESTDIR="${D}" INSTALL_DIR=/usr install + emake DESTDIR="${D}" INSTALL_DIR="/usr" install dodoc *.md } diff --git a/dev-lang/haxe/haxe-4.3.6.ebuild b/dev-lang/haxe/haxe-4.3.6.ebuild new file mode 100644 index 000000000000..b922a3ab9e47 --- /dev/null +++ b/dev-lang/haxe/haxe-4.3.6.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Multi-target universal programming language" +HOMEPAGE="https://haxe.org/ + https://github.com/HaxeFoundation/haxe/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/HaxeFoundation/haxe.git" +else + # Haxe-debian is a distribution variant that contains the required git modules. + SRC_URI="https://github.com/HaxeFoundation/haxe-debian/archive/upstream/${PV}.tar.gz + -> ${P}.tar.gz" + S="${WORKDIR}/haxe-debian-upstream" + + KEYWORDS="~amd64" +fi + +LICENSE="GPL-2+ MIT" +SLOT="0/${PV}" +IUSE="+ocamlopt" +RESTRICT="strip" + +RDEPEND=" + >=dev-lang/ocaml-4:=[ocamlopt?] + >=dev-ml/luv-0.5.12:= + dev-ml/extlib:= + dev-ml/ocaml-sha:= + dev-ml/ptmap:= + dev-ml/sedlex:= + dev-ml/xml-light:= + + dev-lang/neko:= + dev-libs/boehm-gc:= + dev-libs/libpcre:= + net-libs/mbedtls:= + sys-libs/zlib:= +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + dev-ml/camlp5 + dev-ml/dune + dev-ml/findlib +" + +QA_FLAGS_IGNORED="usr/bin/haxelib" +QA_PRESTRIPPED="usr/bin/haxelib" + +src_configure() { + export OCAMLOPT="$(usex ocamlopt ocamlopt.opt ocamlopt)" +} + +src_compile() { + emake -j1 BRANCH="" COMMIT_DATE="" COMMIT_SHA="" \ + OCAMLOPT="${OCAMLOPT}" INSTALL_DIR="/usr" +} + +src_install() { + emake DESTDIR="${D}" INSTALL_DIR="/usr" install + dodoc *.md +} diff --git a/dev-lang/interprolog/Manifest b/dev-lang/interprolog/Manifest index 14e3a8b87312..3971f430071b 100644 --- a/dev-lang/interprolog/Manifest +++ b/dev-lang/interprolog/Manifest @@ -1,6 +1,5 @@ AUX interprolog-2.1.2-java1.4.patch 1341 BLAKE2B b1c02e38f990d8f693a274cb258b18151e5b5d93a8670ae40d2d0b29b25c8ee86c749463b880166d759509331c9bd58d57286f9c62b36ba53673291129d27a09 SHA512 cfd4a637e4d86172547448801c92decfa3f10fa7d02e007c42d8415901d742ecbdf1fca1e4034c7069885a06824f1577bc64f2454a2c31877af68e74ad3aa0d2 AUX interprolog-2.1.2-java17.patch 793 BLAKE2B d1f501918b153ce840887c4b697783a2a5ddd4fece70148c88d761d04891aa5710c3a33c5c14eb22b787ddedb52e852991bac80f3dd9fbe1a3764521d5336cba SHA512 26dc6ebaf903374da09af41b452a7a47af5fbf17d763d837603d5bdd628408b3d7adfddbad375a22f37ffddf66626336c3eac82c36acc0eb2942f07836291d0c DIST interprolog212.zip 1066931 BLAKE2B ea2666ff756c30db35262137938c32ee98d8a145ce59ea3b8694328771b8925395f7643ecabf9e0c010515176fdbbedcd333a81003a09c0ae1d9c1a94215e095 SHA512 e3d8b216f7e76d5d95ad9d27a96720075575fd717c89ddf9403376a72e18d56fd68afa2b1e6e70da55b99cd84043a16695ff37a59ec3366115cd4c36ed1ff50c -EBUILD interprolog-2.1.2-r2.ebuild 1122 BLAKE2B 2a5eed55438be7d9942782f4382420077e3f3276c557ecd33c9fc8ab2a20aa73811c68c21c1a3c31209a686f2da7af5dfb2dea423aba1fdc44b2ec48cd3fded2 SHA512 8f722f7031d8eb994dfdfc05309e14ac0e9c2b0a6610bf48d19b9c1d2dab2d80ced5a3d5a19928f4afedc0ab4bddaee27f92b1741d24e293d4057e3254443021 -EBUILD interprolog-2.1.2-r3.ebuild 1125 BLAKE2B 6f80065e7e1983a9c13b90b1650216d712ef028f85a6a700f5772a207f6418d991f6f17e8f4cf077fc52abcb5bf492a1e379013aaa633fa004f6e4f43f57c4bd SHA512 5f49176b5dd9149fcf591196faaa5e3e02627dfe54dd91588ee6e86502a9bf6e2b829a981aa0c412d9e029aed3f16d597802b20b396b215989dc821203af6ac7 +EBUILD interprolog-2.1.2-r3.ebuild 1119 BLAKE2B 043098c51dcdf8af6d2a71048c1f35e0a3da4e10f979621cf5625678479056531fd57830a60a9d81183a0ad9dbda43ecaeb41eaccc854a72972afb6122a56dfe SHA512 178510dbc1d281ecbe1aeff293858bb8b2e0821b23f3e7150649579d9fa4fc47fec7db59ca7a2428d752976201d0cbab5297ff51978f6b2f8f181fa22e2e3e07 MISC metadata.xml 237 BLAKE2B d4347f2b84f6246e0bf64c19548b9bf8ad5094bf392fabb2b5add3bdb2af1e866aa34f67d4dad5fd6595daa79233456e962684b4d062bdc7be1f4ee1ef92d3ee SHA512 525172b6046cff15248158e173c764b9294cf0a8220914ef6b46ca4f15fdb79caca8089cb04ac0b1ca56e2496dc84d1f933b2d56e806007883cbc914a1a4eca5 diff --git a/dev-lang/interprolog/interprolog-2.1.2-r2.ebuild b/dev-lang/interprolog/interprolog-2.1.2-r2.ebuild deleted file mode 100644 index 9c7632350f8b..000000000000 --- a/dev-lang/interprolog/interprolog-2.1.2-r2.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit java-pkg-2 java-ant-2 - -MY_P="${PN}$(ver_rs 1- '')" - -DESCRIPTION="InterProlog is a Java front-end and enhancement for Prolog" -HOMEPAGE="https://declarativa.com/InterProlog/" -SRC_URI="https://declarativa.com/InterProlog/${MY_P}.zip" - -LICENSE="LGPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="doc" - -RDEPEND=">=virtual/jdk-1.8:* - dev-java/junit:0" - -DEPEND="${RDEPEND} - app-arch/unzip - >=dev-java/ant-1.10.14-r3:0 - || ( - dev-lang/xsb - dev-lang/swi-prolog - dev-lang/yap )" - -S="${WORKDIR}"/${MY_P} - -EANT_GENTOO_CLASSPATH="junit" - -src_prepare() { - eapply "${FILESDIR}"/${P}-java1.4.patch - eapply "${FILESDIR}"/${P}-java17.patch - eapply_user - - cp "${FILESDIR}"/build.xml "${S}" || die - mkdir "${S}"/src - mv "${S}"/com "${S}"/src - rm interprolog.jar junit.jar -} - -src_compile() { - java-pkg_jar-from junit - eant jar $(use_doc) -} - -src_install() { - java-pkg_dojar dist/${PN}.jar - - if use doc ; then - java-pkg_dohtml -r docs/* - dodoc INSTALL.htm faq.htm prologAPI.htm - dodoc -r images - dodoc PaperEPIA01.doc - fi -} diff --git a/dev-lang/interprolog/interprolog-2.1.2-r3.ebuild b/dev-lang/interprolog/interprolog-2.1.2-r3.ebuild index f53ed5917e12..67d410cd21e2 100644 --- a/dev-lang/interprolog/interprolog-2.1.2-r3.ebuild +++ b/dev-lang/interprolog/interprolog-2.1.2-r3.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}"/${MY_P} LICENSE="LGPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64" BDEPEND="app-arch/unzip" diff --git a/dev-lang/jint/Manifest b/dev-lang/jint/Manifest index 276de5ea5ba3..30827d9013e7 100644 --- a/dev-lang/jint/Manifest +++ b/dev-lang/jint/Manifest @@ -240,5 +240,5 @@ DIST zio.0.17.0.nupkg 335432 BLAKE2B 286e7a38be2ca5803db0af388eb445ed2ab54d4c4f3 DIST zstring.2.4.4.nupkg 136907 BLAKE2B 651ce26395f16eaeff89faa54156e19dc6110821f1e303b8850e8c66fd7b1cd88843959f82f4a12c3b50a39f2b8b6aa264dc5036c74f82f8411a02ed5cca603c SHA512 6ce8bcdab38bc33aee80f3924fc8b34e83f761b835802d9aeb53ddf23f6299115c9f8c7e28212e40b16439bbb975485c97f84005f44708f00b55a3e0afe83418 DIST zstring.2.5.1.nupkg 308844 BLAKE2B 9f7c504edffcd29cbe8b0e9146d2f63d6c1974a96de7fe4b929011bde99b1d02cb97c4c55a9a84fe7c560146994b792eb3eed5883cb046928522c1cc05664707 SHA512 3e2a6a5ef52291936053ee5ecb4ed009ce6783b44f2ee0eb5ba13a15d404c112658576242a77503f58ae95b95903fa5e396731f3c1463163fe446889376538c8 EBUILD jint-3.0.0_beta2051.ebuild 8376 BLAKE2B 8f7b997d47936badecee1324d58b7f0d288467eb5aab8080ea3514e373d1b3f5def71b8691ae9860bfec60ec26bec60da2cb0d0bfea283b8de34a31fe3060c76 SHA512 c72ff85942a695391dfcc5bf50feb7b5b4d885cf8cf9e92d90e7b71a83a93a87808373a60c0714cc81fb362707d4f03b2c52d9d01185a9b80b07769d30ac5e6d -EBUILD jint-3.1.2.ebuild 4873 BLAKE2B cbd5b9919128039f4b47f784e131ef66c0e666b3cab1b448f2b440bcfcc53a8ad2b8fe5da5f63ad3b1a4100f588e1acca389cced2d451d010b2ec78f429f0989 SHA512 d0458b7108dc35a012942018f4986f814420db28b00be270f2f313952882d5074afbd7cfe94ddc1a3bd015cb6eb0dc6e729647cbdf19bbc623289f713db82808 +EBUILD jint-3.1.2.ebuild 5049 BLAKE2B 870fc4e84b375f00001d41f13848c700022e3e705f003752785f0cecd4a580980c04c075075a78253ad66fee945eb62abaf3d68ac89c68a90f99ab4cfb1c8f3e SHA512 1a04976a55ce497e421cad421b8c644f783c34bd7a9b6467576634e3a5213cb74ddf953ce3936371c7b3b98e24086cb3af9e640ec66682f0c6d085a446c6d1e3 MISC metadata.xml 594 BLAKE2B fdf520219d0c6a8f2b2c497f17f3cd09bf56135d4338bed3e154b4661d54cbe793127f260a4d440e495603544bfc3c39ad54fb65996360eb512b791e4a90014f SHA512 0edf6ed324f9a9efc811bd3992ef5d6beebcc32ea4e9c320e15c60321dd177db39bcca60f372ebf165677534cc010f14616fab0c6c13cd07818cc72b0e88525f diff --git a/dev-lang/jint/jint-3.1.2.ebuild b/dev-lang/jint/jint-3.1.2.ebuild index 50ce529b01fc..c48e169e3f5e 100644 --- a/dev-lang/jint/jint-3.1.2.ebuild +++ b/dev-lang/jint/jint-3.1.2.ebuild @@ -143,7 +143,7 @@ else SRC_URI="https://github.com/sebastienros/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" + KEYWORDS="amd64" fi SRC_URI+=" ${NUGET_URIS} " @@ -164,6 +164,13 @@ pkg_setup() { dotnet-pkg_pkg_setup } +src_prepare() { + dotnet-pkg_src_prepare + + # Those files do not exist on musl. See bug https://bugs.gentoo.org/935450 + rm Jint.Tests.PublicInterface/TimeSystemTests.cs || die +} + src_install() { dotnet-pkg-base_install dotnet-pkg-base_dolauncher "/usr/share/${P}/Jint.Repl" "${PN}" diff --git a/dev-lang/jwasm/Manifest b/dev-lang/jwasm/Manifest index cbab8bb00264..40f93d17d09d 100644 --- a/dev-lang/jwasm/Manifest +++ b/dev-lang/jwasm/Manifest @@ -1,5 +1,9 @@ AUX jwasm-2.11-types-test.patch 1761 BLAKE2B b719bb79504e708925bfa407e72df7a37044b834bc3118fa9baf1a0cb478a0ab852872147148462188324954ef958af30cbcbca28fc992660276a15100ecb1b6 SHA512 0a4f3e613c8e724939ce9e23f8f4ce10ca89bf6c1579929719b3ccad62ac66cceecc3f8799c20c2875b7d4dcc7390bf0e4ca64aa08aab0b39bd7a4ab381b150b +AUX jwasm-2.18-makefile-dep-fix.patch 280 BLAKE2B fe4abbede4922a66adcde0296c5d2421cefc4d4c387f000b7fc0f675bc980c6f51a57aaad52b243adb88a64063c6e63e5da4b937bf7baa589b7ee98473520917 SHA512 95ac9ce92ff9ce10771f304a029073da8be48f81c5f81a269c1785a6a94e9228c9fb348750a624b969aeefe687d5ab1416967f470b762cc26719acbe2a9a8f3b +AUX jwasm-2.18-types-test.patch 1471 BLAKE2B 87c696bc22e8fb9584be5e6fde14dfaa9bf62e4e74ad2d4d542e07ac08be4591ecc920553d5b516d12518c7b35d626ef8121e0e8cd2c03e20a6ccb027e5f42b8 SHA512 ac7af52f85ebf430722d731518a6f8660369feff6d1318590c436b1080a0785b1a73e166235752e3b6631f86a9e19e8e7da76f628d2ba918bdae14db535df270 AUX makefile-dep-fix.patch 497 BLAKE2B d0fc87c0aff19689efa2440c7d90d3f0d7c80310e40dad6f4dd938e139d5458b5e4ae72153cb38242ae683c887ce085494f358e3f67c2be028adeadf176403ac SHA512 29526a14d7a6bc775d6cd590b1c75a864eb04c365de736e93c810d715760ac4d76b6691f05f9077adec9c6938aefa8637d6efd9db67c81752e604308fffd64e6 DIST jwasm-2.13.tar.gz 578365 BLAKE2B 8c6fbe3e6cb56c0fe8135c30c629534d2b6e2a2ed534249834e0e2674bf6635cb15ab94d4fa05c5378cb0db8569ddc3ba49d2d7c9615b7ddb769cba1a2d5b715 SHA512 03f80f4a74b39c6093f5cd5334364f7458836a52ad01279c95683e7053cb4211c40235e16f6f2ee40bc7316dcd8a4fbcb57bf3606d31249d96d01933a8aa0563 -EBUILD jwasm-2.13.ebuild 771 BLAKE2B 249ed2462c3eddafd5e78580a41d3837d9187481272007ec100d4e514866743de09888ee1dcee89adadfc4a3f773bc8d3cbcfdd59606ea5ecaa63158b9c678f1 SHA512 ce900c45292c5cbcec98a1c4f357005b40b59fba8e50ae961a72383f00dac0a920a8dc70f38e070b1038b47142f1eab9f65ef8ad1422053e7a5c1b1257fc08c2 -MISC metadata.xml 294 BLAKE2B 27e182db85c289075151811df775761aa9d9ed661474dcc710e084d3c325924d88b1c57389554a65383de3acf15ec4cce9a18e8cbffdd2a9230212279dad9174 SHA512 ef96dd7f6948e978281b5259ff6392aa72c90a672f4eef3394feece7e6c39c1ab96b42b8a2bbc3645dcb0d036778ac83055c9b76656f8d03f0a27dbf60084a0c +DIST jwasm-2.18.tar.gz 1169949 BLAKE2B 2a5d6c37f27dd5193390a5b5ab7d7ec260a800ead132dda4a49b16b5ae43b53ef397b663166767c8f4ce2de69dd9fa61e59e0537d837ba85da38cb17aa0da6e0 SHA512 f5ca9d2ec80b979e2acec7246861e13e11717917f59df126f28339e3c1ded3405c8a93daaef6ee817bc217d593151010bf18c85c9fc03600ff70cb18e793309c +EBUILD jwasm-2.13.ebuild 770 BLAKE2B 33703e3a7a239568439286ca9f05dc33c679bd70f7255047295cd8e883a7207efa53c5ee484e74687469ca86e743453b679e5eb35a423b46666dfbd1b2f64d5d SHA512 238fceaf1b4f2f5d27345ee462a7e174a4a345d609173d6a6202c346544482277a1e579a133f4096af419ecb94108d7496ea5e261d3f13c13e8f1ca279598445 +EBUILD jwasm-2.18.ebuild 796 BLAKE2B e284f0def853b7c31fea11dee8a7256765a958d1a0b805ec2b267ab247f0cce2fa0e4acb3d4a8b680eb83e4468efc256f35378e136093501c389e3160187c30d SHA512 baa339ca4a4a7cd43cba7da462d43fd14deec4e9df5dc2e897312cc017c5e13336e25bfcef322f4896188074370a4e88d1ce0ac6f2408f95092cbc03d53a3acb +MISC metadata.xml 307 BLAKE2B c7eb2546ed5af50a82d536311203f569ef0d7450c7b3a40cf342ede488b4b1cf5bff66a3b54e0eb9c201e3468f1f76756a88f989a60ed9d528f3d5124abd302e SHA512 6f5dfb2ca18c019747390572a642bc7172a98ef80b9a099bbe08b561713e81c025eb8b14c391465ea2678dc0e00fc7bcda4d367ae8d27cfb65f7893f129cc907 diff --git a/dev-lang/jwasm/files/jwasm-2.18-makefile-dep-fix.patch b/dev-lang/jwasm/files/jwasm-2.18-makefile-dep-fix.patch new file mode 100644 index 000000000000..277216cf18ef --- /dev/null +++ b/dev-lang/jwasm/files/jwasm-2.18-makefile-dep-fix.patch @@ -0,0 +1,11 @@ +--- a/GccUnix.mak ++++ b/GccUnix.mak +@@ -30,7 +30,7 @@ include gccmod.inc + + #.c.o: + # $(CC) -c $(inc_dirs) $(c_flags) -o $(OUTD)/$*.o $< +-$(OUTD)/%.o: src/%.c ++$(OUTD)/%.o: src/%.c | $(OUTD) + $(CC) -c $(inc_dirs) $(c_flags) -o $(OUTD)/$*.o $< + + all: $(OUTD) $(OUTD)/$(TARGET1) diff --git a/dev-lang/jwasm/files/jwasm-2.18-types-test.patch b/dev-lang/jwasm/files/jwasm-2.18-types-test.patch new file mode 100644 index 000000000000..37b35208e96f --- /dev/null +++ b/dev-lang/jwasm/files/jwasm-2.18-types-test.patch @@ -0,0 +1,47 @@ +From b19339d4356efbd9b49f73e67ed7c09b9dad4b75 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyfox@gentoo.org> +Date: Thu, 16 May 2013 12:24:17 +0300 +Subject: [PATCH 1/2] types: add sanity tests for used sizes + +Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> +--- a/gccmod.inc ++++ b/gccmod.inc +@@ -6,6 +6,7 @@ $(OUTD)/atofloat.o \ + $(OUTD)/backptch.o \
+ $(OUTD)/bin.o \
+ $(OUTD)/branch.o \
++$(OUTD)/checks.o \
+ $(OUTD)/cmdline.o \
+ $(OUTD)/codegen.o \
+ $(OUTD)/coff.o \
+--- /dev/null ++++ b/src/checks.c +@@ -0,0 +1,26 @@ ++/****************************************************************************
++*
++* This code is Public Domain.
++*
++* ========================================================================
++*
++* Description: make sure "inttype.h" filelds are of the desired size.
++*
++****************************************************************************/
++
++#include "inttype.h"
++ ++/* fails to compile if type sizes are of unexpected size */ ++static void validate_inttype_sizes() ++{ ++/* try to create */ ++#define T_IS_SIZE(__type, __expected_size, __test_name) \ ++ char __test_name[2 * (sizeof (__type) == (__expected_size)) - 1]; ++ ++ T_IS_SIZE(uint_8, 1, size_of_uint_8_must_be_1_byte); ++ T_IS_SIZE(uint_16, 2, size_of_uint_16_must_be_2_bytes); ++ T_IS_SIZE(uint_32, 4, size_of_uint_32_must_be_4_bytes); ++ T_IS_SIZE(uint_64, 8, size_of_uint_64_must_be_8_bytes); ++ ++#undef T_IS_SIZE ++} +-- +1.8.2.1 diff --git a/dev-lang/jwasm/jwasm-2.13.ebuild b/dev-lang/jwasm/jwasm-2.13.ebuild index 0242aa2b604c..2cac391deb8d 100644 --- a/dev-lang/jwasm/jwasm-2.13.ebuild +++ b/dev-lang/jwasm/jwasm-2.13.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/JWasm/JWasm/archive/${PV}.tar.gz -> ${P}.tar.gz" LICENSE="Watcom-1.0" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 ~x86" RDEPEND="" DEPEND="" diff --git a/dev-lang/jwasm/jwasm-2.18.ebuild b/dev-lang/jwasm/jwasm-2.18.ebuild new file mode 100644 index 000000000000..f583e3ffd328 --- /dev/null +++ b/dev-lang/jwasm/jwasm-2.18.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="MASM-compatible TASM-similar assembler (fork of Wasm)" +HOMEPAGE="https://github.com/Baron-von-Riedesel/JWasm" +SRC_URI="https://github.com/Baron-von-Riedesel/JWasm/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/JWasm-${PV}" + +LICENSE="Watcom-1.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +PATCHES=( + "${FILESDIR}"/${PN}-2.18-types-test.patch + "${FILESDIR}"/${PN}-2.18-makefile-dep-fix.patch +) + +src_prepare() { + default + + # don't strip binary + sed -i GccUnix.mak -e 's/ -s / /g' || die +} + +src_compile() { + emake -f GccUnix.mak CC="$(tc-getCC) ${CFLAGS} ${LDFLAGS}" +} + +src_install() { + dobin build/GccUnixR/jwasm + dodoc -r README.md History.txt Html/ +} diff --git a/dev-lang/jwasm/metadata.xml b/dev-lang/jwasm/metadata.xml index 28db5ef5b1ca..1c0ee30d49c1 100644 --- a/dev-lang/jwasm/metadata.xml +++ b/dev-lang/jwasm/metadata.xml @@ -4,6 +4,6 @@ <!-- maintainer-needed --> <upstream> <remote-id type="sourceforge">jwasm</remote-id> - <remote-id type="github">JWasm/JWasm</remote-id> + <remote-id type="github">Baron-von-Riedesel/JWasm</remote-id> </upstream> </pkgmetadata> diff --git a/dev-lang/kotlin-bin/Manifest b/dev-lang/kotlin-bin/Manifest index 8456f3854701..64006c233a8d 100644 --- a/dev-lang/kotlin-bin/Manifest +++ b/dev-lang/kotlin-bin/Manifest @@ -1,5 +1,5 @@ -DIST kotlin-compiler-1.9.24.zip 91056044 BLAKE2B b872635e83b334cf4b8ee6f2aad5f4d1cf44594848c02a027fd3f7adcffb6d05232e66658ed8e6e234c2ea0996728338f6fdd46628ccfeddeeb5f3b330307340 SHA512 cc6f3cd141faed849f0c8b11b4473f30211d242001292eecc1a0927151034afd892840289457cef6fc8a201dacf157fdb5782cf0a96d27bfa2b3693fac118a84 DIST kotlin-compiler-2.0.0.zip 83767523 BLAKE2B 4627ec2ccf0751baee141a980f14bace98a96b4f826b72f001dc2e27afe1fa60b3967e533e775f7dd81a5e682670cd38c02378884a2d543caca050aee519e765 SHA512 ca723146188a60a995089d4b06bb23c83bfb2dbaabbbad632921601babbccddf4e3f0519692018480b7a0a7a1d0ce3002dcb6f4a445dc2dfa2a2b8f4e39364c7 -EBUILD kotlin-bin-1.9.24.ebuild 1005 BLAKE2B 0c2efbc96602feaa82e87463c19ab244d44bd7b9596177346ae08331d37a53e1f033f41cc0ee557e7b806997a1d553b8e33eb8abd69bd8552db316053276d21f SHA512 c96c829a4c8f21ed7a82de4af30756806d27f72394242115a1cc34fa755f93f1d1cd7a42abfc6bb40ab3c4209ea6428464ccc9a32aadb16e077f132194abb085 +DIST kotlin-compiler-2.0.10.zip 83745882 BLAKE2B acd359e348fdb8fbb339a2fcd5fedb165990cc366f0c717644360267aa161e96b8813e0569a0ebc8f2d5de65f25c780c733b6b50c14e8b943344c31a492f0534 SHA512 ba0eac447eb62726604fe9f0d563b1fa8d23001f3ed6053954269e3f342886533a1fa2a8fc4d8f1e7aaae7b94db96a72f195f2b886eb7a50d1e6c25ac80ba106 EBUILD kotlin-bin-2.0.0.ebuild 1005 BLAKE2B 0c2efbc96602feaa82e87463c19ab244d44bd7b9596177346ae08331d37a53e1f033f41cc0ee557e7b806997a1d553b8e33eb8abd69bd8552db316053276d21f SHA512 c96c829a4c8f21ed7a82de4af30756806d27f72394242115a1cc34fa755f93f1d1cd7a42abfc6bb40ab3c4209ea6428464ccc9a32aadb16e077f132194abb085 +EBUILD kotlin-bin-2.0.10.ebuild 1005 BLAKE2B 0c2efbc96602feaa82e87463c19ab244d44bd7b9596177346ae08331d37a53e1f033f41cc0ee557e7b806997a1d553b8e33eb8abd69bd8552db316053276d21f SHA512 c96c829a4c8f21ed7a82de4af30756806d27f72394242115a1cc34fa755f93f1d1cd7a42abfc6bb40ab3c4209ea6428464ccc9a32aadb16e077f132194abb085 MISC metadata.xml 696 BLAKE2B 5ff5c3681ab7e083f1a2ea607b183c279c50a022eea2237bfc705d67b8e3ddac7d61fdb1774ac2d6214e03d61d0fb03367cd399734a4b537dcf53a3d8cb14de1 SHA512 44186263fa0709e3d4fadd54cc80e1063d215f908855be9476062259387ec9d968f35bfe8da6fbc716be22a53212630676157fd08fbebd67c20dc4a4485b5a44 diff --git a/dev-lang/kotlin-bin/kotlin-bin-1.9.24.ebuild b/dev-lang/kotlin-bin/kotlin-bin-2.0.10.ebuild index 7e3629cfadfc..7e3629cfadfc 100644 --- a/dev-lang/kotlin-bin/kotlin-bin-1.9.24.ebuild +++ b/dev-lang/kotlin-bin/kotlin-bin-2.0.10.ebuild diff --git a/dev-lang/luajit/Manifest b/dev-lang/luajit/Manifest index 84573115a434..41da15d2d217 100644 --- a/dev-lang/luajit/Manifest +++ b/dev-lang/luajit/Manifest @@ -3,5 +3,5 @@ DIST luajit-2.1.0_beta3_p20220613.tar.gz 1074088 BLAKE2B dbcfd4efcffb9b659a85af7 DIST luajit-2.1.1716656478.tar.gz 1081717 BLAKE2B 42807910aa81e705ff39c382e98e479d46d31453fd6fc1857220c7d4cb66d0801e2ffd813ea3c55ab2bcde8e64275d0fec2044514d7b0ef5287714ec8061bf7a SHA512 6b00d37a33f0bafbd953569ef035546a97237a53cfb718d8aecca7e9c7afe5e4706e4a53e40b9afb8720adc8eee044d8d75b8ea6cdc50d2c3f8461d79bb73b26 EBUILD luajit-2.1.0_beta3_p20220127-r2.ebuild 1897 BLAKE2B e36a17eef5bc699c2dee1a73fbd7b3bd9c9a8beab48d6ad35a1fc9b6c05ac251726adeff6bb7914cdae8449056f7c23700885bcd8b8ae3f3a80635957ae86d39 SHA512 2b5d6ea075711e38789774c84a5989be2554a0b1ef0423a92368e24b1bd904731ed097a4be609e5912f5b67432b0f5baf5935e625e0a754863e6aac0c4a00aa1 EBUILD luajit-2.1.0_beta3_p20220613.ebuild 2532 BLAKE2B 63ad1f6706340f3ddffd488eaf7250d8933a7ed7e27196e1d8081d32eb123ab4fbebfbe357a3737918660709b775b4e0c5511986cb0e02e06d78edabb20f3dd2 SHA512 43658155a3f05a211c840d2db034c331b445578295dd583158e60b88b3aba317ee23055de65bfb4011e1e62596330b3870aa52dacf4a317b7eb25bcc76bdbf9b -EBUILD luajit-2.1.1716656478.ebuild 1770 BLAKE2B 4489731203481342f21a2daa19b60d6faf38e7e271b6bff699800148a656b3160fa3fb7d1eb8d00a3100c9f9ad130e815498b3c9ca65de0c21403695f6b28c3f SHA512 ce2e71c95243fce3138f8779839382718ec42fe6fe931fd952f3539aed11a3550d708070b143b0c09a0ec15a25ae6fed93546f75e2a73c137caa31e3dbcb66b5 -MISC metadata.xml 503 BLAKE2B 022372116d4d149a11fc0f3b0760f0fad126f435e075f3b514ab03657b0ff9eeb5c56148f9d1d1d114d34dee35d2c62f2fdad664d050976125d3681757fec3b3 SHA512 a6ede683b1a983e1bd8d2a1972339c8650e3ac87083961bc2f4550314231fb630e12a1a9966178b1486f73734da759ea49970618f72b97bcb7a4fe8c41e77729 +EBUILD luajit-2.1.1716656478.ebuild 1765 BLAKE2B 1e2960f12069fce84b46b1f06cc1129bd35c13e25ca3d9de5e1ccaed92ee0e827574c8f96faee5c32da1a2e3cd7335b94417ddcf0f299b4f1223b25bc98d3465 SHA512 3ed141f3339ba892fb2598b3c8d3f86760dfb5ea1c6efbf996cad9cb202faa9f5613426c5bf4dcfe741cf3b13f63bbf76bf651333eab414f4852a0622f629f64 +MISC metadata.xml 388 BLAKE2B 5ad0235b40c728e82abd26949ac5c1ac1a8b68a4ea12365c5c443852bc42b9268e6233eaec638511bc34f45c2b2624a93ade9e23569a686d1613a099ee31bbcb SHA512 079a19dcea25726ef9ac61c8ac4f564fe67dc5760202ec6f7f57fba32b6a96901a52637b4f87fb75825bed908b07fc91f6f0bce790c9642392dc017ddfed435d diff --git a/dev-lang/luajit/luajit-2.1.1716656478.ebuild b/dev-lang/luajit/luajit-2.1.1716656478.ebuild index 9d52ad0cb632..e017c77d2323 100644 --- a/dev-lang/luajit/luajit-2.1.1716656478.ebuild +++ b/dev-lang/luajit/luajit-2.1.1716656478.ebuild @@ -23,7 +23,7 @@ S="${WORKDIR}/LuaJIT-${GIT_COMMIT}" LICENSE="MIT" # this should probably be pkgmoved to 2.0 for sake of consistency. SLOT="2/${PV}" -KEYWORDS="~amd64 ~arm ~arm64 -hppa ~mips ~ppc -riscv -sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 arm arm64 -hppa ~mips ppc -riscv -sparc x86 ~amd64-linux ~x86-linux" IUSE="lua52compat static-libs" _emake() { diff --git a/dev-lang/luajit/metadata.xml b/dev-lang/luajit/metadata.xml index 6a8f2a1c704f..edeaec8f16f2 100644 --- a/dev-lang/luajit/metadata.xml +++ b/dev-lang/luajit/metadata.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>williamh@gentoo.org</email> - <name>William Hubbs</name> - </maintainer> <use> <flag name="lua52compat"> Enable some upwards-compatible features diff --git a/dev-lang/luau/Manifest b/dev-lang/luau/Manifest index 549295a0a50a..927796e138f3 100644 --- a/dev-lang/luau/Manifest +++ b/dev-lang/luau/Manifest @@ -1,7 +1,11 @@ -DIST luau-0.618.tar.gz 1672989 BLAKE2B ecd166a9562aa103d27e29154687548bce04e45c9810b4aa264fe6eb38e3c2077a9cd4c61f138af62c605580c477b382fd2612616a3638a5a708c3d315011a12 SHA512 9fb6aa39ff2ad92a90afefb77ede472a2fb8a99417a669a1e19774a5550ca79709c034f353b459780f07f406dcac1b83639fb4fcd31215d811df491851fc1a6c -DIST luau-0.630.tar.gz 1736333 BLAKE2B 205d5575b97007108ebf197ff1bfd9d94c3c3f116ba2c1f8068ef9762b30e211973d5da458f261223647fc725bad926fa9406070d95220d390b9e5ecaabf75af SHA512 9f8290a11abe5e9c91eaf5c9c71b940d4ca2bd6a730a2fc6e9cb830e9f7bf6d87a29cb8e71268ed1fe5af0e01738e7e15fbe2a14d81c32e7c76961d146c1128c DIST luau-0.632.tar.gz 1740751 BLAKE2B e6a6da0dd8b599d0c77d01976e58239234deb9ff577d20cc77017e90731b254d5b516032c7927d0dc6d52047259e0715fdbe2c4e888cca775aa0303da9d52e87 SHA512 1fa204965ceea94a96dd879431d10ab33de16ab2d8ebb2d73d866d213246acb2ae9aad0126511c7f4b3a965c115bf3e68d7069b021718d784170acadb20cf645 -EBUILD luau-0.618.ebuild 776 BLAKE2B 6ddab7faf06aab3a3d4f04b8945074e342458df741b3e37e6555b9ebdc019db26541bb75080028292bc233520b58f23d50a872e31e0c7f5a3f3ed0ab092dab9b SHA512 147029f8a5c01e58b390efc9c961cb323ea089b39907f15b6830999b0fc1c90adaddf7a4da86aa6fc8caa51719fda2c034504485b50bd95bb793870c9694651c -EBUILD luau-0.630.ebuild 777 BLAKE2B c5f16047056f2cfe0a8d1b4373f41b27a6929fe0a789cfee41cb9199921cc3eadf1c67296624bf9a831884f062e4acc6caa988c15fb45b3079b7736cf9a2dff4 SHA512 64d8b22353719b73411b324aac8d18beb584605c935fa6b4a3e01839d625c4f51265ed042489ca486bf8d07d54d3f41759128cb77e43fe6bcb601afef4ed3a99 -EBUILD luau-0.632.ebuild 777 BLAKE2B c5f16047056f2cfe0a8d1b4373f41b27a6929fe0a789cfee41cb9199921cc3eadf1c67296624bf9a831884f062e4acc6caa988c15fb45b3079b7736cf9a2dff4 SHA512 64d8b22353719b73411b324aac8d18beb584605c935fa6b4a3e01839d625c4f51265ed042489ca486bf8d07d54d3f41759128cb77e43fe6bcb601afef4ed3a99 +DIST luau-0.634.tar.gz 1741026 BLAKE2B ec61c08b8165aca085f9743deee620c2dfb289e59a2c7aa9bb5dd441eaab8a6bfd38eb9295192ace96558e2f209e47752eb7405e9a5c7c645d21694569a0ce7c SHA512 a58e1c1a0eb56d0bd9d656e0420735fa30b58283c4c9f704404db5a51b66361a3ffa98600e6b6d68a6b9e30ccf0879ad43935f9d73295c06ab947dcd2c4d2ac5 +DIST luau-0.635.tar.gz 1748762 BLAKE2B 84d12c0cfc2d70f1a6a029de5c42c3781b9786c8d7994bc4b8c0f762e7f40b805af0e02ad3cb1b2098d3c8f133554b43496d67202515d7b23b1d9fe68cd62e9e SHA512 b574e3a6e466f994772b3dcbc8eced19c2c29ddb4d4195276a1b708bab8c81555e6a78d97f426937062c6ced2c28cdc57ffe60ed1e10f9cba07a3ada35fcf91c +DIST luau-0.636.tar.gz 1757794 BLAKE2B 3e2e55dbae17c61d34fe2ca81c7198d5e9d5637b9360831361287de6ff21eca60761f6d2c827d9826393f6d5468228eb8a34537318eb042043cd2bd147376a7b SHA512 55899c5132541e5f79232ef083b79d3b7ac8b51a937496a729da4b2bcd2b8cdea1c881529a776a524037f29ea878dc1b97c0dccabef38e8e26fd4426b6d562fd +DIST luau-0.637.tar.gz 1764323 BLAKE2B 7d02ba7641b576ccadb3ff233d73d6887f26d5c1e812fa3f74fbcdf9d8ead01f13a4a9147469d37b27fdcacc39169b1a139328a1aa6c49325585be5aa3582c0b SHA512 a7e0b6bf57770f026f59d66c1f424a9f292850076a07e203f7ab1296c229cb1541aee556bbc3833adc79f5a77520b4575539ffbd1422c044f59d60886feb917d +EBUILD luau-0.632.ebuild 776 BLAKE2B 6ddab7faf06aab3a3d4f04b8945074e342458df741b3e37e6555b9ebdc019db26541bb75080028292bc233520b58f23d50a872e31e0c7f5a3f3ed0ab092dab9b SHA512 147029f8a5c01e58b390efc9c961cb323ea089b39907f15b6830999b0fc1c90adaddf7a4da86aa6fc8caa51719fda2c034504485b50bd95bb793870c9694651c +EBUILD luau-0.634.ebuild 776 BLAKE2B 6ddab7faf06aab3a3d4f04b8945074e342458df741b3e37e6555b9ebdc019db26541bb75080028292bc233520b58f23d50a872e31e0c7f5a3f3ed0ab092dab9b SHA512 147029f8a5c01e58b390efc9c961cb323ea089b39907f15b6830999b0fc1c90adaddf7a4da86aa6fc8caa51719fda2c034504485b50bd95bb793870c9694651c +EBUILD luau-0.635.ebuild 777 BLAKE2B c5f16047056f2cfe0a8d1b4373f41b27a6929fe0a789cfee41cb9199921cc3eadf1c67296624bf9a831884f062e4acc6caa988c15fb45b3079b7736cf9a2dff4 SHA512 64d8b22353719b73411b324aac8d18beb584605c935fa6b4a3e01839d625c4f51265ed042489ca486bf8d07d54d3f41759128cb77e43fe6bcb601afef4ed3a99 +EBUILD luau-0.636.ebuild 777 BLAKE2B c5f16047056f2cfe0a8d1b4373f41b27a6929fe0a789cfee41cb9199921cc3eadf1c67296624bf9a831884f062e4acc6caa988c15fb45b3079b7736cf9a2dff4 SHA512 64d8b22353719b73411b324aac8d18beb584605c935fa6b4a3e01839d625c4f51265ed042489ca486bf8d07d54d3f41759128cb77e43fe6bcb601afef4ed3a99 +EBUILD luau-0.637.ebuild 777 BLAKE2B c5f16047056f2cfe0a8d1b4373f41b27a6929fe0a789cfee41cb9199921cc3eadf1c67296624bf9a831884f062e4acc6caa988c15fb45b3079b7736cf9a2dff4 SHA512 64d8b22353719b73411b324aac8d18beb584605c935fa6b4a3e01839d625c4f51265ed042489ca486bf8d07d54d3f41759128cb77e43fe6bcb601afef4ed3a99 MISC metadata.xml 1077 BLAKE2B 922b79785db23ac7301e2e7a0c66834ae4ccb42466c87b92bd4d9db821830c307fac2192d0010ef224ef64fd83e80a62d47b29f9118432f70ed2340ec9bf49c5 SHA512 7d334c02c73ddc2628a5bebf598d79e9216eb5e4195905ba3a38453261cb25f240b41903042a0fdaad7453ed3cfd04ed2ba382746f38c25036095b019ea4b286 diff --git a/dev-lang/luau/luau-0.632.ebuild b/dev-lang/luau/luau-0.632.ebuild index ff2804b115f7..ba40b86df707 100644 --- a/dev-lang/luau/luau-0.632.ebuild +++ b/dev-lang/luau/luau-0.632.ebuild @@ -17,7 +17,7 @@ else SRC_URI="https://github.com/luau-lang/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~x86" + KEYWORDS="amd64 ~x86" fi LICENSE="MIT" diff --git a/dev-lang/luau/luau-0.618.ebuild b/dev-lang/luau/luau-0.634.ebuild index ba40b86df707..ba40b86df707 100644 --- a/dev-lang/luau/luau-0.618.ebuild +++ b/dev-lang/luau/luau-0.634.ebuild diff --git a/dev-lang/luau/luau-0.630.ebuild b/dev-lang/luau/luau-0.635.ebuild index ff2804b115f7..ff2804b115f7 100644 --- a/dev-lang/luau/luau-0.630.ebuild +++ b/dev-lang/luau/luau-0.635.ebuild diff --git a/dev-lang/luau/luau-0.636.ebuild b/dev-lang/luau/luau-0.636.ebuild new file mode 100644 index 000000000000..ff2804b115f7 --- /dev/null +++ b/dev-lang/luau/luau-0.636.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Gradually typed embeddable scripting language derived from Lua" +HOMEPAGE="https://luau-lang.org/ + https://github.com/luau-lang/luau/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/luau-lang/${PN}.git" +else + SRC_URI="https://github.com/luau-lang/${PN}/archive/${PV}.tar.gz + -> ${P}.tar.gz" + + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="MIT" +SLOT="0" + +DOCS=( CONTRIBUTING.md README.md SECURITY.md ) + +src_test() { + "${BUILD_DIR}/Luau.UnitTest" || die + "${BUILD_DIR}/Luau.Conformance" || die +} + +src_install() { + exeinto /usr/bin + doexe "${BUILD_DIR}"/luau{,-analyze,-ast,-compile,-reduce} + + einstalldocs +} diff --git a/dev-lang/luau/luau-0.637.ebuild b/dev-lang/luau/luau-0.637.ebuild new file mode 100644 index 000000000000..ff2804b115f7 --- /dev/null +++ b/dev-lang/luau/luau-0.637.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Gradually typed embeddable scripting language derived from Lua" +HOMEPAGE="https://luau-lang.org/ + https://github.com/luau-lang/luau/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/luau-lang/${PN}.git" +else + SRC_URI="https://github.com/luau-lang/${PN}/archive/${PV}.tar.gz + -> ${P}.tar.gz" + + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="MIT" +SLOT="0" + +DOCS=( CONTRIBUTING.md README.md SECURITY.md ) + +src_test() { + "${BUILD_DIR}/Luau.UnitTest" || die + "${BUILD_DIR}/Luau.Conformance" || die +} + +src_install() { + exeinto /usr/bin + doexe "${BUILD_DIR}"/luau{,-analyze,-ast,-compile,-reduce} + + einstalldocs +} diff --git a/dev-lang/micropython/Manifest b/dev-lang/micropython/Manifest index b9a9124ce48b..2c20359ab2fb 100644 --- a/dev-lang/micropython/Manifest +++ b/dev-lang/micropython/Manifest @@ -1,6 +1,9 @@ AUX micropython-1.17-exclude-float-parse-tests.patch 525 BLAKE2B f9a3b7c8f625edcac31be6df9dd7936e9f9099995875e55882206241a24c252148b64ec726643d1700ad59d615cabdaa69377d2d303e4572dc2f600255c76930 SHA512 e5c67b461fd132b71ca87325cb4a4fe5608b18d6b1e058746d87d39832c92bcc9673366755292d6cb51fd2770a2ddea0688bcdd7f2052a2c2ee2f180e9b63c69 AUX micropython-1.17-gcc13-build-fix.patch 1826 BLAKE2B 3212ce3d7ef51f9163a143b1a3727770a6c9b049e7a4b386117366af7cc451ac1740cf217772f6b9a6fe531ec9c610bd61b143e428fad19cccf96c295e58b97d SHA512 540a38b845f7e457fa19e8645f62bc1bd7972e29d5414dba76d8f72d9c4279e49f906b04e7e96c2f61a60da9cac4a9d5c2ca688a436376e8c203fe0959249b25 AUX micropython-1.17-prevent-stripping.patch 461 BLAKE2B 9daee505d5c446a3a6756336cfc5fb016053f36f5f567cf35aa6ab9a1b794a28fd92b81a27ffc2ce077a75c422c9b2a957c417b561edcf85ffa5653e1eddec41 SHA512 0cd5a8c499552b0728242af531406e0d26d91f560d7d4b38ea6fd0bc0b43639e77af9e56b6b89cba5d5661131357fa1a714c3fe734e3ab59f60fc63258d00c4c +AUX micropython-1.23.0-gcc13-build-fix.patch 387 BLAKE2B c33adce39efba0e1acdc3dee8dac3438eac15f12cd79cbb5b3c708fc741f42ff26a477b62cabd71f993fdf29cc0e5dc92bd10f7543c6b93a2b985a6061eebc7e SHA512 29cee711ea5c70fbe6707074fcbc71fac4cabd69939070879bca7f2480d052e136e10542df54a9aa6371479350397518697f42fe56db26ca594ed10dc1410e98 DIST micropython-1.17.tar.xz 56606868 BLAKE2B a6338d173de646764c1573ebabdb9818746a479fd2dd618f9be9955881e3829c4d89da4602934e71655734ec1c6f2150a6ac2c54a5fed9bee998905a00d5c6ea SHA512 8074214040e35ae1ca99721ec442f4cef70fa03380b7662016c55cb3acff9178fc54140c0d818c9581389b4daaade142ecf75b65a2919c666a50255423a39a54 +DIST micropython-1.23.0.tar.xz 85748224 BLAKE2B 3fca138bbe9a676c671812625ac374e82c3c91bb41db32557747ea4d28941de92be80bbf2e642f9094427dbcf6ee285c63ddad66510287074edb716017599384 SHA512 16f065bbbed1469587597193e7131ed9278ca2b22c8614098b5c79060f853db2a5a38ffe85688126cee86a5cb110d74840f50be4b009a687d7d310b54de2b2b5 EBUILD micropython-1.17.ebuild 1429 BLAKE2B 9779c5a596e49068b07a91f635928a842d71927c389ca55403040c84dc6d02510948975112688d4924945bf7c119fc20fba1caf72f4b13ba46b0f7aade5f6ef9 SHA512 f2e43607d1abee316ddb8ea80ffcee828eb9785285574696266c55c3cfa0f5872f731232ee14158dc55970bfe9d9d72a50b4f905558465effc7fe440e558bf6e +EBUILD micropython-1.23.0.ebuild 1591 BLAKE2B bbf3f6d9de6e09eaceee4320a60f957011dfc5d4fad55f4565f442c9ebccade3a50b3c8acf198129c37c260d59a7654a0224dfdd807c65bea15bc65f800b7c5f SHA512 cfa9bc6fcbe33c1fcff1d36f6b73a1f53ce44c928f2754d2db339a86d1528b316ce62b3555828ead20038a00b90844cc1175b211d37a4810a929a9c62ab17f9e MISC metadata.xml 1163 BLAKE2B 6edfd7148dc0686e3cfc81e429f8a1643eab9fba88bdf9264adf737ea03761a5e15a3b4994ba901d9655fa419d27ea29adbea7e6fb5ac0d7dfebd1c0115ea885 SHA512 5e658e8b5e364741a4d020f8331effeed21dd4508f6048bb6c192f3721e91cba503846d741d56886714f462f7f68d21e79e9989d46c858ffb71584c7d6ca7c00 diff --git a/dev-lang/micropython/files/micropython-1.23.0-gcc13-build-fix.patch b/dev-lang/micropython/files/micropython-1.23.0-gcc13-build-fix.patch new file mode 100644 index 000000000000..bf418bcd7421 --- /dev/null +++ b/dev-lang/micropython/files/micropython-1.23.0-gcc13-build-fix.patch @@ -0,0 +1,11 @@ +--- a/py/mkrules.mk 2024-06-09 04:22:17.760512031 +1000 ++++ b/py/mkrules.mk 2024-06-09 21:02:24.926427912 +1000 +@@ -234,9 +234,6 @@ + # we may want to compile using Thumb, but link with non-Thumb libc. + $(Q)$(CC) -o $@ $^ $(LIB) $(LDFLAGS) + ifndef DEBUG +-ifdef STRIP +- $(Q)$(STRIP) $(STRIPFLAGS_EXTRA) $@ +-endif + endif + $(Q)$(SIZE) $$(find $(BUILD) -path "$(BUILD)/build/frozen*.o") $@ diff --git a/dev-lang/micropython/micropython-1.23.0.ebuild b/dev-lang/micropython/micropython-1.23.0.ebuild new file mode 100644 index 000000000000..a35b07da8c2f --- /dev/null +++ b/dev-lang/micropython/micropython-1.23.0.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Python implementation for microcontrollers" +HOMEPAGE="https://micropython.org https://github.com/micropython/micropython" +SRC_URI="https://micropython.org/resources/source/${P}.tar.xz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + dev-libs/libffi:= + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}/${P}-gcc13-build-fix.patch" +) + +src_prepare() { + default + cd ports/unix || die + + # 1) don't die on compiler warning + # 2) remove /usr/local prefix references in favour of /usr + # 3) enforce our CFLAGS + # 4) enforce our LDFLAGS + sed -e 's#-Werror##g;' \ + -e 's#\/usr\/local#\/usr#g;' \ + -e "s#^CFLAGS = \(.*\)#CFLAGS = \1 ${CFLAGS}#g" \ + -e "s#^LDFLAGS = \(.*\)#LDFLAGS = \1 ${LDFLAGS}#g" \ + -i Makefile || die "can't patch Makefile" +} + +src_compile() { + # Build the cross-compiler first. Build fails without this. + einfo "" + einfo "Building the mpy-crosscompiler." + einfo "" + cd "${S}/mpy-cross" || die + emake CC="$(tc-getCC)" + + # Finally, build the unix port. + einfo "" + einfo "Building the micropython unix port." + einfo "" + cd "${S}/ports/unix" || die + emake CC="$(tc-getCC)" +} + +src_test() { + cd ports/unix || die + emake CC="$(tc-getCC)" test +} + +src_install() { + pushd ports/unix > /dev/null || die + emake CC="$(tc-getCC)" DESTDIR="${D}" install + popd > /dev/null || die + + # remove .git files + find tools -type f -name '.git*' -exec rm {} \; || die + + dodoc -r tools + einstalldocs +} diff --git a/dev-lang/mond/Manifest b/dev-lang/mond/Manifest index fba4afac4e52..227baa77377f 100644 --- a/dev-lang/mond/Manifest +++ b/dev-lang/mond/Manifest @@ -55,5 +55,5 @@ DIST system.text.encodings.web.8.0.0.nupkg 374440 BLAKE2B 97211e710df3dcd17932f1 DIST system.text.json.8.0.0.nupkg 1983421 BLAKE2B 053f3200d5920a5a31b4e4e6d13f0a81490a518ed68363a1a04c1edbbc125f90b9fa8f469614127bde714df352052a0dc56d70c9595277686799d33a16df351b SHA512 59243516d9de8ce90be60d6c5d271ff4c5fc6b2a4b723443022a72bd1b8f98adac3d17439df5543fedead81a8e3b018fd9a89c40a2459d3cb2d1dd935d17b426 DIST system.threading.tasks.extensions.4.5.4.nupkg 89582 BLAKE2B 728fc5794745b706a7e3a7d05186f34e2a8c1837cafdc7fc9a1bd8fc6fd42025448cbdfa53415a05d872aa08db1deb31d104054630c9ac7ecd29a2ddd973fd5c SHA512 68052086e77d3c7198737a3da163d67740b7c44f93250c39659b3bf21b6547a9abf64cbf40481f5c78f24361af3aaf47d52d188b371554a0928a7f7665c1fc14 EBUILD mond-0.10.0.ebuild 2982 BLAKE2B ae1c4a8999fb5ae0e1b96d4b0c34589f781891909bee201c1bdfd37ffdfc3dd1c01ccd0d87318f66f5e9d35dcee56dd64d7e0e5f8445de7743a161d20f8d9255 SHA512 9a505ac1253e8ab61d9f8e28b7566210278639c3e56f4e95c2ee3a8952ee29f733cd38445017f3cdd745fdc5a6becf81b7877797fbc5dae145d355893eeabe45 -EBUILD mond-0.10.2.ebuild 2982 BLAKE2B be476658b2800b1acd77e88ae7d5448486e7e0da5ede969a5ecd0eef397d849da49cc7c678348200adc4b80a087096243b0c3e1eabfeb2ba6d86f83af75d4860 SHA512 1868e0d954292be5235921d69efdbbd2985a9b70f622c5cdc35f72b2617ec5168a4fcfe6338c631a2fee929ead596cf058ebdc71fff9f96649cd59b2353bdf1f +EBUILD mond-0.10.2.ebuild 2981 BLAKE2B 7ed3fafba2b8df8930fff47373247d2416369d47fe29ef7e2a507b7312638b70b2394959af03a634162cfe1ea225b9c46eeac62d8c99723d6400e9110beb18d1 SHA512 626b23630e5643d71eaaa680ef25d55a457ca27780d07088bf7c77b28b524be4556a37e03907143b086b018742b4ddd09112e1787c70fb5e7502d51da6c1e85c MISC metadata.xml 407 BLAKE2B c23e1813bba6b1e7beb547a075e0b283941571270493902195fd370854963ad07e1a6e30673dc7733b542d02839d84aa6f554d806aa0e8021d44570b655ca1fd SHA512 ff0fa87463543a559675a8397a7c1dceea2b59faa76435569cb996ad43ad123d2c5272642a73a35f4c7a132b8a3cb6bff6bc5a1114bf62887ef2f0461967eb5f diff --git a/dev-lang/mond/mond-0.10.2.ebuild b/dev-lang/mond/mond-0.10.2.ebuild index 339abf525b27..348ae9379c44 100644 --- a/dev-lang/mond/mond-0.10.2.ebuild +++ b/dev-lang/mond/mond-0.10.2.ebuild @@ -76,7 +76,7 @@ else -> ${P}.tar.gz" S="${WORKDIR}/${P^}" - KEYWORDS="~amd64" + KEYWORDS="amd64" fi SRC_URI+=" ${NUGET_URIS} " diff --git a/dev-lang/mujs/Manifest b/dev-lang/mujs/Manifest index b685fae617f7..88d90749787d 100644 --- a/dev-lang/mujs/Manifest +++ b/dev-lang/mujs/Manifest @@ -1,6 +1,6 @@ AUX mujs-1.3.3-flags.patch 284 BLAKE2B 8e31eea006e6551a7155607cc43dd60844a686fe41a9d4c5e9d660bb984b6e255b3d515ae691a38eee8930a5f2102a8392a0876519780ce728af9305d99358ea SHA512 3c8e97f6966a7a2d3e2f72ac1c4235c75cf6f419e8dd2a9a48639f74d005177f022c8f90645159090ec423bd441812abdb351c3599b4f280f4f88c39b4ce9946 -DIST mujs-1.3.3.tar.gz 128097 BLAKE2B 9b880dc462af8945e647994f9a42cf121461c6b295538db6cef818919a7c2418ebe1df7d36f69214279ad2414d0ce7149a541a3533e766274624b9c44b733db9 SHA512 74288484185473a813c55e08dcc2fefba46f87651d3a1fcea6ac843bb09a4150e13e0d46b348a34380a0defdeaa388cc93b6f7f569a7886091a34b4951b9461b DIST mujs-1.3.4.tar.gz 128202 BLAKE2B d07942cce02dc71937ad0207887bcefce67916e19d01f134d68d3673bcc0649eb616a1fadc5a21ddbf372629f12e7c04be4652a31ba604359607e9e7233a8923 SHA512 0806684be5e6dc3cb7305355ab7c7babbfd3fd5bbd22515659a88a82c25f3f4b6af14f7ca07bacd154823b19110b749bba68311c9f317dd684e0fd5628ece573 -EBUILD mujs-1.3.3.ebuild 1639 BLAKE2B 1c43cb07fb2d295a851942d991fa30276e5eac3801be2b54a2ea0c5ad43134f8b14584273fc0f2c628ba435bf88669a88795a7658f3e4e854e41863272a2baf2 SHA512 5e41a6a072aa80c363df1f443444d13bca98d488f66f3fd5e1a8a0ba564956f2b1f5eb8c9b12806a5c906d1571eaeb4a0550026eb09615ede4c30435299d278d +DIST mujs-1.3.5.tar.gz 128938 BLAKE2B f262a99abe572548b456fabf5820c810885b86e1034d37c3375e9f4f44ddbd536acddf3cc56f086460fc0128ebf339b9e4f810069569243b86fc4af94f03ccb6 SHA512 9ebe0d2926d2621110cb67e701c1cdd87883703d58c49dc08e366b20c93dbdbc2f56e59b710999373bd8aaaee75b2d35adb1dad6929795684a8fff6483d9df25 EBUILD mujs-1.3.4.ebuild 1654 BLAKE2B f532c84749392a9cacc77a8123e52fd8b85a60a27a16f6abee1a022f1eaf6ab5d0c301110ec74e53b2e8617cab58e9d5af2617ce11a6c39a0da71ff833f31590 SHA512 c3d31b5a98e80fe2c00bd81dc7bc013df39b999b6901e0a6f7e5f2fb2a88d770f9664a99f1e671fa5caa027bbbc022385b41abc8f3c32ee9474670001162596c +EBUILD mujs-1.3.5.ebuild 1655 BLAKE2B 2e43bfbe753a473a98af31c3ea25a4d32be4391c1f40028193061ad74d38cecf4a799f86a8a3d27ffd080d63a39d458eb0e252b5259417b8f3c1ec16de12e7f2 SHA512 b8cef6e95cbf0e5d18ba3832e1ccf985708e91bad03e84d9acde6970f673a177595a2fc76d57cca5a21f402cd8096b79c538f9e6f79765a7762c1f3d7c7ba6b1 MISC metadata.xml 713 BLAKE2B 854afbc1219508e2b29aad5f4b83d0a869f1a70c9380fd624ce844be2d4ac3001ad0fe406b8a96c244d2d4837d8921ffd68bb424cf997d804fb426da0d2888b9 SHA512 36d958686ead6fa0cb13dfd8048f036ed833146fe786da0f2ce4f829343925472846d4164c3bbdd1ad4a9e04e8be5fd9b68e44cfef5139194f1aa7359250ed21 diff --git a/dev-lang/mujs/mujs-1.3.3.ebuild b/dev-lang/mujs/mujs-1.3.5.ebuild index 3f02a773e3e3..b69aa3e4618f 100644 --- a/dev-lang/mujs/mujs-1.3.3.ebuild +++ b/dev-lang/mujs/mujs-1.3.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,13 +12,13 @@ SRC_URI="https://mujs.com/downloads/${P}.tar.gz" LICENSE="ISC" # The subslot matches the SONAME SLOT="0/${PV}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos" RDEPEND="sys-libs/readline:=" DEPEND="${RDEPEND}" PATCHES=( - "${FILESDIR}"/${P}-flags.patch + "${FILESDIR}"/${PN}-1.3.3-flags.patch ) src_prepare() { @@ -55,7 +55,9 @@ src_install() { prefix=/usr \ install-shared - mv -v "${ED}"/usr/$(get_libdir)/lib${PN}$(get_libname) "${ED}"/usr/$(get_libdir)/lib${PN}$(get_libname ${PV}) || die "Failed adding version suffix to mujs shared library" + mv -v "${ED}"/usr/$(get_libdir)/lib${PN}$(get_libname) \ + "${ED}"/usr/$(get_libdir)/lib${PN}$(get_libname ${PV}) \ + || die "Failed adding version suffix to mujs shared library" dosym lib${PN}$(get_libname ${PV}) /usr/$(get_libdir)/lib${PN}$(get_libname) dosym lib${PN}$(get_libname ${PV}) /usr/$(get_libdir)/lib${PN}$(get_libname ${PV:0:1}) } diff --git a/dev-lang/nasm/Manifest b/dev-lang/nasm/Manifest index ac47ec1a3834..963fa865659e 100644 --- a/dev-lang/nasm/Manifest +++ b/dev-lang/nasm/Manifest @@ -6,5 +6,5 @@ DIST nasm-2.16.02.tar.xz 1044824 BLAKE2B daa3585e9aef3c388e3b577a52453b31aaa7f13 DIST nasm-2.16.03.tar.xz 1032388 BLAKE2B 742cbf330341fde9f778d8ca13e8c06199f48796d47028ac973d39e3d9e434450cdfebe89f6ab248d372bdaeb0c88a25eb7153a39b66fc05e770523d4c9e11e9 SHA512 0c706e41a9c33e1ac3bad5056e8bf8cbcd51785b551a6e34ce7d0d723df8eaab8603a033e89b3dcda1004b558f9e9ef3196691500f10d8201bf47a323a516f84 EBUILD nasm-2.16.01-r1.ebuild 1581 BLAKE2B 0dcfc4b92ff0462b0e21c6b5f4144098f79130bd968f2808f3ce5afca27e23638496ee276a6cfdb81ffd85fd7e314db8036be60cec1db7f4b398aeb9f8cf0a17 SHA512 06d03935a76a8bb160914f6a0c76137b60364451d7275ceb613dc5bfb029044ede6e87d6a9cae5e25be3d5ba06f3aa9ae306786ba80f078f1e243f90181a6347 EBUILD nasm-2.16.02.ebuild 1951 BLAKE2B 790570970fa932ecce625160956a727a6ba19bac514ec8732267a581c6579a73782c22fb80a5873ffe3d68f65709547d4b29f2378cd87546578d20bf1a811714 SHA512 745fb377ef4bb08c263119c6835e5e8f672d975056a8d0d2b1edd2ac2fb1bde7f670b7ecdcdf8162333dfb776e41f59c31f9c42cde025f77890cef35d2fdfa0e -EBUILD nasm-2.16.03.ebuild 2001 BLAKE2B 24fdb5670d037e5e15c847abf9db2186c39ed6dc67ac125d133347a64131d5757358e609d60c07eedaeee660eb193a41ef33deb90020a471c05821142c095974 SHA512 d652343f4a71c0c2ca0fcd57541d7c4dadf74b13d0ec58e3d7418819f3511af03b1628df7ad15da422f5bab6aa507ad102c0095940620e384225adb50c6ff52c -MISC metadata.xml 879 BLAKE2B 17d2ca1a78ed46d24fe75188387da9c03dafcd6aacf0db7c82fdee39ad766dac23010b6c51c90c08a3e591e93589a29a151ac5bc52fd6b3911504f2f124da6b7 SHA512 d6e921fc48851be64d1dfc0be200a1a86842e5d4d00a9f4551e7ca76a91272dc5f1f01928d3656a5e340283c83f7283bb9e7094c0309406d9392d57048239563 +EBUILD nasm-2.16.03.ebuild 2037 BLAKE2B aa00f4133e2102479a06196e2feefac09ddabf40f2135515a8b5ac0faba4eddfa06f8ac142b94a98ba20a70396cd0c110be9fd07a7d28f2400c3f067a450a9d1 SHA512 926b22fc1e4c5065f88612b241095e32ea7a7b07b0f810d031322ecd1e9d72af15eac5bfe54c8ce6b8a5afcfd08b99d985ec958ee83de17c59186fbe3198b056 +MISC metadata.xml 882 BLAKE2B be1a98bd73ea5160613c66b00d6da2925e20097f02e449dc2394ef13298a1f23321d83e178bf3592fdcb5d4c276617674fac5d323e057035c6c3df184d048efd SHA512 437cd65249042f3437b27d50bea9ebd9ac2360b0600365751f6ffddd3d31c7eaed371a0b364668812e79bb1cfb64917069b62cb6939699270f26bc0474c9c917 diff --git a/dev-lang/nasm/metadata.xml b/dev-lang/nasm/metadata.xml index af856ea306f0..4c45454f107f 100644 --- a/dev-lang/nasm/metadata.xml +++ b/dev-lang/nasm/metadata.xml @@ -2,8 +2,8 @@ <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>matthew@gentoo.org</email> - <name>Matthew Smith</name> + <email>arthurzam@gentoo.org</email> + <name>Arthur Zamarin</name> </maintainer> <longdescription> The Netwide Assembler, NASM, is an 80x86 assembler designed for portability diff --git a/dev-lang/nasm/nasm-2.16.03.ebuild b/dev-lang/nasm/nasm-2.16.03.ebuild index 4c03189e21b1..472488d3e511 100644 --- a/dev-lang/nasm/nasm-2.16.03.ebuild +++ b/dev-lang/nasm/nasm-2.16.03.ebuild @@ -12,8 +12,8 @@ S="${WORKDIR}"/${P/_} LICENSE="BSD-2" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ia64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" -IUSE="doc lto" +KEYWORDS="amd64 arm64 ~ia64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux" +IUSE="doc" QA_CONFIG_IMPL_DECL_SKIP=( # Windows. @@ -75,10 +75,9 @@ src_prepare() { } src_configure() { - local myconfargs=( - $(use_enable lto) - ) - econf "${myconfargs[@]}" + # --enable-lto just appends -flto to *FLAGS + # so let users just use lto through normal make.conf *FLAGS + econf } src_compile() { diff --git a/dev-lang/neko/Manifest b/dev-lang/neko/Manifest index 9f43df5ccb06..6baec5e5e8e4 100644 --- a/dev-lang/neko/Manifest +++ b/dev-lang/neko/Manifest @@ -1,3 +1,5 @@ DIST neko-2.3.0.tar.gz 514044 BLAKE2B 1214fd15e0bff9df3f0bb3f4c856134772f42da5740adc260051bea6e0203e2e37db852b97114ddeef58d8320313dd01875918dee1a001833a3b9ca7d7c3c512 SHA512 fec51bed0c5500561635656c7456f3da0599aa6a47a25efe739b3c51f9cdded4a8824ed14ab67bab0905d9082cf6f06b3a76c868cb1b61d440957bcd9fd3f3d2 +DIST neko-2.4.0.tar.gz 530457 BLAKE2B 0d5bcde8f755688b3e14b316ef2691a7755d2ed330c24bacc1ce2b7d1f82c20b1756c115742893d259d08cb18fee36cd596eb88542590aaebb021f8f1812367d SHA512 bd759f712ffcda6ad0f03542060ad9e7fbba06c4c54c7007b7a6692dfc2d87bce3d8f78d6ef64752dd0e4d7e9d352c7543f1c5a1c49f7b7073efb2043ba7f0ab EBUILD neko-2.3.0-r2.ebuild 1261 BLAKE2B 3e11c7f4a0c17b70ce3f8a41384244c7eeffa116fb896b5fb398619714114c13504b000f6815de866868a5f83989cd2b7bd696e082b3bdcb0ff46eae6ee95379 SHA512 98d5eedb3ab42a0d33ddce09f2945bc7e689cfbb24329e8742f358180a021585cdc362b7b31b320add1ea3655ec3187bbbedc1d7692034b5492f0967f7e7d466 +EBUILD neko-2.4.0.ebuild 1261 BLAKE2B 3e11c7f4a0c17b70ce3f8a41384244c7eeffa116fb896b5fb398619714114c13504b000f6815de866868a5f83989cd2b7bd696e082b3bdcb0ff46eae6ee95379 SHA512 98d5eedb3ab42a0d33ddce09f2945bc7e689cfbb24329e8742f358180a021585cdc362b7b31b320add1ea3655ec3187bbbedc1d7692034b5492f0967f7e7d466 MISC metadata.xml 955 BLAKE2B 6121b716f10156ee7987969332bc78496a00facb9bf70832b147cdd3cfb8152c2b06c4482361d56cee8e9c8b5893fb126c701333eb789bd27add26fa0a9c9cbd SHA512 20a5591a47ce090645e1fd194ef85b2546463dd0855ba0d23f9fb3278fafabb8cb05ae1786d024987945d18b15ebff50c12a1e4a9919190abf1af14ad906e1e3 diff --git a/dev-lang/neko/neko-2.4.0.ebuild b/dev-lang/neko/neko-2.4.0.ebuild new file mode 100644 index 000000000000..f51030b4e47b --- /dev/null +++ b/dev-lang/neko/neko-2.4.0.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic cmake + +DESCRIPTION="Neko is a high-level dynamically typed programming language" +HOMEPAGE="https://nekovm.org/ + https://github.com/HaxeFoundation/neko/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/HaxeFoundation/${PN}.git" +else + # 2.3.0 -> 2-3-0 + MY_PV="${PV//./-}" + SRC_URI="https://github.com/HaxeFoundation/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${PN}-${MY_PV}" +fi + +LICENSE="MIT" +SLOT="0/${PV}" +IUSE="apache mysql sqlite ssl" + +RDEPEND=" + dev-libs/boehm-gc:=[threads] + dev-libs/libpcre:= + sys-libs/zlib:= + apache? ( www-servers/apache:2= ) + mysql? ( dev-db/mysql:= ) + sqlite? ( dev-db/sqlite:3= ) + ssl? ( + dev-libs/openssl:= + net-libs/mbedtls:= + ) +" +DEPEND="${RDEPEND}" + +src_configure() { + # -Werror=strict-aliasing warnings, bug #855641 + filter-lto + append-flags -fno-strict-aliasing + + local mycmakeargs=( + -DRUN_LDCONFIG=OFF + -DWITH_NEKOML=ON + -DWITH_REGEXP=ON + -DWITH_UI=OFF + -DWITH_APACHE=$(usex apache) + -DWITH_MYSQL=$(usex mysql) + -DWITH_SQLITE=$(usex sqlite) + -DWITH_SSL=$(usex ssl) + ) + cmake_src_configure +} diff --git a/dev-lang/nim/Manifest b/dev-lang/nim/Manifest index fe5baf81cf5d..1d9380174183 100644 --- a/dev-lang/nim/Manifest +++ b/dev-lang/nim/Manifest @@ -1,9 +1,9 @@ AUX nim-2.0.4-testament-skipfile.txt 2450 BLAKE2B 1f35f82e9cfa731267fd6de254d6e17e1b37833e8508af565d8b3e93e5edcabe93ea859528711ffbde13a2ad7ea85816f31f50c65713417ef9c2fcd2b056d787 SHA512 9608ed530c28a676ce01416a7dcb2dbcb8a7de3b7ff67ff15ba5eaf106b70f3658dd71dae7a1691d58b77c7ac1fe8023b4f8c4e1a4247169e79f656b0d356aef AUX nim-2.0.6-testament-skipfile.txt 2594 BLAKE2B 58af9e632d595e1dc8f6b4fadacf55f10697d75a1ff21a2a6be2feb14eb7e86c27d5fb10737614b2dad3eb7ee3b4a8d76d30ef1c7117e1b7738ca00960450c4c SHA512 940b9ad7eb1debee502568abf30f81970fc431785c3f9b00d8322eaa686f17e6b641e66baaecc7a6ec288076139d180f87978dec24a9ac949e14b5051829228f AUX nim-sets.conf 162 BLAKE2B 976422f31cf8a64e1fad537f4db38a07e0022b9460936c63e0220cb3858ba02704857841d5010ad8c7bde0e6192c4c3c1329aeca8080a48a728e8b288cefc0fb SHA512 61a07de9973fc77998515bbb62498ffd1de991241bf32805f4acc0e4325e39d767ac862f2546757763aa8d0a7f35b95a9e1df91e6aa6f241eed6e93c8e3c46f0 -DIST nim-2.0.4.tar.xz 7620508 BLAKE2B cf7c737d734c5a468ac9229fb021bcd252c5c4f20ab091ec0ce27eb36ba44be8b438536aa39aa8c583483a7ce15dfbb91b1deb1c19794b3d77506d23096a4460 SHA512 1918b3d4a4fc02714677b2ca5051dc69e1d1daead2cf4dcc9b997076540d07d58ee4fe3049de86a37faa3143de1d3b95bedfa31f31d8463987bb267107459793 DIST nim-2.0.6.tar.xz 7668088 BLAKE2B 1cc2b3be355b236b467fa6629747de55b60b6d2f3e9d8bc584fa4f30ba842d68a0db984aff234df1299b0a782af1d464382bb37fa62c0c7a952e667bf0d3c3be SHA512 9668b34decb55fd27f0edb8c6dcdd2d8dbed00f71e8ce5c177422aedbcc359f4b943b29a38875f4715c1903a32b8388e2a4662d5ceb301349b23eb2277dbde1e +DIST nim-2.0.8.tar.xz 7617556 BLAKE2B 96ab3e92c7c9d3dcb54de6528f2ae788f3ff4a927d693f2ca4917231441d85d12c8bda44c41c8f363979dbd0d8db54098648512caf7780bdc40e393c4f7803ec SHA512 e64abc379c046a9432515d1c8074a7e10ff72a1076663a5b7bdd39ae92852c98ba2cab96aa5e968fc31ca393e778e70b2392d6ab56bca7ac956d0176b4b69a83 DIST nim-atlas-0.8.0.tar.gz 59097 BLAKE2B 231b238ac3b15cc2c2d9ad927f80ae72d8ae4c649277515f32df6cc04275ccd38db5307d627572af547501e6522c06c86dc279dc3e13b5385f14e24032f6fe69 SHA512 747c13e2c5bd45a1dc6c1426f8c7637f638ada9dd4c9aa3edf4ef8367060e73226dc4bcde6380fac25ed47ebf4097fd223c72fadc3cceba8c71dd0f0571e47eb -EBUILD nim-2.0.4.ebuild 4408 BLAKE2B 290abe3fe80d779a72c07f81d4e6d7d93b569c003bcd1f85b0e9309345373edf5acf0090be8c8d127635e6d4b653a36fc0724038fe1708bdc17576a4c69f4c03 SHA512 b8fc6f49eb8921afe3bb731f2323567720ea04daac05e4a352ba8cfec82f0bf6af4872c5e3c7d596a4dacc77da45f3bea3b5d3a150857920d84bf28c7c505a53 -EBUILD nim-2.0.6.ebuild 4406 BLAKE2B 00439d84d1f76331bac382f0fdd258e89ad6c66262071bad61bf201605f74da30e02a8f7f67a9db8af1464798b10098ad145c993b167e84adc927f0a91c17a95 SHA512 af8b9f0637c8dd3b8a280ce1d145f32e1524689e20120840894f419e5e261433c76770120fa0ea434ce70f99e8f594a1008b03e585087d5620ec98a045a8f185 +EBUILD nim-2.0.6.ebuild 4405 BLAKE2B f33ab0ba4705016172352572f6d9578274b504ca0920289e764a2988d46a2cd290e905166577755c594732b3cfaebccbb90dcd3414680199e4012db27de5ee74 SHA512 9d42ca7771522685af89dbf520d7e43b603351c4015775c12d9560b868ba30f4ee2ff1a86930625d4d016e8e3d8e65c67971ecb7eea2f5212a62b72576f8aad9 +EBUILD nim-2.0.8.ebuild 4516 BLAKE2B 822c7ee91017a57091150b1e4daefc5c3f41cbadecd451d486cfaa955dcd0309c961c9f3c98529c6edf5ae32a40f3d0bac62a6ee12962c9a71e37d639aaac5df SHA512 da0082ac39b6d68193cec9d9f8154c6e471a2074372ac4f1fbda86aa88db2c7a7775501891fe4d2f7540086d4e378136f1a69789c398234b56c2316d1ffa4c27 MISC metadata.xml 2093 BLAKE2B 250d27e71538be674ff7f32fe55089fca33f0d6ab55fdbe2b0f858f3d4373e729f273c16b2bf0bc3265be4289e7de1438096bf60e69bd0100e126fc5cc6173eb SHA512 74a188f13cc0653aa30d0c18126ed1cfb11d4325d71ffca6af03ad62b135796cd64d269e2ea85280cd1e486b527947b287eee4db648600451336e323882ff0e3 diff --git a/dev-lang/nim/nim-2.0.6.ebuild b/dev-lang/nim/nim-2.0.6.ebuild index 524cd020c819..d73e284e011c 100644 --- a/dev-lang/nim/nim-2.0.6.ebuild +++ b/dev-lang/nim/nim-2.0.6.ebuild @@ -18,7 +18,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" +KEYWORDS="amd64 ~arm ~x86" IUSE="test-js test" RESTRICT="!test? ( test )" diff --git a/dev-lang/nim/nim-2.0.4.ebuild b/dev-lang/nim/nim-2.0.8.ebuild index b1eecd7b7cd4..6e94be9723b5 100644 --- a/dev-lang/nim/nim-2.0.4.ebuild +++ b/dev-lang/nim/nim-2.0.8.ebuild @@ -18,7 +18,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~arm ~x86" +KEYWORDS="~amd64 ~arm ~x86" IUSE="test-js test" RESTRICT="!test? ( test )" @@ -77,6 +77,9 @@ src_configure() { EOF cp -r "${WORKDIR}/atlas-${ATLAS_V}" "${S}/dist/atlas" || die + + mkdir -p "${S}/dist/atlas/dist" || die + cp -r "${S}/dist/nimble/dist/sat" "${S}/dist/atlas/dist/sat" || die } src_compile() { @@ -100,14 +103,14 @@ src_compile() { src_test() { local -x PATH="${S}/bin:${PATH}" - local -a -r nimflags=( + local -a nimflags=( # Leave only the safe hints enabled. --hint:all:off --hint:User:on --hint:UserRaw:on ) local -a testament_args=( - --skipFrom:"${FILESDIR}/${PN}-2.0.4-testament-skipfile.txt" + --skipFrom:"${FILESDIR}/${PN}-2.0.6-testament-skipfile.txt" --nim:"bin/nim" --targets:"$(usex test-js 'c js' 'c')" ) diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index e16bd85422e2..2b6b8815dc06 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -5,9 +5,9 @@ DIST perl-5.38.2.tar.xz 13679524 BLAKE2B 74250e30dde76911902a787134808dae69113c0 DIST perl-5.40.0-patches-2.tar.xz 17072 BLAKE2B 7cc1085a0a701f72cf1fce2b7f18ac949eb03a9e40716c37082396483045df577ef13bbca58ef06f20868e52e9c78e18fa5b8a3434ceea272ff49832a086a1f5 SHA512 d31a25894e3b34c8e80f439ebd423dd8f28eac056ce42d69376882c1655b1f7289ef22f8aa8d30147eaebbe6693f4d86d1570e153b55d58d7b30e5832e7bea60 DIST perl-5.40.0.tar.xz 13804184 BLAKE2B cf191c3ccaf6f395c0c7d08c2ad3456c1dd622d4fe78e7fb3a74c741e9a84f1d39a55f5bc6adbea54c9520b1b387e72e957f9a7544ab8f24968d233cd5b959ae SHA512 a2fb1a24c6367b4043f4e929b2d74fc3bad1415e53b791ed1f219f1701064ae21b2bd3164ba95fcf24eaf458bd54433024ccae43725c0bb82a1ec6a98dc7052d DIST perl-cross-1.5.2.tar.gz 120097 BLAKE2B 8703816363b41ea5fe528b192ed28b169cf0bfc3c61a9332682240bdc02f6ef0208fc0202517ba03e7c177bfbb52783c833aacaf2d16583e0f90bd58805a03ff SHA512 fb16316add0a7458f087295077518402eddaa1c759da6e268742e9ba5439cb3f1db7adcd7ef769c4a613b7518ff9e48849f60b24bd2a6daaaf6e96b59bbf0ac8 -DIST perl-cross-1.5.3.tar.gz 120847 BLAKE2B 346152b44e4ace3a9215aeb24de617ac217a462c1ebfa2b426e7bf9546673e1aef52ac2fd294bb2a00755f6e3590bd5bc3f615d874a0dcd5fa13b1eb2d3960c7 SHA512 cccfd32ee33e52a06fa0c6c1af0cd454bf20354e9ce4e7ebd599915b3a4a39b5e0b98e548c5e8084e175e9a3c78f0f7d782331ec2ceaec07c1c0413690d0d422 +DIST perl-cross-1.6.tar.gz 121973 BLAKE2B b3a17d92dd7621a3bc253a6c4e56eccd3adec2c2b52e606c956a08f48d786a16a3ac5beb056a732ba3df92227f210193b0f516fd9d73cac362a04ec52efab029 SHA512 980af804513ec126e40eb9d8200ca54ba805bbb13b38d20a45daaf8d98d6b257e2eebc1ecad56cd47f60e235fa1141f6df9518d748db4f18d5219180750ca615 EBUILD perl-5.38.2-r3.ebuild 28316 BLAKE2B 32ec17aa2d2d533b05cc57a79d0913bedbb34d2ea7d35ab11df8672676ecb5beb363d3032a05fdff6dd520cd99635e5bdde56be6eeb10ceac09662986c6abe52 SHA512 c287979fb92484c299166733c2836301995b4943819680159d9a77be6342607b23df06e4285ad564ca288199590e59b0242fd77a172ff3f33f31d31c47fdc00d EBUILD perl-5.38.2-r5.ebuild 28299 BLAKE2B ea02c304d44d97897347b6909abd20629a67f9dfc374f9b368a0fef424d57c678dbcbf5a9c15eeaa8cfc621461f5b641a97532cc600813ea4bdb38a2d2aa4ffa SHA512 ed2f4bdf9615b45cf740d51c32f52e2b3717a4190efbacfc9b4b3e095a3585cc728d74467846c2cfad0f06ab4e19c465887d76ab9346961bc246114897c674e1 EBUILD perl-5.38.2-r6.ebuild 28298 BLAKE2B 59180f9485dcb9e69d207bfda545a037827d6e3ecfaf1c044568d904ca25e0e88028049b22e9245d4ed9067166998c2b2656274d20e53676cfff617f2fd0347d SHA512 cca24c55c3dbf343b8d2c997b3a25455f865ad687786edd3783a055401d761d0d1bfb0e42bc70bc7b33745f4ed29944ebcb943e70a5d63528cb596b4f189af0e -EBUILD perl-5.40.0.ebuild 28017 BLAKE2B b2a7f532384a99de8a1b801d7cfc32c8d3417a66be4a1d7d4dc427bfc8b9c49ed1cf778ec66dffd7fb114aedeaa2842ea296c8fd06ce2e3aa27bd067632ab022 SHA512 24eae126aeaf97278ea819a00bd82860e42c22c93b04a97dc1c840b1d9610eba3d850aefa272ed99e09e5f9fda3eefd7ae1cb91db1543cd4bd7fbc2a3a567894 +EBUILD perl-5.40.0.ebuild 28127 BLAKE2B e207e24033d74087921e7a5658cbf7d832c9b4548c87f0de642dd5f4c2e861c1e0eb712f699855c7f9756009d2f180ab16e36b8279bead235d01e840f73cbb49 SHA512 0da6c39f87775b5ea153ff22d823c47108c0a2ebddafe15257c8818c9c4e606a2630f2dbc45165b5c7cff76c802ae5320d59664228a63850c226424fcf975108 MISC metadata.xml 435 BLAKE2B 9a9dfd2dc8274c402dde0c3be13053b28361603c4fd230d841b169843e397bd6e16537034495178dfd443246c1621b34d849455147e8556a12806d973293a855 SHA512 1cb3197cf3c6f3031bdbc95c2686fcd2585f6e457d0661ed986cf7fa91b4ca564f793c2f141bfe5b9b8c54d2b05dd200c3e32bf073061872e08bd7c501bedc83 diff --git a/dev-lang/perl/perl-5.40.0.ebuild b/dev-lang/perl/perl-5.40.0.ebuild index 33792179f43c..be1251b4c5a1 100644 --- a/dev-lang/perl/perl-5.40.0.ebuild +++ b/dev-lang/perl/perl-5.40.0.ebuild @@ -6,7 +6,7 @@ EAPI=8 inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing PATCH_VER=2 -CROSS_VER=1.5.3 +CROSS_VER=1.6 PATCH_BASE="perl-5.40.0-patches-${PATCH_VER}" PATCH_DEV=dilfridge @@ -439,7 +439,7 @@ src_prepare() { tc-is-static-only || src_prepare_dynamic if use gdbm; then - sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \ + sed -i "s:INC => .*:INC => \"-I${ESYSROOT}/usr/include/gdbm\":g" \ ext/NDBM_File/Makefile.PL || die fi @@ -577,12 +577,12 @@ src_configure() { use m68k && append-ldflags -Wl,-z,norelro export BUILD_BZIP2=0 - export BZIP2_INCLUDE=${EROOT}/usr/include - export BZIP2_LIB=${EROOT}/usr/$(get_libdir) + export BZIP2_INCLUDE=${ESYSROOT}/usr/include + export BZIP2_LIB=${ESYSROOT}/usr/$(get_libdir) export BUILD_ZLIB=False - export ZLIB_INCLUDE=${EROOT}/usr/include - export ZLIB_LIB=${EROOT}/usr/$(get_libdir) + export ZLIB_INCLUDE=${ESYSROOT}/usr/include + export ZLIB_LIB=${ESYSROOT}/usr/$(get_libdir) # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1 myndbm='U' @@ -622,12 +622,16 @@ src_configure() { # modifying 'optimize' prevents cross configure script from appending required flags if tc-is-cross-compiler; then append-cflags "-fwrapv" + tc-export_build_env # Needed for the CHOST build too (bug #932385) export CFLAGS="${CFLAGS} -D_GNU_SOURCE" # bug #913171 - export HOSTCFLAGS="${CFLAGS_FOR_BUILD} -D_GNU_SOURCE" + export \ + HOSTCC=$(tc-getBUILD_CC) \ + HOSTCFLAGS="${CFLAGS_FOR_BUILD} -D_GNU_SOURCE" \ + HOSTLDFLAGS="${LDFLAGS_FOR_BUILD}" fi # bug #877659, bug #821577 diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index 3c959cc0fa62..97e90194ed1c 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -4,22 +4,18 @@ AUX php-8.1.27-gcc14-libxml.patch 1982 BLAKE2B dcb329e5bae787aa0d47f70e7d60f5a18 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-8.3.10-optional-png-testfixen.patch 39081 BLAKE2B 7b21cdc8cf557144eee2455d540b834e583f919ffec3bb37ddf446cbd57e8835145f988d4b53c6341313e6e4001a7d879ad8c933677db9818a17b026694da230 SHA512 74b1d84b2e10073d32c79a2a6c73a0a6d198ad84190be2f4ecf752a338bbb1ba8353799b2c0fb9ff7e9513bbf2f849b8359c62db92631d4919d99bf97688376e +AUX php-8.3.9-gd-cachevars.patch 2287 BLAKE2B 7e9fe2192937dfcd000bdb0a8f0236582e95e97c6f7c1e5973a9bc48e8d0d1ae71c2fb4be3c507dae977d0fae96503b3bb02825a334581aca70d97cdd0545627 SHA512 3ec68bff7fd365307f41a04835c80f3acdd053924fde3e09e301349079db161318f68ac226ae1d99eaf14ee7527abe5226a0e3a7b601e0a804019b2ce8c099d8 AUX php-capstone-optional.patch 2497 BLAKE2B f23236130be88d28d933d5482f1925c4e32e09c5022544ac2dec62465e9296baabe64f57fedd7ccb9f4499d354bd466d10cfb66596e8be029be6fa4f82dbc1a1 SHA512 a9000d789a7bc54d4b6cf8ed287dcfd71958dfc85c6417737dcd66b9461be5b1aa2568a19f5a9cd29927fe9d955ac24d04e2f64f1c4018110a8f81a6eb4813c5 AUX php-fpm_at-simple.service 316 BLAKE2B 0ba10f3e3b004fbf14956e1e4f04f59b8a127e6717fe6b92c09b9f931033a11551c75fbbee9010f6b694c5a8758ca0eec9eed457ae304ba0dea8f2c256c3b8d4 SHA512 7367a3f8d3874f8e0c76f331ba613a0250db02f60ad9f87affaf448dcb5bc34bcecb91d88f415764a12b24b46ae3d1b738a002af9f77a4b707e916e83a0021fd AUX php-fpm_at.service 317 BLAKE2B f13fc38fcc0575a8517ee8d07b120efda37eabd2355061d0fdc303604c6b02ad42d7301180d86c977d5e585f5dd685343c592e37a6e0f44933707be79e0b77e0 SHA512 27982f9e2d958bfa75c89c7d3531e48d17fc388b1cdcbc8e09051b236b1184ee2baabdfcc567c19d9fcd067d4b3b86f171015616d8da42fccdabd89432d865e8 AUX php-iodbc-header-location.patch 481 BLAKE2B 9ea6a5d529dc7a8c78eeee800900372bc14309a05e352b2838da32e1384b61b507fdb623c9400094aa5b637eb1a87da92c72600eff79b18b8989ef90af56a0fa SHA512 86469f657d8807f005c28fd2149770c881add8f243fdfea087956c7987277597fe400a7af23f624f26da270356604717ed9cd04771154d7cf2ffe7237972372b -DIST php-8.1.26.tar.xz 11809448 BLAKE2B e1d50f1de572580a207586b3c3b57081f7b9f1b680ffe8f9e82c88c9285af117dd7e9e2576fcb13119176cb9cd02b39481b6f40e9a1df81aa90b8c4d3e59e4b1 SHA512 5bc40077e57c0fccdf17810d688baea416f22ac248bb01b73d2e2590fc4cfabc7001c1c3833281a60870c74178f7b06cbc85474eba695aabf969ad0081a98417 -DIST php-8.1.28.tar.xz 11848504 BLAKE2B a5deb596176bcd69c33f239e752ac75e2da1538efe6d2b321802c50ea250214c6d9b59e8a5cb74f97f37c917159ef4fde4ccda4403d6e0a6fe751a19b7687472 SHA512 d56ecac164e00e9514cd3c6c8c453598b323118dc7d7ae7cc14ba0847d50a2e455b2391f52e0d81af325b02d8f73a7d2ed66bf66d068dac4a496d777c83a398f DIST php-8.1.29.tar.xz 11826292 BLAKE2B 471f85504531c61e534c857a854de2ce9935b263e002deee19c4508390f6b2a11f89a02f55a90d660ee8d537b22a45db057e24373fb17fd2edf45f6e458f0196 SHA512 fd4f75224f71111a4cc40b3015ae70ac57a623326a3299da9ab8bd9dfad4ea27ff345d0eb75f1407d183207e763d372d738bbd8d217d01ec1414d29a547e8ba7 -DIST php-8.2.15.tar.xz 12075384 BLAKE2B cef15868968538e232093bd66d862a88f0960325f2274eaf53a3d114d01787c58844aa3bce8bc09a723acd95801e1935a60e79fc189317e7f1ba19196dbfcdc4 SHA512 56c94bcafe07cf4bf5eb5fc6c67fcf16654c44a262ffb18188fc3ffac5e9bb11d39093bfb26c26bc8d2dec7e530d1a175180909262c9b5c30130cf5a4a293166 -DIST php-8.2.18.tar.xz 12089400 BLAKE2B 82a4ef0aee7fa66018cb528e6fc2da40f67be2a75449ed85c54881e6725cfa9fe82d6d5655c12d2e92f3fd685479367b7c038df5af0d7a0a122d627c78c50514 SHA512 8bdd6e5aa19dac80745d258a43f7330a3096d47dc66cbef0054b8f9eb9ace5e87d841a4001185a783241a416975753c922425e977f50b2716ce643b6a7bf351f DIST php-8.2.20.tar.xz 12097568 BLAKE2B 1e38e48ea9c28abfe2c3bd860bc5d959fbe327669c007f2e2a665ae14f5a045f6ad8a0a972f32618f88ea1ff3636c2692504478b5b094b48404d6c4a214f863b SHA512 c659ed4809b6507aa428b483c85c7322815ac9d7d8e4bfe575513a5e69c5a680b8d089fd98a19f83d3a00df3de61468809f21408455913aa24d519776e44abc5 -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 +DIST php-8.2.22.tar.xz 12099476 BLAKE2B 8c6c664f0d48ce839971e5316b6c6619434babdf26013709589b2c5e91a63d79eddc3d716762ff1714620e7e5e35cf24f06eb270931dc6f15603e233c34728af SHA512 b72df5bf8bde09571a965f512b970e2403f1c9b26fbf9efc4d1aeb5940def10e4088e5c7dbb06087b2f5206d711e34849b0726af6a81b0c3b6d9bcbd14f5172d +DIST php-8.3.10.tar.xz 12484660 BLAKE2B a2cb60f83eea13aff7c907f322733a78f3d02bc334666a5350d795a84433252e0b27468f23eecc654fcfe882464da2699669bed247b7f4eaf40138bfb3773656 SHA512 99dc53cef802304dba455b7e1e54183e780fa21a58ec044ee5eac34d24fc9e5a1390447c18a3ef0035ef3dc531fc817016b47edab5b2e90af1233a73b59517be 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 26473 BLAKE2B ac859f939dc6d05ec1f0892f99fbf531431ce4cb667c20dbb4d83b194e70f341ed44483c93d985076a8c548ef86bee3665411fa82ba4e5089906da95b83d0515 SHA512 e257b6ec490df75935c4c3fd0cda4b2e3f74a8104f317af2e4dc505f705db32afc9242edc9a19f747b3f20962ef803678e4f56ef1738596438541ebf85868876 -EBUILD php-8.3.8.ebuild 23570 BLAKE2B 8a233faa961fa0a18c735a2c7b3ae1fb727c9ebea64cfdc20bb3b6a9abaa2a915e6e0dbc588ca2484b714fe3ca6d2ce6a18d2028fe3272016f2471f102e62c24 SHA512 b42e259799e820e2dcff8e23b06258c3366616599cf28fc3cc06b6a62d359ca6715fb9cedaa062ade8522d629e428dadd9a86bce5bb15384335164f0301a9ea4 -MISC metadata.xml 4134 BLAKE2B 62c1c5052c50db537586edc1db639fa94e24609ea027208177566ae7f7f9199103bb3ef5b636766508027e8e7aacb8451d25b57e981b582bc42299e199696a68 SHA512 b059c7552c18dfcabe82170c1ae5978421284f3ea9ea9505359c1441ccc76b668a5555919251c6ca55f1f450da9363a8ac7b30c393a8506921f790e0f4197dbb +EBUILD php-8.2.20.ebuild 26562 BLAKE2B 37bf48f7beb96e95c97504adb1db1f2f9baefc726728d15676e42789bee44480084c6bc24caa07ec89b7e551a1fdc36cdea56b6c933c292cfcc89c2398ab6a9b SHA512 96801bf89f12256b192d646e439c3fdf43eb4420d6c207cf6387cadb6c1f75a72f75c36758710000a023e38f40fecb4e4e654356f381318486d1303bdbf1a30a +EBUILD php-8.2.22.ebuild 26569 BLAKE2B aa1f70b3a03c2ba61de8b690badede9b6f76e18bc294ff1f6eddae6b0b269a4767893544c442e62ebb2fd7604d6858a3a10cb4ff10cd5c524fedfbd692f0c80c SHA512 6aef01b5b27d08cf8a12d56bea8f48cb4d28731e4203533a25c18737c2597ce76ff7984c2d5e6c68f279d872ed53efea2ec17e89a4045a989e59074921ad3099 +EBUILD php-8.3.10.ebuild 24492 BLAKE2B 837a042bcf8934f63650976259edc82bf9617ba1bc5dfc3c13dd884a7a29ee8d409ac9c89626420847843a62ad59937ae55b72351dadf08054fa1532ee388300 SHA512 36b752fddccba455d1313c2c425c610268a62993e9854e41a4c609afea2fd971779ddb823e0dd04fe78d036c0991ed8be1847d4ac0071ff12257dac89541abf2 +MISC metadata.xml 4249 BLAKE2B 11f9270fbc0cae280ec3ec62c9e6acfc643f4c7952822537664e8bcdbdfed64805b0e83fcbfb83111123745fadf64b276b51e1e27c9b5eb38ef8ffc30965d12b SHA512 39c59d31de21a66ca55a4816bebd901c8f2b28b7d1340605845c535cc979bca4d8641280bf45782d5d3eb94820e054e7f52491a23a4d1cf692774e11becc55c1 diff --git a/dev-lang/php/files/php-8.3.10-optional-png-testfixen.patch b/dev-lang/php/files/php-8.3.10-optional-png-testfixen.patch new file mode 100644 index 000000000000..def26884ef2f --- /dev/null +++ b/dev-lang/php/files/php-8.3.10-optional-png-testfixen.patch @@ -0,0 +1,1249 @@ +From e25636b087c507bf12922c8faf9f526aa87153a6 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Wed, 23 Aug 2023 18:42:17 -0400 +Subject: [PATCH 1/3] ext/gd/tests: fix three misleading die() messages + +Three of our gd tests could be skipped with a message about requiring +bundled GD, but those tests don't actually require bundled GD. We +update the messages to mention the specific functions that are +required. +--- + ext/gd/tests/bug24155.phpt | 2 +- + ext/gd/tests/bug39366.phpt | 2 +- + ext/gd/tests/imagefilter.phpt | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ext/gd/tests/bug24155.phpt b/ext/gd/tests/bug24155.phpt +index 42c5e3d7926f5..7c12c38a1a6d7 100644 +--- a/ext/gd/tests/bug24155.phpt ++++ b/ext/gd/tests/bug24155.phpt +@@ -4,7 +4,7 @@ Bug #24155 (gdImageRotate270 rotation problem). + gd + --SKIPIF-- + <?php +- if (!function_exists("imagerotate")) die("skip requires bundled GD library\n"); ++ if (!function_exists("imagerotate")) die("skip requires imagerotate function"); + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug39366.phpt b/ext/gd/tests/bug39366.phpt +index 2fedbcef43dfe..81e81059c27e8 100644 +--- a/ext/gd/tests/bug39366.phpt ++++ b/ext/gd/tests/bug39366.phpt +@@ -4,7 +4,7 @@ Bug #39366 (imagerotate does not respect alpha with angles>45) + gd + --SKIPIF-- + <?php +- if (!function_exists("imagerotate")) die("skip requires bundled GD library\n"); ++ if (!function_exists("imagerotate")) die("skip requires imagerotate function"); + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagefilter.phpt b/ext/gd/tests/imagefilter.phpt +index 156f465da6016..79a73472511c7 100644 +--- a/ext/gd/tests/imagefilter.phpt ++++ b/ext/gd/tests/imagefilter.phpt +@@ -4,7 +4,7 @@ imagefilter() function test + gd + --SKIPIF-- + <?php +- if (!function_exists("imagefilter")) die("skip requires bundled GD library\n"); ++ if (!function_exists("imagefilter")) die("skip requires imagefilter function"); + ?> + --FILE-- + <?php + +From 68a5f3f0a8e6299dddaafa2118ff322c532f1ae1 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Wed, 23 Aug 2023 19:56:10 -0400 +Subject: [PATCH 2/3] ext/gd/tests: add SKIPIF stanzas for missing PNG support + +The bundled libgd always has PNG support, but an external one may not. +--- + ext/gd/tests/bug22544-mb.phpt | 6 ++++++ + ext/gd/tests/bug22544.phpt | 6 ++++++ + ext/gd/tests/bug24155.phpt | 3 +++ + ext/gd/tests/bug27582_1.phpt | 6 ++++++ + ext/gd/tests/bug39780_extern.phpt | 3 +++ + ext/gd/tests/bug43073.phpt | 3 +++ + ext/gd/tests/bug43475.phpt | 3 +++ + ext/gd/tests/bug43828.phpt | 3 +++ + ext/gd/tests/bug45799.phpt | 6 ++++++ + ext/gd/tests/bug47946.phpt | 3 +++ + ext/gd/tests/bug48732-mb.phpt | 3 +++ + ext/gd/tests/bug48732.phpt | 4 ++++ + ext/gd/tests/bug50194.phpt | 4 +++- + ext/gd/tests/bug51498.phpt | 3 +++ + ext/gd/tests/bug52070.phpt | 6 ++++++ + ext/gd/tests/bug53504.phpt | 3 +++ + ext/gd/tests/bug64641.phpt | 3 +++ + ext/gd/tests/bug66005.phpt | 6 ++++++ + ext/gd/tests/bug72482_2.phpt | 6 ++++++ + ext/gd/tests/bug72604.phpt | 6 ++++++ + ext/gd/tests/bug72913.phpt | 6 ++++++ + ext/gd/tests/bug73213.phpt | 6 ++++++ + ext/gd/tests/bug73272.phpt | 6 ++++++ + ext/gd/tests/bug73549.phpt | 6 ++++++ + ext/gd/tests/bug73614.phpt | 3 +++ + ext/gd/tests/bug74031.phpt | 6 ++++++ + ext/gd/tests/bug75124.phpt | 3 +++ + ext/gd/tests/bug77943.phpt | 6 ++++++ + ext/gd/tests/bug79945.phpt | 3 +++ + ext/gd/tests/imagearc_basic.phpt | 6 ++++++ + ext/gd/tests/imagearc_variation1.phpt | 6 ++++++ + ext/gd/tests/imagearc_variation2.phpt | 6 ++++++ + ext/gd/tests/imagechar_basic.phpt | 6 ++++++ + ext/gd/tests/imagecharup_basic.phpt | 6 ++++++ + ext/gd/tests/imagecolorallocatealpha_basic.phpt | 3 +++ + ext/gd/tests/imagecolorset_basic.phpt | 6 ++++++ + ext/gd/tests/imageconvolution_basic.phpt | 6 ++++++ + ext/gd/tests/imagecopyresampled_basic.phpt | 6 ++++++ + ext/gd/tests/imagecreatefrombmp_basic.phpt | 3 +++ + ext/gd/tests/imagecreatefromstring_bmp.phpt | 3 +++ + ext/gd/tests/imagecreatefromtga_basic.phpt | 3 +++ + ext/gd/tests/imagecreatefromtga_variation.phpt | 3 +++ + ext/gd/tests/imagecreatetruecolor_basic.phpt | 3 +++ + ext/gd/tests/imagecrop_auto.phpt | 3 +++ + ext/gd/tests/imagedashedline_basic.phpt | 3 +++ + ext/gd/tests/imageellipse_basic.phpt | 6 ++++++ + ext/gd/tests/imagefilledarc_basic.phpt | 3 +++ + ext/gd/tests/imagefilledarc_variation1.phpt | 3 +++ + ext/gd/tests/imagefilledarc_variation2.phpt | 3 +++ + ext/gd/tests/imagefilledellipse_basic.phpt | 6 ++++++ + ext/gd/tests/imagefilledpolygon_basic.phpt | 3 +++ + ext/gd/tests/imagefilltoborder_basic.phpt | 6 ++++++ + ext/gd/tests/imagefilter.phpt | 3 +++ + ext/gd/tests/imagegammacorrect_basic.phpt | 3 +++ + ext/gd/tests/imagegammacorrect_variation1.phpt | 3 +++ + ext/gd/tests/imagegammacorrect_variation2.phpt | 6 ++++++ + ext/gd/tests/imageopenpolygon_basic.phpt | 6 ++++++ + ext/gd/tests/imagepolygon_aa.phpt | 6 ++++++ + ext/gd/tests/imagepolygon_basic.phpt | 3 +++ + ext/gd/tests/imagerectangle_basic.phpt | 6 ++++++ + ext/gd/tests/imageresolution_png.phpt | 6 ++++++ + ext/gd/tests/imagesetbrush_basic.phpt | 6 ++++++ + ext/gd/tests/imagesetthickness_basic.phpt | 3 +++ + ext/gd/tests/imagestring_basic.phpt | 6 ++++++ + ext/gd/tests/imagestringup_basic.phpt | 6 ++++++ + ext/gd/tests/imagetruecolortopalette_basic.phpt | 3 +++ + ext/gd/tests/libgd00086_extern.phpt | 3 +++ + ext/gd/tests/test_image_equals_file_palette.phpt | 6 ++++++ + 68 files changed, 307 insertions(+), 1 deletion(-) + +diff --git a/ext/gd/tests/bug22544-mb.phpt b/ext/gd/tests/bug22544-mb.phpt +index b67478e558c47..f99307df1212b 100644 +--- a/ext/gd/tests/bug22544-mb.phpt ++++ b/ext/gd/tests/bug22544-mb.phpt +@@ -2,6 +2,12 @@ + Bug #22544 (TrueColor transparency in PNG images). + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $image = imageCreateTruecolor(640, 100); +diff --git a/ext/gd/tests/bug22544.phpt b/ext/gd/tests/bug22544.phpt +index 1fba04d93739c..28fc6bdfbb0c1 100644 +--- a/ext/gd/tests/bug22544.phpt ++++ b/ext/gd/tests/bug22544.phpt +@@ -2,6 +2,12 @@ + Bug #22544 (TrueColor transparency in PNG images). + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $image = imageCreateTruecolor(640, 100); +diff --git a/ext/gd/tests/bug24155.phpt b/ext/gd/tests/bug24155.phpt +index 7c12c38a1a6d7..d78ee9b77816f 100644 +--- a/ext/gd/tests/bug24155.phpt ++++ b/ext/gd/tests/bug24155.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists("imagerotate")) die("skip requires imagerotate function"); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug27582_1.phpt b/ext/gd/tests/bug27582_1.phpt +index 2604c5fcaa9fd..1f15474f50d4b 100644 +--- a/ext/gd/tests/bug27582_1.phpt ++++ b/ext/gd/tests/bug27582_1.phpt +@@ -2,6 +2,12 @@ + Bug #27582 (ImageFillToBorder() on alphablending image looses alpha on fill color) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $dest = dirname(realpath(__FILE__)) . '/bug27582.png'; +diff --git a/ext/gd/tests/bug39780_extern.phpt b/ext/gd/tests/bug39780_extern.phpt +index 2330bd65e57ab..438816fe22c6a 100644 +--- a/ext/gd/tests/bug39780_extern.phpt ++++ b/ext/gd/tests/bug39780_extern.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (GD_BUNDLED) die("skip requires extern GD\n"); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug43073.phpt b/ext/gd/tests/bug43073.phpt +index 5c54d8770f86b..80c6480fea576 100644 +--- a/ext/gd/tests/bug43073.phpt ++++ b/ext/gd/tests/bug43073.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if(!function_exists('imagettftext')) die('skip imagettftext() not available'); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug43475.phpt b/ext/gd/tests/bug43475.phpt +index 8944b57e3cde7..454d2daad0f1a 100644 +--- a/ext/gd/tests/bug43475.phpt ++++ b/ext/gd/tests/bug43475.phpt +@@ -7,6 +7,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug43828.phpt b/ext/gd/tests/bug43828.phpt +index 8a0caf5decc35..8bc3f9bbcaf83 100644 +--- a/ext/gd/tests/bug43828.phpt ++++ b/ext/gd/tests/bug43828.phpt +@@ -7,6 +7,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug45799.phpt b/ext/gd/tests/bug45799.phpt +index 8576b4d007822..f7124ce5b9713 100644 +--- a/ext/gd/tests/bug45799.phpt ++++ b/ext/gd/tests/bug45799.phpt +@@ -2,6 +2,12 @@ + Bug #45799 (imagepng() crashes on empty image). + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $img = imagecreate(500,500); +diff --git a/ext/gd/tests/bug47946.phpt b/ext/gd/tests/bug47946.phpt +index 39e5aef9edffc..a87300568326f 100644 +--- a/ext/gd/tests/bug47946.phpt ++++ b/ext/gd/tests/bug47946.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.5', '<=')) die('skip upstream fix not yet released'); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug48732-mb.phpt b/ext/gd/tests/bug48732-mb.phpt +index 13a881254c203..361c1ac4d88f8 100644 +--- a/ext/gd/tests/bug48732-mb.phpt ++++ b/ext/gd/tests/bug48732-mb.phpt +@@ -6,6 +6,9 @@ gd + <?php + if(!function_exists('imagefttext')) die('skip imagefttext() not available'); + if (substr(PHP_OS, 0, 3) == 'WIN') die('skip UTF-8 font file names not yet supported on Windows'); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug48732.phpt b/ext/gd/tests/bug48732.phpt +index 44e4204503ef7..ed73954de3337 100644 +--- a/ext/gd/tests/bug48732.phpt ++++ b/ext/gd/tests/bug48732.phpt +@@ -2,9 +2,13 @@ + Bug #48732 (TTF Bounding box wrong for letters below baseline) + --EXTENSIONS-- + gd ++ + --SKIPIF-- + <?php + if(!function_exists('imagefttext')) die('skip imagefttext() not available'); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug50194.phpt b/ext/gd/tests/bug50194.phpt +index 2addfe0e8325d..33d2400c46e80 100644 +--- a/ext/gd/tests/bug50194.phpt ++++ b/ext/gd/tests/bug50194.phpt +@@ -5,7 +5,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists('imagettftext')) die('skip imagettftext() not available'); +-//die('skip freetype issues'); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug51498.phpt b/ext/gd/tests/bug51498.phpt +index 808444376525e..756ba1f71dc33 100644 +--- a/ext/gd/tests/bug51498.phpt ++++ b/ext/gd/tests/bug51498.phpt +@@ -7,6 +7,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, "2.3.0") < 0) { + die("skip test requires GD 2.3.0 or higher"); + } ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug52070.phpt b/ext/gd/tests/bug52070.phpt +index 1ba28affdbfcd..6bbe2363a650b 100644 +--- a/ext/gd/tests/bug52070.phpt ++++ b/ext/gd/tests/bug52070.phpt +@@ -2,6 +2,12 @@ + Bug #52070 (imagedashedline() - dashed line sometimes is not visible) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $im = imagecreate(1200, 800); +diff --git a/ext/gd/tests/bug53504.phpt b/ext/gd/tests/bug53504.phpt +index bb74497af05ab..5bd81f35aa0cb 100644 +--- a/ext/gd/tests/bug53504.phpt ++++ b/ext/gd/tests/bug53504.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if(!function_exists('imageftbbox')) die('skip imageftbbox() not available'); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug64641.phpt b/ext/gd/tests/bug64641.phpt +index d300bd8fc6a0a..edfebee99c92a 100644 +--- a/ext/gd/tests/bug64641.phpt ++++ b/ext/gd/tests/bug64641.phpt +@@ -7,6 +7,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug66005.phpt b/ext/gd/tests/bug66005.phpt +index 78e0f481dab17..3f3b421b8856a 100644 +--- a/ext/gd/tests/bug66005.phpt ++++ b/ext/gd/tests/bug66005.phpt +@@ -2,6 +2,12 @@ + Bug #66005 (imagecopy does not support 1bit transparency on truecolor images) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $dest = imagecreatetruecolor(150, 50); +diff --git a/ext/gd/tests/bug72482_2.phpt b/ext/gd/tests/bug72482_2.phpt +index 89f5bb28a77bd..0583fa4dedde3 100644 +--- a/ext/gd/tests/bug72482_2.phpt ++++ b/ext/gd/tests/bug72482_2.phpt +@@ -2,6 +2,12 @@ + Bug 72482 (Ilegal write/read access caused by gdImageAALine overflow) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc'; +diff --git a/ext/gd/tests/bug72604.phpt b/ext/gd/tests/bug72604.phpt +index 706d7891c3220..a7d24e78dfefe 100644 +--- a/ext/gd/tests/bug72604.phpt ++++ b/ext/gd/tests/bug72604.phpt +@@ -2,6 +2,12 @@ + Bug #72604 (imagearc() ignores thickness for full arcs) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $im = imagecreatetruecolor(100, 100); +diff --git a/ext/gd/tests/bug72913.phpt b/ext/gd/tests/bug72913.phpt +index c3a7e9f9f56cf..9eb9c24653530 100644 +--- a/ext/gd/tests/bug72913.phpt ++++ b/ext/gd/tests/bug72913.phpt +@@ -2,6 +2,12 @@ + Bug #72913 (imagecopy() loses single-color transparency on palette images) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $base64 = 'iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAIAAACRXR/mAAAABnRSTlMAAAAAAABu' +diff --git a/ext/gd/tests/bug73213.phpt b/ext/gd/tests/bug73213.phpt +index c4c4bd6feeaf1..47fe8043135f8 100644 +--- a/ext/gd/tests/bug73213.phpt ++++ b/ext/gd/tests/bug73213.phpt +@@ -2,6 +2,12 @@ + Bug #73213 (Integer overflow in imageline() with antialiasing) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc'; +diff --git a/ext/gd/tests/bug73272.phpt b/ext/gd/tests/bug73272.phpt +index cf10eb227ae11..0f0920b2687db 100644 +--- a/ext/gd/tests/bug73272.phpt ++++ b/ext/gd/tests/bug73272.phpt +@@ -2,6 +2,12 @@ + Bug #73272 (imagescale() is not affected by, but affects imagesetinterpolation()) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc'; +diff --git a/ext/gd/tests/bug73549.phpt b/ext/gd/tests/bug73549.phpt +index d25941dd565d3..26a7474b7d5b4 100644 +--- a/ext/gd/tests/bug73549.phpt ++++ b/ext/gd/tests/bug73549.phpt +@@ -2,6 +2,12 @@ + Bug #73549 (Use after free when stream is passed to imagepng) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $stream = fopen(__DIR__ . DIRECTORY_SEPARATOR . 'bug73549.png', 'w'); +diff --git a/ext/gd/tests/bug73614.phpt b/ext/gd/tests/bug73614.phpt +index def4d37421160..e1261643f7116 100644 +--- a/ext/gd/tests/bug73614.phpt ++++ b/ext/gd/tests/bug73614.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.5', '<=')) die('skip upstream bugfix not yet released'); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug74031.phpt b/ext/gd/tests/bug74031.phpt +index b4efa6b749e8e..6dfb351fcff97 100644 +--- a/ext/gd/tests/bug74031.phpt ++++ b/ext/gd/tests/bug74031.phpt +@@ -2,6 +2,12 @@ + (Bug #74031) ReflectionFunction for imagepng returns wrong number of parameters + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/bug75124.phpt b/ext/gd/tests/bug75124.phpt +index 47b36157fec90..26e44f1d6a011 100644 +--- a/ext/gd/tests/bug75124.phpt ++++ b/ext/gd/tests/bug75124.phpt +@@ -7,6 +7,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.5', '<')) { + die('skip only for bundled libgd or external libgd >= 2.2.5'); + } ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug77943.phpt b/ext/gd/tests/bug77943.phpt +index 8ed4114128f25..d7d71ceca84ae 100644 +--- a/ext/gd/tests/bug77943.phpt ++++ b/ext/gd/tests/bug77943.phpt +@@ -2,6 +2,12 @@ + Bug #77943 (imageantialias($image, false); does not work) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require_once __DIR__ . '/func.inc'; +diff --git a/ext/gd/tests/bug79945.phpt b/ext/gd/tests/bug79945.phpt +index b985ddd48be31..5db958e36d358 100644 +--- a/ext/gd/tests/bug79945.phpt ++++ b/ext/gd/tests/bug79945.phpt +@@ -4,6 +4,9 @@ Bug #79945 (using php wrappers in imagecreatefrompng causes segmentation fault) + gd + --SKIPIF-- + <?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + set_error_handler(function($errno, $errstr) { + if (str_contains($errstr, 'Cannot cast a filtered stream on this system')) { + die('skip: fopencookie not support on this system'); +diff --git a/ext/gd/tests/imagearc_basic.phpt b/ext/gd/tests/imagearc_basic.phpt +index be80f6c5f2317..339ea0b79d18d 100644 +--- a/ext/gd/tests/imagearc_basic.phpt ++++ b/ext/gd/tests/imagearc_basic.phpt +@@ -5,6 +5,12 @@ Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/imagearc_variation1.phpt b/ext/gd/tests/imagearc_variation1.phpt +index 89719aa60b494..bf20c74f0ce40 100644 +--- a/ext/gd/tests/imagearc_variation1.phpt ++++ b/ext/gd/tests/imagearc_variation1.phpt +@@ -5,6 +5,12 @@ Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/imagearc_variation2.phpt b/ext/gd/tests/imagearc_variation2.phpt +index 4597cf3a8ff89..c23bca840bf4e 100644 +--- a/ext/gd/tests/imagearc_variation2.phpt ++++ b/ext/gd/tests/imagearc_variation2.phpt +@@ -5,6 +5,12 @@ Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/imagechar_basic.phpt b/ext/gd/tests/imagechar_basic.phpt +index 3195eb82d4d4f..649dcccc2de87 100644 +--- a/ext/gd/tests/imagechar_basic.phpt ++++ b/ext/gd/tests/imagechar_basic.phpt +@@ -5,6 +5,12 @@ Rafael Dohms <rdohms [at] gmail [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $image = imagecreatetruecolor(180, 30); +diff --git a/ext/gd/tests/imagecharup_basic.phpt b/ext/gd/tests/imagecharup_basic.phpt +index 82bc18d6ad609..7ebbb8fce9a07 100644 +--- a/ext/gd/tests/imagecharup_basic.phpt ++++ b/ext/gd/tests/imagecharup_basic.phpt +@@ -5,6 +5,12 @@ Rafael Dohms <rdohms [at] gmail [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $image = imagecreatetruecolor(180, 30); +diff --git a/ext/gd/tests/imagecolorallocatealpha_basic.phpt b/ext/gd/tests/imagecolorallocatealpha_basic.phpt +index cc02aaed0d8b3..24ac882d550d5 100644 +--- a/ext/gd/tests/imagecolorallocatealpha_basic.phpt ++++ b/ext/gd/tests/imagecolorallocatealpha_basic.phpt +@@ -9,6 +9,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagecolorset_basic.phpt b/ext/gd/tests/imagecolorset_basic.phpt +index cb9b3683aa8ee..5ed9a1ab8600e 100644 +--- a/ext/gd/tests/imagecolorset_basic.phpt ++++ b/ext/gd/tests/imagecolorset_basic.phpt +@@ -5,6 +5,12 @@ Erick Belluci Tedeschi <erickbt86 [at] gmail [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + // Create a 300x100 image +diff --git a/ext/gd/tests/imageconvolution_basic.phpt b/ext/gd/tests/imageconvolution_basic.phpt +index aa8347884999a..d8204e2d7eb28 100644 +--- a/ext/gd/tests/imageconvolution_basic.phpt ++++ b/ext/gd/tests/imageconvolution_basic.phpt +@@ -5,6 +5,12 @@ Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $image = imagecreatetruecolor(180, 30); +diff --git a/ext/gd/tests/imagecopyresampled_basic.phpt b/ext/gd/tests/imagecopyresampled_basic.phpt +index a3200b3537809..9fb1178e540ae 100644 +--- a/ext/gd/tests/imagecopyresampled_basic.phpt ++++ b/ext/gd/tests/imagecopyresampled_basic.phpt +@@ -2,6 +2,12 @@ + imagecopyresampled() + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/imagecreatefrombmp_basic.phpt b/ext/gd/tests/imagecreatefrombmp_basic.phpt +index 51eb22c71adf0..4989e617b4719 100644 +--- a/ext/gd/tests/imagecreatefrombmp_basic.phpt ++++ b/ext/gd/tests/imagecreatefrombmp_basic.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!(imagetypes() & IMG_BMP)) die('skip BMP support required'); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagecreatefromstring_bmp.phpt b/ext/gd/tests/imagecreatefromstring_bmp.phpt +index 8f9e1dd675b91..34db04297e3aa 100644 +--- a/ext/gd/tests/imagecreatefromstring_bmp.phpt ++++ b/ext/gd/tests/imagecreatefromstring_bmp.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!(imagetypes() & IMG_BMP)) die('skip BMP support required'); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagecreatefromtga_basic.phpt b/ext/gd/tests/imagecreatefromtga_basic.phpt +index 25f034878b0c6..c66f66efbd638 100644 +--- a/ext/gd/tests/imagecreatefromtga_basic.phpt ++++ b/ext/gd/tests/imagecreatefromtga_basic.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!(imagetypes() & IMG_TGA)) die('skip TGA support required'); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagecreatefromtga_variation.phpt b/ext/gd/tests/imagecreatefromtga_variation.phpt +index 0948f978f2f6a..be9c7977bd6a7 100644 +--- a/ext/gd/tests/imagecreatefromtga_variation.phpt ++++ b/ext/gd/tests/imagecreatefromtga_variation.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!(imagetypes() & IMG_TGA)) die('skip TGA support required'); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagecreatetruecolor_basic.phpt b/ext/gd/tests/imagecreatetruecolor_basic.phpt +index 5af8a0a1a32bc..2e8a1ef983bd3 100644 +--- a/ext/gd/tests/imagecreatetruecolor_basic.phpt ++++ b/ext/gd/tests/imagecreatetruecolor_basic.phpt +@@ -7,6 +7,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible"); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagecrop_auto.phpt b/ext/gd/tests/imagecrop_auto.phpt +index 5d3d50b3ef317..5ed8e446a7f26 100644 +--- a/ext/gd/tests/imagecrop_auto.phpt ++++ b/ext/gd/tests/imagecrop_auto.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists('imagecrop')) die( 'skip GD imagecropauto not present; skipping test' ); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagedashedline_basic.phpt b/ext/gd/tests/imagedashedline_basic.phpt +index b36ffbfc6f593..d9ca69ad5f0b8 100644 +--- a/ext/gd/tests/imagedashedline_basic.phpt ++++ b/ext/gd/tests/imagedashedline_basic.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists('imagedashedline')) die('skip imagedashedline() not available'); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imageellipse_basic.phpt b/ext/gd/tests/imageellipse_basic.phpt +index 0c86e7cfcb859..da1e0e9926086 100644 +--- a/ext/gd/tests/imageellipse_basic.phpt ++++ b/ext/gd/tests/imageellipse_basic.phpt +@@ -5,6 +5,12 @@ Ivan Rosolen <contato [at] ivanrosolen [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/imagefilledarc_basic.phpt b/ext/gd/tests/imagefilledarc_basic.phpt +index f3b8c7ac8e89e..006ed4aaa23b4 100644 +--- a/ext/gd/tests/imagefilledarc_basic.phpt ++++ b/ext/gd/tests/imagefilledarc_basic.phpt +@@ -10,6 +10,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagefilledarc_variation1.phpt b/ext/gd/tests/imagefilledarc_variation1.phpt +index d25d2afc87987..d00c9b6c0be1e 100644 +--- a/ext/gd/tests/imagefilledarc_variation1.phpt ++++ b/ext/gd/tests/imagefilledarc_variation1.phpt +@@ -10,6 +10,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagefilledarc_variation2.phpt b/ext/gd/tests/imagefilledarc_variation2.phpt +index fb4675ec5dd69..61157a0173158 100644 +--- a/ext/gd/tests/imagefilledarc_variation2.phpt ++++ b/ext/gd/tests/imagefilledarc_variation2.phpt +@@ -10,6 +10,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagefilledellipse_basic.phpt b/ext/gd/tests/imagefilledellipse_basic.phpt +index 19a94b1200e24..a494b15c28e2e 100644 +--- a/ext/gd/tests/imagefilledellipse_basic.phpt ++++ b/ext/gd/tests/imagefilledellipse_basic.phpt +@@ -2,6 +2,12 @@ + Testing imagefilledellipse() of GD library + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/imagefilledpolygon_basic.phpt b/ext/gd/tests/imagefilledpolygon_basic.phpt +index 6cba5238d3246..bbb8f9c2eb044 100644 +--- a/ext/gd/tests/imagefilledpolygon_basic.phpt ++++ b/ext/gd/tests/imagefilledpolygon_basic.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists('imagefilledpolygon')) die('skip imagefilledpolygon() not available'); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagefilltoborder_basic.phpt b/ext/gd/tests/imagefilltoborder_basic.phpt +index 7e79ea47b46b6..f8ebe86bb2c6d 100644 +--- a/ext/gd/tests/imagefilltoborder_basic.phpt ++++ b/ext/gd/tests/imagefilltoborder_basic.phpt +@@ -5,6 +5,12 @@ Ivan Rosolen <contato [at] ivanrosolen [dot] com> + #testfest PHPSP on 2009-06-30 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + // Create a image +diff --git a/ext/gd/tests/imagefilter.phpt b/ext/gd/tests/imagefilter.phpt +index 79a73472511c7..c8cf182d9d4eb 100644 +--- a/ext/gd/tests/imagefilter.phpt ++++ b/ext/gd/tests/imagefilter.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists("imagefilter")) die("skip requires imagefilter function"); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagegammacorrect_basic.phpt b/ext/gd/tests/imagegammacorrect_basic.phpt +index 67b2a36a1657a..4f52309c825bf 100644 +--- a/ext/gd/tests/imagegammacorrect_basic.phpt ++++ b/ext/gd/tests/imagegammacorrect_basic.phpt +@@ -10,6 +10,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagegammacorrect_variation1.phpt b/ext/gd/tests/imagegammacorrect_variation1.phpt +index 1c41a257b9ec4..55370aa49cf87 100644 +--- a/ext/gd/tests/imagegammacorrect_variation1.phpt ++++ b/ext/gd/tests/imagegammacorrect_variation1.phpt +@@ -10,6 +10,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagegammacorrect_variation2.phpt b/ext/gd/tests/imagegammacorrect_variation2.phpt +index c75c728296bec..33c89d205a1a7 100644 +--- a/ext/gd/tests/imagegammacorrect_variation2.phpt ++++ b/ext/gd/tests/imagegammacorrect_variation2.phpt +@@ -2,6 +2,12 @@ + Apply imagegammacorrect() to a step wedge + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require __DIR__ . DIRECTORY_SEPARATOR . 'func.inc'; +diff --git a/ext/gd/tests/imageopenpolygon_basic.phpt b/ext/gd/tests/imageopenpolygon_basic.phpt +index 6ed6d63a5ac47..ed8d3b698d11c 100644 +--- a/ext/gd/tests/imageopenpolygon_basic.phpt ++++ b/ext/gd/tests/imageopenpolygon_basic.phpt +@@ -2,6 +2,12 @@ + imageopenpolygon(): basic test + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc'; +diff --git a/ext/gd/tests/imagepolygon_aa.phpt b/ext/gd/tests/imagepolygon_aa.phpt +index 77fef3beed9a5..a0fded6e5e06c 100644 +--- a/ext/gd/tests/imagepolygon_aa.phpt ++++ b/ext/gd/tests/imagepolygon_aa.phpt +@@ -2,6 +2,12 @@ + antialiased imagepolygon() + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc'; +diff --git a/ext/gd/tests/imagepolygon_basic.phpt b/ext/gd/tests/imagepolygon_basic.phpt +index 4d17b30eacfa9..c41b0710ef435 100644 +--- a/ext/gd/tests/imagepolygon_basic.phpt ++++ b/ext/gd/tests/imagepolygon_basic.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists('imagepolygon')) die('skip imagepolygon() not available'); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagerectangle_basic.phpt b/ext/gd/tests/imagerectangle_basic.phpt +index d71c44156f98c..a40b130cba7d2 100644 +--- a/ext/gd/tests/imagerectangle_basic.phpt ++++ b/ext/gd/tests/imagerectangle_basic.phpt +@@ -5,6 +5,12 @@ Ivan Rosolen <contato [at] ivanrosolen [dot] com> + #testfest PHPSP on 2009-06-30 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + // Create a image +diff --git a/ext/gd/tests/imageresolution_png.phpt b/ext/gd/tests/imageresolution_png.phpt +index a72f351a156bf..13f51cd8f3a4a 100644 +--- a/ext/gd/tests/imageresolution_png.phpt ++++ b/ext/gd/tests/imageresolution_png.phpt +@@ -2,6 +2,12 @@ + Set and get image resolution of PNG images + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $filename = __DIR__ . DIRECTORY_SEPARATOR . 'imageresolution_png.png'; +diff --git a/ext/gd/tests/imagesetbrush_basic.phpt b/ext/gd/tests/imagesetbrush_basic.phpt +index be8a3d33e4ad7..5142e3690b85f 100644 +--- a/ext/gd/tests/imagesetbrush_basic.phpt ++++ b/ext/gd/tests/imagesetbrush_basic.phpt +@@ -5,6 +5,12 @@ Erick Belluci Tedeschi <erickbt86 [at] gmail [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + // Create the brush image +diff --git a/ext/gd/tests/imagesetthickness_basic.phpt b/ext/gd/tests/imagesetthickness_basic.phpt +index 88f7803dcf610..745dfcf905b92 100644 +--- a/ext/gd/tests/imagesetthickness_basic.phpt ++++ b/ext/gd/tests/imagesetthickness_basic.phpt +@@ -7,6 +7,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible"); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagestring_basic.phpt b/ext/gd/tests/imagestring_basic.phpt +index 1a71ba173c820..8a8e247eb0731 100644 +--- a/ext/gd/tests/imagestring_basic.phpt ++++ b/ext/gd/tests/imagestring_basic.phpt +@@ -5,6 +5,12 @@ Rafael Dohms <rdohms [at] gmail [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $image = imagecreatetruecolor(180, 30); +diff --git a/ext/gd/tests/imagestringup_basic.phpt b/ext/gd/tests/imagestringup_basic.phpt +index 85b85e1e31c51..f1e30a782fb88 100644 +--- a/ext/gd/tests/imagestringup_basic.phpt ++++ b/ext/gd/tests/imagestringup_basic.phpt +@@ -5,6 +5,12 @@ Rafael Dohms <rdohms [at] gmail [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $image = imagecreatetruecolor(180, 30); +diff --git a/ext/gd/tests/imagetruecolortopalette_basic.phpt b/ext/gd/tests/imagetruecolortopalette_basic.phpt +index ae4555bb2ad72..2f1c2961a603c 100644 +--- a/ext/gd/tests/imagetruecolortopalette_basic.phpt ++++ b/ext/gd/tests/imagetruecolortopalette_basic.phpt +@@ -10,6 +10,9 @@ gd + die("skip test requires GD 2.2.2 or higher"); + } + if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible"); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/libgd00086_extern.phpt b/ext/gd/tests/libgd00086_extern.phpt +index 8d2b0b7d8dbe8..a3585180b83e8 100644 +--- a/ext/gd/tests/libgd00086_extern.phpt ++++ b/ext/gd/tests/libgd00086_extern.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (GD_BUNDLED) die("skip requires external GD library\n"); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/test_image_equals_file_palette.phpt b/ext/gd/tests/test_image_equals_file_palette.phpt +index a1022138230f6..2e294c04c4066 100644 +--- a/ext/gd/tests/test_image_equals_file_palette.phpt ++++ b/ext/gd/tests/test_image_equals_file_palette.phpt +@@ -2,6 +2,12 @@ + test_image_equals_file(): comparing palette images + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc'; + +From 14d9f2349274597bfc81c46222ea7e808d372bdb Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 30 Dec 2023 16:13:40 -0500 +Subject: [PATCH 3/3] ext/gd/tests: imagerotate() is always available + +Following 59ec80c5, the imagerotate() function is always available. We +may therefore remove its function_exists() checks without harm. +--- + ext/gd/tests/bug24155.phpt | 1 - + ext/gd/tests/bug39366.phpt | 4 ---- + ext/gd/tests/imagerotate_overflow.phpt | 6 ------ + 3 files changed, 11 deletions(-) + +diff --git a/ext/gd/tests/bug24155.phpt b/ext/gd/tests/bug24155.phpt +index d78ee9b77816f..c93c3bbbcb586 100644 +--- a/ext/gd/tests/bug24155.phpt ++++ b/ext/gd/tests/bug24155.phpt +@@ -4,7 +4,6 @@ Bug #24155 (gdImageRotate270 rotation problem). + gd + --SKIPIF-- + <?php +- if (!function_exists("imagerotate")) die("skip requires imagerotate function"); + if (!(imagetypes() & IMG_PNG)) { + die("skip No PNG support"); + } +diff --git a/ext/gd/tests/bug39366.phpt b/ext/gd/tests/bug39366.phpt +index 81e81059c27e8..3c8b0130a410a 100644 +--- a/ext/gd/tests/bug39366.phpt ++++ b/ext/gd/tests/bug39366.phpt +@@ -2,10 +2,6 @@ + Bug #39366 (imagerotate does not respect alpha with angles>45) + --EXTENSIONS-- + gd +---SKIPIF-- +-<?php +- if (!function_exists("imagerotate")) die("skip requires imagerotate function"); +-?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/imagerotate_overflow.phpt b/ext/gd/tests/imagerotate_overflow.phpt +index 29cc89c1c56eb..a7be335ca92a6 100644 +--- a/ext/gd/tests/imagerotate_overflow.phpt ++++ b/ext/gd/tests/imagerotate_overflow.phpt +@@ -2,12 +2,6 @@ + imagerotate() overflow with negative numbers + --EXTENSIONS-- + gd +---SKIPIF-- +-<?php +- if (!function_exists('imagerotate')) { +- die("skip imagerotate() not available."); +- } +-?> + --FILE-- + <?php + diff --git a/dev-lang/php/files/php-8.3.9-gd-cachevars.patch b/dev-lang/php/files/php-8.3.9-gd-cachevars.patch new file mode 100644 index 000000000000..cb6ae9f3479d --- /dev/null +++ b/dev-lang/php/files/php-8.3.9-gd-cachevars.patch @@ -0,0 +1,68 @@ +From b5e5a42d145be30be3856ff4be9af7978adec5c5 Mon Sep 17 00:00:00 2001 +From: Peter Kokot <peterkokot@gmail.com> +Date: Sun, 2 Jun 2024 19:47:39 +0200 +Subject: [PATCH] Wrap gdImageCreateFrom* checks in AC_CACHE_CHECK + +This enables cross-compiling edge cases to manually override the checks +with the php_cv_lib_gd_gdImageCreateFrom* cache variables. +--- + ext/gd/config.m4 | 39 ++++++++++++++++++++------------------- + 1 file changed, 20 insertions(+), 19 deletions(-) + +diff --git a/ext/gd/config.m4 b/ext/gd/config.m4 +index d9c6d4f6ee0c2..5c1c7a867c2f8 100644 +--- a/ext/gd/config.m4 ++++ b/ext/gd/config.m4 +@@ -147,14 +147,15 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function + dnl even when it does not support the Foo format. Those junk functions + dnl display a warning but eventually return normally, making a simple link + dnl or run test insufficient. +-AC_DEFUN([PHP_GD_CHECK_FORMAT],[ +- old_LIBS="${LIBS}" +- LIBS="${LIBS} ${GD_SHARED_LIBADD}" +- old_CFLAGS="${CFLAGS}" +- CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}" +- AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd]) +- AC_LANG_PUSH([C]) +- AC_RUN_IFELSE([AC_LANG_SOURCE([ ++AC_DEFUN([PHP_GD_CHECK_FORMAT], ++[AS_VAR_PUSHDEF([php_var], [php_cv_lib_gd_gdImageCreateFrom$1]) ++old_LIBS="${LIBS}" ++LIBS="${LIBS} ${GD_SHARED_LIBADD}" ++old_CFLAGS="${CFLAGS}" ++CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}" ++AC_LANG_PUSH([C]) ++AC_CACHE_CHECK([for working gdImageCreateFrom$1 in libgd], [php_var], ++ [AC_RUN_IFELSE([AC_LANG_SOURCE([ + #include <stdio.h> + #include <unistd.h> + #include <gd.h> +@@ -173,17 +174,17 @@ int main(int argc, char** argv) { + gdSetErrorMethod(exit1); + gdImagePtr p = gdImageCreateFrom$1(f); + return 0; +-}])],[ +- AC_MSG_RESULT([yes]) +- AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?]) +- ],[ +- AC_MSG_RESULT([no]) +- ],[ +- AC_MSG_RESULT([no]) +- ]) +- AC_LANG_POP([C]) +- CFLAGS="${old_CFLAGS}" +- LIBS="${old_LIBS}" ++}])], ++ [AS_VAR_SET([php_var], [yes])], ++ [AS_VAR_SET([php_var], [no])], ++ [AS_VAR_SET([php_var], [no])])]) ++AS_VAR_IF([php_var], [yes], ++ [AC_DEFINE_UNQUOTED([$2], [1], ++ [Define to 1 if GD library has 'gdImageCreateFrom$1'.])]) ++AC_LANG_POP([C]) ++CFLAGS="${old_CFLAGS}" ++LIBS="${old_LIBS}" ++AS_VAR_POPDEF([php_var]) + ]) + + AC_DEFUN([PHP_GD_CHECK_VERSION],[ diff --git a/dev-lang/php/metadata.xml b/dev-lang/php/metadata.xml index b903ac6d3745..ca91577505a3 100644 --- a/dev-lang/php/metadata.xml +++ b/dev-lang/php/metadata.xml @@ -86,6 +86,9 @@ <flag name="opcache"> Enables built-in opcode cache, replacing pecl-apc et al. </flag> + <flag name="opcache-jit"> + Enable Just In Time (JIT) compilation within the opcache extension + </flag> <flag name="pcntl"> Enable the Process Control extension </flag> diff --git a/dev-lang/php/php-8.1.26-r1.ebuild b/dev-lang/php/php-8.1.26-r1.ebuild deleted file mode 100644 index 4b24fb08bbe5..000000000000 --- a/dev-lang/php/php-8.1.26-r1.ebuild +++ /dev/null @@ -1,762 +0,0 @@ -# Copyright 1999-2024 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 ~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" - -# 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 coverage +ctype curl debug - enchant exif ffi +fileinfo +filter firebird - +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 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 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 ) ) - firebird? ( pdo ) - mssql? ( pdo ) -" - -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 ) ) - 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 ) ) - coverage? ( dev-util/lcov ) - curl? ( >=net-misc/curl-7.29.0 ) - enchant? ( app-text/enchant:2 ) - ffi? ( >=dev-libs/libffi-3.0.11:= ) - firebird? ( dev-db/firebird ) - 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:= ) - 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? ( >=sys-libs/zlib-1.2.0.4:0= ) -" - -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" -) - -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 - - # Remove false positive test failures - # stream_isatty fails due to portage redirects - # curl tests here fail for network sandbox issues - # session tests here fail because we set the session directory to $T - rm tests/output/stream_isatty_err.phpt \ - tests/output/stream_isatty_out-err.phpt \ - tests/output/stream_isatty_out.phpt \ - ext/curl/tests/bug76675.phpt \ - ext/curl/tests/bug77535.phpt \ - ext/curl/tests/curl_error_basic.phpt \ - ext/session/tests/bug74514.phpt \ - ext/session/tests/bug74936.phpt || die - -} - -src_configure() { - addpredict /usr/share/snmp/mibs/.index #nowarn - addpredict /var/lib/net-snmp/mib_indexes #nowarn - - PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" - - # https://bugs.gentoo.org/866683, https://bugs.gentoo.org/913527 - filter-lto - - # 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 - $(use_enable threads zts) - ) - - 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 coverage gcov) - $(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_with postgres pgsql "${EPREFIX}/usr") - $(use_enable posix) - $(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) - ) - - # 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 mysqli "mysqlnd") ) - - 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 firebird pdo-firebird "${EPREFIX}/usr") - $(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 - - local one_sapi - local sapi - mkdir -p "${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 - cd "${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 - 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 - - local sapi - for sapi in ${SAPIS} ; do - if use "${sapi}"; then - cd "${WORKDIR}/sapis-build/$sapi" || \ - die "Failed to change dir to ${WORKDIR}/sapis-build/$1" - emake - fi - 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() { - echo ">>> Test phase [test]: ${CATEGORY}/${PF}" - PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" - if [[ ! -x "${PHP_BIN}" ]] ; then - ewarn "Test phase requires USE=cli, skipping" - return - else - export TEST_PHP_EXECUTABLE="${PHP_BIN}" - fi - - 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 - - SKIP_ONLINE_TESTS=1 REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ - "session.save_path=${T}" \ - "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ - "session.save_path=${T}" - - for name in ${EXPECTED_TEST_FAILURES}; do - mv "${name}.out" "${name}.out.orig" 2>/dev/null || die - done - - local failed="$(find -name '*.out')" - if [[ ${failed} != "" ]] ; then - ewarn "The following test cases failed unexpectedly:" - for name in ${failed}; do - ewarn " ${name/.out/}" - done - else - einfo "No unexpected test failures, all fine" - fi - - if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then - local passed="" - for name in ${EXPECTED_TEST_FAILURES}; do - [[ -f "${name}.diff" ]] && continue - passed="${passed} ${name}" - done - if [[ ${passed} != "" ]] ; then - einfo "The following test cases passed unexpectedly:" - for name in ${passed}; do - ewarn " ${passed}" - done - else - einfo "None of the known-to-fail tests passed, all fine" - fi - fi -} - -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.1.28.ebuild b/dev-lang/php/php-8.1.28.ebuild deleted file mode 100644 index 4fb765cbc0a9..000000000000 --- a/dev-lang/php/php-8.1.28.ebuild +++ /dev/null @@ -1,782 +0,0 @@ -# Copyright 1999-2024 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 ~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" - -# 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 coverage +ctype curl debug - enchant exif ffi +fileinfo +filter firebird - +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 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 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 ) ) - firebird? ( pdo ) - mssql? ( pdo ) -" - -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 ) ) - 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 ) ) - coverage? ( dev-util/lcov ) - curl? ( >=net-misc/curl-7.29.0 ) - enchant? ( app-text/enchant:2 ) - ffi? ( >=dev-libs/libffi-3.0.11:= ) - firebird? ( dev-db/firebird ) - 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:= ) - 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? ( >=sys-libs/zlib-1.2.0.4:0= ) -" - -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.1.27-gcc14-libxml.patch" - "${FILESDIR}/php-8.1.27-implicit-decls.patch" - "${FILESDIR}/fix-musl-llvm.patch" -) - -# ARM/Windows functions that are expected to be undefined. -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 - - # Remove false positive test failures - # stream_isatty fails due to portage redirects - # curl tests here fail for network sandbox issues - # session tests here fail because we set the session directory to $T - rm tests/output/stream_isatty_err.phpt \ - tests/output/stream_isatty_out-err.phpt \ - tests/output/stream_isatty_out.phpt \ - ext/curl/tests/bug76675.phpt \ - ext/curl/tests/bug77535.phpt \ - ext/curl/tests/curl_error_basic.phpt \ - ext/session/tests/bug74514.phpt \ - ext/session/tests/bug74936.phpt \ - ext/fileinfo/tests/bug78987.phpt || die -} - -src_configure() { - addpredict /usr/share/snmp/mibs/.index #nowarn - addpredict /var/lib/net-snmp/mib_indexes #nowarn - - PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" - - # https://bugs.gentoo.org/866683, https://bugs.gentoo.org/913527 - filter-lto - - # 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 - $(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 coverage gcov) - $(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_with postgres pgsql "${EPREFIX}/usr") - $(use_enable posix) - $(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) - ) - - # 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 mysqli "mysqlnd") ) - - 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 firebird pdo-firebird "${EPREFIX}/usr") - $(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 - - local one_sapi - local sapi - mkdir -p "${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 - cd "${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 - 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 - - local sapi - for sapi in ${SAPIS} ; do - if use "${sapi}"; then - cd "${WORKDIR}/sapis-build/$sapi" || \ - die "Failed to change dir to ${WORKDIR}/sapis-build/$1" - emake - fi - 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() { - echo ">>> Test phase [test]: ${CATEGORY}/${PF}" - PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" - if [[ ! -x "${PHP_BIN}" ]] ; then - ewarn "Test phase requires USE=cli, skipping" - return - else - export TEST_PHP_EXECUTABLE="${PHP_BIN}" - fi - - 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 - - SKIP_ONLINE_TESTS=1 REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ - "session.save_path=${T}" \ - "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ - "session.save_path=${T}" - - for name in ${EXPECTED_TEST_FAILURES}; do - mv "${name}.out" "${name}.out.orig" 2>/dev/null || die - done - - local failed="$(find -name '*.out')" - if [[ ${failed} != "" ]] ; then - ewarn "The following test cases failed unexpectedly:" - for name in ${failed}; do - ewarn " ${name/.out/}" - done - else - einfo "No unexpected test failures, all fine" - fi - - if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then - local passed="" - for name in ${EXPECTED_TEST_FAILURES}; do - [[ -f "${name}.diff" ]] && continue - passed="${passed} ${name}" - done - if [[ ${passed} != "" ]] ; then - einfo "The following test cases passed unexpectedly:" - for name in ${passed}; do - ewarn " ${passed}" - done - else - einfo "None of the known-to-fail tests passed, all fine" - fi - fi -} - -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.2.15.ebuild b/dev-lang/php/php-8.2.15.ebuild deleted file mode 100644 index 32739c75690e..000000000000 --- a/dev-lang/php/php-8.2.15.ebuild +++ /dev/null @@ -1,845 +0,0 @@ -# Copyright 1999-2024 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 ~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" - -# 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 firebird - +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 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 ) ) - firebird? ( 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:= ) - firebird? ( dev-db/firebird ) - 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? ( >=sys-libs/zlib-1.2.0.4:0= ) -" - -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" -) - -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 -} - -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_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 firebird pdo-firebird "${EPREFIX}/usr") - $(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.2.20.ebuild b/dev-lang/php/php-8.2.20.ebuild index f4a2e43fcdb1..115df248ab4e 100644 --- a/dev-lang/php/php-8.2.20.ebuild +++ b/dev-lang/php/php-8.2.20.ebuild @@ -354,6 +354,9 @@ src_prepare() { # - 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 } src_configure() { diff --git a/dev-lang/php/php-8.2.18.ebuild b/dev-lang/php/php-8.2.22.ebuild index a7ece279280a..b56a009d4a5b 100644 --- a/dev-lang/php/php-8.2.18.ebuild +++ b/dev-lang/php/php-8.2.22.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,7 +150,7 @@ PATCHES=( "${FILESDIR}/php-iodbc-header-location.patch" "${FILESDIR}/php-capstone-optional.patch" "${FILESDIR}/php-8.2.8-openssl-tests.patch" - "${FILESDIR}/fix-musl-llvm.patch" + "${FILESDIR}/php-8.2.20-implicit-printf.patch" ) # ARM/Windows functions (bug 923335) @@ -332,6 +332,31 @@ src_prepare() { # 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 } src_configure() { diff --git a/dev-lang/php/php-8.3.8.ebuild b/dev-lang/php/php-8.3.10.ebuild index 8ea0dd1af24f..5abc04930731 100644 --- a/dev-lang/php/php-8.3.8.ebuild +++ b/dev-lang/php/php-8.3.10.ebuild @@ -5,7 +5,7 @@ EAPI=8 WANT_AUTOMAKE="none" -inherit flag-o-matic multilib systemd +inherit autotools flag-o-matic multilib systemd DESCRIPTION="The PHP language runtime engine" HOMEPAGE="https://www.php.net/" @@ -16,7 +16,6 @@ LICENSE="PHP-3.01 Zend-2.0 bcmath? ( LGPL-2.1+ ) fpm? ( BSD-2 ) - gd? ( gd ) unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" @@ -31,13 +30,13 @@ IUSE="${IUSE} threads" IUSE="${IUSE} acl apparmor argon2 avif bcmath berkdb bzip2 calendar - capstone cdb cjk +ctype curl debug + capstone cdb +ctype curl debug enchant exif ffi +fileinfo +filter firebird +flatfile ftp gd gdbm gmp +iconv imap inifile - intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb + intl iodbc ipv6 +jit jpeg kerberos ldap ldap-sasl libedit lmdb mhash mssql mysql mysqli nls - odbc +opcache pcntl pdo +phar +posix postgres qdbm - readline selinux +session session-mm sharedmem + 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 valgrind webp +xml xmlreader xmlwriter xpm xslt zip zlib" @@ -45,14 +44,8 @@ IUSE="${IUSE} acl apparmor argon2 avif bcmath berkdb bzip2 calendar # Without USE=readline or libedit, the interactive "php -a" CLI will hang. 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 ) @@ -80,7 +73,6 @@ COMMON_DEPEND=" 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= ) capstone? ( dev-libs/capstone ) @@ -89,7 +81,9 @@ COMMON_DEPEND=" enchant? ( app-text/enchant:2 ) ffi? ( dev-libs/libffi:= ) firebird? ( dev-db/firebird ) - gd? ( media-libs/libjpeg-turbo:0= media-libs/libpng:0= ) + gd? ( + >=media-libs/gd-2.3.3-r4[avif?,jpeg?,png?,truetype?,webp?,xpm?] + ) gdbm? ( sys-libs/gdbm:0= ) gmp? ( dev-libs/gmp:0= ) iconv? ( virtual/libiconv ) @@ -117,9 +111,7 @@ COMMON_DEPEND=" truetype? ( media-libs/freetype ) unicode? ( dev-libs/oniguruma:= ) valgrind? ( dev-debug/valgrind ) - webp? ( media-libs/libwebp:0= ) xml? ( >=dev-libs/libxml2-2.12.5 ) - xpm? ( x11-libs/libXpm ) xslt? ( dev-libs/libxslt ) zip? ( dev-libs/libzip:= ) zlib? ( sys-libs/zlib:0= ) @@ -142,6 +134,11 @@ DEPEND="${COMMON_DEPEND} BDEPEND="virtual/pkgconfig" +PATCHES=( + "${FILESDIR}/php-8.3.10-optional-png-testfixen.patch" + "${FILESDIR}/php-8.3.9-gd-cachevars.patch" +) + PHP_MV="$(ver_cut 1)" # ARM/Windows functions (bug 923335) @@ -254,13 +251,6 @@ src_prepare() { # be running pre-install, in my opinion. Bug 927461. rm ext/fileinfo/tests/bug78987.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 @@ -275,6 +265,26 @@ src_prepare() { # - https://github.com/php/php-src/issues/14786 # rm ext/dba/tests/dba_gdbm.phpt || die + + # Most tests failing with an external libgd have been fixed, + # but there are a few stragglers: + # + # * https://github.com/php/php-src/issues/11252 + # + rm ext/gd/tests/bug43073.phpt \ + ext/gd/tests/bug48732.phpt \ + ext/gd/tests/bug48732-mb.phpt \ + ext/gd/tests/bug48801.phpt \ + ext/gd/tests/bug48801-mb.phpt \ + ext/gd/tests/bug53504.phpt \ + ext/gd/tests/bug65148.phpt \ + ext/gd/tests/bug73272.phpt \ + || die + + # One-off, somebody forgot to update a version constant + rm ext/reflection/tests/ReflectionZendExtension.phpt || die + + eautoconf --force } src_configure() { @@ -313,7 +323,6 @@ src_configure() { 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) @@ -342,6 +351,7 @@ src_configure() { $(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) @@ -368,6 +378,17 @@ src_configure() { $(use_with valgrind) ) + # Override autoconf cache variables for libcrypt algorithms.These + # otherwise cannot be detected when cross-compiling. Bug 931884. + our_conf+=( + ac_cv_crypt_blowfish=yes + ac_cv_crypt_des=yes + ac_cv_crypt_ext_des=yes + ac_cv_crypt_md5=yes + ac_cv_crypt_sha512=yes + ac_cv_crypt_sha256=yes + ) + # DBA support if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ || use qdbm || use lmdb || use tokyocabinet ; then @@ -386,16 +407,20 @@ src_configure() { $(use_with lmdb lmdb "${EPREFIX}/usr") ) - # Support for the GD graphics library + # Use the system copy of GD. The autoconf cache variable overrides + # allow cross-compilation to proceed since the corresponding + # features cannot be detected by running a program. our_conf+=( - $(use_with truetype freetype) - $(use_enable cjk gd-jis-conv) - $(use_with gd jpeg) - $(use_with xpm) - $(use_with webp) + $(use_enable gd gd) + $(use_with gd external-gd) + php_cv_lib_gd_gdImageCreateFromAvif=$(usex avif) + php_cv_lib_gd_gdImageCreateFromBmp=yes + php_cv_lib_gd_gdImageCreateFromJpeg=$(usex jpeg) + php_cv_lib_gd_gdImageCreateFromPng=$(usex png) + php_cv_lib_gd_gdImageCreateFromTga=yes + php_cv_lib_gd_gdImageCreateFromWebp=$(usex webp) + php_cv_lib_gd_gdImageCreateFromXpm=$(usex xpm) ) - # enable gd last, so configure can pick up the previous settings - our_conf+=( $(use_enable gd) ) # IMAP support if use imap ; then diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 2f33cf5a9c6f..0d2546ba7223 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -10,38 +10,64 @@ DIST Python-3.12.3.tar.xz 20625068 BLAKE2B fc4f57ae50183db4c8cb37d94c37a7e58da5d DIST Python-3.12.3.tar.xz.asc 963 BLAKE2B f9668dde210793f8da0e0bb026b8ec3e0b4bc3abc58e72732f8faf356b19ca88a59b9d89b4b10f77b3602d9a967f0f2f44a0f091d698bc28ba9bad8049e5e006 SHA512 c291ec5b5e4f8deba867cc517624dd9a174745f04061ef737e58f3d52b9b30318264aec350e339fe88ccb493809ca1a90a378e86d86b8ec4a4f578b1a5843624 DIST Python-3.12.4.tar.xz 20659356 BLAKE2B 4255171ef8ee1777bab829be7bbaf28a9d5073985b3b1309a41694dda5f6b4ad599df4534a1ce83ec65b357d42416cc18722ca94b4227a45ebd90e2c1df90945 SHA512 750132ee6369196096130a924f4ddb78b9a55804133e5d136a70b9280928822974d1aa559d844486df02e89155fb0d8117871e1ac532abc18174309ca4b08369 DIST Python-3.12.4.tar.xz.asc 963 BLAKE2B d4f62dca1de5f4e4b2581fc49ca55b1d87abe7c4ceb2c9087efe4b92d9e9b3bdd25949bbf82fd771b4b60bc3690be982c2f25b810d87592665f0728fbe08be9d SHA512 1102b17f395e0ec5de5368d04a4dceb8cc98dd408b68b53998071cf129eb9a6c259316a416128f1dfa37a739f86e599507502a98430348da2272442ce1b7059e +DIST Python-3.12.5.tar.xz 20422396 BLAKE2B f127d1e12d12be84d5837282757787be8a0cf702adce29b93622f91f45ba2d8cc0f5db2e8277c86b098623951b302015febd28bdabaff66b30cb06a5ef2b4a24 SHA512 7a1c30d798434fe24697bc253f6010d75145e7650f66803328425c8525331b9fa6b63d12a652687582db205f8d4c8279c8f73c338168592481517b063351c921 +DIST Python-3.12.5.tar.xz.asc 963 BLAKE2B 238167f6b4012136bc4274eee0dd4d958c4ee02d2505f9f64e5bcad15e84a9e9e12a9fc907651083543f1fce93579b752d4ccdf60c8cc421cb43e9034877bf1c SHA512 65ce92272a38cc6bf8bf56fa2a99a830cf5b33b811b1788508e7b6f8b5d3e93e0b143412f829271be40cbb4e7c154f84499239b3e8ab63b2ccf0a5a22d2f84ee DIST Python-3.13.0b1.tar.xz 21054240 BLAKE2B fba108b2971fe188a05340753a48379c9a829ce680f13dc50d95d889ef5ee833b82be157d1b011ba841c149d633e8eb64b07098bf03a2adcf711b3f688465050 SHA512 81cc1d8691bfcc8f8bb232ea15c18039d0df036f5cbc1667fec3b6c34cdf198bed97418ec775c037778c250b7bc4f35bd5fb938dd478cc17fc48c74b8a2b2d19 DIST Python-3.13.0b1.tar.xz.asc 963 BLAKE2B 1b038d2b73fdbe11a1ada18ceab4a174ae52aab68ae9c3a9952ee60a16ce3e08e54c13e0c47264442415f70bd39a06c2b0f97c3cef31330f51102dad6d4a837b SHA512 c10832b5016ad9a9588b7efd29a35272c1c07b444df116c397fed82d66f30150687d68a6853637094be2fe1d8ed0928a9cd151617c91d9eb9938ba1385bd7143 DIST Python-3.13.0b2.tar.xz 21089692 BLAKE2B 3cc77e9b7abcd8c9797a40b2a1f5ff6562a1841dd44c4785a57941b1eb4d70d20a3dc5bcf8cbfe3d1b2c7f846d7da7fd89758e113542820945da996d2c6a68af SHA512 3a37c8137958a6ebaf06f5a03b28c7817f359f346d820a9989932b1a716478647e8d1b94c1a08197bcabf68cd90443a08ab9454af9151eace52401d8b60d0c35 DIST Python-3.13.0b2.tar.xz.asc 963 BLAKE2B 2acab01cd8b2b5072e87f0c697767e9cec6a73cd6afae38f066a3bfa14798d10e01c03e806a1a90d1db3e5d91dea090d9dd37d1884bef3291783e6163e3d8906 SHA512 17091aba45ebd8c8feb3e9c54854e20dcd44fec4a1c08c9c0c4593166c407c4ad2b245a0e0893afc83a43e8b461a557fa1d6691c87a6a5ebc97ea448a9201c87 DIST Python-3.13.0b3.tar.xz 20841504 BLAKE2B 92760124355483da082ac9fdc7a72eb6739e99acd97521a8c9a60bb73a25e26bcb8bdc9e911ee91667244320b742a9572c1e12229eb1c0d97ef5794493abac0f SHA512 1f0ef2d6f5d450664ad4104b92193b5a2dbe9c79add0a79c35ad9508f9fc7f1a5561efd5e4367defddf45457291524d353705d9a60b3550065920e204c77357d DIST Python-3.13.0b3.tar.xz.asc 963 BLAKE2B 784df664961ea36cb570d685c0cf6e8fe7159161c38103f217303bc0264c73a9904021cca297a180c7dd712d4e7fcee161d741919bee49eff962a25d14568d41 SHA512 3d8bdc8c26441a12518940d264e93a8897042e297ccf9cd2ddec725716a58486475be9462582ee489bd189a4d028b43504f979298174c1b008d521b7ab5fbf1b +DIST Python-3.13.0b4.tar.xz 20876136 BLAKE2B b3a7b42b03320df618af18844a8b0f1c4b88b9bcd581cacd2d40d3ecec7d0f11aac36e54913f64541a2287d7a5052aa69f8e8d0379d6bbb4fba78600bf484f75 SHA512 e556f7a4e54b688d0424b0bd84f9849b52f4f7e04c68d4d5b877d86b4f9ded92c9efaa2b7ab33f345235f35e8d544833542f7a4cb100d0ff15b7d98b8367b935 +DIST Python-3.13.0b4.tar.xz.asc 963 BLAKE2B 0d9c7baa1eedce684e73359682f63c2aa6e7abc7cc77ee7fcf6d9658e93221c02412aa55f22d16337b72a680f10c70520742292da1138228f9257f81bc57d328 SHA512 243637efff94965aa4d997fe26c91a7c1aa7dcfdf7f78d35d6f4fc408b654dfa9d075d1c73bc5a90d145f6e5029ee395a86faf7e027c24a55fabfea6ca20fbd4 +DIST Python-3.13.0rc1.tar.xz 20881016 BLAKE2B 3971a233e9c3c782973e0276740f00f8f2072eeda914663cdf7fa6c5de2437c60c441184344a64e25cab5c71a02c47cf4602dd08f127f310c885386cd887fec4 SHA512 fce7664f3298cfd191a7dc20b7b47acafdc50d058a2814312c94c30b65291395957d701e4661b9bb760417942acb5d27e5b8bb479bcda9a82cf29f53772a2daf +DIST Python-3.13.0rc1.tar.xz.asc 963 BLAKE2B 1c292362cd133dbbb1df1e0cf440e8adde2bc8db9174e550d5b76a09e80d0dbc11a0250e6f041e54fe58f25dc05f071c7af1aa910ae56ece5eb430502a2ba67c SHA512 3613829d9631f46b1b1ce11bfe5bb7fbfa49d97b639bb883c86737ea6ae8d15c24c526083cafb916011bd6d0b3b5fab2b17afd367edbdce99b32e0b4b845fd22 DIST Python-3.8.19.tar.xz 18975156 BLAKE2B 57b241aeb8f99a8c30590dcb9402abbcf573f00d06e807846bc9135c0a8a4af896c4d772d34abc3c292339953f4974a203bff61a78641d91b1826770226cd7e9 SHA512 1d2a57fa15ccdaec8cdca508ba2ffb01e1ae053a3446ac709bc334480f8e913070899f01ed680cce6dc7ddfddcb27ef402fe206562249fa4c4e87be21ece0625 DIST Python-3.8.19.tar.xz.asc 833 BLAKE2B a11705011e9ea2bd6cbabc2b4c896ba94675341188eb483b881c2cb25c932e9ff25f9f589f930605b0442ff93a1f54532608b111c8ace715a406ce10809af671 SHA512 efdaae5462badcf4b98625ce8ab0e34756acea9539416e6ec428725b04539f8c38c1978de346510d669e93bbeef3ae20b1534e4c6582f89c7dc56a04c7cae140 DIST Python-3.9.19.tar.xz 19682840 BLAKE2B a12256663f0ff3b799c2193c5877aa89a434340dfa01e655f790abea70af0709b54577e1c2590add241308a8581fd6f45a22aed450bd5db2bf9fa35c4a9d619b SHA512 5577830c734e63a70bbc62cd33d263b9aa87c4381b49cb694c3559067c4c682a55506b65ec5514a8e0a5abf6294dc728e909385d449ae1c388e62f83cea9bb89 DIST Python-3.9.19.tar.xz.asc 833 BLAKE2B b48b58b8ccf4d6ba8d0d7120f04bebf59f843ffecf5fde4c3989fd9c26e3d3d1ccf4e5688f7024ae94775c8731e9ffa56799fca8596289edf93e4aac5480aaad SHA512 f7f4946243dfc56de2c84f50276b088d347f17054f50e3331d1e312e2a8e2c6ed1b4b4a807202b51137fd2af3fc9218cafa42ed348a954ace896d9a432e2defd DIST python-gentoo-patches-2.7.18_p16.tar.xz 35448 BLAKE2B 0139c0944f62f9cdd236f6a8557e0ed19704c7d72869af1cb7d8bd3e646a746cd4a0201e1b44232a5e78ef49f254db20b0d0271bf744fbfd4fe0f1e99b8f3e6c SHA512 810be590d0e06fab4b2165e6852ca49662f09dcd7e20b47a29f613ad7653252c8dfac3f0eb228d77c8a914efa7c08788b2fbd552a4b47504f5fd0ec17450c48f DIST python-gentoo-patches-3.10.14_p1.tar.xz 15836 BLAKE2B a850e4ad4f025fa9d38ccba937f1b3ee8443ed186c22ede58b4c7324a8541cf724590686671a9aa9194662303ce75bc80aac8ee6f9da34b793876817b6f593ff SHA512 5d969f5e5126ee675a062924a5f403de142fc5bfe4a931fd3576bcc6298a855419d305d4b1ffedacb429783a05324b36eef4c45c861c47bada0bdd840de2bca3 +DIST python-gentoo-patches-3.10.14_p2.tar.xz 19564 BLAKE2B 2ad1398e0679e73028a0614e8c4ef6bc76928f6c1d0e93c39c3bf2c23201904ee677377abb120444995154bda4251cb8f0aabafca5e6c82601a6270d0e62bf67 SHA512 6d4194b85a176a1a0f7acc3eab48829d504e66381f3008821a9a433e63f5188b444321192ad536d8219a1c3ca56dbdb5c39439401cbbb30f35a606e2b6617624 DIST python-gentoo-patches-3.11.9.tar.xz 8456 BLAKE2B 4e62837f17c1d056460df417b056a79ad78dbcdd3454761c7cda68ffe6faf8f4d4f04d5539e0ba94332fe19a751f7d5ff2c35ff969a6aa09a2c72d2ce5efbff1 SHA512 a288aa8d1d15e906e0f1762602a2122f9dc91bbd6b72123ac5d00ce55b3af324a4e8280b600fc0fb630e489e57ee1547d7595a4ede7a70e4b26d6686a8414997 +DIST python-gentoo-patches-3.11.9_p1.tar.xz 12348 BLAKE2B 885c18eb52d299c8da43fe48106a2464ce594822e8ed362150c98f749065447b7438741cacf82a71db102434a5b2a2e91778aca8609fd7ede7898f9e57a82d49 SHA512 2ed8a97692a8980e565038ad095dad8ed3daf1f8c5c5e042a0bc278c320e099962ad13b5ff919ae334674a4828c5e8f3b9c3af6b3c37e93a42374284f5ea2243 DIST python-gentoo-patches-3.12.3.tar.xz 6028 BLAKE2B 7953a48a1d95a6a33bd88060fbcac463a5469371aa0c882c3945f1fea64a63c4d45fca8451f51f4eaeea00a04267ad2e54e4cc720c95e8bb5a3477e00263b80a SHA512 4779bab2b24e59e4a77987ce3e9611d99e87c9c4d016309758c26a65fe2e11ef04d48d5af628c02b1552dc1f31b768f87448f8e19e716b4fe372941e6dacac3f DIST python-gentoo-patches-3.12.4_p1.tar.xz 7088 BLAKE2B 450b95539aaf7c8c052ca1bbcab3b1a8f1c33e8007b6c66cc290c33d88cac8bad346e13cf96508834599a59ccb6548e6dd8cbfb1e24d84539f502101b04299d0 SHA512 df874cb1d8d0f5df60fca82daa2a59cbcfeba6be72b021101a753306a09bb19ee268681b3fdb39659be923d868c727bf7aabbe8173cfd48a329c66f4727353c7 DIST python-gentoo-patches-3.12.4_p2.tar.xz 11124 BLAKE2B 8e49af60b1e514de9b77c562a8df5ae7d6caf0045e631fcf85a8f91335cf18f1df2ac611ea73d26e5b70c2537beb423a9303dcce41c2c2e2b049ee9f1e537b53 SHA512 df1d49e60d23f5f09144c57034c86f81f8d185f65c3a93bbb2b386977638bd525b45fe1dff8c7202d60ca3a5fdf96b94a492b076072713565e7449b679fde7b5 +DIST python-gentoo-patches-3.12.4_p3.tar.xz 14796 BLAKE2B 68f5235ef434f9db16e7bc635ff51b6607cfb9be713fdc3c0ef624ec0f513345f6e02e27b8ebc2b3c8a5fcd4f4f5161024407ae364bdffd3b22a7a9d3a509b30 SHA512 8e337a7234b8ad64dd82435dcda0ef4e90c21214bd7b13a83fe9ba700d5b07ce11fb33b7d34d808132120b4a077fde26278b87116bb02ccef50470c046a66d2b +DIST python-gentoo-patches-3.12.5.tar.xz 6056 BLAKE2B d9b85d98a75f6365c63ddabb8f25db3be11e7e4de22ec9426bb24160efcca25c75e3e19beec9fc2f8f8fe273c145f825c6f27ece2fca83d44cf2dbdfacae918d SHA512 72949ae8a1c796cb57e8b43d259037a723482b5a3849823c1cdc58acc012177a0ec836a4dd6ad656fe57ee1d84491c03ed9109667a953aa52bf5df7640de969f 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.13.0b4.tar.xz 5700 BLAKE2B cc3e6d899dc51dc4a0f4b57fb5a891a61e5ba5a943edd31b55b6540f1d52a61f2a80f8ac1cdbc36ce155a83ab3942b8991fad0e83baab4c0a1080e62b30e16df SHA512 bf236ed221512a032a057f8b89b29a28e84cfaba56f58c2eaacee846db636089b2ae4534dc55ff3389cfbf1a4485e1cc2049a5cdb98ec1cd31eef71de60596c1 +DIST python-gentoo-patches-3.13.0rc1.tar.xz 5696 BLAKE2B c34beb06ea6052b297e1bc5ec790f712a6d8acfa23b16b44dd8a7fc2788a4ba266da21cc2f463e79f10749e2f4752ae34c7074a0e588e84614020e6acd86403b SHA512 a6a2e8dc2a35a76b265788658cd8ecf2f5b7f466701cf4599df300eb8914435198f26789dafa309a7dc4c23e0da2aeb905c8175611f6fa50f622e70016212202 +DIST python-gentoo-patches-3.13.0rc1_p1.tar.xz 9840 BLAKE2B f8f52be8fde89793e5692a4693c030980a32651626cc6184f962d7d9dc9209ce6593f127ff279b71fda4fafeec148af80971bdb6dcaf129f63cc52238a34630f SHA512 e0d3aaf528ffeed8335f98dd4bfd43da8274757b0ae9f6a473134e9b57eafe12b870e41e1aafa52c2bd96de1b7ab9b9f225ddf8e87eec51f088b5484b3c92852 +DIST python-gentoo-patches-3.13.0rc1_p2.tar.xz 12748 BLAKE2B 851d16e16d2a98fde62c38054d9bedf3538d88a59e19dcfd8ee7d86f3f67a3b66105664da9181dbfb9ad16aa0042815ccf469225348fb0ba8854337b0a736d33 SHA512 8264aa65bf71e97a4afe47a9fba58815163bc950ea70ff708c5f265722c5b4b8af19fbbe8a9c3673957a6de3af8307a9ba0ed9f4e42472ca24c5ed930682a038 DIST python-gentoo-patches-3.8.19_p2.tar.xz 35524 BLAKE2B a6b81e6ae907b60eea676cb65a9c693e62453dc44616baaadb294c5782a195c20eff6c2869b38ea110fe06e9e511468f4ab0c3d1811b16e0ab2833f9dc09b25b SHA512 9944c330b6062c2ac6e13fcfbc1c8835dfd078f6744cdfbc03ba787ae97c08bdae559cefadafe9dfe9be9c31f8c15ee895599b266d870f73c06a2f4b15c78dc3 +DIST python-gentoo-patches-3.8.19_p3.tar.xz 39392 BLAKE2B 451765c7546831c35f52e2772b8b43b6515f66cace2d13ed473228bf2d2b18f49b938a61d4cdf1be0fecbebfac1fc8d3d95f7597eb9d877c0b2ce495e8d419c1 SHA512 76e405ddfd3ee98dbd077f6ec83ae93d0506ddbc3b2b8884a0f38c6269ea982b635b0eb7820f6f9b2f81eb0ef514b93a5eb10437414cde4de2bfb7ea37764b3c DIST python-gentoo-patches-3.9.19_p3.tar.xz 28240 BLAKE2B 35c70b1f9a590abe9a74795f478ab788cd72c96e9d84f2756685e61324dc4203148e71b00a236bb4af8fb8315e3582ecec255b39749a653e0511d4a9f9fef725 SHA512 6b8f4dab4aa7d4d646ee4091b5cf76bbc8896d4299a3623660a2c5fec06c0cf56c0a50ac87604885cd155141bc85e0e80acdbedb7b34a813901aad021b9b8ab2 +DIST python-gentoo-patches-3.9.19_p4.tar.xz 32048 BLAKE2B 9595d508304baf36a2c8daa2ae15d3596fdfb5fed5c531fc379ee347d5b165885ade1842f094184fb7bd81a6385e45f9b77ba7bfa4334ea30292c0bc59b373e2 SHA512 5713c69ee3745246a570e0f05ac8f45baa8f9fa8a2154c930f1ddcf827a2a790cb5e308f5ff9452d3ffda5d60c167a02429af773eebf13dcb6463793cd448500 EBUILD python-2.7.18_p16-r2.ebuild 8603 BLAKE2B 6a2ee7f1a5d0eae487cf0293fb2528c97679d0fb395cd51f00a08ede8abb473f3e16051c8b7b797a99c4462d520955c01b1b0d238caf0652a3166034bed60839 SHA512 e498d3f4904e2cf2de6a6d0beb8e573a462bc96970c861616bd12956434154146e1625ea36b44f984b82f3d6cc90b33860b71c4067002b7f96510eb5e632e572 EBUILD python-3.10.14_p1-r1.ebuild 14742 BLAKE2B 52b80ddc253a2c2d60422af667dd04519404b6b1ed979fa0992b95dd471449ec1dcac814f49aa38cc0d7fcf6af5ed40035f8801cd2fc988865b61430dd511461 SHA512 272d8889f14ed94e72140afbc650b502b7f5a881ff681c760e307b2eb873679ae105fd87af3097c69eaef2b4a396fe7673505e1a0fd6ea4220d40a6a589d00a1 +EBUILD python-3.10.14_p2.ebuild 14750 BLAKE2B 66b25f15ad2b70e66cf39b00fcf6c87b6a5addd9bffa57b5fb829e39c2a152ea0b9a03dcb36c3aca055451ea26c08033c025d041dfbf512dce21b071dda93266 SHA512 49803d7fb19b44728ab249202880df88c716fbe5c016cd837d2c7f77c56fb9da4df8fe128da37b807e8818b912705607ad2ed7dde5b883131ff03499903d8593 EBUILD python-3.11.9-r1.ebuild 15854 BLAKE2B f0c4576472eeea91a436eb64a0555a6db1125370bb0a586aa520e76047d8615603e23b8fb415fe86ed19ecd29038ae5bc7354e7d33c1bcd004ab82f62b5391dc SHA512 57cbe71b9d90e2fe06d28ad0fdee30da1d0ae9dbc4163e15b98f78069a7a7bb0a4312d8caa26fe23e74234c73f0b48409d77b28e40f47bf83667e7717d36fe32 +EBUILD python-3.11.9_p1.ebuild 15859 BLAKE2B 3912f98a53ed4023e4aa1f3e5469daf2024f02db9e172304b3682d6af379a7f16595d08113f8e53ad099d2568a8c5c38ee64d3b4a638c069a3f7e4ac1bc22ffc SHA512 5da6b28c883fbaafd273f97203d5fc573b79f96dde44b9c8ad50749725928aafe82a8ed73ecb7b17d29828dbc38dddde66a53fae57c4bc0a161eb186cf16b413 EBUILD python-3.12.3-r1.ebuild 15415 BLAKE2B eccb47a2bea4df5bf3d1116afa348ddb87ed03f7031e5742ecf8e06cb875bb6a79f800313ca4ac7ed1cbae81de65f8aaf80616a1e423d8362480447b33860348 SHA512 4c9423cf3c24f4cc2dd095a7340277c0b119dcc95281cc08e23019ef6d9478af77b9b1961dedbac2709cc05923dcc6c1ac5ef1727106068431d21a9e8613aa21 EBUILD python-3.12.4_p1.ebuild 14881 BLAKE2B c3a4339cd5cf2bb6f97bf60142dfa022b5cc421da66d209247fbdc6c1c2ebd3cb701689ea50d3cfe897ecfe48a801edaabd6160a0ed747f5dfc407569d93ad8b SHA512 6572c6ed811576377ed5de3e5e12bb7de0795b802a4cbd60eebca7d82ac0dd07afa3ee05a9b98ffe45a4aa4dd6aeaaa4acf8b5f34d19cd76efb129e3c50dac4e -EBUILD python-3.12.4_p2.ebuild 14884 BLAKE2B 03c95778d4d3b4d9644f14ed57ee593517894a97b9640124b1a63eb8024644dbe45888a8f605f23647954df7e62b494e6c338a66ef6f00801c7daa97c28324cc SHA512 8dae142c2b98ca70061174f904fe3af1ff74fd3007c458a8126711130d4c527652a480645ea3b705f5eba81ac958adbcd70bf529ca079a69eef243dc709a7d7c +EBUILD python-3.12.4_p2.ebuild 14881 BLAKE2B c3a4339cd5cf2bb6f97bf60142dfa022b5cc421da66d209247fbdc6c1c2ebd3cb701689ea50d3cfe897ecfe48a801edaabd6160a0ed747f5dfc407569d93ad8b SHA512 6572c6ed811576377ed5de3e5e12bb7de0795b802a4cbd60eebca7d82ac0dd07afa3ee05a9b98ffe45a4aa4dd6aeaaa4acf8b5f34d19cd76efb129e3c50dac4e +EBUILD python-3.12.4_p3.ebuild 14881 BLAKE2B c3a4339cd5cf2bb6f97bf60142dfa022b5cc421da66d209247fbdc6c1c2ebd3cb701689ea50d3cfe897ecfe48a801edaabd6160a0ed747f5dfc407569d93ad8b SHA512 6572c6ed811576377ed5de3e5e12bb7de0795b802a4cbd60eebca7d82ac0dd07afa3ee05a9b98ffe45a4aa4dd6aeaaa4acf8b5f34d19cd76efb129e3c50dac4e +EBUILD python-3.12.5.ebuild 14884 BLAKE2B 03c95778d4d3b4d9644f14ed57ee593517894a97b9640124b1a63eb8024644dbe45888a8f605f23647954df7e62b494e6c338a66ef6f00801c7daa97c28324cc SHA512 8dae142c2b98ca70061174f904fe3af1ff74fd3007c458a8126711130d4c527652a480645ea3b705f5eba81ac958adbcd70bf529ca079a69eef243dc709a7d7c 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.13.0_beta4.ebuild 17080 BLAKE2B 9f6ccdd02861ace3241f64eab592e5130015c9cd1870417013a50dc47cfee014faff8e27590246aad491482bc9f15a87839df236659d436fff8b9faf4acde9f4 SHA512 11b625319906a0103302c0720938c349b67cf2896c4b2b974173f3fe8f4ea78f928885606363732ef3e800531f9ae127d31c7189f7b4d30756520c05207c4114 +EBUILD python-3.13.0_rc1.ebuild 17074 BLAKE2B 1a97becd3d25cf108627366848aaa398dac1023927cb8fc01a4252585f2cf3a47f6a28e79b2afc741f3259f0b8e4a0d2307a3769fc4fe6a3dd8a3ab9af24e712 SHA512 4c5ccc47dc2937b00137c892be95234e420ad691297759e26d83ec085ed89dea8975e87a605864a5492cf1645697e07459a8a324c89112c6bf9e1bc4c7fae08f +EBUILD python-3.13.0_rc1_p1.ebuild 17165 BLAKE2B a5f89f583f0254533facdd41b8cd3ce3ebf6d8925d0747b0134a6577407b740594a3de3ad93f43e7c8b3acc28a00d83928d87eb5ec6b103a998f722dec7f49d9 SHA512 d2a5283f9f3c7092d2e66aa49db5d0abbf5b1cfa14660426d9bd387a1e82fc073e16c7ef9774c0ea2d9fbdf35a5f6ab33b35739faada92a93e2feaa9bd283fb4 +EBUILD python-3.13.0_rc1_p2.ebuild 17165 BLAKE2B a5f89f583f0254533facdd41b8cd3ce3ebf6d8925d0747b0134a6577407b740594a3de3ad93f43e7c8b3acc28a00d83928d87eb5ec6b103a998f722dec7f49d9 SHA512 d2a5283f9f3c7092d2e66aa49db5d0abbf5b1cfa14660426d9bd387a1e82fc073e16c7ef9774c0ea2d9fbdf35a5f6ab33b35739faada92a93e2feaa9bd283fb4 EBUILD python-3.8.19_p2.ebuild 12217 BLAKE2B ff0dc6d1012257d77cdac44a2c3b022ec6c06564a4f2bbf871450efd17d9486ee36af14d57fd338adfc9fdf96d43b880cd5b12f4f73bf2008b52e34fbd0e7459 SHA512 d61c2155ee1332be4c0bc799a306efd7b2ea0655ab1ec957446c9711b798bbee0d4815c5e4fb9da325d1c20dbe820ff03f58b7ff4e825a770f78a00706754062 +EBUILD python-3.8.19_p3.ebuild 12224 BLAKE2B 8d182b564ce67a7962f6aca4143890b7d7c835aecdcff2b544721accdc85a0ab61a0e2f719fdf40c29fee0c90a558fe21f9da53dc6e092d1a3ae6ec41289fc45 SHA512 1d87ddcf64e82a28f97ec8d01f2d665e383f9c7ff58d8318065ace29f2122f2d3b9d578dc3fffd3b49b08d2dac2f45052937bc3badb4a5fe2d3db84393d13dff EBUILD python-3.9.19_p3.ebuild 13667 BLAKE2B c1579e1d0395e677834ce1891f4de07abf4b5156d1e150d2f04dfd5a5a21afa4dde9e5800dc7ba591c3c5d51267c64c60f4ece3b31f583bb320841ce89c649f4 SHA512 9df7d256591e73d71d6b8e3a637d737102ae809534c62d92b69a9fad8cb1ad693730398f5392f03fa5a194c7259143d1e83fdc6bcd872599f322269108af4e66 +EBUILD python-3.9.19_p4.ebuild 13674 BLAKE2B 6fe5612dba5a73c32326262d7aa8101801ee236fe9e9d887dc3d6c13854545b4aeca7a23ea71f80a83301fab5b5a77a402acfb5364dca7b2760872aba1802d1d SHA512 6f2916005ad1575b220ee9f328559b6832b6041e3899373c851a2f48f7f0567c40786cf80ef4a507a3d3cb5d0ffdea875aa452e96175fb0d22d4924f2f9ed7ef MISC metadata.xml 1562 BLAKE2B d89ba32e0a261cfa3f185881f83a8bd9434aba2029aca437419d625ed3d025fc3226d4440dfdc34c1c64c42448bb00f903b88d80ac06f2bddf8dd58a7aa66673 SHA512 3fb20f7648db7a5d7080bb9e439b39f90cd0f56bfa24d0b97b9d7966c1062951b9d9d1cea9ec557d7db065cbd53c8a394503616d807b2ea4c5a3ea2c806c0ff2 diff --git a/dev-lang/python/python-3.10.14_p2.ebuild b/dev-lang/python/python-3.10.14_p2.ebuild new file mode 100644 index 000000000000..0b054e7e0898 --- /dev/null +++ b/dev-lang/python/python-3.10.14_p2.ebuild @@ -0,0 +1,542 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +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 libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +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:= + >=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-wheels ) + 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 ) + valgrind? ( dev-debug/valgrind ) + test? ( app-arch/xz-utils ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +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 +} + +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. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || 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 and bug #864911. + 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. + --without-lto + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" 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 + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + 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 + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -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 + + -x test_gdb + -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_concurrent_futures + -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 + ) + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 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-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + build_cbuild_python + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + 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 + + hprefixify setup.py + 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 + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict "/usr/lib/python${PYVER}/site-packages" + 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 + + local test_opts=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # musl-specific skips + use elibc_musl && test_opts+=( + # 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 + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake 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,test/test_sqlite*} || 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 + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.11.9_p1.ebuild b/dev-lang/python/python-3.11.9_p1.ebuild new file mode 100644 index 000000000000..c61b855b214a --- /dev/null +++ b/dev-lang/python/python-3.11.9_p1.ebuild @@ -0,0 +1,573 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +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 libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +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-wheels ) + 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 ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +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 +} + +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. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || 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 + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__GDBM_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__SQLITE3_STATE=disabled + MODULE__HASHLIB_STATE=disabled + MODULE__SSL_STATE=disabled + MODULE__CURSES_STATE=disabled + MODULE__CURSES_PANEL_STATE=disabled + MODULE_READLINE_STATE=disabled + MODULE__TKINTER_STATE=disabled + MODULE_PYEXPAT_STATE=disabled + MODULE_ZLIB_STATE=disabled + EOF + + # 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. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" 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 + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -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 + + -x test_gdb + -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_concurrent_futures + -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 + ) + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 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-ffi + --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 pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + 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 + + hprefixify setup.py + 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 + + # force-disable modules we don't want built + local disable_modules=( NIS ) + use gdbm || disable_modules+=( _GDBM _DBM ) + use sqlite || disable_modules+=( _SQLITE3 ) + use ssl || disable_modules+=( _HASHLIB _SSL ) + use ncurses || disable_modules+=( _CURSES _CURSES_PANEL ) + use readline || disable_modules+=( READLINE ) + use tk || disable_modules+=( _TKINTER ) + + local mod + for mod in "${disable_modules[@]}"; do + echo "MODULE_${mod}_STATE=disabled" + done >> Makefile || die + + # 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 + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict "/usr/lib/python${PYVER}/site-packages" + 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=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # musl-specific skips + use elibc_musl && test_opts+=( + # 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 + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${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 + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + 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.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 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.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/dev-lang/python/python-3.12.4_p2.ebuild b/dev-lang/python/python-3.12.4_p2.ebuild index bec993fb2e80..a2461c6b3906 100644 --- a/dev-lang/python/python-3.12.4_p2.ebuild +++ b/dev-lang/python/python-3.12.4_p2.ebuild @@ -28,7 +28,7 @@ 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" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86" IUSE=" bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind diff --git a/dev-lang/python/python-3.12.4_p3.ebuild b/dev-lang/python/python-3.12.4_p3.ebuild new file mode 100644 index 000000000000..a2461c6b3906 --- /dev/null +++ b/dev-lang/python/python-3.12.4_p3.ebuild @@ -0,0 +1,558 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +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 libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +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 + 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 +} + +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 + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -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 + + -x test_gdb + -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_concurrent_futures + -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 + ) + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 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 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} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict "/usr/lib/python${PYVER}/site-packages" + 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=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # musl-specific skips + use elibc_musl && test_opts+=( + # 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 + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -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 + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.12.5.ebuild b/dev-lang/python/python-3.12.5.ebuild new file mode 100644 index 000000000000..bec993fb2e80 --- /dev/null +++ b/dev-lang/python/python-3.12.5.ebuild @@ -0,0 +1,558 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +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 libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +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 + 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 +} + +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 + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -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 + + -x test_gdb + -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_concurrent_futures + -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 + ) + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 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 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} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict "/usr/lib/python${PYVER}/site-packages" + 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=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # musl-specific skips + use elibc_musl && test_opts+=( + # 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 + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -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 + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.13.0_beta4.ebuild b/dev-lang/python/python-3.13.0_beta4.ebuild new file mode 100644 index 000000000000..20a8761fa612 --- /dev/null +++ b/dev-lang/python/python-3.13.0_beta4.ebuild @@ -0,0 +1,658 @@ +# 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 + # flaky: https://github.com/python/cpython/issues/121973 + -x test_pyrepl + ) + + # 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 +} diff --git a/dev-lang/python/python-3.13.0_rc1.ebuild b/dev-lang/python/python-3.13.0_rc1.ebuild new file mode 100644 index 000000000000..ba7b05698742 --- /dev/null +++ b/dev-lang/python/python-3.13.0_rc1.ebuild @@ -0,0 +1,658 @@ +# 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/_} +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 + # flaky: https://github.com/python/cpython/issues/121973 + -x test_pyrepl + ) + + # 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 +} diff --git a/dev-lang/python/python-3.13.0_rc1_p1.ebuild b/dev-lang/python/python-3.13.0_rc1_p1.ebuild new file mode 100644 index 000000000000..a7d766ef12e0 --- /dev/null +++ b/dev-lang/python/python-3.13.0_rc1_p1.ebuild @@ -0,0 +1,660 @@ +# 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/_} +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 + # flaky: https://github.com/python/cpython/issues/121973 + -x test_pyrepl + # flaky: https://github.com/python/cpython/issues/122136 (bug #936314) + -x test_asyncio + ) + + # 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 +} diff --git a/dev-lang/python/python-3.13.0_rc1_p2.ebuild b/dev-lang/python/python-3.13.0_rc1_p2.ebuild new file mode 100644 index 000000000000..a7d766ef12e0 --- /dev/null +++ b/dev-lang/python/python-3.13.0_rc1_p2.ebuild @@ -0,0 +1,660 @@ +# 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/_} +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 + # flaky: https://github.com/python/cpython/issues/121973 + -x test_pyrepl + # flaky: https://github.com/python/cpython/issues/122136 (bug #936314) + -x test_asyncio + ) + + # 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 +} diff --git a/dev-lang/python/python-3.8.19_p3.ebuild b/dev-lang/python/python-3.8.19_p3.ebuild new file mode 100644 index 000000000000..9bec4b8b2b83 --- /dev/null +++ b/dev-lang/python/python-3.8.19_p3.ebuild @@ -0,0 +1,432 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +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 +ncurses pgo + +readline +sqlite +ssl test tk valgrind +" +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:= + >=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-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + 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 ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +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. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + rm Lib/distutils/command/wininst*.exe || die + + eautoreconf +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + 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 + + 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 + --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-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + # 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 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --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. + --without-lto + --disable-optimizations + ) + + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake + popd &> /dev/null || die + 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 + + hprefixify setup.py + 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 + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # 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 + + local test_opts=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # 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,test/test_sqlite*} || 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 + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.9.19_p4.ebuild b/dev-lang/python/python-3.9.19_p4.ebuild new file mode 100644 index 000000000000..a7e58e941517 --- /dev/null +++ b/dev-lang/python/python-3.9.19_p4.ebuild @@ -0,0 +1,492 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +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 +ncurses pgo + +readline +sqlite +ssl test tk valgrind +" +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:= + >=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-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + 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 ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" + +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 +} + +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. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + 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 + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -x test_gdb + -x test_dtrace + -u-network + + # 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_concurrent_futures + -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 + ) + + 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 + --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-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + # 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 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --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. + --without-lto + --disable-optimizations + ) + + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake + popd &> /dev/null || die + 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 + + hprefixify setup.py + 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 + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict "/usr/lib/python${PYVER}/site-packages" + 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 + + local test_opts=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # 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,test/test_sqlite*} || 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 + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/qu-prolog/Manifest b/dev-lang/qu-prolog/Manifest index b5f37fbe3e4b..3f131eb99223 100644 --- a/dev-lang/qu-prolog/Manifest +++ b/dev-lang/qu-prolog/Manifest @@ -1,8 +1,11 @@ +AUX qu-prolog-10.8-compiler-flags.patch 762 BLAKE2B c1a760a4a2243f19170485a64838da52a9a9f9257f12cfe029e3d738162de33dea0ed0315d0321206baef465e54e6ffd40b2906e64af7afeb1c8005754fb4ea5 SHA512 3f273df669eaff0329c3c8b57e2e30cb75b6c884a79aff55fc6421b8875a84fa0288c71709fbbd0d274b3d80c0d0ec10f07cc42a2d1aafbb024cd6d5d200b442 AUX qu-prolog-10.x-compiler-flags.patch 762 BLAKE2B 1b96597015aeae67aa92caf5913e81f2bf11e86c73ce6acaaeee1f2663871471fd595eaccfb00cdd10cedf9677c03095bc37ddc2a8d4a370d38439896f16e72b SHA512 c09286d76692a125d98b6bf3684df0d6dd57cd5ef70387fdbd5184493d978c8d5b9c1ce63c4305986df28382e0201abb53af3a6451f802d677dbc22b1741237e AUX qu-prolog-10.x-qa-compiler-flags.patch 995 BLAKE2B 1a35bd4eecc08cb9b4d861b65710a38fcada73e5ceed4cd02cc196541ec7417990788179022c1b12c7a545df5f5e074178745d70d97e960e1dfb4747556f2963 SHA512 e766c099f53e66f3775d8b50cc4f659770369001f78689b41c5a8e4ddcc4249bd7aaba678bcd60b879688d1b2525135454ff03e01d4d4b43bb1f2f357561ee55 AUX qu-prolog-10.x-qt5.patch 1037 BLAKE2B 91287f26c97c0c2f1c9cd3bae3a007cf27e4b8121aca4a42cabbbb37c224b7399ed06468b7a725977f27bad2fcda8d2165bfeb569f36491d227dd472036de5ed SHA512 9dd1c8245f725d552bf23ad9ef1bb858a06c69b66778fa851013775081751a77923e2145f6575966e8394666b8dc2e04724d102be28b32efaa44b7e474b3dd7f DIST qp10.6.tar.gz 1671349 BLAKE2B 189ddd733a0bbf939387de60ec76e8e41a430af5f4684a9a3b8cc3effa4e402cfd4471c955f4d626d2de8cf14eb93c2977540ad209d06ce9b562325a4b984fea SHA512 425b35c758ba86cc14a1faf5c19f2c091142be6c42261323dc6f551efd6c80f7223584cd2be239748539eaf25308f777d95fd5bfdc65b33ca3245377e1766299 DIST qp10.7.tar.gz 1857589 BLAKE2B 986f0d8744d5b0a3974191d154a2ca0efa97f6c02483d975b4bb43bd7ae44d9d4233f6bffc1947d03ac3db9c0181953254e66bc62d55add6b0debbed1ad21de6 SHA512 305c89710e02167bb37e999b5af182b9dbca710d32c79149782a90f29b2e80f6a5462e9fb22153e770cef7484c5181bde31f1fe680b786f0f253ced13a3df830 +DIST qp10.8.tar.gz 1707106 BLAKE2B aaba3e722c3aa3f566e7e4469f581fa854fc865066173664a18421c3de32ba7be804896812191b3bcdb2f4e713e9886f12765e0fc1bc3f5f609e0c679cdb4374 SHA512 7c677a9b9cac0c1de626f213be158297844fd403deb62ec976684926c287827734c27a89771b6e48dfc5822033aeb24aafc2c34cd13cada88db49ee1f9612fc7 EBUILD qu-prolog-10.6.ebuild 2058 BLAKE2B 60e865b6e4ca924bd8e7335108d71362d3bca82ea8669b3419fd81db1da800d4bf3287c8fe9aa5e5cdab49e104ed33d6f4ab6112921d87fa1532b5d95b1b5da5 SHA512 3f7d7758cef24570a01e180c765783dc489d9171ed85260b8944d925006026626e2dac3ecdc7cb834258ac6092d2c9284cf8f14d8ac3e9ed6aab7bfccbdc34ff -EBUILD qu-prolog-10.7.ebuild 2164 BLAKE2B 2069a2f1519e6d7b421ae2f39377c2281c93100ffe0793a31dd50b8aed5cac6634fcd03f74aa1f7edc9609e2f1a06463080b0b15ee0c8a059a9a9f410f733e83 SHA512 80d6e11953f791fd351dcada58c28d0fdb910da568d891582df3b97d52f911032b19e37f86b80dfd9758929b63913e6f1d77e1c69f3c4c5c5a83c207b2da7695 +EBUILD qu-prolog-10.7.ebuild 2513 BLAKE2B af53027edd33393fd2df9205d2d0ae11dbf1dd7d7245a2c47bf62ffdf66436825f3bb577ae785fa08964e6c77a947427fb9ec5e23d95d24f6771569648045ef9 SHA512 8209ca5590fbdb965181e78a2ddfa0426299dcb14328d5e53bdc5adc91dbbab525a827befeb4adfd33b748091374f73e8c6b55737b04428c9e6143f5f3946e01 +EBUILD qu-prolog-10.8.ebuild 2476 BLAKE2B 6b78946300691101bc268ad2fcb3af6ede31ad6d7ffd1f56b28e91110ccccada355a534a6117823b75ceea115b4624eadab7b9436289e865d348a4f885ef8030 SHA512 f9c57f37f11a18d51ead78b7c458c9450e4e114d1d9cd79c8ece32338d2d5ccb0a87edf1fbbf8b511b66aeec4837a14b755e09194831d48d5514d0cd1022a21a MISC metadata.xml 348 BLAKE2B ca5e1c4b76b62f23822a7a8c4f666faa96e4eabfb4a4477f40b49984dedee39d911d1ac5fd811e340af4b3ce556073baa6fa40949925419996b7c41c04605efa SHA512 5e41fd540a4897642a392bc0eea54762142f80f9523e0abd497e10d4c4cc83f0c0784063383b53c363d7e55ffbb75829201dd93cc73cbfbf4e7c5e8419ae337c diff --git a/dev-lang/qu-prolog/files/qu-prolog-10.8-compiler-flags.patch b/dev-lang/qu-prolog/files/qu-prolog-10.8-compiler-flags.patch new file mode 100644 index 000000000000..28eedb06e077 --- /dev/null +++ b/dev-lang/qu-prolog/files/qu-prolog-10.8-compiler-flags.patch @@ -0,0 +1,18 @@ +--- qp10.6.orig/configure.ac 2020-06-24 23:37:02.000000000 -0000 ++++ qp10.6/configure.ac 2021-05-15 16:36:32.504585122 -0000 +@@ -228,9 +228,12 @@ + #----------------------------------------------------------------------------- + dnl Check for -fno-strict-aliasing + AC_MSG_CHECKING([for -fno-strict-aliasing]) +-echo "int i;" > aliasing_test.cc +-qp_alias=[`gcc -fno-strict-aliasing -c aliasing_test.cc`] +-rm aliasing_test.* ++ac_saved_cflags=$[]_AC_LANG_PREFIX[]FLAGS ++_AC_LANG_PREFIX[]FLAGS="-Werror -fno-strict-aliasing" ++AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int main(void) { return 0; }]])], ++ [qp_alias=""], ++ [qp_alias="not-found"]) ++_AC_LANG_PREFIX[]FLAGS="$ac_saved_cflags" + if test -n "$qp_alias"; then + AC_MSG_RESULT(not found) + GCC_ALIAS_FLAG= diff --git a/dev-lang/qu-prolog/qu-prolog-10.7.ebuild b/dev-lang/qu-prolog/qu-prolog-10.7.ebuild index 9a5c4599174f..a9b27bccbba7 100644 --- a/dev-lang/qu-prolog/qu-prolog-10.7.ebuild +++ b/dev-lang/qu-prolog/qu-prolog-10.7.ebuild @@ -1,17 +1,17 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) -inherit autotools python-any-r1 qmake-utils +inherit autotools flag-o-matic python-any-r1 qmake-utils MY_P=qp${PV} DESCRIPTION="Extended Prolog supporting quantifiers, object-variables and substitutions" -HOMEPAGE="http://staff.itee.uq.edu.au/pjr/HomePages/QuPrologHome.html" -SRC_URI="http://staff.itee.uq.edu.au/pjr/HomePages/QPFiles/${MY_P}.tar.gz" +HOMEPAGE="https://staff.itee.uq.edu.au/pjr/HomePages/QuPrologHome.html" +SRC_URI="https://staff.itee.uq.edu.au/pjr/HomePages/QPFiles/${MY_P}.tar.gz" LICENSE="Apache-2.0 GPL-2+" SLOT="0" @@ -46,6 +46,14 @@ src_prepare() { } src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/924768 + # Upstream's sole provided contact method is email. I have sent an email + # describing the issue with a fairly rapid response saying there will be + # a new release "shortly" and that hopefully it will include a fix. -- Eli + append-flags -fno-strict-aliasing + filter-lto + econf \ --libdir=/usr/$(get_libdir) \ $(use_enable debug) \ diff --git a/dev-lang/qu-prolog/qu-prolog-10.8.ebuild b/dev-lang/qu-prolog/qu-prolog-10.8.ebuild new file mode 100644 index 000000000000..bb5358c114ed --- /dev/null +++ b/dev-lang/qu-prolog/qu-prolog-10.8.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit autotools flag-o-matic python-any-r1 qmake-utils + +MY_P=qp${PV} + +DESCRIPTION="Extended Prolog supporting quantifiers, object-variables and substitutions" +HOMEPAGE="https://staff.itee.uq.edu.au/pjr/HomePages/QuPrologHome.html" +SRC_URI="https://staff.itee.uq.edu.au/pjr/HomePages/QPFiles/${MY_P}.tar.gz" + +LICENSE="Apache-2.0 GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="debug doc examples pcre pedro qt5 readline threads" + +RDEPEND=" + !dev-util/rej + qt5? ( + dev-qt/qtwidgets:5 + dev-qt/qtgui:5 + ) + pcre? ( dev-libs/libpcre2 ) + pedro? ( net-misc/pedro ) + readline? ( app-misc/rlwrap )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-lang/perl" + +S="${WORKDIR}"/${MY_P} + +src_prepare() { + eapply "${FILESDIR}"/${PN}-10.x-qt5.patch + eapply "${FILESDIR}"/${PN}-10.8-compiler-flags.patch + eapply "${FILESDIR}"/${PN}-10.x-qa-compiler-flags.patch + eapply_user + + eautoconf + + python_fix_shebang "${S}"/bin/qc.in +} + +src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/924768 + # Upstream's sole provided contact method is email. I have sent an email + # describing the issue with a fairly rapid response saying there will be + # a new release "shortly" and that hopefully it will include a fix. -- Eli + append-flags -fno-strict-aliasing + filter-lto + + econf \ + --libdir=/usr/$(get_libdir) \ + $(use_enable debug) \ + $(use_enable threads multiple-threads) + + if use qt5; then + cd "${S}"/src/xqp || die + eqmake5 xqp.pro + fi +} + +src_compile() { + emake OPTIMISATION="${CXXFLAGS}" + + if use qt5; then + cd "${S}"/src/xqp || die + emake + fi +} + +src_install() { + sed \ + -e "s|${S}|/usr/$(get_libdir)/qu-prolog|g" \ + -i bin/qc bin/qc1.qup bin/qecat bin/qg bin/qp || die + + dobin bin/{qc,qecat,qp,kq} + + use qt5 && dobin src/xqp/xqp + + into /usr/$(get_libdir)/${PN} + dobin bin/{qa,qc1.qup,qdeal,qem,qg,ql,qppp} + + insinto /usr/$(get_libdir)/${PN}/bin + doins bin/rl_commands + doins bin/{qc1.qup,qecat,qg,qp}.qx + + insinto /usr/$(get_libdir)/${PN}/library + doins prolog/library/*.qo + + insinto /usr/$(get_libdir)/${PN}/compiler + doins prolog/compiler/*.qo + + doman doc/man/man1/*.1 + + dodoc README + + if use doc ; then + docinto reference-manual + dodoc doc/manual/*.html + docinto user-guide + dodoc doc/user/main.pdf + fi + + if use examples ; then + docinto examples + newdoc examples/README README.examples + dodoc examples/*.ql + fi +} diff --git a/dev-lang/regina-rexx/Manifest b/dev-lang/regina-rexx/Manifest index 9e79c169c6a0..cb0e448f78c8 100644 --- a/dev-lang/regina-rexx/Manifest +++ b/dev-lang/regina-rexx/Manifest @@ -2,4 +2,4 @@ AUX regina-rexx-3.9.5-makefile.patch 13712 BLAKE2B e9a185bcd1f5d6b156a3807afb6b6 AUX rxstack-r1 268 BLAKE2B 1bec862218eb0ef5087d5859f53adacf6fa22f3fc4b05a04ae89a861f32f800261e07620e1bab97a1aa7548f1232aad86367fc69c1696cd126edc4168064eb2b SHA512 823cc12df4986919b3177590b9da73c76474012361ff41eb93a04376df2efb3445b27da8931b9fdc5d960f5231a34ddaa7724d35d139eb2a1e340b025dfc460c DIST regina-rexx-3.9.5.tar.gz 2705272 BLAKE2B f26d4c7c582e1dafb97c2280651d07bba67549ccf9f58eb42e88e92ddbbb3184a36e5d3480977adccafdd1d9fdd1ca208950cd2700201600b6fbc0da7ebbd336 SHA512 bff25e5d218441306d021924582c19ed29c652b691e73988a4b53b9de4b51b758b1ee08704685967bd9bea469e93bf57b19875207fd4649d5af3e53dade39dd2 EBUILD regina-rexx-3.9.5.ebuild 1022 BLAKE2B 7c6869488649b8c99d49f60db95787f1bd55f591147c6b955ccbce4937cda1ba93a32b9c52c15bd480005a31939304f06062d71ad4081ec4a243750192b5389c SHA512 28ae5704d6f9fef9b4fa3b9fb935d2a60227d8f112113e74735ad17dc5de3493b77efe30d52a8c746ddd6acd5e02247b1194d5ffa475b816743a2b27265dcf93 -MISC metadata.xml 699 BLAKE2B f65a811dab1dd79b1fc46b652c1ca73394cb992de4a25e47e9e349b4382fdb8f808aeb2a813a692fbe20c2818bae73a50cf40e0e8fed3226a6847c85cd3cfd0d SHA512 add25b14c4712e08a6d5495ede1f9f1969c15752175cc91df433a833abf6572ab59a5275655ffae3676d43588d18695c8bcb24a758be5f3c0762cb695e4c72e9 +MISC metadata.xml 843 BLAKE2B c4e0e30ab78a6984374059eca8588e03111d6164aced096017be50e0324ffef411a7bdb731712f12bb48142e5c0430d6ddae4a2e701225bf2a3669ce062660d0 SHA512 adf11a12bd49b8a1690263f8d21fba9aa3a4038074a11ee0c351803be8980608f14790706b1d95cd48c51f67e6fe7a46730dd86c2790432acbb2e39393b9e0be diff --git a/dev-lang/regina-rexx/metadata.xml b/dev-lang/regina-rexx/metadata.xml index 1d3a12c3cc85..db944ab7dde1 100644 --- a/dev-lang/regina-rexx/metadata.xml +++ b/dev-lang/regina-rexx/metadata.xml @@ -1,9 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>s390@gentoo.org</email> - <name>s390 architecture team</name> + <maintainer type="person" proxied="yes"> + <email>matoro_gentoo@matoro.tk</email> + <name>Matoro Mahri</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> </maintainer> <longdescription> Regina is a Rexx interpreter. Rexx is a programming language that was diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest index 4d61e1f46293..83ddfdb048db 100644 --- a/dev-lang/ruby/Manifest +++ b/dev-lang/ruby/Manifest @@ -1,20 +1,21 @@ -AUX 3.0/001-socksocket-fix.patch 457 BLAKE2B cf3e15858481cdaa48be2cb3685bed663d9de792c743f6ef07ea5d2be214d630ee9bd70c1b6958110516d69a1889fdc4cf26676e52c55d4d530588b8274f962e SHA512 77381cb3c8d4a87a5ae06966d5dd00a38ea07148ed2feacb883e1d041d85ae0a6d64b30fd213f2ac0b1a07e3722f0e724cd0ec8414e74dc4de8844d849584b00 -AUX 3.0/010-default-gem-location.patch 753 BLAKE2B 2e9c209521e113c9b5b66ef305a2f29e042bc9330cc95ca847e04aec7a9450de48904bf583265aceec5984e8384e78a37b16a65435962ffc3ef458019b5ebedf SHA512 af63cd6c2c998533fd518abc6f48d1acb0f185e3bc9c4747301f7c7f3b3780e456f32db0252a0a03306dbc19a63d24c031fcfb7c35d732190fa68763e5817dcd -AUX 3.0/900-musl-coroutine.patch 842 BLAKE2B 21b58911e2c020ed956a837f006b20f30a123f96a52b19c62093f9d9fabb2f812fc3de8539c67a1b9aa4d106d5b7b2e91729e7aba030ebbdc67b1b3f590bf560 SHA512 ba292e5465c09df675fef34a77bbf4e16ebd807d2e5174d0e3f94be26e0694ea84dc46ee25de2d3b882b906779f0d08a173ee4c708f20b4f7f1032a238d8896c -AUX 3.0/901-musl-stacksize.patch 945 BLAKE2B 7187ee4c73fb4a9ec00b32a02a176863d88437abae60c20955f28baf939aa76daee7d8accfa5b35c8ae857c25b243d57d719e7542a20439b1eb5952b319fa383 SHA512 5db3e96891498aee8f97f0c5ffe0633c6554b8d8a4975fd73f838ebac1ceea248d18aa4262c2b865b7ca15e9d293d482f7323565ed6ae47ed632cb8a044976e6 -AUX 3.0/902-hppa-pthread-stack-size.patch 1690 BLAKE2B 679a69e08e7dcf9888a99cfbfef23139c5895be30e293f4df8cf20c16923498f2cc1f0355afbdd2ec3191131925bac48dbb4812c1e83f45fd85349970dea5bcc SHA512 d55e21b5d2fd914dc014db4a82aace55b114826825681f7c01f72813d6043a1c987dd2b7749bce46eb1a9f88dfe170a2cedb710b155f2c4fdb386499067d69c0 AUX 3.1/001-socksocket-fix.patch 457 BLAKE2B cf3e15858481cdaa48be2cb3685bed663d9de792c743f6ef07ea5d2be214d630ee9bd70c1b6958110516d69a1889fdc4cf26676e52c55d4d530588b8274f962e SHA512 77381cb3c8d4a87a5ae06966d5dd00a38ea07148ed2feacb883e1d041d85ae0a6d64b30fd213f2ac0b1a07e3722f0e724cd0ec8414e74dc4de8844d849584b00 AUX 3.1/010-default-gem-location.patch 715 BLAKE2B 1a3b0a3479210f6bafe89bfea4580ebcf44bb5c42b72a244dee9fa53371c095d6c8ff39feb58296518779b5841647ed89732bed33c542ad24d5b93ba97097cd6 SHA512 e0d0ebfc6de8dfb81cee309f0d1b7a9ccf64617ea16ad6d8d3ea715b29fb7b3bb6d962072503eee7125ffc1e5ba53035453e887935e681de3d35df279d7c0dc8 AUX 3.1/011-default-gem-location.patch 689 BLAKE2B 754bb18d8d028e763cc4e91e5a0a543beee807d0dd9d68e3bef52beafd2a28896372e20e5b9ee9fd6556323f7369f30a0c65d676e5de869bb81f978b6f7e655b SHA512 71e9ec7e0e6353cc4b973ed6dbe3c12c7784173705dc17a2e772f653aa592f2252749955f7957aa7526071eceb927711ef9055430ed3671025e35f57898ca754 +AUX 3.1/012-test-readline-without-tty.patch 1307 BLAKE2B 6aeea4229e36aef75d9e56aa4d0eb65f3b95df1fb861953d63d4e00bc0f9c57aead2cfc5a68d3f0d3f8400dfe8508161a8b5b8320221d160a871aa804d52f2b5 SHA512 813bf292fe132dd52f2c11a530e09e5c58547fd146bca2509b212c175b4359d98e6464709b5693656db935bf0ea27c8846d7510c4327bd79a419c1ff6fbd7007 +AUX 3.1/013-test-rlimit-constants.patch 4870 BLAKE2B 419fdd0df27467f651c5cbcdd4fd26a150d36bd9901efbd541e16e6fc4cd3bd036155b96e5addf55ff02b5a28e3a68d4fe24e64d6dc886e2912fff341a7dfde6 SHA512 0f00414bfba7d4e18ba86afee40dd955d65459b41d969cad6a49e91ae8a4d8995fdfce567dea68d2cd15134a470a00bf9de7b006de9c49e78bcfc8af6bdb7665 +AUX 3.1/020-arm-readline-test.patch 1289 BLAKE2B d441f04a6a11230df89340560f23897926d1982d46dffd5378c92956f07b9c5a062413484a62b2ba6b799e73d2008f5d19c549a864d61c2fb77b5de2c7a0db07 SHA512 7023b78255229ae124415274bb57077913a6a1f4667494491c00dd8933492f763dfb803eedf3a72251d2362d54eaa6723af6c68b84583fbdee21320cb6b7c66d AUX 3.1/901-musl-stacksize.patch 945 BLAKE2B 7187ee4c73fb4a9ec00b32a02a176863d88437abae60c20955f28baf939aa76daee7d8accfa5b35c8ae857c25b243d57d719e7542a20439b1eb5952b319fa383 SHA512 5db3e96891498aee8f97f0c5ffe0633c6554b8d8a4975fd73f838ebac1ceea248d18aa4262c2b865b7ca15e9d293d482f7323565ed6ae47ed632cb8a044976e6 AUX 3.1/902-hppa-pthread-stack-size.patch 1690 BLAKE2B 3d402e1f2e0dddc1557ed78d802516ec3f8e122b046fc153a702090aa3c5cac1ec4005fee4cf2e5c28c4be6e3183c5a12d4fb3a3c9fc07ea3f068cefd12b8b2b SHA512 87caf7fc61cd94ec45f68a799ab87caa740a2d0fa8eef60b1fa9f33f95586ecfaed7ed1466f7feeeed725d9b92d40a730e0835bf08f9eba9505790ed84b42125 AUX 3.2/010-default-gem-location.patch 356 BLAKE2B f44459799fff80c7f14e5e7d674ee9ed22863cdb84838e0fad55a66f615fa91e3e4de30377c04a385927feea67c6046c837eb7a647fbe162685309ea3f9ea420 SHA512 894075663d409a117ad94abd63d6562c90b87a725ef56d02ad7c187532b99a56128be2f5f64d0e72763d1c14213707de84c920415107df875218489796bc4a5a AUX 3.2/011-arm64-branch-protection.patch 1223 BLAKE2B 57ec142850e430f51aeca7c4f70ad9bac22a2a3fdd99616d8718520588b0f23e07f4c0ddfacc02edb9349fb0af38fcfc5b1b288dddedd4f6918511a5398980f3 SHA512 6fff70749a8b3eb6cd1b05a4b667613ead00097ecf4674fad710f3c785c97d55989a703569f0a041f1d75b82dbeb8f80bb9eef9b581e4ef3dd1c9907f6cc2634 +AUX 3.2/013-test-rlimit-constants.patch 4870 BLAKE2B 419fdd0df27467f651c5cbcdd4fd26a150d36bd9901efbd541e16e6fc4cd3bd036155b96e5addf55ff02b5a28e3a68d4fe24e64d6dc886e2912fff341a7dfde6 SHA512 0f00414bfba7d4e18ba86afee40dd955d65459b41d969cad6a49e91ae8a4d8995fdfce567dea68d2cd15134a470a00bf9de7b006de9c49e78bcfc8af6bdb7665 +AUX 3.2/020-arm-readline-test.patch 1418 BLAKE2B d5d8b5cad404b068b065757fe8c9cb9c5521fe2ef52dc90b8e3d9781e717309d4082d8beb3360cc46fd2e4cb7a41209ace3fd0bb0c49da6775aff53fc4f452b8 SHA512 402ae9c27f4a3d9e153c1a01e6cd7bb6be79833eed90206a1fbef76198122cff70e8e52a3e6e4b1794e57151113017fcba5f6f1fc5fc77c91a2d96a6dcd27c0d AUX 3.2/901-musl-stacksize.patch 749 BLAKE2B 422d53ef7fc1e76bd7466ff67da7cefd3665282ce0e29d16e2455e8f2bcbe081c0b9d31119eed6d6b53f6200fa72d623e9c04e0ebd6594397cf1dad344e8049a SHA512 f9ad0a50a0672a88b89cba9c452c090e0fe47fe41c640951b1b14970e1219a27c9ef3a1b53650b135d607830ae7a09b6a8916e45263415b58122c07262e90b1b AUX 3.2/902-hppa-pthread-stack-size.patch 1690 BLAKE2B 84c8478a69e108c68f96eeb0f36b1f94e069193ce124c0ca5c6143c0c9a2f0c62c7927a1a61a85270f449d03b4c6f5bd735e02ce1da1df0749602e655f177778 SHA512 d871b1c0a5d58bb197def0e00310e38fc145520dbbd1245079b2ebab0f89878f21a22f27c388fe2a7557244db28f0acb97edddf9bdf4adbeb00327e01c5215a6 AUX 3.3/010-default-gem-location.patch 356 BLAKE2B f44459799fff80c7f14e5e7d674ee9ed22863cdb84838e0fad55a66f615fa91e3e4de30377c04a385927feea67c6046c837eb7a647fbe162685309ea3f9ea420 SHA512 894075663d409a117ad94abd63d6562c90b87a725ef56d02ad7c187532b99a56128be2f5f64d0e72763d1c14213707de84c920415107df875218489796bc4a5a AUX 3.3/011-arm64-branch-protection.patch 1223 BLAKE2B 57ec142850e430f51aeca7c4f70ad9bac22a2a3fdd99616d8718520588b0f23e07f4c0ddfacc02edb9349fb0af38fcfc5b1b288dddedd4f6918511a5398980f3 SHA512 6fff70749a8b3eb6cd1b05a4b667613ead00097ecf4674fad710f3c785c97d55989a703569f0a041f1d75b82dbeb8f80bb9eef9b581e4ef3dd1c9907f6cc2634 AUX 3.3/012-mkdir-path.patch 334 BLAKE2B 13410c0946849ac2bd983c86854846cd50112093c0a196337933c4fd3859d975e3e24a21936682e4a579e8c4fd7b9a8ac8e21dda814b6d204e6a9e14405f6e1c SHA512 6a2276a4749bef46dcdfe4326f8995a746fd5547d62584f77533fa2117a3a830ea816b52c823eb63bd101fca507c179aa469f2b0529a24b4379bfafaf83823f7 +AUX 3.3/013-test-rlimit-constants.patch 5271 BLAKE2B 600482bc229bae2cc5cda7e9ceb74554d3c2bf4abf69ef79df12e0bead26a929a5806effbd111f44e9ec05bd25166e8d7e9fa879ab090add9ce0e4e40980f4fa SHA512 98173a270849ea1648f8fb1cff42c62f38d39851de0872cf225264ea6917d829ccf957743fe51c125a545dbc3372ed8bb1472139f0f230fb1ad5cde2c3562318 AUX 3.3/901-musl-stacksize.patch 749 BLAKE2B 422d53ef7fc1e76bd7466ff67da7cefd3665282ce0e29d16e2455e8f2bcbe081c0b9d31119eed6d6b53f6200fa72d623e9c04e0ebd6594397cf1dad344e8049a SHA512 f9ad0a50a0672a88b89cba9c452c090e0fe47fe41c640951b1b14970e1219a27c9ef3a1b53650b135d607830ae7a09b6a8916e45263415b58122c07262e90b1b AUX 3.3/902-hppa-pthread-stack-size.patch 1690 BLAKE2B 84c8478a69e108c68f96eeb0f36b1f94e069193ce124c0ca5c6143c0c9a2f0c62c7927a1a61a85270f449d03b4c6f5bd735e02ce1da1df0749602e655f177778 SHA512 d871b1c0a5d58bb197def0e00310e38fc145520dbbd1245079b2ebab0f89878f21a22f27c388fe2a7557244db28f0acb97edddf9bdf4adbeb00327e01c5215a6 DIST ruby-3.1.4.tar.xz 15316604 BLAKE2B 5d771c267451c05ae192991976957d43d1131e652ac5a90a8dfff9deba97cf6b139d0113f5d2ed44225a545aa79a1c732555de1efc83d1010d097ec35f7e92dd SHA512 a627bb629a10750b8b2081ad451a41faea0fc85d95aa1e267e3d2a0f56a35bb58195d4a8d13bbdbd82f4197a96dae22b1cee1dfc83861ec33a67ece07aef5633 @@ -22,18 +23,17 @@ DIST ruby-3.1.5.tar.xz 15293020 BLAKE2B 5d886f45f2a27dbe7682f5afc234d4992ffc5006 DIST ruby-3.1.6.tar.xz 15273916 BLAKE2B feb697b8d01ebde0042e679b814c4c95481c6afa607db46ad1511fb0d1a555d7800725e847e90dd9944ef42575c5205cf711025a165a65b6070743701631929c SHA512 a3159648706d6d11ce9613201141e884b3accc69bf928c756de8a8f2b71d219886e91435d30cf2c30e85af31f87801138e10106344766100f1b80662c7244652 DIST ruby-3.2.3.tar.xz 15163960 BLAKE2B e2cfa215b2cb910bac5f3b58edcdece91b21ffcfb6b4c183eec0c8502c320b78e7a8732c393b6e6a38dc9cfd81e129c00562d9be45f0deb36306ac81f96dcdc1 SHA512 d2a1897c2f4e801a28acb869322abfee76775115016252cecad90639485ed51deda1446cb16edb387f10a2e188602d646ef9b008b57f27bd745071277c535f3b DIST ruby-3.2.4.tar.xz 15175656 BLAKE2B 9c2300a958b03528d51f0d74a069c8c538ca4009835d55377509a000bcfb43893a8a80d8fda57011e77c72e6283cb259281d5ba7b37444546e49f2a9ad515cf3 SHA512 fb0af37be4b6ad7b98ab9f8a508952238ee68b5828e3926331e4db52e2ebc1e6046f31114069322db0cd3bea7c9b82ace91c8564573ddcfa1f960877b237dbff -DIST ruby-3.3.0.tar.xz 16345456 BLAKE2B 09ef6fb4b2768118207e7a9ece17c5c62c9f596b1c13ac6199245889fcc5d25f03336831ec3bf1367a460a8a26c4426c32bcd576b0da8bdafc90301032b4d2f0 SHA512 7959c5753bfa0bfc4d6d74060869aabbe9815c1c97930659da11b917ee0803ddbbd80e869e00c48b8694b4ba48709c3b6493fd045568e36e902616c35ababf01 -DIST ruby-3.3.1.tar.xz 16350792 BLAKE2B f3591d2420edd8c1d5b365d1442fcc07c014e402478dce01a80b81c16c3c7083bcd3e9e9aa0f8d586cd482f0f18eb64ad813ea31755f5d12b137ce03b1a0fa4c SHA512 c58e9be9b5ab48191fbf7d67e13f0ec42ee71ed338170e0f7b246708e9cfc617ce65098f5ce7ab32d4305e785642d3e44253462104d5b9c4abcb1a4113f48347 +DIST ruby-3.2.5.tar.xz 15189072 BLAKE2B a37c92a0f751e81dcae328b8944c4ecf10f6aee4f4468d6d08bb924c9808c8556c5febb71a825dd62dbcccf56385138e6e306bf3efae3589bdf0512d16d99d1a SHA512 092348b84b513aec62e63ec10b326370d0e3d1fa3126c59c03c84f28e2d7741a4772c461b077ec6a7dac3964a20f434655729e1acd50a3438755d7ad64073305 DIST ruby-3.3.2.tar.xz 16349500 BLAKE2B 2a474df10363555e8f0b9ad73bb854ad34f3d1485b8bdde833c999b20bc2c17282d2097d887d10f454bbd4dfdf08f04bb644a7e41d0b4a0ff0e9eb144339b5e8 SHA512 70dd8eb933956f894c52a8ede42e8ee74ff0e062bd8134a0bfb6bffc83a2848a658b62c8df5530b4dd64087b2d5373909c48917528facb1e6f4e99e79b6ad449 -DIST ruby-3.3.3.tar.xz 16361160 BLAKE2B e1dbb8f0d5de4b2d7efe3f68c1ea7f28e4fac19dcd9d6d5e301e5c565474958a916ea5f21ef2ce0d741d4d9c45a546dd3d00b3ca3d1eccfaf61f20eba3c871a7 SHA512 27dcae604e6613e1eaa20c6a75ee88b970bb0dd584d9bc0c021ad8da4340858e3c2e874ac841fcca0b0444a0c0146c4650d2d22bac3c9e12853533c37255f8f1 -EBUILD ruby-3.1.4-r3.ebuild 8352 BLAKE2B f3a592bd500c5319ca351544666a87446ad794158e3271076b8bcbec1e827ab8d9f7e70e1a0c4548e203d3a758a29e0d790285ff48d99b69816c6107d0d03bdf SHA512 e191ef30979b3fb967379345474609382629e555040b388c92fe54e45b3afd097b1e7c9f4bbbf611b740d799cd1c26973a6aec60dcc35c54c9182f3911a47485 -EBUILD ruby-3.1.4-r5.ebuild 8504 BLAKE2B 2ee7c9aef7c65d9601cd31918addaa7a42bf806d08237f75e894db1e564e6fc282892c2c517badf366cd0584debcb51d0c754353af656d26bdc94389d5ea7e01 SHA512 1fb62ce8b8fc7288a954abe23af104ce7bc9124c157f4dcf68fd499d7f103bc8b396fdb5089431b4cf7c76c9c7adabe11f3a4f9b172c1d12c14165ec2de8d306 -EBUILD ruby-3.1.5.ebuild 8594 BLAKE2B ff11b93e3af50798d6080c62044650412b82d40d23e3875f907001babe2e5a5202dbeeb8fbc7d520fe720eaea2e4505dcc2133c7600d41362e2cee910d6e0dbb SHA512 339a1788ad60046dfb52bd5dd7aff0a07513e36d90c6004e5a0b084e038951bab3db1a4a965e43796a2e66069c12751bd6e237bf37022a542d3ab0543413c3e9 -EBUILD ruby-3.1.6.ebuild 8801 BLAKE2B c1d6c9f691869e2c87018af75de136ea232d0538dac701ffa320308c5f22c658b9ef4ece7a14d60b6914cb3190c5bc62fcf851bf8f5691951134f56f0ab2baed SHA512 9026d13286ba7917138995f2b6198c67cfab4efd0065e7db441fb3bf39c4aea2441299806352ef0942c17af611ccb43f202bec5724177aa7172f49d0c558a3dd +DIST ruby-3.3.4.tar.xz 16366580 BLAKE2B e10b81ad7838e3d443ce0b12b8372faebb001f00a32dc0fa1f5e37c46baae99ea714e7f2a8741f0294255312030e844f32fc5d1c3695545cf8303e85b3255f21 SHA512 b26461a13ff82a08a282f10108028bb2a2e4a28da6182a291062fc54089c6655d79c22cc69d59156f9b11cb10a17fe8c69d489343fbae123a45f03361b95c9eb +EBUILD ruby-3.1.4-r3.ebuild 8353 BLAKE2B 442e4dab4ca961de6b489d7bf4182d5664c9e473f0891479d3842cb09936b5e5b21ace1a730b56824969eda328c38f3b7b25c48124399c8ba3c97a73aff69b77 SHA512 dea295106f0a8a94e44f6c341c57fd19b2d9d212b8db6f7561376aac07a546107809a2eda7f8be38f0fbd0b9f477ce88f5432fdec8004f19cc16691ac0c13dbf +EBUILD ruby-3.1.5.ebuild 8678 BLAKE2B 8efd1b3ee7009bd7c983b9eb9a8a9eea29754fbba330957200548d27c1eeace562abafa8640a3ffd96adb8bdacf06918e21bef7870cff860225a408da7a45e3a SHA512 788d2ff68acbeb7dcc28502b9209ce43dc4d0f64810766df3eb8c140b3cddbe70756785a8c12ea2a588f596e12f2e8652f531a62112330522812847ad4297a89 +EBUILD ruby-3.1.6-r1.ebuild 9216 BLAKE2B 56f222cf3f4a13739ff20f9e83120288db771bf5f2b17fdb864b05c25c0cb88123982e50744f58285ef4494f48225e16e92c8df40ef8c8e7972596b460ff2845 SHA512 f3adae7357d2710af7821f61cd79033136f37016e88d7e862200596eef0786dc72be2efa2511cc9d2a5ba25cf10735df781e90e1aaafd6c567e0e4b175966ced EBUILD ruby-3.2.3.ebuild 9534 BLAKE2B 8383353bf02c2abba8dcf67cbdffcc197d085fce1c961c56d0d493ccc840f0970efb105b916a28d590c6f6caff42e654651361f685bce545c969082981cbd25f SHA512 78f8270db8c06b960a84b03b20b31f3aacc455905637e8cf3e040724d1c39b43aac19e296205902cf6c958e5c64ed0843e6854ae9997e612598aea6b3965c6d0 -EBUILD ruby-3.2.4.ebuild 9538 BLAKE2B 2b42ff228264ed57f4980463c3d79b533c4922cdd86ecb2b64cd11cd37e0b02a70c364f9105094d08fbdd944eb76f0345a7b797d4bbc278bfca01074b1721fe8 SHA512 4be33bbad246bf398660481977b7349bd5ae1f145d30610e337a319da8b1cd256c4294a1c2a52f472e9f7bea4bfee1f8eccb99d8a554e7c2a23ce78477c56a4c -EBUILD ruby-3.3.0-r2.ebuild 9312 BLAKE2B 547e2853e5a53f762d8ac6abb7c721ea3221d645d3717354d8c92059dd3417f71611e104b2c1c0fadbd14b86174312483e83768ebbd70fa787b423ce59deba9c SHA512 7e250ef083f3f5f5bcd12db3080eedbd99dc6d7033da8846306d0f4a4ce6763baaabbf25171d2b69830f69a52bbdbd3a11b31f3849af860e6b6d8001502ea97e -EBUILD ruby-3.3.1.ebuild 9269 BLAKE2B 3f9971414512fb66be404c5a7ed5553e8b581b5f19874d7ab733d5d6aad3cca489163764d3bc2aa81a6f5d2981026290e4a197cf4b3712218741b4aede3268ee SHA512 44419e0bac61f0e9215e4c131ede309b08ef3d021c476899c0adadf35d54d661e86beb75a5e80a95dc7915131b748823e9ea5b53af3f8bce6fb7ac11c178690c +EBUILD ruby-3.2.4-r1.ebuild 9728 BLAKE2B 6554ba17e3294d728453ff4b501309c45f2814b72a3bbe9cda6c00424f41733b8faed9d2f98716aa3f3f76968d21f6df6a42b1220882c98b29947859f57aa7d9 SHA512 aebf0168496d1ce0da7318c520c991a85563dda646526f21e0511f645abecc291466fdce2addc9d0a81f0eb70d317b71e5e23d0d95856a01610b59a75cc4c081 +EBUILD ruby-3.2.4.ebuild 9578 BLAKE2B 7ef454464ff6b379ba0f56a64a4d9e6aff3b74d8f8d329eda7e7d4c9ef3ec0bc31ba4a61b8787e73fb3a52b6403146de25a8924f7f7c08f3fa0be7b309ab5ba0 SHA512 51067d30e872159ce36e25bea4183eb98b34a3bdc2026d04097e6f23f644772a665ca5ff74ef3e76bb7a5eaa8b8325adf294b763fd57c728febd1f21150c52d4 +EBUILD ruby-3.2.5.ebuild 9730 BLAKE2B e8cd713a93ffae81f6d1a7152f608a53b44eb30463dca4dc941368edbe7f437c98ea1fb84fedb1dcbe572f5408458a1a61ed5099fbe018d7da472892eacce02b SHA512 0bd5940aeeb4c135b8f049de507edcbd1fccb7b17ada9de7a8de59cc6eddbd240fc80455966612a07d1bce6032f66fb6fc863b0590ca749701052275b47e7397 EBUILD ruby-3.3.2.ebuild 9269 BLAKE2B 3f9971414512fb66be404c5a7ed5553e8b581b5f19874d7ab733d5d6aad3cca489163764d3bc2aa81a6f5d2981026290e4a197cf4b3712218741b4aede3268ee SHA512 44419e0bac61f0e9215e4c131ede309b08ef3d021c476899c0adadf35d54d661e86beb75a5e80a95dc7915131b748823e9ea5b53af3f8bce6fb7ac11c178690c -EBUILD ruby-3.3.3.ebuild 9313 BLAKE2B 1c5b002f508615eb215373bdffcda1b3b9e31721dc4e84c8e26b89ee6d50ec9083d303a30693e7dc112023d2a8f1ef5c839aae138e2599718557874ed5a188d2 SHA512 9595ef7701534114468725f6c07558abd8e4144effdbfc160fd406c7a95d141a2d657285fef8ff48e25832715abe781aa91920522ab28e7d7f215e8b1284e383 +EBUILD ruby-3.3.4-r1.ebuild 9583 BLAKE2B 1755bd4e52fe6df120161ce549f31370a5782ffa816bfeb53f2841fd23f5e5b928855882cf14ff0f7f74a74c8ac1a099036a4d4dd961553178ac2207e6ba65f7 SHA512 637273b10d522ef5ca47474cd321d91af1ff87eaa43e7dd3fcd62865cc5a50db79de9260718a024f8436ab2bed2bc32c010f6e7f940fcdf1dcdc5d5471c50744 +EBUILD ruby-3.3.4.ebuild 9540 BLAKE2B 1ba26b28667aa365da7b9e86f182843e3e69d2ce02f2c8338d7b62e54c26dc59ee4dd841cdd99a1dfe7919cb57aac03bb0989424a45a388e097cfac74271a2ce SHA512 f445bb5a5b05c85fe12ec8054f3847b4a7d42a16b0f868a65dbe1b13b179d9e0259d516613312c89b19b80321429e8ed0a69800eda91f7e552c0269faa23760f MISC metadata.xml 504 BLAKE2B ca7743b107a6825dd029e0798cf1b0d048e3ce730382245565692e9242d09553db2c09edd1d09195602d9d96167c8606f3e7ddd5a27e1473eb9e4fbbc9074d1d SHA512 c2cf0a52fe03067cc09edc660d981af2465e4a733e53ad601d0e6377fa61072a60be4ec916cae94023328600e52a29f18621b47e839bddc897fa00db44feb9b1 diff --git a/dev-lang/ruby/files/3.0/001-socksocket-fix.patch b/dev-lang/ruby/files/3.0/001-socksocket-fix.patch deleted file mode 100644 index 1a79e25491cc..000000000000 --- a/dev-lang/ruby/files/3.0/001-socksocket-fix.patch +++ /dev/null @@ -1,15 +0,0 @@ -Fix compilation with socks5 USE flag. - -Patch by Phobos Kappa in https://bugs.gentoo.org/762253 - ---- a/ext/socket/sockssocket.c 2020-12-25 05:33:01.000000000 +0200 -+++ b/ext/socket/sockssocket.c 2020-12-28 15:42:50.310029778 +0200 -@@ -34,7 +34,7 @@ - init = 1; - } - -- return rsock_init_inetsock(sock, host, port, Qnil, Qnil, INET_SOCKS, Qnil); -+ return rsock_init_inetsock(sock, host, port, Qnil, Qnil, INET_SOCKS, Qnil, Qnil); - } - - #ifdef SOCKS5 diff --git a/dev-lang/ruby/files/3.0/010-default-gem-location.patch b/dev-lang/ruby/files/3.0/010-default-gem-location.patch deleted file mode 100644 index 060579b4f339..000000000000 --- a/dev-lang/ruby/files/3.0/010-default-gem-location.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/tool/rbinstall.rb.~1~ 2020-12-25 04:33:01.000000000 +0100 -+++ b/tool/rbinstall.rb 2020-12-25 10:05:34.629096405 +0100 -@@ -897,7 +897,7 @@ - end - - def install_default_gem(dir, srcdir) -- gem_dir = Gem.default_dir -+ gem_dir = ENV['GEM_DESTDIR'] - install_dir = with_destdir(gem_dir) - prepare "default gems from #{dir}", gem_dir - makedirs(Gem.ensure_default_gem_subdirectories(install_dir, $dir_mode).map {|d| File.join(gem_dir, d)}) -@@ -943,7 +943,7 @@ - end - - install?(:ext, :comm, :gem, :'bundled-gems') do -- gem_dir = Gem.default_dir -+ gem_dir = ENV['GEM_DESTDIR'] - install_dir = with_destdir(gem_dir) - prepare "bundled gems", gem_dir - makedirs(Gem.ensure_gem_subdirectories(install_dir, $dir_mode).map {|d| File.join(gem_dir, d)}) diff --git a/dev-lang/ruby/files/3.0/900-musl-coroutine.patch b/dev-lang/ruby/files/3.0/900-musl-coroutine.patch deleted file mode 100644 index a323cdd6e770..000000000000 --- a/dev-lang/ruby/files/3.0/900-musl-coroutine.patch +++ /dev/null @@ -1,28 +0,0 @@ -Adapted for Gentoo version 3.0.2 - -From b570e7de87aaad8c903176d835e8124127f627b3 Mon Sep 17 00:00:00 2001 -From: Andrew Aladjev <aladjev.andrew@gmail.com> -Date: Sat, 26 Sep 2020 12:58:06 +0300 -Subject: [PATCH] fixed default coroutine selection for musl - ---- - configure.ac | 5 ++++- - coroutine/copy/Context.c | 2 ++ - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index ab5d532c103b..084f0936c006 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2364,7 +2364,10 @@ - rb_cv_coroutine=copy - ], - [ -- rb_cv_coroutine=ucontext -+ AC_CHECK_FUNCS([getcontext swapcontext makecontext], -+ [rb_cv_coroutine=ucontext], -+ [rb_cv_coroutine=copy; break] -+ ) - ] - ) - AC_MSG_RESULT(${rb_cv_coroutine}) diff --git a/dev-lang/ruby/files/3.0/901-musl-stacksize.patch b/dev-lang/ruby/files/3.0/901-musl-stacksize.patch deleted file mode 100644 index e5fcfce2195e..000000000000 --- a/dev-lang/ruby/files/3.0/901-musl-stacksize.patch +++ /dev/null @@ -1,26 +0,0 @@ -musl has a conservative stacksize, as compared to glibc, so treat it -like other systems with such stacksize - -diff --git a/thread_pthread.c b/thread_pthread.c -index 951885ffa0..e2d662143b 100644 ---- a/thread_pthread.c -+++ b/thread_pthread.c -@@ -721,7 +721,7 @@ ruby_init_stack(volatile VALUE *addr - { - native_main_thread.id = pthread_self(); - --#if MAINSTACKADDR_AVAILABLE -+#if MAINSTACKADDR_AVAILABLE && !(defined(__linux__) && !defined(__GLIBC__)) - if (native_main_thread.stack_maxsize) return; - { - void* stackaddr; -@@ -1680,7 +1680,7 @@ ruby_stack_overflowed_p(const rb_thread_t *th, const void *addr) - - #ifdef STACKADDR_AVAILABLE - if (get_stack(&base, &size) == 0) { --# ifdef __APPLE__ -+# if defined(__APPLE__) || (defined(__linux__) && !defined(__GLIBC__)) - if (pthread_equal(th->thread_id, native_main_thread.id)) { - struct rlimit rlim; - if (getrlimit(RLIMIT_STACK, &rlim) == 0 && rlim.rlim_cur > size) { - diff --git a/dev-lang/ruby/files/3.0/902-hppa-pthread-stack-size.patch b/dev-lang/ruby/files/3.0/902-hppa-pthread-stack-size.patch deleted file mode 100644 index 7978566afc7e..000000000000 --- a/dev-lang/ruby/files/3.0/902-hppa-pthread-stack-size.patch +++ /dev/null @@ -1,54 +0,0 @@ -https://bugs.gentoo.org/701494 - -From 794b6fce94343c4f9dceca5d08224b0fb364fde8 Mon Sep 17 00:00:00 2001 -From: Sam James <sam@gentoo.org> -Date: Fri, 7 Apr 2023 11:46:12 +0100 -Subject: [PATCH] thread_pthread: Grow main_stack if required (fixes tests on - HPPA) - -On HPPA, test_insns.rb fails (along with various Ruby gems) with -'stack level too deep (SystemStackError)'. This turns out to be because HPPA -defaults to a small(er) stack. - -With this change, most of Ruby's test suite now passes on HPPA. - -Thanks to both Dave and Helge for the investigation and coming up with the -patch. - -Bug: https://bugs.gentoo.org/701494 -Bug: https://bugs.debian.org/881773 -Bug: https://bugs.debian.org/881772 (for PPC64) -Bug: https://github.com/rack/rack/issues/1640 -Thanks-to: John David Anglin <dave.anglin@bell.net> -Thanks-to: Helge Deller <deller@gmx.de> -Signed-off-by: Sam James <sam@gentoo.org> ---- a/thread_pthread.c -+++ b/thread_pthread.c -@@ -681,8 +681,22 @@ size_t pthread_get_stacksize_np(pthread_t); - # define MAINSTACKADDR_AVAILABLE 0 - # endif - #endif --#if MAINSTACKADDR_AVAILABLE && !defined(get_main_stack) --# define get_main_stack(addr, size) get_stack(addr, size) -+#if MAINSTACKADDR_AVAILABLE -+static int get_stack(void **, size_t *); -+static int -+get_main_stack(void **addr, size_t *size) -+{ -+ int ret = get_stack(addr, size); -+ -+#ifdef __hppa__ -+ /* On some architectures, the initial stack size may be too small, but fortunately, -+ it's growable. Bump it up to the minimum needed if it is too small. */ -+ if (*size < RUBY_VM_THREAD_VM_STACK_SIZE) -+ *size = RUBY_VM_THREAD_VM_STACK_SIZE; -+#endif -+ -+ return ret; -+} - #endif - - #ifdef STACKADDR_AVAILABLE --- -2.40.0 - diff --git a/dev-lang/ruby/files/3.1/012-test-readline-without-tty.patch b/dev-lang/ruby/files/3.1/012-test-readline-without-tty.patch new file mode 100644 index 000000000000..99319377ae45 --- /dev/null +++ b/dev-lang/ruby/files/3.1/012-test-readline-without-tty.patch @@ -0,0 +1,33 @@ +From 47988e63d65098ce1e6484f03ae5e2ca42bd7963 Mon Sep 17 00:00:00 2001 +From: Sorah Fukumori <her@sorah.jp> +Date: Sat, 8 Jan 2022 14:03:02 +0900 +Subject: [PATCH] test_readline#test_without_tty: Use EnvUtil.rubybin + +`ruby` is not always available in certain build environments and +configure options. Choose appropriate command line using EnvUtil. +--- + test/readline/test_readline.rb | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb +index be338c6c0d484e..be6e65f32ef22d 100644 +--- a/test/readline/test_readline.rb ++++ b/test/readline/test_readline.rb +@@ -6,6 +6,8 @@ + require "open3" + + module BasetestReadline ++ RUBY = EnvUtil.rubybin ++ + INPUTRC = "INPUTRC" + TERM = "TERM" + SAVED_ENV = %w[COLUMNS LINES] +@@ -839,7 +841,7 @@ def test_without_tty + loader = "use_lib_reline" + end + if loader +- res, exit_status = Open3.capture2e("ruby -I#{__dir__} -Ilib -rhelper -e '#{loader}; Readline.readline(%{y or n?})'", stdin_data: "y\n") ++ res, exit_status = Open3.capture2e("#{RUBY} -I#{__dir__} -Ilib -rhelper -e '#{loader}; Readline.readline(%{y or n?})'", stdin_data: "y\n") + assert exit_status.success?, "It should work fine without tty, but it failed.\nError output:\n#{res}" + end + end diff --git a/dev-lang/ruby/files/3.1/013-test-rlimit-constants.patch b/dev-lang/ruby/files/3.1/013-test-rlimit-constants.patch new file mode 100644 index 000000000000..998c839808aa --- /dev/null +++ b/dev-lang/ruby/files/3.1/013-test-rlimit-constants.patch @@ -0,0 +1,147 @@ +From bea20365f43ee115ea6219c7113647eed3d9e342 Mon Sep 17 00:00:00 2001 +From: matoro <matoro@users.noreply.github.com> +Date: Wed, 7 Aug 2024 13:15:00 -0400 +Subject: [PATCH] Replace specific constant tests with just type checks + +As detailed in the attached issue, these constants can and do vary e.g. +between architectures on Linux. Hardcoding and asserting that they are +equal to specific values pretty much defeats the purpose of building +these in at compile time. Instead, simply assert that they exist and +are integers. + +Fixes: https://github.com/ruby/spec/issues/1150 +--- + core/process/constants_spec.rb | 116 ++++++++++++++++++++------------- + 1 file changed, 69 insertions(+), 47 deletions(-) + +diff --git a/core/process/constants_spec.rb b/core/process/constants_spec.rb +index 616c54b8e..57cacadef 100644 +--- a/spec/ruby/core/process/constants_spec.rb ++++ b/spec/ruby/core/process/constants_spec.rb +@@ -2,64 +2,81 @@ + + describe "Process::Constants" do + platform_is :darwin, :netbsd, :freebsd do +- it "has the correct constant values on BSD-like systems" do +- Process::WNOHANG.should == 1 +- Process::WUNTRACED.should == 2 +- Process::PRIO_PROCESS.should == 0 +- Process::PRIO_PGRP.should == 1 +- Process::PRIO_USER.should == 2 +- Process::RLIM_INFINITY.should == 9223372036854775807 +- Process::RLIMIT_CPU.should == 0 +- Process::RLIMIT_FSIZE.should == 1 +- Process::RLIMIT_DATA.should == 2 +- Process::RLIMIT_STACK.should == 3 +- Process::RLIMIT_CORE.should == 4 +- Process::RLIMIT_RSS.should == 5 +- Process::RLIMIT_MEMLOCK.should == 6 +- Process::RLIMIT_NPROC.should == 7 +- Process::RLIMIT_NOFILE.should == 8 ++ it "are all present on BSD-like systems" do ++ %i[ ++ WNOHANG ++ WUNTRACED ++ PRIO_PROCESS ++ PRIO_PGRP ++ PRIO_USER ++ RLIM_INFINITY ++ RLIMIT_CPU ++ RLIMIT_FSIZE ++ RLIMIT_DATA ++ RLIMIT_STACK ++ RLIMIT_CORE ++ RLIMIT_RSS ++ RLIMIT_MEMLOCK ++ RLIMIT_NPROC ++ RLIMIT_NOFILE ++ ].each do |const| ++ Process.const_defined?(const).should be_true ++ Process.const_get(const).should be_an_instance_of(Integer) ++ end + end + end + + platform_is :darwin do +- it "has the correct constant values on Darwin" do +- Process::RLIM_SAVED_MAX.should == 9223372036854775807 +- Process::RLIM_SAVED_CUR.should == 9223372036854775807 +- Process::RLIMIT_AS.should == 5 ++ it "are all present on Darwin" do ++ %i[ ++ RLIM_SAVED_MAX ++ RLIM_SAVED_CUR ++ RLIMIT_AS ++ ].each do |const| ++ Process.const_defined?(const).should be_true ++ Process.const_get(const).should be_an_instance_of(Integer) ++ end + end + end + + platform_is :linux do +- it "has the correct constant values on Linux" do +- Process::WNOHANG.should == 1 +- Process::WUNTRACED.should == 2 +- Process::PRIO_PROCESS.should == 0 +- Process::PRIO_PGRP.should == 1 +- Process::PRIO_USER.should == 2 +- Process::RLIMIT_CPU.should == 0 +- Process::RLIMIT_FSIZE.should == 1 +- Process::RLIMIT_DATA.should == 2 +- Process::RLIMIT_STACK.should == 3 +- Process::RLIMIT_CORE.should == 4 +- Process::RLIMIT_RSS.should == 5 +- Process::RLIMIT_NPROC.should == 6 +- Process::RLIMIT_NOFILE.should == 7 +- Process::RLIMIT_MEMLOCK.should == 8 +- Process::RLIMIT_AS.should == 9 +- +- # These values appear to change according to the platform. +- values = [4294967295, 9223372036854775807, 18446744073709551615] +- values.include?(Process::RLIM_INFINITY).should be_true +- values.include?(Process::RLIM_SAVED_MAX).should be_true +- values.include?(Process::RLIM_SAVED_CUR).should be_true ++ it "are all present on Linux" do ++ %i[ ++ WNOHANG ++ WUNTRACED ++ PRIO_PROCESS ++ PRIO_PGRP ++ PRIO_USER ++ RLIMIT_CPU ++ RLIMIT_FSIZE ++ RLIMIT_DATA ++ RLIMIT_STACK ++ RLIMIT_CORE ++ RLIMIT_RSS ++ RLIMIT_NPROC ++ RLIMIT_NOFILE ++ RLIMIT_MEMLOCK ++ RLIMIT_AS ++ RLIM_INFINITY ++ RLIM_SAVED_MAX ++ RLIM_SAVED_CUR ++ ].each do |const| ++ Process.const_defined?(const).should be_true ++ Process.const_get(const).should be_an_instance_of(Integer) ++ end + end + end + + platform_is :netbsd, :freebsd do +- it "Process::RLIMIT_SBSIZE" do +- Process::RLIMIT_SBSIZE.should == 9 # FIXME: what's it equal? +- Process::RLIMIT_AS.should == 10 ++ it "are all present on NetBSD and FreeBSD" do ++ %i[ ++ RLIMIT_SBSIZE ++ RLIMIT_AS ++ ].each do |const| ++ Process.const_defined?(const).should be_true ++ Process.const_get(const).should be_an_instance_of(Integer) ++ end + end + end + + diff --git a/dev-lang/ruby/files/3.1/020-arm-readline-test.patch b/dev-lang/ruby/files/3.1/020-arm-readline-test.patch new file mode 100644 index 000000000000..3bc40baf00db --- /dev/null +++ b/dev-lang/ruby/files/3.1/020-arm-readline-test.patch @@ -0,0 +1,28 @@ +From 868f873a78034016fc05d79061245695e3c372fc Mon Sep 17 00:00:00 2001 +From: matoro <matoro@users.noreply.github.com> +Date: Thu, 23 May 2024 16:10:32 -0400 +Subject: [PATCH] Skip test_interrupt_in_other_thread on arm32-linux + +This is a combination of main Ruby commit +https://github.com/ruby/ruby/commit/aefc98891c42024039f19ef45bdfe93fbc590b7c +and my PR correcting the regex https://github.com/ruby/ruby/pull/10819. +Upstream Ruby requests that changes to this test go to readline-ext repo +before being backported to 3.2 branch. +--- + test/readline/test_readline.rb | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb +index 746a3a5ba1..86d3862739 100644 +--- a/test/readline/test_readline.rb ++++ b/test/readline/test_readline.rb +@@ -481,6 +481,9 @@ def test_interrupt_in_other_thread + # likewise with 32-bit userspace on 64-bit kernel + omit if /\Ax86_64-linux-(?:x32|i[3-6]686)\z/ =~ RUBY_PLATFORM + ++ # Skip arm32-linux (Travis CI). See aefc988 in main ruby repo. ++ omit "Skip arm32-linux" if /armv[0-9+][a-z]-linux/ =~ RUBY_PLATFORM ++ + if defined?(TestReadline) && self.class == TestReadline + use = "use_ext_readline" + elsif defined?(TestRelineAsReadline) && self.class == TestRelineAsReadline diff --git a/dev-lang/ruby/files/3.2/013-test-rlimit-constants.patch b/dev-lang/ruby/files/3.2/013-test-rlimit-constants.patch new file mode 100644 index 000000000000..998c839808aa --- /dev/null +++ b/dev-lang/ruby/files/3.2/013-test-rlimit-constants.patch @@ -0,0 +1,147 @@ +From bea20365f43ee115ea6219c7113647eed3d9e342 Mon Sep 17 00:00:00 2001 +From: matoro <matoro@users.noreply.github.com> +Date: Wed, 7 Aug 2024 13:15:00 -0400 +Subject: [PATCH] Replace specific constant tests with just type checks + +As detailed in the attached issue, these constants can and do vary e.g. +between architectures on Linux. Hardcoding and asserting that they are +equal to specific values pretty much defeats the purpose of building +these in at compile time. Instead, simply assert that they exist and +are integers. + +Fixes: https://github.com/ruby/spec/issues/1150 +--- + core/process/constants_spec.rb | 116 ++++++++++++++++++++------------- + 1 file changed, 69 insertions(+), 47 deletions(-) + +diff --git a/core/process/constants_spec.rb b/core/process/constants_spec.rb +index 616c54b8e..57cacadef 100644 +--- a/spec/ruby/core/process/constants_spec.rb ++++ b/spec/ruby/core/process/constants_spec.rb +@@ -2,64 +2,81 @@ + + describe "Process::Constants" do + platform_is :darwin, :netbsd, :freebsd do +- it "has the correct constant values on BSD-like systems" do +- Process::WNOHANG.should == 1 +- Process::WUNTRACED.should == 2 +- Process::PRIO_PROCESS.should == 0 +- Process::PRIO_PGRP.should == 1 +- Process::PRIO_USER.should == 2 +- Process::RLIM_INFINITY.should == 9223372036854775807 +- Process::RLIMIT_CPU.should == 0 +- Process::RLIMIT_FSIZE.should == 1 +- Process::RLIMIT_DATA.should == 2 +- Process::RLIMIT_STACK.should == 3 +- Process::RLIMIT_CORE.should == 4 +- Process::RLIMIT_RSS.should == 5 +- Process::RLIMIT_MEMLOCK.should == 6 +- Process::RLIMIT_NPROC.should == 7 +- Process::RLIMIT_NOFILE.should == 8 ++ it "are all present on BSD-like systems" do ++ %i[ ++ WNOHANG ++ WUNTRACED ++ PRIO_PROCESS ++ PRIO_PGRP ++ PRIO_USER ++ RLIM_INFINITY ++ RLIMIT_CPU ++ RLIMIT_FSIZE ++ RLIMIT_DATA ++ RLIMIT_STACK ++ RLIMIT_CORE ++ RLIMIT_RSS ++ RLIMIT_MEMLOCK ++ RLIMIT_NPROC ++ RLIMIT_NOFILE ++ ].each do |const| ++ Process.const_defined?(const).should be_true ++ Process.const_get(const).should be_an_instance_of(Integer) ++ end + end + end + + platform_is :darwin do +- it "has the correct constant values on Darwin" do +- Process::RLIM_SAVED_MAX.should == 9223372036854775807 +- Process::RLIM_SAVED_CUR.should == 9223372036854775807 +- Process::RLIMIT_AS.should == 5 ++ it "are all present on Darwin" do ++ %i[ ++ RLIM_SAVED_MAX ++ RLIM_SAVED_CUR ++ RLIMIT_AS ++ ].each do |const| ++ Process.const_defined?(const).should be_true ++ Process.const_get(const).should be_an_instance_of(Integer) ++ end + end + end + + platform_is :linux do +- it "has the correct constant values on Linux" do +- Process::WNOHANG.should == 1 +- Process::WUNTRACED.should == 2 +- Process::PRIO_PROCESS.should == 0 +- Process::PRIO_PGRP.should == 1 +- Process::PRIO_USER.should == 2 +- Process::RLIMIT_CPU.should == 0 +- Process::RLIMIT_FSIZE.should == 1 +- Process::RLIMIT_DATA.should == 2 +- Process::RLIMIT_STACK.should == 3 +- Process::RLIMIT_CORE.should == 4 +- Process::RLIMIT_RSS.should == 5 +- Process::RLIMIT_NPROC.should == 6 +- Process::RLIMIT_NOFILE.should == 7 +- Process::RLIMIT_MEMLOCK.should == 8 +- Process::RLIMIT_AS.should == 9 +- +- # These values appear to change according to the platform. +- values = [4294967295, 9223372036854775807, 18446744073709551615] +- values.include?(Process::RLIM_INFINITY).should be_true +- values.include?(Process::RLIM_SAVED_MAX).should be_true +- values.include?(Process::RLIM_SAVED_CUR).should be_true ++ it "are all present on Linux" do ++ %i[ ++ WNOHANG ++ WUNTRACED ++ PRIO_PROCESS ++ PRIO_PGRP ++ PRIO_USER ++ RLIMIT_CPU ++ RLIMIT_FSIZE ++ RLIMIT_DATA ++ RLIMIT_STACK ++ RLIMIT_CORE ++ RLIMIT_RSS ++ RLIMIT_NPROC ++ RLIMIT_NOFILE ++ RLIMIT_MEMLOCK ++ RLIMIT_AS ++ RLIM_INFINITY ++ RLIM_SAVED_MAX ++ RLIM_SAVED_CUR ++ ].each do |const| ++ Process.const_defined?(const).should be_true ++ Process.const_get(const).should be_an_instance_of(Integer) ++ end + end + end + + platform_is :netbsd, :freebsd do +- it "Process::RLIMIT_SBSIZE" do +- Process::RLIMIT_SBSIZE.should == 9 # FIXME: what's it equal? +- Process::RLIMIT_AS.should == 10 ++ it "are all present on NetBSD and FreeBSD" do ++ %i[ ++ RLIMIT_SBSIZE ++ RLIMIT_AS ++ ].each do |const| ++ Process.const_defined?(const).should be_true ++ Process.const_get(const).should be_an_instance_of(Integer) ++ end + end + end + + diff --git a/dev-lang/ruby/files/3.2/020-arm-readline-test.patch b/dev-lang/ruby/files/3.2/020-arm-readline-test.patch new file mode 100644 index 000000000000..4edbc7b2b0c5 --- /dev/null +++ b/dev-lang/ruby/files/3.2/020-arm-readline-test.patch @@ -0,0 +1,32 @@ +From dd77934ca6e2e8b2b894f2460017323b33b619b6 Mon Sep 17 00:00:00 2001 +From: matoro <matoro@users.noreply.github.com> +Date: Thu, 23 May 2024 16:10:32 -0400 +Subject: [PATCH] [ruby/readline-ext] Skip test_interrupt_in_other_thread on + arm32-linux + +This is a combination of main Ruby commit +https://github.com/ruby/ruby/commit/aefc98891c42024039f19ef45bdfe93fbc590b7c +and my PR correcting the regex https://github.com/ruby/ruby/pull/10819. +Upstream Ruby requests that changes to this test go to readline-ext repo +before being backported to 3.2 branch. + +https://github.com/ruby/readline-ext/commit/868f873a78 +--- + test/readline/test_readline.rb | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb +index 7838f4f52e864e..ab70e4371122f0 100644 +--- a/test/readline/test_readline.rb ++++ b/test/readline/test_readline.rb +@@ -496,8 +496,8 @@ def test_interrupt_in_other_thread + # Maybe the same issue: https://github.com/facebookresearch/nle/issues/120 + omit if /i[3-6]86-linux/ =~ RUBY_PLATFORM + +- # Skip arm32-linux (Travis CI). +- omit "Skip arm32-linux" if /armv.+l-linux/ =~ RUBY_PLATFORM ++ # Skip arm32-linux (Travis CI). See aefc988 in main ruby repo. ++ omit "Skip arm32-linux" if /armv[0-9+][a-z]-linux/ =~ RUBY_PLATFORM + + if defined?(TestReadline) && self.class == TestReadline + use = "use_ext_readline" diff --git a/dev-lang/ruby/files/3.3/013-test-rlimit-constants.patch b/dev-lang/ruby/files/3.3/013-test-rlimit-constants.patch new file mode 100644 index 000000000000..c3790b13152b --- /dev/null +++ b/dev-lang/ruby/files/3.3/013-test-rlimit-constants.patch @@ -0,0 +1,159 @@ +From bea20365f43ee115ea6219c7113647eed3d9e342 Mon Sep 17 00:00:00 2001 +From: matoro <matoro@users.noreply.github.com> +Date: Wed, 7 Aug 2024 13:15:00 -0400 +Subject: [PATCH] Replace specific constant tests with just type checks + +As detailed in the attached issue, these constants can and do vary e.g. +between architectures on Linux. Hardcoding and asserting that they are +equal to specific values pretty much defeats the purpose of building +these in at compile time. Instead, simply assert that they exist and +are integers. + +Fixes: https://github.com/ruby/spec/issues/1150 +--- + core/process/constants_spec.rb | 116 ++++++++++++++++++++------------- + 1 file changed, 69 insertions(+), 47 deletions(-) + +diff --git a/core/process/constants_spec.rb b/core/process/constants_spec.rb +index 616c54b8e..57cacadef 100644 +--- a/spec/ruby/core/process/constants_spec.rb ++++ b/spec/ruby/core/process/constants_spec.rb +@@ -2,69 +2,91 @@ + + describe "Process::Constants" do + platform_is :darwin, :netbsd, :freebsd do +- it "has the correct constant values on BSD-like systems" do +- Process::WNOHANG.should == 1 +- Process::WUNTRACED.should == 2 +- Process::PRIO_PROCESS.should == 0 +- Process::PRIO_PGRP.should == 1 +- Process::PRIO_USER.should == 2 +- Process::RLIM_INFINITY.should == 9223372036854775807 +- Process::RLIMIT_CPU.should == 0 +- Process::RLIMIT_FSIZE.should == 1 +- Process::RLIMIT_DATA.should == 2 +- Process::RLIMIT_STACK.should == 3 +- Process::RLIMIT_CORE.should == 4 +- Process::RLIMIT_RSS.should == 5 +- Process::RLIMIT_MEMLOCK.should == 6 +- Process::RLIMIT_NPROC.should == 7 +- Process::RLIMIT_NOFILE.should == 8 ++ it "are all present on BSD-like systems" do ++ %i[ ++ WNOHANG ++ WUNTRACED ++ PRIO_PROCESS ++ PRIO_PGRP ++ PRIO_USER ++ RLIM_INFINITY ++ RLIMIT_CPU ++ RLIMIT_FSIZE ++ RLIMIT_DATA ++ RLIMIT_STACK ++ RLIMIT_CORE ++ RLIMIT_RSS ++ RLIMIT_MEMLOCK ++ RLIMIT_NPROC ++ RLIMIT_NOFILE ++ ].each do |const| ++ Process.const_defined?(const).should be_true ++ Process.const_get(const).should be_an_instance_of(Integer) ++ end + end + end + + platform_is :darwin do +- it "has the correct constant values on Darwin" do +- Process::RLIM_SAVED_MAX.should == 9223372036854775807 +- Process::RLIM_SAVED_CUR.should == 9223372036854775807 +- Process::RLIMIT_AS.should == 5 ++ it "are all present on Darwin" do ++ %i[ ++ RLIM_SAVED_MAX ++ RLIM_SAVED_CUR ++ RLIMIT_AS ++ ].each do |const| ++ Process.const_defined?(const).should be_true ++ Process.const_get(const).should be_an_instance_of(Integer) ++ end + end + end + + platform_is :linux do +- it "has the correct constant values on Linux" do +- Process::WNOHANG.should == 1 +- Process::WUNTRACED.should == 2 +- Process::PRIO_PROCESS.should == 0 +- Process::PRIO_PGRP.should == 1 +- Process::PRIO_USER.should == 2 +- Process::RLIMIT_CPU.should == 0 +- Process::RLIMIT_FSIZE.should == 1 +- Process::RLIMIT_DATA.should == 2 +- Process::RLIMIT_STACK.should == 3 +- Process::RLIMIT_CORE.should == 4 +- Process::RLIMIT_RSS.should == 5 +- Process::RLIMIT_NPROC.should == 6 +- Process::RLIMIT_NOFILE.should == 7 +- Process::RLIMIT_MEMLOCK.should == 8 +- Process::RLIMIT_AS.should == 9 +- +- # These values appear to change according to the platform. +- values = [4294967295, 9223372036854775807, 18446744073709551615] +- values.include?(Process::RLIM_INFINITY).should be_true +- values.include?(Process::RLIM_SAVED_MAX).should be_true +- values.include?(Process::RLIM_SAVED_CUR).should be_true ++ it "are all present on Linux" do ++ %i[ ++ WNOHANG ++ WUNTRACED ++ PRIO_PROCESS ++ PRIO_PGRP ++ PRIO_USER ++ RLIMIT_CPU ++ RLIMIT_FSIZE ++ RLIMIT_DATA ++ RLIMIT_STACK ++ RLIMIT_CORE ++ RLIMIT_RSS ++ RLIMIT_NPROC ++ RLIMIT_NOFILE ++ RLIMIT_MEMLOCK ++ RLIMIT_AS ++ RLIM_INFINITY ++ RLIM_SAVED_MAX ++ RLIM_SAVED_CUR ++ ].each do |const| ++ Process.const_defined?(const).should be_true ++ Process.const_get(const).should be_an_instance_of(Integer) ++ end + end + end + + platform_is :netbsd, :freebsd do +- it "has the correct constant values on NetBSD and FreeBSD" do +- Process::RLIMIT_SBSIZE.should == 9 # FIXME: what's it equal? +- Process::RLIMIT_AS.should == 10 ++ it "are all present on NetBSD and FreeBSD" do ++ %i[ ++ RLIMIT_SBSIZE ++ RLIMIT_AS ++ ].each do |const| ++ Process.const_defined?(const).should be_true ++ Process.const_get(const).should be_an_instance_of(Integer) ++ end + end + end + + platform_is :freebsd do +- it "has the correct constant values on FreeBSD" do +- Process::RLIMIT_NPTS.should == 11 ++ it "are all present on FreeBSD" do ++ %i[ ++ RLIMIT_NPTS ++ ].each do |const| ++ Process.const_defined?(const).should be_true ++ Process.const_get(const).should be_an_instance_of(Integer) ++ end + end + end + diff --git a/dev-lang/ruby/ruby-3.1.4-r3.ebuild b/dev-lang/ruby/ruby-3.1.4-r3.ebuild index 49032262514a..c75cb26915d4 100644 --- a/dev-lang/ruby/ruby-3.1.4-r3.ebuild +++ b/dev-lang/ruby/ruby-3.1.4-r3.ebuild @@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit +rdoc socks5 +ssl static-libs systemtap tk valgrind xemacs" RDEPEND=" diff --git a/dev-lang/ruby/ruby-3.1.5.ebuild b/dev-lang/ruby/ruby-3.1.5.ebuild index 993cce45993f..7c501cfa9b7f 100644 --- a/dev-lang/ruby/ruby-3.1.5.ebuild +++ b/dev-lang/ruby/ruby-3.1.5.ebuild @@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" RDEPEND=" @@ -71,6 +71,8 @@ PDEPEND=" src_prepare() { eapply "${FILESDIR}"/"${SLOT}"/011*.patch + eapply "${FILESDIR}"/"${SLOT}"/012*.patch + eapply "${FILESDIR}"/"${SLOT}"/020*.patch eapply "${FILESDIR}"/"${SLOT}"/902*.patch if use elibc_musl ; then diff --git a/dev-lang/ruby/ruby-3.1.6.ebuild b/dev-lang/ruby/ruby-3.1.6-r1.ebuild index a14fd90dfe78..8ee6c384862b 100644 --- a/dev-lang/ruby/ruby-3.1.6.ebuild +++ b/dev-lang/ruby/ruby-3.1.6-r1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" RDEPEND=" @@ -71,6 +71,9 @@ PDEPEND=" src_prepare() { eapply "${FILESDIR}"/"${SLOT}"/011*.patch + eapply "${FILESDIR}"/"${SLOT}"/012*.patch + eapply "${FILESDIR}"/"${SLOT}"/013*.patch + eapply "${FILESDIR}"/"${SLOT}"/020*.patch eapply "${FILESDIR}"/"${SLOT}"/902*.patch if use elibc_musl ; then @@ -91,7 +94,7 @@ src_prepare() { rm -fr ext/fiddle/libffi-3.2.1 || die # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. - # rm -rf tool/test/webrick || die + rm -rf tool/test/webrick || die # Remove tests that are known to fail or require a network connection rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die @@ -146,6 +149,10 @@ src_configure() { unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS export MAKEOPTS="${makeopts_tmp}" + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + # -fomit-frame-pointer makes ruby segfault, see bug #150413. filter-flags -fomit-frame-pointer # In many places aliasing rules are broken; play it safe @@ -215,10 +222,12 @@ src_configure() { } src_compile() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" } src_test() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" emake V=1 check } diff --git a/dev-lang/ruby/ruby-3.1.4-r5.ebuild b/dev-lang/ruby/ruby-3.2.4-r1.ebuild index bad6e20d9e3b..9a34253b7286 100644 --- a/dev-lang/ruby/ruby-3.1.4-r5.ebuild +++ b/dev-lang/ruby/ruby-3.2.4-r1.ebuild @@ -17,14 +17,14 @@ HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" RDEPEND=" berkdb? ( sys-libs/db:= ) gdbm? ( sys-libs/gdbm:= ) jemalloc? ( dev-libs/jemalloc:= ) - jit? ( || ( sys-devel/gcc:* sys-devel/clang:* ) ) + jit? ( >=virtual/rust-1.58.1 ) ssl? ( dev-libs/openssl:0= ) @@ -48,33 +48,42 @@ DEPEND=" " BUNDLED_GEMS=" - >=dev-ruby/irb-1.4.1[ruby_targets_ruby31(-)] - >=dev-ruby/minitest-5.15.0[ruby_targets_ruby31(-)] - >=dev-ruby/power_assert-2.0.1[ruby_targets_ruby31(-)] - >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby31(-)] - >=dev-ruby/rbs-2.1.0[ruby_targets_ruby31(-)] - >=dev-ruby/rexml-3.2.5[ruby_targets_ruby31(-)] - >=dev-ruby/rss-0.2.9[ruby_targets_ruby31(-)] - >=dev-ruby/test-unit-3.5.3[ruby_targets_ruby31(-)] - >=dev-ruby/typeprof-0.12.2[ruby_targets_ruby31(-)] + >=dev-ruby/debug-1.7.1[ruby_targets_ruby32(-)] + >=dev-ruby/irb-1.6.2[ruby_targets_ruby32(-)] + >=dev-ruby/matrix-0.4.2[ruby_targets_ruby32(-)] + >=dev-ruby/minitest-5.16.3[ruby_targets_ruby32(-)] + >=dev-ruby/net-ftp-0.2.0[ruby_targets_ruby32(-)] + >=dev-ruby/net-imap-0.3.4[ruby_targets_ruby32(-)] + >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby32(-)] + >=dev-ruby/net-smtp-0.3.3[ruby_targets_ruby32(-)] + >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby32(-)] + >=dev-ruby/prime-0.1.2[ruby_targets_ruby32(-)] + >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby32(-)] + >=dev-ruby/rbs-2.8.2[ruby_targets_ruby32(-)] + >=dev-ruby/rexml-3.2.5[ruby_targets_ruby32(-)] + >=dev-ruby/rss-0.2.9[ruby_targets_ruby32(-)] + >=dev-ruby/test-unit-3.5.7[ruby_targets_ruby32(-)] + >=dev-ruby/typeprof-0.21.3[ruby_targets_ruby32(-)] " PDEPEND=" ${BUNDLED_GEMS} - virtual/rubygems[ruby_targets_ruby31(-)] - >=dev-ruby/bundler-2.3.3[ruby_targets_ruby31(-)] - >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby31(-)] - >=dev-ruby/json-2.6.1[ruby_targets_ruby31(-)] - >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby31(-)] + virtual/rubygems[ruby_targets_ruby32(-)] + >=dev-ruby/bundler-2.3.3[ruby_targets_ruby32(-)] + >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby32(-)] + >=dev-ruby/json-2.6.1[ruby_targets_ruby32(-)] + >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby32(-)] xemacs? ( app-xemacs/ruby-modes ) " src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/010*.patch eapply "${FILESDIR}"/"${SLOT}"/011*.patch + eapply "${FILESDIR}"/"${SLOT}"/020*.patch eapply "${FILESDIR}"/"${SLOT}"/902*.patch if use elibc_musl ; then - eapply "${FILESDIR}"/3.1/901-musl-*.patch + eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch fi einfo "Unbundling gems..." @@ -87,17 +96,25 @@ src_prepare() { rm -f bin/{racc,racc2y,y2racc} || die sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die - einfo "Removing bundled libraries..." - rm -fr ext/fiddle/libffi-3.2.1 || die + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. rm -rf tool/test/webrick || die - # Remove tests that are known to fail or require a network connection - rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die - rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb test/resolv/test_addr.rb \ - spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die - sed -i -e '/def test_test/askip "Depends on system setup"' test/ruby/test_file_exhaustive.rb || die + # Avoid test using the system ruby + sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die + + # Avoid testing against hard-coded blockdev devices that most likely are not available + sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die + + # Avoid tests that require gem downloads + sed -i -e '/^test-syntax-suggest/ s/\$(TEST_RUNNABLE)/no/' common.mk || die + sed -i -e '/^check:/ s/\$(TEST_RUNNABLE)-\$(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest//' common.mk || die + + # Avoid test that fails intermittently + sed -i -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' test/rubygems/test_gem_commands_exec_command.rb || die if use prefix ; then # Fix hardcoded SHELL var in mkmf library @@ -138,6 +155,10 @@ src_configure() { unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS export MAKEOPTS="${makeopts_tmp}" + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + # -fomit-frame-pointer makes ruby segfault, see bug #150413. filter-flags -fomit-frame-pointer # In many places aliasing rules are broken; play it safe @@ -189,7 +210,8 @@ src_configure() { --enable-mkmf-verbose \ --with-out-ext="${modules}" \ $(use_with jemalloc jemalloc) \ - $(use_enable jit jit-support ) \ + $(use_enable jit jit-support) \ + $(use_enable jit yjit) \ $(use_enable socks5 socks) \ $(use_enable systemtap dtrace) \ $(use_enable doc install-doc) \ @@ -198,8 +220,8 @@ src_configure() { $(use_enable static-libs install-static-library) \ $(use_with static-libs static-linked-ext) \ $(use_enable debug) \ - $(use_with valgrind) \ ${myconf} \ + $(use_with valgrind) \ --enable-option-checking=no # Makefile is broken because it lacks -ldl @@ -207,10 +229,12 @@ src_configure() { } src_compile() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" } src_test() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" emake V=1 check } @@ -257,7 +281,8 @@ src_install() { dodoc -r sample fi - dodoc ChangeLog NEWS.md doc/NEWS* README* + dodoc ChangeLog NEWS.md README* + dodoc -r doc } pkg_postinst() { diff --git a/dev-lang/ruby/ruby-3.2.4.ebuild b/dev-lang/ruby/ruby-3.2.4.ebuild index da71434a4e0c..b6930b6a74e1 100644 --- a/dev-lang/ruby/ruby-3.2.4.ebuild +++ b/dev-lang/ruby/ruby-3.2.4.ebuild @@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" RDEPEND=" @@ -79,6 +79,7 @@ PDEPEND=" src_prepare() { eapply "${FILESDIR}"/"${SLOT}"/010*.patch eapply "${FILESDIR}"/"${SLOT}"/011*.patch + eapply "${FILESDIR}"/"${SLOT}"/020*.patch eapply "${FILESDIR}"/"${SLOT}"/902*.patch if use elibc_musl ; then diff --git a/dev-lang/ruby/ruby-3.3.0-r2.ebuild b/dev-lang/ruby/ruby-3.2.5.ebuild index 73b25c63a53d..cbd46d6f96c4 100644 --- a/dev-lang/ruby/ruby-3.3.0-r2.ebuild +++ b/dev-lang/ruby/ruby-3.2.5.ebuild @@ -18,7 +18,7 @@ SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" +IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" RDEPEND=" berkdb? ( sys-libs/db:= ) @@ -36,9 +36,10 @@ RDEPEND=" ) dev-libs/libyaml dev-libs/libffi:= + sys-libs/readline:0= sys-libs/zlib virtual/libcrypt:= - >=app-eselect/eselect-ruby-20231226 + >=app-eselect/eselect-ruby-20231008 " DEPEND=" @@ -47,38 +48,38 @@ DEPEND=" " BUNDLED_GEMS=" - >=dev-ruby/debug-1.9.1[ruby_targets_ruby33(-)] - >=dev-ruby/irb-1.11.0[ruby_targets_ruby33(-)] - >=dev-ruby/matrix-0.4.2[ruby_targets_ruby33(-)] - >=dev-ruby/minitest-5.20.0[ruby_targets_ruby33(-)] - >=dev-ruby/net-ftp-0.3.3[ruby_targets_ruby33(-)] - >=dev-ruby/net-imap-0.4.9[ruby_targets_ruby33(-)] - >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby33(-)] - >=dev-ruby/net-smtp-0.4.0[ruby_targets_ruby33(-)] - >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby33(-)] - >=dev-ruby/prime-0.1.2[ruby_targets_ruby33(-)] - >=dev-ruby/racc-1.7.3[ruby_targets_ruby33(-)] - >=dev-ruby/rake-13.1.0[ruby_targets_ruby33(-)] - >=dev-ruby/rbs-3.4.0[ruby_targets_ruby33(-)] - >=dev-ruby/rexml-3.2.6[ruby_targets_ruby33(-)] - >=dev-ruby/rss-0.3.0[ruby_targets_ruby33(-)] - >=dev-ruby/test-unit-3.6.1[ruby_targets_ruby33(-)] - >=dev-ruby/typeprof-0.21.9[ruby_targets_ruby33(-)] + >=dev-ruby/debug-1.7.1[ruby_targets_ruby32(-)] + >=dev-ruby/irb-1.6.2[ruby_targets_ruby32(-)] + >=dev-ruby/matrix-0.4.2[ruby_targets_ruby32(-)] + >=dev-ruby/minitest-5.16.3[ruby_targets_ruby32(-)] + >=dev-ruby/net-ftp-0.2.0[ruby_targets_ruby32(-)] + >=dev-ruby/net-imap-0.3.4[ruby_targets_ruby32(-)] + >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby32(-)] + >=dev-ruby/net-smtp-0.3.3[ruby_targets_ruby32(-)] + >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby32(-)] + >=dev-ruby/prime-0.1.2[ruby_targets_ruby32(-)] + >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby32(-)] + >=dev-ruby/rbs-2.8.2[ruby_targets_ruby32(-)] + >=dev-ruby/rexml-3.2.5[ruby_targets_ruby32(-)] + >=dev-ruby/rss-0.2.9[ruby_targets_ruby32(-)] + >=dev-ruby/test-unit-3.5.7[ruby_targets_ruby32(-)] + >=dev-ruby/typeprof-0.21.3[ruby_targets_ruby32(-)] " PDEPEND=" ${BUNDLED_GEMS} - virtual/rubygems[ruby_targets_ruby33(-)] - >=dev-ruby/bundler-2.5.3[ruby_targets_ruby33(-)] - >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby33(-)] - >=dev-ruby/json-2.7.1[ruby_targets_ruby33(-)] - >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby33(-)] + virtual/rubygems[ruby_targets_ruby32(-)] + >=dev-ruby/bundler-2.3.3[ruby_targets_ruby32(-)] + >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby32(-)] + >=dev-ruby/json-2.6.1[ruby_targets_ruby32(-)] + >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby32(-)] xemacs? ( app-xemacs/ruby-modes ) " src_prepare() { eapply "${FILESDIR}"/"${SLOT}"/010*.patch eapply "${FILESDIR}"/"${SLOT}"/011*.patch + eapply "${FILESDIR}"/"${SLOT}"/013*.patch eapply "${FILESDIR}"/"${SLOT}"/902*.patch if use elibc_musl ; then @@ -91,15 +92,13 @@ src_prepare() { # 539700. rm -fr gems/* || die touch gems/bundled_gems || die - - # Avoid the irb default gemspec since we will install the normal gem - # instead. This avoids a file collision with dev-ruby/irb. - rm lib/irb/irb.gemspec || die + # Don't install CLI tools since they will clash with the gem + rm -f bin/{racc,racc2y,y2racc} || die + sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die # Remove tests that are known to fail or require a network connection rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die - rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb \ - spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. rm -rf tool/test/webrick || die @@ -111,12 +110,11 @@ src_prepare() { sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die # Avoid tests that require gem downloads - sed -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \ - -i common.mk + sed -i -e '/^test-syntax-suggest/ s/\$(TEST_RUNNABLE)/no/' common.mk || die + sed -i -e '/^check:/ s/\$(TEST_RUNNABLE)-\$(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest//' common.mk || die # Avoid test that fails intermittently - sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \ - -i test/rubygems/test_gem_commands_exec_command.rb || die + sed -i -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' test/rubygems/test_gem_commands_exec_command.rb || die if use prefix ; then # Fix hardcoded SHELL var in mkmf library @@ -157,6 +155,10 @@ src_configure() { unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS export MAKEOPTS="${makeopts_tmp}" + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + # -fomit-frame-pointer makes ruby segfault, see bug #150413. filter-flags -fomit-frame-pointer # In many places aliasing rules are broken; play it safe @@ -176,6 +178,9 @@ src_configure() { append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" fi + # ipv6 hack, bug 168939. Needs --enable-ipv6. + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" + # Determine which modules *not* to build depending in the USE flags. if ! use berkdb ; then modules="${modules},dbm" @@ -196,6 +201,7 @@ src_configure() { INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \ --program-suffix=${MY_SUFFIX} \ --with-soname=ruby${MY_SUFFIX} \ + --with-readline-dir="${EPREFIX}"/usr \ --enable-shared \ --enable-pthread \ --disable-rpath \ @@ -209,6 +215,7 @@ src_configure() { $(use_enable socks5 socks) \ $(use_enable systemtap dtrace) \ $(use_enable doc install-doc) \ + --enable-ipv6 \ $(use_enable static-libs static) \ $(use_enable static-libs install-static-library) \ $(use_with static-libs static-linked-ext) \ diff --git a/dev-lang/ruby/ruby-3.3.1.ebuild b/dev-lang/ruby/ruby-3.3.4-r1.ebuild index 02b05be1c6ca..0ef34173c25d 100644 --- a/dev-lang/ruby/ruby-3.3.1.ebuild +++ b/dev-lang/ruby/ruby-3.3.4-r1.ebuild @@ -5,6 +5,9 @@ EAPI=8 inherit autotools flag-o-matic multiprocessing +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="https://www.ruby-lang.org/" + MY_P="${PN}-$(ver_cut 1-3)" S=${WORKDIR}/${MY_P} @@ -12,8 +15,6 @@ SLOT=$(ver_cut 1-2) MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) RUBYVERSION=${SLOT}.0 -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" @@ -60,7 +61,7 @@ BUNDLED_GEMS=" >=dev-ruby/racc-1.7.3[ruby_targets_ruby33(-)] >=dev-ruby/rake-13.1.0[ruby_targets_ruby33(-)] >=dev-ruby/rbs-3.4.0[ruby_targets_ruby33(-)] - >=dev-ruby/rexml-3.2.6[ruby_targets_ruby33(-)] + >=dev-ruby/rexml-3.2.8[ruby_targets_ruby33(-)] >=dev-ruby/rss-0.3.0[ruby_targets_ruby33(-)] >=dev-ruby/test-unit-3.6.1[ruby_targets_ruby33(-)] >=dev-ruby/typeprof-0.21.9[ruby_targets_ruby33(-)] @@ -69,7 +70,7 @@ BUNDLED_GEMS=" PDEPEND=" ${BUNDLED_GEMS} virtual/rubygems[ruby_targets_ruby33(-)] - >=dev-ruby/bundler-2.5.3[ruby_targets_ruby33(-)] + >=dev-ruby/bundler-2.5.11[ruby_targets_ruby33(-)] >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby33(-)] >=dev-ruby/json-2.7.1[ruby_targets_ruby33(-)] >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby33(-)] @@ -78,6 +79,7 @@ PDEPEND=" src_prepare() { eapply "${FILESDIR}"/"${SLOT}"/010*.patch + eapply "${FILESDIR}"/"${SLOT}"/013*.patch eapply "${FILESDIR}"/"${SLOT}"/902*.patch if use elibc_musl ; then @@ -156,6 +158,10 @@ src_configure() { unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS export MAKEOPTS="${makeopts_tmp}" + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + # -fomit-frame-pointer makes ruby segfault, see bug #150413. filter-flags -fomit-frame-pointer # In many places aliasing rules are broken; play it safe @@ -189,6 +195,9 @@ src_configure() { modules="${modules},tk" fi + # Fix co-routine selection for x32, bug 933070 + [[ ${CHOST} == *gnux32 ]] && myconf="${myconf} --with-coroutine=amd64" + # Provide an empty LIBPATHENV because we disable rpath but we do not # need LD_LIBRARY_PATH by default since that breaks USE=multitarget # #564272 diff --git a/dev-lang/ruby/ruby-3.3.3.ebuild b/dev-lang/ruby/ruby-3.3.4.ebuild index 470d6f8bf570..e96e95a64f16 100644 --- a/dev-lang/ruby/ruby-3.3.3.ebuild +++ b/dev-lang/ruby/ruby-3.3.4.ebuild @@ -5,6 +5,9 @@ EAPI=8 inherit autotools flag-o-matic multiprocessing +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="https://www.ruby-lang.org/" + MY_P="${PN}-$(ver_cut 1-3)" S=${WORKDIR}/${MY_P} @@ -12,8 +15,6 @@ SLOT=$(ver_cut 1-2) MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) RUBYVERSION=${SLOT}.0 -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" @@ -78,7 +79,6 @@ PDEPEND=" src_prepare() { eapply "${FILESDIR}"/"${SLOT}"/010*.patch - eapply "${FILESDIR}"/"${SLOT}"/012*.patch eapply "${FILESDIR}"/"${SLOT}"/902*.patch if use elibc_musl ; then @@ -157,6 +157,10 @@ src_configure() { unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS export MAKEOPTS="${makeopts_tmp}" + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + # -fomit-frame-pointer makes ruby segfault, see bug #150413. filter-flags -fomit-frame-pointer # In many places aliasing rules are broken; play it safe @@ -190,6 +194,9 @@ src_configure() { modules="${modules},tk" fi + # Fix co-routine selection for x32, bug 933070 + [[ ${CHOST} == *gnux32 ]] && myconf="${myconf} --with-coroutine=amd64" + # Provide an empty LIBPATHENV because we disable rpath but we do not # need LD_LIBRARY_PATH by default since that breaks USE=multitarget # #564272 diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest index 90af8af8aac4..266847fb81dc 100644 --- a/dev-lang/rust-bin/Manifest +++ b/dev-lang/rust-bin/Manifest @@ -289,6 +289,42 @@ DIST rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz 165014992 BLAKE2B abd9f73c8439f DIST rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9cd1a51580d9f70f96c83b603716a5edbd8e1c4d4c2f53c07aa9d37c6c47f3bd252c0a1cf26b77bcd60842fb83ed74cd7b6e4ab3a039c3938423372485f8c1f4 SHA512 b65621f91085f4a5c6f84ed5e530fe56502ca12c5b18486afb1197156c5f6087110578647d428a58a1a6c04765569a28c38ae40a14c72fd41f39948349e8115d DIST rust-1.79.0-x86_64-unknown-linux-musl.tar.xz 247326760 BLAKE2B 36bf6787c69971ba7c445d1895001c005af0aeb48aaa3309e971237125a2b6de3ef5f1534572f8a3f4c1bc024962a8fd030e91b63c02f03444b5aec1a3ed2e5a SHA512 02e5c2a67f5470f3320b04e7c4f0a6f5dbd361d5a97aee7e5860d04224683166b21375794c94ae040a2cc6fc119380be9d3465b8c5e1798abd4142d621cf9f99 DIST rust-1.79.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 6dde2d3096f7e47d31b1e13e7e5f41cf278e770dcb8a222d76ab5b93b2ca8a6d9e5b45515e097e5285bd2d76130546b3eb302a8391102460c4564e654c88f03c SHA512 4618852fdd81684ddf5bd8758d2551f1c800ef1614fed8ba91a9a1d29b3b51a0b9bf169c499dd8890347f999d002e5aba7b49a98eb819f20bdfe82fa375ed45a +DIST rust-1.80.1-aarch64-unknown-linux-gnu.tar.xz 226220216 BLAKE2B 41c7a5ba5108da3ae79fc6d6fa229d2a91e6e217c92bbcbe37fe35d48418e0c787a29c43ffb406acabd410efcca0464da325120f925dfd6d1ee0822f0041f517 SHA512 4279028abc347ff1436d055f79523a24f98d94938dd7eb73516bcf39dbbfbd941418d4b1227576870c75a7c0b4c23c74b0528e1c5b8a39d54422af1ee2abb74f +DIST rust-1.80.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 20c46e31535278145d143f619851edf151feb786b6d3112022b63e9dc882aad300665af16ba9dc600554f3d8f95d4ed7715bab5b57fab3e33a2c81fd7cd664a7 SHA512 dc104a9a30945d8f3d3a74cbc31b87ac4cffb81b4dd80a53b3e86432058830d4287542166db273895d9758bbfc36814c384c35a98b360ecf18938c6ebf6beb05 +DIST rust-1.80.1-aarch64-unknown-linux-musl.tar.xz 206752364 BLAKE2B 924f6c1f6b01c048ee9f1fc632e74abf1f5c11936effeb797d45fd500b1ce5a1638cc8061226018dd3e5a910e1d20a7645efbd25dbc5e3b2336cb3d20817fece SHA512 74a9846b328f2a79a75f7cb4c795a78c40ec1c30ac864e20046fa39324800e40ec13737bc580d5949dca92472c1512c747f67d8b67cd5e3e9048b22e2a8b7866 +DIST rust-1.80.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 49100a62a57a4147c13379bee868f5725b96f4dfa59c83c6d3a1a67eed86b0ed02bb0684b096dd557d07f54d0c3fb32bace38c81aed55cea7a0c001d53049897 SHA512 955d39f554413d51da50d2c66a8e9dd57aa28c850f12410b58a8ae1d8d768b7b5d2687bc6b88218f800f3e4242e282d6fc8d2e76616c30c926af1f9a461b2d9e +DIST rust-1.80.1-arm-unknown-linux-gnueabi.tar.xz 190441552 BLAKE2B 2907546fe513550e8bb79eb60382503ae55dab8420be41be6d57ef04e9582362324de8639a43671181e439223cf2c677ee4f4819455a264c2eb34ce6e79bfef1 SHA512 1ec38d348e1c888cbbc7b391571e84a3026a5c59fe065d79e5769241c6af9f39c0f689c981695846a9109ab3c9baee9b225316868dd2fed18d15f4f1c81cb5f2 +DIST rust-1.80.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 106a856965e94aa260258aa8bb973a513cd13aef7b15f0c5794a699fbfa5445dbdd3628084d7a913849f0dd274075a28bad25a758e031ce851a6afe463dcc882 SHA512 ce34d38c05e8b4a7df9f0a79fe107b7d313bc467b1cf82cac43b8ab9b6ae3e4d3c1f4428f3a627110ce3b66f89086982cc95d0b2b2e85187095f66338aa92d0c +DIST rust-1.80.1-arm-unknown-linux-gnueabihf.tar.xz 190747600 BLAKE2B 481473bfac35b8a45c4c3a5593b76abf88fe6eb50f0b2a424b1c5ed846e56234c2faa22910623514d0f6804d13f78d28cc3e4cff956ae558ac1dd655a0b62057 SHA512 540f74fe1f43ad8c407620ec47eae1ac4a3c4ddc8497cb79d0784393d17581c41576df7e114efbd6541a8626802c7961c998cd0895618b254814b66efc3bb01d +DIST rust-1.80.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B f1d4aa5cbe123f566d63c3f9165766622048f463c78c0d9635949ac46d6910c1b9c59b0d8c7fce034c1b070416e1ac3f998c4b0c91c796e18669f9294a75bc89 SHA512 f4a75d28a245eaea7deabbbe282cad493175c303f9f0744a248728a7753603ba7e4acf488b3e8e3478a8f7160ed92963d255f0216b1fb598b66a91eb51c30a6f +DIST rust-1.80.1-armv7-unknown-linux-gnueabihf.tar.xz 195804620 BLAKE2B f279fd6944aaa76a7a35007e0521003140e4a3569cd36e57d7fa4ed7f72b37ffb7d03412588d1b0671677fd95bd6b6626eb9603d55b81971e148ad0137bbbc2d SHA512 487aa0be4230659db1c5cf2436c65062f1c3061fa085f38ec84dce029a6ef3614657ba407d1aa13c1e5ff2cf6e87f7ffc0c1a1947c3dc641a5b6843cdde85615 +DIST rust-1.80.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 15b450c4743e45c4c2eb9a1ec6afd448a30ad64e9a885bbedd7f8a7f59db45926e7ae4b1b0f350a783adafe93ccecec40f6436b62c8063eac5ad4e91c5418576 SHA512 b5ce5e78cacafd3f0ccfa2797aebecb360bbf56140cf1a1f3dc6c200e7a6ac7d3eceefc0f3cd3fd109ff1b8755b7828c2808ac9bf53f23a3e49c27d6c6050e8c +DIST rust-1.80.1-i686-unknown-linux-gnu.tar.xz 221151480 BLAKE2B 01c4a29b5cdc47b0070b031984daa5d6f77844cb3ab9a82a40440b5c4a7a1f6bdccd4b8f46e3ab13bc194997c4a1341de484319ad3e8f642c67f7b8d8481c846 SHA512 2c0cc27407265f686d5b3a5e9f00f751924ae47f3d6a5cc044c56278843ee76ba3cedd63575447feb5cda0a2b1d2a26d7a78e0c558e2f47b7cb09f40aa6b8425 +DIST rust-1.80.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 549b27298fbed09727ae6c6086127aab9c0ebf9a6fce70c2e102fd29e983e31b1907f3a2e7c18800ff7b2efcd6f49c36aa11a5021fb9f57e6148e62628cc56a2 SHA512 c20ea2b577aa263e70211198a9fe896b9d560b737d74d640ee107a89dd9d5b31bc843e2fdda75bf21318fd3aaaea58c4ee918d003f7bf7636aa5636fb657133a +DIST rust-1.80.1-loongarch64-unknown-linux-gnu.tar.xz 172528232 BLAKE2B d308b0aab1ef8dc338025d9a106920f507035efdc04390e9618b6a936ec117b70c791d14d5a73aeb0533f1e8d1952ae36bc3d4e624239d5a64ecfaefa70aa5ab SHA512 1c6d689e43cad549f2f8aa96fd5bf52080276c1de386b771206c7533feb11a47bf515ea72dc7f406852ca7dc5632f1436dde69014d8bf35bd0f25bcc85c3cfa0 +DIST rust-1.80.1-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 92b347907616b18ae06d85a1380d01bd078c3ea4a03fdf808b79794ffeb1d6661057688050130aec61d29062f07a030ebcf15fe3d866cb411325c44a2c393a33 SHA512 7245d91fc398d787e8bfa2e0bbceda9aa30665699f01bc5490f29f690fc1f8fd5d5ee8d4a941d38f0dc5c4cb7c275bf4b6d4bd3727b1bad65326594101f90cf4 +DIST rust-1.80.1-mips-unknown-linux-gnu.tar.xz 71930732 BLAKE2B 5e0bf58d3080f7250ebab43548ae90ed948237e6169852c18fb488c7f8b7c0d5eaaa2746627fe991b5344cdd7249e94c4fa71ff42a6055e505d4a99c59fbc643 SHA512 838ccea7a5c7a81af5c35901e574b8525978bb1afa8263ee266d0a2acaf7d62aa3da045b1451d6c068b5c25e97813b429fb79d1f62628d6f41e254fb94c1f38e +DIST rust-1.80.1-mips64-unknown-linux-gnuabi64.tar.xz 71570392 BLAKE2B b36ba5ccd967bf4c99dcc66f9331f805e14a95465eff69b9bfadadac9f65ddf92f2dcf4b955c8faa8ff872b0cad42f1716074e23ff0aac6ef6f9740fe588119b SHA512 80e930c81d0f0febf61a5ce082967ce519711b18fbf7f7ea6665697caf3de345a690fa618d46ebe5b0068f0d578f23b9424af2d59afd47ed42f1649d9488d77a +DIST rust-1.80.1-mips64el-unknown-linux-gnuabi64.tar.xz 75794060 BLAKE2B 26bb87e1be2ee3c311cba20df47da1728c2c5a395b366707ac2a5e5ff602b99ce24fdb0fb5495f687a1489b1889153bc764820ef481ecd9db19ff9d8e34a5bc6 SHA512 8781deaf66d84e87ed5d7fc10988c9417d98c45dae2cde2bfba817c74020faa9daf512c141fe92753a53113c96a4ece06738d7dbad626b901aaaad835df6d300 +DIST rust-1.80.1-mipsel-unknown-linux-gnu.tar.xz 71170176 BLAKE2B 26f3833281d3d0acbfd8e0c5bbe5f9fdd77e76d16080d23fbf81d4b8abfd7940bd73657afba835be4f584161e1e147406072cc77fe3e4be797848983fcce075a SHA512 f909b5e630dc155ef807e248e620c29ffcc18ef5bb4b2c5aa836afd754974f10dcf82efdda3b47c58778d1ab63fe98095fa4a051885763645b27fcce46dc0718 +DIST rust-1.80.1-powerpc-unknown-linux-gnu.tar.xz 185400364 BLAKE2B 2b37d052d0fc4f612c298e87be9a0afcac3ef8548f3914530737d0435cbdf270e0c3b8422c08f84f96192f89805a9bff9d3fe570eb056afc1fd902202a806025 SHA512 1350aa8c105555778231b4ef7ce1c4c8850cc112ccc2f72621bbb3c011a0733da91df7521bbab0aa3269b4ad61231a631660593d7608d017083cd7af375fde30 +DIST rust-1.80.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B da5dfb8d287b7a30a32443b0edb80a3994c68f732ce02a6f6d735d589db2c273962e02925fa88311698672eca10441850066c2f1ab2e48ded8ca33109e298509 SHA512 f0d381594d6b164e068cb80e39a508774633db64abd4a9ba68eba48fd627fbda6c0cdf849137f61e196ab44e0f93eba5d08f3dd60fe5820259b8d9fafdd51407 +DIST rust-1.80.1-powerpc64-unknown-linux-gnu.tar.xz 183179096 BLAKE2B 0b7b7af392b8aa1a1df14ea4f53fd231c5c475eddbadd2105a5222393162b187109201f96dbb30c9877ff1c684af48b9868d17dbf26113193cab572d8ea40852 SHA512 67ce98a6f89997c13f576493644634f8ee5055952500e4f6d6ae096fee9570d6e5938c483892e76325905fec35184ff7f7edc21e4ec30199e821017890825289 +DIST rust-1.80.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b5b296291d031d254a4be6f000abade2b5d67cea8cecb332505469af3ec3ed1e21454ba41f96ed4e77dc2324c339f136ad04f034191a639394e6d9390065ac19 SHA512 9ddacb0ccd9da29fb93c66a2d701a03af6a4a2e9911c06a09d9fd5bde2647931e6c61e623d418200038e232227010206561e431331ef866324e9020dfba4597b +DIST rust-1.80.1-powerpc64-unknown-linux-musl.tar.xz 74338592 BLAKE2B efa136a4510c20928dad1a15271620515f57d43473bcb9e0d4c5935e4dfbb535a6ddfd0d26576d3b0b354014a4d54606900afc32485cdf60be61bb6cb100ef18 SHA512 d330b0c1a046b754400e7ba48e9657c07ccb3f0aaace45600ca4649bb8df5aaf01664b8b967940e5e992347e05ed7249e5ed179536896e63a1a0ba6f21c1db0b +DIST rust-1.80.1-powerpc64le-unknown-linux-gnu.tar.xz 194097292 BLAKE2B 1134beec940443b111594c86f912b2bf26bf3ace83cab3f0176175a6e891d047701e08e8ebc62094fdb4bd7b4d2de115ba0125ecd5ff6b3a20906db30c86c480 SHA512 4275343153b6acec8ba3a25dd4e85abc3ea7872a9cca4cea6f394fc24db6461db7fe7c047d158b61bb0635983a6a033f25da39f5fa1d6d9ee6d3eb956799dafa +DIST rust-1.80.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 280558f7b575a5b79c7367715e74f333b7e9bb0d4f6ffd9939ed9daf33899dfc19cf59eca2cfafdd2ad1d6d71ea58486d04931fc3d089c9c491c8374985a1960 SHA512 6c784aa10878531b44e5927b2cab5a81efd4767a5e723747e4a9c506b4c48141b44c98ce364459db47ad8f03f4f066fe96d070806695d76a6abc9e0c7a53a09c +DIST rust-1.80.1-powerpc64le-unknown-linux-musl.tar.xz 76407768 BLAKE2B be93308a381a7d96d5bfcb6cfbdcf722d8b4a8c5a497f12bad8557758efb2e62e35332486cf9fcb5c29874fe172cf696d0370158e1a139f77d637490422ba7ff SHA512 cd5c6dd81997923c7bf719852fad819be7f24bbbc97a6fcd8d463a38e26784d3bf19aae62a3d2ee3643571b78829b78602746007128d9e160b26f293b13381f3 +DIST rust-1.80.1-riscv64gc-unknown-linux-gnu.tar.xz 194141700 BLAKE2B e174c185d35d3974c923233807ff1a27f6736af2a8b97f92153c0518aad4f46653d5e5bab219b51ee1b58cac7216a29e5ad6499a982de8f52f6871903a307b71 SHA512 4d69bfd0fdd2de634a3ab873e8e2929c53baec12e4edcb220b8054c672324dba7a94d06a9c35474b8ba74b2e408d7b42a857ad11a4b7a346509b5fde23e8c779 +DIST rust-1.80.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 274048978581a816fd8a9c396e7adffa509004121d5e9dc8df53a9f4a850dc7a0bca8652760c1f27c1c0dd57be5a91ff60e2d39ad7681b17efdea91312d0fc40 SHA512 5c34ff90acd4307a57733f8371abf4712c3ca06bf9db88f1d3e3ed9dda1c16a7775d713804ec4f1bc46089428b6b5472ab7e416f10e21d33f10b84b1a33d1957 +DIST rust-1.80.1-riscv64gc-unknown-linux-musl.tar.xz 83359176 BLAKE2B 27ed3232a01fe69a7ebb6c18c7caede9d5ca6f755b52ca0f4a2f3faa073762638b13cec4f4c63602ec709d70d3c4333db5bdb97468e77a3c3a491b44060c484b SHA512 858f2366104e368efc5564228c9247d110b57fc3a196b4c56077fccda104fd8ed87f93a6e3ba2291203d05041c819555f87736c1ff3f5b494f47bdccc1a0874a +DIST rust-1.80.1-s390x-unknown-linux-gnu.tar.xz 209785288 BLAKE2B 01792daab79e7abed8bdeca53295928429b6814672aa4e0426316ec790d22b22abf25d3d5513582206d18f53147e60d252a0557ab9cca3b594c89ad603d94ea7 SHA512 66b20f5d001e978e2db5277da5f01271f0500a59877a849ccadebd5823eaeee35066abdd5d449e024cd5ae8ee41dd60fad77a00648cac1db62137d6722729fd6 +DIST rust-1.80.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5c0a1a6036d3c3e9af835c281fd347a842cea15bea5f3d5f109f4080a2f93020d5e1c1a7de1894c03e8a2c87c6560f792a0c8024e68eb55d10e50da098f1e621 SHA512 7bbc3e8d3b039b522e62101714f5edb85046cfc06375df4b49c9ece891f8fc57e86027e1fd12a5837be7623c9137840551389e7dec4b2700e1dac0ae69121729 +DIST rust-1.80.1-sparc64-unknown-linux-gnu.tar.xz 69671332 BLAKE2B ae9d7c680dc77bb2beec0e80aaf59768a21091814247b74ac1930a7c66f7b6426fa35e772b97e2aa1983cbaf37981df47e39c5b940ba4288e1791ede7b1a0bae SHA512 dbc895498ae43921d6a15c4d36d9e35756ae8660782a07cacd607d1ebdb75982d67ef78ae2803160c07c2f9067b608aebbec7812799cb45bb893c936379fa9a7 +DIST rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz 167553060 BLAKE2B abc6430cfbbea5dd0ea42a6a3e2796b6f499d5a8343616d310ed22b541bdb15803d882dca9be743a81768bdf55f78c7a803bb594844d7dc3d2bdf09bd3f3d312 SHA512 73e6000af98efe5d90ab484ad88f455f07ccdabe49400d25ac16eeaa51327a5d17eaaae5ef3eb0b04b9aba2015c379eeb2a00076d82ba959e53e3dba470a228b +DIST rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bb52100a14bfa2775ca7cab5cd0f9dbc489ec3b26a8687876c97b666435c44ce58d86fd9f11d4f4832e79c05fa3ddefd7157edc91a3da25ffeba07da61fbddf9 SHA512 08aad912e47341bff29ee1d1b52cd02df8e609747f7061e61ed6a401d798140a8587378aa992b0d52af955a44d2284eefa00f27a6e94b4ed561c06eed60ad6fe +DIST rust-1.80.1-x86_64-unknown-linux-musl.tar.xz 248220632 BLAKE2B 7f0954379658df0a5cb0bb4bd49fdd1d216bfa5a200789124667d13ad97f0a5278f57e5b6278a969558c834de43a5d7e3f5ad3e331cc5a4c428dc097453a9394 SHA512 079cd3384c0b7f85d5fb2f02f27febe423ff533d71463097fbaa90449a955699fc25d8e4ae16489f7d7920c34c318c0f2e8185eeb9c6fd64c0851e4366c5eca2 +DIST rust-1.80.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B bad9fdebe33c251b8802ecb0150a074e86becac00874137f793b1805bf36373903fbcfd4744b1086851fd1357c6c81262a7eb321685640d856dc2ee3a37917a7 SHA512 405de0a8676755a63a4fc1e61dd358960efc90e4fd2417cfb4311bfaab5a744397e1f751afbe6a9515c1d92626a79fc782272261eed2f72b37b88fd77a84d7c0 DIST rust-src-1.71.0.tar.xz 2460128 BLAKE2B 3ab6c6cb76a7e18eb0ba085c45f8b1a8bba16e2569962c27187bb415c54d3c5c1032ce4552c52f93bd4ec2512634d8899fd35fbf1a035298a9b621b5af125971 SHA512 fd59a1ced7e950fa14fd7ec9c978043b99e678bda54338f60faaacced36110630385a2bb62af19670ef27db1144810ff60b03dde542273557473b9bb521bcf49 DIST rust-src-1.71.1.tar.xz 2460244 BLAKE2B e3a5b5bfb808310f96e760aab55310c7a790fa551d248c9c5dbb407e0a80653563d8df73a9e0973aa63d3286aad6c755b78098dd8db2dc1a2ed3cadb926b40e1 SHA512 659cc46e1ece2ddbcf5ab748bae48843bd36353cc633b59e4ac062d843af66919e8d5c39ccb72ebdbf94a0e26a8056ade6bd1c8fe9a936469bd405122a8ae35d DIST rust-src-1.73.0.tar.xz 2512888 BLAKE2B 367b68ec0775f49844408d602164634a0bd526dfe1e469b1c8ba9ae5604cbbff2566eb770b7bfb81b2dae892ed1ae16b7441e438726198610ce181c98540955e SHA512 49f493ffd119a0b8b9f7b7f7e049543787eaf96d9beb272d46f2758a35fd648f6523c2edb28864a33fc66337aa07e80a6464ec806307da441a899be4f71bb554 @@ -298,6 +334,7 @@ DIST rust-src-1.76.0.tar.xz 2590884 BLAKE2B d1a6215dab34d7b10c3177d2b248f997d3a8 DIST rust-src-1.77.1.tar.xz 2618128 BLAKE2B d36f74d3b826a071de8e8a92cfab65348bf1ed7f5fbcabf1994b5e2c99d1fd6d2a936e49aaabb59c44e664a4559cc3c062291cbb381462b9c516fa7ed9d6107d SHA512 a719435636a52b4436afd6dafad7b8112c94b097e2c632fde536155b9977bbffffa8fcb90c6c53675c4d793225917087e5637d36fe250c539e3d7463d90ce28a DIST rust-src-1.78.0.tar.xz 2662668 BLAKE2B 131e9616d6f72e87fec6e06735c3ae203fd8b8c2fbe650c23892c3419b057c99d9fd0a6278773addfcb46ac0c9c4eacd905a1122a79d110afa0fb1e4bca8aeca SHA512 ecd1b29ae24ab2978de6b2d6587ebae334cf827cfdc3b1fe3c9dbd068d7e2fc780ac05c50433857ad36e980fc44e2ba0f031e311834355898a9cb7b274b82bfd DIST rust-src-1.79.0.tar.xz 2855740 BLAKE2B 2701e3de018e044b5cc83b8d1b8e509127e3603654ad4893cb22a4701ccb19b2305d22382286e40171c8b8188804136156c0ff2c4c67714b53269067cd17fda2 SHA512 a4489864ab4a0fc05210365be02cc2cdf9f52b20513b57fafc93f025bc1ea5d7df9a4ee0dd23aa02dba1510c5d2cff7269071aa5cb17a946dcb913e0ea35e1aa +DIST rust-src-1.80.1.tar.xz 2870456 BLAKE2B 9096fab01b38cc3ea2a32a2ab2e9052e5988d25e92965ebf174c4823c7b3c722196ca25e0dabcfc6db208d1c07434f06594d85fc673b6b9d4e0070ed445215e2 SHA512 bb9fdc593f33c6d94c28569a1820f0fd2413c31e650ddf82903214845adec664cac9d7b10b07e096a36432dd815de96c6aec81709ed13e99f381cd53cb87fd89 EBUILD rust-bin-1.71.0.ebuild 6981 BLAKE2B 4cde6877d4ec928570cb5a37219776d94f77072ee66dfa9f83c1181da9c3b9948e313af0b9f7695ee93af861c27d96cad521a20ffaaa4e84ab65b98d9ae8b15d SHA512 41df4f732b586353d10036e03f17d3fce503c366ffd22f35eda1bca52cc2d44fb0cf3695c89272216f75cf91a3b82e660f446d6e3375f20b862e3577f35f212b EBUILD rust-bin-1.71.1.ebuild 6974 BLAKE2B f69db92ba55c7782776c37295949ccd562310f246e940d61861b68593f08fce7faf73a40c25789769caf08b1eb25e091909188fc512c36f8e0da49cf666a2366 SHA512 033dbbd50bc72a393ab735919abdf9e2810a95d308fe0320f945d5401a15dd9f9e169f693ad2d90cc23325b344a1f619a1eb835ad8fd3edd5110c38d83cfc185 EBUILD rust-bin-1.73.0.ebuild 7324 BLAKE2B c6d35e727d742d0f2c52c0980f2309bdb01c384f135dd64b7250372dbd2a9c2a62cb053c50da0b2a30c67afbe4d70c9c32afe50009221b170f1f652ea9372bd7 SHA512 86373ad64068930b45cecdabea6d5683331a7abfcfd090d4711a445902bea9da0b9cb4f85980fca57b9b9955c098c90da045c00fe4e1b1b1530fa9be9ba4c08f @@ -306,5 +343,6 @@ EBUILD rust-bin-1.75.0.ebuild 7319 BLAKE2B 6d651ee302620a28e8c9312af50eacb4638b5 EBUILD rust-bin-1.76.0.ebuild 7530 BLAKE2B 0674e0f71079e88432ac0ebd00d9c57679659c00e0f46e77b67bbdade84c8960ef1c806626c2be7942dc7a9f52c31fde92e93c00a9a27d463888815ff8b9327d SHA512 3418d6746df6c0f8c84ad8a7f2e68da9e25e8b619eb190577ce240f8b94c02c74c7b5be3f39c12a231e4af989ed9f2a321a8698016c893a249ecb68cab1135f1 EBUILD rust-bin-1.77.1.ebuild 7497 BLAKE2B fb9a25879a8886086486ba5e2010021c01e16ea2c525bf3d36d23e72c7a24eb6f196fd96d3d29231070f5a1db807865e135915224d37eebdffdf485ecc4ca83f SHA512 7ae2fb17a2fcd2d76ae85d1b0420429544a005e2c5ce1cd18a5351353b840d4048d491a316a7a97197198045f4af5f98681b4fa7b5b47df060e0ea6112b3512f EBUILD rust-bin-1.78.0.ebuild 7611 BLAKE2B 5e56639a97cf4e543193670181aea4413e2a757d1c09d4ead6f70732845446a8dbbfa17c76ae3e5ead91f65574d10cc1e2624beb9990aba26914dfa13be3dd1f SHA512 c86d0ef220d2a2a298303a9c754e43a65855a8dd1a4b2b812b03c474c1ecdbd94a069c03927bc91f30861ad8285ac3f0bd04a47334136e087140ae76f50b113b -EBUILD rust-bin-1.79.0.ebuild 7611 BLAKE2B 37c479baffce3158d88006ae22810187e63e395b8ecf898e6ea95e2987492f73bcb7ab604ce9b1783354ad3d7c69d677ec27d90a74d71681abb20c16c61ac72e SHA512 bb276e81e11e78c577bd7999b1d73e4d0dbfbf8857aa2e282e9ebfc87ba628b88aa30f0e27993f5601e87d47eafb10549092e2dd3f9b985b5944be9c7324e2a5 +EBUILD rust-bin-1.79.0.ebuild 7604 BLAKE2B 99c532442ff6e40c70a391d777122c32deec8ba8cf45f19d1abdf8e19f75a8776c9741ef54915995e24a646ff94b6e7ed76b2d27ac6631645179109915903d90 SHA512 b64087f5de9753a1476ec0ab72151309e75f4aa847ef0556bff0848a15b473fbb0a535ef1e957d19c92f416ad159d519c97764eb55802fc0c466930002e7e671 +EBUILD rust-bin-1.80.1.ebuild 7820 BLAKE2B 3e01c14acfbd4d788133080da515c69001a7fae55f93013c761c8ae23cbb526ddf219453589f575074526be384680a2dfbb09f7b4342a137f7f0eaea85b1ab36 SHA512 f1481795ed40e614b9252dedddf1417246c42bb4ecb3472cce20b70fe32c3c0679ab3896f545067c52decf9005ae0af9b4bb26312602f9102c941b603ad8576f MISC metadata.xml 1220 BLAKE2B 5c4d286e569c929913317d15d37de08db51655ec41c1d3b1d84aeb6982b53afd7ebf3f9adbcd4e3c76fc9b82056648b6af1507a5728388fd2d2e8d743e5225db SHA512 72d32987894268a7b3ac8e8606428cf8315fcf29ce1945c9e55527a5c696742f6f2a44dcfe01bf5abb0cad60b5881a59dedecdc07db4ef2df22ef13e3b2732a8 diff --git a/dev-lang/rust-bin/rust-bin-1.79.0.ebuild b/dev-lang/rust-bin/rust-bin-1.79.0.ebuild index 8411f28b752f..aedec2e6829f 100644 --- a/dev-lang/rust-bin/rust-bin-1.79.0.ebuild +++ b/dev-lang/rust-bin/rust-bin-1.79.0.ebuild @@ -33,7 +33,7 @@ SRC_URI+=" riscv? ( LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="stable" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix profiler rust-analyzer rust-src rustfmt" DEPEND="" diff --git a/dev-lang/rust-bin/rust-bin-1.80.1.ebuild b/dev-lang/rust-bin/rust-bin-1.80.1.ebuild new file mode 100644 index 000000000000..90992690ab06 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.80.1.ebuild @@ -0,0 +1,252 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal + +MY_P="rust-${PV}" +# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" +MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-08-08/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P}) + rust-src? ( ${MY_SRC_URI} ) +" +# Keep this separate to allow easy commenting out if not yet built +SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="stable" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix profiler rust-analyzer rust-src rustfmt" + +DEPEND="" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* +" + +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/${P}/bin/.* + opt/${P}/lib/.*.so* + opt/${P}/libexec/.* + opt/${P}/lib/rustlib/.*/bin/.* + opt/${P}/lib/rustlib/.*/lib/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + + # start native abi install + pushd "${S}" >/dev/null || die + local analysis std + analysis="$(grep 'analysis' ./components)" + std="$(grep 'std' ./components)" + local components="rustc,cargo,${std}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use profiler && components="${components},rust-demangler-preview" + use rustfmt && components="${components},rustfmt-preview" + use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + echo rust-src >> ./components || die + components="${components},rust-src" + fi + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${ED}/opt/${P}" \ + --mandir="${ED}/opt/${P}/man" \ + --disable-ldconfig \ + || die + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" + find "${ED}/opt/${P}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use profiler && symlinks+=( rust-demangler ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver> + local ver_i="${i}-bin-${PV}" + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die + dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" + dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" + dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" + dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib" + MANPATH="${EPREFIX}/usr/lib/rust/man" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use profiler; then + echo /usr/bin/rust-demangler >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + popd >/dev/null || die + #end native abi install + + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index 75d90fe73f4a..bb0eeddf276d 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -242,6 +242,34 @@ DIST rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz 163959816 BLAKE2B 1987a6a0ea169 DIST rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1b6b8e54c0eebbde2a803d14db3d75363c306c621845cad89c927a51a5df0ccb5d1406c8806a82d5d611d0a12c6d6c5ed0f113fe802e4b6a8e504e64562e168c SHA512 10072d0684b40a71176f36ad85b7161e1392b3f52c035bfd0c6bbf5889599234a7201d85a13f04de0269ef9d8e0c51d15a4e9a9151b3fa27cf9a6e8663203786 DIST rust-1.78.0-x86_64-unknown-linux-musl.tar.xz 245914600 BLAKE2B 66cc40b70ca70eebee5c173eefb07758a8a7421cbf421329b3b405bdab1651334a5ff1202b450139c89039a4c3fd6ecf8b78ed218c62e81c983e6bb7353a335c SHA512 21190a0034aab2757cdcbc2e456fdacc972634f25f5c75daa089030a82b407037d3c7d3528c8d126d48d2a6840edf97526007bef41689a86ef1eec8f8c569f08 DIST rust-1.78.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 2ebc83f961f3bb1681bfd2e3f08b2c394bd8701c68b873eb524a9f9a79f3d3858ae75f76c0e0bc452cbdde9466b1d1b2723d04a8d41f68902355150c86d41042 SHA512 a32e7706ab9483a464e3001aebda8975ced4ef66a64f534d67c0a0e2b508f8db0523cfef4a66bb2b264bad486566c7f684d01ba96055133eccf0e9da4abfa46e +DIST rust-1.79.0-aarch64-unknown-linux-gnu.tar.xz 224366944 BLAKE2B bd890cfad2348f7bf1d97adde1a5ab244665474ea4d77dfc2cec60679829f84c30378f2a979acc3dddc51ce563b03ff86d04903602a079a85684d98a86ffa4ce SHA512 0cf80ea35cb501f406323a438ecca348fb957cd4a57a4c7ff42bbaa0c736d16a99187b821e29d2e51519e1cb76e533af7c5893c6204fc0736f8e2186235742e3 +DIST rust-1.79.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c249d0badfd29130477841602b385e1d152488d43799e9e3b77cf92234b197501182edf59536f77b02b49f806a7dcd748f352458f97f15af6c8f0580659d3eb4 SHA512 2cd2fdde6ad1acd769af2a3ca97bff3e4cf3b57a3a7d1890ab592d2abb85be17f7c3f27cc1b994e70f9f6cd52e8e44314d1d182aafbf68fea4d52df1c9482afd +DIST rust-1.79.0-aarch64-unknown-linux-musl.tar.xz 205404384 BLAKE2B 21dd98d62bc965e24b3a60c0e48fdc907e2bd6919a90923f26cb833218d6e1f23d3385c7e67d96d7651d65ef963f668abd9f1c9e4d3e80aeb726b50d09a2ca80 SHA512 358e8b8a76e1a48d6829735f04b2d3cd3ddae86684ba10c778a9f96ce4bb0f080c0d706bcf5c6d141d1d52685a8e92a48d8020008320ec8aa158fa911745678a +DIST rust-1.79.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 99fcb4bb3818cf56ab9686aaede04dc104d156cb8c7989c3355974901cf7b84d9182239b526bc0208d7f4bbd80f959f896934796d1d431336820e10477c271c6 SHA512 9ce170419411e08bdb80aaad72c559fd0d81d7e5c2f088359ba2994dbc9a1f25bd6a35b2e3a02ac2ead12be6dac3d8cdb48764e85f8aea3babc031e242d66a5d +DIST rust-1.79.0-arm-unknown-linux-gnueabi.tar.xz 189377704 BLAKE2B 6d2e12a9fd86d41dce2946404130fc314ce291e1610f1bdbe13214e04ccf91ef36b373d49bb06d4f871da1bf99568d194d27aaecde841634fab1fd222e44563f SHA512 630973e33a82d4dc27ef6ec07084bbb0c6555add6fe1324b0a743c39902ce02ad1b3142b3e56b6b37678b523ff37fdaf0f60518a83500ceb4db9544e7f60ac7d +DIST rust-1.79.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 26045e38094ef9e424bd7050819c43998f9ddcd54f52c08b2f9d538e2729b1af1015847b55501a55d43db073f63324aaa594ba3ac27989665cb0855f58275b22 SHA512 73a365ab6ba6938f21e2f29d2ee8992e32998d159572a137621d451837dfb05b6f0bea8985165c6c22f16ce66d6f732393c8dc7680f2ac31df006b0cc2d26533 +DIST rust-1.79.0-arm-unknown-linux-gnueabihf.tar.xz 189222624 BLAKE2B c9ce961bd7f7bd8fdb05781096162f89bb2aa374963dad03f764a69570efb634a5c0fb3f776755869649a69ac1a95830a78e638f6e06d4840f1b2c2dadcac2fc SHA512 787e02c3b6415ed337964ff4db0d0e8cf5642f65ff733c6d70119c3ef328e9507ff66c5b2e4191bc0bcd1dd6755b656efd3d46b7629f3d20079f06d8fadcc10d +DIST rust-1.79.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B c5729c56ee5a3efed7f8f5af46e459a844f67a87c71c9e280efc07771964fd06838263f254a19801bd6d072d98f3d326691add5495c62a8d06f74a39375557eb SHA512 0b1d5c144d8a9bc8d370052ddafe7d6a5b8fdc00038bcb2581c5e4787a1c8419c628bdd12398cdac94178cd6c876f10e23b5660755274e0f1648b86e54d78477 +DIST rust-1.79.0-armv7-unknown-linux-gnueabihf.tar.xz 194892388 BLAKE2B 82113120753281bab2e52dde18b399e878bc1c055e2a1123c7bf5e0432c39ce04cb24886ebfde6094683046af94a8e80d456647980632df8da65268c4461e857 SHA512 d923042c4c9db09ff62444e6222bb4c404f322b2c43722514bc4c126fe1f9988cc8c38191bd66f8f24c535509c683e9fa30b3091d40a118b3366062135aef7e3 +DIST rust-1.79.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 2cc6281091bd0dd012fe0d229aa0691fc3698ebac5bd77d8c2d811907d1a6d8fe73f19d4b456bc9619f6e7cc403e8d55c46fd02140103a72f5b82c2c2c3986a0 SHA512 4aa5854d7430b07550d72f3aa3d8b5f27d8d11542c9bc22c8088624fa1dcb2a6d194cf058e741b1a0eebbf04874aa844ee89511ca14ddf73568eccbc404d6a43 +DIST rust-1.79.0-i686-unknown-linux-gnu.tar.xz 220956232 BLAKE2B ab8bfc213938a0c512177765f4d5bb2333f5533506fb28ecc70744c545595a7e534d7e5dad5afdd6b7d6570bc0602ed7ed68de7df4d7a210c606e23cde5fb6e2 SHA512 7238d0102625d82f7595bf4346dc49cb83daa0ea0ab456b6526f4995d20e5ce7f10517bbc3de09937eb10a4c537edeb2636127f9f8aa7d45c7577a665d70820f +DIST rust-1.79.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 838bd51b74f1f6c77a5ad10cf992f3e398f2f68510685d1146ea3b15bdb2ab7a994aec3e96b5b3a1a14a82c082a87c8cbfc77f01609bde2e096f1934a1fa61eb SHA512 f8a2aa8271348761c5c8c93406c65fdc05502c8d21d67fff82f1a706770891a820bd05acf8d3e8401a44a66c35a11f40e3594d5b42b6554060b3bb58a0dc6afd +DIST rust-1.79.0-loongarch64-unknown-linux-gnu.tar.xz 171612592 BLAKE2B d06003c1817a191d8aea38068ad03449090538962aa9ae74423343032b2e1aae4784daa702fdee4f4b089341fcbac1d03048783b7cf082eee46df1a2b6323b31 SHA512 86c39ca2b43fd58893e490008c99ce7f8e8c8e087701b90838de8f589a3e5b5b0d3b20c86ea9803da2ed72301d44b68866fe219b65a5af9f0e7e3120b3d9b994 +DIST rust-1.79.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6f826cc05d126b8c6422674c9dfb496a61424144d7a76bf4e5225d7bc782c0d63dd55ea03c534494b633601bd027a922458d9f06dec5f5cf701c8907fe53cbf6 SHA512 c443a8a08ae2e65e3ff46e4b5f910ac24b8dda0ba62b67dd41888cf1504a78e9a6ff9415480b8c684a7f9390bf7b279e3fb7a7a22bc4139d6a91457753df4131 +DIST rust-1.79.0-powerpc-unknown-linux-gnu.tar.xz 184251688 BLAKE2B 372338527063379f922bb3ea83c98f21b2201cf0e75f61cb0a42c1c1c6b651eeab1532d972af72a2afdc7afb5e7a96c40b0482c248350b7886a1274c869d2a08 SHA512 e1a26ddaf53b070edaa630bfcf6ba94659f841804e2feb90fab05e8856cc616d413f5af45b67cab57fea2483221c8caa52e373e7e7d29039541ab2142c4187a3 +DIST rust-1.79.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 22c2867d40f0fe13888112294ea2571718064a30983903f7ce8b13a4a13684c34ac224990ebb0254e262686c097bed6e46d9a70e86bb282c447c9e690ef551d8 SHA512 68ea8142bb72430fadf274549d1830a8348ba74a02a52bdab1cf1b811e70592896f8cf9d34687bacc34aaa06603f89e5794211227c573a4f29ed34744b0f5a2d +DIST rust-1.79.0-powerpc64-unknown-linux-gnu.tar.xz 182063040 BLAKE2B 0bf5d662cf69bff1a345dc54525319dfec98b2743744eb03712e9a2cce8cd45d968b9cc67ffa33a5b5a5a47f3a0a5568103d4e3de3efc7c2d837453dcdc077c7 SHA512 f65745bdb3c98f20c37c7bbe737ebd3b1107868fd56f1a9c42a4adfc14592e853cdd19217354070e5d18d31145be18c3b10681768d9f025b5846488937bd8a78 +DIST rust-1.79.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 80be893561f5021b4e57843a5a6c9db7f97d9e31a0748c2ef1768fe0074f29401a39de781d1eadadfe760e8d7f9a286045c6bec2bee1b2a889ccfb9625ae8477 SHA512 843e1cdda3dbceb93cd0b345ef0f551946cc37dc5085f52cfcc3c9f6e31f8d4d6b176afdf1c255f5bd7283473b717963aa0e6bd905c2eb89f3543cf5e88dfff0 +DIST rust-1.79.0-powerpc64le-unknown-linux-gnu.tar.xz 192753084 BLAKE2B ba53cdb229484dca210de50bc7cd493fae04b4c664551fb5b7f7bd6bc7dc3bbb59b79d183f20a9dada393d586eb49956fda1a358bb5b5761fe8d65f7ab58b3a1 SHA512 d8db247ecfb154247d7243e8caaab0680bb81e11aa0ed3e627b6a0d96a21a0a2099a7bdcdacb57a8b84910d6716754843d80a9149a8ee02fdbb6bc411a352112 +DIST rust-1.79.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3e5ce77c7a2afdf0ddc4d8d53bf7ccaf8506986c1cf196837a3a6d82d648b4515b4c8cbeedb2998df233a1c5428ccfd82865482c0d0493248fb0631e100d4986 SHA512 5e63caeb8b20c7dde37099cdc0c246694b67dc2380104c83d3cbff7810cac521104d4d6cf6763559e13cc9e4bb5387bad761e79fc7bacf48536db1918b59246d +DIST rust-1.79.0-riscv64gc-unknown-linux-gnu.tar.xz 195616336 BLAKE2B a17b0f9022681233e23ae3c3eaaf93da6d730ba604a9d327cd4a2553cd8c7321929e294de27866e995a591554db4f31f2b9f371747e4b45e473ac2c2a466ba63 SHA512 8a8c6be44ecf5d4cf35bdb32c2a56136fb007e9502f7f42980b5cec135bc481252b890be74d6ba638c2d885d1fb9bea58349e6ba67dbbb8efccdfe7bd6c7009d +DIST rust-1.79.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a20afcbcc4814988594537e0ef1ded539c29987941044d2174c5f16b84286d3d8b29321bcd205f5081dcc8ed487d21f88396a0420a7fc3626748b8ad1e0ca2be SHA512 cee5e0ebd5e7fd00ddda6549f749603376284071db7f806175b1913b39a94a5540cf535f30d45afd06ae95ea42b0fc6b71517bede7f09dc0221d5516abf32450 +DIST rust-1.79.0-s390x-unknown-linux-gnu.tar.xz 208109368 BLAKE2B 8c110bff01f7a7456a6044a782198c74a793af0fe4acf6881fb9af4c8193cb6c513cbcc8113320fee027a6eb046a0ca4319d014379c6f670f915314448fb927a SHA512 07de1f7da8d8d23c63ed081cd56c96a9becbd4b7149f87636918bce8155a25ea95579ef8694adf6e455ba6cdc19776677f430713a6ef6c607a7efd26db4658a8 +DIST rust-1.79.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 28a2586c96e2ee2263cae8c2dcd21a0017d09969114cc905a37408717c412a162fed12023df801497906a6aa77b294121699a56d05e270b28e2831796a15f4e8 SHA512 64c85ecf772b73e2e6f2002053a8bf659d518e7be2a9d0056fe38e991e47304471372206a8e45250d6a143086b3b1f4fc68f4e19388c040735e8475c981fd8a0 +DIST rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz 165014992 BLAKE2B abd9f73c8439f6f4f9ea1b586cb0b2d3ddf3351e42dd49e01e2267d1bc2f9dc27dbbe9b866d5a571a983e3c537f003ea9a6570258af64edc26cb86fdd8e64d86 SHA512 c027a015cc6544d288b51bad6ebf8a9afd40932a06972cf61bf64bfe4997dda7ecaa2d53c4f4fb2200bcf1a7df16c3a44ade1b8366a32ce9a4c85357cc76dd0c +DIST rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9cd1a51580d9f70f96c83b603716a5edbd8e1c4d4c2f53c07aa9d37c6c47f3bd252c0a1cf26b77bcd60842fb83ed74cd7b6e4ab3a039c3938423372485f8c1f4 SHA512 b65621f91085f4a5c6f84ed5e530fe56502ca12c5b18486afb1197156c5f6087110578647d428a58a1a6c04765569a28c38ae40a14c72fd41f39948349e8115d +DIST rust-1.79.0-x86_64-unknown-linux-musl.tar.xz 247326760 BLAKE2B 36bf6787c69971ba7c445d1895001c005af0aeb48aaa3309e971237125a2b6de3ef5f1534572f8a3f4c1bc024962a8fd030e91b63c02f03444b5aec1a3ed2e5a SHA512 02e5c2a67f5470f3320b04e7c4f0a6f5dbd361d5a97aee7e5860d04224683166b21375794c94ae040a2cc6fc119380be9d3465b8c5e1798abd4142d621cf9f99 +DIST rust-1.79.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 6dde2d3096f7e47d31b1e13e7e5f41cf278e770dcb8a222d76ab5b93b2ca8a6d9e5b45515e097e5285bd2d76130546b3eb302a8391102460c4564e654c88f03c SHA512 4618852fdd81684ddf5bd8758d2551f1c800ef1614fed8ba91a9a1d29b3b51a0b9bf169c499dd8890347f999d002e5aba7b49a98eb819f20bdfe82fa375ed45a DIST rustc-1.71.0-src.tar.xz 151962928 BLAKE2B da8d83cd6621947816630ae487efe7d087266c1352949cedbbd441ba7c7f7c7beb13b9470e66e2f3359c37a050d0e44d22481c418532d3ebb339a456ab092648 SHA512 2c93bafdd248563765a285add48ca77c1e4bad4d5431675ae6a5cdee4cfe7a41e6bcc880a489ca1069a307fd9a005f2d5f8e230dfc95b4a69152b4f9ca49ac44 DIST rustc-1.71.0-src.tar.xz.asc 801 BLAKE2B e5ddc4b18a6caeeb63c5aed5b5d15989d086f408787d2e603e50e7b8548dc078683062627280fd2a0393bec01c314eb1cc59f9b0e3146abf07b8365a0b44c640 SHA512 cb1b208c8b2bfccf02c73c4246fb238edb0dd10e292c1ef781920964e54e40add3089d988769982c0ce06b719014685b1c37daa2d08b513d86ad73808f4ce3ac DIST rustc-1.71.1-src.tar.xz 151983068 BLAKE2B 3dfdbc246feb84a79ae94c2de978c5585ee06cf6b683d2245869b62e28f7c79f89cc589f5431537713bf088236a0b824acefc1b68e418e9eb72e1eea98054e3f SHA512 fd0e5a16bdbeb539184513583089e55f681cb772810df357b6b1464853f7022ac02edab3dd155b2262ed0047e2a25dea3808dd078dcdfce9d399384465009db4 @@ -260,6 +288,8 @@ DIST rustc-1.78.0-src.tar.xz 159181212 BLAKE2B dedae58e413689de258f852c988a9a91d DIST rustc-1.78.0-src.tar.xz.asc 801 BLAKE2B a40b0eab4e9263694e79f21d92652402579f4a0587fa48b4043211bc645d4303f9af7629e9c8361938748163e99fa7cd04108156780f23f9c8600361785e834b SHA512 ef16c9eed79f36576517e9dd77b56aa767ae9dc745f5df1839e24b76084ac791b27926f3d608b41695ae6022aa10cbdd3650cad163f35037c60d3bd0427b3cbd DIST rustc-1.79.0-src.tar.xz 162359512 BLAKE2B 753c0e9c537644d1a12b4d38024c22952a19513791c3da6f955690c544e58964bacbdb579f94cd05910697fc31f77ed6553e5ad3b111bbdfebeea8d2a4fa19f5 SHA512 99d7f276292e5c270648473ff73e9888413a3325ef3a4d7a45f8ce77a42ac87996905f1d875888ce084b621f642017bc9e31a00da1439108dbe19b85d0eab085 DIST rustc-1.79.0-src.tar.xz.asc 801 BLAKE2B 860283021f513f5d4c81ea1f8d9567f0a052cc53a1d51d7fd9a804a39b855e24e06ea4c73db53176c1cf846910147de6bbc26da35755f3d0d4b296503e691e64 SHA512 51eec85d71817fe21073502c1d18e44ce694dc11b1c181e82462b529a24a610c8e215e6f2640e8b6d80f028207a360e43354cafa863f49a12c547b4c5f52d7e7 +DIST rustc-1.80.1-src.tar.xz 199234944 BLAKE2B 39891362f2a4bc249f5d943e3ded48d2add9cd9c0ee3c085d7fbefbfbc784f1e029308d9486cd35a6c03b77243077dc1196c75980faeea0d4319cee057509b6a SHA512 3c746108a86eeb734c1a8c8f63ba1a45e2cb03a8cb553395a167d07dc3ce5d8d9ea365ddd95533b6952d915069b86cad7ad218d27861e0889f8e878136bd32ab +DIST rustc-1.80.1-src.tar.xz.asc 801 BLAKE2B 0fb361678e4b580c89ccc35fd1b29d24ab41af854e5a34d24192671c93140b7d2c91e740a51f1eaa6854d5970bb91a0510aac9cb6cbf2883e77a2b941d65b010 SHA512 9d5731db73b8a982b956cb2c4736c0fc7dedab785d9855508e6a1fc2d2163d561fdcd5b254ea5f7b1f27b3903d10d9d2403366e63f9c690ab722c401109a7c1d EBUILD rust-1.71.0.ebuild 23453 BLAKE2B 57e78a3c1193d92c8fd6d9c3b14c7863898d5c3a2bb0f376dcdd1b9162624fad8d745e26df0faf8d2b03d46d05513c6a331653924582d99f7c1886d03b9d156f SHA512 389c1f62c20c10e094b0e87399d3467f666cf23ea36ebc897b45e194c50138bbd30843092347df2c80939a3201e3b163ae55f408cc756731e2abfb4a986fb024 EBUILD rust-1.71.1.ebuild 23467 BLAKE2B cc179525f8be2375e4bb0651b3210986254d027414bdef178a33309a7d99deba0a656454b5f1c84a852be104c93edaf5eec24c6f65f067365ed0a202d140fde0 SHA512 2a81e2a2c49d19d88c7794d809648a4630ca476410ea3270a772fa8d315b56c1b1698fc523ff5451a4336e23993f76d444c6c3b12d491ed89019f075a6fceb83 EBUILD rust-1.73.0.ebuild 23849 BLAKE2B d3c882614f94c71c97a10362e6faa857e2e9367bcfeb087ee53b70c40624496581bf44484bbd7db44cf290297525c2351119ff65aa620d63f94ded5c7762ddeb SHA512 159ce4addc241455c58a8fe103b8aeb8a675a95574dace522d480be941fee7da8a37488a00e8bfdd62a9fc9a146f6bf98198c142ee347af00bd614611b46eb00 @@ -268,5 +298,6 @@ EBUILD rust-1.75.0-r1.ebuild 25288 BLAKE2B a474ca3a0e5e25f826d365b7550c80925baf6 EBUILD rust-1.76.0-r1.ebuild 25330 BLAKE2B 7639eecc2292098ec9f7e59dd6ec61601b46e8fc1d7ee1621929c95347f49ca8b936e2c39a02fddfb9b79fbc9059ed53a8458350e1a3e845b9feb496c06c8e6f SHA512 a25c16d800754151bf03b0af7185f71fa107e6337c85ad01e4680047b11a1599168fe2547da83a06f7adaeec25913bec79ddc9e4a0c2cfbd0cd4afe0b0d30b9e EBUILD rust-1.77.1.ebuild 25251 BLAKE2B ff042078351f96d059aed3aa1fec39ee6a3d7bccbeac71d82cbc67c162b0ad1391fe82c71409985af66590553b3f879febaeb259c157444f8197250c4490250a SHA512 574c34795bc7622aa24bbab5190b23b1cebcb95a5af9bb315203543a78048ed74e1a74629022492c4a6cefaf2f9ac415104cf1339cff4e7988a2b79b9fe1b1e2 EBUILD rust-1.78.0.ebuild 25413 BLAKE2B df9443e5f9ed4fbd27f022eb64e27d52b3b84641be27abc245fd4a5341b2b7907ae6573fc13023a984ea40bd6ecbc315efe792003a97dd4382e2f0753b1c7f60 SHA512 2510adb7023ff5530bcadd35efe34fb576b48dd98394154ce8e1be110b8a2d88c70518ddc7025f41b9b67d071c6cdc67a840202d54bb7b0f373cf1b7e4e78f6f -EBUILD rust-1.79.0.ebuild 25487 BLAKE2B ae63f718ec2575670dec0efeb6e24aa56fbb2b7c267ff7229f583b59705f5729789aa2fe13e554e8c39103611bce711aa95aa97e8827ff99d521f6163caff030 SHA512 0eb856613a4da6c1b9d878e79f09ea087e1516187683fb64c8a6f6b752a9837bc8aaf5473196cb99a550cd1e842b3ab07cfdd430330be22a5e7c8aabcfc86096 +EBUILD rust-1.79.0.ebuild 25480 BLAKE2B d2087cce728db5d5383e324476ba5380f95776d0d4742917742d9bd332b643c498f7a30ae32045d44a7aaeba7f235a614add12aa739765e4c308a02027ef02b4 SHA512 04ca9c5dcf088a0398ab05a39eb77119dd495248217fffe7451736cdee3c3ab1a274a54c4b6257384d39678cc87102d3e2ea3f0dcb40cbd657a0e07b7b93eaac +EBUILD rust-1.80.1.ebuild 25419 BLAKE2B 9340dad94ebd77d55c13b1d1c2ac060312a9e234e81677d3dbc79ce8c10e32a0b698efe75e5ff4fe5049379129b5f7e82665159e80a6b7461b3361f3b6a683d2 SHA512 c9283de06352a2f8c2aa62b1f002e7d1ca21d0b05bc090f7de58b47dadc217a597a3c24b33470b106ee914bfb57cda22cc6fec77c97bbcd4c10a312c761daa10 MISC metadata.xml 1945 BLAKE2B cf3ed0b2550564faee94e53e21deb0e905b38cd45c503ba18f55c36f13093fa65c4dac8e544c891c9378b2ce32912cab1a1a0b61a277ff29f5288b672f4a218d SHA512 a28dc5b78e15aaeec5ccf028a053c3df6a12b24bcfb6e8948e2e25b3c04cc8ede5973f1e57c723081355853152baa8c8219e36bb603b714628e71587d2bba45e diff --git a/dev-lang/rust/rust-1.79.0.ebuild b/dev-lang/rust/rust-1.79.0.ebuild index 0223902227f8..0c7ace156b58 100644 --- a/dev-lang/rust/rust-1.79.0.ebuild +++ b/dev-lang/rust/rust-1.79.0.ebuild @@ -19,7 +19,7 @@ else SLOT="stable/${ABI_VER}" MY_P="rustc-${PV}" SRC="${MY_P}-src.tar.xz" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" fi RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" diff --git a/dev-lang/rust/rust-1.80.1.ebuild b/dev-lang/rust/rust-1.80.1.ebuild new file mode 100644 index 000000000000..86699c0da5db --- /dev/null +++ b/dev-lang/rust/rust-1.80.1.ebuild @@ -0,0 +1,787 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + ABI_VER="$(ver_cut 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler profiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +# Please keep the LLVM dependency block separate. Since LLVM is slotted, +# we need to *really* make sure we're not pulling more than one slot +# simultaneously. + +# How to use it: +# List all the working slots in LLVM_VALID_SLOTS, newest first. +LLVM_VALID_SLOTS=( 18 ) +LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}" + +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +# (-) usedep needed because we may build with older llvm without that target +LLVM_DEPEND="|| ( " +for _s in ${LLVM_VALID_SLOTS[@]}; do + LLVM_DEPEND+=" ( " + for _x in ${ALL_LLVM_TARGETS[@]}; do + LLVM_DEPEND+=" + ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] ) + wasm? ( sys-devel/lld:${_s} )" + done + LLVM_DEPEND+=" )" +done +unset _s _x +LLVM_DEPEND+=" ) + <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):= +" + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + sys-apps/lsb-release +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.79.0-revert-8c40426.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include <ciso646> +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm_pkg_setup + + local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use profiler && tools+=',"rust-demangler"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = $(toml_usex profiler) + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/<target> + + # extra targets defined as a bash array + # spec format: <LLVM target>:<rust-target>:<CTARGET> + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form <LLVM target>:<rust-target>:<CTARGET> + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, <rust-target>:<CTARGET> + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use profiler && symlinks+=( rust-demangler ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib" + MANPATH="${EPREFIX}/usr/lib/rust/man" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use profiler; then + echo /usr/bin/rust-demangler >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/scrapscript/Manifest b/dev-lang/scrapscript/Manifest new file mode 100644 index 000000000000..afec07895a95 --- /dev/null +++ b/dev-lang/scrapscript/Manifest @@ -0,0 +1,4 @@ +DIST scrapscript-0.1.1.tar.gz 29042 BLAKE2B 4e462fae8271c045c3f1d1200d9fd1141528d3c364b0d639055f4b401f01cc60dd88314a9f33ea870facff3c424b8e3c8b62c1d6ec2501fd78538ca5d8c906c7 SHA512 dc507fbe3af4fe74f1b774eaabdb594d8589642fe82bbcf13823a58ed917d4c49d2d4e2afe72673e8642480e88e3c09fb7136c4cfbeb0c783316824851c9a1b9 +EBUILD scrapscript-0.1.1.ebuild 651 BLAKE2B 77887291d3e2cccdac269d569758b233509aa5372e8a03fb3a8f6eefa4d361c077f3225e6cedc3e00e6ee6a604ce82157713b1120fd408fc3bac48c64b3acd3d SHA512 8f73b462902cbd2d5864f5958aaf07eb0cb14cdbc2c593485528794e97199211af4de4d23dec175f55bfe9363f60a4359792a0c2e4b88741bc38cf2b0c82d5d1 +EBUILD scrapscript-9999.ebuild 651 BLAKE2B 77887291d3e2cccdac269d569758b233509aa5372e8a03fb3a8f6eefa4d361c077f3225e6cedc3e00e6ee6a604ce82157713b1120fd408fc3bac48c64b3acd3d SHA512 8f73b462902cbd2d5864f5958aaf07eb0cb14cdbc2c593485528794e97199211af4de4d23dec175f55bfe9363f60a4359792a0c2e4b88741bc38cf2b0c82d5d1 +MISC metadata.xml 971 BLAKE2B 9992961001d28b7be0de8b80a44914db8963388ef55d6a93e27889e39017a93eb9fbc3df36a6ac8b506b95ed764e1aff33f1de3ca82e3f83971b85bec61a9ae1 SHA512 2784ab76df28c9600d4bdf93e9a45124a551147842d531ef8dc4251be93433c7870bce8f4f89e80cef02a2f11efa291f0df0ac64da920e920975cdb95faaa1d7 diff --git a/dev-lang/scrapscript/metadata.xml b/dev-lang/scrapscript/metadata.xml new file mode 100644 index 000000000000..ff83a4e4ceeb --- /dev/null +++ b/dev-lang/scrapscript/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> + +<pkgmetadata> + <maintainer type="person"> + <email>xgqt@gentoo.org</email> + <name>Maciej Barć</name> + </maintainer> + <longdescription> + Scrapscript solves the software sharability problem. Modern software + breaks at boundaries. APIs diverge, packages crumble, configs ossify, + serialization corrupts, git tangles, dependencies break, documentation + dies, vulnerabilities surface, etc. To make software safe and sharable, + scrapscript combines existing wisdom in new ways: all expressions are + content-addressible "scraps", all programs are data, all programs are + "platformed". + </longdescription> + <upstream> + <bugs-to>https://github.com/tekknolagi/scrapscript/issues/</bugs-to> + <remote-id type="github">tekknolagi/scrapscript</remote-id> + <remote-id type="pypi">scrapscript</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-lang/scrapscript/scrapscript-0.1.1.ebuild b/dev-lang/scrapscript/scrapscript-0.1.1.ebuild new file mode 100644 index 000000000000..2bd71da29ead --- /dev/null +++ b/dev-lang/scrapscript/scrapscript-0.1.1.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517="poetry" +PYTHON_COMPAT=( python3_{11..13} ) + +inherit distutils-r1 edo + +DESCRIPTION="Functional, content-addressable programming language" +HOMEPAGE="https://scrapscript.org/ + https://github.com/tekknolagi/scrapscript/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_BRANCH="trunk" + EGIT_REPO_URI="https://github.com/tekknolagi/${PN}.git" +else + inherit pypi + + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +python_test() { + edo "${EPYTHON}" ./scrapscript.py test +} diff --git a/dev-lang/scrapscript/scrapscript-9999.ebuild b/dev-lang/scrapscript/scrapscript-9999.ebuild new file mode 100644 index 000000000000..2bd71da29ead --- /dev/null +++ b/dev-lang/scrapscript/scrapscript-9999.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517="poetry" +PYTHON_COMPAT=( python3_{11..13} ) + +inherit distutils-r1 edo + +DESCRIPTION="Functional, content-addressable programming language" +HOMEPAGE="https://scrapscript.org/ + https://github.com/tekknolagi/scrapscript/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_BRANCH="trunk" + EGIT_REPO_URI="https://github.com/tekknolagi/${PN}.git" +else + inherit pypi + + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +python_test() { + edo "${EPYTHON}" ./scrapscript.py test +} diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest index aa78088d352e..763f90f71cc3 100644 --- a/dev-lang/spidermonkey/Manifest +++ b/dev-lang/spidermonkey/Manifest @@ -1,18 +1,14 @@ AUX spidermonkey-102-known-test-failures.txt 6918 BLAKE2B 00c40884cdb5f8bc9667ac8689a20e4113c1bf9a1e8311803f16836edd3abd184ddddb0c107ccd6ff3ba700a938716947311510eabce1836d0fae01099b7f6ab SHA512 2186204514b7145f7f0ba0f5e4231c5c281dc9ecc7c6ede816182f78d4c96be50311b9d97b746c3abb5b2335e5b4b7c7fc1114bb1cf9360092b8db37dac02a2b -AUX spidermonkey-115-known-test-failures.txt 2725 BLAKE2B 181f6e11c0f1997a7af44fa69ad85512ba425ea0505a66339e64c8d91c85eb952c85d5291da95169d2faefb6458d524e4cd18f33911dc68a4c00faebee2ab3ea SHA512 97cefe4eab960bfbfbdbe6903ed49647b5cf45ddd3ad1f65e56b063ce8223a9a9653a89afaa501395358d49c2eb0a58e0f835dd16920823e0aabc71b213ac9da +AUX spidermonkey-115-known-test-failures.txt 2776 BLAKE2B f8368ffe12ba033e8d656ae07c100dae97a6151f5482a534f929f8676df336f02520246e41143b136c157b5a37325d811f04b2355c3521beac5b88b55d3fb32c SHA512 e77a1641e43de78ad13a5d3f62eff7a788a4a4bcfb08f5758333891b0fe840165a8f4c9a86e26d32eb8738ed37aea39a1ac1ce2148c571cea3943cde99f21eac DIST firefox-102.15.0esr.source.tar.xz 486592324 BLAKE2B b70727fa91d0d270673374bebb4745b87f6194191c1c9415547d772811a4a85f79a97e8985877eb5c9beef43fe15bef574172da35935e7024a947919ec11d883 SHA512 87db6e32fda215253f9b3bd233ef7fa91a64349310064b8482e5c634f34cbe99a2a111d74d2b9f2a99a0b3b510dbf9039ebe4ccfc176c2554d65bc9cfb508bf9 DIST firefox-102esr-patches-13.tar.xz 22212 BLAKE2B 02e9edd071a99abbac02faa11ffce061d5d12d8baa9ce54b51d6bfdbf8160022a1565902d65ca30fe51b5670e509fa921b11a460989933cbb797fcd59d635125 SHA512 8b8b0f3789978447a1293fd9acb5c2db3d7e9f724357a0d762b54f7e34d28f11655997ffeafccfe8001a01dd595848d257f90cb983462c405d434cc794216520 -DIST firefox-115.10.0esr.source.tar.xz 507826764 BLAKE2B 342d5cf4d61b3efe3dde6a6e53f064739d4107690f1d101915ba8cf2214f518aa8c7490903e20179f0874a3bd62871723e877e8f789d9816f3e0d9227d751eb6 SHA512 0626e2c68ce43f24dfc2b9216e2565537ad8781daf4195d53420e1b78d57d0f6360fbe56b0ddbedae3818546c72472c85c1ff2b208c123d32a0543e666f42b65 -DIST firefox-115.11.0esr.source.tar.xz 506015444 BLAKE2B ced11d0665215dbf0aed710015a1e27863ecb8ccbba71ff6f6c57e1789e54c3c7c1940507db86ff2d8eea4d323a9ca7fbc40eaa6eaa7b0ec922ff69ffad64886 SHA512 0f3a87c99fb008088afd509d9259f893fdd44ea6bf6a5e69806fefb8d355415e81b9e8832a392acb9d0c1c50e4add7f1362a4aaadc35e1d9c2e55baf7136aed8 -DIST firefox-115.12.0esr.source.tar.xz 505219784 BLAKE2B 6d2cc80daca9977f73ea0c0fe7e7cac999f2d7a99c324332d69d9438a6d954fe72ffb35e4df4c2a86abcdc94231c4847bb3e64dd612240f8a6d86e63abdb1be2 SHA512 d98475061d870e0f3aa920b7c0b9b0c1cbdb3f4102f760f1d1c5ea3e45e216c673c8d3662501e7e78af4950a003a519e94b57e9b1eda8d615c159cdf62130e89 -DIST firefox-115.9.1esr.source.tar.xz 508070816 BLAKE2B 5182972f45edfb9ec6b23cc2e869fe86237bd51bd23fd31058d03d9dc98f0ea2dcf57215d61d724e08f98d0e0771b86b5e5ce78ed03c3ac08fac60ed4377f890 SHA512 9ccaede2fcda13a07f98a2110bb8f99c7324601d66bff311f3070a669576a1598fe1d7de2d005d725d1f44dbe3934a9c0fd0b7950f60686047d4ce8d9d812310 -DIST firefox-115esr-patches-09.tar.xz 16660 BLAKE2B 1dcdf62f35013b82dd70bf00c0505394b9277affcd1b1cbde92421778f4fcc146f536a546c2db8d6a70f92d40e4b1c96927fedec54383e6bb80bd9806d9b4461 SHA512 e003d0a2a5304dcdd0851b57ceb11993333326c8221d5d99555cd0c64090d5eda1bdb2a2a52e605f6094a3214ffa2238e43d57ff64eb7d424ff54b8125c16f5c +DIST firefox-115.13.0esr.source.tar.xz 510571488 BLAKE2B e2b00965a92cd11da6c81daa8b6c652dfccc9f0f7d066bc17ae5fa3ac3aaaa021c4489a9f653127f5516e3d77cd7174de328343e22c4edab438e3fcb9a859178 SHA512 799cdf2d0494003a5addd0da703f53deb9c9d6bb6f6c95d40026363382803e2d086039c7798940a1f35f4cba111f2e8e21bde8ac2eac29fd9bd6876dd8d3a85f +DIST firefox-115.14.0esr.source.tar.xz 507310580 BLAKE2B ffca6b7dce6ae6a470c9d5506b4236077b2151732bff811aa0bf0367be80aec5ea4918ee5dcd611b0e19a025156def3e9524a4f5d741343e9fda5a2e693e15fa SHA512 dd40c1fd3cf454dbf33a85d38e47bb0e736ed89b829643653e239f43232441f4e9f3c7876f058ff2e6f19daf2b50a8f2d13274e9a107d8a258a6067d1fc43f54 DIST firefox-115esr-patches-10.tar.xz 17256 BLAKE2B 0f6265d6e12f55e9b5128f2f261ba3785b80563e049d2441fde09dedf419c6086c9d994d2b44d1aab35af64cde375bdc254206da9ef148fc20fa90da0417606d SHA512 a1f0012420593a1c1b38dba1785ee9092e0923f56458c38f003cca4ebaac30a73fe3d1f5806a5795c76b2b8d729f8184372e63681daa450c3bb8e5afbe9e2e4f +DIST firefox-115esr-patches-13.tar.xz 51360 BLAKE2B a048bfadba989ebbd4c6e3df97d303d6853844e66ed92f5f5f322acf18866218b91d52dbbece63827de283eef855c932d67e329c8d93200aa83f11268a5d1b2f SHA512 186ec72323e621362dcef1bc67c476716aff97dfad701faa9220a7302e798d3cb4ed90d5ea59e3e92f016be29875bb5219787635db99a8848b7c76e4e2e09e90 DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185 DIST spidermonkey-115-patches-01.tar.xz 3992 BLAKE2B e97d0cb3edfb885119226f54f22485ed4e8220cd904d3356b87ccc013403f976a042171cf9ca7250bcf3fe3d90996dd80b4104e7d614f95d7bcfcb0e710a8a78 SHA512 cece96f172a09dd0e29f7c2fdbf650cde405b276bc4083956365289f1da4b1d078ccbde760da6553888ddb3c53cf9aded52051db556a2c4ec492fed01dcb03a1 EBUILD spidermonkey-102.15.0.ebuild 15624 BLAKE2B a10e3fb8fcbc0f0016778a3c5bb1caea09b05eef2d059f5bb920158b45e9f15ab1e9bd9da90300457e68a147b334a49a86bd1dd07f036feedfa69d17491e63a5 SHA512 c71d02f78d2196e9afa44e3481fa9f6ef8324799b4a4a460eab531ca3d51e09a1b43a15bd2efbac5d11d03bb410babe6400236220684641c97aaa030ee970fdf -EBUILD spidermonkey-115.10.0.ebuild 13656 BLAKE2B fe1ae11304f93a2fa425ac207c7a6289fbe3ca9dc48def2a3e8d6bc88319ca1a49412f3e8062370fa9f5b0b18ef89f31d20ce91c61d43e4f4e26447809afc4c0 SHA512 d9ce326d7049f8ae6fb6d3d5a40cf1d52c2e49ded65e91e37f79cb57de4701d4ec962590360175e9d144b3e9d4942db4cb0b3cfaf65c8f6136c90f5d0e190dee -EBUILD spidermonkey-115.11.0.ebuild 13677 BLAKE2B a7b427b5f698c10bb87ea9554271066094b617e8e584b794ace4de55b3f92fa8f4433f89b44ea651e8d46e21ff07dd39a61b445bc083057cf221622bfaf61149 SHA512 29e048e3c4a27a53ace468f1488dbec63878aea8de9cbef743e795bba9dd27d74f9c6182d5134e7847ccb3ad369fb6e851d1eecd541c546b0ad553464a3bebb9 -EBUILD spidermonkey-115.12.0.ebuild 13677 BLAKE2B a7b427b5f698c10bb87ea9554271066094b617e8e584b794ace4de55b3f92fa8f4433f89b44ea651e8d46e21ff07dd39a61b445bc083057cf221622bfaf61149 SHA512 29e048e3c4a27a53ace468f1488dbec63878aea8de9cbef743e795bba9dd27d74f9c6182d5134e7847ccb3ad369fb6e851d1eecd541c546b0ad553464a3bebb9 -EBUILD spidermonkey-115.9.1.ebuild 12934 BLAKE2B d0be2703825b566522d31850e60320c2f250de4683983bfa1474aeef053282321d83b26007fc36ea6429c48f5a528cb47a81627cdbff23754d61275a38776063 SHA512 aaba4bdafce7062a2b8a8b66c0488c4a6b4da519b1ea91b236fde3e7fe1c352205729331e71aae022083cc9dae2dd8b62e23e5dd35e452e3f919e6469b94f5e0 +EBUILD spidermonkey-115.13.0.ebuild 13974 BLAKE2B 40e43ac67750de9928dd01e5cd5396a7e8a90a4ed284ac76fb4693351167a97ba48c6b717951fd7d8d82d4f1482d4b897e7c81d7b0026bb3a0ac821ba1bb2f2b SHA512 e828e1fad89c36a131a9f94cf738f547b93a69e4251e442209761409c9c3e4b71d075e56544584e629c1ec4289e566f783eccfd1cb8a1e07b516a7b40ea10951 +EBUILD spidermonkey-115.14.0.ebuild 13979 BLAKE2B 96de21ebef7cf36ef49af9e783d477b9571aafa74ce97cd5da3c8c3aa18b41247867ecc991d63be71fb6f7113d804a3ee2fb69502d9d44a75404fc6d7f973176 SHA512 3558492dd944c0dd048c58b1c28b86422b49dc91ba15f57de676656b59add08e6ddb7b17827497c18f9bede9fbdaf94ce86c7f13a4928b41839abb88095938c1 MISC metadata.xml 513 BLAKE2B 58ffd474492f03c16bda95e48511fb6281e03067d2ad77e994f8117345ecece5da9591dccedafe75b037d98e06851a3759caa4b993adc2910dbb76e1c01a7fa3 SHA512 1ee02bff37e2dabbd72b7f719463b12299270c7960b4cf5a92afab17c954c50e6acb826d4a91db4954fb4a7b0f8669988f2cdb5be991df90e3a605c6b35fdbfb diff --git a/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt index 9d21ef6dc615..0788f0f2b12d 100644 --- a/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt +++ b/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt @@ -12,6 +12,7 @@ non262/Intl/DisplayNames/language-dialect.js non262/Intl/ListFormat/conjunction-type.js non262/Intl/Locale/likely-subtags-generated.js non262/Intl/Locale/likely-subtags.js +non262/Intl/NumberFormat/currency-narrow-symbol.js non262/Intl/available-locales-resolved.js non262/Intl/available-locales-supported.js non262/Intl/supportedValuesOf-timeZones-canonical.js diff --git a/dev-lang/spidermonkey/spidermonkey-115.10.0.ebuild b/dev-lang/spidermonkey/spidermonkey-115.10.0.ebuild deleted file mode 100644 index 1bebf4fa8cbc..000000000000 --- a/dev-lang/spidermonkey/spidermonkey-115.10.0.ebuild +++ /dev/null @@ -1,504 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -# Patch version -FIREFOX_PATCHSET="firefox-115esr-patches-10.tar.xz" -SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-01.tar.xz" - -LLVM_MAX_SLOT=18 - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,ssl,xml(+)" - -WANT_AUTOCONF="2.1" - -inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs - -MY_PN="mozjs" -MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases - -MY_MAJOR=$(ver_cut 1) - -MOZ_ESR=yes - -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" -fi - -MOZ_PN="firefox" -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}" - -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} - https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} -) - -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" - -DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" -HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html " - -KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86" - -SLOT="$(ver_cut 1)" -LICENSE="MPL-2.0" -IUSE="clang cpu_flags_arm_neon debug +jit lto test" - -#RESTRICT="test" -RESTRICT="!test? ( test )" - -BDEPEND="${PYTHON_DEPS} - virtual/pkgconfig - || ( - ( - sys-devel/llvm:18 - clang? ( - sys-devel/lld:18 - sys-devel/clang:18 - <virtual/rust-1.78:0/llvm-18 - ) - ) - ( - sys-devel/llvm:17 - clang? ( - sys-devel/lld:17 - sys-devel/clang:17 - virtual/rust:0/llvm-17 - ) - ) - ( - sys-devel/llvm:16 - clang? ( - sys-devel/lld:16 - sys-devel/clang:16 - virtual/rust:0/llvm-16 - ) - ) - ( - sys-devel/llvm:15 - clang? ( - sys-devel/lld:15 - sys-devel/clang:15 - virtual/rust:0/llvm-15 - ) - ) - ) - !clang? ( <virtual/rust-1.78 ) - !elibc_glibc? ( - || ( - <dev-lang/rust-1.78 - <dev-lang/rust-bin-1.73 - ) - ) - test? ( - $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') - )" -DEPEND=">=dev-libs/icu-73.1:= - dev-libs/nspr - sys-libs/readline:0= - sys-libs/zlib" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/firefox-${MY_PV}/js/src" - -llvm_check_deps() { - if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then - einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang ; then - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if ! tc-ld-is-mold ; then - if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then - einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -python_check_deps() { - if use test ; then - python_has_version "dev-python/six[${PYTHON_USEDEP}]" - fi -} - -# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily -# placed here until toolchain-funcs.eclass gets an official support for mold linker. -# Please see: -# https://github.com/gentoo/gentoo/pull/28366 || -# https://github.com/gentoo/gentoo/pull/28355 -tc-ld-is-mold() { - local out - - # Ensure ld output is in English. - local -x LC_ALL=C - - # First check the linker directly. - out=$($(tc-getLD "$@") --version 2>&1) - if [[ ${out} == *"mold"* ]] ; then - return 0 - fi - - # Then see if they're selecting mold via compiler flags. - # Note: We're assuming they're using LDFLAGS to hold the - # options and not CFLAGS/CXXFLAGS. - local base="${T}/test-tc-linker" - cat <<-EOF > "${base}.c" - int main() { return 0; } - EOF - out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) - rm -f "${base}"* - if [[ ${out} == *"mold"* ]] ; then - return 0 - fi - - # No mold here! - return 1 -} - -pkg_pretend() { - if use test ; then - CHECKREQS_DISK_BUILD="4000M" - else - CHECKREQS_DISK_BUILD="3600M" - fi - - check-reqs_pkg_pretend -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use test ; then - CHECKREQS_DISK_BUILD="4000M" - else - CHECKREQS_DISK_BUILD="3600M" - fi - - check-reqs_pkg_setup - - llvm_pkg_setup - - if use clang && use lto && tc-ld-is-lld ; then - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" - - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" - - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" - eerror " - Build ${CATEGORY}/${PN} without USE=lto" - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " - eerror " llvm/clang/lld/rust chain depending on your @world updates)" - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" - fi - fi - - python-any-r1_pkg_setup - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - 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 - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi -} - -src_prepare() { - pushd ../.. &>/dev/null || die - - use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch - - if ! use ppc64; then - rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die - fi - - # Workaround for bgo #915651,915651,929013 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die - fi - - eapply "${WORKDIR}"/firefox-patches - eapply "${WORKDIR}"/spidermonkey-patches - - default - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Workaround for bgo #915651,915651,929013 on musl - 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" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - fi - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - python/mozbuild/mozbuild/configure/check_debug_ranges.py \ - || die "sed failed to set toolchain prefix" - - # use prefix shell in wrapper linker scripts, bug #789660 - hprefixify "${S}"/../../build/cargo-{,host-}linker - - einfo "Removing pre-built binaries ..." - find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - MOZJS_BUILDDIR="${WORKDIR}/build" - mkdir "${MOZJS_BUILDDIR}" || die - - popd &>/dev/null || die -} - -src_configure() { - # Show flags set at the beginning - einfo "Current CFLAGS: ${CFLAGS}" - einfo "Current CXXFLAGS: ${CXXFLAGS}" - einfo "Current LDFLAGS: ${LDFLAGS}" - einfo "Current RUSTFLAGS: ${RUSTFLAGS}" - - 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" - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG - - cd "${MOZJS_BUILDDIR}" || die - - # ../python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - local -a myeconfargs=( - --host="${CBUILD:-${CHOST}}" - --target="${CHOST}" - - --disable-ctype - --disable-jemalloc - --disable-smoosh - --disable-strip - - --enable-project=js - --enable-readline - --enable-release - --enable-shared-js - - --with-intl-api - --with-system-icu - --with-system-nspr - --with-system-zlib - --with-toolchain-prefix="${CHOST}-" - - $(use_enable debug) - $(use_enable jit) - $(use_enable test tests) - ) - - if use debug; then - myeconfargs+=( --disable-optimize ) - myeconfargs+=( --enable-debug-symbols ) - myeconfargs+=( --enable-real-time-tracing ) - else - myeconfargs+=( --enable-optimize ) - myeconfargs+=( --disable-debug-symbols ) - myeconfargs+=( --disable-real-time-tracing ) - fi - - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then - myeconfargs+=( --enable-rust-simd ) - fi - - # Modifications to better support ARM, bug 717344 - if use cpu_flags_arm_neon ; then - myeconfargs+=( --with-fpu=neon ) - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - myeconfargs+=( --with-thumb=yes ) - myeconfargs+=( --with-thumb-interwork=no ) - fi - fi - - # Tell build system that we want to use LTO - if use lto ; then - if use clang ; then - if tc-ld-is-mold ; then - myeconfargs+=( --enable-linker=mold ) - else - myeconfargs+=( --enable-linker=lld ) - fi - myeconfargs+=( --enable-lto=cross ) - - else - myeconfargs+=( --enable-linker=bfd ) - myeconfargs+=( --enable-lto=full ) - fi - fi - - # LTO flag was handled via configure - filter-lto - - # Use system's Python environment - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - # Show flags we will use - einfo "Build CFLAGS: ${CFLAGS}" - einfo "Build CXXFLAGS: ${CXXFLAGS}" - einfo "Build LDFLAGS: ${LDFLAGS}" - einfo "Build RUSTFLAGS: ${RUSTFLAGS}" - - # Forcing system-icu allows us to skip patching bundled ICU for PPC - # and other minor arches - ECONF_SOURCE="${S}" \ - econf \ - ${myeconfargs[@]} \ - XARGS="${EPREFIX}/usr/bin/xargs" -} - -src_compile() { - cd "${MOZJS_BUILDDIR}" || die - default -} - -src_test() { - if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then - einfo "Smoke-test successful, continuing with full test suite" - else - die "Smoke-test failed: did interpreter initialization fail?" - fi - - cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die - - if use x86 ; then - echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list - echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list - echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list - echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list - fi - - ${EPYTHON} \ - "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ - --exclude-file="${T}"/known_failures.list \ - "${MOZJS_BUILDDIR}"/js/src/js \ - || die - - if use jit ; then - ${EPYTHON} \ - "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ - --exclude-file="${T}"/known_failures.list \ - "${MOZJS_BUILDDIR}"/js/src/js basic \ - || die - fi -} - -src_install() { - cd "${MOZJS_BUILDDIR}" || die - default - - # fix soname links - pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die - mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die - ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die - ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die - popd &>/dev/null || die - - # remove unneeded files - rm \ - "${ED}"/usr/bin/js${MY_MAJOR}-config \ - "${ED}"/usr/$(get_libdir)/libjs_static.ajs \ - || die - - # fix permissions - chmod -x \ - "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ - "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \ - || die -} diff --git a/dev-lang/spidermonkey/spidermonkey-115.12.0.ebuild b/dev-lang/spidermonkey/spidermonkey-115.13.0.ebuild index 30f367f6a1f9..1e0f42523866 100644 --- a/dev-lang/spidermonkey/spidermonkey-115.12.0.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-115.13.0.ebuild @@ -61,7 +61,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES} DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html " -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86" SLOT="$(ver_cut 1)" LICENSE="MPL-2.0" @@ -456,6 +456,12 @@ src_test() { cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die + if use sparc ; then + echo "non262/Array/regress-157652.js" >> "${T}"/known_failures.list + echo "non262/regress/regress-422348.js" >> "${T}"/known_failures.list + echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list + fi + if use x86 ; then echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list diff --git a/dev-lang/spidermonkey/spidermonkey-115.11.0.ebuild b/dev-lang/spidermonkey/spidermonkey-115.14.0.ebuild index 30f367f6a1f9..2bdbe0e3afc7 100644 --- a/dev-lang/spidermonkey/spidermonkey-115.11.0.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-115.14.0.ebuild @@ -4,7 +4,7 @@ EAPI="8" # Patch version -FIREFOX_PATCHSET="firefox-115esr-patches-10.tar.xz" +FIREFOX_PATCHSET="firefox-115esr-patches-13.tar.xz" SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-01.tar.xz" LLVM_MAX_SLOT=18 @@ -456,6 +456,12 @@ src_test() { cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die + if use sparc ; then + echo "non262/Array/regress-157652.js" >> "${T}"/known_failures.list + echo "non262/regress/regress-422348.js" >> "${T}"/known_failures.list + echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list + fi + if use x86 ; then echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list diff --git a/dev-lang/spidermonkey/spidermonkey-115.9.1.ebuild b/dev-lang/spidermonkey/spidermonkey-115.9.1.ebuild deleted file mode 100644 index 3370f0954753..000000000000 --- a/dev-lang/spidermonkey/spidermonkey-115.9.1.ebuild +++ /dev/null @@ -1,474 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -# Patch version -FIREFOX_PATCHSET="firefox-115esr-patches-09.tar.xz" -SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-01.tar.xz" - -LLVM_MAX_SLOT=17 - -PYTHON_COMPAT=( python3_{10..11} ) -PYTHON_REQ_USE="ncurses,ssl,xml(+)" - -WANT_AUTOCONF="2.1" - -inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs - -MY_PN="mozjs" -MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases - -MY_MAJOR=$(ver_cut 1) - -MOZ_ESR=yes - -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" -fi - -MOZ_PN="firefox" -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}" - -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} - https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} -) - -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" - -DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" -HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html " - -KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86" - -SLOT="$(ver_cut 1)" -LICENSE="MPL-2.0" -IUSE="clang cpu_flags_arm_neon debug +jit lto test" - -#RESTRICT="test" -RESTRICT="!test? ( test )" - -BDEPEND="${PYTHON_DEPS} - || ( - ( - sys-devel/llvm:17 - clang? ( - sys-devel/lld:17 - sys-devel/clang:17 - virtual/rust:0/llvm-17 - ) - ) - ( - sys-devel/llvm:16 - clang? ( - sys-devel/lld:16 - sys-devel/clang:16 - virtual/rust:0/llvm-16 - ) - ) - ( - sys-devel/llvm:15 - clang? ( - sys-devel/lld:15 - sys-devel/clang:15 - virtual/rust:0/llvm-15 - ) - ) - ) - !clang? ( virtual/rust ) - virtual/pkgconfig - test? ( - $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') - )" -DEPEND=">=dev-libs/icu-73.1:= - dev-libs/nspr - sys-libs/readline:0= - sys-libs/zlib" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/firefox-${MY_PV}/js/src" - -llvm_check_deps() { - if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then - einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang ; then - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if ! tc-ld-is-mold ; then - if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then - einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -python_check_deps() { - if use test ; then - python_has_version "dev-python/six[${PYTHON_USEDEP}]" - fi -} - -# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily -# placed here until toolchain-funcs.eclass gets an official support for mold linker. -# Please see: -# https://github.com/gentoo/gentoo/pull/28366 || -# https://github.com/gentoo/gentoo/pull/28355 -tc-ld-is-mold() { - local out - - # Ensure ld output is in English. - local -x LC_ALL=C - - # First check the linker directly. - out=$($(tc-getLD "$@") --version 2>&1) - if [[ ${out} == *"mold"* ]] ; then - return 0 - fi - - # Then see if they're selecting mold via compiler flags. - # Note: We're assuming they're using LDFLAGS to hold the - # options and not CFLAGS/CXXFLAGS. - local base="${T}/test-tc-linker" - cat <<-EOF > "${base}.c" - int main() { return 0; } - EOF - out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) - rm -f "${base}"* - if [[ ${out} == *"mold"* ]] ; then - return 0 - fi - - # No mold here! - return 1 -} - -pkg_pretend() { - if use test ; then - CHECKREQS_DISK_BUILD="4000M" - else - CHECKREQS_DISK_BUILD="3600M" - fi - - check-reqs_pkg_pretend -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use test ; then - CHECKREQS_DISK_BUILD="4000M" - else - CHECKREQS_DISK_BUILD="3600M" - fi - - check-reqs_pkg_setup - - llvm_pkg_setup - - if use clang && use lto && tc-ld-is-lld ; then - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" - - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" - - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" - eerror " - Build ${CATEGORY}/${PN} without USE=lto" - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " - eerror " llvm/clang/lld/rust chain depending on your @world updates)" - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" - fi - fi - - python-any-r1_pkg_setup - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - 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 - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi -} - -src_prepare() { - pushd ../.. &>/dev/null || die - - use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch - - if ! use ppc64; then - rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die - fi - - eapply "${WORKDIR}"/firefox-patches - eapply "${WORKDIR}"/spidermonkey-patches - - default - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - python/mozbuild/mozbuild/configure/check_debug_ranges.py \ - || die "sed failed to set toolchain prefix" - - # use prefix shell in wrapper linker scripts, bug #789660 - hprefixify "${S}"/../../build/cargo-{,host-}linker - - einfo "Removing pre-built binaries ..." - find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - MOZJS_BUILDDIR="${WORKDIR}/build" - mkdir "${MOZJS_BUILDDIR}" || die - - popd &>/dev/null || die -} - -src_configure() { - # Show flags set at the beginning - einfo "Current CFLAGS: ${CFLAGS}" - einfo "Current CXXFLAGS: ${CXXFLAGS}" - einfo "Current LDFLAGS: ${LDFLAGS}" - einfo "Current RUSTFLAGS: ${RUSTFLAGS}" - - 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" - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG - - cd "${MOZJS_BUILDDIR}" || die - - # ../python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - local -a myeconfargs=( - --host="${CBUILD:-${CHOST}}" - --target="${CHOST}" - - --disable-ctype - --disable-jemalloc - --disable-smoosh - --disable-strip - - --enable-project=js - --enable-readline - --enable-release - --enable-shared-js - - --with-intl-api - --with-system-icu - --with-system-nspr - --with-system-zlib - --with-toolchain-prefix="${CHOST}-" - - $(use_enable debug) - $(use_enable jit) - $(use_enable test tests) - ) - - if use debug; then - myeconfargs+=( --disable-optimize ) - myeconfargs+=( --enable-debug-symbols ) - myeconfargs+=( --enable-real-time-tracing ) - else - myeconfargs+=( --enable-optimize ) - myeconfargs+=( --disable-debug-symbols ) - myeconfargs+=( --disable-real-time-tracing ) - fi - - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then - myeconfargs+=( --enable-rust-simd ) - fi - - # Modifications to better support ARM, bug 717344 - if use cpu_flags_arm_neon ; then - myeconfargs+=( --with-fpu=neon ) - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - myeconfargs+=( --with-thumb=yes ) - myeconfargs+=( --with-thumb-interwork=no ) - fi - fi - - # Tell build system that we want to use LTO - if use lto ; then - if use clang ; then - if tc-ld-is-mold ; then - myeconfargs+=( --enable-linker=mold ) - else - myeconfargs+=( --enable-linker=lld ) - fi - myeconfargs+=( --enable-lto=cross ) - - else - myeconfargs+=( --enable-linker=bfd ) - myeconfargs+=( --enable-lto=full ) - fi - fi - - # LTO flag was handled via configure - filter-lto - - # Use system's Python environment - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - # Show flags we will use - einfo "Build CFLAGS: ${CFLAGS}" - einfo "Build CXXFLAGS: ${CXXFLAGS}" - einfo "Build LDFLAGS: ${LDFLAGS}" - einfo "Build RUSTFLAGS: ${RUSTFLAGS}" - - # Forcing system-icu allows us to skip patching bundled ICU for PPC - # and other minor arches - ECONF_SOURCE="${S}" \ - econf \ - ${myeconfargs[@]} \ - XARGS="${EPREFIX}/usr/bin/xargs" -} - -src_compile() { - cd "${MOZJS_BUILDDIR}" || die - default -} - -src_test() { - if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then - einfo "Smoke-test successful, continuing with full test suite" - else - die "Smoke-test failed: did interpreter initialization fail?" - fi - - cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die - - if use x86 ; then - echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list - echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list - echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list - echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list - fi - - ${EPYTHON} \ - "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ - --exclude-file="${T}"/known_failures.list \ - "${MOZJS_BUILDDIR}"/js/src/js \ - || die - - if use jit ; then - ${EPYTHON} \ - "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ - --exclude-file="${T}"/known_failures.list \ - "${MOZJS_BUILDDIR}"/js/src/js basic \ - || die - fi -} - -src_install() { - cd "${MOZJS_BUILDDIR}" || die - default - - # fix soname links - pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die - mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die - ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die - ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die - popd &>/dev/null || die - - # remove unneeded files - rm \ - "${ED}"/usr/bin/js${MY_MAJOR}-config \ - "${ED}"/usr/$(get_libdir)/libjs_static.ajs \ - || die - - # fix permissions - chmod -x \ - "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ - "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \ - || die -} diff --git a/dev-lang/swig/Manifest b/dev-lang/swig/Manifest index a9b3391cc2bd..21871d49b215 100644 --- a/dev-lang/swig/Manifest +++ b/dev-lang/swig/Manifest @@ -4,5 +4,5 @@ DIST swig-4.2.0.tar.gz 8339586 BLAKE2B 4f1c3c7d4b1e218b67a2d796d2171df73971036a4 DIST swig-4.2.1.tar.gz 8364050 BLAKE2B 0acffd4794d09f2347d669d1460a794c03f136ab3ddc6623741e182ff52b6bf5f639c736e38540918ebb1abbe36c2ce1957aef8a429f1a716d9c5361175569bf SHA512 019dee5a46d57e1030eef47cd5d007ccaadbdcd4e53cd30d7c795f0118ecf4406a78185534502c81c5f6d7bac0713256e7e19b20b5a2d14e2c552219edbaf5cf EBUILD swig-4.1.1-r1.ebuild 1298 BLAKE2B 03e3e3828912790f6273be6f0e06b1ccd3911f44eefc0abc1a6d1844e4dca1b28cb0f3c8e703c842e08cafb2487cad6a06ffa8dc2a07161536199618d958248c SHA512 02000064eee1f1bf295481441ebbf091a4f27ac854c5bf73bf59843e8f141340dc9665cbf698bbc08d1587687b76ea3725e60fd6df77a0eb5401cdf50346ed02 EBUILD swig-4.2.0.ebuild 1090 BLAKE2B 56318273a9a25551932d3f297b5af2b070729f7d308baa73f6788e51c670bf7d897432d6963a8364b260c88601fef49157753700f8df891a804373a57a4c6753 SHA512 c6924bf477bec9074272c1f46923931f88c19badf7fa39e11be84cf3f626ecb6d873c53a796b052563bfc1e4e4a397fb22f9f281494024f0da41224c321a7a8c -EBUILD swig-4.2.1.ebuild 1243 BLAKE2B 6002d09ac8ec3da3d2850e52b002c7f268bc3cbdc6fa1e98969d7abf2fc55230298a1d8c046ec9bf2d4202203ea6535f20026a4fd286a3cf04f27ff8de3c1903 SHA512 cfa5592c036ca98a4ed4251b7eb6965071ece67fbf55d0b07875ae5289cb8ce503ed713d3ef4e405c110a65297d0e564e27788de232296fa5ce845df6e233b42 +EBUILD swig-4.2.1.ebuild 1242 BLAKE2B 3fc73850140dcf6d366bf2f4f509c0302467f64faeb97ce3b731b0d245024b6c590907230ef7c3b6e089c195eb5fc8282369a8cd1e45f21aeeea8f58c2931cca SHA512 f6d87cbf016ddbc90d6c5e69000c0863eb0da070aef3f35a14136ab20fb63ff548bd8f71bfd66b69acb7e5b86c3387261aa82bec149d92bed3b4595881f4e52a MISC metadata.xml 1019 BLAKE2B 1f6a79945d3bb92bd9b5c06f7b4e96c8c9f8f6e68d5c13890247d2c08adf46409a194e3198fb3df19f699a176fe92bebc1e7ba6eb0944a0db12c5e3271043552 SHA512 5ba26e3670ba852648a243f14efe096e52781418eb4d07cabc1bcf46efcd098d099ecbb3d504862540db796279fd855a581d60dd3b1de2f60e9d542e3ccb9b00 diff --git a/dev-lang/swig/swig-4.2.1.ebuild b/dev-lang/swig/swig-4.2.1.ebuild index ed5d71163619..17b5701ff362 100644 --- a/dev-lang/swig/swig-4.2.1.ebuild +++ b/dev-lang/swig/swig-4.2.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" LICENSE="GPL-3+ BSD BSD-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="ccache doc pcre test" RESTRICT="!test? ( test )" diff --git a/dev-lang/tuprolog/Manifest b/dev-lang/tuprolog/Manifest index 25109f911f4d..593278e60ce7 100644 --- a/dev-lang/tuprolog/Manifest +++ b/dev-lang/tuprolog/Manifest @@ -1,6 +1,4 @@ -AUX build-3.x.xml 2968 BLAKE2B e403d134a62504c396842f2fad71cf2aec1786c5d7902d7d08398894eb0dfe709617ae137b2249cf81d5c82f14707364b072990b1cc695b9deb49f6cffb96377 SHA512 4e65ba93141f8c47b2be9f534b05be3c4fa33428df73a23148b8f0f675f617071ad6c14c8aaa1f1ed6de03832f3e26b0b065b2f67834199244fbe55b398f0f20 DIST tuprolog-3.2.0-gentoo-patchset-0.tar.gz 1813 BLAKE2B 4ed7ffbb752a821a2b2842cfdbc1f4ec92d14b35a1c5a722207b45ec9dbdc44588acc010fb6386e8ed2e7d30d3bc8d425f0f74e8cc953cb7afad8305904e1499 SHA512 454757fc01f3f697510426e7a2a41b57350c1e3f980e381e197616e10eaf88339155226096f1d417397b9bc6f4964a45b3d547c6794ad23a4a014b06212b08f0 DIST tuprolog-3.2.0.tar.gz 6242286 BLAKE2B 77a3d3f886673aca72fffd9bb60657efcbe7ea5bb0f84eea7a72df513295d572c8116472f8d544240fac676ac9a6a0fcecfc3166e6426ef7d8af80eac4ba8d85 SHA512 e27bd989d66bae26c646cb69670fb75232ebdd18d1dbb9d600f9847921ecd56d17221736b3ec15c087857509272ce89af8bc44924130430db3860870a06bb499 -EBUILD tuprolog-3.2.0-r2.ebuild 1400 BLAKE2B f8ea3a222f28a32ff069f832701869b567b3f312649071a5e19d59e59125866acf3d159a107e53e0323c254284da3fbf7f5acecdaadfb276677b9814e3fb1318 SHA512 b1b008e92aeb7f3f3dd12fed5a3d0ba201fa21b41fd69e6db45883909e0df607489ca266fd90dd456172032a47fd9740e26316f1c1c3e3b29c70a422e291a83a -EBUILD tuprolog-3.2.0-r3.ebuild 1779 BLAKE2B da40558dc9582fd63b021b34558300f501e109aa19c4ed3e11e1bdfbbbda17d103fd843fd2a5e2045d1c35a83049d63e708dc47ef5f584bb067f74c7145dff11 SHA512 198758efda408a2455bb9f61574e0d1644a97775546437cbf97973c56d02d7422b7aa9729197dd4b72b8d4b76c7588be80bbbe75864b54f00a263483dcd69002 +EBUILD tuprolog-3.2.0-r3.ebuild 1777 BLAKE2B cf7aab3bd1854faca9f63b8d4536b96deacf9a535f4efbedac7d76319958b4918282e816bbbf9c42f3b4d55ac1a6edf16f4cd9d17c9b43bcf155db1b8520b352 SHA512 861810235e34bce8dc1380e329168af811dfc4a85f23190064acfd615ffff1d98ae84fd1751d2225596a4f02b7c361d98fe4073d3c633c6280a919482db56369 MISC metadata.xml 319 BLAKE2B ca131e483438742de5ab07f1e8c3891664ecf893ef477c917688fab8968cc5a790be3512f70027c86cfa03372d1234da3b737a1d68351c95e8902bd0eff59020 SHA512 5ed1bafbb0e39e5e97b32be26dbcb18f32063f60ed0db7ec99d08cd37d36dea037f257df5e3f63ff0dfa4bb8af2b41615d0f7bb1f937fa1449ef245d652eb5df diff --git a/dev-lang/tuprolog/files/build-3.x.xml b/dev-lang/tuprolog/files/build-3.x.xml deleted file mode 100644 index 3b6f5818eaa6..000000000000 --- a/dev-lang/tuprolog/files/build-3.x.xml +++ /dev/null @@ -1,110 +0,0 @@ -<?xml version="1.0" ?><project default="jar" name="tuprolog"> - - <!-- some properties --> - <property name="src.dir" value="src"/> - <property name="build.dir" value="build"/> - <property name="docs.dir" value="docs"/> - <property name="dist.dir" value="dist"/> - <property name="test.dir" value="test"/> - <property name="test.build.dir" value="test.build"/> - <property name="jarfile" value="${ant.project.name}.jar"/> - <property file="build.properties"/> - - <path id="compile.classpath"> - <fileset dir="lib" includes="*.jar"/> - <pathelement path="${gentoo.classpath}"/> - </path> - - <!-- init --> - <target name="init"> - <tstamp/> - <mkdir dir="${dist.dir}"/> - <mkdir dir="${build.dir}"/> - <mkdir dir="${docs.dir}"/> - <mkdir dir="${test.build.dir}"/> - </target> - - <!-- compile everything --> - <target depends="init" name="compile"> - <javac deprecation="off" - destdir="${build.dir}" - encoding="ISO-8859-1" - srcdir="${src.dir}" - source="1.8" - target="1.8"> - <classpath> - <path refid="compile.classpath"/> - </classpath> - </javac> - <copy todir="${build.dir}"> - <fileset dir="${src.dir}"> - <exclude name="**/*.java"/> - </fileset> - </copy> - </target> - - <!-- build the jar file --> - <target depends="compile" name="jar"> - <jar basedir="${build.dir}" jarfile="${dist.dir}/${jarfile}"/> - <jar basedir="${build.dir}" jarfile="${dist.dir}/2p.jar"> - <manifest> - <attribute name="Main-Class" value="alice.tuprologx.ide.GUILauncher"/> - <attribute name="Class-Path" value="."/> - </manifest> - <zipgroupfileset dir="lib" includes="*.jar"/> - </jar> - </target> - - <!-- generate javadocs --> - <target depends="init" name="javadoc"> - <javadoc - author="false" - destdir="${docs.dir}" - encoding="ISO-8859-1" - breakiterator="yes" - packagenames="alice.*" - sourcepath="${src.dir}" - use="true" - version="true" - verbose="no" - windowtitle="${ant.project.name} API"> - <classpath> - <path refid="compile.classpath"/> - </classpath> - </javadoc> - </target> - - <!-- clean up --> - <target name="clean"> - <delete dir="${build.dir}"/> - <delete dir="${dist.dir}"/> - <delete dir="${docs.dir}"/> - <delete dir="${test.build.dir}"/> - </target> - - <!-- run testsuite --> - <target name="test"> - <path id="dist.classpath"> - <fileset dir="${dist.dir}"> - <include name="*.jar"/> - </fileset> - </path> - <javac classpathref="dist.classpath" - deprecation="off" - destdir="${test.build.dir}" - encoding="ISO-8859-1" - srcdir="${test.dir}/unit" - source="1.8" - target="1.8"/> - <junit fork="yes" failureproperty="test.failed" printsummary="yes"> - <classpath> - <path refid="dist.classpath"/> - <pathelement path="${test.build.dir}"/> - </classpath> - <formatter type="xml"/> - <test name="alice.tuprolog.TuPrologTestSuite" todir="${test.build.dir}"/> - <test name="alice.tuprolog.ExceptionsTestSuite" todir="${test.build.dir}"/> - </junit> - <fail message="Test failure(s) detected" if="test.failed" /> - </target> -</project> diff --git a/dev-lang/tuprolog/tuprolog-3.2.0-r2.ebuild b/dev-lang/tuprolog/tuprolog-3.2.0-r2.ebuild deleted file mode 100644 index 4f1069f34211..000000000000 --- a/dev-lang/tuprolog/tuprolog-3.2.0-r2.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit java-pkg-2 java-ant-2 - -PATCHSET_VER="0" - -DESCRIPTION="tuProlog is a light-weight Prolog for Internet applications and infrastructures" -HOMEPAGE="http://tuprolog.unibo.it/" -SRC_URI="https://dev.gentoo.org/~keri/distfiles/tuprolog/${P}.tar.gz - https://dev.gentoo.org/~keri/distfiles/tuprolog/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" - -LICENSE="LGPL-3 BSD" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="doc examples test" -RESTRICT="!test? ( test )" - -RDEPEND="virtual/jdk:1.8 - dev-java/javassist:3 - dev-java/commons-lang:3.6 - dev-java/gson:0" - -DEPEND="${RDEPEND} - >=dev-java/ant-1.10.14 - test? ( - >=dev-java/ant-1.10.14:0[junit4] - dev-java/junit:4 - dev-java/hamcrest:0 - )" - -S="${WORKDIR}"/${P} - -EANT_GENTOO_CLASSPATH="javassist:3,commons-lang:3.6,gson" - -PATCHES=( "${WORKDIR}/${PV}" ) - -src_prepare() { - default - - cp "${FILESDIR}"/build-3.x.xml "${S}"/build.xml || die -} - -src_compile() { - eant jar $(use_doc) -} - -src_test() { - cd "${S}"/dist - java-pkg_jar-from junit:4 - java-pkg_jar-from hamcrest - cd "${S}" - eant test || die "eant test failed" -} - -src_install() { - java-pkg_dojar dist/${PN}.jar - java-pkg_dojar dist/2p.jar - - if use doc ; then - java-pkg_dohtml -r docs/* || die - dodoc doc/tuprolog-guide.pdf - fi - - if use examples ; then - docinto examples - dodoc doc/examples/*.pl - fi -} diff --git a/dev-lang/tuprolog/tuprolog-3.2.0-r3.ebuild b/dev-lang/tuprolog/tuprolog-3.2.0-r3.ebuild index 5a6aa37f8183..c82e3ddcf3ed 100644 --- a/dev-lang/tuprolog/tuprolog-3.2.0-r3.ebuild +++ b/dev-lang/tuprolog/tuprolog-3.2.0-r3.ebuild @@ -18,7 +18,7 @@ S="${WORKDIR}"/${P} LICENSE="LGPL-3 BSD" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" CP_DEPEND=" dev-java/commons-lang:3.6 diff --git a/dev-lang/typescript/Manifest b/dev-lang/typescript/Manifest index df7c53b63f5b..15139e0feca0 100644 --- a/dev-lang/typescript/Manifest +++ b/dev-lang/typescript/Manifest @@ -1,7 +1,9 @@ DIST typescript-5.4.5.tgz 5825770 BLAKE2B aea24c0924b2a0b0d01face2ce6be4e7fac85c2205cb0ecde492c5301f83d55fd8cd501326bd47f90cd78abf48c7aaf0381b13fc8242f3d2f9235e6051860b2b SHA512 bdc23852946083cd68211505c11d164881cab75d6727b48056560d22ef90a6a7b25cffa0a50272fd9e3e174686c5213832ac23c97bd6fd3ce090b031d80187c1 DIST typescript-5.5.2.tgz 4040998 BLAKE2B 3b1b8ea1c124c24b327111a69eaeaf470364090f3a613c5ead225d9a5502ad2473ea156d203ee73cae9a8ff470d21ddc5e729935a72560c2ffad18edff4b754d SHA512 35c46d3c43ac3c51568e86c912d7e28642c26425d9b7fa2cdf37fc9d3c63547dd1bd34b18eb09a989a5b1311af60e17eb451dcde903ae6aa5dc0f6f38e88617b DIST typescript-5.5.3.tgz 4041052 BLAKE2B e30ca285fdedfefc8ebac28310dc4d4834efefc9c25d36ca5be43c0ed81e91698b879565c47651402a90b16ba4d30895d00bcee5a752ad538b4d9f2e2327ad49 SHA512 fe1adec84ba3681d30efaccaa3aef5ee5dcbd28fea114b5181dbd406f96486859e39532332e1cd1e4d01441ce2933b860ea3663d06e0e627cc12ab072e221471 +DIST typescript-5.5.4.tgz 4043150 BLAKE2B 6171a4bafcb7d9dff4cd603846980bcfa599c4ee13d585760af572dc410a584f729485bc2aaf5cb5e3721d37b7cf8d4f54eaf9abda86eba04bf54b50ac80db9c SHA512 32dab6f6c28300460feda963460b4f3a94ef39f6f0456952e9d3d1cf08dd13e0b44786eb5ff194ca11d279c6c73052cd04b70920fb7d9e5f721b94d9d70787f9 EBUILD typescript-5.4.5.ebuild 823 BLAKE2B 2d94c5a6377082a5959ff1baff5261c4b705952d6ab950d56be7888ea5ed5039ae63a14ff6a6f05da7eee6308a94a3a4ba94e95edfdc25001700a7fb6e05d0ec SHA512 c736aff6f5bb51960e559f522a2c4b4143cd861fb9bce72eda67003efc0f28bf9e9febcb263b40ee6e29473d311f5d45f827e6327f00f4197c94ecc50c6a292a EBUILD typescript-5.5.2.ebuild 835 BLAKE2B f249d34a3332cc3134c6ec8e17c6aefcb7283cc336422e22609450dcd3483b5f056e2bc428c56e16432214fbf7b9d121dd2320a5608593082495743ba5aba961 SHA512 997e629a64d5969fdccd0a1f6c28007b566c37a5bdfda5fa51e45235ec3ed32b540f6596e54da1329e93ec4214fa18cb904ebe048839f29f97d50ab9f2747b1f -EBUILD typescript-5.5.3.ebuild 835 BLAKE2B f249d34a3332cc3134c6ec8e17c6aefcb7283cc336422e22609450dcd3483b5f056e2bc428c56e16432214fbf7b9d121dd2320a5608593082495743ba5aba961 SHA512 997e629a64d5969fdccd0a1f6c28007b566c37a5bdfda5fa51e45235ec3ed32b540f6596e54da1329e93ec4214fa18cb904ebe048839f29f97d50ab9f2747b1f +EBUILD typescript-5.5.3.ebuild 834 BLAKE2B 13bf8179a7547e7ff3fd95dfca44a4c489abea30d9e434ef9014b4e86d46c0c137bd835c5cd52997397fa062d249fbd59a2a6068c36050180cbff3abcf5faeb0 SHA512 da16160de58078dcf3f16a5a5916a5dc8ce338dbe6c910adf1375acb9bca3ef4937d3acb6787d47ef4070708dce4f221ad34be37b839bcc33945d6ae9ee1fbe1 +EBUILD typescript-5.5.4.ebuild 835 BLAKE2B f249d34a3332cc3134c6ec8e17c6aefcb7283cc336422e22609450dcd3483b5f056e2bc428c56e16432214fbf7b9d121dd2320a5608593082495743ba5aba961 SHA512 997e629a64d5969fdccd0a1f6c28007b566c37a5bdfda5fa51e45235ec3ed32b540f6596e54da1329e93ec4214fa18cb904ebe048839f29f97d50ab9f2747b1f MISC metadata.xml 733 BLAKE2B 903d85acefa054dd979ac181106cd604c351e4b81e18be7ad0f370501864f6789895244a797ec20041158d8c716907a06fa75c2ba4ea192e798719bbe73b1d45 SHA512 95806f8f442b0246867f0ba0ed70c093dfd772a558ae499be7e22bfe99cb3bc54debc7479ca9b4ac81a54156d3b8745cbb448e412f31ed2d5c43f76cbc642d72 diff --git a/dev-lang/typescript/typescript-5.5.3.ebuild b/dev-lang/typescript/typescript-5.5.3.ebuild index 242c85963aec..ebdd7db72e65 100644 --- a/dev-lang/typescript/typescript-5.5.3.ebuild +++ b/dev-lang/typescript/typescript-5.5.3.ebuild @@ -11,7 +11,7 @@ S="${WORKDIR}/package" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64" +KEYWORDS="amd64 ~arm64 ~ppc64" RDEPEND=" net-libs/nodejs diff --git a/dev-lang/typescript/typescript-5.5.4.ebuild b/dev-lang/typescript/typescript-5.5.4.ebuild new file mode 100644 index 000000000000..242c85963aec --- /dev/null +++ b/dev-lang/typescript/typescript-5.5.4.ebuild @@ -0,0 +1,43 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Superset of JavaScript with optional static typing, classes and interfaces" +HOMEPAGE="https://www.typescriptlang.org/ + https://github.com/microsoft/TypeScript/" +SRC_URI="https://registry.npmjs.org/${PN}/-/${P}.tgz" +S="${WORKDIR}/package" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" + +RDEPEND=" + net-libs/nodejs +" +BDEPEND=" + >=net-libs/nodejs-16[npm] +" + +src_compile() { + # Skip, nothing to compile here. + : +} + +src_install() { + local -a myopts=( + --audit false + --color false + --foreground-scripts + --global + --offline + --omit dev + --prefix "${ED}/usr" + --progress false + --verbose + ) + npm "${myopts[@]}" install "${DISTDIR}/${P}.tgz" || die "npm install failed" + + dodoc *.md *.txt +} diff --git a/dev-lang/uasm/Manifest b/dev-lang/uasm/Manifest index bf75a57aee93..2fcd551c32ad 100644 --- a/dev-lang/uasm/Manifest +++ b/dev-lang/uasm/Manifest @@ -1,5 +1,5 @@ AUX build-fix.patch 4867 BLAKE2B 5f2058888b7014bae9fa014307aabcf07d6e802e215c996cc21e6575ae6b557b2a42f381b41b9f64abdaeab29caee9a3dc61b378b183f095b668da9e43010d39 SHA512 e5e22c4f0582a34f2528227cc757507b9348f641da73798f4d6488714edd83686242d4469b35ab706894a11c7765b392a518150106007b32bb4cffdb05cd1b22 AUX makefile-dep-fix.patch 543 BLAKE2B 3cc4a42448983442d1d39743d3757f8f3df80b0507036dce4204c43a199bc11d510ce165adbaa16c6e381813fbf4096dff4121456fcb653acf46a177f605ed86 SHA512 2f885cda5c583e1e5458c3da9f0c2c6755681f8e182d01ae575fb54f1ee37fa73edd768b78c9e013a4e051aed6b1cfc3f944ef34732c85de18075d4febd81931 DIST uasm-2.56.2.tar.gz 1243830 BLAKE2B dcc0948d92cdd5972a6698e721a6ccc6a54926ef94778438cf9a88a6e41ebc652d5230003f689d4278bd1e48959dd04595c602427287a48c551d7b847be665f0 SHA512 1f6c1037909d012f3293985c4e0516f4b61497de23cac6bbb58db735efb512599c0bba5d60d8ce999e6afc57e44484a094bf10f0ee185a51afd826f5541c9337 -EBUILD uasm-2.56.2.ebuild 942 BLAKE2B f07801b07812f64cc3a2e71a112917044e0aa5d140b3715ce27de4f9ce083437f3a75452abefd55e7428dbd764fdc198ddc6f077ad72aa7bf466f2b32f4ef0c9 SHA512 e922a4b948b9061904319af1df87cac5798931bf232d45ed07d69632eb075e70748781a2a7e0bbbbba556306e96f31285423a2e3e3cbb1327914d1effc647cd4 +EBUILD uasm-2.56.2.ebuild 941 BLAKE2B 18ac91415ba558f88e4d92d4c003c6004576002d6e98bc6839ca73ecc554879d8b8d62943ebfff3431fb3f314e7419093357e710982d3b1f86bb4362fb1adc65 SHA512 5a73e7a1c5ebdcf92f891054d615e49a6fb89c21c10293d7b38b49cc5dfdd24b149cdfd355b02b7f6944a45fd6c55b419caad27e4dad535fde34371310966a24 MISC metadata.xml 521 BLAKE2B c50616e7b6f6df5a3af6d3d0c72dd2d4dc4bbaa87eb525a0ec9af8b46ef913e710c97d3db01cacc42549175e6e8d20bbd557c24b789bf820f210b5c22e087d2f SHA512 213adb4bef7d55ec9369e7c09f83413d8b076d68524abb5cf52338a15ad99da534b97797128d5a5ac6d2460a03cf3c2f070baf27cfdb4cf70358f458141a8fd0 diff --git a/dev-lang/uasm/uasm-2.56.2.ebuild b/dev-lang/uasm/uasm-2.56.2.ebuild index 3d96057ef673..5a0d38620ed2 100644 --- a/dev-lang/uasm/uasm-2.56.2.ebuild +++ b/dev-lang/uasm/uasm-2.56.2.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}/UASM-${PV}" LICENSE="Watcom-1.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" PATCHES=( "${FILESDIR}/build-fix.patch" "${FILESDIR}/makefile-dep-fix.patch" diff --git a/dev-lang/xsb/Manifest b/dev-lang/xsb/Manifest index 74b208b64e84..eb75f247e006 100644 --- a/dev-lang/xsb/Manifest +++ b/dev-lang/xsb/Manifest @@ -1,8 +1,5 @@ AUX 0001-modern-C-fix-for-implicit-int.patch 998 BLAKE2B 4a9212fc68098914ac12593e2007c7444eb6d7b8f9461640ecc50c8c8c30631475c9e0663808df450b168d8156c346807454eb8795b11e43ac7f4abfa08475e0 SHA512 cb857bdd2bd496531c96a30fb2f4b84f894614adcaed7b6b4f809c3e9e256366e06218e0553c7c15af2b718653f2be3d2a45393849392650550c8d61a7b6bf60 DIST XSB-4-0-0.tar.gz 15340635 BLAKE2B 4832185a64c6c5786ae78e111c25cd3a5ffc2f80aec9c0c83f030ead482868c77b0d7abbfdf0d113b56fea395eb7e69ca2970a82ea70004fb78c0bf4de258a9d SHA512 fed1e0db4874db2508e0c1e716be20cbfbc4f7ed4c16e0b220750cfb3dfceb78bbdce0f8564b68c400af1bc2b8f9e3b35014e8849bba1705bddfab824f41e816 -DIST XSB38.tar.gz 13830570 BLAKE2B 60a6ab38435348d09e2d08bc65ca62c06b38495b72f40a6f3f10fe8d23949bfed0c580c9be0c8304d8a88a53b227bb695870b558d67f33a47543de6c1529180f SHA512 457c691450afcf3ed4e2fffc28deaef0949ef4bbf6fd69b504acc6507fbb144f2c6e427a25da2b6346b15b82e803c02d1b6962af698d16c1fcb9a3d56160ea30 -DIST xsb-3.8.0-gentoo-patchset-5.tar.gz 7748 BLAKE2B 291beb7a2bf567708119eb200e06fd0d6ac976b5eaea9646d9b5fe9fe67908e01f48b1e55e36fc98f7fe75ee4b654422bc0f9c565e00ac75fe36cccd0439bc2b SHA512 cd3762545bb0b0c5532607741f5946658cacf062c21913c8261988a2162ab848d860ae5a0d11d7a4b8b36994f7fbc91c6e6b4fa607e8cc6ebed434dbf421dec1 DIST xsb-4.0.0-gentoo-patchset-3.tar.gz 10487 BLAKE2B 37253b8e5bfd36cdf51f231e75215ea31d50f121e3c8b1126adfbc8998622f2a4ebdb976b3c67c13738095fd4b23b35e166a895c4ee038b1cae7ad962684ce86 SHA512 51738e5dd64711f42e5c8d831c955c533dbe900a129cc0e7eb5d393ef13d7b6206e5e9fc0e90b1422adb2d8c00ec870a50164d420a02da23770ba0ad3350b10b -EBUILD xsb-3.8.0.ebuild 3684 BLAKE2B f3cb8e31a72ba410cbd38ca3da137097bca0fa5bce2799d47b848a12c32dbd4918cbdc440df570833ff377b85c565ff8417d7d244a7421989508df4ae2c837a3 SHA512 bec9a89c10256988a9ab42ebd75ee25fab4acf0eb3cf08614e6644e6dee8c49e3d95c77095fcd31fbd017b3c53a337d30efa418a4129570b8d2c2268704d8250 -EBUILD xsb-4.0.0-r1.ebuild 4520 BLAKE2B a85b4ca2f2912984c0eeb173c578fc69698ef01f66399ccc062b23c55998d5bfa57a96eafed35e9913b52e0768bdfe332e49092964edf34742f5762bb90e38c9 SHA512 9f4ad90c5686f5b4c8a91ecad0a0abc3892d0e3ff8981d99e1aeaa594f8c9b3d5038592d6dc1ed15cab082f414f487240feebd61e1db83fbfa9decacc0a52488 +EBUILD xsb-4.0.0-r1.ebuild 4514 BLAKE2B 1fb92d957672821e9a205fbd6d93c6b9e95f87c1f5cc2ff485cd414a1ca1fc590dbcf262db4d66192bbb262f571b0d5fbdfaa8befb5127d6ebead4e40d24100b SHA512 237b9a1ec204c788eb40a4825f96d91c9859e4747235d214bc7de3c8c7fd9d8ff08b8996800425eaec73295ca64a10f6910399172fe398b249095308b155fb7f MISC metadata.xml 407 BLAKE2B bf2a1312d435a5b31fcc0536849ded569d7512ec8e2e7471c253586bc866e7ffb915311725efeef8f2c7d227a82ba615a5fa69380454efb654e719177e35a67e SHA512 87aa031c2a64c878f24be293a3e4cdf391b696a7ef96faa4f209fcfeb56db74f29a1e3de7ad845f84eca86d8b81944ecae6e4ea1119699b72bfcf125735a0c03 diff --git a/dev-lang/xsb/xsb-3.8.0.ebuild b/dev-lang/xsb/xsb-3.8.0.ebuild deleted file mode 100644 index 7ab720531788..000000000000 --- a/dev-lang/xsb/xsb-3.8.0.ebuild +++ /dev/null @@ -1,198 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PATCHSET_VER="5" - -inherit autotools java-pkg-opt-2 - -DESCRIPTION="XSB is a logic programming and deductive database system" -HOMEPAGE="http://xsb.sourceforge.net" -SRC_URI="http://xsb.sourceforge.net/downloads/XSB38.tar.gz - https://dev.gentoo.org/~keri/distfiles/xsb/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" - -LICENSE="GPL-2 LGPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="curl debug iodbc java mysql odbc pcre threads xml" - -RDEPEND="curl? ( net-misc/curl ) - iodbc? ( dev-db/libiodbc ) - java? ( >=virtual/jdk-1.8:* ) - mysql? ( dev-db/mysql-connector-c:0= ) - odbc? ( dev-db/unixODBC ) - pcre? ( dev-libs/libpcre ) - xml? ( dev-libs/libxml2 )" - -DEPEND="${RDEPEND}" - -S="${WORKDIR}"/XSB - -PATCHES=( "${WORKDIR}/${PV}" ) - -src_prepare() { - default - cd "${S}"/build - eautoconf -} - -src_configure() { - cd "${S}"/build - - econf \ - --prefix=/usr/$(get_libdir) \ - --disable-optimization \ - --disable-ccmpl \ - --without-smodels \ - $(use_with odbc) \ - $(use_with iodbc) \ - $(use_enable threads mt) \ - $(use_enable debug) - - if use curl ; then - cd "${S}"/packages/curl - econf - fi - - if use mysql ; then - cd "${S}"/packages/dbdrivers/mysql - econf - fi - - if use odbc ; then - cd "${S}"/packages/dbdrivers/odbc - econf - fi - - if use pcre ; then - cd "${S}"/packages/pcre - econf - fi - - if use xml ; then - cd "${S}"/packages/xpath - econf - fi -} - -src_compile() { - cd "${S}"/build - - default - - # All XSB Packages are compiled using a single Prolog engine. - # Consequently they must all be compiled using a single make job. - - cd "${S}"/packages - rm -f *.xwam - emake -j1 - - if use curl ; then - emake -j1 curl - emake -j1 sgml - if use xml ; then - emake -j1 xpath - fi - fi - - if use mysql ; then - emake -j1 mysql - fi - - if use odbc ; then - emake -j1 odbc - fi - - if use pcre ; then - emake -j1 pcre - fi -} - -src_install() { - cd "${S}"/build - default - - local XSB_INSTALL_DIR=/usr/$(get_libdir)/xsb-${PV} - dosym ${XSB_INSTALL_DIR}/bin/xsb /usr/bin/xsb - - cd "${S}"/packages - local PACKAGES=${XSB_INSTALL_DIR}/packages - insinto ${PACKAGES} - doins *.xwam - - insinto ${PACKAGES}/chr - doins chr/*.xwam - - insinto ${PACKAGES}/clpqr - doins clpqr/*.xwam - - insinto ${PACKAGES}/gap - doins gap/*.xwam - - insinto ${PACKAGES}/justify - doins justify/*.xwam - doins justify/*.H - - insinto ${PACKAGES}/regmatch - doins regmatch/*.xwam - insinto ${PACKAGES}/regmatch/cc - doins regmatch/cc/*.H - - insinto ${PACKAGES}/slx - doins slx/*.xwam - - insinto ${PACKAGES}/wildmatch - doins wildmatch/*.xwam - insinto ${PACKAGES}/wildmatch/cc - doins wildmatch/cc/*.H - - if use curl ; then - insinto ${PACKAGES}/curl - doins curl/*.xwam - insinto ${PACKAGES}/curl/cc - doins curl/cc/*.H - insinto ${PACKAGES}/sgml - doins sgml/*.xwam - insinto ${PACKAGES}/sgml/cc - doins sgml/cc/*.H - insinto ${PACKAGES}/sgml/cc/dtd - doins sgml/cc/dtd/* - if use xml ; then - insinto ${PACKAGES}/xpath - doins xpath/*xwam - insinto ${PACKAGES}/xpath/cc - doins xpath/cc/*.H - fi - fi - - if use mysql || use odbc ; then - insinto ${PACKAGES}/dbdrivers - doins dbdrivers/*.xwam - doins dbdrivers/*.H - insinto ${PACKAGES}/dbdrivers/cc - doins dbdrivers/cc/*.H - if use mysql ; then - insinto ${PACKAGES}/dbdrivers/mysql - doins dbdrivers/mysql/*.xwam - insinto ${PACKAGES}/dbdrivers/mysql/cc - doins dbdrivers/mysql/cc/*.H - fi - if use odbc ; then - insinto ${PACKAGES}/dbdrivers/odbc - doins dbdrivers/odbc/*.xwam - insinto ${PACKAGES}/dbdrivers/odbc/cc - doins dbdrivers/odbc/cc/*.H - fi - fi - - if use pcre ; then - insinto ${PACKAGES}/pcre - doins pcre/*.xwam - insinto ${PACKAGES}/pcre/cc - doins pcre/cc/*.H - fi - - cd "${S}" - dodoc FAQ README -} diff --git a/dev-lang/xsb/xsb-4.0.0-r1.ebuild b/dev-lang/xsb/xsb-4.0.0-r1.ebuild index bf99d5d3efb6..7e053d1e83ff 100644 --- a/dev-lang/xsb/xsb-4.0.0-r1.ebuild +++ b/dev-lang/xsb/xsb-4.0.0-r1.ebuild @@ -14,7 +14,7 @@ SRC_URI="https://downloads.sourceforge.net/xsb/XSB-$(ver_rs 1-3 -).tar.gz LICENSE="GPL-2 LGPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64" IUSE="curl debug iodbc java mariadb mysql odbc pcre threads xml" RDEPEND="curl? ( net-misc/curl ) diff --git a/dev-lang/yap/Manifest b/dev-lang/yap/Manifest index 923a77f4dd44..81aaef097a53 100644 --- a/dev-lang/yap/Manifest +++ b/dev-lang/yap/Manifest @@ -2,6 +2,6 @@ DIST yap-5bebd8e3aae655690ddf33dfb32289766910fa25.tar.gz 17378041 BLAKE2B ff474e DIST yap-7.0.1-gentoo-patchset-0.tar.gz 2390 BLAKE2B 2e7dbfe6dc8ea60c8a7ee056707e87f205076a7413d48b04f2ce1a997ce59b87d98f3f2994f93c6bb1e9933f94a02823cc729a0954739b9c38502a03894b05d8 SHA512 3f4364ab4fd887b8cfde6916257a517e7632585df9e501092ac1abc0f7f3fd7de97770a840d7279b5e89e1930b3dab0569e25636c1fb1acfc11f810c56681b45 DIST yap-7.1.0-gentoo-patchset-3.tar.gz 4353 BLAKE2B 90c4750517189b3492fde0afde3da587a60f5aa98138a9b0626789dd79ce76981a9278706c510f0870595613e51c7c7be296fc9195618ef7ed6d3c4977191be9 SHA512 2effb29eebdf25996b10dacb625497159c880dc3c5e58e99cdd215bf3df744e3c504262b4fe4fe3e1eea7ec2e132c68b8dbe4633ac3c625efb6343f3fe5b87c4 DIST yap-77bb2ba5eadfb95b67abccd22b298cfb75dd3328.tar.gz 15121857 BLAKE2B 0a38a1f302108a93cdc7b31fadb44823f1660e65bf3bb1910988afe81e313e6690094550c9eb4a6cfba322cd40b0cfb5ec853b350988ca123507fda362de118d SHA512 56da8cb9e56cb23d2592ba92b0b4cbd323e491767a121ca88896d2744737bef9d4a63f3b80b36fd52b1ead84a075d270060777fef85dff3ef36403a84c96b9fb -EBUILD yap-7.0.1.ebuild 2445 BLAKE2B 227f83e8d74eb970920613f818711dade254a40800fb403562990dadc451f49007170e161511f4b53ea91f0b17d32520b0e22abe4a2bb214dc496b6df35ff8fc SHA512 9f2e8d3db21c1cbb1fa35ff102bd7f58ae64efda1547dab5b342713430b1756b89701331445a87ab942dedfd0224ed911ffd3133e85171929886002f1918761d -EBUILD yap-7.1.0.ebuild 2460 BLAKE2B b309d399ab1460d537f1bfd7ba6d8f93bb122f8864c121f5148b31e42667ca9a1ced812a1f56fc19c6a4ee603f4ccfc9006b08caff253b7d31de2b3acc70cb86 SHA512 d0e8377c3f571ae18bd71a51cfbdc7751580f521b568ee2a411353a49ce250c20d66a2b751a627192ad7e857c7722bba17cec9867ee51cf5bc2cbf131c71985f -MISC metadata.xml 389 BLAKE2B ac9f98ed97d411c1dadc014176d7514d6c4226d80340f2a0f801832f574eb78a319f7444eb2a815f5d74b6435596f5eaf2cbc3e94159d1ab4e5373f7857f2222 SHA512 6b40c043d0a685349a6cf865e6ddf4c5ad16b5a8fbe56332f5547784538d54e4df35eadf9d745710c5664bbe41365415784143c422605e8aaddeb3dd6fab163b +EBUILD yap-7.0.1.ebuild 2534 BLAKE2B 314630dcf9e11d3b0b82380b4f92e9d29e2ba272e007757111080492546379404a35f2bf79c796391732391c7704452d7cf8de86ed361f8903b10f80a7b25ccf SHA512 06aa377451554248ba1074673521ccd730de34e0a7cd2bc53a73947deae7a980fd95be91a3e77d732a6fa32e9e8ac92608749ebb6cf7c50a24be9de13f6859bf +EBUILD yap-7.1.0.ebuild 2549 BLAKE2B 1f96bc4571c6f80644dfefbe017b55e9617f62758a6f6fd8a6910e22fb1aef8cef50d26c5dbfce7ac421f5e375e76b58bad5e79a414b08eeeb7216af0857bbea SHA512 af7ed535807b42c07040bb3b6c776718edef123832d34dfae1fb8cfd6dd8d26c2f1ef4484feb8c8494a084202da714ecafc7ad62852268acf1f737ca5499a1cc +MISC metadata.xml 462 BLAKE2B f8ef90219fd4129baf6891e94bef700cdaef99c23eb3be42f4d2b1b264217a3c86e1856a06746882d51cf1a4448b6d1debbd9abbfd9c14781ea30f230002f23e SHA512 4ea564b1981a9b7207f4e943c750366020729fd4655b6e801cc91ea235885ae48dfd537fbe1ba63c766a3357e078d61804d7706236aef57e5aee903d15ab6276 diff --git a/dev-lang/yap/metadata.xml b/dev-lang/yap/metadata.xml index 828646c52426..654a07d737c5 100644 --- a/dev-lang/yap/metadata.xml +++ b/dev-lang/yap/metadata.xml @@ -5,6 +5,9 @@ <email>prolog@gentoo.org</email> <name>Prolog</name> </maintainer> +<upstream> + <remote-id type="github">vscosta/yap</remote-id> +</upstream> <use> <flag name="R">Enable support for connecting R to Prolog</flag> <flag name="raptor">Enable support for Raptor RDF syntax libarary</flag> diff --git a/dev-lang/yap/yap-7.0.1.ebuild b/dev-lang/yap/yap-7.0.1.ebuild index 7b54cb699e8e..3bf0f5b01313 100644 --- a/dev-lang/yap/yap-7.0.1.ebuild +++ b/dev-lang/yap/yap-7.0.1.ebuild @@ -7,12 +7,12 @@ PV_COMMIT=5bebd8e3aae655690ddf33dfb32289766910fa25 PYTHON_COMPAT=( python3_{9..11} ) -inherit cmake flag-o-matic python-single-r1 +inherit cmake python-single-r1 PATCHSET_VER="0" DESCRIPTION="YAP is a high-performance Prolog compiler" -HOMEPAGE="http://www.dcc.fc.up.pt/~vsc/Yap/" +HOMEPAGE="https://web.archive.org/web/20181115131216/http://www.dcc.fc.up.pt/~vsc/Yap/" SRC_URI="https://github.com/vscosta/yap/archive/${PV_COMMIT}.tar.gz -> ${PN}-${PV_COMMIT}.tar.gz https://dev.gentoo.org/~keri/distfiles/yap/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" @@ -47,6 +47,10 @@ DEPEND="${RDEPEND} java? ( dev-lang/swig ) python? ( dev-lang/swig )" +pkg_setup() { + use python && python-single-r1_pkg_setup +} + src_unpack() { default mv "${WORKDIR}"/yap-${PV_COMMIT} "${WORKDIR}"/${P} || die diff --git a/dev-lang/yap/yap-7.1.0.ebuild b/dev-lang/yap/yap-7.1.0.ebuild index f02988538996..646bf13543d7 100644 --- a/dev-lang/yap/yap-7.1.0.ebuild +++ b/dev-lang/yap/yap-7.1.0.ebuild @@ -7,12 +7,12 @@ PV_COMMIT=77bb2ba5eadfb95b67abccd22b298cfb75dd3328 PYTHON_COMPAT=( python3_{9..11} ) -inherit cmake flag-o-matic python-single-r1 +inherit cmake python-single-r1 PATCHSET_VER="3" DESCRIPTION="YAP is a high-performance Prolog compiler" -HOMEPAGE="http://www.dcc.fc.up.pt/~vsc/Yap/" +HOMEPAGE="https://web.archive.org/web/20181115131216/http://www.dcc.fc.up.pt/~vsc/Yap/" SRC_URI="https://github.com/vscosta/yap/archive/${PV_COMMIT}.tar.gz -> ${PN}-${PV_COMMIT}.tar.gz https://dev.gentoo.org/~keri/distfiles/yap/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" @@ -47,6 +47,10 @@ DEPEND="${RDEPEND} java? ( dev-lang/swig ) python? ( >=dev-lang/swig-4.0.0 )" +pkg_setup() { + use python && python-single-r1_pkg_setup +} + src_unpack() { default mv "${WORKDIR}"/yap-${PV_COMMIT} "${WORKDIR}"/${P} || die diff --git a/dev-lang/yasm/Manifest b/dev-lang/yasm/Manifest index 0556de791556..b56b512364a6 100644 --- a/dev-lang/yasm/Manifest +++ b/dev-lang/yasm/Manifest @@ -1,3 +1,4 @@ +AUX yasm-1.3.0-fix-modern-c.patch 2584 BLAKE2B 5c967ff7bfdd250f78650c1d5b5b92edb573c77ab457441101da1a903359baa761a9fc83a789dc072dc1dcb2e4f7a214df38a7bf5f365eb9d3085d65eed70c93 SHA512 e78d9032e05f9241755af49d0e08a2f6d5eb3843582040f68dc63364c1d90743d8247304d46fee3455daf7a252919f231b3d43f234190bc5175d4e4ee44fefea DIST yasm-1.3.0.tar.gz 1492156 BLAKE2B e419a4f9912eb244e9503462dbf0c5e5c95bdfa49583ee205dc4708b42710df8dd2056b2e36e04de04474f4af900916cb64c14a623db1346c3e1cb46a8cc34a5 SHA512 572d3b45568b10f58e48f1188c2d6bcbdd16429c8afaccc8c6d37859b45635e106885d679e41d0bee78c23822108c7ae75aa7475eed5ba58057e0a6fe1b68645 -EBUILD yasm-1.3.0-r1.ebuild 1232 BLAKE2B b9768cb8232d4800331c857232254b57fe12d14342193500540389601c15aeb93742174c972eb507fa024b018ac3fbe059fe75c204d5c59bbfa030f3eb326ff8 SHA512 9fa76f7529ac4df147450bbb75a7c255abf96c8a19c4735f6e81faefc9653b05c6c873f269b7214a51d6ca1187d590883a2550b158545c87367a535034efe694 +EBUILD yasm-1.3.0-r2.ebuild 1284 BLAKE2B 69db204feb150494b7de1873114fd9013ec98f8391fe5bf11ff70449f8c29433d8bac0fbd49738619f62cad30bc47b2e241d40f47224ad74dcd229902644d18a SHA512 6cdf3db9d83e383c4c84b4c52ca89ae0abf1d86652244b94b8ce7ab43cf5610078a5112615794e181147166a5d87dd29784a3ad762bbd26328cca7ad431e9844 MISC metadata.xml 393 BLAKE2B c1a2f5a55132dd63f7ba78e4b78600d87f462995e6d692ed3500fbab47b8a95fb16b292956e07279e1a9183e6abd44b38e1448bd6b48a9652d2e8660a02ea136 SHA512 d486d9fa65b102b36665e84436f23c6b1897aca20c1451eaa5e36ad5d00b8020da73583de3948a73af3d860bee243caea15da9904187b3dbf1700ba9ed39136c diff --git a/dev-lang/yasm/files/yasm-1.3.0-fix-modern-c.patch b/dev-lang/yasm/files/yasm-1.3.0-fix-modern-c.patch new file mode 100644 index 000000000000..61f1e88634f0 --- /dev/null +++ b/dev-lang/yasm/files/yasm-1.3.0-fix-modern-c.patch @@ -0,0 +1,87 @@ +https://github.com/yasm/yasm/commit/f79f5e37f0e4b06d5dc303cc219929d7359dd7df +From: Biswapriyo Nath <nathbappai@gmail.com> +Date: Thu, 18 May 2023 03:53:32 +0530 +Subject: [PATCH] Fix function declaration warnings with clang (#226) + +This fixes the following compiler warnings with clang + +tools/genperf/perfect.c:65:6: warning: a function definition without a prototype +is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype] + +frontends/yasm/yasm.c:1379:23: warning: a function declaration without a prototype +is deprecated in all versions of C [-Wstrict-prototypes] + +modules/objfmts/elf/elf.c:225:18: warning: a function declaration without a prototype +is deprecated in all versions of C [-Wstrict-prototypes] +--- a/frontends/tasm/tasm.c ++++ b/frontends/tasm/tasm.c +@@ -817,7 +817,7 @@ opt_exe_handler(char *cmd, /*@unused@*/ char *param, int extra) + } + + static void +-apply_preproc_builtins() ++apply_preproc_builtins(void) + { + char *predef; + +@@ -853,7 +853,7 @@ apply_preproc_standard_macros(const yasm_stdmac *stdmacs) + } + + static void +-apply_preproc_saved_options() ++apply_preproc_saved_options(void) + { + constcharparam *cp, *cpnext; + +--- a/frontends/yasm/yasm.c ++++ b/frontends/yasm/yasm.c +@@ -1376,7 +1376,7 @@ opt_plugin_handler(/*@unused@*/ char *cmd, char *param, + #endif + + static void +-apply_preproc_builtins() ++apply_preproc_builtins(void) + { + char *predef; + +@@ -1409,7 +1409,7 @@ apply_preproc_standard_macros(const yasm_stdmac *stdmacs) + } + + static void +-apply_preproc_saved_options() ++apply_preproc_saved_options(void) + { + constcharparam *cp, *cpnext; + +--- a/modules/objfmts/elf/elf.c ++++ b/modules/objfmts/elf/elf.c +@@ -222,7 +222,7 @@ elf_strtab_entry_set_str(elf_strtab_entry *entry, const char *str) + } + + elf_strtab_head * +-elf_strtab_create() ++elf_strtab_create(void) + { + elf_strtab_head *strtab = yasm_xmalloc(sizeof(elf_strtab_head)); + elf_strtab_entry *entry = yasm_xmalloc(sizeof(elf_strtab_entry)); +@@ -373,7 +373,7 @@ elf_ssym_symtab_entry_print(void *data, FILE *f, int indent_level) + } + + elf_symtab_head * +-elf_symtab_create() ++elf_symtab_create(void) + { + elf_symtab_head *symtab = yasm_xmalloc(sizeof(elf_symtab_head)); + elf_symtab_entry *entry = yasm_xmalloc(sizeof(elf_symtab_entry)); +--- a/tools/genperf/perfect.c ++++ b/tools/genperf/perfect.c +@@ -62,8 +62,7 @@ Find the mapping that will produce a perfect hash + */ + + /* return the ceiling of the log (base 2) of val */ +-ub4 phash_log2(val) +-ub4 val; ++ub4 phash_log2(ub4 val) + { + ub4 i; + for (i=0; ((ub4)1<<i) < val; ++i) diff --git a/dev-lang/yasm/yasm-1.3.0-r1.ebuild b/dev-lang/yasm/yasm-1.3.0-r2.ebuild index 4d76cccfeeb9..7bbb5163d765 100644 --- a/dev-lang/yasm/yasm-1.3.0-r1.ebuild +++ b/dev-lang/yasm/yasm-1.3.0-r2.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit toolchain-funcs @@ -37,6 +37,10 @@ if [[ ${PV} == 9999* ]]; then " fi +PATCHES=( + "${FILESDIR}"/${P}-fix-modern-c.patch +) + src_prepare() { default diff --git a/dev-lang/zig-bin/Manifest b/dev-lang/zig-bin/Manifest index f5b7676ec8ed..168e55365e78 100644 --- a/dev-lang/zig-bin/Manifest +++ b/dev-lang/zig-bin/Manifest @@ -6,12 +6,16 @@ DIST zig-linux-aarch64-0.11.0.tar.xz 41492432 BLAKE2B fd4e1f242475bfdc94f418817d DIST zig-linux-aarch64-0.11.0.tar.xz.minisig 326 BLAKE2B 2b9d4aac400789019430fc4a2e28a255cf259730c2f3f6b18129cd2b43465ef513931e827c58bd5170dfe519f602840892e201b9a66ba013384d1e4f18d3ea92 SHA512 0bb645a52704ecad1b98d91659468a0b8a29c3cc4db8fb2c9bb43cee17ba2cb7227222b0ea81e081cc13772ed2bf1a5253a7f3d7204b2a8166451f4384d7963c DIST zig-linux-aarch64-0.12.0.tar.xz 41849060 BLAKE2B a12a6c946a365b391b323f51c7b25f855dddaed7a768067da0abfb64ca2440a3ba36b6b5987d5129485e506f45e7f90e98ef29f9242aa71b1dc286426fbc8403 SHA512 6fba718ff4cdf58f9a9db9183b9d436eedea3317c7e91dfa495b47f0dc95d2042784d4692cb65907cb9c3c74484b4e15adeeefd0c1ac462064848bdad4d6e4c4 DIST zig-linux-aarch64-0.12.0.tar.xz.minisig 326 BLAKE2B 9cf7cdd6a1029e61c695610a4b77aafd915c23108c7a2315b51a2115b1b9f6e944d72fea84dbcc87f0e2e7eab2180ed095434b834a1a87f1c0424a8800db27c8 SHA512 7d0468fa56f6fcc8960a1dba43be6695fb7231e1de8b07f8d4c8b3d4ec8917e3c0cb19b7539db8e316b993bf5396197ab2d16e357fa5d541c7f88da2d7429038 +DIST zig-linux-aarch64-0.13.0.tar.xz 43090688 BLAKE2B 658376ddd6f74ced4e8d875573e53e236ce65d11bf098db7fc1c6a119b88dc97c45212101e0b3a4cfb7d0f4481d696fbb65b765344f44451d20c5bfb36cfbc14 SHA512 0e36c26da0088aec54939af0cbe5219132d56cb8bb1f298ca50e1a628d3fbdfd401441695013b6d3fd282905bb273ccc160b4f0dbced236aa1408278f532d99a +DIST zig-linux-aarch64-0.13.0.tar.xz.minisig 326 BLAKE2B 2f4008c036a309bf3efdfa719a7e4cca0c13c0c5a93e6a8c2e9c75cff7ea9a000cc52f695487c1b1199eebece4853b11ca4d3a22935f12b6d07b9f465da01c2e SHA512 a5635610a17f61e8608379bee0e10c8a43a565ddf22394da214e28b6a84fadd6809bdcdb7996ebc2bc2bfa6d1fa4a5e47191f6aa8536450b01cae03871145679 DIST zig-linux-armv7a-0.10.1.tar.xz 50718132 BLAKE2B 76ef431ef8957272b992f6b861913a961d348120106a7f4b77d1f6b2a042dd8904a1ac744ab6b02b78681eef68af4143372e5315cd113d40711bd26fc78e6632 SHA512 4ec3ccd7ac980bfd9fc7a2f6b2301051d3df43b00143914d869389fc44b48916820d996e27cb922dac152228c4b04a0cce51f7b125317de85440a5479fe8ff7d DIST zig-linux-armv7a-0.10.1.tar.xz.minisig 325 BLAKE2B 675416641adfa9a1cdc6797dd310a7cdd83dda20cf73b5d3dafd616d3686ab72f00d735576c3d6839c9b7a92869ce058dd532beec27e5ec0a7b7d4f94008d592 SHA512 7f7be843ce7718294816f5c8dc349386cd76d9e7ad0a96d74bfe09d7361e864f275593fbd92b44091c5cdd5fcb0d9e8e07683c96585ac932b5f80e7c7356e6cc DIST zig-linux-armv7a-0.11.0.tar.xz 42240664 BLAKE2B 0d301c1a2fa2ddcddccf37333418ceea06b48539548e533a20c098021fba12c1bfe467d0c8dd3d9207c6d129e4de8c47c436a39f7fd6165a0c6ad5a679ca5f50 SHA512 f4235418b3251d03727ba85a6002f6561f20b095a9fddf92ff126a20f49d17533d15d7e0f570ea734e40a1a76dd1b8a4bca78ad6ab3846aeb5f90dc812586008 DIST zig-linux-armv7a-0.11.0.tar.xz.minisig 325 BLAKE2B 4f8c686969a3f74c91906a1a9b79bef16b8695caf3829b6550d9c3a7b3c92703cad6e5d45e8260fb13b2be1947fe1f0adfc71afcaa6f28b6fd42364a706272dc SHA512 8ae13173ef26d97ff6dfb019f709020d3dd6112dae75ff7e7ba34e53d582f62e37ce2ff16574cfd4a061f0ac16a067eba80639beda1bc319920837321299c9fd DIST zig-linux-armv7a-0.12.0.tar.xz 42638808 BLAKE2B 58e905a5519729ae8e549be354558d2df72c4d07fafb00c2e78a2b92cf562fe4cabe826992cc0b3165fded1d7e7bffac23af13256aa3cba9497f6561b819e531 SHA512 9cf8afa94afd47a54131e80fad8dc2852cfd2243e33d06eb2ba607cd7de186f7f1245a84efce8556e180fbee6a3c05448b3ab568d93233a16f398b258526867f DIST zig-linux-armv7a-0.12.0.tar.xz.minisig 325 BLAKE2B 47de3ac2f3abaabae21060a85ffbccb9db1b8df4c67ca02ea9208913c2ec765d6e7b713a8863358cb0a00519397445f269db6c70622fe658bcb7ef34922ba5b0 SHA512 c51884ea6d0849cf97d9e4a206af64a33a66bab5feac610f61ed5239c2122c40a33589fbed5e07d7baefa5e8181dc914a946fb4cfba91480f7581cb56ba358eb +DIST zig-linux-armv7a-0.13.0.tar.xz 43998916 BLAKE2B 5ab0f39209d900690f28a73bade854aecbd77d6d7bccfdca97d49e5fc40d198023f2f9b1e96eaa9afa6a368c6f35575aeac52422d486a691dd4779ca118836ca SHA512 d93005a14dae40e6de66ad0e3150ac15284c01839ae0a19531a4e2f54a628b9fe3bcb08b6d526b96ba9d79d232c5c0c2b813877359c76b927435085671c57ab6 +DIST zig-linux-armv7a-0.13.0.tar.xz.minisig 325 BLAKE2B 3b1fa76b70cf364f218af9299812ec175d03d0b4bf3d6748737d26fc9ef55b97f24b1ce34c62e16fb44e72b16659d2f41069d59e662ae4a95d461fe1f25132fc SHA512 68c822bf8718cf547d20ef0cff16343ac9a99b27738ac81bd660b8d55f69c4ac5666b0a4766b18acbc391923784a0bddf67c504ffae13b8f6219e59244aa665b DIST zig-linux-i386-0.10.1.tar.xz 48367388 BLAKE2B 482ec9e42d9036177f41c459faf82c79ba525f35ed14150d97af9110efab3e9894b8c64f92f9257b224893179134e43306c985ad6a04ae6a7d427d14ef4e7a3f SHA512 97345a8f7f15a83e51635ec667e869833a597511a1b004fa4ab19d78ad234e05e8344823e0c623510c7c5dbeef447d13636223e8d339f6d53f2eca053852a8d3 DIST zig-linux-i386-0.10.1.tar.xz.minisig 323 BLAKE2B e25778cf26696ae0450186b6173dc69cfc9eb165903d5c4b1bcb9d01b55646f1af5047e129a1241200b7d7bd041bc9aa85841eee3a9366b7e88a2eccce3dae88 SHA512 52e66eb9a486e853330f125bad2baf63b87e3544ef1cc12cd59889f3c3a8a7ada5363307eb29d797c54202ebc5a3edb87452d6b09f53f099f51f79c053cf8b7d DIST zig-linux-powerpc-0.11.0.tar.xz 44539972 BLAKE2B b713c23f537c8f47be7aae7bf0609d056dc6817aac207ba39df0a53d1c391f1c64bc05edbb53fb5584c60cd6963f35fa56448440c5065dc21b5cf978fbb0bbb4 SHA512 faabbbae501b56c91fec036c209a6d6aea0c974749a777eb13f273e06fde960c7b2a2b29caf83a43fef740652db313933b3eeb72a9c0445ad412a7f8023da3af @@ -20,23 +24,32 @@ DIST zig-linux-powerpc64le-0.11.0.tar.xz 44656184 BLAKE2B 597947c4bee73847abf094 DIST zig-linux-powerpc64le-0.11.0.tar.xz.minisig 330 BLAKE2B 4a657d18c184bd37b1d3e3ab50b096b2594e204c5bdfe5f94c5543051823b43c7014e99b8b51718513006b4391b400df67ace22a86111a863373f34c526d0f94 SHA512 093f957cfea8605452d52f402371caa4552e10f612fb71240d34d905f7a86271b767163af15e3969f33fadd5d385164e87d944c48cc96cfdc6de00877b239476 DIST zig-linux-powerpc64le-0.12.0.tar.xz 45216736 BLAKE2B 4da27f58536c311ee5585c3e411ea230459ef5ad3006d381fe75e04c3088735a57eac8fc83856e9182585b5ee27f00026ba393741c55e5b4ed069760c8839d10 SHA512 9c44db49dc5e698bd19ef7341927216d88a813cee03eb5057a9b17b33c4750d6c28aab0befdb4cb2066e7a84befa3e237475a1fdeba672748940e972b27822c0 DIST zig-linux-powerpc64le-0.12.0.tar.xz.minisig 330 BLAKE2B f43ba19e848ad3777d257d03304cd26a8cf317032b85f3841434fe4d9f70099b053d4b97b09e7b9fc13bb7f403c69f7aac41d0f522ba0aca4de70a3db0c83a94 SHA512 3629f18568066a59b8cfa2026b86e291b742739101df2b0914e935aa5c008ee8fd66c1cb11b961a0acba75eb5e56ba002578a94e4ebbd4b21071fe7e7faebeeb +DIST zig-linux-powerpc64le-0.13.0.tar.xz 46574596 BLAKE2B ac21b1d8317177682e7aab53b3b8f4884ae1c6e52b25d30a8acd9c345c97c49d55a9652eec205fc5c2a510c840c947eb1967fdaa36b3a29fc712ca11702c0b77 SHA512 ef9fce45ffaaef9902ee35010dd7ef372b14d5cc82b6ff653e9b5f91a9da15542f5f2410620c239415d051876091d17be4a4d610ab59a89e02e7609b9ef304b2 +DIST zig-linux-powerpc64le-0.13.0.tar.xz.minisig 330 BLAKE2B 164a5857ad9ffa323fcd27fd2d9cd0c4202d8e1fc1bc968341eadb14157271e10f8f4bc544dcbe738720a99767291d9882b956478bee3b08b1fb28ea57c4d529 SHA512 04f480145c676dc8a4ba369594af41a84f3fa2686e194df88d546fe9f989b03f3f1aee291bcad07a0e7e81495b69a5cf182a1454ab21fd043faa1bb2a68edb68 DIST zig-linux-riscv64-0.10.1.tar.xz 42196008 BLAKE2B a7ae37b1d1db1281b09bbd7e35ecaf390bbe28774bd1a4fa76b4468255be19b07fb514326d48576946f3c4eb04dcef34d6ab14f550407aa33803754fabbd848c SHA512 1a1da96924fa4a16a53721017eadc3363859a4f53671e27b11588200d0302d9065de9ba517ad40940aad98725e617cf853f2e83f732a4e23c33deacb99487ad0 DIST zig-linux-riscv64-0.10.1.tar.xz.minisig 326 BLAKE2B ebe0b448aa59fb1f63ad8a5320207bfb139f7b55af8b4d1d3347580093f0adad31957647b40b296414876c2cc013d6c701ebfe3d95c91240322602bef693ebf8 SHA512 7cb59ebbaeb33be1c743509564478b9d2f513e6142c0b80380be4c70f1b203818330fd3a9322f0dc93cb21121dd4e1bd153225804e467cd13f28f4ff73a4bd2f DIST zig-linux-riscv64-0.11.0.tar.xz 43532324 BLAKE2B f82a7a32b94a084767fa205bf8b66371bfebd4753f647930a5689d727a2211c9cd37f76a855732356a220a64515f8146c5b450207be59854f08132ccf178d23c SHA512 f2ab35c6a7c3452a5dd825d03fa8b5329786a705dbc04260980fefc64e24f4d61cb22c95c10b9952cbc58bdd8741503aa98ad8ed4a8c0a0e856a0e8ba9eb1ca7 DIST zig-linux-riscv64-0.11.0.tar.xz.minisig 326 BLAKE2B 01a6c8fd20e757fa4f238b676fd6d85c94295929bf0e944b90a307f1579a74840cd100dd28fc56b47ffa77a1fde9b73fed5047a96f55521a671fbf4b2bc9a6ae SHA512 e226ba090392aece2d4d7287e49ad389f11c799d29b528015a180764ee5d64f739011bc0ac649641127feffa017a4f7052ca30107d326e7d50cdb279134faad7 DIST zig-linux-riscv64-0.12.0.tar.xz 43917444 BLAKE2B 1d06f543f8cc8b4ec2d2cfb0f11e3096effc7f458ff2b9e380a22c8213f9898ae28fdbb09da23f83d5d01f65b174a3461a08fe1af142289016e7c230a0aa0f06 SHA512 f02aff638a46a9a491aeb386e71b3c0c1e536893b1f61348599df9a903dabadb7c21ddff810160f00ce505944e3941ec82f4222bed355accf24fb3dd929f3ce9 DIST zig-linux-riscv64-0.12.0.tar.xz.minisig 326 BLAKE2B bc8a550010af06d45a8186b0a47370f6b8dcdeb48f503ebe49caef8e2e075c0034e5184fb65c289cdbd17c23a89d9a4a42b25bc7cbde6f709e990a8f9dc521da SHA512 bab7b063452d73d647a65898ffcb65c65171a798333a28cbbac04af12d21303c5a4e185af04df3286c099d7a7194a5d96f57d8bff977796e56cc6a561dcbd40c +DIST zig-linux-riscv64-0.13.0.tar.xz 45540956 BLAKE2B 879d9cb16a2912fa770f65b82b898ac8705f8de461745bc92adb43a201dcd86f3697d5464742b4cd1ab252ccab14f619fccf87a197b8ec6f209870ffdf560fad SHA512 7c7867aab96c862b0b1faa8db872e45503a36eed2a234e2e52b86bd0d334a232c1bb966e23079d30a57fde2f4b5d5c8fe215181a380b4e277242f4ec5261a5e9 +DIST zig-linux-riscv64-0.13.0.tar.xz.minisig 326 BLAKE2B c93a653ba1634a445b365d6690f0f54e15fac964b85e24a6f3a2e89750adfd389630aea0483cb8e77254d02fad5137ae428110b384ad8120c01cb9dbea87efe2 SHA512 5687e6d398d0115658c00eee47e0047a0da0f4e8002c96cab9844032b5925f46a139239cac8b5e1464a2ff3460219602cec79aebd5e5599972c7dbda0112c044 DIST zig-linux-x86-0.11.0.tar.xz 49824456 BLAKE2B 4a9b4c9551ffe555d1283c9d5aab6649fc5ea5807b9465d18c10cae622beca23df114ab4f503b9d86e14ce26cbf6ac07df8e60521fbc2c3784c9d25eeabf852d SHA512 aaa2adb128ae0cc8e6f43323b78dc60699b80f56b0e1be7524ac7e9ac71513229c4224d2ef7d63fedb74c513c31d5614fe34cbcfb0cc4bb268952427d082594f DIST zig-linux-x86-0.11.0.tar.xz.minisig 322 BLAKE2B 6d967e2bce7b0c3b891ab91ce6e777f9ded2f13d736215608e5d2f4458eeb5789c628e0cf0ceb516ae9fe6562484fde9dfff73126f460ceac4284717eef484d3 SHA512 a993dce9d4568709c73742530a3892f2e4e5e8a4302b26b88a0480fbcdb50e3333ac109e9b127b4a07fdf16c5e96ce68fda160a8fe6d16dd4d8159145906e7f1 DIST zig-linux-x86-0.12.0.tar.xz 50498940 BLAKE2B 1d86022cb51ef737d8994c5854cc3bc7051907be33bbc2f52b5d395a9fc1c206ee24d62d1e4323d808b3242888d2179e5e2bc6d913de845ebf64468aff04af4a SHA512 2a2c462553a79635f13c6931eb1aae61f3c6ad8190794686711d4a0c33039f3c2e609d96bd7e8e420111d6369dabbe17f5a394d504cf702df5b97e5c15c9943b DIST zig-linux-x86-0.12.0.tar.xz.minisig 322 BLAKE2B 1cb63844ed396f698419f40cd86eef584f660be00c45f706f3887b1239eefe859572a5325a92620792351707647d2d98d0b5bdaa86200ba2fc78bb0c3c07493a SHA512 b1b8ae28c26ebee7323ab1c6638270e1f138bbf557a26fa931cdc877ef203e77f7f80f8f1d83a4da7f6786be5257f64961adbc8dd957571e074d21e520f04cef +DIST zig-linux-x86-0.13.0.tar.xz 52062336 BLAKE2B 5f05db0719affaf17e3b6a7c5f87304f884736fbfa006ff1020254f8381d9f268b406d7f8d33e8a94a0533d40202a26b3fbfc6ae11bbe1b71319ba5d9d4d2a89 SHA512 f3db718d2a499a88ab9e497fb3995f3fdb0711842513697c609e3b8f2e835676854964dcfb77bc253158f278a9d21d158e2957e3dbaedce8dd0f948f09eaacdf +DIST zig-linux-x86-0.13.0.tar.xz.minisig 322 BLAKE2B b95347c6899e064c77d1cbdafb18c705c6eb2c642d46965eb3953ae7f4515eee7d0b058fbbc24ce2f63d8e2ab124196170c850103f73cba2e54da03b24d0fe54 SHA512 e10f1598a68064137c669c7622ac06772b33a5fd17ea4fa65bb4ecd8b8c4f34a2a46ee397215bf82a3202cfffced91cd01fa3a52e0bba84829ff94aac3de1947 DIST zig-linux-x86_64-0.10.1.tar.xz 44085596 BLAKE2B d689a469dbbe790593a561dd4df01c506212754c48be7de03773c7e690cbab197af10d639e80148f3343204ddf9ecfe09a88a62fb6ef63a262bcc2dd79fecd34 SHA512 1cf88a492b1a47800e213b8801477f4ffabf269f960d27d1849c5aec805b5db3768c83d4daa4a738532b1b7367e8c6812e3eea47c205ea732d7a6269a47e16dc DIST zig-linux-x86_64-0.10.1.tar.xz.minisig 325 BLAKE2B 41cf60ae99405ed55449c35e76a3de761e5de75bf07d8500fe64bf2e45b0dc5f63a929ff6bf47233ea0472f167d9e2305d66c48fbe3da66b6f1223d83ed6fa2b SHA512 309fe97b56673e4f111e2408aa1162194d77cd6976cf7ae491d3a035ef0319b8b634c59977dbc18466182b37d4a12f294d8c258d2d793a3aa3eced448f06e30e DIST zig-linux-x86_64-0.11.0.tar.xz 44961892 BLAKE2B b0780573dbd372c7a9efec32e6860050b15603a80e00e64757a6c09a02757febc14d3df32ff089f418996fb55bf6fb50774393037f86cbecd49f06c250e5bbe3 SHA512 992e49a28edc9bed44c124a887c4700e707c2eef6a6f3adb551c568103242c3a5304af00d95994a511670c2099f476aa5068eef538f6065afe9bc149c88887b9 DIST zig-linux-x86_64-0.11.0.tar.xz.minisig 325 BLAKE2B 0278fff974f16bb871d75cfec796852cfe8102204467c3f9d55579534d3061b3048b295e6dcf1f69da806b6a7782fea8667995f11ad2e9e92070e136a954d6d3 SHA512 919badc20197be66be0d728a9f94f3adee67f262ddb626bcba5051fc01f521ae65ebc3c29ff96fd0c3fcf2ddf59e5f9c8a7a80a18db4f6e743601389e434faa5 DIST zig-linux-x86_64-0.12.0.tar.xz 45480516 BLAKE2B 0529796b90dc1b8020327855c42d62d5eb58567f3f0fac42aa2b6c7c938c79455c8527d5d2fee33cd78a6815b55f8c61c554332ed1043c3ec87f0e20a89179f4 SHA512 f596bb1e5294edefcdfb31799b426714b18ca39dd3e058acade90590bd20598115ca0fae612f69892e2b66abf288964a442ea988bae69473168162ef72fc13ac DIST zig-linux-x86_64-0.12.0.tar.xz.minisig 325 BLAKE2B 4531c46c2fbdc43ed48c949e632023b20f5cc226f56529aef944770e8fde8d7a37c2332b44d5d5666c02bf36a0f14f187953a084a3e252057d32b9e2782dd687 SHA512 f61e9310cd75938e889a7c9f7c6bb5cfd1dd9d23c60c1033e48e95219c3dd15962c6686c60283997e3e83870f22a24c12e58381cf4e9fece37a0dcb4f62f9874 +DIST zig-linux-x86_64-0.13.0.tar.xz 47082308 BLAKE2B 587565eaac53f0137bdfb4c58e51ee290a9f582c103957bc1d6183e7f53f6ce459c204fd0197c0e36d3de08a48fc68412a7fc84cf9cd77c8be918a9390d492b9 SHA512 97ca9b91c6c025cc1746036239063df45bab6aafbe72a861acd266019a11d154b4710b310224c860c6515f09436ca0ff796546aa45cba5d1dc7b3b669dfcdf36 +DIST zig-linux-x86_64-0.13.0.tar.xz.minisig 325 BLAKE2B 9161b9b36c38c2b388a0850011bcc22119bb7b0333615914780fe63fb741298524be196db07277771b6f3f053079c7f95b5786dbb9059c4a627a9786752ebe4e SHA512 279cf9abb3b86893a3fd4ac124e954d8f01d6823831591cf2c869538bce4b2cbfcdb67279b9875bfe3a865841ca976b9fb7b4c4c63fe2b56937d3023664e81c6 EBUILD zig-bin-0.10.1-r3.ebuild 3703 BLAKE2B 9adb8b312566ede767b4e9d40c8465c8a3c70df1429aff159267c648646825a19c9a0e1a77014aea83a9c6d73fd3277d5bf5b26a14ac774947a637ee8beefd33 SHA512 590ddc47d59c22abb5a0767c76c54206fa990526581b45ceee1c9f38225588e2bd2ca8e08ab9dd2e8663fbf3262dd42274b2730d8c7707d9c6034a6b40580e74 EBUILD zig-bin-0.11.0-r1.ebuild 3456 BLAKE2B 7b47cd20499ccd99000428e8cf452b615df7a012138d29353a4f7a3daed0da261c213162df7d20068cdd931f23a34f131eec35b5ef51fee7b6286a10a5e31f24 SHA512 59fd45de7cc6a69e46cb90b88cdd9798f8564555596859b628cb313258f381e7cf0f8a65bff2149dbc18906000e78f1b2dfd503b3787303d92441a668681d486 EBUILD zig-bin-0.12.0.ebuild 3613 BLAKE2B e380aca56602db479aa1c58274081c8910516c27efb68b1fae96a1d8a083b4bc4c0939b70fa4cb70055b611e2d9fa296f162ee8840f5319b8d52c1d76140248f SHA512 eed7d024e2b55976368c23f05cad327918c059c02529e77d8367a58c262bbf9f8eea94c16a520f4c1813f942855884e62dc11a36256fd617251423ccaac27314 +EBUILD zig-bin-0.13.0.ebuild 3624 BLAKE2B 62a9a0412e27c729d89c4850b3290c05da923b9d4824321bfd9438bbad2db74595a1ff056bfcc5c13ceece52ec86a2680ad7319191058471422cc04376cdae25 SHA512 1bc35c6f11b3f5017b7f21adcfd282c1e6a1cfc06b8ea43fa14b3de638623aec9f9920e38ecfbbc9d6aca6cbd8812b8afd2ee755ca26d7a8509a550ddfaa236c MISC metadata.xml 543 BLAKE2B 7c2e6b94030332dcb621c19d85f0cc390fa3df60f51d5cb15f6fb26c174a234eb7fd2b7284260a14bf8abd87f7c56bba846bc346ec425049dd2d63d04930e8f1 SHA512 c900ae0dac56d9aedab82606fafacbdd4da413eea960c2dcb92881dadfe47a177570378de5cc2902eb45a452421f9e4706fda2f236d825b8377ef2b234767c81 diff --git a/dev-lang/zig-bin/zig-bin-0.13.0.ebuild b/dev-lang/zig-bin/zig-bin-0.13.0.ebuild new file mode 100644 index 000000000000..ba3a7c7bda35 --- /dev/null +++ b/dev-lang/zig-bin/zig-bin-0.13.0.ebuild @@ -0,0 +1,89 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_METHOD=minisig +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub +inherit verify-sig + +DESCRIPTION="A robust, optimal, and maintainable programming language" +HOMEPAGE="https://ziglang.org/" +SRC_URI=" + amd64? ( https://ziglang.org/download/${PV}/zig-linux-x86_64-${PV}.tar.xz ) + arm? ( https://ziglang.org/download/${PV}/zig-linux-armv7a-${PV}.tar.xz ) + arm64? ( https://ziglang.org/download/${PV}/zig-linux-aarch64-${PV}.tar.xz ) + ppc64? ( https://ziglang.org/download/${PV}/zig-linux-powerpc64le-${PV}.tar.xz ) + riscv? ( https://ziglang.org/download/${PV}/zig-linux-riscv64-${PV}.tar.xz ) + x86? ( https://ziglang.org/download/${PV}/zig-linux-x86-${PV}.tar.xz ) + verify-sig? ( + amd64? ( https://ziglang.org/download/${PV}/zig-linux-x86_64-${PV}.tar.xz.minisig ) + arm? ( https://ziglang.org/download/${PV}/zig-linux-armv7a-${PV}.tar.xz.minisig ) + arm64? ( https://ziglang.org/download/${PV}/zig-linux-aarch64-${PV}.tar.xz.minisig ) + ppc64? ( https://ziglang.org/download/${PV}/zig-linux-powerpc64le-${PV}.tar.xz.minisig ) + riscv? ( https://ziglang.org/download/${PV}/zig-linux-riscv64-${PV}.tar.xz.minisig ) + x86? ( https://ziglang.org/download/${PV}/zig-linux-x86-${PV}.tar.xz.minisig ) + ) +" + +# project itself: MIT +# There are bunch of projects under "lib/" folder that are needed for cross-compilation. +# Files that are unnecessary for cross-compilation are removed by upstream +# and therefore their licenses (if any special) are not included. +# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain +# lib/libc/musl: MIT BSD-2 +# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND +# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+ +LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+" +SLOT="$(ver_cut 1-2)" +KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )" +IDEPEND="app-eselect/eselect-zig" + +DOCS=( "README.md" ) +HTML_DOCS=( "doc/langref.html" ) + +# Zig provides its standard library and some compiler code in source form "/opt/zig-bin-{PV}/lib/". +# Here we use this feature to fix programs that use standard library. +# Note: Zig build system is also part of standard library, so we can fix it too. +# Don't remove this comment so that other contributors won't be misleaded by "-bin" suffix. +#PATCHES=() + +QA_PREBUILT="opt/zig-bin-${PV}/zig" + +src_unpack() { + verify-sig_src_unpack + + mv "${WORKDIR}/"* "${S}" || die +} + +src_install() { + insinto /opt/ + + einstalldocs + rm README.md || die + rm -r ./doc/ || die + + doins -r "${S}" + fperms 0755 /opt/zig-bin-${PV}/zig + dosym -r /opt/zig-bin-${PV}/zig /usr/bin/zig-bin-${PV} +} + +pkg_postinst() { + eselect zig update ifunset || die + + elog "Starting from 0.12.0, Zig no longer installs" + elog "precompiled standard library documentation." + elog "Instead, you can call \`zig std\` to compile it on-the-fly." + elog "It reflects all edits in standard library automatically." + elog "See \`zig std --help\` for more information." + elog "More details here: https://ziglang.org/download/0.12.0/release-notes.html#Redesign-How-Autodoc-Works" +} + +pkg_postrm() { + eselect zig update ifunset || die +} diff --git a/dev-lang/zig/Manifest b/dev-lang/zig/Manifest index 5acc6e9e7119..80308b3db317 100644 --- a/dev-lang/zig/Manifest +++ b/dev-lang/zig/Manifest @@ -1,9 +1,14 @@ AUX zig-0.11.0-first-try-getconf.patch 5378 BLAKE2B a5bdb83e4897a0553431b333b0ee3a1fc1ed2da413c177188f6d4b1756c1f06275a548a53bb5885ef912cbf03de07d5302066078281fdd120a3bcffb1375a4d2 SHA512 20252263c52e791829d7fdf8b59f824a4a91252f771fed0b773d7b288cba93cac5ac8c3ebe3134d87b56658192bc6eb9dfde9f85d2490a596e594034c5ac251f +AUX zig-0.13.0-test-fmt-no-doc.patch 653 BLAKE2B 92f28d86fde0ce3315b8e7b50dcdf03c1ef8a95964701d3c3c05dc8c16b08f9e327d190e9f9631c2a3a287b8b2945025abbf1b5c75d3bdb3adf719d1a6513703 SHA512 310d356f07505fa44e8425ec32f823eab5e20f9a0144c2e2ecff38e19ac1814d4320430373d4f2fa5ed9cf57000a126089c185fd6336daed8cc7dc0cffc0c023 +AUX zig-0.13.0-test-std-kernel-version.patch 1304 BLAKE2B a266cc8d41df8eabc44cc381fe66e5b548d0e10eb0d0098350ddf596602204a77062b8e4632f58250a40781f7a1d5c7e9905c1387ecf7a0c505e330612944f38 SHA512 a62977e3ba675b60866d7cebdc5ff676825e77dac93029d32af403e567b5ae462d49355407f9dbd33843c8b8393d8f05a39de73a8818daf3424df083e0185da6 DIST zig-0.11.0.tar.xz 15275316 BLAKE2B 603e4995a36d214ba71cf05b719a04732c8927995c8207ab8fdd574dca3410cdc5ccc8f6aa9964807afc04a5cbce1a3910a6cde4cf12e585cdf7684833217eb2 SHA512 c19a8ae6d440a16dd5e77941fc77c036d1f284f1784376625e63b65f30b4acad62f9f4217bc818c401f88c2c33f8722f26fc467c3e23c29a89178c4b1882d1c4 DIST zig-0.11.0.tar.xz.minisig 312 BLAKE2B 8df407f07dde36280c945300fd8b803e6e59c026eb7a3eb56e6d2f4fe1047672e17946a3bbe23ccfe9be07b65331e17690e95fd348353be22f7b6d9b73b3f9ca SHA512 565dd1eacb7dd697e6b1ff54517adc1e4775d2523afaeb4f9a3dd404df871b187862211ecbbcf90b42e3a03853677fc1603e7fc8fc5ba7126a054679faa601ca DIST zig-0.12.0.tar.xz 17099152 BLAKE2B 2a1248302868156c4ddcb154d075af29886a95a4c29de02ff0981e76a85f5d4109dd5c38f95c2c16f5c942bab7d120ae068c1e122ab8ad421c0213b7e996956c SHA512 0c3d9396fea4905245c7e32ce6bd9b4ff140f061cd8a957929e4c84cf105f5bbcbf2e7c030013ac649edb569e909f65d928b3e8a86f35c9076fb62e996feea14 DIST zig-0.12.0.tar.xz.minisig 312 BLAKE2B 4b3d1ae45d3b6d81054a39255c0892d9376d05da9ff1076bcf740310c9650b0154ddc39f19caee9dae293719d58a63764e43b694b83fe7031c87ab434aa377f5 SHA512 6e14c1e1926beeb249cb88fb2247ff401f679b64785c3ec8a924e33c894174deb77b48286469a863761bce0ca57524f904995eacf544919dda387c140e6e829e +DIST zig-0.13.0.tar.xz 17220728 BLAKE2B f4bbacc2012950c556bebc28fc322fc6424bf20fe118e8362373336b6460e514028978584087f6e7f25ed8b8e6991610edce625676a1dd80c1975c5f9ef48775 SHA512 6f5f31f4ba71a11d8b16c7a5a613e124095e503fa6b02d2b77e5b177674c739287e81d98d96dc261fed24bc836caf196f71c3fcc7a6518387df86ba9e03df4dd +DIST zig-0.13.0.tar.xz.minisig 312 BLAKE2B 2d061257c9c75f9c36b01cfb08dcd2040538a125b9ea2cae8617ae5496e685b165933ce8981494419522b7e19b51fc69a651ecaa4a8930753acf2e4ae3d6e00f SHA512 21c6139c06cba6c5e23a3305fed0c0f1b9b32d9140bd686c26365ce0279d5f53cd081894eaba29f0c1ed51b2e831edf7bd4ae6a7eaee5018a252e312e9b65507 EBUILD zig-0.11.0-r1.ebuild 5350 BLAKE2B 9b208dc3b9e7a417fdc18759a9e39f019c1fa55a5d63436871cd775d516ae09ca7a65502f47047a2703169ad4f8460bd286065fd7dda22b4107b0ba84291dd44 SHA512 7ce89fb3ba50a161bf389599fe1d8577681e609a7f26cabca7777604f2dfb03316010152fc4d1cb6f4dc0a6fafe535a999ce6053da2565639eec9b2f5915b616 EBUILD zig-0.12.0.ebuild 5287 BLAKE2B aa58866df1bb6ce5ea313ec8e0f146a70702b1dd4c8b15faebb319b431cd456d7cb47c61ad2be4b3fd738268c3a8bdfeb48f37c00566d03e9404c62fe587e139 SHA512 82a4bc91e35bd0d851de036f0313d9ec12a93382f16bcdeb47c8dabad59708cc0cf75b4c9b68b1e3efd949bcb925d7d67b0df0824b3f413d646a55718832ae14 -EBUILD zig-9999.ebuild 6857 BLAKE2B 8c966cceac1891c8be9645c160565b9d0ca309fa706f86be2bc7fd02d73a4796832c5fcb73b0b141cd6772f5c0713155dcae8aa8cb9e47290df0d9a8bc6cdf9d SHA512 b52566d9350772242dcefcf044e204bb60d3026bc1ca60281712be7611a2f15422b813321a775b90f9e9065145773b364d5f6160202fc01723aca575a351eec4 +EBUILD zig-0.13.0.ebuild 5672 BLAKE2B edec1b86e3b61066e38bef1c772fd95409631b3dfc97a4c7a70d220cfdfa40cf191c15031a389a67ea11e18f9fed3af69524fcf07b9de180ea13a34089643204 SHA512 43765943a412b335cb4c7171476ae72eab4becd8e186d23b8dbc248dc792501c1f39ad3e6c7c50c8d7cc32af0184a69dd9ad5ef19b2563d047605111599a0597 +EBUILD zig-9999.ebuild 6947 BLAKE2B eaed3162a63d4c8774be94dfd1733cda1da5ac43ca22900e3cd96a95362628ae449804f0d6273f05ed25ef4e79ef48306748657522a4f8cf4a20ea39e46ba9cc SHA512 95aa3f2f4d5fda5ceaafa7bf119b441703828356c137b1b343381491e27cd57e7d81e518a8a19db37a1ebe4053b85e216ec41364b655484a8045167041ad49f4 MISC metadata.xml 633 BLAKE2B 46cca8909b0b7d65213dee9c7aa7a2c4b5b529734e3bde4f65320074bc38d68420dfaa28041873c7c2c0f1127aca327e32c103c06ab1b5d5ee0e485cb33bb133 SHA512 1d030ca79a3d49b6f573e7995e6f6ef50a6e33ea7e2755a678625645d5b0587f7877a357ea71905034b7029c8c6315b89ebdb5313102b6638b16c467e2ba1864 diff --git a/dev-lang/zig/files/zig-0.13.0-test-fmt-no-doc.patch b/dev-lang/zig/files/zig-0.13.0-test-fmt-no-doc.patch new file mode 100644 index 000000000000..7bbda741dc6f --- /dev/null +++ b/dev-lang/zig/files/zig-0.13.0-test-fmt-no-doc.patch @@ -0,0 +1,17 @@ +# Docs contain examples of badly formatted code, +# so they should be excluded for test-fmt to pass. +# In the upstream, the "doc" directory +# was removed from fmt_include_paths in +# https://github.com/ziglang/zig/commit/cb1d1bdf + +--- a/build.zig ++++ b/build.zig +@@ -428,7 +428,7 @@ + } + const optimization_modes = chosen_opt_modes_buf[0..chosen_mode_index]; + +- const fmt_include_paths = &.{ "doc", "lib", "src", "test", "tools", "build.zig" }; ++ const fmt_include_paths = &.{ "lib", "src", "test", "tools", "build.zig" }; + const fmt_exclude_paths = &.{"test/cases"}; + const do_fmt = b.addFmt(.{ + .paths = fmt_include_paths, diff --git a/dev-lang/zig/files/zig-0.13.0-test-std-kernel-version.patch b/dev-lang/zig/files/zig-0.13.0-test-std-kernel-version.patch new file mode 100644 index 000000000000..2d2dc22a375a --- /dev/null +++ b/dev-lang/zig/files/zig-0.13.0-test-std-kernel-version.patch @@ -0,0 +1,28 @@ +# https://github.com/ziglang/zig/pull/20001 +# https://github.com/Jiboo/zig/commit/856fe4af + +Author: Jean-Baptiste "Jiboo" Lepesme <lepesme.jb@gmail.com> +Date: Sun, 19 May 2024 15:02:42 +0200 + +IoUring: fix an issue in tests where InvalidVersion might get thrown by +skipKernelLessThan, due to some kernel versions not being SemVer compliant. + +diff --git a/lib/std/os/linux/IoUring.zig b/lib/std/os/linux/IoUring.zig +index 3bf3c077fc3b..b2a4da486907 100644 +--- a/lib/std/os/linux/IoUring.zig ++++ b/lib/std/os/linux/IoUring.zig +@@ -3883,7 +3883,13 @@ inline fn skipKernelLessThan(required: std.SemanticVersion) !void { + } + + const release = mem.sliceTo(&uts.release, 0); +- var current = try std.SemanticVersion.parse(release); ++ // Strips potential extra, as kernel version might not be semver compliant, example "6.8.9-300.fc40.x86_64" ++ const extra_index = std.mem.indexOfAny(u8, release, "-+"); ++ const stripped = release[0..(extra_index orelse release.len)]; ++ // Make sure the input don't rely on the extra we just stripped ++ try testing.expect(required.pre == null and required.build == null); ++ ++ var current = try std.SemanticVersion.parse(stripped); + current.pre = null; // don't check pre field + if (required.order(current) == .gt) return error.SkipZigTest; + } diff --git a/dev-lang/zig/zig-0.13.0.ebuild b/dev-lang/zig/zig-0.13.0.ebuild new file mode 100644 index 000000000000..e55bb8ee700e --- /dev/null +++ b/dev-lang/zig/zig-0.13.0.ebuild @@ -0,0 +1,213 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_MAX_SLOT=18 +inherit edo check-reqs cmake llvm multiprocessing toolchain-funcs + +DESCRIPTION="A robust, optimal, and maintainable programming language" +HOMEPAGE="https://ziglang.org https://github.com/ziglang/zig" + +BDEPEND="test? ( !!<sys-apps/sandbox-2.39 )" +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/ziglang/zig.git" + inherit git-r3 +else + VERIFY_SIG_METHOD=minisig + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub + inherit verify-sig + + SRC_URI=" + https://ziglang.org/download/${PV}/${P}.tar.xz + verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig ) + " + KEYWORDS="~amd64 ~arm ~arm64" + + BDEPEND+=" verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )" +fi + +# project itself: MIT +# There are bunch of projects under "lib/" folder that are needed for cross-compilation. +# Files that are unnecessary for cross-compilation are removed by upstream +# and therefore their licenses (if any special) are not included. +# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain +# lib/libc/musl: MIT BSD-2 +# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND +# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+ +LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+" +SLOT="$(ver_cut 1-2)" +IUSE="doc test" +RESTRICT="!test? ( test )" + +BUILD_DIR="${S}/build" + +# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend. +# (non-LLVM backends don't require these) +# They are not required "on their own", so please don't add them here. +# You can check https://github.com/ziglang/zig-bootstrap in future, to see +# options that are passed to LLVM CMake building (excluding "static" ofc). +DEPEND=" + sys-devel/clang:${LLVM_MAX_SLOT}= + sys-devel/lld:${LLVM_MAX_SLOT}= + sys-devel/llvm:${LLVM_MAX_SLOT}=[zstd] +" + +RDEPEND=" + ${DEPEND} +" + +IDEPEND="app-eselect/eselect-zig" + +# see https://github.com/ziglang/zig/issues/3382 +# For now, Zig Build System doesn't support enviromental CFLAGS/LDFLAGS/etc. +QA_FLAGS_IGNORED="usr/.*/zig/${PV}/bin/zig" + +# Since commit https://github.com/ziglang/zig/commit/e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118 +# Zig uses self-hosted compiler only +CHECKREQS_MEMORY="4G" + +PATCHES=( + "${FILESDIR}/${P}-test-fmt-no-doc.patch" + "${FILESDIR}/${P}-test-std-kernel-version.patch" +) + +llvm_check_deps() { + has_version "sys-devel/clang:${LLVM_SLOT}" +} + +ctarget_to_zigtarget() { + # Zig's Target Format: arch-os-abi + local CTARGET="${CTARGET:-${CHOST}}" + + local ZIG_ARCH + case "${CTARGET%%-*}" in + i?86) ZIG_ARCH=x86;; + sparcv9) ZIG_ARCH=sparc64;; + *) ZIG_ARCH="${CTARGET%%-*}";; # Same as in CHOST + esac + + local ZIG_OS + case "${CTARGET}" in + *linux*) ZIG_OS=linux;; + *apple*) ZIG_OS=macos;; + esac + + local ZIG_ABI + case "${CTARGET##*-}" in + gnu) ZIG_ABI=gnu;; + solaris*) ZIG_OS=solaris ZIG_ABI=none;; + darwin*) ZIG_ABI=none;; + *) ZIG_ABI="${CTARGET##*-}";; # Same as in CHOST + esac + + echo "${ZIG_ARCH}-${ZIG_OS}-${ZIG_ABI}" +} + +get_zig_mcpu() { + local ZIG_DEFAULT_MCPU=native + tc-is-cross-compiler && ZIG_DEFAULT_MCPU=baseline + echo "${ZIG_MCPU:-${ZIG_DEFAULT_MCPU}}" +} + +get_zig_target() { + local ZIG_DEFAULT_TARGET=native + tc-is-cross-compiler && ZIG_DEFAULT_TARGET="$(ctarget_to_zigtarget)" + echo "${ZIG_TARGET:-${ZIG_DEFAULT_TARGET}}" +} + +pkg_setup() { + llvm_pkg_setup + check-reqs_pkg_setup +} + +src_configure() { + # Useful for debugging and a little bit more deterministic. + export ZIG_LOCAL_CACHE_DIR="${T}/zig-local-cache" + export ZIG_GLOBAL_CACHE_DIR="${T}/zig-global-cache" + + local mycmakeargs=( + -DZIG_SHARED_LLVM=ON + -DZIG_TARGET_TRIPLE="$(get_zig_target)" + -DZIG_TARGET_MCPU="$(get_zig_mcpu)" + -DZIG_USE_LLVM_CONFIG=ON + -DCMAKE_PREFIX_PATH="$(get_llvm_prefix ${LLVM_MAX_SLOT})" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/$(get_libdir)/zig/${PV}" + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + "${BUILD_DIR}/stage3/bin/zig" env || die "Zig compilation failed" + + if use doc; then + cd "${BUILD_DIR}" || die + edo ./stage3/bin/zig build std-docs --prefix "${S}/docgen/" + edo ./stage3/bin/zig build langref --prefix "${S}/docgen/" + fi +} + +src_test() { + cd "${BUILD_DIR}" || die + local ZIG_TEST_ARGS=( + -j$(makeopts_jobs) + --color on + --summary all + --verbose + -Dstatic-llvm=false + -Denable-llvm + -Dskip-non-native + -Doptimize=Debug + -Dtarget="$(get_zig_target)" + -Dcpu="$(get_zig_mcpu)" + ) + local ZIG_TEST_STEPS=( + test-asm-link + test-behavior + test-c-abi + test-c-import + test-cases + test-cli + test-compare-output + test-compiler-rt + test-fmt + test-link + test-run-translated-c + test-stack-traces + test-standalone + test-std + test-translate-c + test-universal-libc + ) + + local step + for step in "${ZIG_TEST_STEPS[@]}" ; do + # to keep the verbosity, don't use edob here + ./stage3/bin/zig build ${step} ${ZIG_TEST_ARGS[@]} || die + done +} + +src_install() { + use doc && local HTML_DOCS=( "docgen/doc/langref.html" "docgen/doc/std" ) + cmake_src_install + + cd "${ED}/usr/$(get_libdir)/zig/${PV}/" || die + mv lib/zig/ lib2/ || die + rm -rf lib/ || die + mv lib2/ lib/ || die + dosym -r "/usr/$(get_libdir)/zig/${PV}/bin/zig" "/usr/bin/zig-${PV}" +} + +pkg_postinst() { + eselect zig update ifunset || die +} + +pkg_postrm() { + eselect zig update ifunset || die +} diff --git a/dev-lang/zig/zig-9999.ebuild b/dev-lang/zig/zig-9999.ebuild index d278d521c061..f7997e5184e6 100644 --- a/dev-lang/zig/zig-9999.ebuild +++ b/dev-lang/zig/zig-9999.ebuild @@ -178,8 +178,8 @@ src_compile() { if use doc; then cd "${BUILD_DIR}" || die - edo ./stage3/bin/zig build std-docs --prefix "${S}/docgen/" - edo ./stage3/bin/zig build langref --prefix "${S}/docgen/" + edo ./stage3/bin/zig build std-docs --zig-lib-dir "${BUILD_DIR}/stage3/lib/zig/" --prefix "${S}/docgen/" + edo ./stage3/bin/zig build langref --zig-lib-dir "${BUILD_DIR}/stage3/lib/zig/" --prefix "${S}/docgen/" fi } |