summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin19692 -> 19692 bytes
-rw-r--r--dev-lang/ammonite-repl-bin/Manifest4
-rw-r--r--dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.8.ebuild45
-rw-r--r--dev-lang/crystal/Manifest6
-rw-r--r--dev-lang/crystal/crystal-1.7.2.ebuild108
-rw-r--r--dev-lang/crystal/files/crystal-1.7.2-extra-spec-flags.patch11
-rw-r--r--dev-lang/crystal/metadata.xml38
-rw-r--r--dev-lang/eisl/Manifest4
-rw-r--r--dev-lang/eisl/eisl-2.69.ebuild2
-rw-r--r--dev-lang/eisl/eisl-2.72.ebuild40
-rw-r--r--dev-lang/fuzion/Manifest2
-rw-r--r--dev-lang/fuzion/fuzion-0.080.ebuild9
-rw-r--r--dev-lang/ocaml/Manifest2
-rw-r--r--dev-lang/ocaml/ocaml-4.14.1.ebuild100
-rw-r--r--dev-lang/orc/Manifest2
-rw-r--r--dev-lang/orc/orc-0.4.33.ebuild4
-rw-r--r--dev-lang/python/Manifest12
-rw-r--r--dev-lang/python/python-3.10.10.ebuild486
-rw-r--r--dev-lang/python/python-3.11.2.ebuild515
-rw-r--r--dev-lang/python/python-3.12.0_alpha5.ebuild510
-rw-r--r--dev-lang/rust-bin/Manifest68
-rw-r--r--dev-lang/rust-bin/rust-bin-1.67.1.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.67.0.ebuild)2
-rw-r--r--dev-lang/rust/Manifest8
-rw-r--r--dev-lang/rust/files/1.67.0-bootstrap.patch38
-rw-r--r--dev-lang/rust/files/1.67.0-doc-wasm.patch34
-rw-r--r--dev-lang/rust/rust-1.67.1.ebuild (renamed from dev-lang/rust/rust-1.67.0.ebuild)2
-rw-r--r--dev-lang/swi-prolog/Manifest3
-rw-r--r--dev-lang/swi-prolog/files/swi-prolog-9.1.2-configure-clang16.patch61
-rw-r--r--dev-lang/swi-prolog/swi-prolog-9.1.2-r1.ebuild (renamed from dev-lang/swi-prolog/swi-prolog-9.1.2.ebuild)5
-rw-r--r--dev-lang/vala/Manifest2
-rw-r--r--dev-lang/vala/vala-0.56.4.ebuild48
31 files changed, 2063 insertions, 108 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 2b4b2d5ae230..d36e6b0b518c 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/ammonite-repl-bin/Manifest b/dev-lang/ammonite-repl-bin/Manifest
index df0f03291905..b01603663d9b 100644
--- a/dev-lang/ammonite-repl-bin/Manifest
+++ b/dev-lang/ammonite-repl-bin/Manifest
@@ -4,6 +4,10 @@ DIST ammonite-repl-bin-2.5.5-3.1 54766874 BLAKE2B 5bcf183eedad202b34c971253f73cf
DIST ammonite-repl-bin-2.5.6-2.13 54860357 BLAKE2B 9a3cdbfb0c9ed228214353f5e25a22b7c3cb7480024de680185e8399564012c895e6f73d20555a11e1724fc8b36c9f597af5a67e5d7e951b104f8089eacb06f9 SHA512 97ff31819cbf45384175df899fe7b72bbc8fa97ff97de62c70d2d20f536a4066fb1a4e262364ef9c49865f57062d50fdd87338034fcc108b688fb3b424d7e2c0
DIST ammonite-repl-bin-2.5.6-3.0 60096793 BLAKE2B 4f4218ea1e09f879be72eb67c8c3538004ba221369a172ff7b3da3c6b0d5538c3499f620fb7e9af9a7b23011456452a94fcd2cde04e1b666693e1f1ff5a7f3b0 SHA512 e1968fc2b838e08bd2f7c2dabdeb5f612088549dbc4091b169eab26bcdc16c4c9f2e1d37857a4c161efdff8f05dd5579eff185683ecc758b86f9702d5932d592
DIST ammonite-repl-bin-2.5.6-3.1 61179318 BLAKE2B 84be1ee7d862ff05bab8bd9f168f77ade35235778fb09c9cd46c02fa8c22b648103615dc04bef517737b41f0799c69ac801a094752736903839d724163fa1c40 SHA512 709d721797c6aeeb1cd72c8ec75b1fa37cdefcc9ddde4de2e9231e7a3745958788128dc4a3d39e289bd35132051d77b06a73f3de8a9a34d157b68330b30437a8
+DIST ammonite-repl-bin-2.5.8-2.13 54860380 BLAKE2B 0cd77d60a540591ea8ad1fa5d85e318120c3605d486a29d631e7a68081f680bc8fe3e28b9dd569bfa478d10b69505416f425368ef9b976ece0f6f1362523f872 SHA512 111a5c1de707fab79b46ce78c31bd66d1370ce1c7f61bd53a4cb5be941426389f5c1bafec09555c39922dff4a221e3b9f2c72175c32e3fb0c47336080cb8a5e2
+DIST ammonite-repl-bin-2.5.8-3.0 60096866 BLAKE2B 3b48b6beb3000d16c8e5564435a38003dabf168b3ec28e54c50e5220b55a73b7b7aafd9995d3a17f16646366374938b67d528b4351125a66113fe0befcb3057f SHA512 90c87cf9c5525f8a5810a9cb10b0001883df9980b861ae5e60e80792cdd7481b8d15615c006a032a8bd7bd6d365c2270379d9fc525f9a87eade67273a3145d15
+DIST ammonite-repl-bin-2.5.8-3.1 61179360 BLAKE2B d6c538bd88146024ef83e3aa651e2b1759aaa148758a3ccdbc47c071826b7f38fb6f013b9a49f2e0eb9d997e2cafcd28ea9f00d5d3120a9ad2eea86aa2d05862 SHA512 70aef39a7ef0f7a5022192474bde19d13591b5c4d069c91a8e63b2649fc744c02718b231faba8ec91779fde602b930b3e50926c6efa6532996ee5afb6358d74c
EBUILD ammonite-repl-bin-2.5.5.ebuild 1043 BLAKE2B 3bc2e83255b51d5c3ea1d14f33dfced7a2f60cc9b19350ca03c1595c5b272f38880b2cce7c7a931f3de8eff946c0beb2db2fac5f3bba2e3d5637bcbc0b72d084 SHA512 d458554eee968cecadc2b6e75052939ba90a53cf5160f97fabdf6913a330c404f2a85ccb9f2e40badbd93784f79d3434704e2337708284fa4b8afedf401ce087
EBUILD ammonite-repl-bin-2.5.6.ebuild 1045 BLAKE2B f64b4f30245fc8f45a334b0b02d53d775dd58f94855b874c0c771d8e6a7d752e4d54ef50a4470458173bfecbba288a43211abfcf2f5a2887b1ccb4e71a1b177e SHA512 2ec00c99f37b99578f312b8360fb0e63b13f4953b75ce752af547c31c0ad580d38d8d978d0c47e4591d3300a29368712a3d5592833b22bb73413a2f0202f6e25
+EBUILD ammonite-repl-bin-2.5.8.ebuild 1045 BLAKE2B f64b4f30245fc8f45a334b0b02d53d775dd58f94855b874c0c771d8e6a7d752e4d54ef50a4470458173bfecbba288a43211abfcf2f5a2887b1ccb4e71a1b177e SHA512 2ec00c99f37b99578f312b8360fb0e63b13f4953b75ce752af547c31c0ad580d38d8d978d0c47e4591d3300a29368712a3d5592833b22bb73413a2f0202f6e25
MISC metadata.xml 736 BLAKE2B 72e4d24ad974a4459e4717d25dbb50b601609400cff9c8f0386e7470a21ddf72e811b015d8d019147cd2c81e5aa24de96ef2aeeb0c98d5cda6001cc010519d6d SHA512 3445736cf37693d907c929f519a3f8ca1fd450cbeb5eda48438e8af3399c13542979fb75bf11a2e50025c5785ed4cd176b7e22012cea0565bece209411aa15ca
diff --git a/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.8.ebuild b/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.8.ebuild
new file mode 100644
index 000000000000..83bb645f7adb
--- /dev/null
+++ b/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.8.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Scala language-based scripting and REPL"
+HOMEPAGE="https://ammonite.io/"
+
+SRC_URI="
+ scala2-13? ( https://github.com/com-lihaoyi/Ammonite/releases/download/${PV}/2.13-${PV} -> ${P}-2.13 )
+ scala3-0? ( https://github.com/com-lihaoyi/Ammonite/releases/download/${PV}/3.0-${PV} -> ${P}-3.0 )
+ scala3-1? ( https://github.com/com-lihaoyi/Ammonite/releases/download/${PV}/3.1-${PV} -> ${P}-3.1 )
+"
+
+KEYWORDS="~amd64 ~x86"
+LICENSE="MIT"
+SLOT="0"
+
+S="${WORKDIR}"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+IUSE="+scala2-13 scala3-0 +scala3-1"
+REQUIRED_USE="|| ( scala2-13 scala3-0 scala3-1 )"
+
+src_unpack() {
+ :
+}
+
+src_install() {
+ local last_amm
+ if use scala3-1; then
+ newbin "${DISTDIR}"/${P}-3.1 amm-3.1
+ last_amm=amm-3.1
+ fi
+ if use scala3-0; then
+ newbin "${DISTDIR}"/${P}-3.0 amm-3.0
+ last_amm=amm-3.0
+ fi
+ if use scala2-13; then
+ newbin "${DISTDIR}"/${P}-2.13 amm-2.13
+ last_amm=amm-2.13
+ fi
+ dosym $last_amm /usr/bin/amm
+}
diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
index 6d421fba19ce..6715a4e697a2 100644
--- a/dev-lang/crystal/Manifest
+++ b/dev-lang/crystal/Manifest
@@ -2,7 +2,11 @@ AUX crystal-0.26.1-gentoo-tests-sandbox.patch 943 BLAKE2B 5998c494c55f1039111ed0
AUX crystal-0.27.0-extra-spec-flags.patch 493 BLAKE2B 84270f431db778bfe4b3b9b291278960ad8e7f18a4e519eb38aea55f2777cd5bc183e2a7035b4364586bf69ca3ec40d52dcf0d5e5fcaf04ef91cd3d1efff2000 SHA512 95390bdc9e594bb8496a807287ea8225cfc13a1ad7d49a42c791cb94f641939b0002ec7dcdeb8d62565906c035c40e9e0d744ea7e8f4695dd07b66e5b66327da
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.5.0-1-linux-x86_64.tar.gz 29749716 BLAKE2B f1a84e89bb1c92349dc6e66088cd60298a7de25a5b42876b06ab8460e277db8fe53fa5477e8189f5382ad98b571df25978437c5619260f58ac721d1235882025 SHA512 49ff065bd084c4d8ad4835e79bd7679d76f4ee641ad8955c110f585429297a3343a6e7406fbacfbea18d91fd7ebbef40f61e1db66c249ca653d43b46dce68636
DIST crystal-1.5.0.tar.gz 2909586 BLAKE2B beb6bf0b8950317fa1883fa5c281ecf205f3a2c545b99e489ab07420534fa14ff1feb2a506a961304280cfcae1142faffd42acedd6845b96f439a6407e09106b SHA512 9f1915834c0218b05c6197325df1fc52d5d6a94ba1b83629ac07df4073271d777c1f6acfa7286eafb645e9118702ff856dfe590c8b2a3d91eb6929e88275f7f0
+DIST crystal-1.7.2-1-linux-x86_64.tar.gz 41103664 BLAKE2B 399f5703fe907bed55b002d3d85873871c55e5d091c6342c3dc8356b219d5190ee3bf94456c0d4f169f4e2dee1f62cb42acbe707db9ee46c12a6ac4d60c4b5a4 SHA512 374e1a26f4540a0b368edd280dbab77d39237104432d4998f067e042de05bc58340d6a80ce569d5089b73e0d9b79fa5c65c04ea51f88ac5b0294af81d54d81ca
+DIST crystal-1.7.2.tar.gz 3121696 BLAKE2B 425d03a5ab34d885c6115582ae4aea3684fb088aeb3e8480087a14ff1963032e6ff4baa3022313d418dae5dce4a533786ee3993d19c81ed281b5a75411e5a4e8 SHA512 d278bc9a54c822e6c72269505158085bc7854b0f33c91a2adc24c656b310d20f5b49c633ec6216fbdee4dd17e9fb262d3315bf522c1c88e1ddbcb0dc386ce6c8
EBUILD crystal-1.5.0.ebuild 2544 BLAKE2B cfe10041668fb42053f97f2fa8bf0cf339c6a30d5110d34080d5b3bec6a6f7a8a99a61a41245136e81b09f370201c339fedd528c88900945dd725a1614e2e2d1 SHA512 c364de37b0c28d72cc5b057c5a88e1452e9cffe4b885d7297b74d3e9b2d05e25b54e9cdaadb302357eccef0607c7ca22691f438c96cdf44ee68e04fa15cfed1c
-MISC metadata.xml 822 BLAKE2B 75fb394e2c4ccb7ed15df03b68f5adab6b40555dfd1f8a6349e144154162fb9bbdcf6d094d77ed8a477aea817401140bc800871ad86ef74393e7fb8462a21fe7 SHA512 7114e89e86a4fc1018647e77c54834ea4fbb717275573dbc5aedbf051b06da286cfa274ef5449eb4568f9e905eb1a58f11b1cfb50bb7316fd4b6d895d274cc4d
+EBUILD crystal-1.7.2.ebuild 2603 BLAKE2B 519b670048e52a65e322989e5dbcc8a7172c96962d69e0cc08e399d69ad11c68e881552490eda038c0c8d5acf4ff0fa0d24a9f574b29bb45f5fb8380f99a49d0 SHA512 40f78f93c631facc19e2c60155c437f3d56f1d0cc109ad214f245e3d2dd63453acfe7b6cc110e67e374fc0250abd880c5381840ef97fb924181d4049d011b6fb
+MISC metadata.xml 762 BLAKE2B 591f38c882318a6564501cc61abe6222264b65adeaffaf3b23d959ee86b83bae33eaf99029229705f92070fa539fd6d63d8242afc38475904483a9a0b997effd SHA512 ea223d568a3c336a43b183efc61bd1f1a9d1e5e0e8d963275e0b23ee879551bc7d8aae797b1e2edba49d119ad306692599eb535c5d164ebee0c6721dfeab78dc
diff --git a/dev-lang/crystal/crystal-1.7.2.ebuild b/dev-lang/crystal/crystal-1.7.2.ebuild
new file mode 100644
index 000000000000..5a6e1e59917a
--- /dev/null
+++ b/dev-lang/crystal/crystal-1.7.2.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2023 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=14
+
+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="
+ dev-libs/boehm-gc:=[threads]
+ dev-libs/gmp:=
+ dev-libs/libatomic_ops:=
+ dev-libs/libevent:=
+ dev-libs/libpcre:=
+ dev-libs/pcl:=
+ <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=
+ llvm-libunwind? ( sys-libs/llvm-libunwind:= )
+ !llvm-libunwind? ( sys-libs/libunwind:= )
+"
+RDEPEND="
+ ${DEPEND}
+ dev-libs/libxml2
+ dev-libs/libyaml
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-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=(
+ $(usex debug "" release=1)
+ progress=true
+ stats=1
+ threads=$(makeopts_jobs)
+ verbose=1
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ AR="$(tc-getAR)"
+ LLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
+ PATH="${bootstrap_path}:${PATH}"
+ CRYSTAL_PATH="${S}"/src
+ CRYSTAL_CONFIG_VERSION=${PV}
+ CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal"
+ )
+}
+
+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/files/crystal-1.7.2-extra-spec-flags.patch b/dev-lang/crystal/files/crystal-1.7.2-extra-spec-flags.patch
new file mode 100644
index 000000000000..cc9e21abcbd6
--- /dev/null
+++ b/dev-lang/crystal/files/crystal-1.7.2-extra-spec-flags.patch
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -33,7 +33,7 @@ SOURCES := $(shell find src -name '*.cr')
+ SPEC_SOURCES := $(shell find spec -name '*.cr')
+ override FLAGS += -D strict_multi_assign -D preview_overload_order $(if $(release),--release )$(if $(stats),--stats )$(if $(progress),--progress )$(if $(threads),--threads $(threads) )$(if $(debug),-d )$(if $(static),--static )$(if $(LDFLAGS),--link-flags="$(LDFLAGS)" )$(if $(target),--cross-compile --target $(target) )$(if $(interpreter),,-Dwithout_interpreter )
+ SPEC_WARNINGS_OFF := --exclude-warnings spec/std --exclude-warnings spec/compiler --exclude-warnings spec/primitives
+-SPEC_FLAGS := $(if $(verbose),-v )$(if $(junit_output),--junit_output $(junit_output) )$(if $(order),--order=$(order) )
++SPEC_FLAGS := $(if $(verbose),-v )$(if $(junit_output),--junit_output $(junit_output) )$(if $(order),--order=$(order) )$(EXTRA_SPEC_FLAGS)
+ CRYSTAL_CONFIG_LIBRARY_PATH := '$$ORIGIN/../lib/crystal'
+ CRYSTAL_CONFIG_BUILD_COMMIT := $(shell git rev-parse --short HEAD 2> /dev/null)
+ CRYSTAL_CONFIG_PATH := '$$ORIGIN/../share/crystal/src'
diff --git a/dev-lang/crystal/metadata.xml b/dev-lang/crystal/metadata.xml
index 456e61401b3b..e07ed6579205 100644
--- a/dev-lang/crystal/metadata.xml
+++ b/dev-lang/crystal/metadata.xml
@@ -1,25 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>toshokan@shojigate.net</email>
- <name>J. Pz</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription lang="en">
- Crystal is a programming language that resembles Ruby but compiles to
- native code and tries to be much more efficient, at the cost of
- disallowing certain dynamic aspects of Ruby.
- </longdescription>
- <use>
- <flag name="debug">
- Build each module as a separate object file. Speeds build up.
- </flag>
- </use>
- <upstream>
- <remote-id type="github">crystal-lang/crystal</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <longdescription lang="en">
+ Crystal is a programming language that resembles Ruby but compiles to
+ native code and tries to be much more efficient, at the cost of disallowing
+ certain dynamic aspects of Ruby.
+ </longdescription>
+ <use>
+ <flag name="debug">Build each module as a separate object file. Speeds build up.</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://github.com/crystal-lang/crystal/issues/</bugs-to>
+ <remote-id type="github">crystal-lang/crystal</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-lang/eisl/Manifest b/dev-lang/eisl/Manifest
index 9b75bd7f57fd..b1e18dbe871b 100644
--- a/dev-lang/eisl/Manifest
+++ b/dev-lang/eisl/Manifest
@@ -4,8 +4,10 @@ DIST eisl-2.63.tar.gz 2004974 BLAKE2B f563c28ebfa6f45b1d5ace1087646fa63e99b98a6f
DIST eisl-2.65.tar.gz 2025074 BLAKE2B d4703b696ea28dd5113dba199ccaf6a37955ca27297efaff4fc7c575fb94d0adfca1a3ae3b2f2baa8fc17ab04cc1b0a5ee0eb2059743a0828b81d6a324a574ce SHA512 7e2f64b37211b119e8a12975403ceec7b0861826a5de0c5e776f1140323f5ee73c75443f2e3438dda4d4cf7e1a8738c6883b1ab6d579558813fa5ddbc6be7898
DIST eisl-2.69.tar.gz 2124476 BLAKE2B 8aa1c63f669f7fc04ca9d3f751cb298d3499d52007ccee7f6bc7d1a0cf6d4539e6d6dd9e76d2fa2ff887a26235ffcaa545d59d2c6c045b8d5f44913798e683af SHA512 3131f917408f768df51f488aadcc168705c118970a984ba5d72a5beb1a39cdd1327d3bc282108ec865df75110ef97c7f25ecfccf3fd552b5cdb0539ca3ca33b5
DIST eisl-2.70.tar.gz 2126647 BLAKE2B f9bebd32a45cf73d3b58598e2f7683611426dc97c4e6411549e49f19c9e843dd24d90e9bdaf9ca97bc70fea970068bf2dfd532a861fd444b9f8b17f76666bf07 SHA512 9aaf75244515d74d40d5534e20d108f7723e0fb9cf01ecc618d32a4cd2fdd2f7132445ed9ce020e0c9ea3a05bee614e78853ac0554ee189946ee3d220ba082ec
+DIST eisl-2.72.tar.gz 2124119 BLAKE2B e0a1216b4e9c301ec965d0dc7a6fcaa5acd91fd611193959fee698a27523c0c4832e7960652af14af3e7f5846131d81f0ae9db7030511e051d5384ba573241ae SHA512 80998239b9cc421f42323f24ffbc5f518a2675c314580284309d127523bab328db21d294d8d32dca413abd63d279a2c857ea34ec35548da15459235eb0f3da2b
EBUILD eisl-2.63.ebuild 873 BLAKE2B 7438f1e9c6324f10b90b6189136f0ca049870ee2f475fdd451b0e3abc679c8d528ffdbe2021715a002beb0cb21e302622ae0586e4eae9b6172db144f8c457977 SHA512 242c39416e07b29855c84e9607cebfba81ee36c0d4fcc035a26371d84bc0a934c32fa8f6a11d76c5e06aea74011149e7907db4f35baec3ea5ba51c9ef7ddd2b4
EBUILD eisl-2.65.ebuild 879 BLAKE2B 91ed3a8de726588e457df61127a5b7411f31c74cff812820200b373b19d2f93f1dfc9d93698c6e0d9c86af4baa2ca39608535c86a35f68a8a433490425f5364a SHA512 20780fabb322a2c3f096d44df59980ee65bbdb267442e396ab615413ffce491010b0a5da7f5a887b208ac93a36b14c26b350ca30d4faf3617b8a9df1e0959f8b
-EBUILD eisl-2.69.ebuild 880 BLAKE2B 6b593c8a07e1959a701ac46d2f8458d6ef95286e5cd69e4108cf8f05c2dd1eafa4b632b3af250f4bb4d24813ce94bf48b9623064238766b2bd653d76e5a0514f SHA512 c5e6c7bf69fc643edc8a1917d98054b960983a4f53397e9d02da2447dfda0471ff250cda650b3623cf5dd6d9da32e5bcb628b84e911fbb4c837d3abf9dbd9c27
+EBUILD eisl-2.69.ebuild 879 BLAKE2B 3536c88b75345112c12a3140726d629163bdcd1c41be5db5c1bde0efcae7ab5b9acfa249cc488f6301207d3ca24627b1e9058d649de8081df0a37f8a36f03331 SHA512 873d50ef36af6d93e747e7440a3a14253e471310b16dd480f4378309c8e4f47f64abe10e3e13b35ddcaea7e1587f2e39825b7959d2391c3321674e3e5102ac37
EBUILD eisl-2.70.ebuild 880 BLAKE2B 6b593c8a07e1959a701ac46d2f8458d6ef95286e5cd69e4108cf8f05c2dd1eafa4b632b3af250f4bb4d24813ce94bf48b9623064238766b2bd653d76e5a0514f SHA512 c5e6c7bf69fc643edc8a1917d98054b960983a4f53397e9d02da2447dfda0471ff250cda650b3623cf5dd6d9da32e5bcb628b84e911fbb4c837d3abf9dbd9c27
+EBUILD eisl-2.72.ebuild 880 BLAKE2B 6b593c8a07e1959a701ac46d2f8458d6ef95286e5cd69e4108cf8f05c2dd1eafa4b632b3af250f4bb4d24813ce94bf48b9623064238766b2bd653d76e5a0514f SHA512 c5e6c7bf69fc643edc8a1917d98054b960983a4f53397e9d02da2447dfda0471ff250cda650b3623cf5dd6d9da32e5bcb628b84e911fbb4c837d3abf9dbd9c27
MISC metadata.xml 631 BLAKE2B fd171b07cf1f7beae7be774a5da360d466c83f01a6bd52dc69af436926ae5aebec27a2723c11498be21c4f96f6b82c6aa3571f4b84e763459ef78086450252f2 SHA512 dd9e329f24ce6d3922e92e81d36234b93151f71c88d6ba4b38557565a7c1c3bc4b7172d4d55f1d2d5bd6c5cada449691067cc71abd4d456941f6a8b78fe0df87
diff --git a/dev-lang/eisl/eisl-2.69.ebuild b/dev-lang/eisl/eisl-2.69.ebuild
index 97bd3630d4a3..737f99d4990a 100644
--- a/dev-lang/eisl/eisl-2.69.ebuild
+++ b/dev-lang/eisl/eisl-2.69.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/sasagawa888/eisl/archive/v${PV}.tar.gz
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
RESTRICT="test" # Tests run cppcheck (and fail)
DOCS=( README{,-ja}.md documents )
diff --git a/dev-lang/eisl/eisl-2.72.ebuild b/dev-lang/eisl/eisl-2.72.ebuild
new file mode 100644
index 000000000000..97bd3630d4a3
--- /dev/null
+++ b/dev-lang/eisl/eisl-2.72.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 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/"
+SRC_URI="https://github.com/sasagawa888/eisl/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="test" # Tests run cppcheck (and fail)
+
+DOCS=( README{,-ja}.md documents )
+
+RDEPEND="sys-libs/ncurses:="
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.67-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/fuzion/Manifest b/dev-lang/fuzion/Manifest
index 09b35c3c539c..858d69edd3dd 100644
--- a/dev-lang/fuzion/Manifest
+++ b/dev-lang/fuzion/Manifest
@@ -1,3 +1,3 @@
DIST fuzion-0.080.tar.gz 659142 BLAKE2B b1889ea646ddcb49248db1aa65cfbd3971ddfcad28976e39f631d7f6e3bd7e78f4dbc08756711820e982bcee8aef7eaf8de69a01408457d371c00fad926386ac SHA512 6bae87090b613dc82cc08526c66a62b81e757dc686130553a6f35ef9ea11dacbd726ee52ccb63019bcec876d5531b6a7263f48538eb05c062482f7609cd229c8
-EBUILD fuzion-0.080.ebuild 970 BLAKE2B 7b3f536918e83b4fc2ed9c16203ed9bccfe020b6dba9a778f954290f63e2818ceaa3d6900947b3db4035b52ad402a60b41e8c0b19380284cf85e09208b71e389 SHA512 4ca4b455eac6a776ec02817863f09c3e4bcc9e0dc4a171b328c8e4810e0f497be6fe030ad2136519453f7714088695eb45cd5f5e7e37d7a06c85a307338396c8
+EBUILD fuzion-0.080.ebuild 1221 BLAKE2B 232f827e4736cc268ef961af37a84c262339298a3250aab979e158ee5a78239278198b9fb6db3d6b39f18c7f1ba429cf99fa7da1d06f2c2993a7415d53ceee2b SHA512 1cc41eee19298cdb44b362b4306aa7a0d82e1652c4124cc9537d25f282a71a625d4c44e6448845cb59e477a5706fb03a458187676493edc889ac43678b0eae56
MISC metadata.xml 678 BLAKE2B 1785e807c53bd64819e1e7510d96a6d81bf316351d38633cd45f506fe79faad7334fb13ca646366c31146f66301dfbe638a71fffee0726867f6863340b7d14f3 SHA512 d61ffbe425b6a6b84dc1f813f279c0e655650e8b5273c69492f1092414ae956c8f1413bda3a87e5a28783a1d219d7d69282eeeaab1c8e6227a04c05ca0bea27b
diff --git a/dev-lang/fuzion/fuzion-0.080.ebuild b/dev-lang/fuzion/fuzion-0.080.ebuild
index 85dd0ea40aab..fc6bd6f75d82 100644
--- a/dev-lang/fuzion/fuzion-0.080.ebuild
+++ b/dev-lang/fuzion/fuzion-0.080.ebuild
@@ -31,7 +31,14 @@ src_test() {
}
src_install() {
- rm -r "${S}"/build/tests || die
+ # Remove unnecessary files from build directory. bug #893450
+ local torm torm_path
+ for torm in tests run_tests.{failures,results} ; do
+ torm_path="${S}"/build/${torm}
+ if [[ -e "${torm_path}" ]] ; then
+ rm -r "${torm_path}" || die "failed to remove ${toremove_path}"
+ fi
+ done
insinto /usr/share/${PN}
doins -r build/.
diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest
index 8328fba50989..1674a6973879 100644
--- a/dev-lang/ocaml/Manifest
+++ b/dev-lang/ocaml/Manifest
@@ -16,6 +16,7 @@ DIST ocaml-4.11.2.tar.gz 5075323 BLAKE2B bdc503d9a8d0e39dd11060febcd0287657b460e
DIST ocaml-4.12.1.tar.gz 5181696 BLAKE2B 9d21438e09b1a9680eabb65f5c78d9fe84459592ef7bb797a1933e5383f7b6d5cefffa8cdc184abc102417f5dbc0fca8ef624c9b560f89eaff6537544b5b395f SHA512 e942e5cf5530804690ec45c40936ad2acbb60e11279fc676e0f04181fe1855f84ee5c3cb9c337fc5d01f6ee0e7b2251a6c04f7de56d99c20bb62026dff6c5671
DIST ocaml-4.13.1.tar.gz 5323203 BLAKE2B f1dcb1601ebfa2a37351e3a466a7ca601518c2da403b01aeb182738a54d5887523ab554d747d6591cb09b07b417865e20907f7877117b2d2d069ef6c9edc0fae SHA512 da3434177438c852da53c0fda7bc2519adcda6384d97d45e44137ed0fd384ffb3da61958a7b51296edb3f88f5a5310ca71b6862f6d756aaa4012d1f54e5955f6
DIST ocaml-4.14.0.tar.gz 5494844 BLAKE2B f2f9142a95722c7fc5fda205ea6b951939f7d285963b8aa14dc157ac10202ef9d00c7590beabdc97ed83548d61e5ef28b60a360f1a492420a54f4e26dfbf89f0 SHA512 3c5e5b9f00bb109dd99b5f7b0078cf8663d4247e548f3e601d6b2a55582e04bb20f6de85005c4cf2f78ae9aaa449f5ca6f2bab2f6ce83eeb3aeb386e3f2fcc32
+DIST ocaml-4.14.1.tar.gz 5498436 BLAKE2B 6113283ab0f7ac39ade1f35a02c203a6956f8f4efa4f174daf53483c1d874613195c2705ca02760f0ff4abd9b37c91f8dec59c010ac8ae8731790cdd6f429673 SHA512 6340e145c7d11a1ee9fa1699fc6a8a6785f14ff9c05dca708cf278194642ec9b7c562d744d8b38e5dab74b88fa3a5760035e214f5f8fab8b233a344b035db8fb
DIST ocaml-patches-9.tar.bz2 1700 BLAKE2B 4e46b8fb490db28f815414e285f54e251394ea53e1d25c529bbea9f03e426fd19132b1e2c7c2be7d14983fceb4cad073d191b001f6da522fee4226371d4a2eca SHA512 cc19f9104fac69aecc5effa8cb772342e1fb61cdcd38ba0176efe04cf3d710b1c56d5178748f3bd29099af91fa684da432a8ef8d42de76dbd1b6954a255ea6c0
EBUILD ocaml-4.05.0-r9.ebuild 4370 BLAKE2B 22f915f38da08b3f98923f337dbe1a2ae25f2edaf73887f602c0d13047808bff8f5bcde68d7ac214f07da7d68d6c05a2f9520318d1cda041d54e37966b27c605 SHA512 111a2e4d4a18034a2d4580d19e4074fd4d6b60330e0af861062c4196c19027667d18e0361e1e73cdf9d46c31d06d66ce9a7ada36058fca168f634a891cdae861
EBUILD ocaml-4.09.0-r3.ebuild 2794 BLAKE2B 0a7e6b805915602875e3f323f97370a5f9345c2a1a9e30ed545922cfdd31c8d304d2e534b1ead1719b9be33f72c79c8383ca63fa45f2f62084f47c7cfd1e127c SHA512 b87052b9caea618b0024342e614859e68bb30b3426b31df313006a3c655be8b60e47ab9611c609307bacff610f0cc889e68db14e1c78bb820f33bcde8b32f5ee
@@ -24,4 +25,5 @@ EBUILD ocaml-4.11.2-r2.ebuild 2642 BLAKE2B 3639ba3300e16337b2b0d31b4bca1accad472
EBUILD ocaml-4.12.1.ebuild 2559 BLAKE2B 50f373f16833ba2783fa3f1758ce0678934b3be58d662b595440f8abf0f0179ea78781835303dadd583cedf412c08cb1799e54276237fae491cdd944615d9f98 SHA512 9f3ce96e0f69f6a11d431255709f0ea11f46bb80f43597d3b026a916191bc6e71671621720184e4d2ddb962dc45360a6d0541c68525720ea89e63b009acf57f8
EBUILD ocaml-4.13.1.ebuild 2522 BLAKE2B 8960f3e3ec99267b9a5673c7ab3765970ecbf1d1cd35500be26b7d0ec5d4e35c2c700b39179c2178f86b9f89fe9772d47f01ea70f925b6bfce048f7a799cbfba SHA512 390b1b201c9a3b9cebf6a17e4820224e7b321390801134a496ba45fe607a9af8b1417eb3d17cf52f41c5a70eef9d463182df392cb264e1243efbce90f7f5a8e7
EBUILD ocaml-4.14.0-r1.ebuild 2548 BLAKE2B 65ce4b1a463df7ba0d42fabc25fa57e72dece6b8624a94c8eadc7fbb3c800ad2363e87613c5e5b1fefb06cba55189f83d8cf6aebb6a140876b360a2ccd8e90e0 SHA512 d24f07e097874566badcbc8eaebb8eb62bbe292242a5c94893c77f509c5b2313a15427e1503dbbcde2ecfc1d14bcbec5acd8b487d110ad0aa65d73c56a001cc7
+EBUILD ocaml-4.14.1.ebuild 2486 BLAKE2B 98ba4a9bf0726039451a0adde11525683df03c28612b5118ac658713b719b78aca257400301055adaac09e0c7e4f68c43558fe2db0729fd340e6be0ab0238d61 SHA512 58461c438ee34d2459e1a33ff7e66c84a178e93b13db3c49c1edcd95a126708f943ff0d6be3647ed0e770e23ef1838c395f7807fd0d792f71e3d6784ab65289c
MISC metadata.xml 776 BLAKE2B e7b13b4bb764cec6df76ede0eb2d492cc705ce51b18a445fa3f9ebaab119fab8cae45a2a9d02c70f38e19f2e2d2c06de648a3a0843a603dd7b68942c7cd00bdb SHA512 92e3afe1c40991d37dc460d6091ff2b15c83740343e5d8dd69344eb61d873fbd66af1b96e70904f7757c06f2b104d1450883cc79877709c779467af64e2ea96e
diff --git a/dev-lang/ocaml/ocaml-4.14.1.ebuild b/dev-lang/ocaml/ocaml-4.14.1.ebuild
new file mode 100644
index 000000000000..555de3ad282e
--- /dev/null
+++ b/dev-lang/ocaml/ocaml-4.14.1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+HOMEPAGE="https://ocaml.org/"
+SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz"
+DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles"
+
+LICENSE="QPL-1.0 LGPL-2"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+IUSE="emacs flambda latex +ocamlopt xemacs"
+
+RDEPEND="sys-libs/binutils-libs:="
+BDEPEND="${RDEPEND}
+ virtual/pkgconfig"
+PDEPEND="emacs? ( app-emacs/ocaml-mode )
+ xemacs? ( app-xemacs/ocaml )"
+
+QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs'
+
+src_prepare() {
+ default
+
+ cp "${FILESDIR}"/ocaml.conf "${T}" || die
+
+ # OCaml generates textrels on 32-bit arches
+ # We can't do anything about it, but disabling it means that tests
+ # for OCaml-based packages won't fail on unexpected output
+ # bug #773226
+ if use arm || use ppc || use x86 ; then
+ append-ldflags "-Wl,-z,notext"
+ fi
+
+ # Upstream build ignores LDFLAGS in several places.
+ sed -i -e 's/\(^MKDLL=.*\)/\1 $(LDFLAGS)/' \
+ -e 's/\(^OC_CFLAGS=.*\)/\1 $(LDFLAGS)/' \
+ -e 's/\(^OC_LDFLAGS=.*\)/\1 $(LDFLAGS)/' \
+ Makefile.config.in || die "LDFLAGS fix failed"
+}
+
+src_configure() {
+ filter-lto #bug 870349
+ local opt=(
+ --bindir="${EPREFIX}/usr/bin"
+ --libdir="${EPREFIX}/usr/$(get_libdir)/ocaml"
+ --mandir="${EPREFIX}/usr/share/man"
+ --prefix="${EPREFIX}/usr"
+ $(use_enable flambda)
+ )
+
+ econf "${opt[@]}"
+}
+
+src_compile() {
+ env -u P emake world
+
+ if use ocamlopt ; then
+ env -u P emake opt
+ env -u P emake opt.opt
+ fi
+}
+
+src_test() {
+ emake -j
+
+ # OCaml tests only work when run sequentially
+ if use ocamlopt ; then
+ emake -j1 ocamltest.opt
+ else
+ emake -j1 ocamltest
+ #ewarn "${PN} was built without 'ocamlopt' USE flag; skipping tests."
+ fi
+
+ emake -j1 tests
+}
+
+src_install() {
+ default
+
+ dodir /usr/include
+ # Create symlink for header files
+ dosym "../$(get_libdir)/ocaml/caml" /usr/include/caml
+ dodoc Changes README.adoc
+
+ # Create envd entry for latex input files
+ if use latex ; then
+ echo "TEXINPUTS=\"${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:\"" > "${T}"/99ocamldoc || die
+ doenvd "${T}"/99ocamldoc
+ fi
+
+ sed -i -e "s:lib:$(get_libdir):" "${T}"/ocaml.conf || die
+
+ # Install ocaml-rebuild portage set
+ insinto /usr/share/portage/config/sets
+ doins "${T}"/ocaml.conf
+}
diff --git a/dev-lang/orc/Manifest b/dev-lang/orc/Manifest
index 06e4bd220f1e..9630de44517d 100644
--- a/dev-lang/orc/Manifest
+++ b/dev-lang/orc/Manifest
@@ -3,5 +3,5 @@ DIST orc-0.4.32.tar.xz 180340 BLAKE2B fca41f0fc46bb6a841eb37f0f403afd0850053f93d
DIST orc-0.4.33.tar.xz 199024 BLAKE2B 45518ff948f794c5a0eb14ddd462b58760d178267da34fd449a20d1bef4f7d6378b499efe1c7782e83c55be060b6f67023074cf8134e6a5ce129921324562c9b SHA512 ae8adce5dd62f4054879e6f2db76ce8a7959fd32fef0fb99f73f450ff58c5237e15bca764f6780309a163e40afcf400345f12b0aed5b88dc698064e44f8eede0
EBUILD orc-0.4.31.ebuild 1183 BLAKE2B f417e72dec8e15bdd4ffdef8cf7c8f3bf84ecbb31ba814a1f05535a8b92de410e2e0db25ae2e864beb13b62ded43f547e8ffac2b46f5acc3dc192d44cd32735a SHA512 4b70b2b82d107ef096714971ab9eebbe4c4a6c981bd26c0edf7751580dfba97b7db04cae401d6f7415bc36ee0905b3f7782b5d4e4bd446c20cfdd79d199a3cd2
EBUILD orc-0.4.32.ebuild 1184 BLAKE2B 1a85ed2dcac98a9740863c45e4bba4fc9d5827b734e2bcdab3b4a37b12e068dee53a10c56e7b63eed451a2ef37091b4f9d25448c4b14bd5dd5abea2b35a1397b SHA512 69b730395708d67934c7c6eefe46bcffc7bdb507b6c4ba403d3ad298a85ff3f00b81a8ac1ae103de17293d0b37ef5756e55d129ed46643cccb24e1c747901311
-EBUILD orc-0.4.33.ebuild 1189 BLAKE2B 794a3bb760fb3bb41fe6ab84eebd481023fcacc03312d7d8cd640e40faaa9e617d66c1203fef9375ffae7ff3ee5fe639e789908bfacb5f698371b16255412fd7 SHA512 a9b8fb18f081e65f2c53ada3ef4150ee7b18ec1b2c52db3867b4df2b34f35cde2c0e4eea0ad2daebfcbe154876f0dacb60074bdbcb5dab64e3ab1804fdded48c
+EBUILD orc-0.4.33.ebuild 1187 BLAKE2B 867b4ef5f5d0ba4b1e3fa9a91d732603938a88fd58230f1bbe3253514d0f2d3da4b9221d0d00be139d2dc350c87ceff6b2f66d21e3322ec1624d064fa30c15b1 SHA512 408c41b3c67afa11bb3399d08205d33e3f637bcbe207bdee37cbf577e4a35fd31121e930e7383936dd35345a7cf60295734eb7d50aacb48625263de94c8368bc
MISC metadata.xml 265 BLAKE2B 15de31a2337fe8b9175ffe3fd29cb1eb24148d7463f772b18a7fe8b38bd4edb05005df1ce6996cf23dad21db879c18b95d245fa9d096a002b95155c01088f516 SHA512 78a0c7a2a820f7032f384cf68d2affdd92d6f1466778f879909d0acfcc1cdc3bd64eee700ba06979f561583981033aae59b5d61eb4cfd01fc71fc13e4433305f
diff --git a/dev-lang/orc/orc-0.4.33.ebuild b/dev-lang/orc/orc-0.4.33.ebuild
index 235a03aab3b5..51bb1904eade 100644
--- a/dev-lang/orc/orc-0.4.33.ebuild
+++ b/dev-lang/orc/orc-0.4.33.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz"
LICENSE="BSD BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
RESTRICT="!test? ( test )"
IUSE="gtk-doc static-libs test"
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index 05e5308a2ec5..0af6a98f5169 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -2,26 +2,38 @@ AUX pydoc.conf 169 BLAKE2B ce40bb3d5f858bd7a8d9ef5bf215a8ab592568a724f0e08aea219
AUX pydoc.init 600 BLAKE2B fb8775a6663483e5112ec283627610b746020d88494e772b92bb718a9493a52606e565c6c2fa4917a5cb963f166283d09883bd26903f2f3ced6c240d4e292a7f SHA512 9e71ad53486b6882a8441b24225c602195ee33d29dd1b60df27febbc6b752e79929be356152a489f893dcfb11f9c066b999787bc27a8ac61062c86e67a69e87a
DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381998256a1a002d316b38288349884d5960de35c49352d03129ed0bae599e641ec2225898158ebce50a7a2fd74d2c SHA512 a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c
DIST Python-2.7.18.tar.xz.asc 833 BLAKE2B 1d98770e46171971fb99994508d238c01d2755281d2f94353314014d9e83e0ec5f0b3e3950ea1fdf5fce9ba6b8f55312355845c2a3fc4291c27ee56fe6215448 SHA512 c2a5f5a52f47dec52460ad3275758d4e5de6e7075c3def4353c988d74d563a39b42cae2d5eb24e2a23a6247cef69100f91620b11a49c2359fbf99b203c9cbda8
+DIST Python-3.10.10.tar.xz 19627028 BLAKE2B 57fc6869fa05586158a170c1892d93a3036823bfafb9484b9d70bca6cdc3e76f75357622eace4bde9a4c0ca62a1bb79665e5751b41655f9f4d7e345547013ad8 SHA512 f0aee65970a68287b34c4eafcf35c6fa09c81ba234ac356db16fbbc6c36417e4ac67071e616d118f5e192d541d7f177dcab5585b9780e842f656c09e01c37ced
+DIST Python-3.10.10.tar.xz.asc 833 BLAKE2B fd60e6268f7dd6676ea58bd7e80c513506ac9810c1a62ff060134207b0fd8e7b096d5f11f3cc536a1578144ff54c00bcb076d3c3f5889a69a898660dd280312b SHA512 591746d74c6123bf36c763b6e8e1de1554f02eeff30c855623ef0f12d3864d5573eb5efe96d6e142f24627c77b90738ada3456df4ad59bddcb008658f2ca8af9
DIST Python-3.10.9.tar.xz 19612112 BLAKE2B ef2d063a9fbaf234aa4a47149cb184a0379dc403515df10249104a5092750cdaf22ad47916d34e17dd68fff1c30338c0375f4e4e3cc9bde33e0896c1c3ba655b SHA512 d66ea8adeb6dc4951e612175f8838b3092967ff275b7a3470f2d86f470036aa2221e722c3144d90bcd230b88efd53dde204213f72f703e524e4b833e2ccc68e2
DIST Python-3.10.9.tar.xz.asc 833 BLAKE2B 8895c6cb5031b2463cc6ba3e0dc56bee40c2e99117c062f9c72f2b7adb0d5a49782b968abfc764117e8513bd12816915245677c25b1710e3dae3c9e26937c2b9 SHA512 525e166ede6836086de814c26fc880f41eaf1ed4bff6118f00342e42f7ab1c47148447ced1b565e146d3125fa06b5cd6b394a256bc61096766b26e07f18bbf10
DIST Python-3.11.1.tar.xz 19856648 BLAKE2B 2a8942e7a145cfcc5b6932865ff9a1afd300bf2e6c4c915e88d0e849441196a3a4cacf94f3db87eaa7538872059085cf7eeff91c436f424448f85d4b180a6f24 SHA512 5edd70c881e083c96199c60471f18f9ebc4c97a2d45dc66f89e16d7c3638d8a5d2cbf2e84b1be3d7f1178ce9f7fa4197884385c1ee3618ff66a538f872f318ed
DIST Python-3.11.1.tar.xz.asc 833 BLAKE2B 27c6101b2022cb7bea3e6082f1554b31cceb8cabe720e4b19391f550e870588c4defd1552c580a7e063638b80e8b8f415e54a11cf40ae3b0f449500c2e9babc6 SHA512 81ed05c2adf38552bdc5ac761704f2720a646d56681a919a6bfa51f1a4b42cd14edb9c84d58664dbc8e7b561cd78d82ae6b10dda423e1fae543bc7fa4bf3f78e
+DIST Python-3.11.2.tar.xz 19893284 BLAKE2B 0cfb1fefcdd4c4baf5c34f74ab0600ac7cd40101d266c28f66f9d35bcfbf19d6c3ff2a5b0d357ee1d03061e06005ea3ee7b18adf878d32e197434b3da2b7d918 SHA512 5684ec7eae2dce26facc54d448ccdb6901bbfa1cab03abbe8fd34e4268a2b701daa13df15903349492447035be78380d473389e8703b4e910a65b088d2462e8b
+DIST Python-3.11.2.tar.xz.asc 833 BLAKE2B 15795836babd269424f1ff511073e27235827353383d15cac6a85406b967787840ca6c0f119faa1971a50ebb6699e6cdf0de095f428b868b57a91eb8dc6d5baa SHA512 9d9d1c6dd6e56a916c6861cd0e7e623a165b0845bafe0acfcae27b4fe10a6b7015844e6b3f8deded26a763c935e32f565b2e12beb20c43fda16c11eba8d282a1
DIST Python-3.12.0a4.tar.xz 19690792 BLAKE2B f4da53e856afca1acd8ba56dc37d78ef4cfee0007a3a66c9276b7a93dbd4c9e7ddb39aaea344bc55219e33ad09a9b34bf0e8b89273bba8e99643eeafc7e76d42 SHA512 19a98939077004259868cc5e6901d8fbf0ae90ad579700d6993f6b82990b1b4eb92efa5c8b5b7b50cfc46e311cb5c45f83251223a623fe1ade5da45ef2ca5dce
DIST Python-3.12.0a4.tar.xz.asc 963 BLAKE2B da2279932786fad5cb3def5e34f9f113b9203233f70edc805ac1f7c3ddb584883655bb3da7fac1651017269a0dd8ce9a88fcca609ab2072bc6285190c487a566 SHA512 b74a1bf0d5e4f402b6e5164cd140457ed0b172b2bfe61be1642fe053b71092b8bae1f5281e03516a6fba24319c78cd2505494cfada2416b766f4c602c1284d2a
+DIST Python-3.12.0a5.tar.xz 19743140 BLAKE2B 3613523f8417251127b2a013218518a1f311d80a1534e0dd1eb704fc6bfd9e143848a18328a0c8d3fb00d7c6f580ac1b314d38893ca66d1de7eab198862ab99a SHA512 090d205a3cbfce1ea4c1ca5950d24db64e6f8aceb2f6458f17b996071ce6ddf80e60ed3e293b89f242df705e1dec6069ccc3e46f24f5d4e22819d7d54743a27a
+DIST Python-3.12.0a5.tar.xz.asc 963 BLAKE2B f04f9c4b15404887611ff92cf661e65a2465f0a2d20b6c084ef76d0d426e4bfcf3963c45d96d385ce8ce3f739ae37f0834dd7c1837f10d8e4bce438ec8b044e2 SHA512 626ccafcb390e3987494f1c3fecf094047afbb255a65948fd1a1c8568cbd9c58be8e7e50e64b20873645428db7b363166984d075a3674daa9771b4be6fb46439
DIST Python-3.8.16.tar.xz 19046724 BLAKE2B cbdeec7961d39cb9ab4960760b5d4c7ae71675c174156aa9f6fca55ee92a93a937ef39defe86e423237a25e0e24703233ce4b91dc97005b6ffc1f342ddd9e22c SHA512 d206e80806409410c00ef8acd8c3d90e3cc9553f996d0a57faa63802f2415e9d7591542b2e84b5e8e79245f40f6478790b5ba2acf1da98ebbc9495999183f7fd
DIST Python-3.8.16.tar.xz.asc 833 BLAKE2B 678dabc558d013b104bf9e65d4319076c4730a67093a66fefc073b429c640d4facb31a0d6b7238deb08b265586a0cfb2c345051fe4df7bf5001d7317e6c06c9b SHA512 e93c394c0c5afcaaab625a3bd540dcc8e0ab946803d212343b8d1d6d5e6b89b09b6a20607bab0d858b30389a03305d57e14548605a65277d053c7817f32f4546
DIST Python-3.9.16.tar.xz 19738796 BLAKE2B 70dedeb70d9d8f27e4f6db5106623e087c61d451c7a04639cf8d3503ad02d4d43f1b36d0cdf1131aefc9bf6e677e561227dd4baef2c2c3d2dbf6d3e7dc36bd94 SHA512 b5fd0afe131c82bbce6ddf887c59eef6945910d6a9a2bc87c0927f4e4a096bf9ca4d25bcb729c40f6ebb8a65fbe8bf7b0b97a7c4a8c9e551240eb4f34b878653
DIST Python-3.9.16.tar.xz.asc 833 BLAKE2B 416b4a4be06e101c5971c12a6f21229c425bcabaea58487e0d1b24d6dea318c58806ee43892fc704df8252670451bd6a4a2610c25672d3983ddb081fed34b92d SHA512 468959c36a3ec6136f57a39475fff4745a25be0cb5d3d58cf3e5faf0b9ce2d2a8b89f1f9fea1479c4c6ad12ac49e97c1cfd4291c978bb3d30df5a582ec315210
DIST python-gentoo-patches-2.7.18_p16.tar.xz 35448 BLAKE2B 0139c0944f62f9cdd236f6a8557e0ed19704c7d72869af1cb7d8bd3e646a746cd4a0201e1b44232a5e78ef49f254db20b0d0271bf744fbfd4fe0f1e99b8f3e6c SHA512 810be590d0e06fab4b2165e6852ca49662f09dcd7e20b47a29f613ad7653252c8dfac3f0eb228d77c8a914efa7c08788b2fbd552a4b47504f5fd0ec17450c48f
+DIST python-gentoo-patches-3.10.10.tar.xz 12220 BLAKE2B 7a3405d16e7a3b45dd32bdf1c78223a2623f997f55135d813f7c081736f383e6628097de4e66c35c07f7a2b07830e03fcb2d40ed56c5361a4c4e7018aae3caa2 SHA512 3433875d8a3311a7940355961f120ac85a2ba557ef527ff352c99d42ea9b50b9540bcb0ff108ff8ae68c179249a5a64cc8100765bd64ec17097c50521cf91610
DIST python-gentoo-patches-3.10.9.tar.xz 12216 BLAKE2B ced4f951089c51ddaab6c62ade9d2c84f69e7e1baf2acf5247559534c7d0fb0e88dca1222f5bd2209b4e61f5aca17279b8054f269535dbc10de0786c2c5779f5 SHA512 2d01f0f3831beeba004517bb82f7d616f25f08e5c755409ecff79cd68e0a619b5bf6802fffd0e5f7f39f1d9d93e65b018b91cdeb337a5e47f1651f36bea0e96e
DIST python-gentoo-patches-3.11.1.tar.xz 7076 BLAKE2B 3ec45f7529d34eabc9d9ba7fa7f8dd51d8754d9758a605b61857a9fd80386a0357837c925263ad7b0e207ff916944b94cc0e03c0f59921f839d5e51d92f0e47e SHA512 4253dbfa057a91db584b92550e2d39d87986f33041233bc400dd0254cbd95415b33fc47b0fe997bb84192c755bc16d3d31941bba4c216ee4d65facf0b48c7862
+DIST python-gentoo-patches-3.11.2.tar.xz 7112 BLAKE2B f6bb83fdd310646b4b5ae397734e3ee90b4028b5716e92cb194fdfe0fe2fe3d3e5ef5e8dddc956d10dcd19bd0308f45d7d24b08e07b01ce872a37302f92d834d SHA512 5bad6b47ad20e2ec786fb91e1476731c06281da611f53fa4d4fb927398d6d827d2e57aa758a2a70cda5f9dc3cdeeb53e7fcb0727e06805aace334c4df022bb8d
DIST python-gentoo-patches-3.12.0a4.tar.xz 8504 BLAKE2B 1257c1fe428fc967ef7d3107f99e4fcef0758a2bfa5b345bf69bb47bc0af1644b449f2b11b61148a8f79ed583a80365432d78ec4bade3d92070f08ad2ff568c2 SHA512 142f5d2ee8c1beeb6084bb6b48a0bbdcde907f48f514ac7743f0e6898a761696bb7788861fcb5c938cc36f212d444ddcfe874880ac8b4d0d54bc8ec04b166ca0
+DIST python-gentoo-patches-3.12.0a5.tar.xz 7704 BLAKE2B 7224d3e4318313183a10dc0d4fa73ab589b9de8096945750f31d45371b926f7e2cbeb2c672c254e369f04bb5588a79335ceea2e3ce4968e76f70206bdc3c9672 SHA512 951d6fd25e113bf29fb334a9162bc132d27a8c3186c8b6cbaddfbdea8ccd221fe126d09cf7c6df59942d49dac8561a4e168468daa0e7cd0d0d3a925166b4d835
DIST python-gentoo-patches-3.8.16.tar.xz 28716 BLAKE2B 28ccad9d77a89f80f72dd12eb89d657825e80061eaa069d4c491736bffd87b235f483b9d079b9f383377ea4bc6c19471bb6a4869a37fc0401abe28e2444fd9d2 SHA512 fe94ee2851af5c87c64ea3af5c1a744a53dcb03743f824a7726803daf454f38511894e24fe68be9de4ab59d1798161a3c320748309d04afd1e77906df353a246
DIST python-gentoo-patches-3.9.16.tar.xz 23348 BLAKE2B 26b66e57530d167776d2aee60fd4620fc8e6c229f371616fdaa74aa2f03fd5a50b61653a5f34e0f2659901ba167af7c2aadbb0d2db773ab08bac8b3125c84b77 SHA512 8260369d96a6328ad8498359ecc56f48cb02015547065cdaec28a6bb2293bef420cb12764fae9fdd13f4a6faa60c4c402e804a22cbed7dca031ac1679032f9f6
EBUILD python-2.7.18_p16-r1.ebuild 8390 BLAKE2B 760f15a7d8c758ad0e850123fede5e2b10d8b44690923a31f235ab2c316750deda21fa16a3408bd32509b0f918eda202c19327cbfdc7d46b7197ee112f7ebc3b SHA512 10d97606434d8b99f84f21e6821989f842228b2e598457e65effce103b5ff852c3e6a5e8fab940f06a63bde671881bab2c1461a7e1c11afacb926128a6ffd70f
+EBUILD python-3.10.10.ebuild 13675 BLAKE2B a390612dc694d39f15b5b6765d3b417ddeedf28e62c3813799a6b07d47e077019315be52d692ef573b147f80c7aa4dcedd90e8662866d3f0349434f8f5e2b999 SHA512 c02a6f29d22cf2080d90b3ea711945a86477b35c41f9ad9549829fe271b61aeebedb4c49dd0493380863248f6d8ddc170de7be058d4a42d5bc9353f58678bb75
EBUILD python-3.10.9-r1.ebuild 13667 BLAKE2B 97f76ca53a0d507f0aaa524eff64d31299ffa81d62fc1b934d80bbddf612d354f94ae2468a60bff8ae3d9e299e1d53c2ce67b4c1eeb1275e0ea22c8ab7b73189 SHA512 efd1bfb9391acaadd9ce6883d65e68fa52461b5a4347df1d426c77748a273c3695469a46f92b80affca350f934fcf94bdc48406e9e348d78a0097f66e9658128
EBUILD python-3.11.1-r1.ebuild 14566 BLAKE2B 4def0a2c1cf782045ba6a9ddfd0bc28d44facf6a731245b365a601c4d1b6d304797b710623270cc270c68018cc9ba1aa95c846b878de96e266cf6bf5d3a8e698 SHA512 ebfd298bc8a3608446425e4b0b579a7f33b0a12db39e5886743ca92087608ecd45a85b95e24cbfb166ce7b64d30758d85f79976fc90b7d679479f1ec9c792b12
+EBUILD python-3.11.2.ebuild 14574 BLAKE2B 8be62e9c6e9e86263543cf15dc5b00a2d805feeaa4670afc039ff18d968b6a47a07892a076956dd1c4bd7df31ca356b929dda8450b21df959e425003fd29168c SHA512 d6ec7e9db0c5f787426114052470ec86856a650dc77414d076e74fd7d7146fa648ad2f2bfc42b5fee0f22d298dd65b89e0c7b05b6290b168e8bced32b5871f18
EBUILD python-3.12.0_alpha4-r1.ebuild 14404 BLAKE2B b39e6adb6a688f581b42a5cb346814a65a6d09bb57fe621dbe8fb9377e3af8b50a3bac5283ea33ac7fbd08565c9f85aeb8242b5945e188f5928042b7369b8779 SHA512 fe66b3d77d4749cdc1b34d1f64bbdb0a24f9b17be16b078325b9276f55042a04d4fcbb2b5025f6bf4306ed92d0b3285e03bb1f9f484dceff3029b949b9306460
+EBUILD python-3.12.0_alpha5.ebuild 14404 BLAKE2B b39e6adb6a688f581b42a5cb346814a65a6d09bb57fe621dbe8fb9377e3af8b50a3bac5283ea33ac7fbd08565c9f85aeb8242b5945e188f5928042b7369b8779 SHA512 fe66b3d77d4749cdc1b34d1f64bbdb0a24f9b17be16b078325b9276f55042a04d4fcbb2b5025f6bf4306ed92d0b3285e03bb1f9f484dceff3029b949b9306460
EBUILD python-3.8.16-r3.ebuild 12046 BLAKE2B 4ca7aeca3534a30fef821525ecb7a7d7fec1380fc9db88ff79313726aa8982e6b7baea60b1f7e453bcd259d41c8d5c1f761867d3b45f8353ea1afab5c05e22cf SHA512 17869a774bf16c2d85ccc0b2c95c526922e35cf5c7b0d77c5ef465998192e53ca3511dee7377cc7d34a61e9727ddb16a568fe44891c63dff98d0ee2dbcea1009
EBUILD python-3.9.16-r1.ebuild 13465 BLAKE2B bf1a41081df421d5ddce77cebd8d3c5c732dde9587acaaeaadd3ffeb236d5ed8f6d5235a992ec69fe1cf29fe6b18cb06045d61956ec0d05c9411a0cc4c532ba2 SHA512 3138585b3e5826fba51811cca19b4c123f4e57943c5cbabdd024e7266f40403e6c86d69173dedfff35d9a781b6a6afb0373355a5a1f95a11fcd8ef59f57d60ac
MISC metadata.xml 1436 BLAKE2B fd5ebcef153bc74aae02f8930dba67736ce44b1dd23418448e7d5bd22391845f5edf0ba8cdf3f43af9254c68734b95fbac9ee891f09c4584c9272ac4233eede6 SHA512 124a1e743cef7236f7936aa843d3aae739a420b1b6173f02c2ef787745616891142724446320d887aeecb95fac09e3620a9666e8e3e32085d79019fe71ff7da5
diff --git a/dev-lang/python/python-3.10.10.ebuild b/dev-lang/python/python-3.10.10.ebuild
new file mode 100644
index 000000000000..76282abcecd0
--- /dev/null
+++ b/dev-lang/python/python-3.10.10.ebuild
@@ -0,0 +1,486 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+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 +ensurepip examples gdbm hardened libedit lto
+ +ncurses pgo +readline +sqlite +ssl test tk valgrind +xml
+"
+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-lang/python-exec[python_targets_python3_10(-)]
+ dev-libs/libffi:=
+ dev-python/gentoo-common
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ 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
+ )
+ xml? ( >=dev-libs/expat-2.1:= )
+ !!<sys-apps/sandbox-2.21
+"
+# bluetooth requires headers from bluez
+DEPEND="
+ ${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ valgrind? ( dev-util/valgrind )
+ test? ( app-arch/xz-utils[extra-filters(+)] )
+"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ sys-devel/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=${BROOT}/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}
+
+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"
+ use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
+ export PYTHON_DISABLE_MODULES="${disable}"
+
+ if ! use xml; then
+ ewarn "You have configured Python without XML support."
+ ewarn "This is NOT a recommended configuration as you"
+ ewarn "may face problems parsing any XML documents."
+ fi
+
+ if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
+ einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
+ fi
+
+ append-flags -fwrapv
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/700012
+ if is-flagq -flto || is-flagq '-flto=*'; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ fi
+
+ # 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
+ -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_httpservers
+ -x test_logging
+ -x test_multiprocessing_fork
+ -x test_socket
+ -x test_xmlrpc
+ )
+
+ 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
+ --with-system-expat
+ --with-system-ffi
+ --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
+
+ $(use_with lto)
+ $(use_enable pgo optimizations)
+ $(use_with readline readline "$(usex libedit editline readline)")
+ $(use_with valgrind)
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+
+ 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
+ local -x CFLAGS_NODIST=${CFLAGS_FOR_BUILD}
+ local -x LDFLAGS_NODIST=${LDFLAGS_FOR_BUILD}
+ local -x CFLAGS= LDFLAGS=
+
+ # 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_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=
+ # workaround https://bugs.gentoo.org/775416
+ addwrite "/usr/lib/python${PYVER}/site-packages"
+
+ nonfatal emake 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.2.ebuild b/dev-lang/python/python-3.11.2.ebuild
new file mode 100644
index 000000000000..8eade19a658d
--- /dev/null
+++ b/dev-lang/python/python-3.11.2.ebuild
@@ -0,0 +1,515 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+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 +ensurepip examples gdbm hardened libedit lto
+ +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-python/gentoo-common
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ 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
+ )
+ !!<sys-apps/sandbox-2.21
+"
+# bluetooth requires headers from bluez
+DEPEND="
+ ${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils[extra-filters(+)] )
+ valgrind? ( dev-util/valgrind )
+"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ sys-devel/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=${BROOT}/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}
+
+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() {
+ local disable
+ # 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
+
+ # https://bugs.gentoo.org/700012
+ if is-flagq -flto || is-flagq '-flto=*'; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ fi
+
+ # 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
+ -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_httpservers
+ -x test_logging
+ -x test_multiprocessing_fork
+ -x test_socket
+ -x test_xmlrpc
+ )
+
+ 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
+ --with-system-expat
+ --with-system-ffi
+ --with-platlibdir=lib
+ --with-pkg-config=yes
+ --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
+
+ $(use_with lto)
+ $(use_enable pgo optimizations)
+ $(use_with readline readline "$(usex libedit editline readline)")
+ $(use_with valgrind)
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+
+ 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
+ local -x CFLAGS_NODIST=${CFLAGS_FOR_BUILD}
+ local -x LDFLAGS_NODIST=${LDFLAGS_FOR_BUILD}
+ local -x CFLAGS= LDFLAGS=
+
+ # We need to build our own Python on CBUILD first, and feed it in.
+ # bug #847910
+ 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 to satisfy --with-build-python.
+ --without-lto
+ --without-readline
+ --disable-optimizations
+ )
+
+ myeconfargs+=(
+ # Point the imminent CHOST build to the Python we just
+ # built for CBUILD.
+ --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
+ )
+
+ 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_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="${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
+
+ # 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_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=
+ # workaround https://bugs.gentoo.org/775416
+ addwrite "/usr/lib/python${PYVER}/site-packages"
+
+ nonfatal emake 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.0_alpha5.ebuild b/dev-lang/python/python-3.12.0_alpha5.ebuild
new file mode 100644
index 000000000000..c2c9e1492070
--- /dev/null
+++ b/dev-lang/python/python-3.12.0_alpha5.ebuild
@@ -0,0 +1,510 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+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/_alpha/a}
+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 +ensurepip examples gdbm hardened libedit lto
+ +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-python/gentoo-common
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ 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
+ )
+ !!<sys-apps/sandbox-2.21
+"
+# bluetooth requires headers from bluez
+DEPEND="
+ ${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils[extra-filters(+)] )
+ valgrind? ( dev-util/valgrind )
+"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ sys-devel/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=${BROOT}/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}
+
+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
+
+ eautoreconf
+}
+
+src_configure() {
+ local disable
+ # 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
+
+ # https://bugs.gentoo.org/700012
+ if is-flagq -flto || is-flagq '-flto=*'; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ fi
+
+ # 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
+ -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_httpservers
+ -x test_logging
+ -x test_multiprocessing_fork
+ -x test_socket
+ -x test_xmlrpc
+ )
+
+ 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
+ --with-system-expat
+ --with-platlibdir=lib
+ --with-pkg-config=yes
+ --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
+
+ $(use_with lto)
+ $(use_enable pgo optimizations)
+ $(use_with readline readline "$(usex libedit editline readline)")
+ $(use_with valgrind)
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+
+ 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
+ local -x CFLAGS_NODIST=${CFLAGS_FOR_BUILD}
+ local -x LDFLAGS_NODIST=${LDFLAGS_FOR_BUILD}
+ local -x CFLAGS= LDFLAGS=
+
+ # We need to build our own Python on CBUILD first, and feed it in.
+ # bug #847910
+ 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 to satisfy --with-build-python.
+ --without-lto
+ --without-readline
+ --disable-optimizations
+ )
+
+ myeconfargs+=(
+ # Point the imminent CHOST build to the Python we just
+ # built for CBUILD.
+ --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
+ )
+
+ 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_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="${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
+
+ # 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
+ 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_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=
+ # workaround https://bugs.gentoo.org/775416
+ addwrite "/usr/lib/python${PYVER}/site-packages"
+
+ nonfatal emake 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
+}
+
+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/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
index f8bd0e4a2002..e0aab2e2cfca 100644
--- a/dev-lang/rust-bin/Manifest
+++ b/dev-lang/rust-bin/Manifest
@@ -64,42 +64,42 @@ DIST rust-1.66.1-x86_64-unknown-linux-gnu.tar.xz 186651920 BLAKE2B de89dd720320d
DIST rust-1.66.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d313eafed62763b0905636ff22d6c736696c55e55d2442512a95e239b5b37199fdb125d312284b2a249782fa61d552284c8eb3ef8c9aa9ea36283a9fb975dd66 SHA512 c491f07c77baeac6b92c2425092c1b3694e72c49d4e6e511597aac03d51930cd414a95b0d691a9b23df266fba8df3dd90bf7d30624383bd213403fe0cbc83ffb
DIST rust-1.66.1-x86_64-unknown-linux-musl.tar.xz 270294752 BLAKE2B b068a9400f29e9318e8d52f2c37df72f1b8fd91ca0bba342e6681544595a7f2697bf10437be6c4612a36d2781cc915920b498273ab12dbe1163c41d9d4e9b438 SHA512 df03ef29b03924346ef2a4b5dbf1c7ce6e33fb1f357eb04b0fa80e48a607b29f5929ce587412c9dd3f385d6382f0229c19d0ce78d6c060ddc0539429d3cfc606
DIST rust-1.66.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B a262a2a020a142ea8e3906a9c93d9294906ee51f5d22efd4ef041b6032524d2714e0b511f7deb366c0ee3337ecd52f1e091b6bfed01615eaa9026996100afe2d SHA512 f390b3a788c5b15b1acee01505b6501ad4a3170cd2f23ec490b02294ce0a62c3f708f1e66c0ba8258a1042dea0401a1e09d31d34e99558f50b0f65b359354182
-DIST rust-1.67.0-aarch64-unknown-linux-gnu.tar.xz 258660884 BLAKE2B 282a9881bf10c17aff5304f968b038b581d9e7ef35553e601f86a5831c237504d8d74d8bd31c8d704c2748fc93f2a42bc93b1213bf7a21326769478647e79d1f SHA512 9b519d3fe1e9daef9dec509fb28d68b66fee0db61a688785c4491340e568e5cb1ce259556f218d81a2420a2ec7e378db9aea9b918aa22e19ca8d56c24607e43e
-DIST rust-1.67.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7c59c61d919156595cc6f2caa443ab5bb7ab4de54d41b5e2363b6a1eb837a0886738cfaef09bc8e7aa3efab852e87548a069615257b942b4065d958c2d02e192 SHA512 2ab4b461191f89c2dbb792a8b168c0e19abddf1b7be6b69077693284cbbff1f32a12d648641956bf27d7208de31e3a993739a77ad03188f8a65d41099249554d
-DIST rust-1.67.0-aarch64-unknown-linux-musl.tar.xz 236674492 BLAKE2B 5c9eebd4f84694fbbaac28850056f58eb9e2cb1f8f2e98344105fc770e95fea34f61aed2f9249efdab225f37be4e99f1e50597a0325d1a595876870e5ef98482 SHA512 5b220bd52498b2bff01286bf03bfff28dfadf9257bf46e10cc1b3d1e7884f0223c00288c843a98b6dfef0f1408f255b320140597d4cba133384c0cfdf7d84365
-DIST rust-1.67.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B dbf5f8a0c7cf017456d45f9e02a624e01b4ba4de0a18bc45784e3b425fcf90b8c07b73d40265e5ead5d08719a043a62083b0a4484004f4691c5467cee47bc257 SHA512 cbef9c6f8d531088390456e0da6ad114272f2df579c48a3180bd714f824eb1473450e406372f9835e8576cd3c50a374cf6c463ea4ba88325aead9800336f951e
-DIST rust-1.67.0-arm-unknown-linux-gnueabi.tar.xz 213875616 BLAKE2B e032b62d879efb02b6dcaa52501c3d831f19c38645af9f95ede4a80dad88be3bce81ca2c88866be9548c7e2ca1e783423a525b936d433245c09d23305882e05f SHA512 8148fa66063b9c0c2055d24582cfc234e5e05e8d430516edd467d80642e5aa971a1191a26fe3e6d77507af306f002e07af2dd021a343e472110f4ad47ee7926d
-DIST rust-1.67.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 0240a75bb28094a4a7187a153449f4912fe4052c096d7f59d5f4e0ea2699dbddb8e3f2f6a2494a5db059427b83b35b1af03315f4b952ada64701fb37cc53a2ac SHA512 d4bc0fbcd45588a7b2d1170d55a82ec11d23f61fdda0f72ced74005eb74bfb31fe146683d91671458d389d23a9f310c5e6c1b5684b21b4f9d9219d4f01e392a9
-DIST rust-1.67.0-arm-unknown-linux-gnueabihf.tar.xz 213541168 BLAKE2B 25baf17e590ac1dac5933fdaf2c5fcb0d1849996224952c7526fa089bf1879a67f928721d990c5fc9dfd9aa9d6fe1e7ca32b5fe2a6048c2f606cca8e3cd0330e SHA512 a98833d19089359cc39bb2c67eff14b255cbbbe999d0e5fd1e4580a4fe7bc450726074a6f346cb8688fe843162c09a5bd95e9fe66e34e09740b104fd61b4dd1d
-DIST rust-1.67.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 080a9a84e18e51b51047ab502cd6ac1b2ddc6c2ea59a2e6cd57557d7b5c45edc40919f9c5190729bd4767ba7a9972be78fe0bb3e5d96f1dbc511cb0199fd0de4 SHA512 b938bf08774ace65d10e558020f7801e3757aeca8ac51f56238b9a4b41c79b434e89404486bc08422d8e2f9a69874af5a425b58e35e17c3773c8ee5a3d3d96fc
-DIST rust-1.67.0-armv7-unknown-linux-gnueabihf.tar.xz 219678556 BLAKE2B 8b3d7d0336c25a7769cfbda82900dc8472ce912fb16f75ebe6ad9457cc5595fdc6dea4d4be7e30c09e6329ef9eba99b9e480f525bc85b8235ce9ae7a4b21afd7 SHA512 d941cfaee0276ca583e2b605b6f943dea7386d543cc25368f31ed21d7086837ef6fab935c9ea9da0a766e5479d993872923d3de81d5fe55991715cd396d1d63e
-DIST rust-1.67.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B f54f0e99292354b6f83158286e637e5df7642427ec1d2ae2561256762e9cc909d91c7ff09c382b5df19db96fe885e83c23d279a2a282f5b1a9d93bdb72b595f7 SHA512 ed3d2a6405ab2f53008cd35fc2fc30e09f76fd201c92d064114452c169ef81ab985c942834028c5bba387da0572ab0c68525b44b806577c8f3179094c55edfd1
-DIST rust-1.67.0-i686-unknown-linux-gnu.tar.xz 235101748 BLAKE2B 0344ad28f3ddf597fd1b29b6d8b4afca07f7fe86b99bef1aef09d6860c5c223cfe0be0a9e37209fe3ecc5ab87699fff51162cf3da1d65f25f755e985503f39cb SHA512 8f4c34736d7238d1e359f86bb9d6eb9b616238bea9fea3101a7c34336b9c772c7ddeca53c6013cf970c92945cc19b12979209675eeb43e7f65ab4d0c9b6b5937
-DIST rust-1.67.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8253e25276590eefbef1f302995eb9c3c259454380c7246eb5637c82343d1b56c3d1e001d572371b8fb907539c2ffe5ce4d82f3285a0272e005a6386554a628c SHA512 a936ecda6242c1b00db86bac53417d51765e228bcf49d2046b281d75c37ef3dff0a4a3e0b0be13abfe7e4634815f43e35ebb2c683a8b91cabb9a8002238c5f5c
-DIST rust-1.67.0-mips-unknown-linux-gnu.tar.xz 196383600 BLAKE2B d2ec0464be57d1abdd0363d08f1e947f4735e21021745060f7b5716fafb80579bdbf78f4c994732409f0faabcd7f6e75193c35ed8c2787ec5abb9cfac28a6755 SHA512 d0e5d6ba2dda3d5d62957ba9cc55df6d1289f010b525fd5ef4070037e72fd8391a6567876b72353621ce2a301e8534d2a32a68068c35b9698bbb37b642716f44
-DIST rust-1.67.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a2c12c0d776e3b864769720e057e3d23378eac58301ceb42e6d50441b5a87c56b581eb9b5c3d7a788de94b9ba848ba72b643d44219a100326f40865df1e6d307 SHA512 6ff7c3712a034842dc4aff494ea1e505186fe07cb1a87415dd053869f205e6c210a517165767c4dec347fe07864567eada39ba17100cd2135586b3e5dbbe1d48
-DIST rust-1.67.0-mips64-unknown-linux-gnuabi64.tar.xz 193741280 BLAKE2B 2ce32d802f5940c1fece0609aa8834b259c8e8e78757999e4f7dd2738509edaca5ce808469af0309d1a2de660c777a591f15798a67e26922433a543188f16436 SHA512 1144cc93d5b70c59e94407a262b27577b5093bf402f1651308244b35e4701428930bbe020743b2f46bc5c4d0423c8d94562ca401f9fda227e313a6f162431cbf
-DIST rust-1.67.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B f2e04511870325c0d3317faac00fd71716b65cdc49b151f1ea698a9e20026cbf05b2f2142beaae7f94ad166346500a1d0ca6ac177e32791f48984304d51e8c32 SHA512 7a9bcef40f7e7215d2de483013027d75cff2eee1a6d8b8a65c3a2fb3627e41971af0e55cc12ed9a7e9c025f9bbbc2b20c681427a591e37469dadc36fe113871c
-DIST rust-1.67.0-mipsel-unknown-linux-gnu.tar.xz 197872564 BLAKE2B 369c52ce8bd48c725e6004939b2dbc6d2708225069226082b25c5fc32e26a40a65f232b3658351fb2bd75a1dbbdea829f1c30dfe240479dfa8fbcbd6ded74c13 SHA512 f0d45627c1192e981bedf893e68c75dce528737dad13e9b8b5bb4647a7ae8243b02aa54b364ff92474b1bcf6b25e60ee6b4028885b2db20feddbc79829bb95a2
-DIST rust-1.67.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 947433cb33e7f1e3b14b6edfb1d11aaaf3e278ffaa2e70d990ae5f2c75a9dfd6ea6f7fb9d738528bcbb3f87d1cb753e24b25aa27c1917f9ccd806193d6f85100 SHA512 f46cb0949eaaf8373e04d14f55c83708bdd0c9ac541d1a89dc9414eb316159bbccba3f955528cc81b30be5107c931a3cdef6edfbcaed2fb0025fc7b8dd1b04c5
-DIST rust-1.67.0-powerpc-unknown-linux-gnu.tar.xz 223122724 BLAKE2B e078393e63cfe089a4942b0a0d1a8a9a8b964a608f09deb3b3dc4dcd2cf9fc1b97ea2510193b7ae43059b27a9bd063293366ae83fb2eec8b4192ea8ceb41a5b5 SHA512 94982573bd992bdea27b90202b03cf79312c2fc8ff0c822f74bf883b0624ad5f9968b8843b6abd3bc74ded454e959b39ac880a999114664ae5c57d274499439e
-DIST rust-1.67.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 830a09a8774853eb71431dfa126a17b9d2939b5305e280c2de69218c440010e92594829f13c7f15f0ae8d028c0eb4d4c83bfd5a7a9c0b112d885981652fc0832 SHA512 7bda28867dd5c6d415b924887ddff9042bd51e913fedae2c9d68451427685d82e282345d02d2b30ecfb60638a08200d9c946656a2711f51b40348fc7fe88789b
-DIST rust-1.67.0-powerpc64-unknown-linux-gnu.tar.xz 220280040 BLAKE2B a47cc9c0636fd654a3cbeda2a95a04c7c190cb295364e4ebe9824354f3908b2645f36633b0827a10e562d5c96d99deb98431c29a9459674ac896f46a63228cf9 SHA512 b49bf8ee407f31ef13834ed856ead56fc35463ca770fa2d6b821eda12efc09f41d999b30bedc5c7690aa7682c09b4445ba8576af5cbd037369a0d02cd2fc0e96
-DIST rust-1.67.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 835c0699a036f89d3c6e60ea99e736fb1195da7c3d6098743f4ebfee82c6c9f0565c3210713e706f1c8bc9b4744514d3a463335676da7b86527010370765485a SHA512 afdb5f5fe8731e87656bda0d057526a78b9c39f61d9788d32d022c7bf06157fb68f169a1156b6b4b947c36a5bc44ed2f61f033beaaef27b8cb0396fb79b81a34
-DIST rust-1.67.0-powerpc64le-unknown-linux-gnu.tar.xz 232559592 BLAKE2B 67b0bc67f59f84868bb75a7b9a598c36edb202bf0d001d10a73d4944b4e779187b6dceeabf744d11f6a0980ed5ac3d2c14d1053ab086f919489db28208f9134a SHA512 acbbf36e3aaf0a5e9d9002d1e7968d43f8557f9e5537957a5c31a5c340b9d2a4a8a39275021c7b8be9b83d916b067a9028e742da26a91ad7a7d7efa1e60f2c67
-DIST rust-1.67.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d58654e30f932a3ebaf02e678da143afd1efc908bf7260f7681020446aea6e57429dc46783de868a33b487e324272810d0df1e010d9621028a1d3c117d3f908b SHA512 7f9a496b13976022bca8c16756bf099c725bdd44fc188051599623f86097beb4a503449e47c07bede4ad9e54c45b689d153384c01e042577cc6d263401ed99cc
-DIST rust-1.67.0-riscv64gc-unknown-linux-gnu.tar.xz 199550588 BLAKE2B 67875dd18e36c84c87ddb48027e17c90fe692b35b04de3501129c7dedfaa9b2a1c713c51ae8a7a37bd10a27e424ae58001472a4cdcfe6fe4a3aac61bf569c4ae SHA512 ea46c3f669f0ace973dcc318f4980be80df71faa264396426a7ca3f65c4fe4223dacbf591d597611c6ce175aecd64ec43269e96140e338f8886571521ed00cd9
-DIST rust-1.67.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 468f819d02535f8cadac3504a78c4025616ea5d41e5e6a7aa656bb11cb71da2f902094715c36ac96cd032cb43d20b4ff3d6260c1f9a69608ec06f1f2af0acd63 SHA512 1cfbc331ca106e32acd8afe6111d34960abe0be65d411989ec3ff10ebf8d98a3f1379be9018a67d4ca2887b060728decbf826650b561f5de2c1f750a3c08fcce
-DIST rust-1.67.0-s390x-unknown-linux-gnu.tar.xz 234563160 BLAKE2B 7022c16d42a6433c1b696f9fb809f89213e6f1164ee907bc0a5a13fff226336691f9b6ac2cb39fc128ec7240eab6c8ed45f2332cdbf851a7868f20fd9bf57150 SHA512 5262618ac38f1fdf207d574b80b625cd8f9710f60a8b1584a687c0803a69c48a7d257555b2c91fad55ad91300104581847819f03cedeb754f744ce23bf619479
-DIST rust-1.67.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2f296deb5e283a18b1317c2566ad30f31162fa17c37839f6f7c4fdc3ba91c0186ed6d07dba3654d2a33ffd2bfe3a5de95b6381f2473cf89f43d5c9a3a46e658f SHA512 3a5bc46d6005832b90cddcd9244ff3bb305597b55cb39786db5a4dbf433962ec7a1f6a04b9ec6681f6611aae85672b11dae8008596e4e48a38c7813b11776acd
-DIST rust-1.67.0-x86_64-unknown-linux-gnu.tar.xz 186247872 BLAKE2B ce6536d349e84bed60eca34cad4d547c999dfa5cd607690bbeff110d7ca6ee51831fcf8b378246c556416cee750f97fae7daef1498b1a5e9b5c1d2fc53fb888f SHA512 f7cc8b57b3460525b33c925f27c71d7d9d97d752629cb098c690927374a8e2fa669a22a090e6ab9b80d5595c7af126c5e20d17a41890578b8fe3dfc24e86e3a8
-DIST rust-1.67.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 699c80f8c4170006a27fc2f888c695c773ecc2d595adfa8247697c824a414ab34b25dbad755d954a9fdec5a6b2a891c1038ea988f1c9fe993798b0db9844fe61 SHA512 76fca41753c26689cc7f068fe05be38604fe8cd8947adbdf457d793be1bb426fa6fe5ddaa59dbdcfd71ad559823dd710eaa447b4d3f5d1df3054ce3c202b219a
-DIST rust-1.67.0-x86_64-unknown-linux-musl.tar.xz 270123152 BLAKE2B a663f12acd11506263de4d10af0e3ee24cbdc51ce09b4df19d4c1bb0de6887fc17ebee895b7de5a03444c8d2ff44c03d2ebc2e9eb8d4307db4b1e708328cfd74 SHA512 d01eeb40a3e0e8ac5de3eb367f10fe5bcfc7db05e6951532732611fb99f40484f668672991ff40f41a113ede098fa66e7d37d3569978196f82fb5cb550aa1c5d
-DIST rust-1.67.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 6617b3e5029da925e19c2d7b5fa69386d6e1c125da858d0b0a20db3df19dafcbe988d710b19129e70244cb9c448d6efe575b38c305d54a8645d6a905d2cfab9f SHA512 8e5dcf410da568b9379c4ef9007379591410432fdfd2cdd8fba236d8b3e3fa2fcd97712d1b853447ce425cec5ece35e3ea9ad567e07aef8d7cb8075115718f91
+DIST rust-1.67.1-aarch64-unknown-linux-gnu.tar.xz 257819328 BLAKE2B 7d2b033f447f5df5879be3e6d55c26a96996910026db8a751e85cc1a0c034e508cb3b207f45a3ddfd491c6f97993374f5a285eb2b6cd0233954f4126db260828 SHA512 b49ad763f88db3414fa5b10e3462992bc880ff36437642f5fc29effe54d7b6bdef16119e039cbb7ae291f142e88b48ab213b9a51cd38c65fd57ccf2bdfaab3db
+DIST rust-1.67.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 94e00367ba680137847d41bd8bef7493eac46f04a5b42c0b8252642c30d25db5f813de3603e450cab9a1cdde4c0f065f58d03ee72c29a5c321d87a063a01d05a SHA512 8b558c63fefa00ee0d50cc1b22560572ce5babd9759350f5178eb82e86230e9f9e4f9f4339dcba976e1837f167dc0e3e4f376be7352f9127f0d7af545e93694c
+DIST rust-1.67.1-aarch64-unknown-linux-musl.tar.xz 236561572 BLAKE2B 19168415f8199dec3ce4c148394c7c86dea81df0ecb7cb776395d8f0e7b910ecf8de4c9ef7a87baadfe52af65e612779ae3de8599808032e91c726c4d967139f SHA512 f2931563300d78af1c09dff10a9b8f73d441c559dfffc3907e5a2425d12027061ad2492683404cc2b58cf429446645807f6d3f70caa2dcb6cffe40ac39252f25
+DIST rust-1.67.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 7f4bd1c432971ce5f5346f2f39dd1f5bdbc19f13524ee7cae82eb6a3f30a5ecb69fb367fb4e0063e06656f457cff68a2b81ba5ca896a5857312a11fbaea0baf7 SHA512 d568b2d4cbbcba327bd04e9253f25839e0f183c144cafa1e8104b82d64bae3515fe8f16ccce2ff975210b6f54254d451c64fc4a070b80981a945d164897b1c7f
+DIST rust-1.67.1-arm-unknown-linux-gnueabi.tar.xz 215162200 BLAKE2B d922e271d04e2cc18f21fcef6f1aa8f283a7bf56228a1b1a7d81be697333a0f16fdadb12e7350ae130dfac2ca78766990df2001a3b0fc898ad4233c51a7f39c2 SHA512 06bca6150bf088ae19fbdfc0ce74dc0a8f24c111290f9592cb65164dd6cc03c1468a599514052cafabbd1b4040673a0cea69e14b266d59a42bcd7c1701e212ba
+DIST rust-1.67.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B c85feb559064bc24b25dab825ac6758c7759cc027dad4885bc87eff0f331f1177963b39096f4ab78490c54d82a0daaab035f58a0d6992eee1acca2a1add4fb50 SHA512 7754053412a2d17b9092166d37ec713c45ff32c9f161fa261bc075b89b43af716861aa15ab8dcf4472ea49d6e3d2f3c4085d536946cec6ff862f75f83debb7d6
+DIST rust-1.67.1-arm-unknown-linux-gnueabihf.tar.xz 215944916 BLAKE2B 7e04f28292669fd0c34dc317c42d67e1b27ad0b910186ee846eab88dec1c14f89a3b599a93d7c81c88c1b040052c3df11a50e6344528054095113131094acc66 SHA512 e4c54745b55e0a5b6b36e9dc058265ae4774855122f111a0029415df2fe5bb564cb641e332ebc1c00d792c7dce6ca370e6440ec20658012c1a605939cd8efa03
+DIST rust-1.67.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 0ca0c0ed5423c89e988f0c93e4aa8d8d6cb0e401b664f9ccdb642d736f4e4cfc2fd39d0a142b07d8e5dcacddd304c8dea04617b5e3264a3865a16bfaf49d1274 SHA512 e573a36c401fe5c543f4505bbec1b5e7c962831aba062cdf8e417f5fc3c6eff2bd6c44a6c01bec4cc5fc4ddeea1c5023f90c7f1c44a26a39b9520fee923b61b2
+DIST rust-1.67.1-armv7-unknown-linux-gnueabihf.tar.xz 218109412 BLAKE2B 256cf45036132ba6f4a4dceb80fef0a2bf079fd54b4119e8a869fcf9e093e76e1d7ac84eb920e272b766a328548514e7b0249b6287d8950528aa049ed92b21ba SHA512 05ef4e7f2abdbed1cda6209ab3500f8532e516c7e4f9d08ef0c1cfa790c2454b952ed59a43ed4453e7385b12f672d5029c6c436601d7a34368418c0800f0126d
+DIST rust-1.67.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B cc15e8f68745d252e8851b79441684cea1f1214e7088d7ae6592a5d47719d9dd61abb01f37882775c3c00e1b318562ca050caf5ab06a665946886f50575bb1e2 SHA512 68d66234f3bb9c452aa4a2bb5bceaf26dcb71466f05a0aa7f7b7803a866be5cfda1bf3a8f71cc8e84c2168812641da07a0726d7f2f49882b892ae41f51465477
+DIST rust-1.67.1-i686-unknown-linux-gnu.tar.xz 235056732 BLAKE2B b02479f7d145b6ad3db16d62120a6b324a9db79ef0ff7a5900d7ffd9f5cff0416fa74120a70c1c2ef5bc05c6db4a70b18cf52aa49e0972a5c75becd995795803 SHA512 64f0f887f711b276bd9561fa258aee97bef234d84b02912c1c01ec8caccfe3b0bbfdfcfce98cbd6423043c312e577d0fa574f4c703292a58163a7d3286bbf6db
+DIST rust-1.67.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 602b2769db2e4810fdb962ce1241118e00d3ee6131267815b9c8602298bd55d249e75ce42b4a4965aa6835d8af762d6e23fb1ba3a3b8a954ef08fa5dd88b30b2 SHA512 18999437af3b51b836cfeb8096c55afa2027e783d32f492eb620964c1731f367d76cf72533b35bd67f3800be4e457f4a1192aa85bfe00a41d673484f2ff56eb1
+DIST rust-1.67.1-mips-unknown-linux-gnu.tar.xz 195834044 BLAKE2B feab999cd49f72bb0865324c3671d92025ebca88601b2b6257ad11ec66b506e65bb3cdfc9a459014d9f2af52bfb410837c30e3bd0c85f407f8ebe4f98be7439a SHA512 3dfbe7e846289cc22da42b630bee54b98749c1d659a0652559b9d4febfac6eb786da18ad1be1316aa3dccc4e213f1f20efc8556da88df7226a5d8a8890b830b2
+DIST rust-1.67.1-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 100dcd13886287128065952d0b535208a0807c22175dd8fd04f16a16d76d2c9d32dd6b6da5ca929c517519e167e100607c7749ed6c512fae89e2e0313e7b7202 SHA512 5cebd45755d5accb15da29423eb7addf18a72326238ef6a0c2ca09776ac008490165d2b1fb069ec7a34d509bdfa7cf1212a87344e0dda4746dfb89afe404225a
+DIST rust-1.67.1-mips64-unknown-linux-gnuabi64.tar.xz 193892140 BLAKE2B d17cc8b42ad0e2a658dbc170dfc7256ecfd0b520cb6670eac4be63e1a92c54ff9018ee4ef9cf90b1e29d052cb6076ccbb163348b99113fd2e0d9155436129f91 SHA512 92e5c3238d4544583ed8ab989d598275e729e7795b0d645a822ca7cdb5be9fe419fba3a7f2d8db11393ce03ac02873ee876ae55f959609f0a6f4b4f1273a7929
+DIST rust-1.67.1-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 95c5e4829068b02c16f7e8e38b2d94a4f913bbd77b226d1c83c8cdc7ef198192b76ff67dc86f7978dd1b9cbb14bb627dc106fc2921a501c340f7d0442629f8e6 SHA512 32be92455ccb54328d1f62381501009e8dbe15f1b4f83e99a894bf5e7eb469a23aeeb3ef440be1ee798e00bfe865ec21d2dd6b2c58a475e1ec789425e53bd356
+DIST rust-1.67.1-mipsel-unknown-linux-gnu.tar.xz 199598332 BLAKE2B b894bef4c2f847a26be0badc6d069fad636f0cf1286a1643b876709ff292bfe3a2307f1a2904bf6e0c596c13dccd91baba0e0c4fcb45a7cfb71e555207a61292 SHA512 9574f8f078deae22bcdbeb89c7aaf1c26a49fb61cd9a7d777421497b85c243fdcbad8c25d1a80aab4ae0b03f6849628318371dc323e27e308c85ac556e2d649f
+DIST rust-1.67.1-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B dac540a5283281c495e4cc629e7d81279c55db4fce3191af55e88cfcb857a0f86eebeff9a0b8ba95d4da4654c5b11c0fb5364db876a4464b799499285f0184a0 SHA512 ccc990923cb5b73391b09e8c7f4479998bb378b07ee12b5a83d6fbe6044f6925429590a116a944163a2d8f7f6a210b6f2302cb5976a99174e012b7646d7cef5c
+DIST rust-1.67.1-powerpc-unknown-linux-gnu.tar.xz 222275832 BLAKE2B e63426d9441a601044d8f0cc8f181bafa7f47bce972518676913d506be5566654e0afe84d63ad0c3a31596231b0a1a10c96e9246fca9bd2b0438f9d72613fc9d SHA512 66fab7b5679bfe59f12dfc5b863196c2cb0b5d0f53d0bd88700586a90a6e8ad4c986fb44979b4320e74ed8b9e4c62b4ab2b3e64e44254355577fc9d1e6b688e4
+DIST rust-1.67.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 312da822216930be24d368f4c449b757f1b633e71b6897b19c9d45b7419ff0c39171804d2d8196a967e6e2296bbfcb87f0b2372b3260c6cb62c8fbd9fa192c4b SHA512 38f5ed49201ef0a99c24dd3e0549628e4bedf53f41d62f6e719a91b3afe3aba64ef7ed51a6984b21469c1ea2c5def284d13ff035c67eeee45d304ec04b34fd2a
+DIST rust-1.67.1-powerpc64-unknown-linux-gnu.tar.xz 220473512 BLAKE2B d932865dbf797827507426c61107a0d89aac02d56cf552e21566ef6356173925697b72e3acf3fb8825b10814b476d28f9cee98ece21cb748d83c1526f9d7ebc6 SHA512 6f7b1e33da99bc46014785223bdc9aa5bfbb1a5619037cf48fe5ec46aa82e42e09fc8828b4e2b904bc122f61ccb24cf56caa7077260a1e7486dc3badf018be69
+DIST rust-1.67.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B aa72e61de6481748dc29cfb0f40662fb4a7ee6c3792b67efdd55df47abdfe75db4ab1f560175a3dfaaa036a3de0435ea6e2d9ceb1b4ba315c95c561fbfde0ca0 SHA512 e983fe67613257744fb7a147e4b29370795d52833a247b2c568610993a6e3eb5f6212fa511cb72636bcd7209c15181dca9ace05eb4866fcd09e69afad5ad9b77
+DIST rust-1.67.1-powerpc64le-unknown-linux-gnu.tar.xz 232947736 BLAKE2B d7448f4a7196eb67d35f5a280d5c53bdf1e08a7ca640503bac3d8cfa5b43680b231d9d1f560d4907ce7a191cf5f43973a0296e369bb81befbd7ff3f05fd12034 SHA512 c2602a03f389e3cee19c7f775ddab12a0635bb4f3a7d1242eca62cccbe91949ac9900ab1066074a2551b7c9fee57539949236ed37ae941a2c7dc0626320eecc7
+DIST rust-1.67.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f48881d0e3c1b1d78898720a46166794a4c52ff8f1bdd8a1e792a0c4be585d7c9e5ff369d2c80d3083d18fc548ec4e24b78fa27aef9b69a240095cc8e09decee SHA512 52af4cbb1792345347ce8864109e28ba0acdc3aab2c88f2db201a79a53d903872d3c70ab84a147d311d36000b2b84a64e2b8b97a9470e41b9d7c390c17facf6c
+DIST rust-1.67.1-riscv64gc-unknown-linux-gnu.tar.xz 199552128 BLAKE2B acfeb341ff2ea1ff035445e616a668d565e0b52a7453c30a46a6cfadad0b0ef6eb72d89904095fd5f0363cabeffd2fbe97b435047d5c3606475da41fb50c6be8 SHA512 5c7e0b8942872d211779f46862d0826240a15f46c95d4038f2f8835ca68cf20f8add3231040a331ca761bf4351e0976518095d606303eac66752e5598df49442
+DIST rust-1.67.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 246adaf9b5980413ac32af57d2e089e765336e085bb45799aaeb80311a7a5d73545779c8b2e810b763520d9d5a5d475f764675191c12a2d4b2b313c11230d311 SHA512 bf447737b414839b126fe258bb5dd6d34bb9d47d57fdb68a4cd0b9296fda2c47aa267cc9722f7821bab365b95ee4a2c93631786f89c7cb5197c283897c413016
+DIST rust-1.67.1-s390x-unknown-linux-gnu.tar.xz 235970856 BLAKE2B efbe49525e880b07de613be0d22bb87065e0d64f7006ae07c9deb020b65bcbb6dd20cdc250e740763480426baf9c64adfd06e005b616543f2ef9451e99b7d411 SHA512 308aa7bc5e32c50a0b5c2fdb5e9bae60d8c8ea32fcab72205aea9832f24df35d9331c63503e092ecfee18c1eedcb5a50138837e29bb50d74f526aafbad9e71aa
+DIST rust-1.67.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 875b4168bf1458376ba31aa8b27d7bb331cb3bcfaf2645e65d0a2167cf55e6a6a2a0bf5f66438e7cca7c73f1cc02fddeea3be570e37ca80f5cc14fc5e0349423 SHA512 97a0e05fabc4755ffaf23ada6d77dde78b410ef530437a8700673ee986c1fc5015665948fb4c63f2e0716bc022ef7d6f061fee0a1516995a6a4d7ea100d234d2
+DIST rust-1.67.1-x86_64-unknown-linux-gnu.tar.xz 186714164 BLAKE2B 648efbb30233335e31c9a90aed4958325258365cd4aef5e01312005606f23ea42cb6788eb82a11e61fb5111c4d32e052ed815e455c32ed3f6fcb18d963589669 SHA512 1a65ce569fb3262dfb805d0fa2c5c9f987c2c69e547fce366d9d371c8b19a90de279099a942919690aa6d58e2462cfd7bf54240f7ef51dc22ce12e292c46038d
+DIST rust-1.67.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 669b7c4b0d5382a7d1d0fe49405f2798f67a9e745711dc2c8e7548ea6fdc8f0fefdab37d0594aec14b2745ce45e7c469e79c0cb1d86077ad9c7b6aafc2656827 SHA512 067681cb4140a29adfa5f4b141e2f3450dad34b95a1e549a6bc8d759e57da5d2ae69cc165efcdef9d83e2eee06edb6acd587d38c9b2f3d000d7a3f79daccc671
+DIST rust-1.67.1-x86_64-unknown-linux-musl.tar.xz 269831452 BLAKE2B a36498528454f1bf0e1812eba005f27e3e281e4e2c117477785f5e48468c3fe316947b7e4360f573f0f4cd6f117e4102db8aeaa616be5bef09fb7518fd230b23 SHA512 9a3eb67239a88b875fe55846a2fffbbb1f2a4cc8eed18b5558f0f989d544a8ddfe0861d5b2b860a779833a1660ee622b30320ec9ef83e841724f7a32f08fda06
+DIST rust-1.67.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B b12d0ce1136e355ee027780dfe185ee443de402e531ecc743600aecf081990d4e998fa4a6e6f0f46a886cd806918e23c5e4ccb7cecb0324cb67189984192283f SHA512 37428f0d1d8e2ddb7ce52bce3a297a7f666789d00e7e240180c3e1f7fb5b30bf5e17593cbedebdef95c50406ee82d40ef1f75a576a1a0e02387e1a12ed977c77
DIST rust-src-1.65.0.tar.xz 2488012 BLAKE2B d48f5591e72e14084f2fb0d66c1365f1648060d514af23c0498e02adfd7223b1a79bd1f512859b058f9cabc4b88b9230d15960df7c30762a5263d1785b877a68 SHA512 247f822a9c2f16d1de29d1cf6fa7ff393b7c7fe01da66a7c0b4add6259d72403922b8b1bd1b511ed8a9cc0b2c12ff574945aa7fc76c731fba620b466bcdc2eac
DIST rust-src-1.66.1.tar.xz 2512096 BLAKE2B 514b8f9170d8a0e9b9deeeda27c5b83c18b7f038cb27a867fc4df1a0375b5c492793e67d0f0a2c26354ed1b58c699e1ff3e19f536dec10fc8b8211325dd4999a SHA512 3b77e29bf0803278d46aa5a484a2d74f242bf7f1ce6f5a6d1e84107630aa238620c91459f385f1b9f1bfb67c593ea5a274950a4db2975307cabc3a009b89f157
-DIST rust-src-1.67.0.tar.xz 2522244 BLAKE2B d16b4094848560f9db30a7e91ae2cdd0ed06d5bf6ff9a75526621bd6aac813344fa2c4969c4508c19f73e1933ffd5bc920873876a54b19e0eeb2cf8b685f21b5 SHA512 d57eff876115ef0e0885e8ebb9648e6319813e98fe946ab81da0becca29f18fda97f047bb2ce0a9ea4813d6cd98c6e2eef6e757aa21611e41abd1be888afa52e
+DIST rust-src-1.67.1.tar.xz 2522656 BLAKE2B 28f67cbac3d09af16f572c102890b49ffb4c610ebf379cf48ff4d0107afbb39587d2bcb7c5a4f811542f84dc3157557c762b006a6e89c54cd121d22bb677a770 SHA512 839266d2046b12954fd46f258a975a37c81cb61b6d2d9a5905fd6c83961d97c197f1b467c881d5078f3725293eb73ca402b002af3f47b6f7d431828f01d49a15
EBUILD rust-bin-1.65.0.ebuild 6730 BLAKE2B 0f0bf58c8401dbcc858d22585a57e96988e3ee5d9dab120b4e9f955c630aa61d12e15b9deba0f4edf62a1e6c4dc869980081fa21537b014fb9cc897c3881858b SHA512 ec04fa1da0481714bf7b9d43f175f456d01eae4d70f0d914f6911bb7b809c3c133df0b614243a0f1bb0c0c2fa8345b0b6d19e269b5017cbd36252c85fdb4a176
EBUILD rust-bin-1.66.1.ebuild 6737 BLAKE2B bbc9dea9c85652e32db45d3b865a0c8dfadd3ec5bc4fd4fc900ea0596d57b3f928478c88ed70003e1cde4b689d6cc9faa0933daaed9fe8652316d595eaf3cb26 SHA512 41684b6ac03ed16016e522204e96012120d39c9da0633010b6fc28b0251a5cbddb7e55267cb94273d3b9c339c38e4e4c96f24ae188d6dd3962b2390dfc7f9448
-EBUILD rust-bin-1.67.0.ebuild 6735 BLAKE2B 3c74b0fa2e4258a25db31b95c02b5be21f653970b31c8a59c8055d664c4f927ab6c2560e2802b0015b4297469d1cea23faffda5632a8fde86bd4156ca371987b SHA512 9d10d68d8c02bf8dd641acf23c2ec36bbd8e59242be17d320cee560d13bbe295a0523e42b273e3092f586fed1f604465b314bd59498738e931ab9810ac9c5db6
+EBUILD rust-bin-1.67.1.ebuild 6735 BLAKE2B 0f6223077f8e202f465e22b73dab3c40c73d8f57586001b639a12e597736bf15e401168b164aa946435c4229a4df24033316f7081778fa07ca3f875958784d57 SHA512 b247941e0a9697aa57c397d3af19c8ff59e4fcaece90f4772f0bb87b17d0a5b55c0eadeadf4799a60363e035aee9ca3b74e3ae78f7c7f609964d295e909b5e8d
MISC metadata.xml 602 BLAKE2B 8e74f441d22eeb8b276d77ed0a9c5bde01540a3f34d6053185b2be77dd9188b80c01c536f8bb18c4c60214bd0bf366a504c1f3627110a213332120b533f7ddd2 SHA512 5f120deec600c7453d503b6acb9460d1c765a567954c79749654365721b1b6fa2dd48d60d5f3fc86191e79d5f7f78d7aa1e9634e6127f333f81e546f9b0f74ac
diff --git a/dev-lang/rust-bin/rust-bin-1.67.0.ebuild b/dev-lang/rust-bin/rust-bin-1.67.1.ebuild
index cdc21d84d332..d9998776c583 100644
--- a/dev-lang/rust-bin/rust-bin-1.67.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.67.1.ebuild
@@ -7,7 +7,7 @@ inherit multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minim
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%/}/2023-01-26/rust-src-${PV}.tar.xz"
+MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2023-02-09/rust-src-${PV}.tar.xz"
GENTOO_BIN_BASEURI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}" # omit leading slash
DESCRIPTION="Systems programming language from Mozilla"
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 51ecb29b2126..2539a1c27588 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -1,7 +1,7 @@
AUX 1.62.1-musl-dynamic-linking.patch 898 BLAKE2B 09321e356d5c945f72e75e668bfee2a78158131713b917d7a70834dfb0e9c732a1d259ac5406e12552ffa5741dd03c08a5a04e3c68d3e6f905318486b23f081e SHA512 3edefd746a2b1eacaef7b3fd51b14a36ec0a5a4f8893355c48d3afba862405451f4d6961b22b429db1b402572d841d91351ac4759ab8ef3891fd00641d827d48
AUX 1.64.0-vendor-rustix-sparc-has-no-SIGSTKFLT.patch 2744 BLAKE2B 4eb03df7c21087a5833f031b85c999f95e8055492c61184bbe137407b4cdddb76d25f95d6beb5a1c6f82f42800f914f0fde60192c807a9548ee27ba226b10f65 SHA512 d489d0841ad297f8835b7adb1e5777865080f3f83a991da55a266da38396993c7b50f8ec98285ed7b174c879053670acedf9116b586c493338daac8f67741fb6
AUX 1.65.0-ignore-broken-and-non-applicable-tests.patch 1504 BLAKE2B 6318227c4a11ef0b849a85f164fc446ba34ffc3e4314b3f18248aa6605f08aa9a1adfaa2d9b2154c9e29fcab203d3c322fcf67e770778cc788f37bfb86ef353d SHA512 54a05e43c7d01129d8590495d2d651d677ebec06b5302355fec87d3c9bfdaab96bae192d17fafe115039d74a0d56fffa653a03ff0a8528a88582d64f1bbe663d
-AUX 1.67.0-bootstrap.patch 1422 BLAKE2B 8b4435aa0d15545bbeb390a721b0c6ce0fe326815f47d2703a2c9f4a53d8df233d63a4b5687dc9dd9cd07865aaa319edf3a6dff89a39d7ac5acf248230e10bd1 SHA512 7af33ffcd742a3a2bdea69b9da610089c5f90772b6ed2e94e1541df66958ed941827108eacea90d9fcf5ba1cc6c10a879955fa0f13cf2e4bd15f28042414586b
+AUX 1.67.0-doc-wasm.patch 1359 BLAKE2B 59293c5b61de7ca283629d7f65b965388a42527811fc8355cdf5320fee03d10560f34e9c9a25dbe91e5758c37484485581a5e524a497711f1e108e5ffde6c53c SHA512 f3bafc2d0d2569f0d6891e14aa307cd2425d6624832b27381ae9d6f7ced488eff6d5fa0cdcd77a98d1f92a10a9d832f3aa3c481d1abbb42a0882862bbb189346
DIST rust-1.64.0-aarch64-unknown-linux-gnu.tar.xz 245636524 BLAKE2B 90e405bc6e7f47aec091924bcd7a35017d591936b2697f2b0ddc5271e65fa431cc193a2b392489b6636896fa2d4f3d8f5096d197cfed36e812ea7f3986130c85 SHA512 c163b19a56148646ebbdb10b5b20459a206b4a1c45a2de9ce69f2e45dc5527cc69920f81007ee6fb75080782d534a2a39f7580d0c8cfdcf36ebed971b2513b63
DIST rust-1.64.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3ed79e6a5168676c19b9092692576b72b7bee6cc6fc6fc9213d492ac9641974e0bfefd9eee2663852580ee05038becb3045ff4410fe96aa8e529afc4d3652abb SHA512 14e635fbd60512e8d36c50c2c07d510236cc73661a6294f0a01fe260a945581885c60783e72cbcc0d85b87a161e0940b34b496380bbab659c6e5d0dbb4050a4d
DIST rust-1.64.0-aarch64-unknown-linux-musl.tar.xz 226328036 BLAKE2B 43119c95866b3bd7e1b0832079f4fa23d79f5168e1aeb1d9a984897486cdaabbf035150e5633114c3d87afc8cf47e2d591e7c32961cc7cef99595fec303bc348 SHA512 8af3a7293b73d5f3129a17651cc8009290e5eade4802a872bb2a568444c60b4227a89d419c751fa394bf81a38f553a7418a0abd6ec3234737148d1561b91bace
@@ -102,9 +102,9 @@ DIST rustc-1.65.0-src.tar.xz 139674928 BLAKE2B a218263fb67e306b153f5a6dae95b5ec6
DIST rustc-1.65.0-src.tar.xz.asc 801 BLAKE2B 43ff92011cd6f7f34ce0495fa341379e5907d032ea90f91e533e5edaec6ad518aad50a9d8b2694074d6909ee96aa779403b16e95792e962e79c1b967542ae26f SHA512 75b9be53363022c81333117876cbcc573bbd4733edf767cbb164218644efb1a9c4bfc2aa73aaa1e39f248a84f1adacb1930a94a6e63f60093ff760fb9ae02efc
DIST rustc-1.66.1-src.tar.xz 141692940 BLAKE2B 3fae45345998386fda1b11ec896fac4613b8e3f0092bc0df29c9685f4a4012c0bd1b600911c2d19bcfa8f5a84b8a3c39d4c9e062a62cd61925b59129e1cd72b9 SHA512 1944c024c603140d0a9236043a3bd1d0d211dd8d368d6d82a3a620f1ff43b29624755b0943f2b38b40a188c7eee77a840238ea757eaf435e2a3fa6a0e6b82832
DIST rustc-1.66.1-src.tar.xz.asc 801 BLAKE2B 18e27c88b39eed29147854733c5533b7fffc417ff0b3bd5982174ffa2c5f6d217e2e28ced4da75863a4557800e7ad7a124a4bbb0def4c20da7ed543602185941 SHA512 4511f41ad3d098a339ea3173e3ffa692d1d3cd3ec9dd45af68e4491471f9a72a2e866f6924090eb366bdf6f856650d981eabe1cd851843a17f4a6e4f1dfbc8a9
-DIST rustc-1.67.0-src.tar.xz 142750964 BLAKE2B 5dcea694548f5162bed6020ca12ecfa178fba479fbe6f29ec310f9c5cfaae13999de7b861498e92561f21001fed295d21dd9230ccb5da2f20c638309e785cfda SHA512 6d1ddb54c0ee2c4f8ccf73f3c306c8d8868feb738d5e77eb5a5d25f716395c27d1b3666929c87f9dc84213a9acfdb56254feac92ef0fea3147e2c644391c12b4
-DIST rustc-1.67.0-src.tar.xz.asc 801 BLAKE2B b46159b7cbe081cb34d82b2642397788d09d09f9e55fd961a491862c2c1827b0752530fa74e1a8245cab9ff898d2f021bfdae4820edca34a87c9e18202d7a31e SHA512 cceb0aa5d43c476a051c77263fe152085b8d7d337f78117077a1e460bb9e31b75becd36a8f571fc1275a268ac1107d680012a82a7378851d2a9f16748d95a929
+DIST rustc-1.67.1-src.tar.xz 142758844 BLAKE2B 55b2a98592b1a2e465b7fb224607cbcb23cb13d5053b51abbd2e45428794f457b6925955c5c562f577830353e5287929b3588ee78a30036bf0ca13a3610316d9 SHA512 42d77ee93b168ae139b026138fb48d925624ff436a836aa97ee235f870e61ea11643b0cf7ad20bcafda774c6cd3855a4bc10a2e2ed1c4d82c6f15158963b304d
+DIST rustc-1.67.1-src.tar.xz.asc 801 BLAKE2B eb507c6f53c592921eb31cccb17c9d6027c67fb1311726f2d25fe7d1f8a1aa051efb99d7207a5e4477df0b75898783437e653fa041ed7daa27e7a7c4263ec230 SHA512 6c962f680d74251b55f77a43d6e383be53bacff8428e0d003bda207de1fea7f716b88f16686d22a88d99518a4834bf299731855fb030477a995d5e1f3d0024f4
EBUILD rust-1.65.0.ebuild 23818 BLAKE2B c5a288099dc15b8dd61ffe06b2933bce2edbd2490bed6659e990863804448dff60e95f13362d33529e690bbbeee32f830bac1f7afc8fa34e63e93e905a78a14e SHA512 7f3b80e402f44e6edb8d29fa271f0e9246dcd101f5301c787965b75b209d1f4e0df25484dfc3a686e8f7ab70626558479c24233bbd036c4f59b178cfd61d1407
EBUILD rust-1.66.1.ebuild 23695 BLAKE2B 123eb9b2e5a3dd9380b54ec9bf4d2fab5bde4de44c67ebbc5935e5596ae4fb2ac51d9895d812138cefca3795fcb96b2c4f8923080bc7c539a9b98b4094361a00 SHA512 0eaecc97a1507b0d25323ac4b79d6dfa10d6d58cf9457b0d31f9cb91810429478fc36e18bf123dd340db60e806e50415123c64223d2c490d4b3d442369919c63
-EBUILD rust-1.67.0.ebuild 23120 BLAKE2B f955cb4aa4035aef11f610d81f137351af12805d2eee75fff907edc752329bcf66477c7227e00a31e3d7100db509b7289ea575923a408662a4edd86c2f41c6ac SHA512 bd5346879a4a5132dbbfabc2063c03d5ca08cd6763df06aa0bec499a107370e66648addd01080f04df9a665cdc47f4fd86f2ed5fa9263a29e4bc4b7775ef6898
+EBUILD rust-1.67.1.ebuild 23119 BLAKE2B 3260955cba6b775658e02b48463c52e461154d253fca101377a23ab8e1b67ce4507494d91b35b30a4029aee85cc846b515a960106dc8c24d7225c5437dc89cf8 SHA512 a6641ed533e54f362f4630901bf49d859e8efd473e969d470696ace01d3adad0bb77086416ff0f5c1c2f53ff028fc23572cff0db33cb073ef32b4dfaa7562879
MISC metadata.xml 1676 BLAKE2B 37d026b952e72914faf51b5258c6a3da77aa088974094af5533a029abe3975beaba4efd8894cd419577f00b871c45ca3efa80195d90a42c9d1be1fb4befbe5eb SHA512 9a5e30977be9d76e60cab5a0698d5cc544240a6b0c54350aa0bd6aeff0e864f14d97a90ae5e3024e9b7bed54f7b2c7f561f46ad97ff99928f454af44f420d17c
diff --git a/dev-lang/rust/files/1.67.0-bootstrap.patch b/dev-lang/rust/files/1.67.0-bootstrap.patch
deleted file mode 100644
index eb160661a2c2..000000000000
--- a/dev-lang/rust/files/1.67.0-bootstrap.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 675fa0b3dd5fe14b43ad5b7862f4528df7322468 Mon Sep 17 00:00:00 2001
-From: Michael Goulet <michael@errs.io>
-Date: Mon, 12 Dec 2022 18:29:33 +0000
-Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A8=20fix=20unsoundness=20in=20bootstr?=
- =?UTF-8?q?ap=20cache=20code?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
----
- src/bootstrap/cache.rs | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/bootstrap/cache.rs b/src/bootstrap/cache.rs
-index be5c9bb078808..05f25af68ea8f 100644
---- a/src/bootstrap/cache.rs
-+++ b/src/bootstrap/cache.rs
-@@ -89,16 +89,16 @@ impl<T: Internable + Hash> Hash for Interned<T> {
-
- impl<T: Internable + Deref> Deref for Interned<T> {
- type Target = T::Target;
-- fn deref(&self) -> &'static Self::Target {
-+ fn deref(&self) -> &Self::Target {
- let l = T::intern_cache().lock().unwrap();
-- unsafe { mem::transmute::<&Self::Target, &'static Self::Target>(l.get(*self)) }
-+ unsafe { mem::transmute::<&Self::Target, &Self::Target>(l.get(*self)) }
- }
- }
-
- impl<T: Internable + AsRef<U>, U: ?Sized> AsRef<U> for Interned<T> {
-- fn as_ref(&self) -> &'static U {
-+ fn as_ref(&self) -> &U {
- let l = T::intern_cache().lock().unwrap();
-- unsafe { mem::transmute::<&U, &'static U>(l.get(*self).as_ref()) }
-+ unsafe { mem::transmute::<&U, &U>(l.get(*self).as_ref()) }
- }
- }
-
diff --git a/dev-lang/rust/files/1.67.0-doc-wasm.patch b/dev-lang/rust/files/1.67.0-doc-wasm.patch
new file mode 100644
index 000000000000..06011deb795b
--- /dev/null
+++ b/dev-lang/rust/files/1.67.0-doc-wasm.patch
@@ -0,0 +1,34 @@
+From 92aa5f6b272bcdc020a34f8d90f9ef851b5b4504 Mon Sep 17 00:00:00 2001
+From: John Millikin <john@john-millikin.com>
+Date: Mon, 9 Jan 2023 13:54:21 +0900
+Subject: [PATCH] Disable `linux_ext` in wasm32 and fortanix rustdoc builds.
+
+The `std::os::unix` module is stubbed out when building docs for these
+target platforms. The introduction of Linux-specific extension traits
+caused `std::os::net` to depend on sub-modules of `std::os::unix`,
+which broke rustdoc for the `wasm32-unknown-unknown` target.
+
+Adding an additional `#[cfg]` guard solves that rustdoc failure by
+not declaring `linux_ext` on targets with a stubbed `std::os::unix`.
+---
+ library/std/src/os/net/mod.rs | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/library/std/src/os/net/mod.rs b/library/std/src/os/net/mod.rs
+index 5ec267c41e97c..b7046dd7c598c 100644
+--- a/library/std/src/os/net/mod.rs
++++ b/library/std/src/os/net/mod.rs
+@@ -1,4 +1,13 @@
+ //! OS-specific networking functionality.
+
++// See cfg macros in `library/std/src/os/mod.rs` for why these platforms must
++// be special-cased during rustdoc generation.
++#[cfg(not(all(
++ doc,
++ any(
++ all(target_arch = "wasm32", not(target_os = "wasi")),
++ all(target_vendor = "fortanix", target_env = "sgx")
++ )
++)))]
+ #[cfg(any(target_os = "linux", target_os = "android", doc))]
+ pub(super) mod linux_ext;
diff --git a/dev-lang/rust/rust-1.67.0.ebuild b/dev-lang/rust/rust-1.67.1.ebuild
index 095c3d5689e0..5c51929f95da 100644
--- a/dev-lang/rust/rust-1.67.0.ebuild
+++ b/dev-lang/rust/rust-1.67.1.ebuild
@@ -163,7 +163,7 @@ VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
PATCHES=(
"${FILESDIR}"/1.65.0-ignore-broken-and-non-applicable-tests.patch
"${FILESDIR}"/1.62.1-musl-dynamic-linking.patch
- "${FILESDIR}"/1.67.0-bootstrap.patch
+ "${FILESDIR}"/1.67.0-doc-wasm.patch
)
S="${WORKDIR}/${MY_P}-src"
diff --git a/dev-lang/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest
index d488b00fea2e..2ad60fdbc171 100644
--- a/dev-lang/swi-prolog/Manifest
+++ b/dev-lang/swi-prolog/Manifest
@@ -1,3 +1,4 @@
+AUX swi-prolog-9.1.2-configure-clang16.patch 2605 BLAKE2B c0e547c31c5d613659d92cebd66a1a67ce12fe97f8609116eccc294e5515170521a7c266a88655040da75e126b7314ea7a05f7d35e5d30e010e8df0998fe6945 SHA512 6863b15a7e9aa313ef06a98a6a3a8e4a5c494684c212ba8995a7995e07d1679b7d8b5b0a271209344cd6a858d4a65e462083e9e450396017148c0ee220c89fc0
DIST swipl-8.4.1.tar.gz 11386908 BLAKE2B bd53355abe63ffde348ed38b0e7fee4bcba4e74128c73904a72ca3ba2021a8b650d08480a643ea3336f3fc6d1d7bcf7651deb1d32608581ce43bc118288df6da SHA512 22806d8abd0b729e27a6d7bbbd0df37af8af21bb186a8de58ec5f9a1d32c9a477838fd10155ff21998737fcc2aaf4711d1d4d5457ce5d62e328d5da032474ee5
DIST swipl-8.5.11.tar.gz 11480652 BLAKE2B eb812a272d3fbcb181c5cee0dd033f6b7ffdee467bf37c645a98a34ce455189ded7b7c678482e992918477160a6a585ea07dcc38a4aa123eb5f4e04a35dc20d0 SHA512 00387d25548198e0d738cc210a0769130a6ad6fb0596dec04539b1fb85ab8d660a73fec1fe5f5d01878b90e8736018dbb0c8cfd240e1d6b2b62c0bb892f0826c
DIST swipl-8.5.12.tar.gz 11489072 BLAKE2B 1c8ce7a0386c20be8e2eeac9d31df5862adf78ce0341e31b1ebcc42a923403c28707da12b88ba0773f5ebfdd61efe5a8d38a99f8f20aa47672fd51cdc4fbfb8e SHA512 d530fb7048cd80fa0f07b7b026279915cbb58dd7b8199daafe13c22659c5ffeac62168bcc9208c7bbd72616f54d453f5161c1fc08bf5497ba87abc12e5e8e7df
@@ -5,5 +6,5 @@ DIST swipl-9.1.2.tar.gz 11827220 BLAKE2B e4bf40d1b4d0c48af5e630728208ca849b9a3d0
EBUILD swi-prolog-8.4.1.ebuild 3177 BLAKE2B 2c3984b0a9aff83643922c5d8ad4beaab21a6ddcf6cd4090e23ad4a770d104e6d3f2f75c9d4bf910e720e23eb5e1f73ae999c5dc7012c2b0ddd660171478f9c2 SHA512 488763c483a760a468319742bca8df6135dbb8f754176dfc21b337d051c48f42d7ceddb210bddaaa3a599d5b162a474694bfbb8a68f16d146496d1d087ec9c29
EBUILD swi-prolog-8.5.11.ebuild 3191 BLAKE2B 4a7e883cb444a54f71acd8fa37bdef88b900c0dcaa948a9429ea1d320cb650c1fa381a0780570f69e96eeb341f20d54ec4715700aa645255c5d140c6dcc798bd SHA512 efb05a84a5876bda9c55970f98b3a0195fa34a495e1c7b16d6058d18c9ac1091e01e975f0fc00d3416b84bcfdc086268e5e3c206fdbcf49e546a921bcbf47785
EBUILD swi-prolog-8.5.12.ebuild 3249 BLAKE2B a0fee95fa73564d28ca8fdba9293ab89d6abb64c029f9166a181aee4c4adf0afba0bda99cac671b1b61c564f0cb4fac2cc8941010e38384cc63dfdef37fe82da SHA512 df2624efb0fc37a7a445860c62599bbc615eb4b3e90b172b0721985be178e851e0ff81ee0c8dd1adab061a122ab9bdd5408b0d5be13e821ca73e14bc1c5fd847
-EBUILD swi-prolog-9.1.2.ebuild 3906 BLAKE2B a5516b51984baee69a69d22466a78b1cefd17d872a6928c53b9f5b2b7d2a708bb0cf7d8446b54d80598006df6cd693cd044e3b8d5f09caad96214ed80d1a4038 SHA512 3e70f0d51650b829b7c442c80cbe6a069cf72bc7447cbdece7923ef8e5ae0e38418836dc136bde166f4a6ee6ff89a6490411aaedf5be1d61f9c2978773c3ba6f
+EBUILD swi-prolog-9.1.2-r1.ebuild 3987 BLAKE2B c1570e0a13b210a33ddb26bde6cc625a0264a2ee6e579542d78d3e69394dde53fd4f27bcff2ae2dc928d58d9b3c2c4fc8c19b585eac517f19c6fd23fbe65901b SHA512 7005356296d384afee8454a4967afe3a3eb87d62d3dd097f754898542abd45ee3e2a4ee65411715094527d711c2303e139e8876bd98971777e8963729f3cc6fd
MISC metadata.xml 835 BLAKE2B 74eb565d22c6f7767dcb593fddff34fefff136f81558f674d62ce259d0988b15294c9947fff4b594e800108906a7f024c36c0b52d2ce090e86da0cb88cde163c SHA512 5f337a4020d75a08af811b76661c6e0206be0765f3a3a467947465217676665c5ba8f19d1914435d072e1d12383405801696342259984e2a0e72e80ad5073dd6
diff --git a/dev-lang/swi-prolog/files/swi-prolog-9.1.2-configure-clang16.patch b/dev-lang/swi-prolog/files/swi-prolog-9.1.2-configure-clang16.patch
new file mode 100644
index 000000000000..292728269526
--- /dev/null
+++ b/dev-lang/swi-prolog/files/swi-prolog-9.1.2-configure-clang16.patch
@@ -0,0 +1,61 @@
+https://bugs.gentoo.org/879657
+https://github.com/SWI-Prolog/swipl-devel/commit/2328d9d54c8aa368a4bf0165b1b811d1f31ba0f7
+https://github.com/SWI-Prolog/swipl-devel/commit/0d1088443348b71a3624835a19469e2b6cc7e284
+
+From 2328d9d54c8aa368a4bf0165b1b811d1f31ba0f7 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Tue, 10 Jan 2023 14:08:04 +0100
+Subject: [PATCH] cmake: Fix C99 compatibility issues in GCC built-in detection
+
+Future compilers may not support implicit ints or implicit
+function declarations, so avoid them, by using an explicit int
+type and including <alloca.h> for the alloca function.
+--- a/cmake/GCCBuiltins.cmake
++++ b/cmake/GCCBuiltins.cmake
+@@ -22,7 +22,7 @@ check_c_source_compiles(
+ "volatile int i=0; int main() { return 0; }"
+ HAVE_VOLATILE)
+ check_c_source_compiles(
+- "static inline foo() { return 0; } int main() { return foo(); }"
++ "static inline int foo() { return 0; } int main() { return foo(); }"
+ HAVE_INLINE)
+ check_c_source_compiles(
+ "int main() { void *p = &&lbl; goto *p; lbl: return 0; }"
+@@ -45,7 +45,7 @@ check_visibility()
+ # Builtin functions that lead to conflicts
+
+ check_c_source_compiles(
+- "int main() { char *s = alloca(10); return s!=0; }"
++ "#include <alloca.h>\nint main() { char *s = alloca(10); return s!=0; }"
+ HAVE_ALLOCA)
+ check_c_source_compiles(
+ "#include <math.h>\nint main() { double x; return signbit(x); }"
+
+From 0d1088443348b71a3624835a19469e2b6cc7e284 Mon Sep 17 00:00:00 2001
+From: Jan Wielemaker <J.Wielemaker@vu.nl>
+Date: Wed, 11 Jan 2023 13:30:34 +0100
+Subject: [PATCH] Cleanup some no longer used GCC __builtin checks.
+
+--- a/cmake/GCCBuiltins.cmake
++++ b/cmake/GCCBuiltins.cmake
+@@ -9,12 +9,6 @@ check_c_source_compiles(
+ check_c_source_compiles(
+ "int i=0; int main() { return __builtin_expect(i, 0) ? 0 : 1; }"
+ HAVE___BUILTIN_EXPECT)
+-check_c_source_compiles(
+- "int i=0; struct {int x[10];} st; int main() { return __builtin_choose_expr(1, i, st); }"
+- HAVE___BUILTIN_CHOOSE_EXPR)
+-check_c_source_compiles(
+- "int i=0; int main() { return __builtin_types_compatible_p(typeof(i), int); }"
+- HAVE___BUILTIN_TYPES_COMPATIBLE_P)
+ check_c_source_compiles(
+ "__thread int i=0; int main() { return 0; }"
+ HAVE___THREAD)
+@@ -48,5 +42,5 @@ check_c_source_compiles(
+ "#include <alloca.h>\nint main() { char *s = alloca(10); return s!=0; }"
+ HAVE_ALLOCA)
+ check_c_source_compiles(
+- "#include <math.h>\nint main() { double x; return signbit(x); }"
++ "#include <math.h>\nint main() { double x = 0.0; return signbit(x); }"
+ HAVE_SIGNBIT)
+
diff --git a/dev-lang/swi-prolog/swi-prolog-9.1.2.ebuild b/dev-lang/swi-prolog/swi-prolog-9.1.2-r1.ebuild
index 5449898d6a02..7cee8edc9d51 100644
--- a/dev-lang/swi-prolog/swi-prolog-9.1.2.ebuild
+++ b/dev-lang/swi-prolog/swi-prolog-9.1.2-r1.ebuild
@@ -73,6 +73,11 @@ DEPEND="${COMMON_DEPEND}
"
BDEPEND="virtual/pkgconfig"
+PATCHES=(
+ # Upstream in >= 9.1.3
+ "${FILESDIR}"/${P}-configure-clang16.patch
+)
+
pkg_setup() {
java-pkg-opt-2_pkg_setup
}
diff --git a/dev-lang/vala/Manifest b/dev-lang/vala/Manifest
index f87bcb69edd5..453365e2c0a4 100644
--- a/dev-lang/vala/Manifest
+++ b/dev-lang/vala/Manifest
@@ -1,3 +1,5 @@
DIST vala-0.56.3.tar.xz 3969676 BLAKE2B 66fba756d89b7fbc9689a9ff7ef8d4689b53b9ee570225fb268bb433e9c14a876eac1565999944ad72864d9a3c62f777d534579ee7ca091d90e405ef2b271314 SHA512 3222edab995a1d405bc891b37ffb4915677b7bb56ce3be7d1ece1dfb77f2d054bf7499dad9e6eb593c42678ae2c2c7cd779a595b702a3e2e38e9e0e0d69ba99e
+DIST vala-0.56.4.tar.xz 3978480 BLAKE2B 22cde236f3d397499f6bf41c038422bf17bb5878096eb27c4a1efec9ea296623e52099250852b0085ca691243ec3cda6316598b20e3700816e2bf29032e625a4 SHA512 302e72a42fcb0cffc1c8eec28014f216c3848aaecec100acabc5e952d6f3ad2471b341e92a266f452c3335b8d1dde9cb0b1e6da62b754ffb4749b0aa862f24ba
EBUILD vala-0.56.3.ebuild 999 BLAKE2B 23b3836c55500ab94635f07d837a43c9c0be17fd536bf7d11d8644b6785a3443f8b6653880936fcb03943e057b0c29e3d34f1d5de05ef559da0684be4241a01d SHA512 6b93f851ea79d2c0ade055db6ba3806cd818508fae63de41703c23b1d1f5e9c0af6d7c813b66fafbddf0b9929ae0264fdc66f35a35c3599ff9532516cae79204
+EBUILD vala-0.56.4.ebuild 1006 BLAKE2B 4ac9f323be68e3f2c12345912e0b17e8cb953388dbbd66d327ec30a94cc9e440af99bcf3afcd539f945198749ac43fdb2e763c8c2d73513a657951ca671ab148 SHA512 defb58a986337f7c80b1e23374a6bd47293cbabf27d381941a0e53e316705947a66f252ebddc76eb533780dec8540e3a7f17de53d1b2969dfb692f7382b36b4d
MISC metadata.xml 441 BLAKE2B a67ac153219c809b992ad569958248e09fe402e33526f2c9a8e5ef4908a5496a0018894605f2d649e191bb84db59294526bb14a06e59f4cfca335dcbf18e15f8 SHA512 97774503c4e5cbce834f11865cea98e45b244566373d8a7efca73d18346d425b49a3b96cda02a61484a8c906d9f27d735c2a9899701b95d0a5f62b9df12365f9
diff --git a/dev-lang/vala/vala-0.56.4.ebuild b/dev-lang/vala/vala-0.56.4.ebuild
new file mode 100644
index 000000000000..70072f140f0d
--- /dev/null
+++ b/dev-lang/vala/vala-0.56.4.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome2
+
+DESCRIPTION="Compiler for the GObject type system"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala https://gitlab.gnome.org/GNOME/vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0.56"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux"
+IUSE="test valadoc"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.48.0:2
+ >=dev-libs/vala-common-${PV}
+ valadoc? ( >=media-gfx/graphviz-2.16 )
+"
+DEPEND="${RDEPEND}
+ test? (
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26:2
+ dev-libs/gobject-introspection
+ )
+"
+BDEPEND="
+ dev-libs/libxslt
+ sys-devel/flex
+ virtual/pkgconfig
+ app-alternatives/yacc
+"
+
+src_configure() {
+ # weasyprint enables generation of PDF from HTML
+ gnome2_src_configure \
+ --disable-unversioned \
+ $(use_enable valadoc) \
+ VALAC=: \
+ WEASYPRINT=:
+}
+
+src_install() {
+ default
+ find "${D}" -name "*.la" -delete || die
+}