summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin18528 -> 18524 bytes
-rw-r--r--dev-lang/ammonite-repl-bin/Manifest6
-rw-r--r--dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.0.ebuild22
-rw-r--r--dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.2.ebuild (renamed from dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.1.ebuild)4
-rw-r--r--dev-lang/arc/Manifest2
-rw-r--r--dev-lang/arc/metadata.xml2
-rw-r--r--dev-lang/clips/Manifest2
-rw-r--r--dev-lang/clips/metadata.xml2
-rw-r--r--dev-lang/clipsjni/Manifest2
-rw-r--r--dev-lang/clipsjni/metadata.xml2
-rw-r--r--dev-lang/duktape/Manifest9
-rw-r--r--dev-lang/duktape/duktape-2.4.0.ebuild43
-rw-r--r--dev-lang/duktape/duktape-2.5.0-r1.ebuild49
-rw-r--r--dev-lang/duktape/duktape-2.7.0-r1.ebuild36
-rw-r--r--dev-lang/duktape/files/duktape-2.7.0-respect-tc-env.patch24
-rw-r--r--dev-lang/duktape/metadata.xml11
-rw-r--r--dev-lang/elixir/Manifest6
-rw-r--r--dev-lang/elixir/elixir-1.12.3.ebuild4
-rw-r--r--dev-lang/elixir/elixir-1.13.3.ebuild37
-rw-r--r--dev-lang/elixir/metadata.xml8
-rw-r--r--dev-lang/erlang/Manifest26
-rw-r--r--dev-lang/erlang/erlang-23.3.4.11.ebuild (renamed from dev-lang/erlang/erlang-23.3.4.8.ebuild)2
-rw-r--r--dev-lang/erlang/erlang-24.2.2.ebuild (renamed from dev-lang/erlang/erlang-24.1.7.ebuild)4
-rw-r--r--dev-lang/erlang/erlang-24.2.ebuild4
-rw-r--r--dev-lang/erlang/erlang-24.3.2.ebuild (renamed from dev-lang/erlang/erlang-24.0.2.ebuild)10
-rw-r--r--dev-lang/erlang/erlang-24.3.ebuild (renamed from dev-lang/erlang/erlang-24.1.4.ebuild)10
-rw-r--r--dev-lang/erlang/metadata.xml9
-rw-r--r--dev-lang/execline/Manifest4
-rw-r--r--dev-lang/execline/execline-2.8.2.0.ebuild2
-rw-r--r--dev-lang/execline/execline-2.8.3.0.ebuild50
-rw-r--r--dev-lang/gforth/Manifest2
-rw-r--r--dev-lang/gforth/gforth-0.7.3-r2.ebuild4
-rw-r--r--dev-lang/gnat-gpl/Manifest1
-rw-r--r--dev-lang/gnat-gpl/gnat-gpl-2021-r3.ebuild146
-rw-r--r--dev-lang/go/Manifest12
-rw-r--r--dev-lang/go/go-1.17.7.ebuild (renamed from dev-lang/go/go-1.17.5.ebuild)3
-rw-r--r--dev-lang/go/go-1.17.8.ebuild196
-rw-r--r--dev-lang/go/go-1.18.ebuild (renamed from dev-lang/go/go-1.17.6.ebuild)1
-rw-r--r--dev-lang/go/go-9999.ebuild3
-rw-r--r--dev-lang/haxe/Manifest2
-rw-r--r--dev-lang/haxe/haxe-4.2.4-r3.ebuild (renamed from dev-lang/haxe/haxe-4.2.4-r2.ebuild)15
-rw-r--r--dev-lang/idris2/Manifest2
-rw-r--r--dev-lang/idris2/idris2-0.5.1_p20220224.ebuild105
-rw-r--r--dev-lang/janet/Manifest1
-rw-r--r--dev-lang/janet/files/janet-1.16.1-make.patch13
-rw-r--r--dev-lang/julia/Manifest5
-rw-r--r--dev-lang/julia/files/julia-1.6.5-libgit-1.4.patch43
-rw-r--r--dev-lang/julia/julia-1.6.5-r2.ebuild (renamed from dev-lang/julia/julia-1.6.5.ebuild)3
-rw-r--r--dev-lang/julia/julia-1.7.1-r4.ebuild (renamed from dev-lang/julia/julia-1.7.1-r2.ebuild)3
-rw-r--r--dev-lang/lazarus/Manifest2
-rw-r--r--dev-lang/lazarus/lazarus-2.2.0.ebuild78
-rw-r--r--dev-lang/lfe/Manifest4
-rw-r--r--dev-lang/lfe/lfe-2.0.1.ebuild (renamed from dev-lang/lfe/lfe-1.3.0_p20210112.ebuild)8
-rw-r--r--dev-lang/lua/Manifest7
-rw-r--r--dev-lang/lua/files/lua-5.4.2-r2-make.patch99
-rw-r--r--dev-lang/lua/lua-5.1.5-r107.ebuild157
-rw-r--r--dev-lang/lua/lua-5.3.6-r3.ebuild206
-rw-r--r--dev-lang/lua/lua-5.4.2-r2.ebuild203
-rw-r--r--dev-lang/lua/lua-5.4.4.ebuild203
-rw-r--r--dev-lang/luajit/Manifest2
-rw-r--r--dev-lang/luajit/luajit-2.1.0_beta3_p20220127-r1.ebuild63
-rw-r--r--dev-lang/moarvm/Manifest2
-rw-r--r--dev-lang/moarvm/moarvm-2022.02.ebuild60
-rw-r--r--dev-lang/nasm/Manifest2
-rw-r--r--dev-lang/nasm/metadata.xml10
-rw-r--r--dev-lang/nim/Manifest6
-rw-r--r--dev-lang/nim/nim-1.4.8.ebuild4
-rw-r--r--dev-lang/nim/nim-1.6.2.ebuild4
-rw-r--r--dev-lang/nim/nim-1.6.4.ebuild92
-rw-r--r--dev-lang/nqp/Manifest2
-rw-r--r--dev-lang/nqp/nqp-2022.02.ebuild147
-rw-r--r--dev-lang/ocaml/Manifest23
-rw-r--r--dev-lang/ocaml/files/ocaml-4.05.0-CVE-2018-9838.patch70
-rw-r--r--dev-lang/ocaml/files/ocaml-4.05.0-gcc10.patch59
-rw-r--r--dev-lang/ocaml/files/ocaml-4.09.0-cflags.patch65
-rw-r--r--dev-lang/ocaml/files/ocaml-4.09.0-gcc-10.patch21
-rw-r--r--dev-lang/ocaml/files/ocaml-4.11.2-cflags.patch (renamed from dev-lang/ocaml/files/ocaml-4.10.2-cflags.patch)16
-rw-r--r--dev-lang/ocaml/files/ocaml-4.12.1-fix-textrel-riscv.patch46
-rw-r--r--dev-lang/ocaml/ocaml-4.05.0-r7.ebuild155
-rw-r--r--dev-lang/ocaml/ocaml-4.05.0-r9.ebuild (renamed from dev-lang/ocaml/ocaml-4.05.0-r8.ebuild)8
-rw-r--r--dev-lang/ocaml/ocaml-4.09.0-r3.ebuild (renamed from dev-lang/ocaml/ocaml-4.09.0-r2.ebuild)15
-rw-r--r--dev-lang/ocaml/ocaml-4.10.2-r3.ebuild (renamed from dev-lang/ocaml/ocaml-4.10.2-r2.ebuild)12
-rw-r--r--dev-lang/ocaml/ocaml-4.11.2-r2.ebuild4
-rw-r--r--dev-lang/ocaml/ocaml-4.12.1.ebuild1
-rw-r--r--dev-lang/ocaml/ocaml-4.13.1.ebuild4
-rw-r--r--dev-lang/perl/Manifest9
-rw-r--r--dev-lang/perl/metadata.xml1
-rw-r--r--dev-lang/perl/perl-5.34.0-r7.ebuild (renamed from dev-lang/perl/perl-5.34.0-r5.ebuild)27
-rw-r--r--dev-lang/perl/perl-5.34.0-r8.ebuild (renamed from dev-lang/perl/perl-5.34.0-r3.ebuild)102
-rw-r--r--dev-lang/perl/perl-5.34.1.ebuild824
-rw-r--r--dev-lang/php/Manifest25
-rw-r--r--dev-lang/php/php-7.4.26.ebuild745
-rw-r--r--dev-lang/php/php-7.4.27-r1.ebuild746
-rw-r--r--dev-lang/php/php-7.4.27.ebuild745
-rw-r--r--dev-lang/php/php-7.4.28.ebuild (renamed from dev-lang/php/php-7.4.25.ebuild)2
-rw-r--r--dev-lang/php/php-8.0.16.ebuild (renamed from dev-lang/php/php-8.0.15.ebuild)2
-rw-r--r--dev-lang/php/php-8.0.17.ebuild (renamed from dev-lang/php/php-8.0.14.ebuild)2
-rw-r--r--dev-lang/php/php-8.1.3.ebuild (renamed from dev-lang/php/php-8.1.2.ebuild)0
-rw-r--r--dev-lang/php/php-8.1.4.ebuild (renamed from dev-lang/php/php-8.0.12.ebuild)28
-rw-r--r--dev-lang/python/Manifest38
-rw-r--r--dev-lang/python/python-2.7.18_p14.ebuild (renamed from dev-lang/python/python-2.7.18_p13.ebuild)0
-rw-r--r--dev-lang/python/python-2.7.18_p15.ebuild346
-rw-r--r--dev-lang/python/python-3.10.2_p1.ebuild392
-rw-r--r--dev-lang/python/python-3.10.3.ebuild408
-rw-r--r--dev-lang/python/python-3.11.0_alpha6.ebuild (renamed from dev-lang/python/python-3.11.0_alpha4.ebuild)14
-rw-r--r--dev-lang/python/python-3.7.12_p2.ebuild341
-rw-r--r--dev-lang/python/python-3.7.13.ebuild349
-rw-r--r--dev-lang/python/python-3.8.12_p2.ebuild351
-rw-r--r--dev-lang/python/python-3.8.13.ebuild359
-rw-r--r--dev-lang/python/python-3.9.10_p1.ebuild386
-rw-r--r--dev-lang/python/python-3.9.11.ebuild394
-rw-r--r--dev-lang/rakudo/Manifest2
-rw-r--r--dev-lang/rakudo/rakudo-2022.02.ebuild72
-rw-r--r--dev-lang/ruby/Manifest7
-rw-r--r--dev-lang/ruby/files/3.1/001-socksocket-fix.patch15
-rw-r--r--dev-lang/ruby/files/3.1/010-default-gem-location.patch20
-rw-r--r--dev-lang/ruby/files/3.1/900-musl-coroutine.patch28
-rw-r--r--dev-lang/ruby/ruby-2.7.5.ebuild2
-rw-r--r--dev-lang/ruby/ruby-3.1.1.ebuild267
-rw-r--r--dev-lang/rust-bin/Manifest34
-rw-r--r--dev-lang/rust-bin/rust-bin-1.59.0.ebuild214
-rw-r--r--dev-lang/rust/Manifest35
-rw-r--r--dev-lang/rust/rust-1.59.0.ebuild705
-rw-r--r--dev-lang/smlnj/Manifest2
-rw-r--r--dev-lang/smlnj/smlnj-110.99.2.ebuild10
-rw-r--r--dev-lang/spark/Manifest2
-rw-r--r--dev-lang/spark/spark-2021.ebuild11
-rw-r--r--dev-lang/spidermonkey/Manifest14
-rw-r--r--dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch15
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-52.0-fix-alpha-bitness.patch32
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch24
-rw-r--r--dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild158
-rw-r--r--dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild (renamed from dev-lang/spidermonkey/spidermonkey-68.12.0.ebuild)3
-rw-r--r--dev-lang/spidermonkey/spidermonkey-91.7.0.ebuild (renamed from dev-lang/spidermonkey/spidermonkey-91.5.1.ebuild)27
-rw-r--r--dev-lang/swi-prolog/Manifest4
-rw-r--r--dev-lang/swi-prolog/swi-prolog-8.5.6.ebuild129
-rw-r--r--dev-lang/swi-prolog/swi-prolog-8.5.7.ebuild129
-rw-r--r--dev-lang/tcc/Manifest4
-rw-r--r--dev-lang/tcc/tcc-0.9.27.ebuild65
-rw-r--r--dev-lang/tcc/tcc-0.9.27_p20211022.ebuild2
-rw-r--r--dev-lang/teyjus/Manifest2
-rw-r--r--dev-lang/teyjus/teyjus-2.1-r1.ebuild4
-rw-r--r--dev-lang/vala/Manifest4
-rw-r--r--dev-lang/vala/vala-0.54.7.ebuild (renamed from dev-lang/vala/vala-0.54.6.ebuild)0
-rw-r--r--dev-lang/zig/Manifest2
-rw-r--r--dev-lang/zig/zig-0.9.1.ebuild59
146 files changed, 8229 insertions, 3322 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index acc49d3486b5..39bf52ee979e 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 310d760229af..641d3efd07f6 100644
--- a/dev-lang/ammonite-repl-bin/Manifest
+++ b/dev-lang/ammonite-repl-bin/Manifest
@@ -1,7 +1,5 @@
DIST ammonite-2.4.1 48567893 BLAKE2B d7096170c1072aabdc2b4374fdc89bee390a04fc01748c985eeb8be9cb2bc5d09334644c21b3bb4d2eab436b7df1ff8c915a26cde76d38a5765b29673d09ccf9 SHA512 7e65c7789c42e1ac23455dd27702baf80c3f7c554403f3a34bb939283328b719212af0a824152875e09a6120cc6c67405c1dce0e5da1d07e4e185002ae4672ca
-DIST ammonite-2.5.0 48405047 BLAKE2B 5d3506a89f59adde33447f22ed1a480161c6a635cd4710320f7ac66991e6171e5addc9e5ba62013f95b4e4f969899bce5b009853c36e0e966bff41c6afa69041 SHA512 8878a53b42db5edfe5a489c6abba16d985c94adc6b59ce8cac077a4e1eb7b9ad40be4bc1c27a28bbb277a47bab581a60b28ccded90081d216194d45086701550
-DIST ammonite-repl-bin-2.5.1 48408804 BLAKE2B 20d9738229c054e94393d50c86996a8a3fb8ecac1bfebe4b61d989edf0921c027bd5c1b48304bd69d9410c84debe9439aa315678fa9e4146bda845583c829fd9 SHA512 bb45d8790bf5ae853d22501b47e20e532b8a78f61dc63fbeb052b9a704befe1facb5572a3cdf9f7329f1dbca1637e9f191b10be761cb657e293506fb3fdc749c
+DIST ammonite-repl-bin-2.5.2 48408913 BLAKE2B 0ee4111ca8bf1dd9fc7f1749b946144e57e29638caf060fedbe93acb93fdda83c3c8e7d75691083c6c64b67fbec0361bd8ff94d7c9d3c5310ea485ee94425da0 SHA512 80f5fd4d0f569bbecd1f4073363a12a8877c17ed9b172b4ab3198ea10d9b1afe4f67f8bba1d8cd9eced3b3768c55231b6560394d2bb2d3e1f4316a2f4b5a8198
EBUILD ammonite-repl-bin-2.4.1.ebuild 491 BLAKE2B 356bd3ed23ec39aa264f37135e83282b994e838bcd92075b9e8273b5b26723a6681ab26b75402beaf29b3bb37fe98f1b64116bb2915d9b05a150ea01e2cd9436 SHA512 204bd1e3f16d432522da6af47e80ea18a9d8e667908b69ad83f39d79e8e0e55746c4803f1d2a82ce0633cb3261ef92676b0cad9ac8cf0e27b8696b3462513124
-EBUILD ammonite-repl-bin-2.5.0.ebuild 485 BLAKE2B 1075c80b4720bcf1114f75e7f0f19415232ff2d21c10f67a62a3c39eb1c31e2379010b6de3f2e5b1010b13b46d0a43245918d33d59ae4a9ec9730008afe8c51f SHA512 dafced49a27bc6b185145384832cd69a646b92cf58012990a3c559b6392d5fb635b91a6426af58e9852c1e67587606c20723b98b9068e4a3ccc1818a7fdda0a5
-EBUILD ammonite-repl-bin-2.5.1.ebuild 486 BLAKE2B 1d2fdd53a42227dbc2f0fb8f7e165582bbd1e92d32c8ab119319a54bdba9e74cff98bbda9d94ebda12e261c5b3fc764d4eacf23bdb65f61631883de1dc8e6550 SHA512 6e05bc776ac93864d5d31806efa1945a49ec7823ec30ea119bd9e932c1baf0363ab7a9624c27700fcbc17ff3c870a5abbd192103b631af71a3b92591ef0d01d1
+EBUILD ammonite-repl-bin-2.5.2.ebuild 488 BLAKE2B 05ad6d6fb22301faf5e650cfd9a980bb4fb09a5b5091dda73c77531f38df2c4f692f3fa134c5e2cc32f3a725681a5eda97b886c078e141187538bce16833ec49 SHA512 86d12b80b2c0cd67663c052dea02f584a554a4315f4fd7f71e1f66e20356f927b7636a262e4ea30bfe86ae2f25956bc1e57cf90e494c2f9ae4c25e2cff62c03a
MISC metadata.xml 247 BLAKE2B 4e1dbdae308a736b571e2a7ab4a90c650461771c024127c95a33990f3973331ba5de3cc8fe960115af9bb06f49908d258211b2a4e07c0f8d2a9536c965d836c3 SHA512 734659aca9188fe48564f64e23622ef0201931c75e1306043902fcf487a4155e8027a378872a48c7e34a903cdd0363a8e237b0965b7f532f80eaf38353940dbc
diff --git a/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.0.ebuild b/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.0.ebuild
deleted file mode 100644
index 35f7b5f9e334..000000000000
--- a/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-SCALA_VERSION="2.13"
-
-DESCRIPTION="Scala language-based scripting and REPL"
-HOMEPAGE="https://ammonite.io/"
-SRC_URI="https://github.com/lihaoyi/Ammonite/releases/download/${PV}/${SCALA_VERSION}-${PV} -> ammonite-${PV}"
-
-KEYWORDS="~amd64 ~x86"
-LICENSE="MIT"
-SLOT="0"
-
-S="${WORKDIR}"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-src_install() {
- newbin "${DISTDIR}/ammonite-${PV}" amm
-}
diff --git a/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.1.ebuild b/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.2.ebuild
index 7da31b8ae7c2..6cae7d9be42f 100644
--- a/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.1.ebuild
+++ b/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.2.ebuild
@@ -7,9 +7,9 @@ SCALA_VERSION="2.13"
DESCRIPTION="Scala language-based scripting and REPL"
HOMEPAGE="https://ammonite.io/"
-SRC_URI="https://github.com/lihaoyi/Ammonite/releases/download/${PV}/${SCALA_VERSION}-${PV} -> ${P}"
+SRC_URI="https://github.com/com-lihaoyi/Ammonite/releases/download/${PV}/${SCALA_VERSION}-${PV} -> ${P}"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-lang/arc/Manifest b/dev-lang/arc/Manifest
index d7f0eefd4ade..c956e8d59481 100644
--- a/dev-lang/arc/Manifest
+++ b/dev-lang/arc/Manifest
@@ -1,3 +1,3 @@
DIST arc-3.2.tar 276480 BLAKE2B a25695e4b90160d03e534bc7dcff194e922b8463ed9984523ee89fca7d6423e7f0f296118fa3f6046d988e6047e87dc609a56869e19d09435403320b5882f2b8 SHA512 f79cdb9b591582683e18afce24da935e8ab04ba837c5d19ae971bf9ec4abc038e6aeb712f36ffd1111e8d9fbb7a09889425294a15d546e9e6226b296294cc2a1
EBUILD arc-3.2.ebuild 810 BLAKE2B b6732aad43a5f90804bb258416c84c13482f08b44aa64f6421c7fe46550f8ef87cd84a28232a3d996aa79f89200f4827b7c7951933f9b6e3eaf5b7695bdbc7e6 SHA512 edc77cb36a87ec0cc14f4bfc581dc365468fe917dfa1cbd7d949b02ca09f87322fce997565e3220589cb54ab60e43b3ceed658f79ec3b26ac4649a0724ba8d09
-MISC metadata.xml 726 BLAKE2B eed040b1527f7c8c8f30b479e8c161d60f400f343cfc09412cded5675af085b3ca77dcf6d54130d4509f1a9305429d332947f1606ed3ddfcdcb0e4296a63b118 SHA512 5c38231c1cd641860d606b26d40d15d6bbe1c89a63c99819b8723704a9e8cb0b092ecd214b5c87740f968142f509a8967f5ecab2a4c44537e3e8c274b575521c
+MISC metadata.xml 716 BLAKE2B 953d098bdd577c7337a96cf18f762d0d0acb8e0286a65b901b22a2f48b69b1d207b193ab44b294065b5e7bc4aac7d2b207b763ff290aef2dc42fe40c282e3d6e SHA512 3d9cc948dc8a020317462c28d5725aedfc3357f0de3e0d24accd52441d3060411aa8d6e33225bacd81deb34dca03da17d413fa91e92b849ea8c02cd4032d9db4
diff --git a/dev-lang/arc/metadata.xml b/dev-lang/arc/metadata.xml
index 95f19d426259..cd6d01f6dccf 100644
--- a/dev-lang/arc/metadata.xml
+++ b/dev-lang/arc/metadata.xml
@@ -6,7 +6,7 @@
<email>scheme@gentoo.org</email>
<name>Gentoo Scheme Project</name>
</maintainer>
- <longdescription lang="en">
+ <longdescription>
Arc is designed for exploratory programming: the kind where you
decide what to write by writing it. A good medium for exploratory
programming is one that makes programs brief and malleable,
diff --git a/dev-lang/clips/Manifest b/dev-lang/clips/Manifest
index 922b8af805e2..12cff7e5c2d0 100644
--- a/dev-lang/clips/Manifest
+++ b/dev-lang/clips/Manifest
@@ -1,4 +1,4 @@
AUX clips-makefile-remove_hardcoded.patch 758 BLAKE2B 6f41ad9787c62ff1918184afeee50dd58447f767270c6ad1edf90b72f17ddd593fc2b971d8004b82bd28657caeb6214bb3cddcc47895ec86de68064240c0a0d6 SHA512 724135392c0c8e5a315086963b5160bab6a93d5dfdf36bb373ff84d1c6773be0cdee956ad71bc6ca7a7e8f6f7dcfbdecdbf4cc3d8cf636b35f270771b9251d81
DIST clips-6.40.tar.gz 1082012 BLAKE2B f168a14178ca0d5d39039d9e661e2214f9787099944e11413d7056b0c2a047596e913893a4cb3c4425c311af6bc39ff7710ce649045111e4947f5fcf320527c4 SHA512 92383895c60f1fa02a4c1f426d734ae7140e798dd19c7b1ee668bb4781a20e7d1f2554222ebc2c1f47c03d3262a7a058c3a7840d5dd48c2d2fe761e9a0602399
EBUILD clips-6.40.ebuild 678 BLAKE2B 262f8adf45e7e74cdc1e82bb65b3607cd958576c4b8a3b82d7e6648f4ccae1fab5e40398c46a37e6c1ac057eeeeb0cfc79362b15adc93ee7e1f2f9e789b754ce SHA512 e712646d2b6d793d8a7fb47fd23d45002983d56fc7ac6e419f63b9dba0fa2be7565a0cf634b5c4fb35dab3453bb7c1e5a626546e56a08a4657edfc8ea78e1c5f
-MISC metadata.xml 677 BLAKE2B 2a6ef84e9080a312894f85d0fe39c5f0f2e4bf4fc5ef19eff6fa0e0daf1c35bc0c591e142e0bb6251975a238c57e24e046876cd7e0eb3dbfbf5d39a32e4ac9f6 SHA512 3aa258bdd7a1977be41e7a712d4ae88787bd84ac5cfe009dbe3b9d1894b125e4ef1cd10c063ec96675d973baaaa17eea6bd9cc6653faa2679d50ea191b330081
+MISC metadata.xml 667 BLAKE2B 094fcf8b2eeee5ee36e940287cf0612b5ef407f1c9524980aebd2d9866a6de796795f148416d1531df33195b35a360f31daba449b1f6b3502f503575d8515756 SHA512 bbab01e86a58ba437ea5fa01b60e1450ae2e21b38ede1874b1fc385e833741421d6804b3526b843e2f2cc64625e143730456fdde7a0c00f297ca220612b7df94
diff --git a/dev-lang/clips/metadata.xml b/dev-lang/clips/metadata.xml
index 17de2386ed68..8950bb052c8a 100644
--- a/dev-lang/clips/metadata.xml
+++ b/dev-lang/clips/metadata.xml
@@ -6,7 +6,7 @@
<email>xgqt@gentoo.org</email>
<name>Maciej Barć</name>
</maintainer>
- <longdescription lang="en">
+ <longdescription>
This package is a pure C implementation of CLIPS.
CLIPS is a forward-chaining rule-based programming language written in C
that also provides procedural and object-oriented programming facilities.
diff --git a/dev-lang/clipsjni/Manifest b/dev-lang/clipsjni/Manifest
index 166883e613d1..fdf47f049edd 100644
--- a/dev-lang/clipsjni/Manifest
+++ b/dev-lang/clipsjni/Manifest
@@ -2,4 +2,4 @@ AUX clipsjni-library-src_makefile.lnx-remove_hardcoded.patch 969 BLAKE2B 14cb159
AUX clipsjni-makefile.lnx-java.patch 2408 BLAKE2B 9dc608b442429cf7551bdd260b5f50bc98ae001e75fceb2ec6f5d65320296cd6b546b497a397b77af74be87ad687917c317f8fecb9c288928929e3482bf3fe76 SHA512 d55f56bec1481ef06fa33eaf0fbaa726a97b53ef1df52a8d72cecb33a29284ee6953fbb342695557377f981f30b062000624de65e481342c109db139f21f8e84
DIST clipsjni-6.40.tar.gz 3924580 BLAKE2B 6fce0ba8d2483291e1328ad8cba08bf663959e49414ae29e43bb226b8c82391ccde2d26732c6687ab52ee5cd88101df19c17258907d2fda84bde759d0d3687c6 SHA512 aacfe56ee64ade0be834654246e57a087cfc41d030a7138892158145a3485b0c9af60e188929123e3212ae0cf3cac0d4eac1e13ea0662d72ad714d67d4772d44
EBUILD clipsjni-6.40.ebuild 1644 BLAKE2B 9205b367ce8728b2384aa6169bcada198b317d5726b8a5b01f99a870bcb0986ac851083ffd09403cbf07bd7669db20920125c3f16e4233f03a963e973a927bc0 SHA512 1c4244d77cd4b6184ed320762891d4220206dfb4b1816036e5783a07583cd5dbe9a637eb78ca53208b40cd7ca9c6ba1c10b50dd170592c517bc1fcb67882e4f5
-MISC metadata.xml 721 BLAKE2B 34fb04e1c30e708b6f1d1cb0a3f821ee2fc69cc1ae988f13e0a4feea65bcdd0f8822960a4047a101bfb61ca32f85fc2111aa45149ff7326bf58492679f513bac SHA512 d18cab423ae2025c29954d168fe086724f8e1668eac5f8e7bbb2836d3a2bd8930aa1b2badfa16ede29e13410fd25f7aad429c9ce864b827f741373974976f963
+MISC metadata.xml 711 BLAKE2B 4f1edc8c2ac622563c61a89dd4334743ae8952523a7d6fc8f17b42668e09e0ef9a43dc9e39a9e204b291175cec54a3661a6dd3de60129e5391d4668d2e5ca1ef SHA512 861a56ca701dfcbcbc93a3e8da1d27a371b55286ecec69be7420829e6d9572c06db31ad76de7bef1f30d0c88ffab44d6ec0682881a147e8aaa6c5970686c1f41
diff --git a/dev-lang/clipsjni/metadata.xml b/dev-lang/clipsjni/metadata.xml
index 87cd0caf515a..95bdb20e9678 100644
--- a/dev-lang/clipsjni/metadata.xml
+++ b/dev-lang/clipsjni/metadata.xml
@@ -6,7 +6,7 @@
<email>xgqt@gentoo.org</email>
<name>Maciej Barć</name>
</maintainer>
- <longdescription lang="en">
+ <longdescription>
This package is a Java implementation of CLIPS with
a native shared library and a IDE.
CLIPS is a forward-chaining rule-based programming language written in C
diff --git a/dev-lang/duktape/Manifest b/dev-lang/duktape/Manifest
index 72b9a3b4ee2a..ad0d56d3d2e5 100644
--- a/dev-lang/duktape/Manifest
+++ b/dev-lang/duktape/Manifest
@@ -1,9 +1,8 @@
AUX duktape-2.6.0-respect-tc-env.patch 1499 BLAKE2B eb400e6c7a1305490682e7e4d5db38491915168497302d0bc4c7c59c9c243130750631cb6097ce7228026fa975f0bcfe107402e00c7c62ef31924d87ecc2774a SHA512 b2b99410c070fc00c0eae2a23007ea6295cb7202adc24df84aec03156bd262f2a459dd1550393197fdd377ab22b84768d6b01bb84785961ee7c81f08559151e9
+AUX duktape-2.7.0-respect-tc-env.patch 1427 BLAKE2B 50632d9ed0042dacdd4e0c760b2c374598b0955ff66d2625109a4555dc792c3c0be8d9855921cc7708009514257486698d7da8a18efd087cbe923fee9236ccf8 SHA512 e5d598c05aeff3db6f03565b1f443497506cab72895d867edb939fbad63258e1d11330880e6396a0c978a1c9cc0da7a6edd0362d5cd8eab48c188be7c043e63a
AUX duktape.pc 218 BLAKE2B 3864f90f3ec1d77733736e16f99c0bab796502d3306759106357cb500d038304dfd6dc9849c9cde2e77683bf1f38dc7707119b39b66a6b55961b802e8d679520 SHA512 0f4b4e20ea9b348ed8b69623ed4fa09c20a2a951ef4f281b6313961c4aa085be9fc511a948d67713a7d2d9dede984761d5409b25e09da1db10698eb615f7c6fb
-DIST duktape-2.4.0.tar.xz 1027744 BLAKE2B 9fb74b0586a5ccf5ef80d69955ab0ddb94428d463e300a558b5ab6e279d2c416b794434466604caa80581883df85f889694af1dd3ea0aaa4a3d53babb855f3ef SHA512 be6b7c73ae7c3419e8ced375fcff9680946e780b71d30e3be4e4e3b4b3a2710aa8f86530081c64958507a11fc215cacc5409c7d3a1d30b757838a00c748fa281
-DIST duktape-2.5.0.tar.xz 1031188 BLAKE2B 15d9190e9c723bacf8249ea31bf528793ca06e86d2697648192fee50b4ba2f7cf091e1392ac14a7a5c35b05a3ff5f200e0318cc8a4b873ad26f0c97683a2cb72 SHA512 230e298a91cb48407d7c2a4b7c85cf9d53151d550e2fd7ba6cb8f9115682abce295fb78a3c3cd22b4812ce86944dd6d28c2b25c3845668a17232e3a08ea63837
DIST duktape-2.6.0.tar.xz 1035160 BLAKE2B 98155e1bf7e76aab37f5ccdb951d9d456df3d984ebed5058d8931e25317ffd94b4d95f08e102eb6eb2fa36ab6d2d60be6072b4101b7754e1c1440f7d6fb2c91b SHA512 d72a2aaa05391fa243861aca6ca6082f91a08b9c5d60c7b246d35d7161532b0048bb67bd8fec7996c700ee317ac2bb52e528582682e5425b0431757d8b1c5be4
-EBUILD duktape-2.4.0.ebuild 984 BLAKE2B 639c3dbdb610048fc33134671a428deca1fe106f5f54cc7baee3d21b921265c63e168208501e6aaea0f91a578f2d33dd5b110d14f25a7d198542be944346a957 SHA512 7bcadb6b1e5a246bf2b62b3f3ccb7dfc50e9232508d86fbef1481b8b08fdd1b810e5010eff72fb8f88eb590f39ba711294bbd1b9207eeeb524032a57fb10170e
-EBUILD duktape-2.5.0-r1.ebuild 1070 BLAKE2B 32767172e822423930b4bdfd536e5219039d3aab8edd7238a5da030e3e9932733a9b11a0e060180240c2cd82bc9520bd87be705ab6593dfbb56842b6310e2760 SHA512 e6c0e7e07ad49e8dd507cf41cfcc2986847df6d111f2db25fc2b8485f76daa38d4aad3776eb12d4fd2ec2d4c0b8505dc621fba340b1d8badd285a85b23759ec9
+DIST duktape-2.7.0.tar.xz 1026524 BLAKE2B da5eea88758201177f32c5611a3757433ef1b0173d6430eff1f067abd7535f3e4b9c3717290fbd8475827a53f7a2a74818287a65e563f14e91761f5cd0fe30d5 SHA512 8ff5465c9c335ea08ebb0d4a06569c991b9dc4661b63e10da6b123b882e7375e82291d6b883c2644902d68071a29ccc880dae8229447cebe710c910b54496c1d
EBUILD duktape-2.6.0.ebuild 1195 BLAKE2B c63b87faea9fd89a23d33cb5ec49af33ba7cf653a25e886f4bc8698177f1c6c13ca6b65086ca2390e655b89342b79a15187e841c14041cbd9daa821f5e28b158 SHA512 980d422bffb1e9fd9d884e59b8e7925b87c1a9f01c9ae9314e4317e8274cf982257dc1d5965276f81a7f610964a9da8f797d83561b91dfcc5817fbbc156fcf97
-MISC metadata.xml 254 BLAKE2B 3d4c8d70d6cd3ce4afbd9cb3e7d271c14fccaba157aa4b4dc1bc5118f65e628aa521958605425ea5cca50c85b2e4cf7da937091daa2afa155b547e18b96b0c9c SHA512 b3f2e5506b50ea066915fb0419bf15d5996e1c097e78f4888e1d953f2149903143e1d9fef6ca884e94543448ada3297987d2e17a5a0e77124fb3f819b66bf23b
+EBUILD duktape-2.7.0-r1.ebuild 790 BLAKE2B 3f91393f2111553706c55ae8d3dfb21d87cf9df6e21c8cd321e12c8c6d1b36de41d87e61bbd0a1308a5407b83dc463707b5fca0c1a795acb3c775df403febacf SHA512 989dd2b3bc53c9d71c222c57d125060c1df0ae9471cfcf08ddd409916e09f3c201c45d75f3ad1cd76addadeba8c88829ed3d688ce2a1a3cf94c3e37bcaa85adb
+MISC metadata.xml 321 BLAKE2B 2a50c01a5f2fced09b9faecfda887bd2de9bb266ab9fed010627aacd691f6acd7aa4c327b6b77190ccee315098695004b2b3b798464420117648651d7da427f3 SHA512 b1e4fcc8a976debc2384323ee3c520dbd5b5f1ee869b73ebd6c299c414058024683b781e2506db1fc46cfe60878941e730a912e2197232fdaa2b0d97862eb8cc
diff --git a/dev-lang/duktape/duktape-2.4.0.ebuild b/dev-lang/duktape/duktape-2.4.0.ebuild
deleted file mode 100644
index 40429cd2db27..000000000000
--- a/dev-lang/duktape/duktape-2.4.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Embeddable Javascript engine"
-HOMEPAGE="https://duktape.org"
-SRC_URI="https://duktape.org/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- eapply_user
-
- # Set install path
- sed -i "s#INSTALL_PREFIX = /usr/local#INSTALL_PREFIX = ${D::-1}/usr#" \
- Makefile.sharedlibrary || die "failed to set install path"
-
- # Edit pkgconfig
- sed "s#VERSION#${PV}#" "${FILESDIR}/${PN}.pc" > "${S}/${PN}.pc" || die
- sed -i "s#LIBDIR#$(get_libdir)#" "${S}/${PN}.pc" || die
-
- # Set lib folder
- sed -i "s#(INSTALL_PREFIX)/lib#(INSTALL_PREFIX)/$(get_libdir)#" \
- Makefile.sharedlibrary || die
-
- mv Makefile.sharedlibrary Makefile || die "failed to rename makefile"
-}
-
-src_install() {
- dodir /usr/$(get_libdir)
- dodir /usr/include
- emake install
-
- insinto /usr/$(get_libdir)/pkgconfig/
- doins "${S}/${PN}.pc"
-}
diff --git a/dev-lang/duktape/duktape-2.5.0-r1.ebuild b/dev-lang/duktape/duktape-2.5.0-r1.ebuild
deleted file mode 100644
index 3f817f751d2b..000000000000
--- a/dev-lang/duktape/duktape-2.5.0-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Embeddable Javascript engine"
-HOMEPAGE="https://duktape.org"
-SRC_URI="https://duktape.org/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- eapply_user
-
- # Set install path
- sed -i "s#INSTALL_PREFIX = /usr/local#INSTALL_PREFIX = ${ED}/usr#" \
- Makefile.sharedlibrary || die "failed to set install path"
-
- # Edit pkgconfig
- sed "s#VERSION#${PV}#" "${FILESDIR}/${PN}.pc" > "${S}/${PN}.pc" || die
- sed -i "s#LIBDIR#$(get_libdir)#" "${S}/${PN}.pc" || die
-
- # Set lib folder
- sed -i "s#(INSTALL_PREFIX)/lib#(INSTALL_PREFIX)/$(get_libdir)#" \
- Makefile.sharedlibrary || die
-
- mv Makefile.sharedlibrary Makefile || die "failed to rename makefile"
-}
-
-src_compile() {
- emake CC="$(tc-getCC)"
-}
-
-src_install() {
- dodir /usr/$(get_libdir)
- dodir /usr/include
- emake install
-
- insinto /usr/$(get_libdir)/pkgconfig/
- doins "${S}/${PN}.pc"
-}
diff --git a/dev-lang/duktape/duktape-2.7.0-r1.ebuild b/dev-lang/duktape/duktape-2.7.0-r1.ebuild
new file mode 100644
index 000000000000..13df504195a9
--- /dev/null
+++ b/dev-lang/duktape/duktape-2.7.0-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Embeddable Javascript engine"
+HOMEPAGE="https://duktape.org"
+SRC_URI="https://duktape.org/${P}.tar.xz"
+
+LICENSE="MIT"
+# Upstream don't maintain binary compatibility
+# https://github.com/svaarala/duktape/issues/1524
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.7.0-respect-tc-env.patch
+)
+
+src_prepare() {
+ default
+
+ mv Makefile.sharedlibrary Makefile || die "failed to rename makefile"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ dodir /usr/$(get_libdir)
+ dodir /usr/include
+ emake INSTALL_PREFIX="${ED}"/usr LIBDIR="/$(get_libdir)" install
+}
diff --git a/dev-lang/duktape/files/duktape-2.7.0-respect-tc-env.patch b/dev-lang/duktape/files/duktape-2.7.0-respect-tc-env.patch
new file mode 100644
index 000000000000..f29f9c7073a0
--- /dev/null
+++ b/dev-lang/duktape/files/duktape-2.7.0-respect-tc-env.patch
@@ -0,0 +1,24 @@
+diff --git a/Makefile.sharedlibrary b/Makefile.sharedlibrary
+index bf5c0cb..5862b4f 100644
+--- a/Makefile.sharedlibrary
++++ b/Makefile.sharedlibrary
+@@ -70,11 +70,11 @@ all: libduktape.$(SO_REALNAME_SUFFIX) libduktaped.$(SO_REALNAME_SUFFIX) duktape.
+ # to $INSTALL_PREFIX/include on installation.
+
+ libduktape.$(SO_REALNAME_SUFFIX):
+- $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fPIC -Wall -Wextra -Os -Wl,$(LD_SONAME_ARG),libduktape.$(SO_SONAME_SUFFIX) \
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fPIC -Wall -Wextra -Wl,$(LD_SONAME_ARG),libduktape.$(SO_SONAME_SUFFIX) \
+ -o $@ $(DUKTAPE_SRCDIR)/duktape.c
+
+ libduktaped.$(SO_REALNAME_SUFFIX):
+- $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fPIC -g -Wall -Wextra -Os -Wl,$(LD_SONAME_ARG),libduktaped.$(SO_SONAME_SUFFIX) \
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fPIC -Wall -Wextra -Wl,$(LD_SONAME_ARG),libduktaped.$(SO_SONAME_SUFFIX) \
+ -o $@ $(DUKTAPE_SRCDIR)/duktape.c
+
+ duktape.pc:
+@@ -101,4 +101,4 @@ install: libduktape.$(SO_REALNAME_SUFFIX) libduktaped.$(SO_REALNAME_SUFFIX) dukt
+
+ CCOPTS = -I./examples/cmdline
+ duk:
+- $(CC) $(CCOPTS) -I$(INSTALL_PREFIX)/include -L$(INSTALL_PREFIX)$(LIBDIR) -Wall -Wextra -Os -o $@ ./examples/cmdline/duk_cmdline.c -lduktape -lm
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(CCOPTS) -I$(INSTALL_PREFIX)/include -L$(INSTALL_PREFIX)$(LIBDIR) -Wall -Wextra -o $@ ./examples/cmdline/duk_cmdline.c -lduktape -lm
diff --git a/dev-lang/duktape/metadata.xml b/dev-lang/duktape/metadata.xml
index 8dbab43f9b27..fa4a06426fce 100644
--- a/dev-lang/duktape/metadata.xml
+++ b/dev-lang/duktape/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">svaarala/duktape</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">svaarala/duktape</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest
index 82b762397292..2bf984cbe5c0 100644
--- a/dev-lang/elixir/Manifest
+++ b/dev-lang/elixir/Manifest
@@ -9,9 +9,11 @@ DIST elixir-1.11.4.tar.gz 2396885 BLAKE2B f63e835991420bce8cacd38a920637aa5656c0
DIST elixir-1.12.1.tar.gz 2458060 BLAKE2B 512f016cb7f064f2b90a4d2dae4ffaf957422f049322b5fbed1eef155687b1111de89df838c254cf123b904e64f746fc19175372166526c739d8a1d66f9abb0c SHA512 ecea8a95d05e85431c324c7e15fdd08639a52fa6031fb8ec671825debecd892d2258b3914fdd8417728be1a18202d211eeb19869797ad0fd022c6ec91cd05880
DIST elixir-1.12.2.tar.gz 2460047 BLAKE2B eebcb4b828bf445ece6bfceb40b228406a15b0d33fb6efcc2b34fa4a264d83c5d71aa9787c5b641e903fb97ba02da07f3edf76424136e3dab0248a65823f225f SHA512 4c19a6a0310606b3016b3699079dc5f667e348c86c92e7e998cbecbacd283f5f4ccdd3d83b757725ba637a39729e9d82673b596feee72e831d575630e2f3111a
DIST elixir-1.12.3.tar.gz 2461828 BLAKE2B cdae9bd7f3463b89dd737ce943d57b7f9801bf382500a274332e1cb87902ecc37bd6e7a53af4dd5c1cd6e6d9d64171e226e676cd8023252c86fdf028d80dd383 SHA512 945e33ca9c3e50015531f87630c1bc1b9966acc64bbf7d01c8c4f8cfc104ee1e08113f572f0ad6a9f5e8ee37e33144e58b2ac33dc0a2b01e1355fc5f8b1b9329
+DIST elixir-1.13.3.tar.gz 2922197 BLAKE2B 47c98ffe24d11ea161e9b9fa55d3c8ee1c2234848707aeeaf715eb02a61b7d3e8784bf2599b4129a824edf004d1edda2f0a42252710d957cc0213202f86dc06d SHA512 88bf585e18bfefa54c1c771247ec489bc96d16cc0f88384e9c0c981ddb665cd7efccd49383b4de1fbbd823ecd0a5e65d76e3065c9ce3c45f2f4feccd01ace48e
EBUILD elixir-1.11.4-r1.ebuild 1096 BLAKE2B a94f4bfc202bd0765296efdc82ef0665085c502d6dbf3d05ee1f12ee3fa5d3b3ae38d70bb6b2db272e3977838147296934c9616caa8e535b5f4f994842aac92d SHA512 9e201821797a284cd214cfb963b15af00c2de951fba16471e05dc7fa13b42e8b1de9329693d3393bbca10005c091cdab20e753d25c063903e89ea04063deae00
EBUILD elixir-1.11.4.ebuild 943 BLAKE2B a523b08050cbefaeee8093b145dcbe17fdc74b19ec96d22a546d20788fe1d0048719f3fa307c995164a2c5a2bbae96d69e59a59f58d548a6b979787b454e8c08 SHA512 cd83ec4bcfe2f791c4ee4a4eba97d53aa78396849fc5fada8f2bd7a01b69eb9fd315a65a85b0eac67f1f4ee367e43406292673022ca47ab293572af6b87307e4
EBUILD elixir-1.12.1.ebuild 933 BLAKE2B 5393a8e9405e6d12ef8b1980143430a433345a8ad972e9818c3b480127661f53fdffc168d6ca218cb0fced3f96da4130cd33993a938ecb846150ea1714737fa1 SHA512 e0021e091c4debd7630558990ded0ebe10e61860776f6198ed65c73c354923f7928dffecec407f501fae19eace8c832c9cce4f629f978cc979817d92044236a7
EBUILD elixir-1.12.2.ebuild 936 BLAKE2B 8e9bfca5e5faf640f947f7715a587457edb147b4c7a6fef399a8bd34cbf9a614e675f4c0f3537928490e76e00085684744c2bba8cb07192ba268904a661fdb73 SHA512 020f6fc50ae4e764fd759df8be748bd813e8183171e705449c55663b0df4777f5d078b4ef667973b659c9481f4723ff114d0f52eecb744e297f799ad22304ce8
-EBUILD elixir-1.12.3.ebuild 936 BLAKE2B 13da7b0562422a7230915d099d9a1e8c50ace16cbd8528100df0d6f6f27babcef50f3ebbde5f75a5a964e304ab6630d297a2ac7980fd0cb638acd0c6163db5b1 SHA512 20db11eb6bd839067056dd16c4d84c0c72cbc138838070b93fcfed0c00e74bb2c07cb37a993e20254c9dfeb8c08998495d69b2dd3dd3c20137b37bdf7a74e0f8
-MISC metadata.xml 709 BLAKE2B 484bee8415dd9670201a0532b89d6e316bc6640f7ccb549f0ed5b17ce4474ea1d00e077c078037f39e12e93c21df80554827d0ff3949e7bafe1914ce98da7bfb SHA512 b879ddf3a32ad7a467deed25426274828f970f2ccce6e7a3f7848a8917eb9ad17e161351ecccf45a6a445f1a88178bec27f23075c0e4e19e6f135193eb160b9f
+EBUILD elixir-1.12.3.ebuild 933 BLAKE2B 0e11ce540d27904a54643dd76e7d3e1146f1fec96e81c237e9082a54c6b656bc0a63731251b912bfed0bee405548c9d57a5756e0ff5b5743eeb2390746533a1c SHA512 51e9057967268729c7ccd66e08ac50297e01ef9018df3478b7f7d76257712f6d91b40cc6964684e5deb495b2e03de22055fdaa23ff99d131a691a5f66ee2e528
+EBUILD elixir-1.13.3.ebuild 886 BLAKE2B ffb79b2a9762a4e0dba0c0c92a98fe59270aee8ed89d27efb54b1bcf15ed44d63464e560bd0d07359af2999a1fe3f5faa38539e322c64ad60dfbee78cfa082bb SHA512 63830d398804ee2a4943cc22a5f09d6d7e84ea5d07bc765026ff480b7fc3d6e1e5f8aa7f42c1025e506f258f80079dd445296f2a34d1bf466d5008240394ebd5
+MISC metadata.xml 724 BLAKE2B ae59dba7153a9cdbeb0ed45acf54cf733f07ebc1b43896f88ff09686ecbdd56553e92f7733e5f556d01e622cadb85a24da879799b0f742d7e257425db1f300b4 SHA512 43cc4435aa89e2ba8edaf8f4cead814c514fac07a7c0500f3f7dfe35d2da6f75f835df0d21d862be6dcbffbd9c6e5ea32b21296048ec903c1491ccfd4854316b
diff --git a/dev-lang/elixir/elixir-1.12.3.ebuild b/dev-lang/elixir/elixir-1.12.3.ebuild
index 116a530e4d38..126b4810b36b 100644
--- a/dev-lang/elixir/elixir-1.12.3.ebuild
+++ b/dev-lang/elixir/elixir-1.12.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="Apache-2.0 ErlPL-1.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~sparc ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ~sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-lang/elixir/elixir-1.13.3.ebuild b/dev-lang/elixir/elixir-1.13.3.ebuild
new file mode 100644
index 000000000000..aee01883e02c
--- /dev/null
+++ b/dev-lang/elixir/elixir-1.13.3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Elixir programming language"
+HOMEPAGE="https://elixir-lang.org"
+SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 ErlPL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~sparc ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=dev-lang/erlang-22:0=[ssl]
+"
+# 'mix' tool collides with sci-biology/phylip, bug #537514
+RDEPEND="${DEPEND}
+ !!sci-biology/phylip
+"
+DEPEND+="
+ test? ( dev-vcs/git )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch
+ "${FILESDIR}"/${PN}-1.10.3-no-Q.patch
+ "${FILESDIR}"/${PN}-1.10.3-epmd-daemon.patch
+)
+
+src_install() {
+ emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" install
+ dodoc README.md CHANGELOG.md CODE_OF_CONDUCT.md
+}
diff --git a/dev-lang/elixir/metadata.xml b/dev-lang/elixir/metadata.xml
index 5a1358562005..10b86bcffd2c 100644
--- a/dev-lang/elixir/metadata.xml
+++ b/dev-lang/elixir/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>styx.mp@gmail.com</email>
- <name>Mikhail</name>
+ <email>contact@hacktivis.me</email>
+ <name>Haelwenn (lanodan) Monnier</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
@@ -19,8 +19,6 @@
<doc lang="en">
http://elixir-lang.org/docs.html
</doc>
- <remote-id type="github">
- elixir-lang/elixir
- </remote-id>
+ <remote-id type="github">elixir-lang/elixir</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 2f4e67f288de..dcbacf0c1d5a 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -7,26 +7,24 @@ AUX epmd.service 138 BLAKE2B f56c907ec51bb85c437235334cf01c6a43ccf2316be3b226ab5
AUX epmd.service-r1 159 BLAKE2B ec50e4bfd89dc2d35fc2e549c695f9aae163d3df4d3c7a0d3f85f0f747c13a8aed9c8e9e57f3898ab31aec6795d7cd0565a7c563dc77f3f6154e53be88ec326d SHA512 4b99b2092fe447fa01e3badfce261bca6400ebda70f890efbacc40570019adfe9fc349a6d024955e2f1909c9068f37415b64d0a104399f2696eff6ccf6ad06ab
AUX erlang-22.0-dont-ignore-LDFLAGS.patch 1174 BLAKE2B 64900c6b934ecbd11238e604f907e6f8b1ec2730d2b98aad5405383742563e050bc6ffaae22d55a22998658460109fac9f6628458f5e976e9fbfe71cc26f1d64 SHA512 0fd7cbef64a9a54e0959d49b50096f9abc6fcede4360c153631c7f649f5c41b35ffb1f2d06f80964bf49421464bcc43c96147c227d60cf413c51b3e89ae9ad24
AUX erlang-24.0.2-serial-configure.patch 586 BLAKE2B 3ad4fcbf35310dc11e8aaddca95a467414c60390a7e170c83d0775230a5a815212c6ddce55e98721b02e03511f80e67cfbd60e4b06bc86c615bb3a51d5015ec5 SHA512 abc81ef2a0b23fbe82542efefb1cbb12b1143e9282f7114ea929c18a5c02f2053caabb05ef9838d40b40f3ca59b06955528b122092438ee3d4ef6a8b567fc335
-DIST erlang-23.3.4.8.tar.gz 57242259 BLAKE2B 9959fd9ae0d8a0a4639ad0ff9f5a16079cdd7af525e0dc1189a3cc6741f653e511c84da77344465e7f365a8cbc07f691d3cfec23b062c2e274dbb8d4911733a2 SHA512 14449701a88b18103266cd562cad8b0f10e7abb153c7fe2d39792c232a11c5c5ea12e75eb17bac57e30cc43d1e907ae988a1beb662b4d7309f35231c76bdb381
+DIST erlang-23.3.4.11.tar.gz 57263517 BLAKE2B e677d9cff8604222c61467e64c0b5fb95a5c108778683bdfc0221c8d2f2973a33ec114d0e109b1586e114ee6b49cbc0c000295161eca5a0bff9770f18c3311d6 SHA512 820be438219473cd2f73cf03c854fdc5585ff7ffada411932a672bc6b182ef6d68350e0150fd1c9de6f7dcf788b443f1905c79e96f8b02d39a7190cdb267559e
DIST erlang-23.3.4.tar.gz 56664814 BLAKE2B ef8aa8d5a6fd1efc02a35459d1cb15eecf5f948127266bf782544e1da9a59765aca15070ea92df5558a4de017cc810e3542e2393e9470243fc6d9be13e9f37b6 SHA512 c8c5a9676163058276c703a0db0373508fad0ed9dff0aa9806ce59115ca766ff1d343c5a3917a920b249655fe188b974482ff378e9173c9fe00ea3907e618da5
-DIST erlang-24.0.2.tar.gz 58878378 BLAKE2B c2ea65cac39b654d9037ea9fcb47eb6eea96dec2483378f414bc33475e850121c1adaa30ea880070624496be9779539f98c864b0dd6eb92d3c4badaa121353d1 SHA512 d85e3e6a4177ac8c696dd666183f624065a89d35aa7f031cd6a7b105e0d1f9007de8d413880df47daf8f695485d952a81a14a01313b52f66534c1e5bd050093b
-DIST erlang-24.1.4.tar.gz 59009229 BLAKE2B 484ad90509a618098dc1c3fc2ae7d2b44dc7735399f3ba2138d3c755b337e7c513083724329581e72968f6a5c33c9767f0192a1f5d21d35a3a69d5b4e151def2 SHA512 b5cf4fbce07b26b97ec8af62d1b86315227ff369f27c996a6df08b322b76721539a55664dcd4ffec49ff77efadc8e4f0c967c064bb4e1f5cdfa2db2eaa02620f
-DIST erlang-24.1.7.tar.gz 59014237 BLAKE2B e32e963911c574fb7927d870029912b8de2cdde8303ee12cdcca8d345eddaa76ee16862a07c6d5013a775c80db6abb744c6be3447dad8126d0aa26ac4d305043 SHA512 052758df429af0971c9d78a4f56e2f333379510db3efbb103e6b869584e54af438b2d43e5172412e0fc624ea68b1df6be84debdae51777a7f4aa327b39b2248f
DIST erlang-24.2.1.tar.gz 59093658 BLAKE2B 4e4cbcea4ccf3d65a16e1af0cabc55ef31107a9475109f5668eb3d0926ad35743d8d6f2d72090acd68f66a6caf3ee3524d4e31500d140bb54d8ff6d629da054c SHA512 b4dd5c9506840fcb078b8c5820a70a07794d8e646f66941095cd9536cfcc60ed6c070d1f85952379384f774beec965521cfc567e7a4a94088ec9ce0fefafe984
+DIST erlang-24.2.2.tar.gz 59091659 BLAKE2B 6b845e3de787e7aed4239284ffa81c483504c0a095c3cc3030fb8f3a0a236d0507f4290beb69096a1edbd3d13e9a4d5f2940eb6c268aaceb4a7d3bacf01dfaa0 SHA512 791bd9cc299168d4a209bcdc797a9671a39d03924dc18c9e0520393adf4eb54922c48eecde44601bde55b4fa80b91e0eddbfc486c5f45a611da60b47c63208c7
DIST erlang-24.2.tar.gz 59094451 BLAKE2B 4b1673570e97fe399dbdb5ab2095ba38f08b684c6a0cf7ad47f628d900802751c2db11d5de6f267aeb8c77d27634c2642f96045893acf9f1c32de3e4fe3f3ffb SHA512 88450f935579677eb0d43fd25e5f45b1e78ff8e9c6455d87198decbbb675f90c2e87757b3ee33b43fafb87fced20e984220be9b6b70f8cb8f6d84e4743764495
+DIST erlang-24.3.2.tar.gz 59302675 BLAKE2B 265ab89c4b09c55cd65d046c79a6bbbef1fdbdc9b69bc1b61f2edc8ab731e9ecdf09e189861ebf57b97e60bb06244af9bb0cafe4460dbc53cf34326079a8992b SHA512 811f50f4fa34dade0e2051decc7f8d7e96949cc9a9f11f507d3bdab43e65a654ddd6d0d49edbc03cc169d9d81f7937a195be5f103918e13b8083c31bdea2df2b
+DIST erlang-24.3.tar.gz 59288148 BLAKE2B faa6ef9b7bb953c95b19ad1545c8d87eeee0a24f2b1a09b22968c93ee9df72df6d1de7cd9015b49891f28f9c8629d3464e41b5f68f7e9f9e28f12ae7fc706e54 SHA512 7a2afb7ac48e05676f5cd1af6748c0e44cb28e896ebe7a3ae389cdb910d124ce7b9f974851b6de81f40d20df2a5775d07b1b8baef7af67df93252f462c1d6550
DIST erlang_doc_html_23.3.tar.gz 36224657 BLAKE2B 7e2a3e16f4cfa0f15c01074740e02af7a45b480b4a94e764463717658ab7e5d0281f928c3ec585582b10168645e3e06cfe72cf6a0ba1b88f539b80f2b7ad99be SHA512 8be4aae46839239604b875b39339e7b6b6c677c099b3d749d5f1041c4508c1c3b4aa8136a93df12b1e5cb6333ef907276f5965c9726ed2b9e77a6043c8ef53b1
-DIST erlang_doc_html_24.0.tar.gz 39731398 BLAKE2B 8a9fe3acb4cc13691e16c477cf89e8298df1a99bbe6a6c9e59e3c34248ecdc21077835951087b5a5bbb23ddb28f3bd7ab8b058fe64ce56c342b825a6c0ef8948 SHA512 453f8a9cf779a4f43966615433afc3be3aae7a571acf45974947bd720a331ca05949bc310de5f3b33b72d274971103ede56875bbfe757ba17f903510f690d97e
-DIST erlang_doc_html_24.1.tar.gz 39873142 BLAKE2B 5e4bea792be6332a2186a270466a61bda5f37b5a066638ae00545433bf5bd11f84fba7a0ac210a9104e5322fd372759e53d0abd63468c59a3a2c59a3eaddd5ca SHA512 6ace8d8ba4b74e3269e71880f73bd296769acd8778f13fd945b80e57a694d70929d3e7a3263ff3c154190679d88fbb9855e201212e504de4a261e4182662e99a
DIST erlang_doc_html_24.2.tar.gz 36604264 BLAKE2B edc870e53cb89a42ec1022b4250942ab03d47d81dfa86d767c179ef89ec67e2ed7df2274acfe2e1469e5344691e9a0a33174c5237e48e2fc6203518c39978d19 SHA512 de3957676970419953043cbf130194b1bfcb0f2664e2a6148ccfdf7fbd3bc797fa76a19f2e8362e176afd81408b937c5b8b0b126703326b757cfaf396d5e3e79
+DIST erlang_doc_html_24.3.tar.gz 36645792 BLAKE2B ef90b7d05ed43656ab1ffdbbd0833c9da08a867ad7a99ec0f7f1eb59697c1f9cd5ccd150b2e564af80b2098f063da0c76121d4444b5444e603581442ad1c7bc8 SHA512 b8d3832ffdbdede656b362d719474f7b9ff04a32ea7235e77d63755629cf9305c203cd6cd9ae089171b2cee694f9641d6ed5d0197e2acf893a31d25696096f1e
DIST erlang_doc_man_23.3.tar.gz 1456501 BLAKE2B 414bedee0e316d97b26d9d6418b799a9434a22e9980e7d3a83e2478d184d63d1633c0e10d0e180d929a3cacd82b4d703be86cbc8e99996037f6b37ea122f7a8c SHA512 6c661c210ffec4752afe624fa46700a0f62cc6589b74b859ab1dfde77d289e992988ac8744f7b4126d7512cd6d0aab3321f710a6324552b259bd7acd5b54a05e
-DIST erlang_doc_man_24.0.tar.gz 1666152 BLAKE2B aaef8165322f39f7410840eafe562ec5038d9c89b4fa99b3b1d5748ba70fe755ba732de403dd916328e1fdcec895e2a347db4fb8c8837b5e41155439c9c54ef6 SHA512 7251f6eeb0534cc8538236a2c4be9d732bf0a05ba6832f9b3859116f9148e469d004331924c7187b07204798afb66067bfd321c8905000c355775927e5841918
-DIST erlang_doc_man_24.1.tar.gz 1673084 BLAKE2B 092c7870914e108e3fe06b68be6c54cff508cd938b5b510ca9a7c946b786e5725ffa1f2c87282a36480a9c1c7d7c899e8118546102a98136f813309a7f0bd334 SHA512 a11361811c5d58a431f4096866a45755f771f0519bbc992fc71e3c760d81bdc9cf636e189aee72c602a5f02cbf6c7bb6cc442cdb71fd06e0c4097bdf6ffe92ec
DIST erlang_doc_man_24.2.tar.gz 1673926 BLAKE2B 17cf3c1e296c883e9c930cd540d439f7dd71a40048bbe80efd6f46dd5b4d9faf51177d2bb133f782742b0b367c8f54c27ed2b2cce277372a98dd55bb629f3b55 SHA512 359bfca20835eb2a6b6d199e2b108537c453369896b8bd4bd7db05c797421a734c31aea41ddf819b703718353f43186c5fd8f37d1a7d8624e767a41a922c01b9
-EBUILD erlang-23.3.4.8.ebuild 4504 BLAKE2B 16b09bf6af1c223776b5cb2c55c32dbd5eb540cb9ae12496485f64bc1820c4118575a155440764144e10c6d50609db02ae5eb2c691a0bf82b63c0ec1454a4f41 SHA512 f4bf67b5b4bba5734893e67c50e46c7387c192455befea44eabf1ca5aa1f76dd05eeab1dd9eb7c34c230553ce0864493e81e3185fd5d6554a8cc239ecb49f441
+DIST erlang_doc_man_24.3.tar.gz 1680242 BLAKE2B 3311eb6ed6dcaa2d611adf7a08269f67e3f31d106f6b6d04e5cc91efa8efc382ddb6b230f218fa543390bf4ec37f477e0c4979c82632ebfb6ccda8c5de1fbc41 SHA512 72876911a1ec82071225e7b71de0462254becd64892a5459239b9e44b20601f6b6990a12cd36a8320e81e5307bcf7b5e5057e42baec12403be4a0eda00cdf62c
+EBUILD erlang-23.3.4.11.ebuild 4504 BLAKE2B e63ea0e16f947850be6aebe215c2ad2528b870aca44e25c71d77897c4aed98a0c4eae63d7a7dfcbdbf034006e3d5777ae349bc579069f1280cb269c476065936 SHA512 d5cff6be8101af8924b71d547695a106e07123aa9865246384a41b403bfad7528094fb08ee7ea54c42dce653d7274085c13e54798071c533d2951cf5d4651b14
EBUILD erlang-23.3.4.ebuild 4499 BLAKE2B 06891eb432ae12d43e860ce0773eb01768ea75ec4f16c365fbe16c22093039e5b18aaa4d3ca558f7a64cada0fc405ac0ba898065b80c778ad9253197302c5145 SHA512 09397c1f46fcf92ef160dee067b9dbf9e0a9125e112f28748180166ddd0394ad34f03e0ddcf32dccff101485927f41c1b1a4376a66bbfd52c8fb2f74bfac27d5
-EBUILD erlang-24.0.2.ebuild 4685 BLAKE2B 4591f62978ee5d34cffa95b167e344a886ea3ac0e02cbe4ecabc29e145a67dcaaee61b057061249878285628addd053ee51e35738d93e3f7353c5734b7901083 SHA512 fc1aeb839c93cae56fe2729b82508f5908fb30e9891ff5b08755e11473985c91706b10b679c296aaa8256505ad1c0650f29854988dc51af206f70ea94f60bb68
-EBUILD erlang-24.1.4.ebuild 4690 BLAKE2B 6f3f592d4fe976b84ec3ffaa322c92d44dd512c5001547dbe06529bdc7b6db4e034e92e80f4673614a4902f8dea1c791c6ef1067e8f3515e369de17b1eb6ae2e SHA512 d9eed3198a59e82ed5dd02593e802409ea886688f2eb29ddee16903999247bee458ae81641751168b0233788669a6ccb428af71a7d7b1d9a681f475572836881
-EBUILD erlang-24.1.7.ebuild 4703 BLAKE2B bade70e5ac94cbcaa7cb60f10c076a1381ce399772f7a1946ad119d678d25fb3f0f9b5127b97197f373b48e28859ac5785d404202bcd89e40b3ff2693638e2ac SHA512 0140531da4fdb85386f137a7d420cd43a6d7b4c6eb1ba2a7e99645cbe887331271647000b73e5aef99f5dc2358d8a3ebd2deeb66fbca99e308c27c506603f58c
EBUILD erlang-24.2.1.ebuild 4703 BLAKE2B 5502ece670c76c5d4a0bc4d91bf3d4e02410be2afe92b8e84617ec6c9c766975982816fbfd83b08b1ef21523cf3e7aaf3b828afd81803fab74cd086668caab09 SHA512 e44980e0f1f8e4b157245aec9a3cb8d70fbde26982c04c0953fda7811cc186d7d29f692bf97283aa218cc3a93b7901eb16000df71b053c9a2c3686a94e9dde73
-EBUILD erlang-24.2.ebuild 4703 BLAKE2B bade70e5ac94cbcaa7cb60f10c076a1381ce399772f7a1946ad119d678d25fb3f0f9b5127b97197f373b48e28859ac5785d404202bcd89e40b3ff2693638e2ac SHA512 0140531da4fdb85386f137a7d420cd43a6d7b4c6eb1ba2a7e99645cbe887331271647000b73e5aef99f5dc2358d8a3ebd2deeb66fbca99e308c27c506603f58c
-MISC metadata.xml 530 BLAKE2B ab1aa7227a38268bd3d5fcd0e7adb2e6014f987fd3d001739a6bcb9c704fd6570aaadd18ace444ba99ea06bc33d58b027f1d1ac82499326c21c8bfaa179a95d4 SHA512 c9127d3f6cd5a54b764614e2965e2967bbe001f595fc3e37a6ca464efab9aedc8623e926c9a64f5813580815653e9871ef5139600f11d546e6c2da4b4b3397d9
+EBUILD erlang-24.2.2.ebuild 4710 BLAKE2B 3197563703f89759aa88fdbef736369d0b72963f026405e7cce671399339d2098c1e5bc9d727208c983155a563d7c0456969b291125f9af5144736fecedd7b2d SHA512 6bb04e7566fddc275be35a0f848a932a913d5dad1cb79ad43b6e93981bdc8b983518f05e44d11f5282da871a38d541be8e06feeb3a903041f68deb0fafdc7ea0
+EBUILD erlang-24.2.ebuild 4698 BLAKE2B cf50182fca921fd40817a06c4858b8ec6613629bae1cb024a71690178a3d98041dda2ce18a243c40c467ae0aed6aae46cabe6e73a7329df4a59e5103974481e8 SHA512 3c12cefd5ea038586589e972ad7b84f52a86acff631f9ee6747a50b5f6cfb51c13709395e4afdefea85e9c81c92489dee35d6dbecdbfe94fe465c2cb71b02fa3
+EBUILD erlang-24.3.2.ebuild 4788 BLAKE2B a770984061152835a9452bd8d57f13394d6af4198d4291d6b78d14a03b48d5ef886fa696b5372e32e7927e6bd7466a2be1a505922ea1b7772e1bad69f35a622c SHA512 60f3edf46bf5169b0c205bafa1bb9858dbc3e1cc190616111bdb7950139e9a6adba3d61aa11f490ba98406a7a2b02d261a86b1583474a5ac48b339bcf4ab4125
+EBUILD erlang-24.3.ebuild 4788 BLAKE2B a770984061152835a9452bd8d57f13394d6af4198d4291d6b78d14a03b48d5ef886fa696b5372e32e7927e6bd7466a2be1a505922ea1b7772e1bad69f35a622c SHA512 60f3edf46bf5169b0c205bafa1bb9858dbc3e1cc190616111bdb7950139e9a6adba3d61aa11f490ba98406a7a2b02d261a86b1583474a5ac48b339bcf4ab4125
+MISC metadata.xml 735 BLAKE2B 6deb116831085a15f4a06368d1d1f3e9d57501799236c7d1fe9fa8aa9a72da0151e92fa13e14427177679c361f8849379784e9c0124f28468f71e2eb54b78bbc SHA512 8ac9f9f29494b5aa9ff023460009c8b69cc3dbc4cc88ab419b62f715066ea3789a4575eab545eed5a430a95f4d0709e069fd240f2cb256eca4dfca7ce3838ab8
diff --git a/dev-lang/erlang/erlang-23.3.4.8.ebuild b/dev-lang/erlang/erlang-23.3.4.11.ebuild
index 257dbb6d4a2c..689ece693ee0 100644
--- a/dev-lang/erlang/erlang-23.3.4.8.ebuild
+++ b/dev-lang/erlang/erlang-23.3.4.11.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
diff --git a/dev-lang/erlang/erlang-24.1.7.ebuild b/dev-lang/erlang/erlang-24.2.2.ebuild
index ae108c6fba5c..260dbdf84d07 100644
--- a/dev-lang/erlang/erlang-24.1.7.ebuild
+++ b/dev-lang/erlang/erlang-24.2.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -22,7 +22,7 @@ LICENSE="Apache-2.0"
# same build of ERTS that was used when compiling the code. See
# http://erlang.org/doc/system_principles/misc.html for more information.
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets"
RDEPEND="
diff --git a/dev-lang/erlang/erlang-24.2.ebuild b/dev-lang/erlang/erlang-24.2.ebuild
index ae108c6fba5c..7ef50aaef745 100644
--- a/dev-lang/erlang/erlang-24.2.ebuild
+++ b/dev-lang/erlang/erlang-24.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -22,7 +22,7 @@ LICENSE="Apache-2.0"
# same build of ERTS that was used when compiling the code. See
# http://erlang.org/doc/system_principles/misc.html for more information.
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets"
RDEPEND="
diff --git a/dev-lang/erlang/erlang-24.0.2.ebuild b/dev-lang/erlang/erlang-24.3.2.ebuild
index a953a96263c7..d08bb337a5c2 100644
--- a/dev-lang/erlang/erlang-24.0.2.ebuild
+++ b/dev-lang/erlang/erlang-24.3.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
WX_GTK_VER="3.0-gtk3"
-inherit elisp-common java-pkg-opt-2 systemd toolchain-funcs wxwidgets
+inherit elisp-common flag-o-matic java-pkg-opt-2 systemd toolchain-funcs wxwidgets
# NOTE: If you need symlinks for binaries please tell maintainers or
# open up a bug to let it be created.
@@ -14,15 +14,15 @@ UPSTREAM_V="$(ver_cut 1-2)"
DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
HOMEPAGE="https://www.erlang.org/"
SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
- http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
- doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
+ https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
+ doc? ( https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
LICENSE="Apache-2.0"
# We use this subslot because Compiled HiPE Code can be loaded on the exact
# same build of ERTS that was used when compiling the code. See
# http://erlang.org/doc/system_principles/misc.html for more information.
SLOT="0/${PV}"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets"
RDEPEND="
diff --git a/dev-lang/erlang/erlang-24.1.4.ebuild b/dev-lang/erlang/erlang-24.3.ebuild
index e329ba63eea4..d08bb337a5c2 100644
--- a/dev-lang/erlang/erlang-24.1.4.ebuild
+++ b/dev-lang/erlang/erlang-24.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
WX_GTK_VER="3.0-gtk3"
-inherit elisp-common java-pkg-opt-2 systemd toolchain-funcs wxwidgets
+inherit elisp-common flag-o-matic java-pkg-opt-2 systemd toolchain-funcs wxwidgets
# NOTE: If you need symlinks for binaries please tell maintainers or
# open up a bug to let it be created.
@@ -14,15 +14,15 @@ UPSTREAM_V="$(ver_cut 1-2)"
DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
HOMEPAGE="https://www.erlang.org/"
SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
- http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
- doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
+ https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
+ doc? ( https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
LICENSE="Apache-2.0"
# We use this subslot because Compiled HiPE Code can be loaded on the exact
# same build of ERTS that was used when compiling the code. See
# http://erlang.org/doc/system_principles/misc.html for more information.
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets"
RDEPEND="
diff --git a/dev-lang/erlang/metadata.xml b/dev-lang/erlang/metadata.xml
index 12eaef013307..3f54798ac7dc 100644
--- a/dev-lang/erlang/metadata.xml
+++ b/dev-lang/erlang/metadata.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>jpds@protonmail.com</email>
+ <name>Jonathan Davies</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
<use>
<flag name="hipe">HIgh Performance Erlang extension</flag>
<flag name="kpoll">Enable kernel polling support</flag>
diff --git a/dev-lang/execline/Manifest b/dev-lang/execline/Manifest
index 6d5b80995605..2da163868c93 100644
--- a/dev-lang/execline/Manifest
+++ b/dev-lang/execline/Manifest
@@ -1,5 +1,7 @@
DIST execline-2.6.1.1.tar.gz 92495 BLAKE2B 6b901819e49c424d52ce2d87b6b42aec1595fb97fef7905e93eca2f3ac029a35f826e37e519e2c6ab9e2638f625a446db363f5fbfd5530a93b52c831660b7a11 SHA512 5826abb407742ad8a2cd48c09b966827d129dda420db07c893cd7a27e806441d7b117a0c61fdc0222e527aada976da26e4779a4896fc084cdf6efa8294ffac5b
DIST execline-2.8.2.0.tar.gz 98438 BLAKE2B 66860a1abb3f8078bd625d13dda2caec71bc41d54a35275548897018818b8b881b37d4ab4f4dd7a9a36386802f1f830d345e7ade0e9638b49acc80314ae60ae1 SHA512 9a2c21fbddfc4bce69857fa906fcbb7b17b0cd1009a33a9f3bbcce69ff443af82704d74b792e2d4393eb6d7de9888a5bc74ff208c31485d3398b0dea07368a15
+DIST execline-2.8.3.0.tar.gz 98448 BLAKE2B f3dc1a194838f7973044b2d86e6026936697be4f34f9b01f5dfc98ddabfbde3dad7cfe95afd63f65cb266994b922d7d4c94368cf5dca2a2494fd0033b4ed6032 SHA512 40f4697a8165616848ed36dcb31a5859dee55a47439d13908a387550e8f53ca8fffe3bcb3e0462cb93f694c8fb483b14e152f92e6f9d0d536cdab9d94be9c53a
EBUILD execline-2.6.1.1.ebuild 1187 BLAKE2B 89933b7e1562cd32f28649014f1715aa5438f8c327b8e65f28e77474590eb867eb60deb3fd1c31f8891e1a629997c2b22d7e0526e82a2ce3ce2846ad5db73cb4 SHA512 a21e236fe361c40ef6547c06f55929c95e4b60b47d4e906fe5ae2c41a43f2368f8d8d3d4480cabb99805d9a874733942e43ec4dc279aa215e38898bdb8c1d00d
-EBUILD execline-2.8.2.0.ebuild 1135 BLAKE2B 98df9263f47778eb6430e57a4868cf9f3e9e92c109ea752de7134d1a7606c699eb1c232c599d1d17f0e8e2c3dbcbed2eab2595a79ca5c3f876132d31474916d9 SHA512 dce9be469ce921ad1ed407652fa1ab4f1faa4f85070e259de2d9e13cad87db7c548fa5ee84978675d2298ef5d00249f21b72203391ea7facf169c22d039c5e65
+EBUILD execline-2.8.2.0.ebuild 1134 BLAKE2B d0ff16b91157462b0d9c11ce66537023e14cf1e89ae97aa3fad3ea929af6fcbf33f570cb5d3d12bdca2852b5b24515a92e20dd2741f6764d33ea0d1086dc85d4 SHA512 973886804233e89945cc09333b9cb5762b83f7de17b7df42ededce1434d92bf033865a5cea993108c82f4b2c6fb239a3cb8bfd16eafc6671bc8fec6700540985
+EBUILD execline-2.8.3.0.ebuild 1135 BLAKE2B 778ea5d51b0180f1fff154591e4b1881f8c0dfbad05840bbe5f7a0552dc8b6fd1f2dac91d90dce9c8b274db75cdede698ed3883b617a514c0235696fe83114a4 SHA512 243cd613a0744aeda3c428732271489b3d3ea3b312b5e6ac7648a4be0b139a78d868fa8bb1d261686f81e6bfe6754097ecb8c80f0174f240f2ca19b3a685d55f
MISC metadata.xml 730 BLAKE2B 0144183b0f42cc421c44f8cfc4e0b5dc6b1639e4279facd59b70ba76d8399e63a9b5d053fca41fbcf987d6b5b8ae1c653430f3fa2d63488f6f73c134344d0a75 SHA512 b30e6f0bcb3499104c0cfcfd5687f6ac1016e89d4ffd8ebdf8409eaeaaae6dce9c4fcf6f97824846527b95cfb61a812bffe7017304ca94af74d7bde6ed0586f1
diff --git a/dev-lang/execline/execline-2.8.2.0.ebuild b/dev-lang/execline/execline-2.8.2.0.ebuild
index 3d3572779e43..8bdf26b8980c 100644
--- a/dev-lang/execline/execline-2.8.2.0.ebuild
+++ b/dev-lang/execline/execline-2.8.2.0.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
LICENSE="ISC"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="~amd64 ~arm x86"
IUSE="static static-libs"
REQUIRED_USE="static? ( static-libs )"
diff --git a/dev-lang/execline/execline-2.8.3.0.ebuild b/dev-lang/execline/execline-2.8.3.0.ebuild
new file mode 100644
index 000000000000..56871cf7cedf
--- /dev/null
+++ b/dev-lang/execline/execline-2.8.3.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="A non-interactive scripting language"
+HOMEPAGE="https://www.skarnet.org/software/execline/"
+SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="static static-libs"
+
+REQUIRED_USE="static? ( static-libs )"
+
+RDEPEND=">=dev-libs/skalibs-2.11.2.0:=[static-libs?]"
+DEPEND="${RDEPEND}"
+
+HTML_DOCS=( doc/. )
+
+src_prepare() {
+ default
+
+ # Avoid QA warning for LDFLAGS addition
+ sed -i -e 's/.*-Wl,--hash-style=both$/:/' configure || die
+
+ sed -i -e '/AR := /d' -e '/RANLIB := /d' Makefile || die
+}
+
+src_configure() {
+ tc-export AR CC RANLIB
+
+ local myconf=(
+ --bindir=/bin
+ --dynlibdir=/usr/$(get_libdir)
+ --libdir=/usr/$(get_libdir)/${PN}
+ --with-dynlib=/usr/$(get_libdir)
+ --with-lib=/usr/$(get_libdir)/skalibs
+ --with-sysdeps=/usr/$(get_libdir)/skalibs
+ --enable-shared
+ $(use_enable static allstatic)
+ $(use_enable static static-libc)
+ $(use_enable static-libs static)
+ )
+
+ econf "${myconf[@]}"
+}
diff --git a/dev-lang/gforth/Manifest b/dev-lang/gforth/Manifest
index e6550fb3b164..8ef2349239ac 100644
--- a/dev-lang/gforth/Manifest
+++ b/dev-lang/gforth/Manifest
@@ -4,5 +4,5 @@ AUX gforth-0.7.3-CFLAGS-LDFLAGS.patch 1097 BLAKE2B aa66797e6ebd04966f67275a8b0d9
AUX gforth-0.7.3-rdynamic-auto.patch 634 BLAKE2B c824db023b690ef4e196715589017f2d74d607cefa8fd6a29e987a3df90aaf4e09f4ea7cc3475b93c8ea1f308049a117eb8ea258cc50e962ce5e501b513b3419 SHA512 32ad96b1de651088b375fa9b8decdd8f03f7c492ad6a11e7cbdc574557b2fe7458180ae71919e1f76c6175d443d50582c94876489af0c961a167b40b3d1a4b7d
AUX gforth-0.7.3-rdynamic.patch 578 BLAKE2B 10e978a2f4edef4d66e839d2f9d047526e54235ed8c6a1a0b754a38149c2a2db2481bee898dfbc209cf8559b6f2cc408b13d594b7007b7710f3c619549321197 SHA512 2bb1491b82b87bcd387822da501078daad171950cf870f8644d909a848a4843e3fa99d8782d16524353edbffb71f704ff7bf5fa7bf326501f7dde2c294b2c8ee
DIST gforth-0.7.3.tar.gz 2523433 BLAKE2B 1ba9095af7958aabf0d671f982c483f2046392fd9872678a58f314357875d286bee7f0d7bc38e9b21331acda80fd285c0489fed44d59c148ff6ec6b6bea7c174 SHA512 f034234acfb0fc727f28b564432219a100b916c6df4b847794a55b2fc3b8ed8714eca6de0df67c7c427b7c2bb4dd00f65cfd34e6eb60181e41ab84fea30304e4
-EBUILD gforth-0.7.3-r2.ebuild 1639 BLAKE2B 9a9b3b2d0e1ba2a16426b5ae090f1d8ea19fd07bd02c09b3b0073cbb47de3d35c4ebc0138d88554a2895c086f0b229c8bb4cf70a00201ac5696e878a811272fb SHA512 5c03928607c6a0f5459590f667f966c6a8a9414841c7e5b54ce471139a53049e5f57d0b9e65749d929a36f54fe105778107cf854d5e8b395f12c15bbadc0b4c9
+EBUILD gforth-0.7.3-r2.ebuild 1646 BLAKE2B 88ae4a4c991421ab11c74a65eb14104d94958b865ab2d57066de224a5050fbc3bcf762c867c96b28c86827c52d1993ac22fd67044544618f91520b5b8bb18c0d SHA512 b5b3d98867ecdbdc3be7033cd2545b40b86779f2ad04acbd8d2379deac101e3bb10e5493ecaaea96f748e6f1aa9189a3cfaaed5c16bd4037228f9d88267bedd4
MISC metadata.xml 243 BLAKE2B 4fda5b7957b10262e59d99d603e6ae53c3f3918800665006ae11c825d1709d41f80b8df4f0ae7d02aa04eef13a88ad0f5a4475d9b00296edf197c11d0558b972 SHA512 1deca6a3ffd886a96cc4ba4a65ac44dad8a713e0f552705ed7be18aff282bdb769367310f66e8d10dec76f40466d6bd72808da00c90c67d488e490d47557221f
diff --git a/dev-lang/gforth/gforth-0.7.3-r2.ebuild b/dev-lang/gforth/gforth-0.7.3-r2.ebuild
index dfd7e9a7b684..2bf4b1dff982 100644
--- a/dev-lang/gforth/gforth-0.7.3-r2.ebuild
+++ b/dev-lang/gforth/gforth-0.7.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/gforth/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86 ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris"
+KEYWORDS="~amd64 ~arm64 ~ppc ~x86 ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris"
IUSE="+check emacs"
DEPEND="dev-libs/ffcall
diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index 5bb534e498f2..53df7b779ade 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -14,4 +14,5 @@ DIST gnat-gpl-2014-x86-linux-bin.tar.gz 233049287 BLAKE2B 2e8bab113f6a319533ec12
DIST gnat-gpl-2014-x86_64-linux-bin.tar.gz 236253400 BLAKE2B c1db70db9442ba24688b8e323d5a02e2e9707ba1f02835ea551038d0a09aafede93a224091e5186f2f2a9d0f96144027af2184ee05ca1c19cc997a6cf3902df7 SHA512 5e40a251baac3d0ace78352956ca21a7d294d902d344a9ed7a8d376e900468c283721ebfb773adfedbf4d623ace02536505c0147815a0c1908933ad611ea085e
EBUILD gnat-gpl-2020.ebuild 3828 BLAKE2B b0b04987c3cd4cf49b6f3d8ec61a1ed84d8cf422149bbc38c2a20e9d0e9c3ee2a05fe37e45cf992caf3b3bb954a30c1eb45ad9b61fb5b6ae97efb4a4382248f6 SHA512 c84506eca5fd33270ca19141a80f921c04817f8dd8694e57b6f43ba12c8f6b9535272828339474ac1d4b508936ca52cb167c754410210cfa7d21c1c7b64157a2
EBUILD gnat-gpl-2021-r1.ebuild 3997 BLAKE2B 3574dfdfb89d860cb42becccb479df5aff27b0de7005137b119f4ca5fd858c94ea11c723ad177765f2161b7486d6a57a4d8f73567d2a57add3ceb185add2d17b SHA512 3d59a0bfba9a3260c6ff0d9ea6061a45a6e8b2c9cc1559781d45d2f5034de05f652234691531ec80f979c577f48ed44ef4758f73d28083dbaeac1782046fb71e
+EBUILD gnat-gpl-2021-r3.ebuild 4000 BLAKE2B 08670fd0e1db7df5cf120e15d61f3b246abba0d08aa78943fe10265b57387f39d10cf2cea93207191e3c194565416a4e07f59799e593332f05773936c1cd8173 SHA512 b32ce6bbb7e81305f9bbbadbcb6a35068611c65bd6a70303fd3ecb95e11b765eda665c467e5c11b77a848289e5ff174d375bbb5d13a925bd7476a62abb322713
MISC metadata.xml 1960 BLAKE2B e06642a8ae69d163bd2450a4dbf2350399becc0fa933780cbf1378721ec127b033cb547c7aff22d4b89724aefe933c7c0eaac55eab4a223f45d138006dd3492e SHA512 81c3ceafdc0a4d73427d6b12c1bfa41d647e8c788e71e1de09e79de4795573e35e403fd03b981beb350a6e9b55b44fd0d8a2f7279e83c23273fc150a126f2b07
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2021-r3.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2021-r3.ebuild
new file mode 100644
index 000000000000..3122d8366ba2
--- /dev/null
+++ b/dev-lang/gnat-gpl/gnat-gpl-2021-r3.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PATCH_GCC_VER=10.3.0
+PATCH_VER="3"
+
+TOOLCHAIN_GCC_PV=10.3.1
+
+REL=10
+MYP=gcc-${REL}-${PV}-20210519-19A74-src
+GNATDIR=gnat-${PV}-20210519-19A70-src
+INTFDIR=gcc-interface-${REL}-${PV}-20210519-19A75-src
+
+BTSTRP_X86=gnat-gpl-2014-x86-linux-bin
+BTSTRP_AMD64=gnat-gpl-2014-x86_64-linux-bin
+BASE_URI=https://community.download.adacore.com/v1
+# we provide own tarball below
+GCC_TARBALL_SRC_URI="
+ ${BASE_URI}/005d2b2eff627177986d2517eb31e1959bec6f3a?filename=${GNATDIR}.tar.gz
+ -> ${GNATDIR}.tar.gz
+ ${BASE_URI}/44cd393be0b468cc253bf2cf9cf7804c993e7b5b?filename=${MYP}.tar.gz
+ -> ${MYP}.tar.gz
+ ${BASE_URI}/8ace7d06e469d36d726cc8badb0ed78411e727f3?filename=${INTFDIR}.tar.gz
+ -> ${INTFDIR}.tar.gz
+ bootstrap? (
+ amd64? (
+ ${BASE_URI}/6eb6eef6bb897e4c743a519bfebe0b1d6fc409c6?filename=${BTSTRP_AMD64}.tar.gz&rand=1193
+ -> ${BTSTRP_AMD64}.tar.gz
+ )
+ x86? (
+ ${BASE_URI}/c5e9e6fdff5cb77ed90cf8c62536653e27c0bed6?filename=${BTSTRP_X86}.tar.gz&rand=436
+ -> ${BTSTRP_X86}.tar.gz
+ )
+ )"
+
+inherit toolchain-funcs toolchain
+
+DESCRIPTION="GNAT Ada Compiler - GPL version"
+HOMEPAGE="http://libre.adacore.com/"
+
+LICENSE+=" GPL-2 GPL-3"
+KEYWORDS="~amd64 ~x86"
+IUSE="+ada +bootstrap"
+RESTRICT="test"
+
+RDEPEND="!=sys-devel/gcc-${TOOLCHAIN_GCC_PV}*"
+BDEPEND=sys-devel/binutils
+
+S="${WORKDIR}"/${MYP}
+
+src_unpack() {
+ if ! use bootstrap && [[ -z "$(type ${GNATMAKE} 2>/dev/null)" ]] ; then
+ eerror "You need a gcc compiler that provides the Ada Compiler:"
+ eerror "1) use gcc-config to select the right compiler or"
+ eerror "2) set the bootstrap use flag"
+ die "ada compiler not available"
+ fi
+
+ toolchain_src_unpack
+}
+
+src_prepare() {
+ if use amd64; then
+ BTSTRP=${BTSTRP_AMD64}
+ else
+ BTSTRP=${BTSTRP_X86}
+ fi
+
+ if use bootstrap; then
+ GCC="${WORKDIR}"/${BTSTRP}/bin/gcc
+ else
+ GCC=${ADA:-$(tc-getCC)}
+ fi
+
+ gnatbase=$(basename ${GCC})
+ gnatpath=$(dirname ${GCC})
+
+ GNATMAKE=${gnatbase/gcc/gnatmake}
+ if [[ ${gnatpath} != "." ]] ; then
+ GNATMAKE="${gnatpath}/${GNATMAKE}"
+ fi
+ if use bootstrap; then
+ rm "${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/ld \
+ || die
+ ln -s /usr/bin/$CHOST-ld \
+ "${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/ld \
+ || die
+ rm "${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/as \
+ || die
+ ln -s /usr/bin/$CHOST-as \
+ "${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/as \
+ || die
+ fi
+
+ CC=${GCC}
+ CXX="${gnatbase/gcc/g++}"
+ GNATBIND="${gnatbase/gcc/gnatbind}"
+ GNATLINK="${gnatbase/gcc/gnatlink}"
+ GNATLS="${gnatbase/gcc/gnatls}"
+ if [[ ${gnatpath} != "." ]] ; then
+ CXX="${gnatpath}/${CXX}"
+ GNATBIND="${gnatpath}/${GNATBIND}"
+ GNATLINK="${gnatpath}/${GNATLINK}"
+ GNATLS="${gnatpath}/${GNATLS}"
+ fi
+ mkdir bin || die
+ ln -s $(which ${GCC}) bin/gcc || die
+ ln -s $(which ${CXX}) bin/g++ || die
+ ln -s $(which ${GNATMAKE}) bin/gnatmake || die
+ ln -s $(which ${GNATBIND}) bin/gnatbind || die
+ ln -s $(which ${GNATLINK}) bin/gnatlink || die
+ ln -s $(which ${GNATLS}) bin/gnatls || die
+
+ cd ..
+ mv ${GNATDIR}/src/ada ${MYP}/gcc/ || die
+ mv ${INTFDIR} ${MYP}/gcc/ada/gcc-interface || die
+ eapply "${FILESDIR}"/${P}-gentoo.patch
+ cd -
+ sed -i \
+ -e 's:-fcf-protection":":' \
+ libiberty/configure \
+ lto-plugin/configure || die
+ sed -i \
+ -e 's:$(P) ::g' \
+ gcc/ada/gcc-interface/Makefile.in \
+ || die "sed failed"
+ toolchain_src_prepare
+}
+
+src_configure() {
+ export PATH=${PWD}/bin:${PATH}
+ downgrade_arch_flags "$(gcc-version)"
+ toolchain_src_configure
+}
+
+pkg_postinst() {
+ toolchain_pkg_postinst
+ einfo "This provide the GNAT compiler with gcc for ada/c/c++ and more"
+ einfo "The compiler binary is ${CTARGET}-gcc-${TOOLCHAIN_GCC_PV}"
+ einfo "Even if the c/c++ compilers are using almost the same patched"
+ einfo "source as the sys-devel/gcc package its use is not extensively"
+ einfo "tested, and not supported for updating your system, except for ada"
+ einfo "related packages"
+}
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index e56b985ff6a2..16f171ec8d37 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -1,7 +1,9 @@
AUX go-sets.conf 313 BLAKE2B 03e94776e317d34b72bfb8385b8b0dfa6a599a6086e4d0c9214e7b49293768947c21d9afb323ffcc7fd85ba0af72d9cb243dbb571eee9eb81de9400fd5f5e79c SHA512 7d01b98bc8d1b609183682dd942bd4c9fa757a98243c7de3cf6c497c7bc20b8cdbe59dd669ce4bb11f914a0e9b6d100e65cea2dffd99f38be50b18e0ecf66315
-DIST go1.17.5.src.tar.gz 22186577 BLAKE2B fe6cbfce1a8e7556e7f690f34eb1cdf761f0f74b2ff3781bdc3c6ce2efa4fd00229268ee704d6c4a84f4b37b3deae7c65bd12628bf60ec32c2d8c32b13d99de1 SHA512 6c833455fe79476c29a0565ae3b5ede452abb75689d52cbaa524743549f6f12681b6b5035dc4048387bd738c15b7cd8bdc4c875d54232ca2343c7404a4326884
-DIST go1.17.6.src.tar.gz 22191372 BLAKE2B d6b52e23cea61709a682f06aa21db345980a7eb223b08d539721429227bb22d365bde5901e18f289eede0872e7bf9a5db4c2736d847202ded0f5f7351dcf035a SHA512 59e5471d33e72208a3ca1ddf6c13aeb2b95a3291c0491571597197a260fb8cb74241c7bb09b44129c1e39f857ce4279f416c139b3ab2d7aded10002beb222ee2
-EBUILD go-1.17.5.ebuild 4855 BLAKE2B dd3877fe5f7afa41fa91faabd2c0ddc4224a6bd4dca91ee64dc1447a87480a45e67975aa3c9fa1434aa209f55c85e1acec584f09025ea7ecef76e465da877563 SHA512 7568355bc063281f80f2e94b16f9a0b5b3eecf3744167b26154aaecb296bf7201ff07af9ba93c5ecdac66cb3277869c996da79e17ae54c642c9107012e516d34
-EBUILD go-1.17.6.ebuild 4860 BLAKE2B b42be3af896af9dcf861825afc1f2e21028097b0e02b8ad67f785cda6d3e20d15d0c9cff13dcb18c32831f0f0c2a0b44b8b2b0130a9f4d2d3ee178d8b2612ee3 SHA512 3dc73bafec02bae3ed4795f3a60fe36b20012022ea7a7bb1d65668e101ecaa2366a4de4cff7c580c0bd68a624dbcb97ec2bf2827bb2063d8a86b5e6961ced6a3
-EBUILD go-9999.ebuild 4860 BLAKE2B 15dabdb1ce54184d4542c9839303f780850fc003d4a3fd9e79e131aa91c7116ac0513196643a6f9ef86166f6204c3f4a1850c084caab13ed7b5cad7b878119ec SHA512 28fb38b58feacc7e79ae3228b56e654c4c134647c95f6ac165d4f7b328b0ec4c86440b3d11f28d4177bf3ecef3fa2d08768f2ef8c93a4d5d52b057e8354b84fc
+DIST go1.17.7.src.tar.gz 22195583 BLAKE2B 3ea226fe3089729435d9b9e09880432fef4780303705b6424da9e7ce662aadf54d9c179a5fec8152754dabbb9d53958e35d0119a497bb8f888dbf933b625ce74 SHA512 ee20a97d19e501ee2c11930548bcacfa8b1e8499bbae15659231548f4b03c13bc92bb20c4ce879f0956c02268e748c73ba56d8b140ce8f134501c33cc8b58d3c
+DIST go1.17.8.src.tar.gz 22199282 BLAKE2B 359089402c4f67b8102689a5772f6a168938c57fc3c809681f65f95725ce0a3b528d6cdfeff0da50844f5cfdb941d427658907c30597872315b1fd68a3a61be8 SHA512 21d5c51ce62bc3b987dd5bf7c6b7e1a934fe40582bfbbe99ca80c26d41253e796a4b9d02c571f1e5ab3fd7c3950175e23b9929b0d934f421c96a6d6128c44668
+DIST go1.18.src.tar.gz 22827832 BLAKE2B a961563352721455c9913cd71d8f56c5409e2d4edd44144f09aaba60daf353f844884db6a20943bd84f3634ef0dd330d43d27f5a65911eb4d4d877bfc71c4f40 SHA512 f10356df9099e4d027415be5c73bd2551f2f941a31feb21e1ccc03b7d8faa1844f0a639a508e990712e11ec335675e57504edb323fa1eee63e1d09b8523b3b0d
+EBUILD go-1.17.7.ebuild 4813 BLAKE2B c4f3808ff284d5a6e9cfe43852073002dc204ac3832bd40c7a132f3661c459ff2e4be15e99530787b95844158e11f200d1cabfc2a2d4dbd28c5f3dd79e145017 SHA512 c30ee5f4110c8bbd292cb3d59eb264bb421d8bd78f06d840866fd39682b9b2691ea974e75b18bce58f6f7d9588652dbda3dfe61a58c6e71447df6aaf14998f2a
+EBUILD go-1.17.8.ebuild 4814 BLAKE2B fd356dbb344c527dabc5599a625c70582c14e17f760a89e5f8d957257423f186b9137280070c2d9c0e5ef6ab26d685ef6458c421fc8f8560f7fb237c794adc80 SHA512 f29c73b810eec741c7d31a2840852fc332a1300031c3baef0522c46362648e4651601064187cfdf731b5ab360e257ff8212013401bcebe12a9eec805e5179674
+EBUILD go-1.18.ebuild 4818 BLAKE2B 906a76bebb6036a5e2d5af8563cc2aa3d8c10d48c8926d5e1368026d97c9b00c65973be3f3937396fa35865f0119d9fd59586c66d2ef137c980695a3b62861eb SHA512 07796174e89485089232edfd712a4540bc8bb138894bfa119f8d79deedb3bb8fe770de018637f81c27629e277ea65fa369721b70fead893b600d0d554efae650
+EBUILD go-9999.ebuild 4818 BLAKE2B 906a76bebb6036a5e2d5af8563cc2aa3d8c10d48c8926d5e1368026d97c9b00c65973be3f3937396fa35865f0119d9fd59586c66d2ef137c980695a3b62861eb SHA512 07796174e89485089232edfd712a4540bc8bb138894bfa119f8d79deedb3bb8fe770de018637f81c27629e277ea65fa369721b70fead893b600d0d554efae650
MISC metadata.xml 463 BLAKE2B 133822f9d8be6d5aeb0bf8b9e41ee17637cc3e6f78590a36c1811b77a77a74dd541bb98ad57cfeb6b71a9bcb106c4ac58effcfcfbbef6db4e05b155ef196fd0b SHA512 2837a80088ac2e07cccfb78497c121902a3a0e2f6677b42b1cd82dd3b4e2703099b6d4c95c6c08fefbc647b9b279692e3a46b1126acaad9298c1ecd3b6899fe5
diff --git a/dev-lang/go/go-1.17.5.ebuild b/dev-lang/go/go-1.17.7.ebuild
index 1896c2546e86..7f1ce9304e51 100644
--- a/dev-lang/go/go-1.17.5.ebuild
+++ b/dev-lang/go/go-1.17.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -36,7 +36,6 @@ IUSE="cpu_flags_x86_sse2"
BDEPEND="|| (
dev-lang/go
dev-lang/go-bootstrap )"
-RDEPEND="!<dev-go/go-tools-0_pre20150902"
# the *.syso files have writable/executable stacks
QA_EXECSTACK='*.syso'
diff --git a/dev-lang/go/go-1.17.8.ebuild b/dev-lang/go/go-1.17.8.ebuild
new file mode 100644
index 000000000000..ba82adbb2e5d
--- /dev/null
+++ b/dev-lang/go/go-1.17.8.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+
+MY_PV=${PV/_/}
+
+inherit toolchain-funcs
+
+case ${PV} in
+*9999*)
+ EGIT_REPO_URI="https://github.com/golang/go.git"
+ inherit git-r3
+ ;;
+*)
+ SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
+ S="${WORKDIR}"/go
+ case ${PV} in
+ *_beta*|*_rc*) ;;
+ *)
+ KEYWORDS="-* amd64 arm arm64 ~ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+ ;;
+ esac
+esac
+
+DESCRIPTION="A concurrent garbage collected and typesafe programming language"
+HOMEPAGE="https://go.dev"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+IUSE="cpu_flags_x86_sse2"
+
+BDEPEND="|| (
+ dev-lang/go
+ dev-lang/go-bootstrap )"
+
+# the *.syso files have writable/executable stacks
+QA_EXECSTACK='*.syso'
+
+# Do not complain about CFLAGS, etc, since Go doesn't use them.
+QA_FLAGS_IGNORED='.*'
+
+# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
+QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
+
+# This package triggers "unrecognized elf file(s)" notices on riscv.
+# https://bugs.gentoo.org/794046
+QA_PREBUILT='.*'
+
+# Do not strip this package. Stripping is unsupported upstream and may
+# fail.
+RESTRICT+=" strip"
+
+DOCS=(
+AUTHORS
+CONTRIBUTING.md
+CONTRIBUTORS
+PATENTS
+README.md
+)
+
+go_arch() {
+ # By chance most portage arch names match Go
+ local portage_arch=$(tc-arch $@)
+ case "${portage_arch}" in
+ x86) echo 386;;
+ x64-*) echo amd64;;
+ ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
+ riscv) echo riscv64 ;;
+ s390) echo s390x ;;
+ *) echo "${portage_arch}";;
+ esac
+}
+
+go_arm() {
+ case "${1:-${CHOST}}" in
+ armv5*) echo 5;;
+ armv6*) echo 6;;
+ armv7*) echo 7;;
+ *)
+ die "unknown GOARM for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_os() {
+ case "${1:-${CHOST}}" in
+ *-linux*) echo linux;;
+ *-darwin*) echo darwin;;
+ *-freebsd*) echo freebsd;;
+ *-netbsd*) echo netbsd;;
+ *-openbsd*) echo openbsd;;
+ *-solaris*) echo solaris;;
+ *-cygwin*|*-interix*|*-winnt*)
+ echo windows
+ ;;
+ *)
+ die "unknown GOOS for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+go_tuple() {
+ echo "$(go_os $@)_$(go_arch $@)"
+}
+
+go_cross_compile() {
+ [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
+}
+
+src_compile() {
+ if has_version -b dev-lang/go; then
+ export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go"
+ elif has_version -b dev-lang/go-bootstrap; then
+ export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap"
+ else
+ eerror "Go cannot be built without go or go-bootstrap installed"
+ die "Should not be here, please report a bug"
+ fi
+
+ export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
+ export GOROOT="${PWD}"
+ export GOBIN="${GOROOT}/bin"
+
+ # Go's build script does not use BUILD/HOST/TARGET consistently. :(
+ export GOHOSTARCH=$(go_arch ${CBUILD})
+ export GOHOSTOS=$(go_os ${CBUILD})
+ export CC=$(tc-getBUILD_CC)
+
+ export GOARCH=$(go_arch)
+ export GOOS=$(go_os)
+ export CC_FOR_TARGET=$(tc-getCC)
+ export CXX_FOR_TARGET=$(tc-getCXX)
+ use arm && export GOARM=$(go_arm)
+ use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat')
+
+ cd src
+ bash -x ./make.bash || die "build failed"
+}
+
+src_test() {
+ go_cross_compile && return 0
+
+ cd src
+ PATH="${GOBIN}:${PATH}" \
+ ./run.bash -no-rebuild || die "tests failed"
+ cd ..
+ rm -fr pkg/*_race || die
+ rm -fr pkg/obj/go-build || die
+}
+
+src_install() {
+ # There is a known issue which requires the source tree to be installed [1].
+ # Once this is fixed, we can consider using the doc use flag to control
+ # installing the doc and src directories.
+ # The use of cp is deliberate in order to retain permissions
+ # [1] https://golang.org/issue/2775
+ dodir /usr/lib/go
+ cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
+ einstalldocs
+
+ # testdata directories are not needed on the installed system
+ rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print)
+
+ local bin_path
+ if go_cross_compile; then
+ bin_path="bin/$(go_tuple)"
+ else
+ bin_path=bin
+ fi
+ local f x
+ for x in ${bin_path}/*; do
+ f=${x##*/}
+ dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
+ done
+
+ # install the @golang-rebuild set for Portage
+ insinto /usr/share/portage/config/sets
+ newins "${FILESDIR}"/go-sets.conf go.conf
+}
+
+pkg_postinst() {
+ [[ -z ${REPLACING_VERSIONS} ]] && return
+ elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild"
+ elog "all packages compiled with previous versions of ${CATEGORY}/${PN}"
+ elog "due to the static linking nature of go."
+ elog "If this is not done, the packages compiled with the older"
+ elog "version of the compiler will not be updated until they are"
+ elog "updated individually, which could mean they will have"
+ elog "vulnerabilities."
+ elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages"
+ elog "See https://bugs.gentoo.org/752153 for more info"
+}
diff --git a/dev-lang/go/go-1.17.6.ebuild b/dev-lang/go/go-1.18.ebuild
index cd2ef07a5897..217891046702 100644
--- a/dev-lang/go/go-1.17.6.ebuild
+++ b/dev-lang/go/go-1.18.ebuild
@@ -36,7 +36,6 @@ IUSE="cpu_flags_x86_sse2"
BDEPEND="|| (
dev-lang/go
dev-lang/go-bootstrap )"
-RDEPEND="!<dev-go/go-tools-0_pre20150902"
# the *.syso files have writable/executable stacks
QA_EXECSTACK='*.syso'
diff --git a/dev-lang/go/go-9999.ebuild b/dev-lang/go/go-9999.ebuild
index a1e1574ff8dd..217891046702 100644
--- a/dev-lang/go/go-9999.ebuild
+++ b/dev-lang/go/go-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -36,7 +36,6 @@ IUSE="cpu_flags_x86_sse2"
BDEPEND="|| (
dev-lang/go
dev-lang/go-bootstrap )"
-RDEPEND="!<dev-go/go-tools-0_pre20150902"
# the *.syso files have writable/executable stacks
QA_EXECSTACK='*.syso'
diff --git a/dev-lang/haxe/Manifest b/dev-lang/haxe/Manifest
index ba6d44bcf916..691a9f1a5234 100644
--- a/dev-lang/haxe/Manifest
+++ b/dev-lang/haxe/Manifest
@@ -1,3 +1,3 @@
DIST haxe-4.2.4.tar.gz 9151011 BLAKE2B 76e4442dbd33669abb2defcb66a781bf013ac41a4853f7911824e16816c60fff7e46bd58b9f2830194326aadbd79b2f07ab14308efdb0ef1e26177178daf3941 SHA512 c447b2fa7e7b7149a87af2dd75e08cce1b8d96238b88024d875659add62fa97d554ecd7f13200b817545eda8be00d61399551d64f7dbc9cc1aa66a5517dd2485
-EBUILD haxe-4.2.4-r2.ebuild 1394 BLAKE2B 41dff99e7fc9773404bca0955cc8324c50126cacb55cb1febcb85bce9781e0f988fbddbc7f6c5eacdf6c3e2e9023952d79426f7d840508058a36466c94e3a3cc SHA512 9fa7a34434fb775778b5bd9fbedc0a1f6a24672b78140bd19469f49cd3d4f7ff1db90cb412a1a6bda340eea77722c6c904a672a782f8c9c978cdc6eb5aff2338
+EBUILD haxe-4.2.4-r3.ebuild 1370 BLAKE2B 319ced68c5212673d7aa5453ee9de85e127a9a9b6e782e2a425e5fbabd2f57e04a7d33a81b0158ffe27b5bb483e1b355c82b7eb5fe80dafd74ba2476282dc792 SHA512 372ea170b56de8a4aa6c5f97482f60bb776b8a5f7b976034fc4ccbc3d1735261593069a7355f6ddae9554276d402eb322d7f038facc08b13816e7b59365464d9
MISC metadata.xml 733 BLAKE2B 293f296fd51f93d0834ba3f9ad2815161313f2ee7fcc5ebb68f20090e76fd67b4845114c4c78959cd13d64146e9221d001e0be76b65323d1d5b3cf934085a1ec SHA512 6dd648666a0916f27edc70e637e426e03790d4fd50a43fd2696b62c69cdf0f8b1c831fd8dca03db844209a0a23952c5dc1bc1b929b42928f6608288f470f8399
diff --git a/dev-lang/haxe/haxe-4.2.4-r2.ebuild b/dev-lang/haxe/haxe-4.2.4-r3.ebuild
index 6a8441c77ab2..e9961fd90005 100644
--- a/dev-lang/haxe/haxe-4.2.4-r2.ebuild
+++ b/dev-lang/haxe/haxe-4.2.4-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DESCRIPTION="Multi-target universal programming language"
HOMEPAGE="https://haxe.org/"
-if [[ "${PV}" == *9999* ]]; then
+if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/HaxeFoundation/haxe.git"
else
@@ -56,18 +56,11 @@ src_configure() {
}
src_compile() {
- local mymakeargs=(
- BRANCH=""
- COMMIT_DATE=""
- COMMIT_SHA=""
- OCAMLOPT=${OCAMLOPT}
- INSTALL_DIR=/usr
- )
- emake -j1
+ emake -j1 BRANCH="" COMMIT_DATE="" COMMIT_SHA="" \
+ OCAMLOPT="${OCAMLOPT}" INSTALL_DIR=/usr
}
src_install() {
emake DESTDIR="${D}" INSTALL_DIR=/usr install
-
dodoc *.md
}
diff --git a/dev-lang/idris2/Manifest b/dev-lang/idris2/Manifest
index b75100eb8ff1..8aa316f9418e 100644
--- a/dev-lang/idris2/Manifest
+++ b/dev-lang/idris2/Manifest
@@ -1,5 +1,7 @@
DIST idris2-0.5.1_p20211112.tar.gz 6202861 BLAKE2B 189bf28c7a33281494edea9b2c0821a934000fe9ca6e929b3318fe33576553142e5ad8d81598249cc384c6e342491ccef0998f33a4f2940b80264f5a3e4b32b2 SHA512 3b419ddbdc4aa3a28d92bf204448090c168d6a844d570886f982129f9e650c7112bbf95b727baf6c9f0f2fd6200c75eb68b6b71fd8684e01365eaf964dea1ea1
DIST idris2-0.5.1_p20220131.tar.gz 6283472 BLAKE2B 86b75457b8772d0a8938a4d3422af08fa8e625b675cc2648bc9f2683a6654586ff91b8b1d592f72a3a44c72fa830f9ebc5ae0c451398e8cb5d3fdf5070f7f8ab SHA512 50f21819dee929f847a6b64c89231da9dd55bc35314300aa7d3c3c5ea0da451caba67081ca8b2ffd89608d3aaa042e9b9a6ecb2df0585589404bae3c6a2fe74a
+DIST idris2-0.5.1_p20220224.tar.gz 6299027 BLAKE2B 65654d76dc4a593826904321d78246da877ae71da95d56b4ee266de9676706e899bf9a1ae4293dde077a3ea50a860501fa4c3b8065a5b8d759d785954ea7b822 SHA512 6bea9e5ce01c64a893c39e7aacceef5d4f6bfd499f0b4ca17681bea6ab11620e0058faba8bdd84eecacf3f8d1cfe2594ca830aff89f2cfde2208fdc092fc37f1
EBUILD idris2-0.5.1_p20211112.ebuild 2513 BLAKE2B cdccbb2fc573524f2fa484c0601f427402055635a1f177a3417db2ce76bfc379380127dbe3a3105befebe4bd18d19d21030ebe527868cb256a5a2ad0346472fe SHA512 1bcb672978151e1d62ee6d057b6a7ee2a9e70988f346914a59375be96f0ca4fc126f32410d573fdb81be27c303bfc88e00475edf26c678621209c600251b5301
EBUILD idris2-0.5.1_p20220131.ebuild 2536 BLAKE2B 2736a8ec10aae9c0f8f5f76f9f935a6e3bef3ed4ddb16c36486514a1b65223ad8d1f2444e2a677297aa6caaab048cec1f2813ee9ddb59cb9604c32039ab37699 SHA512 4a76a6315d8471a0993678f5a2b137f06fe3e4190d79ac179528b633edb06688432c1d8248383f1318a261851defe8c7c422a793dbcbb87755a505dad9771e75
+EBUILD idris2-0.5.1_p20220224.ebuild 2639 BLAKE2B 974341abb454439146f80c3df9a70093b11d59b215b3ebb186b2b73db63c5a8feaaa9af71fd7c9cee12ce32eaf0b2a4139a712254e0a67726b0ab4337fccfff4 SHA512 f2fac7ef9e29bc5d49c0b3cca3ada79e221a5c1b60b9d2b1c1510543697d95deb096175a60b0b70eef6505bb488d8aa8df8078df64a0422a29ecce4a8a8b4efb
MISC metadata.xml 1255 BLAKE2B d4d6a952913f404faab8d2383eab1ece0de7bc20486c3126149f7644b3d3445b6b87948f14b43b812dc748824d26da610914969a906735d6c13b9cdbcc0e6ba1 SHA512 df684d9f038601e7d8728a226743f79c7523bb462ed231fb60f33cc214c267dd1981da3f7c39d6cfc153a389330e779cfd580266677e003f8787366545c1f0fa
diff --git a/dev-lang/idris2/idris2-0.5.1_p20220224.ebuild b/dev-lang/idris2/idris2-0.5.1_p20220224.ebuild
new file mode 100644
index 000000000000..166a8b920cdc
--- /dev/null
+++ b/dev-lang/idris2/idris2-0.5.1_p20220224.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+H=1011cc6162bad580b0c51237c86fbf4fe2035fbe
+
+inherit toolchain-funcs
+
+DESCRIPTION="Purely functional programming language with first class types"
+HOMEPAGE="https://idris-lang.org/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/idris-lang/${PN^}.git"
+else
+ SRC_URI="https://github.com/idris-lang/${PN^}/archive/${H}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${PN^}-${H}"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="+chez doc racket test-full"
+REQUIRED_USE="^^ ( chez racket )"
+
+RDEPEND="
+ dev-libs/gmp
+ chez? ( dev-scheme/chez[threads] )
+ racket? ( dev-scheme/racket[threads] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( dev-python/sphinx_rtd_theme )
+ test-full? (
+ dev-scheme/chez[threads]
+ dev-scheme/racket[threads]
+ net-libs/nodejs
+ )
+"
+
+# Generated via "SCHEME", not CC
+QA_FLAGS_IGNORED="usr/lib/idris2/bin/idris2_app/idris2
+ usr/lib/idris2/bin/idris2_app/idris2-boot"
+QA_PRESTRIPPED="${QA_FLAGS_IGNORED}"
+
+src_prepare() {
+ # Clean up environment of Idris and Racket variables
+ unset IDRIS2_DATA IDRIS2_INC_CGS IDRIS2_LIBS IDRIS2_PACKAGE_PATH
+ unset IDRIS2_PATH IDRIS2_PREFIX
+ unset PLTUSERHOME
+
+ tc-export AR CC CXX LD RANLIB
+ export CFLAGS
+ sed -i '/^CFLAGS/d' ./support/*/Makefile || die
+
+ # Fix "PREFIX"
+ sed -i 's|$(HOME)/.idris2|/usr/lib/idris2|g' ./config.mk || die
+
+ # Bad tests
+ # Weird Racket Futures (parallelism) test, might need further investigation
+ sed -i 's|, "futures001"||g' ./tests/Main.idr || die
+ # > Missing incremental compile data, reverting to whole program compilation
+ sed -i 's|"chez033",||g' ./tests/Main.idr || die
+
+ default
+}
+
+src_configure() {
+ export IDRIS2_VERSION=${PV}
+ export SCHEME=$(usex chez chezscheme racket)
+
+ if use chez ; then
+ export IDRIS2_CG=chez
+ export BOOTSTRAP_TARGET=bootstrap
+ elif use racket ; then
+ export IDRIS2_CG=racket
+ export BOOTSTRAP_TARGET=bootstrap-racket
+ else
+ die 'Neither "chez" nor "racket" was chosen'
+ fi
+}
+
+src_compile() {
+ # > jobserver unavailable
+ # This is caused by Makefile using a script which in turn calls make
+ # https://github.com/idris-lang/Idris2/issues/2152
+ emake SCHEME=${SCHEME} ${BOOTSTRAP_TARGET} -j1
+
+ use doc && emake -C ./docs html
+}
+
+src_test() {
+ emake SCHEME=${SCHEME} bootstrap-test
+}
+
+src_install() {
+ # "DESTDIR" variable is not respected, use "PREFIX" instead
+ emake IDRIS2_PREFIX="${D}"/usr/lib/idris2 PREFIX="${D}"/usr/lib/idris2 install
+ dosym ../lib/${PN}/bin/${PN} /usr/bin/${PN}
+
+ # Install documentation
+ use doc && dodoc -r ./docs/build/html
+ einstalldocs
+}
diff --git a/dev-lang/janet/Manifest b/dev-lang/janet/Manifest
index 037dc832108a..fdff342db0bb 100644
--- a/dev-lang/janet/Manifest
+++ b/dev-lang/janet/Manifest
@@ -1,4 +1,3 @@
-AUX janet-1.16.1-make.patch 435 BLAKE2B a8d038c83a051e8d93dbdaa3456a9c93403a11dbe6b38cc2283c2b1884235ad76a42707d1c19bd5db2f66a86cdbacfd36196a12abea9fc66c4ac78fba5dcea50 SHA512 a9fab424e33d50e56c9ab3090a0b1a6c5b477e459128f1529deaf2452705345829c23d8a86b7e37bf1e7fc24fc37dffe293cc67550b24b065b439e0b5a9ead5e
DIST janet-1.17.2.tar.gz 488524 BLAKE2B 33e801eb10b46d44a36b95bd29ea318ab3daa88654f47e12303344d2362a2ecc0d0f2ab9371d9539e0787df08664f503ee268b7acf967bd74a929992bc3ea2be SHA512 608ae20992d90cd93a364239c967fef8fdd1c631f1777211d916c6dc16cac5f007f52565bdf24cc0f8af1f521a0977a7245a3c137fc3b61583c2900e26fee81c
DIST janet-1.19.2.tar.gz 486633 BLAKE2B 420b98218cf6a592ab385f5d9432d9e8ae98fe0a4b9c294aa2783e3ee810d256ef1ccf17c3986d7e490e4fcc046cb9a25b2d0f09ada223c19104e49d703d5d33 SHA512 4181f15ad61bfba46ce87acd148166bd0ab3c5dd5fb608d8d8722b912ecfa435baa7d881d4a8163aabb1b06bca2983b108dfb7256efa854c12c136e4f24c1ef2
EBUILD janet-1.17.2.ebuild 1720 BLAKE2B 0b6f3478a950edd5475eae1041ae5f87bd50f640ddb53a4a053e92ffbfddd9b4919e25019d18999b0786f0672b885d71f32fe58c0114f7b9d92e9f007b32cebb SHA512 df830edb0c82a7edafc257b28cf6d11f33f461651bf02f11863800e679da68bb7bcfb78f0a909d498d575bb98000504ecde5a6c1eb4ced747fd7881e3a8b47b1
diff --git a/dev-lang/janet/files/janet-1.16.1-make.patch b/dev-lang/janet/files/janet-1.16.1-make.patch
deleted file mode 100644
index 09429f4ff08b..000000000000
--- a/dev-lang/janet/files/janet-1.16.1-make.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 7efef93b..12758ab0 100644
---- a/Makefile
-+++ b/Makefile
-@@ -254,7 +254,7 @@ build/doc.html: $(JANET_TARGET) tools/gendoc.janet
-
- build/jpm: jpm $(JANET_TARGET)
- $(JANET_TARGET) tools/patch-jpm.janet jpm build/jpm "--libpath=$(LIBDIR)" "--headerpath=$(INCLUDEDIR)/janet" "--binpath=$(BINDIR)"
-- chmod +x build/jpm
-+ chmod +x jpm
-
- .INTERMEDIATE: build/janet.pc
- build/janet.pc: $(JANET_TARGET)
diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest
index c1aae0e7fc3d..d49465a85571 100644
--- a/dev-lang/julia/Manifest
+++ b/dev-lang/julia/Manifest
@@ -6,6 +6,7 @@ AUX julia-1.6.5-do_not_set_rpath.patch 1052 BLAKE2B 4f25a12c9cd6e345ecb1551c52ce
AUX julia-1.6.5-hardcoded-libs.patch 2704 BLAKE2B 253d67a5de0278abf17d05f8e9a7f000f89f91d44779e4e93aa8b1a6388283af31e902913892a48ac4d587a6e009b69a4e81358cdd66b9e5471fdd7594482b85 SHA512 a498df49722f53cd598504fea47d54ec25d31f625342d47fb5f810e26ae73781597f6d008ce0f2978dd36c6bfb986c5ab4ce92ef1b6d01f31be8fa4add90553d
AUX julia-1.6.5-lazy_artifacts_fix.patch 992 BLAKE2B 427a6b69fd07aed3bffc360e0ebd9fe9a15628ea0d2b5d3ac9821ebf2b029446f48f3cafb68a040c1f0deaec874a8350b791598a45794ee83d4ea55d8d16a511 SHA512 e21d53fa24db24966e536d342a0ebb4d6872df0968e4868db704a9d8398b6a1064fc7b00e395048143a4f55740fd1cf1b1c0bae9e53492041820ed54b86f320a
AUX julia-1.6.5-libgit-1.2.patch 800 BLAKE2B 669c30ae7c00c69feb7edb34d87c3c19ab7015d8634cd3c052a8f6ee2a28be7c7314e01298e95f9d4b00851feb6bab48c44d15eb425f912050f31b26db57c912 SHA512 a4facb24520d8bfe4486291e3537bb5d56ce5fd1aebd9c1ebe657306d0e4a9cfa8cc235c2d715c1b9f4ecb3359cf3ea1dc0b4ff68d4c9a29ff578b4c667d09a2
+AUX julia-1.6.5-libgit-1.4.patch 1754 BLAKE2B c47cfe0eca1527f04ae5e81bdd6d11978e92f8cccbc000c9c96ae77e39b79f52b17d260333227cd699a935c52139808097617e7b627c45aa43b1809e97a9bf99 SHA512 fd71b277f625dde4cdb2ba100bf01f275e28209bbd18cbc143e7f0b2e01549b92b824161bde5a5ca4e5efcfb6f2f52147e66441e36f8f2813aa8436baf9401a1
AUX julia-1.6.5-llvm_13_compat_part_1.patch 6957 BLAKE2B 581076ba652db52a3948c9bb42c5a2481b5fffa92fb1dcbcd007f2edb3a950ac49ec015f7571c29b50ae243d5e8e9e25952b7cbac9a3b5ec8bd94769104e2891 SHA512 5a7d8202ede9daed2149f3bc30dcf76d0d25f1734b91df3780b405fbd493f4a6f75c851f97a8d27e9ea5753f5003af3c5eb8193ee61cf5808acf56dca1ebb0ba
AUX julia-1.6.5-llvm_13_compat_part_2.patch 2897 BLAKE2B 7896e392fb8c2364fa10921f7396206fb6785dc430256646a537dcfb0c05a7d8faaa33feab7dad61c6c6e57c33f89eb0ce1eea85c3148622e61b3f0ce83c2164 SHA512 f8a7060236afd28da260e8dff5d69b2562d9cd204f090e1868592aa9d59df015a3a6d0bb19e1dfbaaa3825a8b81152f0e154e06cd31c87e89916269bbef68203
AUX julia-1.6.5-llvm_13_compat_part_3.patch 13351 BLAKE2B 76a72595a104ce290bce7a37ca6f3f29754753ac20ed3c2beeb9fce92d5aeda2b1396e523f70c0fb2eb16d4dc9cc888ebb5e78bc22f2689335cfca11f6b77630 SHA512 128896ab9bf161d7b596a0330977a598f57c19e34066281e7aa2d512e66f1a9d2bbff537af5b5b99198bef7a02e17a32eaafcff6f1ac2bfeef525e0763bf96b7
@@ -24,6 +25,6 @@ DIST julia-libuv-fb3e3364c33ae48c827f6b103e05c3f0e78b79a9.tar.gz 1643008 BLAKE2B
DIST julia-libwhich-81e9723c0273d78493dc8c8ed570f68d9ce7e89e.tar.gz 4183 BLAKE2B c932e23b1b476d3fd16cf6f451efd5fc6d9c1ec2c53e8ac086340a100817d9b30dae3eff50b284a42c09b2bbae30b9e2fd38b2881f8cbf4974a89f3bd0c87599 SHA512 6fb77b715d70d9bc95a8546c3bf97bd3677c7ea344b88bb5bc3bbfac9dceabe8a8cde7a0f64dec884cde802e4a3000e30837d3f824b5a9242348c4fe061526a3
DIST llvm-11.0.1.src.tar.xz 38914796 BLAKE2B ccdec0632c9cf5fae8e6947c266136e04dc8c609e2ca9c1efb1205767d9181301e0de14601d11e2f27ec0ebc0749858a5f1089d8a40a9ae3f22582cbf6abef6e SHA512 b42c67ef88e09dd94171f85cdf49a421a15cfc82ff715c7ce6de22f98cefbe6c7cdf6bf4af7ca017d56ecf6aa3e36df3d823a78cf2dd5312de4301b54b43dbe8
EBUILD julia-1.6.3.ebuild 4604 BLAKE2B 8e5a273feaf93fa44aaf5f4e37ba429125006566184f65af6309e118799d9087a523317322dea5282c39c919a492fa28b24c8fedec5290bee6265cd50e145718 SHA512 2f06acbc40b6d081e15433d374ce268d0a4a290f1f720a690ee0d5bb94b6f99688ba996989b340f0b4801a70574c942ba93ea0ccd381cfe4cf0e5df75e3e89c7
-EBUILD julia-1.6.5.ebuild 4693 BLAKE2B b1fad8bab8f2b9f4a70f85eff2c7f0896c05a3b833b7edbc40cf5c1afe64e9b8ea906394c3d3e74d30c46ad63f529ebcd383b87a239265977eddacc6d41c9827 SHA512 d65a2eae5a4b08aeccbb48a1771976fdb7c638e783ad3cb7845438dbecb4d3647e567a2a88f61fe8143055f86aaf045efe3b387d8668743b0c7aa0fde69b49f0
-EBUILD julia-1.7.1-r2.ebuild 4899 BLAKE2B fe19a2cae8bfaff1b000df2f6babf5d708c978d13601e02c7f9cb306fe83261e2523ae571f3e6e666d66c425f407b1cfae054471354447592bd4cfc8e1e97d59 SHA512 858702e1facb9b8312b0f34d77ac13427eb368e5c079dffdeffb8be42a063fdfe5f2efb624f75a0d4d2eabce15cf992f2f9bd77f8d2f4d66635f3a7e8ebd4f93
+EBUILD julia-1.6.5-r2.ebuild 4745 BLAKE2B faf5cfc0103a93c9bcfd44c13a40db066f6aa78cca3d4dc2a9e99e80a14681b817cd5173687e8c90039d879e1f04a29bfa498afb900d37a9ca0620e84468f0f8 SHA512 8396a9c29a4c585a5eff0e8dfc455a48e5fefbe33203c33d1b89b80e262f0b6a5a17c90ce938f7f078209530cf999861f15f948ca9f4a96a17af92e9bf774270
+EBUILD julia-1.7.1-r4.ebuild 4951 BLAKE2B 48c32c5f8eac79ce84183685627eefdfea484578efedd6b822ec34d3e64e6519b83b1a5931cc300d221bb9076677e53c2b676f7002a81a0d94345c6d93b777f6 SHA512 0e8e6a4524db3b54843a87be8999d524e4f10f00dbc8bc06cad53db5ecbddc70b58e3ed38b91ca7664ab96c563c198e52cc45e3ddad83875b54d45f02f5d8482
MISC metadata.xml 1530 BLAKE2B 776f8e2eaaebf6a0429b9019ec606c76f80828c5d27ec07f6503e855d44f681a476d9fe0631de0eb0f609b0256e063c172e8fbfacd3e37118e66c07ade2cb42d SHA512 d172e00e631a7a4e4b61c0f3ad90849b189c8b8aa8586fceb63c26ca407c4e477339f51b05d48681be37d06b873d6c2fce62b61efb4b9874323d92022d570288
diff --git a/dev-lang/julia/files/julia-1.6.5-libgit-1.4.patch b/dev-lang/julia/files/julia-1.6.5-libgit-1.4.patch
new file mode 100644
index 000000000000..fe753c0cd0e4
--- /dev/null
+++ b/dev-lang/julia/files/julia-1.6.5-libgit-1.4.patch
@@ -0,0 +1,43 @@
+This patch comes from:
+ https://github.com/archlinux/svntogit-community/blob/packages/julia/trunk/julia-libgit-1.4.patch
+
+diff --git a/stdlib/LibGit2/src/consts.jl b/stdlib/LibGit2/src/consts.jl
+index 2bc9edaf89..55887ebe2a 100644
+--- a/stdlib/LibGit2/src/consts.jl
++++ b/stdlib/LibGit2/src/consts.jl
+@@ -247,6 +247,11 @@ const RESET_HARD = Cint(3) # MIXED plus changes in working tree discarded
+ REBASE_OPERATION_FIXUP = Cint(4),
+ REBASE_OPERATION_EXEC = Cint(5))
+
++# git_remote_redirect_t
++const GIT_REMOTE_REDIRECT_NONE = Cint(0)
++const GIT_REMOTE_REDIRECT_INITIAL = Cint(1)
++const GIT_REMOTE_REDIRECT_ALL = Cint(2)
++
+ # fetch_prune
+ const FETCH_PRUNE_UNSPECIFIED = Cint(0)
+ const FETCH_PRUNE = Cint(1)
+diff --git a/stdlib/LibGit2/src/types.jl b/stdlib/LibGit2/src/types.jl
+index 9ffcaa3646..98d938df65 100644
+--- a/stdlib/LibGit2/src/types.jl
++++ b/stdlib/LibGit2/src/types.jl
+@@ -343,6 +343,9 @@ The fields represent:
+ @static if LibGit2.VERSION >= v"0.25.0"
+ proxy_opts::ProxyOptions = ProxyOptions()
+ end
++ @static if LibGit2.VERSION >= v"1.4.0"
++ follow_redirects::Cint = Consts.GIT_REMOTE_REDIRECT_INITIAL
++ end
+ @static if LibGit2.VERSION >= v"0.24.0"
+ custom_headers::StrArrayStruct = StrArrayStruct()
+ end
+@@ -674,6 +677,9 @@ The fields represent:
+ @static if LibGit2.VERSION >= v"0.25.0"
+ proxy_opts::ProxyOptions = ProxyOptions()
+ end
++ @static if LibGit2.VERSION >= v"1.4.0"
++ follow_redirects::Cint = Consts.GIT_REMOTE_REDIRECT_INITIAL
++ end
+ @static if LibGit2.VERSION >= v"0.24.0"
+ custom_headers::StrArrayStruct = StrArrayStruct()
+ end
diff --git a/dev-lang/julia/julia-1.6.5.ebuild b/dev-lang/julia/julia-1.6.5-r2.ebuild
index 534e938e4e3d..a2d6758f86d7 100644
--- a/dev-lang/julia/julia-1.6.5.ebuild
+++ b/dev-lang/julia/julia-1.6.5-r2.ebuild
@@ -38,7 +38,7 @@ RDEPEND+="
dev-libs/libutf8proc:0=[-cjk]
dev-util/patchelf
>=net-libs/mbedtls-2.2
- net-misc/curl[http2,ssh]
+ <net-misc/curl-7.81.0[http2,ssh]
sci-libs/amd:0=
sci-libs/arpack:0=
sci-libs/camd:0=
@@ -69,6 +69,7 @@ PATCHES=(
"${FILESDIR}/${PN}"-1.6.5-llvm_13_compat_part_3.patch
"${FILESDIR}/${PN}"-1.6.5-llvm_13_compat_part_4.patch
"${FILESDIR}/${PN}"-1.6.5-libgit-1.2.patch
+ "${FILESDIR}/${PN}"-1.6.5-libgit-1.4.patch
"${FILESDIR}/${PN}"-1.6.5-make-install-no-build.patch
"${FILESDIR}/${PN}"-1.6.5-hardcoded-libs.patch
"${FILESDIR}/${PN}"-1.6.5-do_not_set_rpath.patch
diff --git a/dev-lang/julia/julia-1.7.1-r2.ebuild b/dev-lang/julia/julia-1.7.1-r4.ebuild
index 58f9de7db701..64c2c07f71c4 100644
--- a/dev-lang/julia/julia-1.7.1-r2.ebuild
+++ b/dev-lang/julia/julia-1.7.1-r4.ebuild
@@ -39,7 +39,7 @@ RDEPEND+="
>=dev-libs/libutf8proc-2.6.1:0=[-cjk]
>=dev-util/patchelf-0.13
>=net-libs/mbedtls-2.2
- net-misc/curl[http2,ssh]
+ <net-misc/curl-7.81.0[http2,ssh]
sci-libs/amd:0=
sci-libs/arpack:0=
sci-libs/camd:0=
@@ -68,6 +68,7 @@ PATCHES=(
"${DISTDIR}/${PN}"-1.7.1-llvm_13_compat_part_4.patch
"${DISTDIR}/${PN}"-1.7.1-llvm_13_compat_part_5.patch
"${FILESDIR}/${PN}"-1.6.5-libgit-1.2.patch
+ "${FILESDIR}/${PN}"-1.6.5-libgit-1.4.patch
"${FILESDIR}/${PN}"-1.6.5-make-install-no-build.patch
"${FILESDIR}/${PN}"-1.7.1-hardcoded-libs.patch
"${FILESDIR}/${PN}"-1.7.1-do_not_set_rpath.patch
diff --git a/dev-lang/lazarus/Manifest b/dev-lang/lazarus/Manifest
index c505b758d2c5..c159f75d8829 100644
--- a/dev-lang/lazarus/Manifest
+++ b/dev-lang/lazarus/Manifest
@@ -1,4 +1,6 @@
AUX lazarus-0.9.26-fpcsrc.patch 407 BLAKE2B c3b006fd7bb58fb7037aae3d8d35ac146ab971fc6063652e3185b320e4cb05ccedb6c26c7d64b2f2998a901608ee251762b723f62bd9c239a51ab6a6d6f2b39d SHA512 823d9ba2041f97c39d8ea5f49cb02f68d8c98da95d0a479cc65a638365e2adafd1c5645fa6846720af18198834958f37b0cc0d92f38023ccdaf40ec8dc848f64
DIST lazarus-2.0.12.tar.gz 69560778 BLAKE2B ff6c9414483b0d50dbbb30c8fbf626c81d9c71ef0329aa1d58b37aa4288a500e1ab55d06bad27f637e3f09b9d062af1896720b9cb7367b092fc872cf613f8a3d SHA512 dfd22b2b96fca9d0f672f03b9120c4294a7e640737a09b26c274d304025c61566a8504a5484638c108e42a322b21992229451d95e38d7e491a1c2f07a663483e
+DIST lazarus-2.2.0-0.tar.gz 76777421 BLAKE2B 29a7ed3285e3fbb6f72fe932d72d71edfd6903a8a5eb24f9534a12a4d1ccf5e40c61ce3cc1cbd8eef6dd7700f6e29fb640e35510b23a1ca1b02f7df0a4a738cc SHA512 4ebd8b4b7c6dfea491a30b1253e604646109d208c237e59be2fd9f6be3fb1e29443dd4e482076d77100678d0e4085b998398fca0532aa6122b59db7157af0ce4
EBUILD lazarus-2.0.12.ebuild 2667 BLAKE2B d6e1a545dd5a90f61b2f447205bdfb325f7a10e26f79891dd8fb229f76933f437277aba252253b123313ebc3189440d8b82bd1e794873e127c0f543ad514e1b8 SHA512 479430f9b6f5b15cb1fac203fe9d133706d2a01bc9020b23f35d1a5935dbf1bf116e2e9095b7e4175cad964f91def11cbfbb5f3daa21c0b3c47c834d4195643f
+EBUILD lazarus-2.2.0.ebuild 2413 BLAKE2B f09dee3695b75dd6c59ff54b3358c7674a445d0476cce66ca0efb30331a66eaaa5596184913a798d9ceb6b95df1f428f206c6d886dd3fd0900df3de43a2494ba SHA512 5e2090fad65e9ad74679010c704643ec290a63f022711b5b454f6c564ae38758d501aaa3045e4a794e9fdb6a5afa1b694bcbc932ca3d0174fcaa22b628924a2f
MISC metadata.xml 395 BLAKE2B ddc65b4329ed615ee2692ee80ff2b74b1b72992742ee27e6338aaa1ea8b7e39114ce5f735c61bf64bd603dbac7a1828f8bdb4c29b78a339a878b61092556e7ac SHA512 161abe773c486138f13a426c0d056d7efaf62f4180fc4fdfa85aa688021a5a834af7fc972867b92c6f53d45ca40940ff70ba07d7c4f61c4cfc32c2880286ba60
diff --git a/dev-lang/lazarus/lazarus-2.2.0.ebuild b/dev-lang/lazarus/lazarus-2.2.0.ebuild
new file mode 100644
index 000000000000..878b17d9434b
--- /dev/null
+++ b/dev-lang/lazarus/lazarus-2.2.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop
+
+# See https://wiki.freepascal.org/Lazarus_2.0_fixes_branch for notes and
+# changes in FPCVER. It *does* change between minor versions of lazarus.
+FPCVER="3.2.2"
+
+DESCRIPTION="Lazarus IDE is a feature rich visual programming environment emulating Delphi"
+HOMEPAGE="https://www.lazarus-ide.org/"
+SRC_URI="https://sourceforge.net/projects/${PN}/files/Lazarus%20Zip%20_%20GZip/Lazarus%20${PV}/${P}-0.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1-with-linking-exception"
+SLOT="0" # Note: Slotting Lazarus needs slotting fpc, see DEPEND.
+KEYWORDS="~amd64 ~x86"
+IUSE="minimal"
+
+DEPEND=">=dev-lang/fpc-${FPCVER}[source]
+ net-misc/rsync
+ x11-libs/gtk+:2
+ >=sys-devel/binutils-2.19.1-r1:="
+RDEPEND="${DEPEND}"
+
+RESTRICT="strip" #269221
+
+S="${WORKDIR}/${PN}"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.9.26-fpcsrc.patch )
+
+src_prepare() {
+ default
+ # Use default configuration (minus stripping) unless specifically requested otherwise
+ if ! test ${PPC_CONFIG_PATH+set} ; then
+ local FPCVER=$(fpc -iV)
+ export PPC_CONFIG_PATH="${WORKDIR}"
+ sed -e 's/^FPBIN=/#&/' /usr/lib/fpc/${FPCVER}/samplecfg |
+ sh -s /usr/lib/fpc/${FPCVER} "${PPC_CONFIG_PATH}" || die
+ fi
+}
+
+src_compile() {
+ # TODO: Change to LCL_PLATFORM=qt5?
+ # bug #732758
+ LCL_PLATFORM=gtk2 emake \
+ $(usex minimal "" "bigide") \
+ -j1
+}
+
+src_install() {
+ diropts -m0755
+ dodir /usr/share
+ # Using rsync to avoid unnecessary copies and cleaning...
+ # Note: *.o and *.ppu are needed
+ rsync -a \
+ --exclude="CVS" --exclude=".cvsignore" \
+ --exclude="*.ppw" --exclude="*.ppl" \
+ --exclude="*.ow" --exclude="*.a"\
+ --exclude="*.rst" --exclude=".#*" \
+ --exclude="*.~*" --exclude="*.bak" \
+ --exclude="*.orig" --exclude="*.rej" \
+ --exclude=".xvpics" --exclude="*.compiled" \
+ --exclude="killme*" --exclude=".gdb_hist*" \
+ --exclude="debian" --exclude="COPYING*" \
+ --exclude="*.app" \
+ "${S}" "${ED}"/usr/share \
+ || die "Unable to copy files!"
+
+ dosym ../share/lazarus/startlazarus /usr/bin/startlazarus
+ dosym ../share/lazarus/startlazarus /usr/bin/lazarus
+ dosym ../share/lazarus/lazbuild /usr/bin/lazbuild
+ use minimal || dosym ../share/lazarus/components/chmhelp/lhelp/lhelp /usr/bin/lhelp
+ dosym ../lazarus/images/ide_icon48x48.png /usr/share/pixmaps/lazarus.png
+
+ make_desktop_entry startlazarus "Lazarus IDE" "lazarus"
+}
diff --git a/dev-lang/lfe/Manifest b/dev-lang/lfe/Manifest
index 727acb93f7d9..2e700eff8b6c 100644
--- a/dev-lang/lfe/Manifest
+++ b/dev-lang/lfe/Manifest
@@ -1,6 +1,6 @@
AUX 70lfe-gentoo.el 166 BLAKE2B 023b504e013f24662bded660def58f013ca9b34bc9ee73a137df54e48825e71f3a7322652e7cb8fd60e19b2a508180e1933c6f03be163d4a614fecfb6b41d96a SHA512 a15c3db1640229eaa2c1faa44f7765a53fdde29af78f8a9130c3b8893098cbc41a3cb322402ac5b9b0ca8373739b03723acdc3685d83724fafa6afaee0c25891
-DIST lfe-1.3.0_p20210112.zip 447903 BLAKE2B bc63fd7f988abba77e7f4baef906c2fd4370e1aeb2bc04b019d429586cbcb91792ac0f65a3d29a904997d2488a2540411c38e904c0208e2183a8f0f8362f7c36 SHA512 ee178436ca8aea1f1001e5f679a366414229f584cc0e0a38d9749b7cb49d7378a3f8681dcb8c1d5c61e4f498aa31c575a791fe21337b3079a11b623ada363de9
+DIST lfe-2.0.1.tar.gz 351818 BLAKE2B 4f661d2d4685af420bf9b531795ffacfe9b272b6bd39c81a4f3344e4003960d2deb31618df22d8f91c74b925ab522153b732d9afdbd894c64f70a533b573989e SHA512 47d062fcd1910580ba5d84f8887a27d0717cb7aae2a90fb3a7e7411fd46886dd73e342ccd4627227c70d13dcd2c5f66077d351812e9bc0c17d64e9ef65d04f96
DIST lfe-2.0.tar.gz 351324 BLAKE2B 811bd310cf917f3e1dc456c9e7c5cd09f5099a2ab20d2bde60e2057eb94ee9125298866b01ef9b483fdaef8572cb487c0a760407c79774e915fdd2c7c129d796 SHA512 b615f28947febe034b1bd155e6c357211ebbdb63aef67645a9681a4a30b799c2019a79ab8f33cd5d3003ad5da83e10af6b3e5c1abe810def92c88812d58c0d04
-EBUILD lfe-1.3.0_p20210112.ebuild 1478 BLAKE2B 703a9fcac2af8303587052a4adc18ec9757f3b0cb08ccf744b0d8ae43d94e46dd1ba24eea0c51c3abf1c55c72288ec44e1153daf9aae5883fecbe09733ae7f57 SHA512 4fc4fe399ca2974216c4c79eb248c670e7c29f3a51170c46907ad35d99dc28a3ee5627890ce4eb15d05898e9f07fae7015558ab6be57f4921e314603a7895142
+EBUILD lfe-2.0.1.ebuild 1395 BLAKE2B 41a87d285c4278c86826595debd3303ed2b081b210befd73ce06b471c8a0cccfed5e6416c4c21652f3145696be42e2591e883d26a5a99c62d195ac20bced9545 SHA512 4bebb35aa8e14a2822e834dc7a9d8b852a9465caea6ff7c47a94b56d17a3ceb9442d0c4859650180647597e3678ec5ec9a9fccdf50463a68113fa66f6434b663
EBUILD lfe-2.0.ebuild 1395 BLAKE2B a5aaa1651bb6ed497878c72d1defa3d8038007a3094912c8a9225fdea6348d44d8a30939d01625daaab741f530e6fca20465d5b8d5b9973ef909297ff38d35f0 SHA512 7ea89b2be62b645276692ce3762a18c2154a8805d784324b1a151879cacb5734e847c8489fb2141885a9a6e2a50f60d1674494b00623818d959776757448a70b
MISC metadata.xml 589 BLAKE2B 94dca142b926d73c55b24cf6976002b20a938f93ee49cf143d57284b936248c757daf32a80b4ef431a1a54287b618c83c48500db9a7ff330ec794a0d79b90498 SHA512 d34f128e89a8032b69060bba0630dc206604cd694b9d47e50763128f1dbb16fea9f7e9a8902d8f19f55ca26569c6aa89bd560a78a4b861b6cbe1366460cc8c0b
diff --git a/dev-lang/lfe/lfe-1.3.0_p20210112.ebuild b/dev-lang/lfe/lfe-2.0.1.ebuild
index b5acbb1dd4b9..bd2582d072c0 100644
--- a/dev-lang/lfe/lfe-1.3.0_p20210112.ebuild
+++ b/dev-lang/lfe/lfe-2.0.1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit elisp-common toolchain-funcs
@@ -14,10 +14,8 @@ if [[ "${PV}" == *9999* ]]; then
EGIT_BRANCH="develop"
EGIT_REPO_URI="https://github.com/rvirding/${PN}.git"
else
- COMMIT_SHA="e5f20c459a13b35ed1e71b1d2667363af168e958"
- SRC_URI="https://github.com/rvirding/${PN}/archive/${COMMIT_SHA}.zip -> ${P}.zip"
+ SRC_URI="https://github.com/rvirding/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
- S="${WORKDIR}/${PN}-${COMMIT_SHA}"
fi
RESTRICT="mirror test"
diff --git a/dev-lang/lua/Manifest b/dev-lang/lua/Manifest
index e6ef584f16f9..8ceb048fdf44 100644
--- a/dev-lang/lua/Manifest
+++ b/dev-lang/lua/Manifest
@@ -6,13 +6,20 @@ AUX lua-5.1.4-test.patch 271 BLAKE2B 1b8d2fd524d34fce99315d03232984a3cd1ad74fb23
AUX lua-5.1.5-make.patch 3079 BLAKE2B cf9b72afd8e08ea23256364f321d49427661de8353f7655b9da3de1ef943125ae86cf1a7aab9f1c459e51063031eb1105b7703ad9e1aee90a848497b58addb12 SHA512 92a1c890e40a8bd621dad4a18fc890850027c4a5a239b8259ef3002ad4835a7a11069ca964a62a096cd651a688b60f5f261c1223e4ac7981e7a8bb43788634ff
AUX lua-5.3.6-make.patch 2830 BLAKE2B 9d3ea717531d93d7f7618335f503528e629aa3582392c49e340b6909860a51e30371530ea06ef1ed81cc4bde4a294e1d6732662703f646a7a3f727159dc83fed SHA512 5d5f0a02f2e11cb7965702ffb2f65c0f19184ae4e27c28e57a100c35e8972e2fba419999af63b65b0f031880dda7851816cef126088ddb105b29d401d03e1132
AUX lua-5.4.2-make.patch 3179 BLAKE2B 68e9af77c2f5931234eefbe953ff127c3b32bdfa67917075435531d43672304e599e706dba2012cf6a13645803b611bee437f2f28137ed0daff9fdfc4afc4b79 SHA512 09cfcea9b736ef90d035a1d2bd7480b813edd99aa7c5ecd4b52a9fbd2bf479623db6045be89642bd3867b5ca143c5640c53a7d72951b33ab4832b9a6323a88b7
+AUX lua-5.4.2-r2-make.patch 3161 BLAKE2B b9b87229c2098bdcd4a1c2622417176fa21b0fc8e35223f5f753f384c028ba30a74049c05d05828357102cc9a07674bf1c881506593f54adb75aeb1e669c8005 SHA512 b75564f98254ab76b3d278210fd112d8a7949e208d15c58d6134b5331d498638662cead48c873a1d202bb83eaf05580b3a18efe8a03f08d657e4005ed3f8dee2
AUX lua.pc 658 BLAKE2B 580504c8162c9cbde35b4a817c688b955cad1a35b1c21ed527488eda6e7cf78dfa81fa8b100737cf9ad620d34d94eceec01ba09e4fab0b121c5e4c673677cd3f SHA512 cb476ea6dd004a9aa0094cfc219d1888c5f578b44968a960acf1f2f32783a8e4d770bb033fb1ab4851f225188bbdd434b5d239718cae2c2c35f5b5f124a722ca
DIST lua-5.1.5.tar.gz 221213 BLAKE2B 915eb8e8c9d7e460eacf1d7a59309c60dfc0f5d9d3d76fbc9764e7cae85920b95096db1c27b69ac53378a145c29efde403e88166a1332a67150d9d3a897aba02 SHA512 0142fefcbd13afcd9b201403592aa60620011cc8e8559d4d2db2f92739d18186860989f48caa45830ff4f99bfc7483287fd3ff3a16d4dec928e2767ce4d542a9
DIST lua-5.3.4-tests.tar.gz 103438 BLAKE2B ac82708022e7729039111c3df4fe24302c8d0efb224afb4828871ac085a3d64c41d674a6f9369035de01ed1f7f75a3d2ce16917f37e774e923216aac0be03e09 SHA512 79575d100a2efabc8243f55b55d912443e09ef7e8b0219cb93541d85c2ba802fb9538015e1228703f09ca57bdb28a640a8f1fa0735716ba1e4bca2179c712dfb
DIST lua-5.3.6.tar.gz 303770 BLAKE2B 07c37c56f43095a4f6ca8eb8b3adf19afd53107c02b62b2bcb3619565cb2100d5f823493eef93092d5e312b30fc28885a6d9e8f0ba5a23b5bed86dc4515a5d61 SHA512 ccc380d5e114d54504de0bfb0321ca25ec325d6ff1bfee44b11870b660762d1a9bf120490c027a0088128b58bb6b5271bbc648400cab84d2dc22b512c4841681
DIST lua-5.4.2-tests.tar.gz 128901 BLAKE2B 10e4f0e8760f9cbd4761fa26665008ae7412539f79a6a7687029808f08f0ae4a24721e787e2e87e5080c16e9dcce8577a7a39ddc6d3e483a3cfe11756139594e SHA512 1516c59deca211c38444bbf97b18e988e939209b03915d3691d756eeed31b52e8d3a1f05b71ac0b561965274c7b6f3afc4244cd2e9069995696e737e2d9dd40b
DIST lua-5.4.2.tar.gz 353472 BLAKE2B 7e0e642684df635ed1c48db45989e86a2638024e30a170addf700b0c7d32276f1eaef80898539c671039c20cb0bed4861b12c58f4b8211653a17e89bad278d87 SHA512 9454a6ffd973598f2f4a2399834c31c4d5090bd12e716776e3189aa57760319d114ee64a8338bbc2ef5e08150bf0adc2ad94a1b2677f38538a43359969d4d920
+DIST lua-5.4.4-tests.tar.gz 134094 BLAKE2B 63f5888a506f504f849fb2000cf551960df8eca3107601dcc8243e8ea5a1b13a70bff7dea4aebe3ab35b7e9df58c2ca44a7a27aa4de82240877eb8d7a017642e SHA512 08b3d764b3f362a2cddf5a23e71b16eea96a234a970fa0048bab358ebbd77f99d9bd132af12254383c5bb5426516e1ce2107e529e88d3963869255f5a41198ef
+DIST lua-5.4.4.tar.gz 360876 BLAKE2B 8747ef5c83bd4c54b73eeaad6991ab5fccc54ee000973afd9cf3367b8945f03c54e843ec88c48043003cd9d3b42281c593cb485b7165add2744cfea06d8b7668 SHA512 af0c35d5ba00fecbb2dd617bd7b825edf7418a16a73076e04f2a0df58cdbf098dc3ff4402e974afd789eb5d86d2e12ec6df9c84b99b23656ea694a85f83bcd21
EBUILD lua-5.1.5-r106.ebuild 4034 BLAKE2B 854878c2829b16de02a0cf011b1b35b22f130095c2e671e755a1a23153a27a612a8c9ec5443b97c550e98396d9845e49245832e8ce655334692a6ec77495dc88 SHA512 294a4daad1aaafbdbaf841a9f9e6ba1d0bbb0892138ce065188e2b4e7cfb7a85ca4a88b069862d0f339617ff0b7ce97d119db06736ea4609ea2801cb57f2967e
+EBUILD lua-5.1.5-r107.ebuild 4238 BLAKE2B de88ceeff06d9c0e16c3df5175b8924d0929d1c0beec10801f6c7da0621746573f482b5db08198d2f8c809c071b3de6501ae820f85f073ec8089f93996041ea0 SHA512 ced7edb2eb12f701bcdc32d70629a7343481040008b5ee0ddf246fa3d9739da1bf1cfa269643ff867511275aa0de63cbead58d8297fd8063e1129a6731cf5898
EBUILD lua-5.3.6-r2.ebuild 5752 BLAKE2B 88d746cbe0643295ebacca48b1343acf3c1ddce29b9249df65e498cac970221adb15841b978d7ed16b78a503f107d307f3a6e6b1dec5f2ab7f0a086a65d8054e SHA512 eb9a993fd34799b95ae6fe7d9ee6cc2b05f8298ed0c91546561cd4683a4c57c9c74786ce0950f4b82cd96c4e7d663400bacda9b8734bd440abbc3d312891c428
+EBUILD lua-5.3.6-r3.ebuild 5956 BLAKE2B 3034c8c8497122306230252168723566e1ff978ffd3b0ea233758744dd63b8a6daa6ede7e3855f37f1fb0277c7989fc63540f04da9d5d3cbeca481f486421f43 SHA512 7486afa140d5646bac59249084f34da78510f0ca173a1ec7006376b603c765210d994e181955494e6af6a352986fa52fa351d8e65f7b4cf9879950653d5ecaca
EBUILD lua-5.4.2-r1.ebuild 5698 BLAKE2B 389a70fdbbea2c66d3c4c45471e67775c106bffbbf622cbddeb6803fef6b88da5debecc3c2107b23e4b33c417eec4649388b6c7f575f7b8926b5947edc284479 SHA512 eeafbd5447750b6ee1f32f11edaff20365dcfba88ab21d19c14e3049b896cb9f44c826e4e59a969e244b53cc3f8a3dfff7aea8adcfdb7124c2b4168bd57b2336
+EBUILD lua-5.4.2-r2.ebuild 5905 BLAKE2B 427d512b784ab7d9e7e2c4711f2493e36390c5921d95d387403ab9cc7896da56588ab5b7f0aa9cf32b8be514bc7822bc55567dbcd48a11821adf9f46247b8eac SHA512 963a014a6e1906f7ef94fefee1f1a9414b997a653d20611604a175b61ebb0f30ff06cade839f43e0059425c07af185738bd43ae3b8b29de64942ee69cbdd7195
+EBUILD lua-5.4.4.ebuild 5905 BLAKE2B 5fb3231f1651b731c355b46f6c596fb8788211fed3049aeec6ae59ae974e2564fec0043bc1a208e69d6f5fca3aa54c2bf6f314f79b6bf193d1accb2c28181565 SHA512 3d741849061484f473fa72e849f44f838a2866047e16beedca9af144a52ed19fd50dc601b54a37374886c40b74ef5c2f1d44ddb5cc62e945928d1b9907071066
MISC metadata.xml 525 BLAKE2B cd450b981b7ae039f32a0c6484548c59eff8d9c032975c84ef9b5530219413f7ff7a95d66593da6252c08808189cc61f02fbef88efe36f71dc64d9aec3c0e90e SHA512 4f127caf48df93a75b562f516e3a522ae3edcc601f434b2d034d76b106cbfd96848e6898bdc850acf757101843696e44da9ab1f42292e96bd294c30b631ccaa8
diff --git a/dev-lang/lua/files/lua-5.4.2-r2-make.patch b/dev-lang/lua/files/lua-5.4.2-r2-make.patch
new file mode 100644
index 000000000000..d14aa40df0a0
--- /dev/null
+++ b/dev-lang/lua/files/lua-5.4.2-r2-make.patch
@@ -0,0 +1,99 @@
+diff --git a/Makefile b/Makefile
+index 1797df9..90284d8 100644
+--- a/Makefile
++++ b/Makefile
+@@ -10,11 +10,11 @@ PLAT= guess
+ # so take care if INSTALL_TOP is not an absolute path. See the local target.
+ # You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with
+ # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h.
+-INSTALL_TOP= /usr/local
++INSTALL_TOP= /usr
+ INSTALL_BIN= $(INSTALL_TOP)/bin
+-INSTALL_INC= $(INSTALL_TOP)/include
++INSTALL_INC= $(INSTALL_TOP)/include/lua$V
+ INSTALL_LIB= $(INSTALL_TOP)/lib
+-INSTALL_MAN= $(INSTALL_TOP)/man/man1
++INSTALL_MAN= $(INSTALL_TOP)/share/man/man1
+ INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
+ INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V
+
+@@ -104,3 +104,18 @@ pc:
+ .PHONY: all $(PLATS) help test clean install uninstall local dummy echo pc
+
+ # (end of Makefile)
++
++# Use libtool for binary installs, etc.
++
++export V
++export LIBTOOL = libtool --quiet --tag=CC
++# See libtool manual about how to set this
++
++gentoo_clean:
++ cd src; $(MAKE) $@
++
++gentoo_install:
++ mkdir -p $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB)
++ cd src; $(LIBTOOL) --mode=install $(INSTALL_EXEC) lua$V luac$V $(INSTALL_BIN)
++ cd src; $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
++ cd src; $(LIBTOOL) --mode=install $(INSTALL_DATA) liblua$V.la $(INSTALL_LIB)
+diff --git a/src/Makefile b/src/Makefile
+index 514593d..8af8f99 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -37,10 +37,10 @@ CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem
+ LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
+ BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
+
+-LUA_T= lua
++LUA_T= lua$V
+ LUA_O= lua.o
+
+-LUAC_T= luac
++LUAC_T= luac$V
+ LUAC_O= luac.o
+
+ ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
+@@ -60,10 +60,10 @@ $(LUA_A): $(BASE_O)
+ $(AR) $@ $(BASE_O)
+ $(RANLIB) $@
+
+-$(LUA_T): $(LUA_O) $(LUA_A)
++origin$(LUA_T): $(LUA_O) $(LUA_A)
+ $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
+
+-$(LUAC_T): $(LUAC_O) $(LUA_A)
++origin$(LUAC_T): $(LUAC_O) $(LUA_A)
+ $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
+
+ test:
+@@ -218,3 +218,30 @@ lzio.o: lzio.c lprefix.h lua.h luaconf.h llimits.h lmem.h lstate.h \
+ lobject.h ltm.h lzio.h
+
+ # (end of Makefile)
++
++export LIBTOOL = libtool --quiet --tag=CC
++export LIB_VERSION = 6:1:1
++
++# The following rules use libtool for compiling and linking in order to
++# provide shared library support.
++
++LIB_NAME = liblua$V.la
++LIB_OBJS = $(CORE_O:.o=.lo) $(LIB_O:.o=.lo)
++
++%.lo %.o: %.c
++ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
++
++$(LIB_NAME): $(LIB_OBJS)
++ $(LIBTOOL) --mode=link $(CC) -version-info $(LIB_VERSION) \
++ -rpath $(RPATH) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_LIBS)
++
++$(LUA_T): $(LUA_O:.o=.lo) $(LIB_NAME)
++ $(LIBTOOL) --mode=link $(CC) -static -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS)
++
++$(LUAC_T): $(LUAC_O:.o=.lo) $(LIB_NAME)
++ $(LIBTOOL) --mode=link $(CC) -static $(LDFLAGS) -o $@ $(LUAC_O:.o=.lo) $(LIB_NAME)
++
++gentoo_clean:
++ $(LIBTOOL) --mode=clean $(RM) $(ALL_O:.o=.lo) $(LIB_NAME) lua$V luac$V
++
++gentoo_all: $(LIB_NAME) $(LUA_T) $(LUAC_T)
diff --git a/dev-lang/lua/lua-5.1.5-r107.ebuild b/dev-lang/lua/lua-5.1.5-r107.ebuild
new file mode 100644
index 000000000000..5fb8942422b8
--- /dev/null
+++ b/dev-lang/lua/lua-5.1.5-r107.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit multilib multilib-minimal portability toolchain-funcs
+
+DESCRIPTION="A powerful light-weight programming language designed for extending applications"
+HOMEPAGE="https://www.lua.org/"
+SRC_URI="https://www.lua.org/ftp/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="5.1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+deprecated readline"
+
+COMMON_DEPEND="
+ >=app-eselect/eselect-lua-3
+ readline? ( >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}] )
+ !dev-lang/lua:0"
+# Cross-compiling note:
+# Must use libtool from the target system (DEPEND) because
+# libtool from the build system (BDEPEND) is for building
+# native binaries.
+DEPEND="
+ ${COMMON_DEPEND}
+ sys-devel/libtool"
+RDEPEND="${COMMON_DEPEND}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/lua${SLOT}/luaconf.h
+)
+
+src_prepare() {
+ PATCHES=(
+ "${FILESDIR}/lua-5.1.5-make.patch"
+ "${FILESDIR}/${PN}-$(ver_cut 1-2)-module_paths.patch"
+ )
+ if ! use deprecated ; then
+ # patches from 5.1.4 still apply
+ PATCHES+=(
+ "${FILESDIR}"/${PN}-5.1.4-deprecated.patch
+ "${FILESDIR}"/${PN}-5.1.4-test.patch
+ )
+ fi
+ if ! use readline ; then
+ PATCHES+=(
+ "${FILESDIR}"/${PN}-$(ver_cut 1-2)-readline.patch
+ )
+ fi
+
+ default
+
+ # use glibtool on Darwin (versus Apple libtool)
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed -i -e '/LIBTOOL = /s:libtool:glibtool:' \
+ Makefile src/Makefile || die
+ fi
+
+ # correct lua versioning
+ sed -i -e 's/\(LIB_VERSION = \)6:1:1/\16:5:1/' src/Makefile
+
+ sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html
+
+ # Using dynamic linked lua is not recommended for performance
+ # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
+ # Mainly, this is of concern if your arch is poor with GPRs, like x86
+ # Note that this only affects the interpreter binary (named lua), not the lua
+ # compiler (built statically) nor the lua libraries.
+
+ # A slotted Lua uses different directories for headers & names for
+ # libraries, and pkgconfig should reflect that.
+ sed -r -i \
+ -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
+ -e "/^includedir=/s,(/include)$,\1/lua${SLOT}," \
+ -e "/^Libs:/s,((-llua)($| )),\2${SLOT}\3," \
+ "${S}"/etc/lua.pc
+
+ # custom Makefiles
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ # We want packages to find our things...
+ sed -i \
+ -e 's:/usr/local:'${EPREFIX}'/usr:' \
+ -e "s:\([/\"]\)\<lib\>:\1$(get_libdir):g" \
+ etc/lua.pc src/luaconf.h || die
+}
+
+multilib_src_compile() {
+ tc-export CC
+ myflags=
+ # what to link to liblua
+ liblibs="-lm"
+ liblibs="${liblibs} $(dlopen_lib)"
+
+ # what to link to the executables
+ mylibs=
+ if use readline; then
+ mylibs="-lreadline"
+ fi
+
+ cd src
+ emake CC="${CC}" CFLAGS="-DLUA_USE_LINUX ${CFLAGS}" \
+ RPATH="${EPREFIX}/usr/$(get_libdir)/" \
+ LUA_LIBS="${mylibs}" \
+ LIB_LIBS="${liblibs}" \
+ V=$(ver_cut 1-2) \
+ LIBTOOL="${ESYSROOT}/usr/bin/libtool" \
+ gentoo_all
+
+ mv lua_test ../test/lua.static
+}
+
+multilib_src_install() {
+ emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
+ V=${SLOT} gentoo_install
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ newins etc/lua.pc lua${SLOT}.pc
+}
+
+multilib_src_install_all() {
+ DOCS="HISTORY README"
+ HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif"
+ einstalldocs
+ newman doc/lua.1 lua${SLOT}.1
+ newman doc/luac.1 luac${SLOT}.1
+ find "${ED}" -name '*.la' -delete || die
+ find "${ED}" -name 'liblua*.a' -delete || die
+}
+
+multilib_src_test() {
+ local positive="bisect cf echo env factorial fib fibfor hello printf sieve
+ sort trace-calls trace-globals"
+ local negative="readonly"
+ local test
+
+ cd "${BUILD_DIR}" || die
+ for test in ${positive}; do
+ test/lua.static test/${test}.lua || die "test $test failed"
+ done
+
+ for test in ${negative}; do
+ test/lua.static test/${test}.lua && die "test $test failed"
+ done
+}
+
+pkg_postinst() {
+ eselect lua set --if-unset "${PN}${SLOT}"
+
+ if has_version "app-editor/emacs"; then
+ if ! has_version "app-emacs/lua-mode"; then
+ einfo "Install app-emacs/lua-mode for lua support for emacs"
+ fi
+ fi
+}
diff --git a/dev-lang/lua/lua-5.3.6-r3.ebuild b/dev-lang/lua/lua-5.3.6-r3.ebuild
new file mode 100644
index 000000000000..e1a9e2c2263d
--- /dev/null
+++ b/dev-lang/lua/lua-5.3.6-r3.ebuild
@@ -0,0 +1,206 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools multilib multilib-minimal portability toolchain-funcs
+
+DESCRIPTION="A powerful light-weight programming language designed for extending applications"
+HOMEPAGE="https://www.lua.org/"
+TEST_PV="5.3.4"
+TEST_P="${PN}-${TEST_PV}-tests"
+SRC_URI="
+ https://www.lua.org/ftp/${P}.tar.gz
+ test? ( https://www.lua.org/tests/${TEST_P}.tar.gz )"
+
+LICENSE="MIT"
+SLOT="5.3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+deprecated readline test test-complete"
+
+COMMON_DEPEND="
+ >=app-eselect/eselect-lua-3
+ readline? ( sys-libs/readline:0= )
+ !dev-lang/lua:0"
+# Cross-compiling note:
+# Must use libtool from the target system (DEPEND) because
+# libtool from the build system (BDEPEND) is for building
+# native binaries.
+DEPEND="
+ ${COMMON_DEPEND}
+ sys-devel/libtool"
+RDEPEND="${COMMON_DEPEND}"
+
+RESTRICT="!test? ( test )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/lua${SLOT}/luaconf.h
+)
+
+PATCHES=(
+ "${FILESDIR}/lua-5.3.6-make.patch"
+)
+
+src_prepare() {
+ default
+ # use glibtool on Darwin (versus Apple libtool)
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \
+ Makefile src/Makefile || die
+ fi
+
+ # correct lua versioning
+ sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die
+
+ sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die
+
+ if ! use readline ; then
+ sed -i -e '/#define LUA_USE_READLINE/d' src/luaconf.h || die
+ fi
+
+ # Using dynamic linked lua is not recommended for performance
+ # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
+ # Mainly, this is of concern if your arch is poor with GPRs, like x86
+ # Note that this only affects the interpreter binary (named lua), not the lua
+ # compiler (built statically) nor the lua libraries.
+
+ # upstream does not use libtool, but we do (see bug #336167)
+ cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die
+ eautoreconf
+
+ # custom Makefiles
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ sed -i \
+ -e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \
+ -e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \
+ src/luaconf.h \
+ || die "failed patching luaconf.h"
+
+ econf
+}
+
+multilib_src_compile() {
+ tc-export CC
+
+ # what to link to liblua
+ liblibs="-lm"
+ liblibs="${liblibs} $(dlopen_lib)"
+
+ # what to link to the executables
+ mylibs=
+ use readline && mylibs="-lreadline"
+
+ cd src
+
+ local myCFLAGS=""
+ use deprecated && myCFLAGS="-DLUA_COMPAT_5_1 -DLUA_COMPAT_5_2"
+
+ case "${CHOST}" in
+ *-mingw*) : ;;
+ *) myCFLAGS+=" -DLUA_USE_LINUX" ;;
+ esac
+
+ emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \
+ SYSLDFLAGS="${LDFLAGS}" \
+ RPATH="${EPREFIX}/usr/$(get_libdir)/" \
+ LUA_LIBS="${mylibs}" \
+ LIB_LIBS="${liblibs}" \
+ V=$(ver_cut 1-2) \
+ LIBTOOL="${ESYSROOT}/usr/bin/libtool" \
+ gentoo_all
+}
+
+multilib_src_install() {
+ emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
+ V=${SLOT} gentoo_install
+
+ case $SLOT in
+ 0)
+ LIBNAME="lua"
+ INCLUDEDIR_SUFFIX=''
+ ;;
+ *) LIBNAME="lua${SLOT}"
+ INCLUDEDIR_SUFFIX="/lua${SLOT}"
+ ;;
+ esac
+
+ # We want packages to find our things...
+ # A slotted Lua uses different directories for headers & names for
+ # libraries, and pkgconfig should reflect that.
+ local PATCH_PV=$(ver_cut 1-2)
+ cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die
+ sed -r -i \
+ -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
+ -e "s:^prefix= :prefix= ${EPREFIX}:" \
+ -e "s:^V=.*:V= ${PATCH_PV}:" \
+ -e "s:^R=.*:R= ${PV}:" \
+ -e "s:/,lib,:/$(get_libdir):g" \
+ -e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \
+ -e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \
+ "${WORKDIR}/lua.pc" || die
+
+ insinto "/usr/$(get_libdir)/pkgconfig"
+ newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc"
+ # Copy Debian's symlink support:
+ # https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19
+ # FreeBSD calls the pkgconfig 'lua-5.3.pc'
+ # Older systems called it 'lua53.pc'
+ dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc"
+ dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc"
+}
+
+multilib_src_install_all() {
+ DOCS="README"
+ HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif"
+ einstalldocs
+ newman doc/lua.1 lua${SLOT}.1
+ newman doc/luac.1 luac${SLOT}.1
+ find "${ED}" -name '*.la' -delete || die
+ find "${ED}" -name 'liblua*.a' -delete || die
+}
+
+# Makefile contains a dummy target that doesn't do tests
+# but causes issues with slotted lua (bug #510360)
+src_test() {
+ debug-print-function ${FUNCNAME} "$@"
+ cd "${WORKDIR}/lua-${TEST_PV}-tests" || die
+ # https://www.lua.org/tests/
+ # There are two sets:
+ # basic
+ # complete.
+ #
+ # The basic subset is selected by passing -e'_U=true'
+ # The complete set is noted to contain tests that may consume too much memory or have non-portable tests.
+ # attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI)
+ TEST_OPTS="$(usex test-complete '' '-e_U=true')"
+ TEST_MARKER="${T}/test.failed"
+ rm -f "${TEST_MARKER}"
+
+ # If we are failing, set the marker file, and only check it after done all ABIs
+ abi_src_test() {
+ debug-print-function ${FUNCNAME} "$@"
+ TEST_LOG="${T}/test.${MULTIBUILD_ID}.log"
+ eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die
+ grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}"
+ return 0
+ }
+
+ multilib_foreach_abi abi_src_test
+
+ if [ -e "${TEST_MARKER}" ]; then
+ cat "${TEST_MARKER}"
+ die "Tests failed"
+ fi
+}
+
+pkg_postinst() {
+ eselect lua set --if-unset "${PN}${SLOT}"
+
+ if has_version "app-editor/emacs"; then
+ if ! has_version "app-emacs/lua-mode"; then
+ einfo "Install app-emacs/lua-mode for lua support for emacs"
+ fi
+ fi
+}
diff --git a/dev-lang/lua/lua-5.4.2-r2.ebuild b/dev-lang/lua/lua-5.4.2-r2.ebuild
new file mode 100644
index 000000000000..d3ea0294a6c4
--- /dev/null
+++ b/dev-lang/lua/lua-5.4.2-r2.ebuild
@@ -0,0 +1,203 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools multilib multilib-minimal portability toolchain-funcs
+
+DESCRIPTION="A powerful light-weight programming language designed for extending applications"
+HOMEPAGE="https://www.lua.org/"
+TEST_PV="5.4.2"
+TEST_P="${PN}-${TEST_PV}-tests"
+SRC_URI="
+ https://www.lua.org/ftp/${P}.tar.gz
+ test? ( https://www.lua.org/tests/${TEST_P}.tar.gz )"
+
+LICENSE="MIT"
+SLOT="5.4"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+deprecated readline test test-complete"
+
+COMMON_DEPEND="
+ >=app-eselect/eselect-lua-3
+ readline? ( sys-libs/readline:0= )
+ !dev-lang/lua:0"
+# Cross-compiling note:
+# Must use libtool from the target system (DEPEND) because
+# libtool from the build system (BDEPEND) is for building
+# native binaries.
+DEPEND="
+ ${COMMON_DEPEND}
+ sys-devel/libtool"
+RDEPEND="${COMMON_DEPEND}"
+
+RESTRICT="!test? ( test )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/lua${SLOT}/luaconf.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/lua-5.4.2-r2-make.patch
+)
+
+src_prepare() {
+ default
+ # use glibtool on Darwin (versus Apple libtool)
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \
+ Makefile src/Makefile || die
+ fi
+
+ # correct lua versioning
+ sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die
+
+ sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die
+
+ # Using dynamic linked lua is not recommended for performance
+ # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
+ # Mainly, this is of concern if your arch is poor with GPRs, like x86
+ # Note that this only affects the interpreter binary (named lua), not the lua
+ # compiler (built statically) nor the lua libraries.
+
+ # upstream does not use libtool, but we do (see bug #336167)
+ cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die
+ eautoreconf
+
+ # custom Makefiles
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ sed -i \
+ -e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \
+ -e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \
+ src/luaconf.h \
+ || die "failed patching luaconf.h"
+
+ econf
+}
+
+multilib_src_compile() {
+ tc-export CC
+
+ # what to link to liblua
+ liblibs="-lm"
+ liblibs="${liblibs} $(dlopen_lib)"
+
+ # what to link to the executables
+ mylibs=
+ use readline && mylibs="-lreadline"
+
+ cd src
+
+ local myCFLAGS=""
+ use deprecated && myCFLAGS+="-DLUA_COMPAT_5_3 "
+ use readline && myCFLAGS+="-DLUA_USE_READLINE "
+
+ case "${CHOST}" in
+ *-mingw*) : ;;
+ *) myCFLAGS+="-DLUA_USE_LINUX " ;;
+ esac
+
+ emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \
+ SYSLDFLAGS="${LDFLAGS}" \
+ RPATH="${EPREFIX}/usr/$(get_libdir)/" \
+ LUA_LIBS="${mylibs}" \
+ LIB_LIBS="${liblibs}" \
+ V=$(ver_cut 1-2) \
+ LIBTOOL="${ESYSROOT}/usr/bin/libtool" \
+ gentoo_all
+}
+
+multilib_src_install() {
+ emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
+ V=${SLOT} gentoo_install
+
+ case $SLOT in
+ 0)
+ LIBNAME="lua"
+ INCLUDEDIR_SUFFIX=''
+ ;;
+ *) LIBNAME="lua${SLOT}"
+ INCLUDEDIR_SUFFIX="/lua${SLOT}"
+ ;;
+ esac
+
+ # We want packages to find our things...
+ # A slotted Lua uses different directories for headers & names for
+ # libraries, and pkgconfig should reflect that.
+ local PATCH_PV=$(ver_cut 1-2)
+ cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die
+ sed -r -i \
+ -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
+ -e "s:^prefix= :prefix= ${EPREFIX}:" \
+ -e "s:^V=.*:V= ${PATCH_PV}:" \
+ -e "s:^R=.*:R= ${PV}:" \
+ -e "s:/,lib,:/$(get_libdir):g" \
+ -e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \
+ -e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \
+ "${WORKDIR}/lua.pc" || die
+
+ insinto "/usr/$(get_libdir)/pkgconfig"
+ newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc"
+ # Copy Debian's symlink support:
+ # https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19
+ # FreeBSD calls the pkgconfig 'lua-5.3.pc'
+ # Older systems called it 'lua53.pc'
+ dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc"
+ dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc"
+}
+
+multilib_src_install_all() {
+ DOCS="README"
+ HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif"
+ einstalldocs
+ newman doc/lua.1 lua${SLOT}.1
+ newman doc/luac.1 luac${SLOT}.1
+ find "${ED}" -name '*.la' -delete || die
+ find "${ED}" -name 'liblua*.a' -delete || die
+}
+
+# Makefile contains a dummy target that doesn't do tests
+# but causes issues with slotted lua (bug #510360)
+src_test() {
+ debug-print-function ${FUNCNAME} "$@"
+ cd "${WORKDIR}/lua-${TEST_PV}-tests" || die
+ # https://www.lua.org/tests/
+ # There are two sets:
+ # basic
+ # complete.
+ #
+ # The basic subset is selected by passing -e'_U=true'
+ # The complete set is noted to contain tests that may consume too much memory or have non-portable tests.
+ # attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI)
+ TEST_OPTS="$(usex test-complete '' '-e_U=true')"
+ TEST_MARKER="${T}/test.failed"
+ rm -f "${TEST_MARKER}"
+
+ # If we are failing, set the marker file, and only check it after done all ABIs
+ abi_src_test() {
+ debug-print-function ${FUNCNAME} "$@"
+ TEST_LOG="${T}/test.${MULTIBUILD_ID}.log"
+ eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die
+ grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}"
+ return 0
+ }
+
+ multilib_foreach_abi abi_src_test
+
+ if [ -e "${TEST_MARKER}" ]; then
+ cat "${TEST_MARKER}"
+ die "Tests failed"
+ fi
+}
+
+pkg_postinst() {
+ eselect lua set --if-unset "${PN}${SLOT}"
+
+ if has_version "app-editor/emacs"; then
+ if ! has_version "app-emacs/lua-mode"; then
+ einfo "Install app-emacs/lua-mode for lua support for emacs"
+ fi
+ fi
+}
diff --git a/dev-lang/lua/lua-5.4.4.ebuild b/dev-lang/lua/lua-5.4.4.ebuild
new file mode 100644
index 000000000000..99d90a97ccd8
--- /dev/null
+++ b/dev-lang/lua/lua-5.4.4.ebuild
@@ -0,0 +1,203 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools multilib multilib-minimal portability toolchain-funcs
+
+DESCRIPTION="A powerful light-weight programming language designed for extending applications"
+HOMEPAGE="https://www.lua.org/"
+TEST_PV="5.4.4"
+TEST_P="${PN}-${TEST_PV}-tests"
+SRC_URI="
+ https://www.lua.org/ftp/${P}.tar.gz
+ test? ( https://www.lua.org/tests/${TEST_P}.tar.gz )"
+
+LICENSE="MIT"
+SLOT="5.4"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+deprecated readline test test-complete"
+
+COMMON_DEPEND="
+ >=app-eselect/eselect-lua-3
+ readline? ( sys-libs/readline:0= )
+ !dev-lang/lua:0"
+# Cross-compiling note:
+# Must use libtool from the target system (DEPEND) because
+# libtool from the build system (BDEPEND) is for building
+# native binaries.
+DEPEND="
+ ${COMMON_DEPEND}
+ sys-devel/libtool"
+RDEPEND="${COMMON_DEPEND}"
+
+RESTRICT="!test? ( test )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/lua${SLOT}/luaconf.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/lua-5.4.2-r2-make.patch
+)
+
+src_prepare() {
+ default
+ # use glibtool on Darwin (versus Apple libtool)
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \
+ Makefile src/Makefile || die
+ fi
+
+ # correct lua versioning
+ sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die
+
+ sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die
+
+ # Using dynamic linked lua is not recommended for performance
+ # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
+ # Mainly, this is of concern if your arch is poor with GPRs, like x86
+ # Note that this only affects the interpreter binary (named lua), not the lua
+ # compiler (built statically) nor the lua libraries.
+
+ # upstream does not use libtool, but we do (see bug #336167)
+ cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die
+ eautoreconf
+
+ # custom Makefiles
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ sed -i \
+ -e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \
+ -e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \
+ src/luaconf.h \
+ || die "failed patching luaconf.h"
+
+ econf
+}
+
+multilib_src_compile() {
+ tc-export CC
+
+ # what to link to liblua
+ liblibs="-lm"
+ liblibs="${liblibs} $(dlopen_lib)"
+
+ # what to link to the executables
+ mylibs=
+ use readline && mylibs="-lreadline"
+
+ cd src
+
+ local myCFLAGS=""
+ use deprecated && myCFLAGS+="-DLUA_COMPAT_5_3 "
+ use readline && myCFLAGS+="-DLUA_USE_READLINE "
+
+ case "${CHOST}" in
+ *-mingw*) : ;;
+ *) myCFLAGS+="-DLUA_USE_LINUX " ;;
+ esac
+
+ emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \
+ SYSLDFLAGS="${LDFLAGS}" \
+ RPATH="${EPREFIX}/usr/$(get_libdir)/" \
+ LUA_LIBS="${mylibs}" \
+ LIB_LIBS="${liblibs}" \
+ V=$(ver_cut 1-2) \
+ LIBTOOL="${ESYSROOT}/usr/bin/libtool" \
+ gentoo_all
+}
+
+multilib_src_install() {
+ emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
+ V=${SLOT} gentoo_install
+
+ case $SLOT in
+ 0)
+ LIBNAME="lua"
+ INCLUDEDIR_SUFFIX=''
+ ;;
+ *) LIBNAME="lua${SLOT}"
+ INCLUDEDIR_SUFFIX="/lua${SLOT}"
+ ;;
+ esac
+
+ # We want packages to find our things...
+ # A slotted Lua uses different directories for headers & names for
+ # libraries, and pkgconfig should reflect that.
+ local PATCH_PV=$(ver_cut 1-2)
+ cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die
+ sed -r -i \
+ -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
+ -e "s:^prefix= :prefix= ${EPREFIX}:" \
+ -e "s:^V=.*:V= ${PATCH_PV}:" \
+ -e "s:^R=.*:R= ${PV}:" \
+ -e "s:/,lib,:/$(get_libdir):g" \
+ -e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \
+ -e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \
+ "${WORKDIR}/lua.pc" || die
+
+ insinto "/usr/$(get_libdir)/pkgconfig"
+ newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc"
+ # Copy Debian's symlink support:
+ # https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19
+ # FreeBSD calls the pkgconfig 'lua-5.3.pc'
+ # Older systems called it 'lua53.pc'
+ dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc"
+ dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc"
+}
+
+multilib_src_install_all() {
+ DOCS="README"
+ HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif"
+ einstalldocs
+ newman doc/lua.1 lua${SLOT}.1
+ newman doc/luac.1 luac${SLOT}.1
+ find "${ED}" -name '*.la' -delete || die
+ find "${ED}" -name 'liblua*.a' -delete || die
+}
+
+# Makefile contains a dummy target that doesn't do tests
+# but causes issues with slotted lua (bug #510360)
+src_test() {
+ debug-print-function ${FUNCNAME} "$@"
+ cd "${WORKDIR}/lua-${TEST_PV}-tests" || die
+ # https://www.lua.org/tests/
+ # There are two sets:
+ # basic
+ # complete.
+ #
+ # The basic subset is selected by passing -e'_U=true'
+ # The complete set is noted to contain tests that may consume too much memory or have non-portable tests.
+ # attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI)
+ TEST_OPTS="$(usex test-complete '' '-e_U=true')"
+ TEST_MARKER="${T}/test.failed"
+ rm -f "${TEST_MARKER}"
+
+ # If we are failing, set the marker file, and only check it after done all ABIs
+ abi_src_test() {
+ debug-print-function ${FUNCNAME} "$@"
+ TEST_LOG="${T}/test.${MULTIBUILD_ID}.log"
+ eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die
+ grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}"
+ return 0
+ }
+
+ multilib_foreach_abi abi_src_test
+
+ if [ -e "${TEST_MARKER}" ]; then
+ cat "${TEST_MARKER}"
+ die "Tests failed"
+ fi
+}
+
+pkg_postinst() {
+ eselect lua set --if-unset "${PN}${SLOT}"
+
+ if has_version "app-editor/emacs"; then
+ if ! has_version "app-emacs/lua-mode"; then
+ einfo "Install app-emacs/lua-mode for lua support for emacs"
+ fi
+ fi
+}
diff --git a/dev-lang/luajit/Manifest b/dev-lang/luajit/Manifest
index 60508b56a9f2..cecbcd92a6a7 100644
--- a/dev-lang/luajit/Manifest
+++ b/dev-lang/luajit/Manifest
@@ -2,6 +2,8 @@ AUX CVE-2020-15890.patch 660 BLAKE2B ac615accba8c2d914ff9db2bd2306e1f37df6b35f95
AUX luajit-2-ldconfig.patch 1099 BLAKE2B f18beb00b703aa4fd5c6d959b72469c34fb67ba9dd1513831c36d5bdd21144457d70a58948bfc47660eadb130bb4f77d55858cd4e4b7c33860df749b22b727bd SHA512 a86be88b8cf65c5a11defeeb16dab92c7d3fe774b2ecd289d9485342236e14c99b78700082c024b703179b55aedeee98bef43d624af23673cfa7ac68a492c6b1
DIST LuaJIT-2.0.5.tar.gz 849845 BLAKE2B 961c8622e19b0e66a76a875cb46ad149cb2559b5af41f360dc41dd0d6bb924583e6477dd1329f67c2ac6ea4b8dc42c5e2f4d63ea49400aba4d9e7c7e85e4b085 SHA512 2636675602b4a060b0571c05220db2061dd2f38568e35b2be346a0f5e3128d87057d11d3d0d7567d8cc4e0817b5e4cf2c52a17a48065520962b157816465a9fe
DIST LuaJIT-2.1.0-beta3.tar.gz 1025180 BLAKE2B ac3d12e25bd9946ba41aed6672c66884e7256e6be99d7ee8d1260d697453c966b24d60387f278f47233bad44cda61085c9059e6f62c0bc7cfdaaefde282346c5 SHA512 c44e967a0f671ed32b55aee810bc8b3b63737a2d7363b8984ae1949b24f98dbb3f9be7c1e10239fdeb96a3e3c836f606342cbd61838cf9bcadb077443eb5bc12
+DIST luajit-2.1.0_beta3_p20220127.tar.gz 1072282 BLAKE2B e1d4834683b9ec16f0567f5de486262d84af145e3e27724d343c130288e90abff089fd5c7ff1275f9dde3cb5ae4f818f710020bd708c599972a14f1671381c2a SHA512 4c6ae7173bb91dc2d4d425da4afdab2520078e15ae4471c0cb99a255dd7544d6900b333efbbfc8f26ffbc4fcd8f1d2daf65671c59b5cafd6b0d53cb07b49d4ff
EBUILD luajit-2.0.5-r3.ebuild 1685 BLAKE2B 106c16e4a96f50b22cddf2c0276388b6ecf4299815a9f850be98e135e82dd0f95bac1611f45bae3e69a741d7e9e60e41adca4bd5fb656ffe27a5f8d064294464 SHA512 6c6380037212e9ab19aed483ff64bc8390220064ecaf4b4cee6fd88ba721e81b74db2bf9b0daa95416da1644f142c53f58d60fe46f6cff7a440f63bfb9cb08a3
EBUILD luajit-2.1.0_beta3-r2.ebuild 1448 BLAKE2B a22043290a629b7bad84e628fec5f6b30a356f43bfe210a0fd4d34d070f41802a3e5c7264ec462472ca2ff411e55477f177b2d62e4a074096060bcfcd2e453e5 SHA512 71e8cde4380c3005e949526e72e467090c0e05158efab3aa1c07260f63601aaf11236a45e4410a81955f7c61ff2db7711f9d61c938102621aca667639a1e9d66
+EBUILD luajit-2.1.0_beta3_p20220127-r1.ebuild 1612 BLAKE2B c15cac290782fe18d078953e3a9c7179b1b774c2c0276e1edfcaba92aae06e39645f1f384f39474dbfb7343c1bbf5e06388ca4d1834a248a3372a76ae35f2952 SHA512 47616426bb44fff69896678bdd421bb83c1f3d9adc6d06ee91815e382883feff5180abcbb15f350d8d2a4e063b4c4d81e2b68561e7d8dc3ff6d1785cfcdf23bb
MISC metadata.xml 421 BLAKE2B 676a174efc8aea4ede702c923aa8921baaec47a76e3cd984578fb2b4494128ecc5a3bea3a7a72e3da4bb5ccf12cee52b6e463397ddc82eda6a500cf6b142afea SHA512 50a886d462403199a6b0b8e64d38644550175b4dbf2c57f72177fa8f900bc06a949443bd31fb89a9fd4922de0faa0e633f013b265a023b9fc72cbe13df95809e
diff --git a/dev-lang/luajit/luajit-2.1.0_beta3_p20220127-r1.ebuild b/dev-lang/luajit/luajit-2.1.0_beta3_p20220127-r1.ebuild
new file mode 100644
index 000000000000..804ab4ffd9d0
--- /dev/null
+++ b/dev-lang/luajit/luajit-2.1.0_beta3_p20220127-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+GIT_COMMIT=1d7b5029c5ba36870d25c67524034d452b761d27
+
+inherit pax-utils toolchain-funcs
+
+MY_PV="$(ver_cut 1-5)"
+MY_PV="${MY_PV/_beta/-beta}"
+MY_P="LuaJIT-${MY_PV}"
+
+DESCRIPTION="Just-In-Time Compiler for the Lua programming language"
+HOMEPAGE="https://luajit.org/"
+SRC_URI="https://luajit.org/download/${MY_P}.tar.gz"
+SRC_URI="https://github.com/LuaJIT/LuaJIT/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+# this should probably be pkgmoved to 2.0 for sake of consistency.
+SLOT="2"
+KEYWORDS="~amd64 ~arm ~arm64 -hppa ~ppc -riscv -sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="lua52compat static-libs"
+
+PATCHES=(
+)
+
+S="${WORKDIR}/LuaJIT-${GIT_COMMIT}"
+
+_emake() {
+ emake \
+ Q= \
+ PREFIX="${EPREFIX}/usr" \
+ MULTILIB="$(get_libdir)" \
+ DESTDIR="${D}" \
+ CFLAGS="" \
+ LDFLAGS="" \
+ HOST_CC="$(tc-getBUILD_CC)" \
+ HOST_CFLAGS="${BUILD_CPPFLAGS} ${BUILD_CFLAGS}" \
+ HOST_LDFLAGS="${BUILD_LDFLAGS}" \
+ STATIC_CC="$(tc-getCC)" \
+ DYNAMIC_CC="$(tc-getCC) -fPIC" \
+ TARGET_LD="$(tc-getCC)" \
+ TARGET_CFLAGS="${CPPFLAGS} ${CFLAGS}" \
+ TARGET_LDFLAGS="${LDFLAGS}" \
+ TARGET_AR="$(tc-getAR) rcus" \
+ BUILDMODE="$(usex static-libs mixed dynamic)" \
+ TARGET_STRIP="true" \
+ INSTALL_LIB="${ED}/usr/$(get_libdir)" \
+ "$@"
+}
+
+src_compile() {
+ tc-export_build_env
+ _emake XCFLAGS="$(usex lua52compat "-DLUAJIT_ENABLE_LUA52COMPAT" "")"
+}
+
+src_install() {
+ _emake install
+dosym luajit-2.1.0-beta3 /usr/bin/luajit
+ pax-mark m "${ED}/usr/bin/luajit-${MY_PV}"
+
+ HTML_DOCS="doc/." einstalldocs
+}
diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest
index 32c95ef55e14..936741edc949 100644
--- a/dev-lang/moarvm/Manifest
+++ b/dev-lang/moarvm/Manifest
@@ -1,8 +1,10 @@
DIST MoarVM-2021.06.tar.gz 5449936 BLAKE2B 2bf6fc2e1a4dd0741819305e506945b09ed2a0fc1348ff98565cae397e76044176f05e87faeed1f52d5efadccb6d44edcb987553f5e164417153a8f23ba09493 SHA512 b23e20ed3e0830395ac09bd84a33ea3ab7ba52bce835c67b1feec45823ca2f0c9d04957d1f1b48b400fc30a48db37c5f89c3975b0273f684d9677145e2296f2c
DIST MoarVM-2021.08.tar.gz 13643526 BLAKE2B 433cfaaad4138d8b98fc4bacd5495281f2a8da5195aa74aded118126afdf11cdf0175fd033472e951e91ab3c1eb11877ab039cd24d911553d5854be18021a87e SHA512 6199871f51a4998e1b5260ba833e3bf09c6115e12334a94de5aa4135b93f8dc754967712ce8e092a36b4940368433be840cbf1a8ce7aec52219f768acd90078d
DIST MoarVM-2021.10.tar.gz 13711924 BLAKE2B 18e0c8b5429242f7588dc5ad47d92a46146223e8dc7dcef93e2cb3332c2400b29754f1f03ceb9016665771554940667e1373a48c96921922834fd103a73d985a SHA512 a376d0388d9e53b9f07a960ab23ddf8e35379a6dff168d2f726c0f05431804bf4e09b0a2a0eab9a39b9df493030e384e9680a7654bdf9e5c129a6c70aead833d
+DIST MoarVM-2022.02.tar.gz 14640429 BLAKE2B 5e64855514c33d97408353756ba88f29bfd2da39d8d2aa03b8c096645ca7dc680df47a246d224920aa466b76005c1be9d6e7096933046e0fa0caf836cfd09eb2 SHA512 12385cc6cfc5308240d841842ac1b2ff880e786c9724dc6c7fa776c1c6422b345e1f4ab870579b7051726b2655668caed33e1bbb75a7201948431a7b2897e9f7
EBUILD moarvm-2021.06-r1.ebuild 1444 BLAKE2B 280f1692bef4aaebd45845476aef516da3a2be1c02886f42e7ca457a24c0c5b8e70956ffc351de020106856c74508fee982319e22995db0495cdac7337c15981 SHA512 d723ebe18b57d0307259042bd30ad9e78fef400c211e903332d8e77731c4545c93ad1e5920b0f3bc0c7e9d02c25dbd7b60b4c645a53b46e1a678cfa456c06433
EBUILD moarvm-2021.08.ebuild 1444 BLAKE2B 280f1692bef4aaebd45845476aef516da3a2be1c02886f42e7ca457a24c0c5b8e70956ffc351de020106856c74508fee982319e22995db0495cdac7337c15981 SHA512 d723ebe18b57d0307259042bd30ad9e78fef400c211e903332d8e77731c4545c93ad1e5920b0f3bc0c7e9d02c25dbd7b60b4c645a53b46e1a678cfa456c06433
EBUILD moarvm-2021.10.ebuild 1444 BLAKE2B 280f1692bef4aaebd45845476aef516da3a2be1c02886f42e7ca457a24c0c5b8e70956ffc351de020106856c74508fee982319e22995db0495cdac7337c15981 SHA512 d723ebe18b57d0307259042bd30ad9e78fef400c211e903332d8e77731c4545c93ad1e5920b0f3bc0c7e9d02c25dbd7b60b4c645a53b46e1a678cfa456c06433
+EBUILD moarvm-2022.02.ebuild 1444 BLAKE2B 50a95e1cd7c7a9677e0a7d0e32d392aae595182707381c69d1239361ef34bf52c508904aa481bd843b8ac2f2f633d3a35fb34524728280ffb535d481c63bcb44 SHA512 b71477c471aa80ee4110ad48849443e9a3e1133c57b9874f92397b11e8b3a5c2bbc4b9813c26ed2521368552730b90db768fe1fef2e79798aef9995a07222da2
EBUILD moarvm-9999.ebuild 1731 BLAKE2B 2a4d7b70bfe115f903a819c8fdc15360ebe9dee720a0ca0cfd87cd99a2dbde19cfc6b8b00f17a1a4604e9fbee91467625793b0fcf192fa0633754a8e5f910f57 SHA512 99d6d2e75f49b7a7b660189088ecfdcb265db9f34c8ff10f6b5a019797a370fa55c4936c34b58ebff3bcb55b8b5ab7f481a9c62be7ab82fc6b4610cebf7f52af
MISC metadata.xml 803 BLAKE2B ae42152bd02136d44d034e1ae39e457893d720b496681234e1f804c0144d4023dec76ba9edba30df269bac7b9e2cd353b7197e3d21336bc92bcec3fbd877facd SHA512 93ba240a87a853f4df3ed542c0468cd820bd75935253a77f15259293269e1726c71cadcee076550f622444c032d359227f5377a97595e88ef6ef10d034d79aa5
diff --git a/dev-lang/moarvm/moarvm-2022.02.ebuild b/dev-lang/moarvm/moarvm-2022.02.ebuild
new file mode 100644
index 000000000000..5ba74d4a28f6
--- /dev/null
+++ b/dev-lang/moarvm/moarvm-2022.02.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic
+
+MY_PN="MoarVM"
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+else
+ SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+fi
+
+DESCRIPTION="A 6model-based VM for NQP and Raku"
+HOMEPAGE="http://moarvm.org"
+LICENSE="Artistic-2"
+SLOT="0"
+
+IUSE="asan clang debug doc +jit optimize static-libs ubsan"
+
+RDEPEND="dev-libs/libatomic_ops
+ >=dev-libs/libuv-1.26:=
+ dev-libs/libffi:="
+DEPEND="${RDEPEND}
+ clang? ( >=sys-devel/clang-3.1 )
+ dev-lang/perl"
+
+DOCS=( CREDITS README.markdown )
+
+# Tests are conducted via nqp
+RESTRICT=test
+
+src_configure() {
+ MAKEOPTS+=" NOISY=1"
+ use doc && DOCS+=( docs/* )
+ local prefix="${EPREFIX}/usr"
+ local libdir="${EPREFIX}/usr/$(get_libdir)"
+ einfo "--prefix '${prefix}'"
+ einfo "--libdir '${libdir}'"
+ local myconfigargs=(
+ "--prefix" "${prefix}"
+ "--has-libuv"
+ "--has-libatomic_ops"
+ "--has-libffi"
+ "--libdir" "${libdir}"
+ "--compiler" "$(usex clang clang gcc)"
+ "$(usex asan --asan)"
+ "$(usex debug --debug --no-debug)"
+ "$(usex optimize --optimize= --no-optimize)"
+ "$(usex static-libs --static)"
+ "$(usex ubsan --ubsan)"
+ )
+
+ perl Configure.pl "${myconfigargs[@]}" moarshared || die
+}
diff --git a/dev-lang/nasm/Manifest b/dev-lang/nasm/Manifest
index fa70411f99fe..d395daae5bc4 100644
--- a/dev-lang/nasm/Manifest
+++ b/dev-lang/nasm/Manifest
@@ -1,4 +1,4 @@
AUX nasm-2.15-bsd-cp-doc.patch 278 BLAKE2B eb2d6fffb03da68a43df8db6cbadeb72753f0474f91011038b6ec0b3a449fbd0e3cde59abfb1b22fa0c991629960f456815b1c86ec55292f54a879d8a0a079f1 SHA512 ba691e4f0fd3b676280de5b79e6872f7efe034da28fc66e247c3f757761e2191c54f585ca724747812fa55afb4b9d76366f50659702561c7eb69483de265b3e5
DIST nasm-2.15.05.tar.xz 995732 BLAKE2B a41434965c2125577b762d907a0a3c251c75d9f9beac230fba4099182c7f7beb08c6d2c05c2432b0dc8ba829f24077f44c3096faea9bd0a533250e6dbbfaef35 SHA512 512f90a2584f1c5811429274b97c64a2cedf37b9fdeffb1bcd0ea64afd9ecc19a2d7877ca8f1e05393aa324153fc9f39ea51dacbf8d25a7d5a2d7728c925dba7
EBUILD nasm-2.15.05.ebuild 943 BLAKE2B cd138fb530af0a806943868b4affeedeb0ef6670b744e09a7560ba3e12f60052ae50a2e6dfffc96cdf0a80f6efef1c87e873841c68cfb5c34c5a6b18056bbeb9 SHA512 fe33ae366d9309f797af1996cf8b8ae75c0e7027ab093fd10889cf17394d80b0d62b5871e247f768cefe00809377383c56f41fb58e0798490eed68bcc038ca0e
-MISC metadata.xml 1028 BLAKE2B f34ad57e76e94d4044c2c6d3a7c7d88fc975fd464d5ddcb73a62d797bda1027618fd579a2634af0eede33c3c0e059cb426a9e744c1436221b2b101b8c22b4ee2 SHA512 a35c5df2a607570745e8797a9c7c45bc9a04b02f3bfd8848b900b61638bd7db70643ce7e6add04738e0486b97b2f127fba07ef1994d10b154b2ab4f8b39d182e
+MISC metadata.xml 879 BLAKE2B 17d2ca1a78ed46d24fe75188387da9c03dafcd6aacf0db7c82fdee39ad766dac23010b6c51c90c08a3e591e93589a29a151ac5bc52fd6b3911504f2f124da6b7 SHA512 d6e921fc48851be64d1dfc0be200a1a86842e5d4d00a9f4551e7ca76a91272dc5f1f01928d3656a5e340283c83f7283bb9e7094c0309406d9392d57048239563
diff --git a/dev-lang/nasm/metadata.xml b/dev-lang/nasm/metadata.xml
index 58fb5e05c1f6..af856ea306f0 100644
--- a/dev-lang/nasm/metadata.xml
+++ b/dev-lang/nasm/metadata.xml
@@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>matt@offtopica.uk</email>
- <name>Matt Smith</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
</maintainer>
<longdescription>
The Netwide Assembler, NASM, is an 80x86 assembler designed for portability
diff --git a/dev-lang/nim/Manifest b/dev-lang/nim/Manifest
index 5cf0bb8d6c9e..a31aa17d93a2 100644
--- a/dev-lang/nim/Manifest
+++ b/dev-lang/nim/Manifest
@@ -1,6 +1,8 @@
AUX nim-0.20.0-paths.patch 934 BLAKE2B 6a4e44c5656cde6d5127bf6a6b8db92cdf8aada0892c27d536d0c1030ed7da8dc97138a8941030101918021f2a301fa683169c8a656fefc6fb7d0fcdb24029d4 SHA512 bf8dbc3e3861ec3ea2718092b981e495194ead5b547e69d01d5d842d128dc4b96b0ba3e95c78afd8fd822d594199315a01de370851ed8f594c091231b9a10ee9
DIST nim-1.4.8.tar.xz 4786360 BLAKE2B 961b38275c4f9de87ac522c5b47368ce7f5543811a2dfd7b4f3fd79a104bcd0458caaaaab1705f99eb42c64735ca5f71d5018f8a8275a430d883233b28b1d412 SHA512 e6b245271495880f0eea271c46b4f5ce9168a421716a9a22367b6be3c2a9822937aad1f48eb61c151b040ac961728a89c8a6d143c8300057c0d8c1f2d66f3dd3
DIST nim-1.6.2.tar.xz 5181616 BLAKE2B adedbcaad1b135b6f99459894856190103e2d2b678849e0418f77c02a54fde44224456ea13949f3fe9f5f020a90adde46593497895674bd9ae892b17708df292 SHA512 052b62c987035f7633f965356993cd4eec686f4f4f5c675cf966d82cb30fcf574045887a4402bcc20e487299fb5e8f65a921951c2dc21ac334e695e31d95d992
-EBUILD nim-1.4.8.ebuild 2077 BLAKE2B 4b7c5e23e6c97fa7af2de1a51ddcc5a63302c3fb6ada26255e80e76b42b6013adcf98d1f9a02a58ef435e2fd23777d172e9891b88c9e9caab370f07d7b4141ba SHA512 5d893a6d79c7d72019033e0755c60e18d0194a75e1772d708f358892d6259973eebbc6663e5ba23c22e4858c4c75672384221d3aec3526f4eb236ef0106d31bd
-EBUILD nim-1.6.2.ebuild 2138 BLAKE2B 788b1f95410760f1bb885eb2ac529d465cf914470f48a45114fc09130b05d58b4acac8b8717ab4ca4285edc1c778c5698119ea363a0dd0a717f6fa58eaee96d0 SHA512 aa39f4489821deab10aae2cc7e8bde91a248dd4c29cd43868f7f9d716d677fc4cbfd1809378fbb24060902e75183985ed5e3694b07f38c4eb56a6943caf0f9a9
+DIST nim-1.6.4.tar.xz 5130208 BLAKE2B d0f297581677bbb9fb185a8b4198f48bb58efe81a1624f62051bc1e0a93f879a0cec172f11a41784ca715ba3c151dc5307e96c15c54908aa40df406040891d6c SHA512 f4d082f37f0e675e8cdb4340d67f2e58b5e6ac5bb51dab1ded5417097f3b86d71fa585ef12ee1c3cd5b17285589cbe9d5658fcb29c98547f7967a1b6f0cb4646
+EBUILD nim-1.4.8.ebuild 2078 BLAKE2B 2a9781ebc99b6ae00c67f3034e71b8adff46f1452f628187975219ea73ee6c60f6176dc55fa0520cd83f0969302906fe79f5d87aae17cf539447a8fb1e1bf169 SHA512 3d38c1304c76727461e7e7bcc5b85770c42364da5b3c01fcada9c8528146687cab141e9acbf47b82ef85c68f892882c0266c76fb25d3ee39e84422dafee6be73
+EBUILD nim-1.6.2.ebuild 2139 BLAKE2B 9ce2020017887e5403aefd67712ffbf0b4f6c42c7f5ad96eddac2fef3afdafbd6f6264dd27eea2b6968b0dd816d714ccb1a8bf7debed5a338cf7a65c24ce4eb7 SHA512 b910a98baac46d490be0764b79f6438a61e2ed6dfa5f998102bf52ae7dead628a1aabb2e488860c61d6f9eef54f27477797e654a588c4ee8ba67cbe3ef8c13eb
+EBUILD nim-1.6.4.ebuild 2150 BLAKE2B df6e12e923f86d1ae2fd7f97c3d58884aaffae1f6db49f1fe0bda6d4f566716b398f638277697ad3850f8d00bdda1f36508e0740a7c7b1e6cc728b1671db7382 SHA512 5fa6a5df5374ef85198095e08647a3c1bad33ad999eb18458ae593b65f964c30c805488eab360a793a5a0c8ca9df6dba45d000edbbff16d6e19602339f6d3786
MISC metadata.xml 1894 BLAKE2B 8ba43a558af584b0c455e16f6d710a2482fbd3d8a4ae80817ee0080165227e931f40b2269d6316ca4fc8773cea0e6d941feafcc30d8a2eb5eb0843d8f7e7df71 SHA512 6fbc92e65c8a85c82cba372aba12133acc626c2a33ec35aff4a02246e70f64dd06c51af121f17fb5cbab48df1aafa3e9af9375a1ccbd769590e26078a7dacf88
diff --git a/dev-lang/nim/nim-1.4.8.ebuild b/dev-lang/nim/nim-1.4.8.ebuild
index 512bc61b2ef0..d0ec48b68ee2 100644
--- a/dev-lang/nim/nim-1.4.8.ebuild
+++ b/dev-lang/nim/nim-1.4.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -20,7 +20,7 @@ RDEPEND="
readline? ( sys-libs/readline:0= )
"
DEPEND="
- ${DEPEND}
+ ${RDEPEND}
test? ( net-libs/nodejs )
"
diff --git a/dev-lang/nim/nim-1.6.2.ebuild b/dev-lang/nim/nim-1.6.2.ebuild
index 51069ac3166b..28eae69957ac 100644
--- a/dev-lang/nim/nim-1.6.2.ebuild
+++ b/dev-lang/nim/nim-1.6.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,7 +16,7 @@ IUSE="debug +readline"
RESTRICT="test" # need to sort out depends and numerous failures
RDEPEND="readline? ( sys-libs/readline:0= )"
-DEPEND="${DEPEND}"
+DEPEND="${RDEPEND}"
# test? ( net-libs/nodejs )
PATCHES=( "${FILESDIR}"/${PN}-0.20.0-paths.patch )
diff --git a/dev-lang/nim/nim-1.6.4.ebuild b/dev-lang/nim/nim-1.6.4.ebuild
new file mode 100644
index 000000000000..11af93abf307
--- /dev/null
+++ b/dev-lang/nim/nim-1.6.4.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 multiprocessing toolchain-funcs
+
+DESCRIPTION="compiled, garbage-collected systems programming language"
+HOMEPAGE="https://nim-lang.org/"
+SRC_URI="https://nim-lang.org/download/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="debug +readline"
+RESTRICT="test" # need to sort out depends and numerous failures
+
+RDEPEND="readline? ( sys-libs/readline:0= )"
+DEPEND="${RDEPEND}"
+# BDEPEND="test? ( net-libs/nodejs )"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.20.0-paths.patch )
+
+# Generated by nim
+QA_FLAGS_IGNORED="
+usr/bin/atlas
+usr/bin/nim
+usr/bin/nim_dbg
+usr/bin/nimble
+usr/bin/nimgrep
+usr/bin/nimpretty
+usr/bin/nimsuggest
+usr/bin/testament
+"
+
+_run() {
+ echo "Running: ${@}"
+ PATH="${S}/bin:${PATH}" "${@}" || die "Failed: \"${*}\""
+}
+
+nim_use_enable() {
+ [[ -z "${2}" ]] && die "usage: nim_use_enable <USE flag> <compiler flag>"
+ use "${1}" && echo "-d:${2}"
+}
+
+src_configure() {
+ export XDG_CACHE_HOME="${T}/cache" # 667182
+ unset NIMBLE_DIR
+ tc-export CC CXX LD
+
+ local build_type
+ if use debug ; then
+ build_type="debug"
+ else
+ build_type="release"
+ fi
+ export NIM_OPTS=( --parallelBuild:$(makeopts_jobs) -d:${build_type} )
+
+ # Override defaults
+ echo "gcc.exe = \"$(tc-getCC)\"" >> config/nim.cfg || die
+ echo "gcc.linkerexe = \"$(tc-getCC)\"" >> config/nim.cfg || die
+ echo "gcc.cpp.exe = \"$(tc-getCXX)\"" >> config/nim.cfg || die
+ echo "gcc.cpp.linkerexe = \"$(tc-getCXX)\"" >> config/nim.cfg || die
+}
+
+src_compile() {
+ _run bash ./build.sh
+
+ _run ./bin/nim ${NIM_OPTS[@]} compile koch
+ _run ./koch boot ${NIM_OPTS[@]} $(nim_use_enable readline useGnuReadline)
+ _run ./koch tools ${NIM_OPTS[@]}
+}
+
+src_test() {
+ _run ./koch test
+}
+
+src_install() {
+ _run ./koch install "${ED}"
+
+ # "./koch install" installs only "nim" binary
+ # but not the rest
+ exeinto /usr/bin
+ local exe
+ for exe in bin/* ; do
+ [[ "${exe}" == bin/nim ]] && continue
+ doexe "${exe}"
+ done
+
+ newbashcomp tools/nim.bash-completion nim
+ newbashcomp dist/nimble/nimble.bash-completion nimble
+}
diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest
index fac492bc67cc..79086b85c9c2 100644
--- a/dev-lang/nqp/Manifest
+++ b/dev-lang/nqp/Manifest
@@ -1,8 +1,10 @@
DIST nqp-2021.06.tar.gz 5208065 BLAKE2B 7314f425e418161befc55f9490453a3a4c3caa0ddf13e2b3bbcc9a20a6204aba9517885b6ecccddbbaf078b60c74be90fe556bf99dcc6014e57a7c873e96381d SHA512 482ec4a99d09b3660f03fd3c822a2f8c72dbdfeda1bcfdac0b4bcfa364ec57cbfdebf3b2872f8649c86d3d2d7603961d75e00d73dc417e5ac2a32f643bcfcabe
DIST nqp-2021.08.tar.gz 5208527 BLAKE2B 1f2e454e63484a8a636f61c9110b4a20775ec59dd7734fe32a93b01aaad5ea977ea74678085a66d9f072234de5768d8023182d6df56a448f2a0aa0fd3c1c76c3 SHA512 fca1dc8c36f914304f97330cb33be3a94c539f3cb6cc80d898c734dcf04b12b8be30ffce358a0a5320c6ea56afd627f792b4a8fa3f94134776922ae088b92814
DIST nqp-2021.10.tar.gz 5207621 BLAKE2B 85b6627bc843d211ef8c296e63a97b0f80e019f89080f7c94b1e55767e4fab430c426c77aea741d601e75f6fb354a1f8b6c6077c70ab5cbfd2edef1621137af3 SHA512 d308045cc8a01298bcc544e8fd27752d1fc28e421b1cd24f1d5675333ba8cd71cb946e760ba485710456aebf21eeab1d2f85abffe49336471f1148071df6aa98
+DIST nqp-2022.02.tar.gz 5220819 BLAKE2B eba57834cc883e5bab26d0496df5bb059cc31f893e25833ada26cfa4796b9f822d1bb17e6ac0eb2474238e78565cf1da3be6f82d34a82bb4ac70cc19e03e11aa SHA512 0a51eb96486a254543ffbc2dac5d32a2b218a7fd774ccd3c8d4ba23f33dacbebdc0190e7cc919103f57573ea74ff8592200759c9768485044a4433647958ba8f
EBUILD nqp-2021.06.ebuild 3632 BLAKE2B 0334824d2933ff3df347632905be2ce74747d72319b64225f133aa102a7c6f9bfbede41b8f1d524c15400bb75fa4a2388363e89abb6405323a469f68c8dd9d7e SHA512 cb336fea6b1f99fb4ea1fa4a04cde002b79fdc7f8fa2b972c491527279e3dc8b523b98d7bfc488b1f0f332b011ec5a1ab3cc2c7f79c6061747cd161c3205d1ee
EBUILD nqp-2021.08.ebuild 3632 BLAKE2B 0334824d2933ff3df347632905be2ce74747d72319b64225f133aa102a7c6f9bfbede41b8f1d524c15400bb75fa4a2388363e89abb6405323a469f68c8dd9d7e SHA512 cb336fea6b1f99fb4ea1fa4a04cde002b79fdc7f8fa2b972c491527279e3dc8b523b98d7bfc488b1f0f332b011ec5a1ab3cc2c7f79c6061747cd161c3205d1ee
EBUILD nqp-2021.10.ebuild 3632 BLAKE2B 0334824d2933ff3df347632905be2ce74747d72319b64225f133aa102a7c6f9bfbede41b8f1d524c15400bb75fa4a2388363e89abb6405323a469f68c8dd9d7e SHA512 cb336fea6b1f99fb4ea1fa4a04cde002b79fdc7f8fa2b972c491527279e3dc8b523b98d7bfc488b1f0f332b011ec5a1ab3cc2c7f79c6061747cd161c3205d1ee
+EBUILD nqp-2022.02.ebuild 3301 BLAKE2B 68eaa017075e4ae4ec40ce9070752f98716bdab0dff8c447c2a753178f6d0aa1f7aeb7fa5cc331346eef32d738b76f5770f722179a61b3174e8bae9dd71952a7 SHA512 c75ae49f4e5987f2a1d3f1978416904295c1458430a626dc46e44509136e57919ff7a2b43cda719c9817ecc318b3867364790bd44c31fd42fc64a5cfe228dee1
EBUILD nqp-9999.ebuild 3632 BLAKE2B 0334824d2933ff3df347632905be2ce74747d72319b64225f133aa102a7c6f9bfbede41b8f1d524c15400bb75fa4a2388363e89abb6405323a469f68c8dd9d7e SHA512 cb336fea6b1f99fb4ea1fa4a04cde002b79fdc7f8fa2b972c491527279e3dc8b523b98d7bfc488b1f0f332b011ec5a1ab3cc2c7f79c6061747cd161c3205d1ee
MISC metadata.xml 517 BLAKE2B 384b3622592cc6d5fd94f2f34bcb69b00ce00bbea6b811e56d068a8882bcfb78fd3eae9f7b28173147b3235b942409f7b19d45044bf63bf9dea5b8b5f7110ca8 SHA512 bf89e6907f728f3e471a9a0fff41004cdd3cf50a92d8a1a262220bd590ae6a489f0b51d541bfefb15c4aae378621135a354ef48b768ea5b182e3fca6af6c3cb5
diff --git a/dev-lang/nqp/nqp-2022.02.ebuild b/dev-lang/nqp/nqp-2022.02.ebuild
new file mode 100644
index 000000000000..6b6f6e70f126
--- /dev/null
+++ b/dev-lang/nqp/nqp-2022.02.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit java-pkg-opt-2 multibuild
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/perl6/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Not Quite Perl, a Raku bootstrapping compiler"
+HOMEPAGE="https://rakudo.org"
+
+LICENSE="Artistic-2"
+SLOT="0"
+IUSE="doc clang java +moar test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="|| ( java moar )"
+
+CDEPEND="java? (
+ dev-java/asm:4
+ dev-java/jna:4
+ )
+ moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.9 )"
+DEPEND="${CDEPEND}"
+BDEPEND="${CDEPEND}
+ clang? ( sys-devel/clang )
+ java? ( >=virtual/jdk-1.9 )
+ dev-lang/perl"
+
+pkg_pretend() {
+ if has_version dev-lang/rakudo || has_version dev-lang/nqp; then
+ ewarn "NQP is known to fail compilation/installation with Rakudo and/or NQP"
+ ewarn "already being installed. So if it fails, try uninstalling both"
+ ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation."
+ ewarn "(see Bug #584394)"
+ fi
+}
+
+src_prepare() {
+ MULTIBUILD_VARIANTS=()
+ use moar && MULTIBUILD_VARIANTS+=( moar )
+ use java && MULTIBUILD_VARIANTS+=( jvm )
+
+ multibuild_copy_sources
+
+ # This will pull in conditional java_prepare
+ default
+}
+
+nqp_configure() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+ local myconfargs=(
+ "--backend=${MULTIBUILD_VARIANT}"
+ "--prefix=${EPREFIX}/usr" )
+
+ perl Configure.pl "${myconfargs[@]}" || die
+ popd || die
+}
+
+nqp_compile() {
+ if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
+ emake -j1 \
+ -C "${BUILD_DIR}" \
+ JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
+ elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
+ emake -j1 \
+ -C "${BUILD_DIR}"
+ fi
+}
+
+nqp_test() {
+ emake -j1 \
+ -C "${BUILD_DIR}" \
+ test
+}
+
+nqp_install() {
+ # This is the actual reason we need multibuild.eclass.
+ # We need to distinguish the install procedure for MoarVM and JVM backends.
+ case "${MULTIBUILD_VARIANT}" in
+ moar)
+ emake \
+ DESTDIR="${ED}" \
+ -C "${BUILD_DIR}" \
+ install
+ ;;
+ jvm)
+ pushd "${BUILD_DIR}" > /dev/null || die
+ # Set JAVA_PKG_JARDEST early.
+ java-pkg_init_paths_
+
+ # Upstream sets the classpath to this location. Perhaps it's
+ # used to locate the additional libraries?
+ java-pkg_addcp "${JAVA_PKG_JARDEST}"
+
+ insinto "${JAVA_PKG_JARDEST}"
+ local jar
+
+ for jar in *.jar; do
+ if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
+ # jars for NQP itself.
+ java-pkg_dojar ${jar}
+ else
+ # jars used by NQP.
+ doins ${jar}
+ fi
+ done
+
+ # Upstream uses -Xbootclasspath/a, which is faster due to lack
+ # of verification, but gjl isn't flexible enough yet. :(
+ java-pkg_dolauncher ${PN}-j --main ${PN}
+ dosym ${PN}-j /usr/bin/${PN}
+ dobin tools/jvm/eval-client.pl
+ popd > /dev/null || die
+ ;;
+ *)
+ die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}."
+ ;;
+ esac
+}
+
+src_configure() {
+ multibuild_foreach_variant nqp_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant nqp_compile
+}
+
+src_test() {
+ multibuild_foreach_variant nqp_test
+}
+
+src_install() {
+ multibuild_foreach_variant nqp_install
+
+ dodoc CREDITS README.pod
+ use doc && dodoc -r docs/*
+}
diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest
index a4140461c20b..501212afc387 100644
--- a/dev-lang/ocaml/Manifest
+++ b/dev-lang/ocaml/Manifest
@@ -1,25 +1,24 @@
AUX ocaml-4.04.2-tinfo.patch 506 BLAKE2B 889c964385442247a70b7205abc497a8d83ac9e3fcedebdb184c9ded8ae81d171656fbe0ade7e431990545c01287f3618e45c3d25e0f77a4e7682e9a21c3f76a SHA512 5bf7e13de2e4a513b5411c3dcaa204aeaff6975b978d68455e059177049c2a1d862b4d1a96f0a986112ea0d347306190c81da6ec4b1150f56a3addc8f3d9b777
-AUX ocaml-4.05.0-CVE-2018-9838.patch 2888 BLAKE2B 75fe491c1b12d9882c7b558efb3384a133c56bea0c85e97a6b46ec5b5f4050da4752228c795d937875645260b98ac9d203b9cdbf583ed36934a29faf4d47ecc3 SHA512 3da218dcea2c08ed97da805a2c1a1bc134a48b4425b4912283e353dde606ae99c95b86b59c6575b42961c9eb6903e09d60968c5a8db72a58510c4e3dcd13a5ef
-AUX ocaml-4.05.0-gcc10.patch 1976 BLAKE2B cf1240a815d731e99862740ddf90f6a0ea1d078c9e4e1cef126eff4a7d80afbde73f45d360a26eaa14863cc35d2086d98d130251490959df4c361a51ced0557e SHA512 e55cb651431798294b21ee0ea8818d6c42f88c329b7a1985af9d460f2a5b3057f2ee229e72699f9660168202a0c78dcf89b8bfce2154ca3e141fe8fb5f861773
-AUX ocaml-4.09.0-cflags.patch 2644 BLAKE2B df053880534f47ad922a16bce7ad49017152afe514af037c069ef27f54a154332c860a7d1a264b882d82abf474dfdabf803e24dd3632bd67aa0e149e7f52b292 SHA512 622f6f8be1dfe6c10cb6eea2357beff7470f9ff9a0bedd45211099d3ba5a465a01422db61849b0625671ac8e1c2d198f8dd848258d40317062d217f2859c278b
-AUX ocaml-4.09.0-gcc-10.patch 571 BLAKE2B 990107a1d199d350a821596e7655566bb8eb71ee828eb0247bd25111760dd4dd6952a0bea6c29f69f6fa4ef8d02bd47166b5f2c4ced30ed830078b1555ca86eb SHA512 430774f62cea3f4ed06c9a1cbc73c68e3eab0d6fbebb5e62ea12a012cc2b25bb1a776ff08a7d532140bc2e12eae3e1a43605bf5708e1333b23a135b9801de084
-AUX ocaml-4.10.2-cflags.patch 1704 BLAKE2B aa106b9a90e2daa49df1cae0d9a0f57c7a7c3bd38b0f083aa0f52a247190a5a64c165266e86fdd5a0ad7bf1d0a250ae9823b8d2050d3f00d3cc0ac4145a0c9c5 SHA512 a4d402d769c8d8a0135fcdb1b75a3edcae4fe2e62614e6c4513429f7a0e21be108f4d67eed31470a869737e13dfb7a4493173164902937dcc0fbc8e5d8150e83
+AUX ocaml-4.11.2-cflags.patch 1416 BLAKE2B 722ffd7944c3dabd753e98bfb885ad283aa5b66a07f9785a8993d321f4ad4fc29bb2656fc5df339a19ab2dca21efda911fb3104eea5a7e6961307f12a312d7f3 SHA512 707c4ab6e09bab1b45c0f955edb775cfc5e7018404263a125c87405b77c6c2c93e64f5427c43e22519b342392631869dc661dd173083bac17c50bda4650287e4
AUX ocaml-4.11.2-glibc-2.34.patch 3318 BLAKE2B 96fe61e553e7c67f76df32f2e5532f7a6eae57fb60752c7c49d71baf416ac74a4c7b925ecfd0bd5874a1728b51ca36b82d636bfa6ab30ec5f3df37fbac2a73b9 SHA512 eb54d912338a42a21f736dcd1591f77403b0dff8772059bd7f39a6e83b8a5e89bd5a7a9d4200bacbcaa8ec0450a5a78ecf6645bb5405d45fd1c077cbe1c36f7f
AUX ocaml-4.12.0-glibc-2.34.patch 3411 BLAKE2B d5138feaf6ca1e4a25ee85100013e343f8867bfe22d1c8c26df56fe1a6266b9cf37738f0b5fa6ee6daaaed9c90880529a50ffa1e789766039727dd407d15da51 SHA512 978a300d28bcb4c4d312e5b9f830140b08a282ba850d7c7a3866ca54413a321695d21315fff423d646085d8eed148a3f84567c08a4e09957b4b87010d65ee694
+AUX ocaml-4.12.1-fix-textrel-riscv.patch 1784 BLAKE2B 700fca8fe6c30a301bca5a64ed94038923bec1df80e6a75d4afb88ecfc38c9c55f5c163dfb12506f6b3a1e5784e65314385e13b9f45230b9f3b3e7d771c89b2e SHA512 f4f3a4b1f3f9fd823e09338c7c06ce6abc8699a765c0aa442e3b66ae72a83bb6dee744bfc0cb527a1131bbbe0ae5a5fd1d51c4700b62927f1fdf25a47e541e80
AUX ocaml-rebuild.sh 1120 BLAKE2B 6f88a9f2b99fae7f89b884bb08d2c6ad6a0e14d4a8fd06d498037f78c5f6ef040428f9de224b5fe5df4ef64eaed419cda6d8715ea0c0a4c4dad60c5cf75a4147 SHA512 05a3e81e95533135d9895091c21621c73ae82851abd4889d64f035979eb25f8d90b60f469d7ef5e789fd1a4adffd6bbe255e6708c14c24a04f8a423507d19a40
AUX ocaml.conf 177 BLAKE2B da070848d9e3a30ad303c296f55de87c30fd15feee3304ccc1d1f844d83c5a646664cd4d9958375ead2324e25bb88280fdb78f9e4230eeb8cd5825eed6f2f91d SHA512 4f0a48b8101b77d568d8d0a852f2a21fd46b7947c5d3f975ee4cd8a9c37c993d689cf5fb53b54a6b2740cb865051dc50c74c0c373eb697fca800ca143d401aa4
+DIST ocaml-4.05.0-patches-1.tar.bz2 4009 BLAKE2B 052c3a6859a942f2993d0b06ab57ca8f7469650c096f20bff7ff7cf5c2842e8d5019d595a4eca0dc1a4e5feda2db8a831a6917b3b6d9f39166c8ae7af1e894e7 SHA512 b349e6613201d9400f736c5b2d0ede01e7e113524cbc6989999a71fb97cb1eb67f90af8c2fbd3fd8abeccf3193e317cdd8258aee328c3e078634385c21558619
DIST ocaml-4.05.0.tar.gz 4431750 BLAKE2B c2ab003a13e0a581ebd0e1c96eeb8a9baea9bfe6bee08823b0e4541819201ec109f1846e13fc1aefa51a001eefbb8f73320ba854d41975fc68cef41bc75b1ecc SHA512 9a060ae4b741e1687277403e5bdb8f6eda2e2ebf6c45f7c0149b66ea1213cb26d13febfbb3f11c12543e244cfdd053b786b09c4145e2348e5d89a7206f7de225
+DIST ocaml-4.09.0-patches-1.tar.bz2 3300 BLAKE2B ef710ea5ed5a243ae684f68b7f203ba454192c9f8f19c32697d336bf18cf2a0e8ea08df232b0fd8e2475a000758a5ba95b3794096ec7d0d1b292a715ab3de86f SHA512 94096b99fd58b32232e418c5736203f08ab3c1558154ed00d4290730bd4db849bc60dfae6160f344acce63bbb8eaceecee25cf836bb73fa419d7bbf4eac433f1
DIST ocaml-4.09.0.tar.gz 4838748 BLAKE2B 80f29d535c64bf2371b480217723ed20b2b21cfd93ce31366a7b91e7ddffdf68db4e88d085288b7e21efee567a13f42ecff24c3a0115507b006acf844239cefd SHA512 dc0271e591bf929b751705835790949a9d741e12d085c8b207c3689b5838a02ea8de80da8b2605d2e6744f2f541b0d1694ffafff9509e99ce01f3a391f6ef2ae
+DIST ocaml-4.10.2-patches-1.tar.bz2 3180 BLAKE2B 474471e10c4525e4da730fcf8602fddf5209f7d8eb15bd76894ed2bc22213a6e61aa7f52b1b67dff6c8bf04eac7d759ada28f1783c83a075cc65e7e5caadc715 SHA512 1456f90c0c833461eb9d1c140ba1a7358aa9351f6303e83b0e19bb8688dcb17bdad211f4cec1281a47180bbdddcfdbf44367b47a6b301d2ea41fa9d926bd03a5
DIST ocaml-4.10.2.tar.gz 4933135 BLAKE2B ec5e92adb23c28a254247182c79ab555fd82603e02f24799049b8057abf869d18234302408c8ae89b9997a2b210ed6965e45c2c03e4f0cab34262ad3f6ebb528 SHA512 1dd827da07f01e815fd74dd7ee84db0900f24782f8f7fd426e2d71b9fb03c7b8045f22e018120a0446c362315751365d1bd8c1724edef2b182394e76eb0a07b2
DIST ocaml-4.11.2.tar.gz 5075323 BLAKE2B bdc503d9a8d0e39dd11060febcd0287657b460e50ed81e55578a3e778af990ca5d4ef9011753eee4e1a144da33eb76c95b1672dc99b76e65a2e107eee472fe06 SHA512 03d8a9f6e130142c121ff2eb3d54f584f1e7c8475f066a5803bb0edd2fa172ca06a56a3ec548b225f5c8b12112d7a68511b1e16f3ade075b5f02610d4247bbb3
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-patches-9.tar.bz2 1700 BLAKE2B 4e46b8fb490db28f815414e285f54e251394ea53e1d25c529bbea9f03e426fd19132b1e2c7c2be7d14983fceb4cad073d191b001f6da522fee4226371d4a2eca SHA512 cc19f9104fac69aecc5effa8cb772342e1fb61cdcd38ba0176efe04cf3d710b1c56d5178748f3bd29099af91fa684da432a8ef8d42de76dbd1b6954a255ea6c0
-EBUILD ocaml-4.05.0-r7.ebuild 4293 BLAKE2B bd07fb0811d4345e135b92c782a45322b0be6f70b1ac7b5734278ce89503c6eeb5dc86521f3f142fcedb4717f9a568c8fc1e8a1cf8681d30b5c170e3c65a83fe SHA512 c5d527caa2bf54ab1d518ab85a4b9a331e5575af93cfc2f1ac792476edab1d035be56e603260ef44ba0c85097040e46721af31ad02b115f55da26f73c97a2d3a
-EBUILD ocaml-4.05.0-r8.ebuild 4333 BLAKE2B 45432804c19f71b9b671adac43627bdfd81dec327d3664f8b692de544c44a8224246e4bfd2038740d3d91e1e6fe400da555343796ed94381289c129e860f268f SHA512 96398dffb8f7f28946f27ea157a0c80aaf69e1507f3de506566b99956b8418a61a15bc0d2da5ad9985bad027e2ec50e224b47d6f47fc06f927766d552a4031fb
-EBUILD ocaml-4.09.0-r2.ebuild 2755 BLAKE2B a5baaf014e722eacb2b1ed1c7e1bfee9dca9b2c19f40fb14256d77607a2c554a4084e4851de604f902691067894438dd229fe26d47efbb55b25b6aba1df183f1 SHA512 85d4ac2b1f7d48dd9867e786f9ed8f687bfe2078a3694c2a9aa86c5684917eba4f51cd5228f3b5c811b6dbf431770d5fb66b6fed1167828a6c32881f604671a0
-EBUILD ocaml-4.10.2-r2.ebuild 2722 BLAKE2B f9e52093866c8f0d76cb3ed889dea2c2c6435aa8e0e504d8b8afa0bb2ab681208a2dbb0ab598e6eb42015ebf9046cb2ae2f7dd421c3375db8651174f8e929019 SHA512 58645c5008d88fea796e3cc77cf1bc3a194cdc7da480747ab6ada82b998d08e954d29fc7ad7b72dfcba667103059a7c5e7d7683acb7d3730fcf4c1182de9c48b
-EBUILD ocaml-4.11.2-r2.ebuild 2641 BLAKE2B 8fb877a5a10778e4d96830b7d9f6b62217fc76d3208c7aeda9973479f5aede645251cd0c4a0680115898cf435a141fd09b8900d2efbbe91c2d8e324fa54e2bbc SHA512 b52ce16cafece2d229cbaf04e815c5791b3b211b1e512337f5c02d7af41328dfa5fa573853d6fd9a858d5733fbb321244a811902b8116b57a564961e7ffa6bd5
-EBUILD ocaml-4.12.1.ebuild 2515 BLAKE2B 6d91d1e528169b037dafd58701b57dafe536f1abdf1a207ffa8ad75b20577410bf55305b031510432ca9c28391e2fce5b7bd6e4066a6cf09470e3eb689da6f2f SHA512 5497b9ca6081b947c6489fe7c6cbcfc7f4b18dbc8bda8682615c255326454941e7e6ff277168cf8234250e89539022364d2b7a4c79a3d1a886e3d8c7bfc2f846
-EBUILD ocaml-4.13.1.ebuild 2457 BLAKE2B cca2eae8a16069050ee1248270a720c4726da6e67ed0bd7ef15e401db8cdfaaec74e7c9462a8d5faf5acadfaaa9e269de6e3a8d8944b86a5c36dbb8409777012 SHA512 601cb38b4174a46c441da4051ce5b789d16d0e2f69c9fb85aa3dd4027903cbe7a3ad4b5738fbd63893225ec72874f43d4a6d11558760335d961071e54e21bb2a
+EBUILD ocaml-4.05.0-r9.ebuild 4370 BLAKE2B 22f915f38da08b3f98923f337dbe1a2ae25f2edaf73887f602c0d13047808bff8f5bcde68d7ac214f07da7d68d6c05a2f9520318d1cda041d54e37966b27c605 SHA512 111a2e4d4a18034a2d4580d19e4074fd4d6b60330e0af861062c4196c19027667d18e0361e1e73cdf9d46c31d06d66ce9a7ada36058fca168f634a891cdae861
+EBUILD ocaml-4.09.0-r3.ebuild 2794 BLAKE2B 0a7e6b805915602875e3f323f97370a5f9345c2a1a9e30ed545922cfdd31c8d304d2e534b1ead1719b9be33f72c79c8383ca63fa45f2f62084f47c7cfd1e127c SHA512 b87052b9caea618b0024342e614859e68bb30b3426b31df313006a3c655be8b60e47ab9611c609307bacff610f0cc889e68db14e1c78bb820f33bcde8b32f5ee
+EBUILD ocaml-4.10.2-r3.ebuild 2801 BLAKE2B 089f0d19153db72faa63db09fc7ef60b69ea087573f79f137e0f458ea1d6dc0e353ab2455359418dce6f26c5f6df912198360369873decaa340b72dce3abba5b SHA512 a3d8ec3bd0639af28ceb824d84c4b591a1f4ed40f61377477265c42eea2f18cbe9729c9493a0577e4c3540521a0be1b9cc5dba8d5dea245eba43ce57ac03d987
+EBUILD ocaml-4.11.2-r2.ebuild 2642 BLAKE2B 3639ba3300e16337b2b0d31b4bca1accad472b734003207a7a863de24b7391686a9e18fd6c12ee7775efe40f0c21ae89d652b7c7c40e5e757ea360333d5055df SHA512 5ef88e24a64f6627b599f05fd6e6f9fd4e476f4c7547b00385d3594ceb24a7c15c4b32f055adc8d1ebc101ec0f948b339d4368a573b0b49c931ad061dba0834a
+EBUILD ocaml-4.12.1.ebuild 2559 BLAKE2B 50f373f16833ba2783fa3f1758ce0678934b3be58d662b595440f8abf0f0179ea78781835303dadd583cedf412c08cb1799e54276237fae491cdd944615d9f98 SHA512 9f3ce96e0f69f6a11d431255709f0ea11f46bb80f43597d3b026a916191bc6e71671621720184e4d2ddb962dc45360a6d0541c68525720ea89e63b009acf57f8
+EBUILD ocaml-4.13.1.ebuild 2522 BLAKE2B 8960f3e3ec99267b9a5673c7ab3765970ecbf1d1cd35500be26b7d0ec5d4e35c2c700b39179c2178f86b9f89fe9772d47f01ea70f925b6bfce048f7a799cbfba SHA512 390b1b201c9a3b9cebf6a17e4820224e7b321390801134a496ba45fe607a9af8b1417eb3d17cf52f41c5a70eef9d463182df392cb264e1243efbce90f7f5a8e7
MISC metadata.xml 776 BLAKE2B e7b13b4bb764cec6df76ede0eb2d492cc705ce51b18a445fa3f9ebaab119fab8cae45a2a9d02c70f38e19f2e2d2c06de648a3a0843a603dd7b68942c7cd00bdb SHA512 92e3afe1c40991d37dc460d6091ff2b15c83740343e5d8dd69344eb61d873fbd66af1b96e70904f7757c06f2b104d1450883cc79877709c779467af64e2ea96e
diff --git a/dev-lang/ocaml/files/ocaml-4.05.0-CVE-2018-9838.patch b/dev-lang/ocaml/files/ocaml-4.05.0-CVE-2018-9838.patch
deleted file mode 100644
index cfe3ff636c25..000000000000
--- a/dev-lang/ocaml/files/ocaml-4.05.0-CVE-2018-9838.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-https://bugs.gentoo.org/755257
-
-Needed for both fixing the CVE + compatibility with Debian for e.g.
-Unison.
-
-From c6ca3afc78b75d7748e4e09e56c6b020418be06e Mon Sep 17 00:00:00 2001
-From: Stephane Glondu <steph@glondu.net>
-Date: Fri, 25 Jan 2019 14:34:23 +0100
-Subject: [PATCH] Fix integer overflows when unmarshaling a bigarray
-
-Malicious or corrupted marshaled data can result in a bigarray
-with impossibly large dimensions that cause overflow when computing
-the in-memory size of the bigarray. Disaster ensues when the data
-is read in a too small memory area. This commit checks for overflows
-when computing the in-memory size of the bigarray.
-
-This patch is based on one by Xavier Leroy and has been modified to
-use caml_ba_multov instead of caml_umul_overflow which is unavailable
-in OCaml 4.05.0.
-
-The original commit hash is 85162eee9d4072fa9c2f498f03cd94e357033eec.
-
-Origin: https://github.com/ocaml/ocaml/pull/1718
-Bug: https://github.com/ocaml/ocaml/issues/7765
-Bug-Debian: https://bugs.debian.org/895472
-Bug-CVE: CVE-2018-9838
---- a/otherlibs/bigarray/bigarray_stubs.c
-+++ b/otherlibs/bigarray/bigarray_stubs.c
-@@ -966,22 +966,34 @@ static void caml_ba_deserialize_longarray(void * dest, intnat num_elts)
- uintnat caml_ba_deserialize(void * dst)
- {
- struct caml_ba_array * b = dst;
-- int i, elt_size;
-- uintnat num_elts;
-+ int i;
-+ uintnat num_elts, size;
-+ int overflow;
-
- /* Read back header information */
- b->num_dims = caml_deserialize_uint_4();
-+ if (b->num_dims < 0 || b->num_dims > CAML_BA_MAX_NUM_DIMS)
-+ caml_deserialize_error("input_value: wrong number of bigarray dimensions");
- b->flags = caml_deserialize_uint_4() | CAML_BA_MANAGED;
- b->proxy = NULL;
- for (i = 0; i < b->num_dims; i++) b->dim[i] = caml_deserialize_uint_4();
-- /* Compute total number of elements */
-- num_elts = caml_ba_num_elts(b);
-- /* Determine element size in bytes */
-+ /* Compute total number of elements. Watch out for overflows (MPR#7765). */
-+ num_elts = 1;
-+ for (i = 0; i < b->num_dims; i++) {
-+ overflow = 0;
-+ num_elts = caml_ba_multov(num_elts, b->dim[i], &overflow);
-+ if (overflow)
-+ caml_deserialize_error("input_value: size overflow for bigarray");
-+ }
-+ /* Determine array size in bytes. Watch out for overflows (MPR#7765). */
- if ((b->flags & CAML_BA_KIND_MASK) > CAML_BA_CHAR)
- caml_deserialize_error("input_value: bad bigarray kind");
-- elt_size = caml_ba_element_size[b->flags & CAML_BA_KIND_MASK];
-+ overflow = 0;
-+ size = caml_ba_multov(num_elts, caml_ba_element_size[b->flags & CAML_BA_KIND_MASK], &overflow);
-+ if (overflow)
-+ caml_deserialize_error("input_value: size overflow for bigarray");
- /* Allocate room for data */
-- b->data = malloc(elt_size * num_elts);
-+ b->data = malloc(size);
- if (b->data == NULL)
- caml_deserialize_error("input_value: out of memory for bigarray");
- /* Read data */
diff --git a/dev-lang/ocaml/files/ocaml-4.05.0-gcc10.patch b/dev-lang/ocaml/files/ocaml-4.05.0-gcc10.patch
deleted file mode 100644
index a0c67da534a0..000000000000
--- a/dev-lang/ocaml/files/ocaml-4.05.0-gcc10.patch
+++ /dev/null
@@ -1,59 +0,0 @@
---- a/byterun/caml/intext.h 2021-01-28 22:46:20.400224678 +0100
-+++ b/byterun/caml/intext.h 2021-01-28 22:46:49.312751054 +0100
-@@ -196,7 +196,7 @@
-
- CAMLextern struct code_fragment * caml_extern_find_code(char *addr);
-
--struct ext_table caml_code_fragments_table;
-+extern struct ext_table caml_code_fragments_table;
-
- #endif /* CAML_INTERNALS */
-
---- a/byterun/caml/major_gc.h 2021-01-28 22:44:12.193323457 +0100
-+++ b/byterun/caml/major_gc.h 2021-01-28 22:45:20.918198701 +0100
-@@ -64,9 +64,9 @@
- extern char *caml_gc_sweep_hp;
-
- extern int caml_major_window;
--double caml_major_ring[Max_major_window];
--int caml_major_ring_index;
--double caml_major_work_credit;
-+extern double caml_major_ring[Max_major_window];
-+extern int caml_major_ring_index;
-+extern double caml_major_work_credit;
- extern double caml_gc_clock;
-
- /* [caml_major_gc_hook] is called just between the end of the mark
---- a/byterun/meta.c 2021-01-28 22:47:34.148016359 +0100
-+++ b/byterun/meta.c 2021-01-28 22:47:56.048657393 +0100
-@@ -32,6 +32,8 @@
- #include "caml/prims.h"
- #include "caml/stacks.h"
-
-+struct ext_table caml_code_fragments_table;
-+
- #ifndef NATIVE_CODE
-
- CAMLprim value caml_get_global_data(value unit)
---- a/byterun/backtrace.c 2021-01-28 22:50:25.275226598 +0100
-+++ b/byterun/backtrace.c 2021-01-28 22:50:37.541027290 +0100
-@@ -28,7 +28,7 @@
- #include "caml/fail.h"
-
- /* The table of debug information fragments */
--struct ext_table caml_debug_info;
-+extern struct ext_table caml_debug_info;
-
- CAMLexport int32_t caml_backtrace_active = 0;
- CAMLexport int32_t caml_backtrace_pos = 0;
---- a/asmrun/startup.c 2021-01-28 23:02:50.526072662 +0100
-+++ b/asmrun/startup.c 2021-01-28 23:03:09.977754311 +0100
-@@ -44,7 +44,7 @@
- #endif
-
- extern int caml_parser_trace;
--CAMLexport header_t caml_atom_table[256];
-+CAMLextern header_t caml_atom_table[256];
- char * caml_code_area_start, * caml_code_area_end;
-
- /* Initialize the atom table and the static data and code area limits. */
diff --git a/dev-lang/ocaml/files/ocaml-4.09.0-cflags.patch b/dev-lang/ocaml/files/ocaml-4.09.0-cflags.patch
deleted file mode 100644
index 8d2391407a35..000000000000
--- a/dev-lang/ocaml/files/ocaml-4.09.0-cflags.patch
+++ /dev/null
@@ -1,65 +0,0 @@
---- a/runtime/Makefile 2022-01-22 19:49:32.914213696 +0100
-+++ b/runtime/Makefile 2022-01-22 19:50:03.765640701 +0100
-@@ -335,7 +335,7 @@
- # (without the extension, which is added by the macro)
- define COMPILE_C_FILE
- $(1).$(O): %.c
-- $$(CC) -c $$(OC_CFLAGS) $$(OC_CPPFLAGS) $$(OUTPUTOBJ)$$@ $$<
-+ $$(CC) -c $$(OC_CFLAGS) $(CFLAGS) $$(OC_CPPFLAGS) $$(OUTPUTOBJ)$$@ $$<
- endef
-
- object_types := % %_b %_bd %_bi %_bpic %_n %_nd %_ni %_np %_npic
---- a/yacc/Makefile 2022-01-22 20:02:56.510340885 +0100
-+++ b/yacc/Makefile 2022-01-22 20:03:14.998000508 +0100
-@@ -63,4 +63,4 @@
- # also works for .obj files.
-
- %.$(O): %.c
-- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
-+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
---- a/otherlibs/Makefile.otherlibs.common 2022-01-22 20:24:15.316779625 +0100
-+++ b/otherlibs/Makefile.otherlibs.common 2022-01-22 20:24:50.730126701 +0100
-@@ -138,4 +138,4 @@
- $(CAMLOPT) -c $(COMPFLAGS) $(OPTCOMPFLAGS) $<
-
- .c.$(O):
-- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
-+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
---- a/ocamltest/Makefile 2022-01-22 20:30:22.454009704 +0100
-+++ b/ocamltest/Makefile 2022-01-22 20:30:33.845799603 +0100
-@@ -221,7 +221,7 @@
- $(ocamllex) -q $<
-
- %.$(O): %.c
-- $(CC) $(OC_CFLAGS) $(OC_CPPFLAGS) -c $<
-+ $(CC) $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) -c $<
-
- ocamltest_config.ml: ocamltest_config.ml.in Makefile ../Makefile.config
- sed \
---- a/otherlibs/systhreads/Makefile 2022-01-22 20:42:17.647349876 +0100
-+++ b/otherlibs/systhreads/Makefile 2022-01-22 20:43:29.766086103 +0100
-@@ -93,11 +93,11 @@
- # twice, each time with different options).
-
- st_stubs_b.$(O): st_stubs.c $(HEADER)
-- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) -I$(ROOTDIR)/runtime \
-+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) -I$(ROOTDIR)/runtime \
- $(SHAREDLIB_CFLAGS) $(OUTPUTOBJ)$@ $<
-
- st_stubs_n.$(O): st_stubs.c $(HEADER)
-- $(CC) $(OC_CFLAGS) $(OC_CPPFLAGS) \
-+ $(CC) $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) \
- -I$(ROOTDIR)/runtime $(SHAREDLIB_CFLAGS) -DNATIVE_CODE \
- -DTARGET_$(ARCH) -DMODEL_$(MODEL) -DSYS_$(SYSTEM) \
- $(OUTPUTOBJ)$@ -c $<
---- a/tools/Makefile 2022-01-23 09:57:00.788877931 +0100
-+++ b/tools/Makefile 2022-01-23 09:57:21.735516656 +0100
-@@ -322,7 +322,7 @@
- endif
-
- objinfo_helper$(EXE): objinfo_helper.c $(ROOTDIR)/runtime/caml/s.h
-- $(CC) $(OC_CFLAGS) $(OC_CPPFLAGS) -I$(ROOTDIR)/runtime $(OUTPUTEXE)$@ \
-+ $(CC) $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) -I$(ROOTDIR)/runtime $(OUTPUTEXE)$@ \
- $(DEF_SYMBOL_PREFIX) $(LIBBFD_INCLUDE) $< $(LIBBFD_LINK)
-
- OBJINFO=$(ROOTDIR)/compilerlibs/ocamlcommon.cma \
diff --git a/dev-lang/ocaml/files/ocaml-4.09.0-gcc-10.patch b/dev-lang/ocaml/files/ocaml-4.09.0-gcc-10.patch
deleted file mode 100644
index e25d55a5f668..000000000000
--- a/dev-lang/ocaml/files/ocaml-4.09.0-gcc-10.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/runtime/backtrace.c
-+++ b/runtime/backtrace.c
-@@ -28,7 +28,7 @@
- #include "caml/fail.h"
-
- /* The table of debug information fragments */
--struct ext_table caml_debug_info;
-+extern struct ext_table caml_debug_info;
-
- CAMLexport int32_t caml_backtrace_active = 0;
- CAMLexport int32_t caml_backtrace_pos = 0;
---- a/runtime/startup_nat.c
-+++ b/runtime/startup_nat.c
-@@ -44,7 +44,6 @@
- #endif
-
- extern int caml_parser_trace;
--CAMLexport header_t caml_atom_table[256];
- char * caml_code_area_start, * caml_code_area_end;
- struct ext_table caml_code_fragments_table;
-
diff --git a/dev-lang/ocaml/files/ocaml-4.10.2-cflags.patch b/dev-lang/ocaml/files/ocaml-4.11.2-cflags.patch
index 01117c39887d..7adb1ea0768d 100644
--- a/dev-lang/ocaml/files/ocaml-4.10.2-cflags.patch
+++ b/dev-lang/ocaml/files/ocaml-4.11.2-cflags.patch
@@ -1,5 +1,5 @@
---- a/runtime/Makefile 2022-01-22 19:49:32.914213696 +0100
-+++ b/runtime/Makefile 2022-01-22 19:50:03.765640701 +0100
+--- a/runtime/Makefile
++++ b/runtime/Makefile
@@ -335,7 +335,7 @@
# (without the extension, which is added by the macro)
define COMPILE_C_FILE
@@ -9,16 +9,16 @@
endef
object_types := % %_b %_bd %_bi %_bpic %_n %_nd %_ni %_np %_npic
---- a/otherlibs/Makefile.otherlibs.common 2022-01-22 20:24:15.316779625 +0100
-+++ b/otherlibs/Makefile.otherlibs.common 2022-01-22 20:24:50.730126701 +0100
+--- a/otherlibs/Makefile.otherlibs.common
++++ b/otherlibs/Makefile.otherlibs.common
@@ -138,4 +138,4 @@
$(CAMLOPT) -c $(COMPFLAGS) $(OPTCOMPFLAGS) $<
.c.$(O):
- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
---- a/otherlibs/systhreads/Makefile 2022-01-22 20:42:17.647349876 +0100
-+++ b/otherlibs/systhreads/Makefile 2022-01-22 20:43:29.766086103 +0100
+--- a/otherlibs/systhreads/Makefile
++++ b/otherlibs/systhreads/Makefile
@@ -102,10 +102,10 @@
st_stubs_n.$(O): OC_CPPFLAGS += $(NATIVE_CPPFLAGS)
@@ -32,8 +32,8 @@
partialclean:
rm -f *.cm*
---- a/Makefile.common.in 2022-01-23 18:05:04.192323554 +0100
-+++ b/Makefile.common.in 2022-01-23 18:05:17.211122643 +0100
+--- a/Makefile.common.in
++++ b/Makefile.common.in
@@ -79,4 +79,4 @@
# general (it supports both .o and .obj)
diff --git a/dev-lang/ocaml/files/ocaml-4.12.1-fix-textrel-riscv.patch b/dev-lang/ocaml/files/ocaml-4.12.1-fix-textrel-riscv.patch
new file mode 100644
index 000000000000..5ba8582d3a65
--- /dev/null
+++ b/dev-lang/ocaml/files/ocaml-4.12.1-fix-textrel-riscv.patch
@@ -0,0 +1,46 @@
+From ddf99786f8229c8282905af5c7c74360d4f2fbd0 Mon Sep 17 00:00:00 2001
+From: Alex Fan <alex.fan.q@gmail.com>
+Date: Tue, 22 Feb 2022 19:28:30 +1100
+Subject: [PATCH] riscv: Generate frametable in data section to improve code
+ relocatability (#11042)
+
+Similar to what PowerPC and System-Z have done in commit 24980d3fd9848e281761ef2b8fe383e71261789b
+
+With this commit ocamlopt produces .so shared libraries and PIE relocatable
+executables that contain no relocations in the text segment.
+
+Upstream status: merged in 4.14 and 5.x
+---
+ Changes | 5 +++++
+ asmcomp/riscv/emit.mlp | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/Changes b/Changes
+index 4898e9d69fc..2bec76daac6 100644
+--- a/Changes
++++ b/Changes
+@@ -477,6 +477,11 @@ OCaml 4.14.0
+ - #10907, #10959: Wrong type inferred from existential types
+ (Jacques Garrigue and Gabriel Scherer, report by @dyzsr, review by Leo White)
+
++- #10688: Move frame descriptor table from `rodata` to `data` section on
++ RISC-V. Improves support for building DLLs and PIEs. In particular, this
++ applies to all binaries in distributions that build PIEs by default (eg
++ Gentoo and Alpine).
++ (Alex Fan, review by Gabriel Scherer)
+
+ OCaml 4.13 maintenance branch
+ -----------------------------
+diff --git a/asmcomp/riscv/emit.mlp b/asmcomp/riscv/emit.mlp
+index 474a3c6857a..b36aa0ea38c 100644
+--- a/asmcomp/riscv/emit.mlp
++++ b/asmcomp/riscv/emit.mlp
+@@ -645,7 +645,7 @@ let end_assembly() =
+ `{emit_symbol lbl_end}:\n`;
+ ` .quad 0\n`;
+ (* Emit the frame descriptors *)
+- ` {emit_string rodata_space}\n`;
++ ` {emit_string data_space}\n`; (* not rodata because relocations inside *)
+ let lbl = Compilenv.make_symbol (Some "frametable") in
+ declare_global_data lbl;
+ `{emit_symbol lbl}:\n`;
diff --git a/dev-lang/ocaml/ocaml-4.05.0-r7.ebuild b/dev-lang/ocaml/ocaml-4.05.0-r7.ebuild
deleted file mode 100644
index 8f3bd8015bfc..000000000000
--- a/dev-lang/ocaml/ocaml-4.05.0-r7.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic toolchain-funcs
-
-PATCHLEVEL="9"
-MY_P="${P/_/-}"
-DESCRIPTION="Type-inferring functional programming language descended from the ML family"
-HOMEPAGE="https://ocaml.org"
-SRC_URI="https://github.com/ocaml/ocaml/archive/${PV/_/+}.tar.gz -> ${MY_P}.tar.gz
- mirror://gentoo/${PN}-patches-${PATCHLEVEL}.tar.bz2"
-
-LICENSE="QPL-1.0 LGPL-2"
-# Everytime ocaml is updated to a new version, everything ocaml must be rebuilt,
-# so here we go with the subslot.
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-IUSE="emacs flambda latex ncurses +ocamlopt spacetime X xemacs"
-
-RDEPEND="
- sys-libs/binutils-libs:=
- ncurses? ( sys-libs/ncurses:0= )
- spacetime? ( sys-libs/libunwind:= )
- X? ( x11-libs/libX11 )
- !dev-ml/num"
-BDEPEND="${RDEPEND}
- virtual/pkgconfig"
-PDEPEND="emacs? ( app-emacs/ocaml-mode )
- xemacs? ( app-xemacs/ocaml )"
-
-QA_FLAGS_IGNORED='/usr/lib.*/ocaml/raw_spacetime_lib.cmxs'
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.04.2-tinfo.patch" #459512
- "${FILESDIR}"/${P}-gcc10.patch
-)
-
-pkg_setup() {
- # dev-lang/ocaml creates its own objects but calls gcc for linking, which will
- # results in relocations if gcc wants to create a PIE executable
- if gcc-specs-pie ; then
- append-ldflags -nopie
- ewarn "Ocaml generates its own native asm, you're using a PIE compiler"
- ewarn "We have appended -nopie to ocaml build options"
- ewarn "because linking an executable with pie while the objects are not pic will not work"
- fi
-}
-
-src_prepare() {
- EPATCH_SUFFIX="patch" eapply "${WORKDIR}/patches"
-
- cp "${FILESDIR}"/ocaml.conf "${T}" || die
-
- default
-}
-
-src_configure() {
- export LC_ALL=C
- local myconf=""
-
- # Causes build failures because it builds some programs with -pg,
- # bug #270920
- filter-flags -fomit-frame-pointer
- # Bug #285993
- filter-mfpmath sse
-
- # Broken until 4.12
- # bug #818445
- filter-flags '-flto*'
- append-flags -fno-strict-aliasing
-
- # -ggdb3 & co makes it behave weirdly, breaks sexplib
- replace-flags -ggdb* -ggdb
-
- # 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
-
- # It doesn't compile on alpha without this LDFLAGS
- use alpha && append-ldflags "-Wl,--no-relax"
-
- use ncurses || myconf="${myconf} -no-curses"
- use X || myconf="${myconf} -no-graph"
- use flambda && myconf="${myconf} -flambda"
- use spacetime && myconf="${myconf} -spacetime"
-
- # ocaml uses a home-brewn configure script, preventing it to use econf.
- RAW_LDFLAGS="$(raw-ldflags)" ./configure \
- --prefix "${EPREFIX}"/usr \
- --bindir "${EPREFIX}"/usr/bin \
- --target-bindir "${EPREFIX}"/usr/bin \
- --libdir "${EPREFIX}"/usr/$(get_libdir)/ocaml \
- --mandir "${EPREFIX}"/usr/share/man \
- -target "${CHOST}" \
- -host "${CBUILD}" \
- -cc "$(tc-getCC)" \
- -as "$(tc-getAS)" \
- -aspp "$(tc-getCC) -c" \
- -partialld "$(tc-getLD) -r" \
- --with-pthread ${myconf} || die "configure failed!"
-
- # http://caml.inria.fr/mantis/view.php?id=4698
- export CCLINKFLAGS="${LDFLAGS}"
-}
-
-src_compile() {
- emake world
-
- # Native code generation can be disabled now
- if use ocamlopt ; then
- # bug #279968
- emake opt
- emake -j1 opt.opt
- fi
-}
-
-src_test() {
- if use ocamlopt ; then
- emake -j1 tests
- else
- ewarn "${PN} was built without 'ocamlopt' USE flag; skipping tests."
- fi
-}
-
-src_install() {
- emake BINDIR="${ED}"/usr/bin \
- LIBDIR="${ED}"/usr/$(get_libdir)/ocaml \
- MANDIR="${ED}"/usr/share/man \
- install
-
- # Symlink the headers to the right place
- 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/ocaml/ocaml-4.05.0-r8.ebuild b/dev-lang/ocaml/ocaml-4.05.0-r9.ebuild
index 58ae1dde82d7..836f967b59ce 100644
--- a/dev-lang/ocaml/ocaml-4.05.0-r8.ebuild
+++ b/dev-lang/ocaml/ocaml-4.05.0-r9.ebuild
@@ -10,7 +10,8 @@ MY_P="${P/_/-}"
DESCRIPTION="Type-inferring functional programming language descended from the ML family"
HOMEPAGE="https://ocaml.org"
SRC_URI="https://github.com/ocaml/ocaml/archive/${PV/_/+}.tar.gz -> ${MY_P}.tar.gz
- mirror://gentoo/${PN}-patches-${PATCHLEVEL}.tar.bz2"
+ mirror://gentoo/${PN}-patches-${PATCHLEVEL}.tar.bz2
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches-1.tar.bz2"
LICENSE="QPL-1.0 LGPL-2"
# Everytime ocaml is updated to a new version, everything ocaml must be rebuilt,
@@ -30,14 +31,13 @@ BDEPEND="${RDEPEND}
PDEPEND="emacs? ( app-emacs/ocaml-mode )
xemacs? ( app-xemacs/ocaml )"
-QA_FLAGS_IGNORED='/usr/lib.*/ocaml/raw_spacetime_lib.cmxs'
+QA_FLAGS_IGNORED='usr/lib.*/ocaml/raw_spacetime_lib.cmxs'
S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}"/${PN}-4.04.2-tinfo.patch #459512
- "${FILESDIR}"/${P}-gcc10.patch
- "${FILESDIR}"/${P}-CVE-2018-9838.patch
+ "${WORKDIR}"/${P}-patches-1/
)
pkg_setup() {
diff --git a/dev-lang/ocaml/ocaml-4.09.0-r2.ebuild b/dev-lang/ocaml/ocaml-4.09.0-r3.ebuild
index ef5e9bedc947..7a37a7cf0528 100644
--- a/dev-lang/ocaml/ocaml-4.09.0-r2.ebuild
+++ b/dev-lang/ocaml/ocaml-4.09.0-r3.ebuild
@@ -5,13 +5,14 @@ EAPI=7
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"
+HOMEPAGE="https://ocaml.org/"
+SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches-1.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
IUSE="emacs flambda latex +ocamlopt spacetime xemacs"
RDEPEND="sys-libs/binutils-libs:=
@@ -21,11 +22,10 @@ BDEPEND="${RDEPEND}
PDEPEND="emacs? ( app-emacs/ocaml-mode )
xemacs? ( app-xemacs/ocaml )"
-QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs'
+QA_FLAGS_IGNORED='usr/lib.*/ocaml/bigarray.cmxs'
PATCHES=(
- "${FILESDIR}"/${PN}-4.09.0-gcc-10.patch
- "${FILESDIR}"/${P}-cflags.patch
+ "${WORKDIR}"/${P}-patches-1/
)
src_prepare() {
@@ -64,7 +64,8 @@ src_configure() {
$(use_enable flambda)
$(use_enable spacetime)
)
- econf ${opt[@]}
+
+ econf "${opt[@]}"
}
src_compile() {
diff --git a/dev-lang/ocaml/ocaml-4.10.2-r2.ebuild b/dev-lang/ocaml/ocaml-4.10.2-r3.ebuild
index fbf4e4c204b6..b0b37115a35c 100644
--- a/dev-lang/ocaml/ocaml-4.10.2-r2.ebuild
+++ b/dev-lang/ocaml/ocaml-4.10.2-r3.ebuild
@@ -5,9 +5,10 @@ EAPI=7
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"
+HOMEPAGE="https://ocaml.org/"
+SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches-1.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0/$(ver_cut 1-2)"
@@ -21,10 +22,10 @@ BDEPEND="${RDEPEND}
PDEPEND="emacs? ( app-emacs/ocaml-mode )
xemacs? ( app-xemacs/ocaml )"
-QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs'
+QA_FLAGS_IGNORED='usr/lib.*/ocaml/bigarray.cmxs'
PATCHES=(
- "${FILESDIR}"/${P}-cflags.patch
+ "${WORKDIR}"/${P}-patches-1/
)
src_prepare() {
@@ -63,7 +64,8 @@ src_configure() {
$(use_enable flambda)
$(use_enable spacetime)
)
- econf ${opt[@]}
+
+ econf "${opt[@]}"
}
src_compile() {
diff --git a/dev-lang/ocaml/ocaml-4.11.2-r2.ebuild b/dev-lang/ocaml/ocaml-4.11.2-r2.ebuild
index 666f43b938bd..95b42d8a1a61 100644
--- a/dev-lang/ocaml/ocaml-4.11.2-r2.ebuild
+++ b/dev-lang/ocaml/ocaml-4.11.2-r2.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="Programming language supporting functional, imperative & object-ori
LICENSE="QPL-1.0 LGPL-2"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
IUSE="emacs flambda latex +ocamlopt spacetime xemacs"
RDEPEND="sys-libs/binutils-libs:=
@@ -25,7 +25,7 @@ QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs'
PATCHES=(
"${FILESDIR}"/${PN}-4.11.2-glibc-2.34.patch
- "${FILESDIR}"/${PN}-4.10.2-cflags.patch
+ "${FILESDIR}"/${PN}-4.11.2-cflags.patch
)
src_prepare() {
diff --git a/dev-lang/ocaml/ocaml-4.12.1.ebuild b/dev-lang/ocaml/ocaml-4.12.1.ebuild
index fd6cae2fff2c..70049fcc0ae4 100644
--- a/dev-lang/ocaml/ocaml-4.12.1.ebuild
+++ b/dev-lang/ocaml/ocaml-4.12.1.ebuild
@@ -24,6 +24,7 @@ QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs'
PATCHES=(
"${FILESDIR}"/${PN}-4.12.0-glibc-2.34.patch
+ "${FILESDIR}"/${P}-fix-textrel-riscv.patch
)
src_prepare() {
diff --git a/dev-lang/ocaml/ocaml-4.13.1.ebuild b/dev-lang/ocaml/ocaml-4.13.1.ebuild
index 1765de6905c0..979584167046 100644
--- a/dev-lang/ocaml/ocaml-4.13.1.ebuild
+++ b/dev-lang/ocaml/ocaml-4.13.1.ebuild
@@ -22,6 +22,10 @@ PDEPEND="emacs? ( app-emacs/ocaml-mode )
QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs'
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.12.1-fix-textrel-riscv.patch
+)
+
src_prepare() {
default
diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest
index ed694f59df0e..ef20fd53e9fa 100644
--- a/dev-lang/perl/Manifest
+++ b/dev-lang/perl/Manifest
@@ -3,8 +3,11 @@ AUX perl-5.34.0-fallback-getcwd-pwd.patch 8158 BLAKE2B a6870b26dbfadb54c5ea4f075
AUX perl-5.34.0-gdbm-1.20.patch 1627 BLAKE2B 9cbe976f43134022aab2aca203ee6590af52ccf628fa240c00334b14f090d01959764cd7d495a39c59eb59cdf69b0e527900350450f9995d934769ee461aac33 SHA512 fc6481a6ccbef4a19a966453472bde0c5dd1ea321be2a9682eff009c7431e18043d2c75b26ef296232a5f4e310992fc8955d19aef439d9f30b42ba9e9c9d561e
DIST perl-5.34.0-patches-1.tar.xz 20360 BLAKE2B e60074c49f357d4841708f58b5165a44201783238ff33ee81580bb83ba07d3d2dda447edd30a71ce8c9bafe5e5e0235b68e31a79081c3482bdd589231f0e898e SHA512 909e1fb22cda4ca769b51645b51a64df81b92210cfee388ac57834406bc13e404f0a1e6bad0888fafc73fc34b7fb224801fd02e87fb4c2f9145482ad74374e7b
DIST perl-5.34.0.tar.xz 12881416 BLAKE2B 4139e77fbb38b2b72671c0b130233cf5ed35112bbba3301b8ed724739c7ff96b041752aa505b938e257ef6ebf98a9b6dad1858e00f756c841a0520688d974e9a SHA512 691b4b31eacec357191fba777612b4e3eae59e946a22998a50766697c0d61db1d42a9b3bc1e41abf0d1ca1893e4a7c06d7bf3290480cf03d7f79befd7a8a3267
+DIST perl-5.34.1.tar.xz 12760168 BLAKE2B 3768e55f66551c83295153e91d25d568b7b8638789141f7fcd5a304509cb391cb9ad0232ba6ac70113bb0881ddb00ca5b19c53aa01e1e206c44401dad60d8942 SHA512 9261958291b49eea30c120a89e5ee32dc6a5fd46de4869c89c3d6a4c1162d6cf192ebe429d01a293eda93d8680ce15294af27717fd4ec4c75f511c1fa820fdac
DIST perl-cross-1.3.6.tar.gz 110210 BLAKE2B 39074d6f4a526f59de2b1c40432936552e625a5a4e44fbb7ce3c1c3828b12c5298d1ab49b7d34ea92e2a4c8c88f8bbef8cc0c582a3fbbed975cf46d331e89c08 SHA512 d394fbd75d890442aa599eae8893a26540c8b7af966583ad1c3213c3fe0e074415cfed8814de8f397830833fd78267bdc55adc5267168198f269634c2ef3b982
-EBUILD perl-5.34.0-r3.ebuild 26076 BLAKE2B b3bb0bea66cbabfe90855823671eb6faa72e72fbf9ec86dfa7279a028e34aeb8734e80bf7563138b4003500ed25d40d76a7f987c017c0f77122cb2df8f8851e4 SHA512 7d9e8755a050030c7d4df0614609c909b5ed5eaab05e84764fa86ad024edadcbf13e41f9326f4247f0f7c7735f3f67b718e5e35c88023358d562239e0d6aa5d6
-EBUILD perl-5.34.0-r5.ebuild 25268 BLAKE2B 0c65f2c0a8e779414e173d4ab989e9b520d8dea63339c3a8578ceed6e07246451014ebc77258c5a7dc74657036a210c6b856d3827999a494f065c2d010c5defc SHA512 076a03cae039e5df49defef09de5c3869d87d7bd85e03adb71099f64428a78371f5758e43193e0e29928b3490941ded376de34008613800fd67537279dde5554
+DIST perl-cross-1.3.7.tar.gz 118291 BLAKE2B dc9c060857d6905c817e91c3f5b1f546b76e02c6de02dc260185e0de8628a5ead3a557501da75549e2585cd30879190558740e697b1c78a69fa08ccb5649efcd SHA512 1111274f34f8b46e9f418883e9b1652ba4a5a9b4a5880a9a5b38bc8aeb5d75a9f4943233870f5ebf5fbcdc0c30b2983ace11ad051b55d3283327d8f2c15e172c
EBUILD perl-5.34.0-r6.ebuild 25690 BLAKE2B 60d40d54bc76515f6c415e1cb3abe9e4d15f2b00d619504e35eb4457c7ac50e47b9eaff5df8d0c4e81b8c1b448ed2d351d56f8a458894ca003bcf5ea2a751f40 SHA512 e49c4141def934062d153169743859e0f266e9dac746532213e11f6da2a712f3761b35b3b3c3a793b2c20c14c66596f4a1ba80f70864bc740b1dccfcc5d69728
-MISC metadata.xml 431 BLAKE2B 89471506c7b258c1806338a5850ee9337f48b8e7497a3cad8b1e8bf18811152071d416732e0267e7d0c13386097990d1ca12bb0051deb7cb70403ab2e9bdb367 SHA512 87d2a0c6a10f71b243b1e9a79306ed0d440a7f447d84fe37f2bd3c40c60e8749fd9d7e97ad482e286153587b57d7db5d6a8df7cef94f332de7175f053dc843e1
+EBUILD perl-5.34.0-r7.ebuild 25946 BLAKE2B f8bb0aff640017896c5bb0a19946205e0c5a70896f289b6eca030582dc62d59562d86e1b56fd50ed6028ebd7492e86ff08559596a6315ea84875cf70388b5774 SHA512 2ddb5f746e3132459bfa96a37745d91f81dcdf981052c9ad8985457444038feff2a396dbf8c50d505780c5056a9137c49d3c7732093a32177e04e71325cec8b8
+EBUILD perl-5.34.0-r8.ebuild 25946 BLAKE2B b1adc130a091628967a863b1d5c7664673deb2f7106e74ed5f7890bcc413b52e1fa04aaca7b2311c95d86bf25ef80b558cb406e266153e6bdcba9847386b11d6 SHA512 4c79859e4109d01a8d3e893de60df68559d1bd4bc3da6dfb9b02a7ef4bbde3c1196d209620296f9a056e6295227f48d157556a077492ffa09158afa6279f981d
+EBUILD perl-5.34.1.ebuild 25774 BLAKE2B 5215292e768158c3b3b9e2a8d82932e806024e42bffe93822950316f2eaa5c70be23eec3b0e3a59a01de6b1f09237cace08c0395d72375ee09dc031b707d5751 SHA512 452a3bc5f75c939a77d8a8b2fe3221f879206cbd6ea684c198e3a47a971ccf5c0ae53c8fdf9450ade3a564c1fbfe564e3ccfbe9b8d6a5e06f01d7213c5df196d
+MISC metadata.xml 518 BLAKE2B 5c47c68840fa1444118ba11372d74675a68d178e30ee2b2ba179f1bee8fb97bc7178b34015c29b0688f88391ca9ee2c2f229cfa7b7bc812d2ece9721f8b84d6f SHA512 03980f6925a60032872acea0fb2693a2651b81b8656ad3a7b4adfb129bcd925cc6470e2dab293ba9618e8dd45f0ba76c2d8f4c908182747b0266fa02a268b734
diff --git a/dev-lang/perl/metadata.xml b/dev-lang/perl/metadata.xml
index 85752872812a..4105918061bf 100644
--- a/dev-lang/perl/metadata.xml
+++ b/dev-lang/perl/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<use>
<flag name="ithreads">Enable Perl threads, has some compatibility problems</flag>
+ <flag name="quadmath">Enable 128bit floating point arithmetic via libquadmath</flag>
</use>
<upstream>
<remote-id type="github">arsv/perl-cross</remote-id>
diff --git a/dev-lang/perl/perl-5.34.0-r5.ebuild b/dev-lang/perl/perl-5.34.0-r7.ebuild
index effe3c01df9a..b11f241e679c 100644
--- a/dev-lang/perl/perl-5.34.0-r5.ebuild
+++ b/dev-lang/perl/perl-5.34.0-r7.ebuild
@@ -55,7 +55,7 @@ if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
-IUSE="berkdb debug doc gdbm ithreads minimal"
+IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
RDEPEND="
berkdb? ( sys-libs/db:= )
@@ -70,6 +70,7 @@ BDEPEND="${RDEPEND}"
PDEPEND="
!minimal? (
>=app-admin/perl-cleaner-2.5
+ >=virtual/perl-CPAN-2.290.0
>=virtual/perl-Encode-3.120.0
>=virtual/perl-File-Temp-0.230.400-r2
>=virtual/perl-Data-Dumper-2.154.0
@@ -125,13 +126,16 @@ check_rebuild() {
return 0;
# Reinstall w/ USE Change
- elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
+ elif
+ ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
+ ( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
+ ( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
( use debug && ! has_version dev-lang/perl[debug] ) || \
( ! use debug && has_version dev-lang/perl[debug] ) ; then
echo ""
ewarn "TOGGLED USE-FLAGS WARNING:"
- ewarn "You changed one of the use-flags ithreads or debug."
+ ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
ewarn "You must rebuild all perl-modules installed."
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
fi
@@ -153,6 +157,9 @@ pkg_setup() {
if use debug ; then
myarch+="-debug"
fi
+ if use quadmath ; then
+ myarch+="-quadmath"
+ fi
if use ithreads ; then
mythreading="-multi"
myarch+="-thread"
@@ -429,6 +436,12 @@ src_prepare() {
if [[ ${CHOST} == *-darwin* ]] ; then
# fix install_name (soname) not to reference $D
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
+
+ # fix environ linkage absence (only a real issue on Darwin9)
+ if [[ ${CHOST##*-darwin} -le 9 ]] ; then
+ sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
+ Makefile.SH || die
+ fi
fi
default
@@ -566,6 +579,8 @@ src_configure() {
use ithreads && myconf -Dusethreads
+ use quadmath && myconf -Dusequadmath
+
if use debug ; then
append-cflags "-g"
myconf -DDEBUGGING
@@ -613,9 +628,11 @@ src_configure() {
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
# Older macOS with non-Apple GCC chokes on inline in system headers
- # using c89 mode as injected by cflags.SH
+ # using c89 mode as injected by cflags.SH, in addition, we override
+ # cflags, so we loose PERL_DARWIN which enables compat code that
+ # apparently on more recent macOS releases is no longer necessary
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
- append-cflags -Dinline=__inline__
+ append-cflags -Dinline=__inline__ -DPERL_DARWIN
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
[[ ${CHOST} == sparc-*-solaris* ]] && \
diff --git a/dev-lang/perl/perl-5.34.0-r3.ebuild b/dev-lang/perl/perl-5.34.0-r8.ebuild
index 8f3eb1ad8b3f..8b1b6df7213c 100644
--- a/dev-lang/perl/perl-5.34.0-r3.ebuild
+++ b/dev-lang/perl/perl-5.34.0-r8.ebuild
@@ -14,18 +14,16 @@ DIST_AUTHOR=XSAWYERX
# Greatest first, don't include yourself
# Devel point-releases are not ABI-intercompatible, but stable point releases are
-# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions
+# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
PERL_BIN_OLDVERSEN=""
-# Yes we can.
-PERL_SINGLE_SLOT=y
-
if [[ "${PV##*.}" == "9999" ]]; then
DIST_VERSION=5.30.0
else
DIST_VERSION="${PV/_rc/-RC}"
fi
SHORT_PV="${DIST_VERSION%.*}"
+
# Even numbered major versions are ABI intercompatible
# Odd numbered major versions are not
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
@@ -33,6 +31,7 @@ if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
else
SUBSLOT="${DIST_VERSION%.*}"
fi
+
# Used only in tar paths
MY_P="perl-${DIST_VERSION}"
# Used in library paths
@@ -53,10 +52,10 @@ LICENSE="|| ( Artistic GPL-1+ )"
SLOT="0/${SUBSLOT}"
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
-IUSE="berkdb debug doc gdbm ithreads minimal"
+IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
RDEPEND="
berkdb? ( sys-libs/db:= )
@@ -71,6 +70,7 @@ BDEPEND="${RDEPEND}"
PDEPEND="
!minimal? (
>=app-admin/perl-cleaner-2.5
+ >=virtual/perl-CPAN-2.290.0
>=virtual/perl-Encode-3.120.0
>=virtual/perl-File-Temp-0.230.400-r2
>=virtual/perl-Data-Dumper-2.154.0
@@ -126,13 +126,16 @@ check_rebuild() {
return 0;
# Reinstall w/ USE Change
- elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
+ elif
+ ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
+ ( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
+ ( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
( use debug && ! has_version dev-lang/perl[debug] ) || \
( ! use debug && has_version dev-lang/perl[debug] ) ; then
echo ""
ewarn "TOGGLED USE-FLAGS WARNING:"
- ewarn "You changed one of the use-flags ithreads or debug."
+ ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
ewarn "You must rebuild all perl-modules installed."
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
fi
@@ -154,6 +157,9 @@ pkg_setup() {
if use debug ; then
myarch+="-debug"
fi
+ if use quadmath ; then
+ myarch+="-quadmath"
+ fi
if use ithreads ; then
mythreading="-multi"
myarch+="-thread"
@@ -165,24 +171,12 @@ pkg_setup() {
LIBPERL="libperl$(get_libname ${MY_PV} )"
- # This ENV var tells perl to build with a directory like "5.30"
- # regardless of its patch version. This is for experts only
- # at this point.
- if [[ -z "${PERL_SINGLE_SLOT}" ]]; then
- PRIV_LIB="${PRIV_BASE}/${MY_PV}"
- ARCH_LIB="${PRIV_BASE}/${MY_PV}/${myarch}${mythreading}"
- SITE_LIB="${SITE_BASE}/${MY_PV}"
- SITE_ARCH="${SITE_BASE}/${MY_PV}/${myarch}${mythreading}"
- VENDOR_LIB="${VENDOR_BASE}/${MY_PV}"
- VENDOR_ARCH="${VENDOR_BASE}/${MY_PV}/${myarch}${mythreading}"
- else
- PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
- ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
- SITE_LIB="${SITE_BASE}/${SUBSLOT}"
- SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
- VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
- VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
- fi
+ PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
+ ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
+ SITE_LIB="${SITE_BASE}/${SUBSLOT}"
+ SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
+ VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
+ VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
dual_scripts
}
@@ -264,6 +258,7 @@ src_prepare_perlcross() {
MAKEOPTS+=" -j1"
export MAKEOPTS
}
+
src_prepare_dynamic() {
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
ln -s ${LIBPERL} libperl$(get_libname ) || die
@@ -292,9 +287,10 @@ add_patch() {
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
fi
}
+
# Remove a patch using a glob expr
# eg:
-# rm_patch *-darin-Use-CC*
+# rm_patch *-darwin-Use-CC*
#
rm_patch() {
local patchdir="${WORKDIR}/patches"
@@ -307,6 +303,7 @@ rm_patch() {
ewarn "No ${expr} found in ${patchdir} to remove"
fi
}
+
# Yes, this is a reasonable amount of code for something seemingly simple
# but this is far easier to debug when things go wrong, and things went wrong
# multiple times while I was getting the exact number of slashes right, which
@@ -388,6 +385,7 @@ apply_patchdir() {
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
}
+
src_prepare() {
local patchdir="${WORKDIR}/patches"
@@ -402,6 +400,12 @@ src_prepare() {
"Fix GDBM_File to compile with version 1.20 and earlier"\
"https://bugs.gentoo.org/802945"
+ if use prefix ; then
+ add_patch "${FILESDIR}/${P}"-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
+ "Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
+ "https://bugs.gentoo.org/818172"
+ fi
+
if [[ ${CHOST} == *-solaris* ]] ; then
# do NOT mess with nsl, on Solaris this is always necessary,
# when -lsocket is used e.g. to get h_errno
@@ -432,6 +436,12 @@ src_prepare() {
if [[ ${CHOST} == *-darwin* ]] ; then
# fix install_name (soname) not to reference $D
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
+
+ # fix environ linkage absence (only a real issue on Darwin9)
+ if [[ ${CHOST##*-darwin} -le 9 ]] ; then
+ sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
+ Makefile.SH || die
+ fi
fi
default
@@ -448,16 +458,10 @@ myconf() {
# /usr/local/lib64/perl5/<NUMBER>
# /usr/lib64/perl5/vendor_perl/<NUMBER>
#
-# All values of NUMBER must be like "5.x.y", unless PERL_SUPPORT_SINGLE_SLOT
-# is enabled, where it will also allow numbers like "5.x"
+# All values of NUMBER must be like "5.x.y" or like "5.x"
#
-# PERL_SUPPORT_SINGLE_SLOT should only be used to transition *away* from PERL_SINGLE_SLOT
-# if you used that.
find_candidate_inc_versions() {
- local regex='.*/5[.][0-9]+[.][0-9]+$';
- if [[ ! -z "${PERL_SUPPORT_SINGLE_SLOT}" || ! -z "${PERL_SINGLE_SLOT}" ]]; then
- regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
- fi
+ local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
local dirs=(
"${EROOT}${PRIV_BASE}"
"${EROOT}${SITE_BASE}"
@@ -481,13 +485,11 @@ find_candidate_inc_versions() {
einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
}
+
# Sort versions passed versiony-ly, remove self-version if present
# dedup. Takes each version as an argument
sanitize_inc_versions() {
- local vexclude="${DIST_VERSION%-RC}"
- if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
- vexclude="${SUBSLOT}"
- fi
+ local vexclude="${SUBSLOT}"
einfo "Normalizing/Sorting candidate list: $*"
einfo " to remove '${vexclude}'"
# Note, general numeric sort has to be used
@@ -499,22 +501,18 @@ sanitize_inc_versions() {
}
versions_to_inclist() {
- local oldv="${PERL_BIN_OLDVERSEN}"
- if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
- oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
- fi
+ local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
+
for v; do
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
echo -n "${v}/ ";
done
}
+
versions_to_gentoolibdirs() {
- local oldv="${PERL_BIN_OLDVERSEN}"
+ local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
local root
local v
- if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
- oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
- fi
for v; do
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
local fullpath="${EROOT}${root}/${v}"
@@ -581,6 +579,8 @@ src_configure() {
use ithreads && myconf -Dusethreads
+ use quadmath && myconf -Dusequadmath
+
if use debug ; then
append-cflags "-g"
myconf -DDEBUGGING
@@ -628,9 +628,11 @@ src_configure() {
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
# Older macOS with non-Apple GCC chokes on inline in system headers
- # using c89 mode as injected by cflags.SH
+ # using c89 mode as injected by cflags.SH, in addition, we override
+ # cflags, so we loose PERL_DARWIN which enables compat code that
+ # apparently on more recent macOS releases is no longer necessary
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
- append-cflags -Dinline=__inline__
+ append-cflags -Dinline=__inline__ -DPERL_DARWIN
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
[[ ${CHOST} == sparc-*-solaris* ]] && \
@@ -680,6 +682,7 @@ src_configure() {
-Dnm="$(tc-getNM)" \
-Dcpp="$(tc-getCPP)" \
-Dranlib="$(tc-getRANLIB)" \
+ -Accflags="${CFLAGS}" \
-Doptimize="${CFLAGS}" \
-Dldflags="${LDFLAGS}" \
-Dprefix="${EPREFIX}"'/usr' \
@@ -712,7 +715,6 @@ src_configure() {
-Dsh="${EPREFIX}"/bin/sh \
-Dtargetsh="${EPREFIX}"/bin/sh \
-Uusenm \
- "${myconf[@]}" \
"${EXTRA_ECONF[@]}"
if tc-is-cross-compiler; then
diff --git a/dev-lang/perl/perl-5.34.1.ebuild b/dev-lang/perl/perl-5.34.1.ebuild
new file mode 100644
index 000000000000..126d1d65308c
--- /dev/null
+++ b/dev-lang/perl/perl-5.34.1.ebuild
@@ -0,0 +1,824 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
+
+PATCH_VER=1
+CROSS_VER=1.3.7
+PATCH_BASE="perl-5.34.0-patches-${PATCH_VER}"
+PATCH_DEV=dilfridge
+
+DIST_AUTHOR=XSAWYERX
+
+# Greatest first, don't include yourself
+# Devel point-releases are not ABI-intercompatible, but stable point releases are
+# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
+PERL_BIN_OLDVERSEN=""
+
+if [[ "${PV##*.}" == "9999" ]]; then
+ DIST_VERSION=5.30.0
+else
+ DIST_VERSION="${PV/_rc/-RC}"
+fi
+SHORT_PV="${DIST_VERSION%.*}"
+
+# Even numbered major versions are ABI intercompatible
+# Odd numbered major versions are not
+if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
+ SUBSLOT="${DIST_VERSION%-RC*}"
+else
+ SUBSLOT="${DIST_VERSION%.*}"
+fi
+
+# Used only in tar paths
+MY_P="perl-${DIST_VERSION}"
+# Used in library paths
+MY_PV="${DIST_VERSION%-RC*}"
+
+DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
+
+SRC_URI="
+ mirror://cpan/src/5.0/${MY_P}.tar.xz
+ mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
+ https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
+ https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
+"
+HOMEPAGE="https://www.perl.org/"
+
+LICENSE="|| ( Artistic GPL-1+ )"
+SLOT="0/${SUBSLOT}"
+
+if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
+
+RDEPEND="
+ berkdb? ( sys-libs/db:= )
+ gdbm? ( >=sys-libs/gdbm-1.8.3:= )
+ app-arch/bzip2
+ sys-libs/zlib
+ virtual/libcrypt:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="${RDEPEND}"
+
+PDEPEND="
+ !minimal? (
+ >=app-admin/perl-cleaner-2.5
+ >=virtual/perl-CPAN-2.290.0
+ >=virtual/perl-Encode-3.120.0
+ >=virtual/perl-File-Temp-0.230.400-r2
+ >=virtual/perl-Data-Dumper-2.154.0
+ virtual/perl-Test-Harness
+ )
+"
+# bug 390719, bug 523624
+# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
+
+S="${WORKDIR}/${MY_P}"
+
+dual_scripts() {
+ src_remove_dual perl-core/Archive-Tar 2.380.0 ptar ptardiff ptargrep
+ src_remove_dual perl-core/CPAN 2.280.0 cpan
+ src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
+ src_remove_dual perl-core/Encode 3.80.100_rc enc2xs piconv
+ src_remove_dual perl-core/ExtUtils-MakeMaker 7.620.0 instmodsh
+ src_remove_dual perl-core/ExtUtils-ParseXS 3.430.0 xsubpp
+ src_remove_dual perl-core/IO-Compress 2.102.0 zipdetails
+ src_remove_dual perl-core/JSON-PP 4.60.0 json_pp
+ src_remove_dual perl-core/Module-CoreList 5.202.203.130 corelist
+ src_remove_dual perl-core/Pod-Checker 1.740.0 podchecker
+ src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
+ src_remove_dual perl-core/Pod-Usage 2.10.0 pod2usage
+ src_remove_dual perl-core/Test-Harness 3.430.0 prove
+ src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
+ src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
+}
+
+check_rebuild() {
+ # Fresh install
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ return 0;
+ # Major Upgrade
+ # doesn't matter if there's multiple copies, it still needs a rebuild
+ # if the string is anything other than "5.CURRENTMAJOR"
+ elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
+ echo ""
+ ewarn "UPDATE THE PERL MODULES:"
+ ewarn "After updating dev-lang/perl the installed Perl modules"
+ ewarn "have to be re-installed. In most cases, this is done automatically"
+ ewarn "by the package manager, but subsequent steps are still recommended"
+ ewarn "to ensure system consistency."
+ ewarn
+ ewarn "You should start with a depclean to remove any unused perl dependencies"
+ ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
+ ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
+ ewarn "Recommended: emerge --depclean -va"
+ ewarn
+ ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
+ ewarn "remaining rebuilds portage may have missed."
+ ewarn "Use: perl-cleaner --all"
+ return 0;
+
+ # Reinstall w/ USE Change
+ elif
+ ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
+ ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
+ ( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
+ ( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
+ ( use debug && ! has_version dev-lang/perl[debug] ) || \
+ ( ! use debug && has_version dev-lang/perl[debug] ) ; then
+ echo ""
+ ewarn "TOGGLED USE-FLAGS WARNING:"
+ ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
+ ewarn "You must rebuild all perl-modules installed."
+ ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
+ fi
+}
+
+pkg_setup() {
+ case ${CHOST} in
+ *-freebsd*) osname="freebsd" ;;
+ *-dragonfly*) osname="dragonfly" ;;
+ *-netbsd*) osname="netbsd" ;;
+ *-openbsd*) osname="openbsd" ;;
+ *-darwin*) osname="darwin" ;;
+ *-solaris*) osname="solaris" ;;
+ *-cygwin*) osname="cygwin" ;;
+ *) osname="linux" ;;
+ esac
+
+ myarch="${CHOST%%-*}-${osname}"
+ if use debug ; then
+ myarch+="-debug"
+ fi
+ if use quadmath ; then
+ myarch+="-quadmath"
+ fi
+ if use ithreads ; then
+ mythreading="-multi"
+ myarch+="-thread"
+ fi
+
+ PRIV_BASE="/usr/$(get_libdir)/perl5"
+ SITE_BASE="/usr/local/$(get_libdir)/perl5"
+ VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
+
+ LIBPERL="libperl$(get_libname ${MY_PV} )"
+
+ PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
+ ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
+ SITE_LIB="${SITE_BASE}/${SUBSLOT}"
+ SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
+ VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
+ VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
+
+ dual_scripts
+}
+
+src_remove_dual_file() {
+ local i pkg ver
+ pkg="$1"
+ ver="$2"
+ shift 2
+ case "${EBUILD_PHASE:-none}" in
+ postinst|postrm)
+ for i in "$@" ; do
+ alternatives_auto_makesym "${i}" "${i}-[0-9]*"
+ done
+ ;;
+ setup)
+ for i in "$@" ; do
+ if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
+ has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
+ break
+ fi
+ done
+ ;;
+ install)
+ for i in "$@" ; do
+ if ! [[ -f "${ED}"${i} ]] ; then
+ ewarn "${i} does not exist!"
+ continue
+ fi
+ mv "${ED}"${i}{,-${ver}-${P}} || die
+ done
+ ;;
+ esac
+}
+
+src_remove_dual_man() {
+ local i pkg ver ff
+ pkg="$1"
+ ver="$2"
+ shift 2
+ case "${EBUILD_PHASE:-none}" in
+ postinst|postrm)
+ for i in "$@" ; do
+ ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
+ ff=${ff##*${i#${i%.[0-9]}}}
+ alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
+ done
+ ;;
+ install)
+ for i in "$@" ; do
+ if ! [[ -f "${ED}"${i} ]] ; then
+ ewarn "${i} does not exist!"
+ continue
+ fi
+ mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
+ done
+ ;;
+ esac
+}
+
+src_remove_dual() {
+ local i pkg ver
+ pkg="$1"
+ ver="$2"
+ shift 2
+ for i in "$@" ; do
+ src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
+ src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
+ done
+}
+
+src_prepare_perlcross() {
+ cp -a ../perl-cross-${CROSS_VER}/* . || die
+
+ # bug 794463, needs further analysis what is exactly wrong here
+ eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
+
+ # bug 604072
+ MAKEOPTS+=" -j1"
+ export MAKEOPTS
+}
+
+src_prepare_dynamic() {
+ ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
+ ln -s ${LIBPERL} libperl$(get_libname ) || die
+}
+
+# Copy a patch into the patch series
+# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
+# - description is optional, but recommended
+# - all arguments after descriptions are bug URLs
+add_patch() {
+ local patchdir="${WORKDIR}/patches"
+ local infodir="${WORKDIR}/patch-info"
+ local src_name dest_name desc
+ src_name="$1"
+ dest_name="$2"
+ desc="$3"
+ shift; shift; shift;
+ einfo "Adding ${dest_name} to patch bundle"
+ cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
+ if [[ -n "${desc}" ]]; then
+ printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
+ fi
+ if [[ $# -gt 0 ]]; then
+ # Note: when $@ is more than one element, this emits a
+ # line for each element
+ printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
+ fi
+}
+
+# Remove a patch using a glob expr
+# eg:
+# rm_patch *-darwin-Use-CC*
+#
+rm_patch() {
+ local patchdir="${WORKDIR}/patches"
+ local expr="$1"
+ local patch="$( cd "${patchdir}"; echo $expr )"
+ einfo "Removing $patch ($expr) from patch bundle"
+ if [[ -e "${patchdir}/${patch}" ]]; then
+ rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
+ else
+ ewarn "No ${expr} found in ${patchdir} to remove"
+ fi
+}
+
+# Yes, this is a reasonable amount of code for something seemingly simple
+# but this is far easier to debug when things go wrong, and things went wrong
+# multiple times while I was getting the exact number of slashes right, which
+# requires circumnavigating both bash and sed escape mechanisms.
+c_escape_string() {
+ local slash dquote
+ slash='\'
+ dquote='"'
+ re_slash="${slash}${slash}"
+ re_dquote="${slash}${dquote}"
+
+ # Convert \ to \\,
+ # " to \"
+ echo "$1" |\
+ sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
+ sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
+}
+c_escape_file() {
+ c_escape_string "$(cat "$1")"
+}
+
+apply_patchdir() {
+ local patchdir="${WORKDIR}/patches"
+ local infodir="${WORKDIR}/patch-info"
+ local patchoutput="patchlevel-gentoo.h"
+
+ # Inject Patch-Level info into description for patchlevel.h patch
+ # to show in -V
+ local patch_expr="*List-packaged-patches*"
+ local patch="$( cd "${patchdir}"; echo $patch_expr )";
+ einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
+
+ if [[ -e "${patchdir}/${patch}" ]]; then
+ printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
+ >"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
+ else
+ eerror "No $patch_expr found in ${patchdir}"
+ fi
+
+ # Compute patch list to apply
+ # different name other than PATCHES to stop default
+ # reapplying it
+ # Single depth is currently only supported, as artifacts can reside
+ # from the old layout being multiple-directories, as well as it grossly
+ # simplifying the patchlevel_gentoo.h generation.
+ local PERL_PATCHES=($(
+ find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
+ grep -E '[.](diff|patch)$' |\
+ sort -n
+ ))
+
+ for patch in "${PERL_PATCHES[@]}"; do
+ eapply "${WORKDIR}"/patches/${patch}
+ done
+
+ einfo "Generating $patchoutput"
+
+ # This code creates a header file, each iteration
+ # creates one-or-more-lines for each entry found in PERL_PATCHES
+ # and STDOUT is redirected to the .h file
+ for patch in "${PERL_PATCHES[@]}"; do
+ local desc_f="${infodir}/${patch}.desc"
+ local bugs_f="${infodir}/${patch}.bugs"
+
+ printf ',"%s"\n' "${patch}"
+ if [[ ! -e "${desc_f}" ]]; then
+ ewarn "No description provided for ${patch} (expected: ${desc_f} )"
+ else
+ local desc="$(c_escape_file "${desc_f}")"
+ printf ',"- %s"\n' "${desc}"
+ fi
+ if [[ -e "${bugs_f}" ]]; then
+ while read -d $'\n' -r line; do
+ local esc_line="$(c_escape_string "${line}")"
+ printf ',"- Bug: %s"\n' "${esc_line}"
+ done <"${bugs_f}"
+ fi
+ done > "${S}/${patchoutput}"
+ printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
+
+}
+
+src_prepare() {
+ local patchdir="${WORKDIR}/patches"
+
+ # Prepare Patch dir with additional patches / remove unwanted patches
+ # Inject bug/desc entries for perl -V
+ # Old example:
+ # add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
+ # "Fix broken miniperl on hppa"\
+ # "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
+
+ if use prefix ; then
+ add_patch "${FILESDIR}/${PN}"-5.34.0-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
+ "Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
+ "https://bugs.gentoo.org/818172"
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # do NOT mess with nsl, on Solaris this is always necessary,
+ # when -lsocket is used e.g. to get h_errno
+ rm_patch "*-nsl-and-cl*"
+ fi
+
+ apply_patchdir
+
+ tc-is-cross-compiler && src_prepare_perlcross
+
+ tc-is-static-only || src_prepare_dynamic
+
+ if use gdbm; then
+ sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
+ ext/NDBM_File/Makefile.PL || die
+ fi
+
+ # Use errno.h from prefix rather than from host system, bug #645804
+ if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
+ sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # set a soname, fix linking against just built libperl
+ sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
+ fi
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fix install_name (soname) not to reference $D
+ sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
+
+ # fix environ linkage absence (only a real issue on Darwin9)
+ if [[ ${CHOST##*-darwin} -le 9 ]] ; then
+ sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
+ Makefile.SH || die
+ fi
+ fi
+
+ default
+}
+
+myconf() {
+ # the myconf array is declared in src_configure
+ myconf=( "${myconf[@]}" "$@" )
+}
+
+# Outputs a list of versions which have been seen in any of the
+# primary perl @INC prefix paths, such as:
+# /usr/lib64/perl5/<NUMBER>
+# /usr/local/lib64/perl5/<NUMBER>
+# /usr/lib64/perl5/vendor_perl/<NUMBER>
+#
+# All values of NUMBER must be like "5.x.y" or like "5.x"
+#
+find_candidate_inc_versions() {
+ local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
+ local dirs=(
+ "${EROOT}${PRIV_BASE}"
+ "${EROOT}${SITE_BASE}"
+ "${EROOT}${VENDOR_BASE}"
+ )
+ for dir in "${dirs[@]}"; do
+ if [[ ! -e "${dir}" ]]; then
+ continue
+ fi
+ # Without access to readdir() on these dirs, find will not be able
+ # to reveal any @INC directories inside them, and will subsequently prune
+ # them from the built perl's @INC support, breaking our compatiblity options
+ # entirely.
+ if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
+ eerror "Bad permissions on ${dir}, this will probably break things"
+ eerror "Ensure ${dir} is +rx for at least uid=$EUID"
+ eerror "Recommended permission is +rx for all"
+ eerror "> chmod o+rx ${dir}"
+ fi
+ done
+ einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
+ find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
+}
+
+# Sort versions passed versiony-ly, remove self-version if present
+# dedup. Takes each version as an argument
+sanitize_inc_versions() {
+ local vexclude="${SUBSLOT}"
+ einfo "Normalizing/Sorting candidate list: $*"
+ einfo " to remove '${vexclude}'"
+ # Note, general numeric sort has to be used
+ # for the last component, or unique will convert
+ # 5.30.0 + 5.30 into just 5.30
+ printf "%s\n" "$@" |\
+ grep -vxF "${vexclude}" |\
+ sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
+}
+
+versions_to_inclist() {
+ local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
+
+ for v; do
+ has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
+ echo -n "${v}/ ";
+ done
+}
+
+versions_to_gentoolibdirs() {
+ local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
+ local root
+ local v
+ for v; do
+ for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
+ local fullpath="${EROOT}${root}/${v}"
+ if [[ -e "${fullpath}" ]]; then
+ has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
+ printf "%s:" "${fullpath}"
+ fi
+ done
+ done
+}
+
+src_configure() {
+ declare -a myconf
+
+ export LC_ALL="C"
+ [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
+
+ # Perl has problems compiling with -Os in your flags with glibc
+ replace-flags "-Os" "-O2"
+
+ # xlocale.h is going away in glibc-2.26, so it's counterproductive
+ # if we use it and include it in CORE/perl.h ... Perl builds just
+ # fine with glibc and locale.h only.
+ # However, the darwin prefix people have no locale.h ...
+ use elibc_glibc && myconf -Ui_xlocale
+
+ # This flag makes compiling crash in interesting ways
+ filter-flags "-malign-double"
+
+ # Generic LTO broken since 5.28, triggers EUMM failures
+ filter-flags "-flto"
+
+ use sparc && myconf -Ud_longdbl
+
+ export BUILD_BZIP2=0
+ export BZIP2_INCLUDE=${EROOT}/usr/include
+ export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
+
+ export BUILD_ZLIB=False
+ export ZLIB_INCLUDE=${EROOT}/usr/include
+ export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
+
+ # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
+ myndbm='U'
+ mygdbm='U'
+ mydb='U'
+ if use gdbm ; then
+ mygdbm='D'
+ if use berkdb ; then
+ myndbm='D'
+ fi
+ fi
+ if use berkdb ; then
+ mydb='D'
+ has_version '=sys-libs/db-1*' && myndbm='D'
+ fi
+
+ myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
+
+ if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
+ ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
+ myconf -Ui_db -Ui_ndbm
+ fi
+
+ use ithreads && myconf -Dusethreads
+
+ use quadmath && myconf -Dusequadmath
+
+ if use debug ; then
+ append-cflags "-g"
+ myconf -DDEBUGGING
+ elif [[ ${CFLAGS} == *-g* ]] ; then
+ myconf -DDEBUGGING=-g
+ else
+ myconf -DDEBUGGING=none
+ fi
+
+ # modifying 'optimize' prevents cross configure script from appending required flags
+ if tc-is-cross-compiler; then
+ append-cflags "-fwrapv -fno-strict-aliasing"
+ fi
+
+ # Autodiscover all old version directories, some of them will even be newer
+ # if you downgrade
+ if [[ -z ${PERL_OLDVERSEN} ]]; then
+ PERL_OLDVERSEN="$( find_candidate_inc_versions )"
+ fi
+
+ # Fixup versions, removing self match, fixing order and dupes
+ PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
+
+ # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
+ if [[ -n "${PERL_OLDVERSEN// }" ]]; then
+ local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
+ einfo "This version of perl may partially support modules previously"
+ einfo "installed in any of the following paths:"
+ for incpath in ${inclist}; do
+ [[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
+ [[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
+ [[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
+ done
+ einfo "This is a temporary measure and you should aim to cleanup these paths"
+ einfo "via world updates and perl-cleaner"
+ # myconf -Dinc_version_list="${inclist}"
+ myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
+ fi
+
+ [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
+
+ # Make sure we can do the final link #523730, need to set deployment
+ # target to override hardcoded 10.3 which breaks on modern OSX
+ [[ ${CHOST} == *-darwin* ]] && \
+ myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
+
+ # Older macOS with non-Apple GCC chokes on inline in system headers
+ # using c89 mode as injected by cflags.SH, in addition, we override
+ # cflags, so we loose PERL_DARWIN which enables compat code that
+ # apparently on more recent macOS releases is no longer necessary
+ [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
+ append-cflags -Dinline=__inline__ -DPERL_DARWIN
+
+ # flock on 32-bit sparc Solaris is broken, fall back to fcntl
+ [[ ${CHOST} == sparc-*-solaris* ]] && \
+ myconf -Ud_flock
+
+ # Prefix: the host system needs not to follow Gentoo multilib stuff, and in
+ # Prefix itself we don't do multilib either, so make sure perl can find
+ # something compatible.
+ if use prefix ; then
+ # Set a hook to check for each detected library whether it actually works.
+ export libscheck="
+ ( echo 'main(){}' > '${T}'/conftest.c &&
+ $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
+ ) || xxx=/dev/null"
+
+ # Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
+ local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
+ myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
+ elif [[ $(get_libdir) != "lib" ]] ; then
+ # We need to use " and not ', as the written config.sh use ' ...
+ myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
+ fi
+
+ # don't try building ODBM, bug #354453
+ disabled_extensions="ODBM_File"
+
+ if ! use gdbm ; then
+ # workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
+ disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
+ fi
+
+ myconf -Dnoextensions="${disabled_extensions}"
+
+ [[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
+
+ [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
+ # allow fiddling via EXTRA_ECONF, bug 558070
+ eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
+
+ # setting -Dld= to tc-getLD breaks perl and all perl things
+ # https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
+ myconf \
+ -Duseshrplib \
+ -Darchname="${myarch}" \
+ -Dcc="$(tc-getCC)" \
+ -Dar="$(tc-getAR)" \
+ -Dnm="$(tc-getNM)" \
+ -Dcpp="$(tc-getCPP)" \
+ -Dranlib="$(tc-getRANLIB)" \
+ -Accflags="${CFLAGS}" \
+ -Doptimize="${CFLAGS}" \
+ -Dldflags="${LDFLAGS}" \
+ -Dprefix="${EPREFIX}"'/usr' \
+ -Dsiteprefix="${EPREFIX}"'/usr/local' \
+ -Dvendorprefix="${EPREFIX}"'/usr' \
+ -Dscriptdir="${EPREFIX}"'/usr/bin' \
+ -Dprivlib="${EPREFIX}${PRIV_LIB}" \
+ -Darchlib="${EPREFIX}${ARCH_LIB}" \
+ -Dsitelib="${EPREFIX}${SITE_LIB}" \
+ -Dsitearch="${EPREFIX}${SITE_ARCH}" \
+ -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
+ -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
+ -Dman1dir="${EPREFIX}"/usr/share/man/man1 \
+ -Dman3dir="${EPREFIX}"/usr/share/man/man3 \
+ -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
+ -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
+ -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
+ -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
+ -Dman1ext='1' \
+ -Dman3ext='3pm' \
+ -Dlibperl="${LIBPERL}" \
+ -Dlocincpth="${EPREFIX}"'/usr/include ' \
+ -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
+ -Duselargefiles \
+ -Dd_semctl_semun \
+ -Dcf_by='Gentoo' \
+ -Dmyhostname='localhost' \
+ -Dperladmin='root@localhost' \
+ -Ud_csh \
+ -Dsh="${EPREFIX}"/bin/sh \
+ -Dtargetsh="${EPREFIX}"/bin/sh \
+ -Uusenm \
+ "${EXTRA_ECONF[@]}"
+
+ if tc-is-cross-compiler; then
+ ./configure \
+ --target="${CHOST}" \
+ --build="${CBUILD}" \
+ -Dinstallprefix='' \
+ -Dinstallusrbinperl='undef' \
+ -Dusevendorprefix='define' \
+ "${myconf[@]}" \
+ || die "Unable to configure"
+ else
+ sh Configure \
+ -des \
+ -Dinstallprefix="${EPREFIX}"'/usr' \
+ -Dinstallusrbinperl='n' \
+ "${myconf[@]}" \
+ || die "Unable to configure"
+ fi
+}
+
+src_test() {
+ export NO_GENTOO_NETWORK_TESTS=1;
+ export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
+ export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
+ if [[ ${EUID} == 0 ]] ; then
+ ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
+ return 0
+ fi
+ TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
+}
+
+src_install() {
+ local i
+ local coredir="${ARCH_LIB}/CORE"
+
+ emake DESTDIR="${D}" install
+
+ rm -f "${ED}/usr/bin/perl${MY_PV}"
+ ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
+
+ if ! tc-is-static-only ; then
+ dolib.so "${ED}"${coredir}/${LIBPERL}
+ rm -f "${ED}"${coredir}/${LIBPERL}
+ ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
+ ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
+
+ ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
+ ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
+ ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
+ fi
+
+ rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
+
+ # This removes ${D} from Config.pm
+ for i in $(find "${D}" -iname "Config.pm" ) ; do
+ einfo "Removing ${D} from ${i}..."
+ sed -i -e "s:${D}::" "${i}" || die "Sed failed"
+ done
+
+ dodoc Changes* README AUTHORS
+
+ if use doc ; then
+ # HTML Documentation
+ # We expect errors, warnings, and such with the following.
+
+ dodir /usr/share/doc/${PF}/html
+ LD_LIBRARY_PATH=. ./perl installhtml \
+ --podroot='.' \
+ --podpath='lib:ext:pod:vms' \
+ --recurse \
+ --htmldir="${ED}/usr/share/doc/${PF}/html"
+ fi
+
+ [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
+
+ dual_scripts
+}
+
+pkg_preinst() {
+ check_rebuild
+}
+
+pkg_postinst() {
+ dual_scripts
+
+ if [[ "${ROOT}" = "/" ]] ; then
+ local INC DIR file
+ INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
+ einfo "Removing old .ph files"
+ for DIR in ${INC} ; do
+ if [[ -d "${DIR}" ]] ; then
+ for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
+ rm -f "${file}"
+ einfo "<< ${file}"
+ done
+ fi
+ done
+ # Silently remove the now empty dirs
+ for DIR in ${INC} ; do
+ if [[ -d "${DIR}" ]] ; then
+ find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
+ fi
+ done
+
+ fi
+}
+
+pkg_postrm() {
+ dual_scripts
+}
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index bd489269ca58..c93dc0f7fa76 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -8,21 +8,16 @@ AUX php-iodbc-header-location.patch 481 BLAKE2B 9ea6a5d529dc7a8c78eeee800900372b
AUX php80-firebird-warnings.patch 1949 BLAKE2B ab1b693afe26b6529aab8628f9a614478c388ed23603ad1dd4d17b63154d535a3e4c2db04fe27fb22a3d7e1335e368ffd383ed24647ac53ac05170ec3e1beb75 SHA512 d37815ea529167d4959aef056a3a0be6902ee4cda809a48c24299b05ff6477ee82e8ed8dcf49051b8e74ba5c31e3985454591ea751d4550df3d2e3639ec0d616
DIST php-7.3.32.tar.xz 12142436 BLAKE2B 375092f7fade8b93d2fbf409552cda42a685267248e3bce373913eeae5f133e7773554c2302b12bf09588d74a76898b138c47287f7d9a721f294635799ca46f6 SHA512 afed20a90aa7d207f9b409fb2066789a637b24d6c6874fc5733bbe6e9972616b387669ce40cba16b606893d88572f398e34aff7a36626308e3ede312f09fcc56
DIST php-7.3.33.tar.xz 12143820 BLAKE2B 77b5ada50169b308b42dbf2c69b5aebd6e9ab9663be8de5bd26391e42015d856631f12b0268b98889f2c3058564a6c71ad298b725b8afff920e277aa3e787422 SHA512 b05edb3e87775c0b2d7bd5990e47751279076e6ef2356f59dc917f4a1447d95894f596cd8de711f03278650ff74ff9f2687ed96cec69d2d669a6af563a455e25
-DIST php-7.4.25.tar.xz 10376304 BLAKE2B 75682840a9e978d2ce350892bb8d743238f1ca86d4e1bb549637ad259541264c911128d3fbb2a89768acaa366eac91e66b26f8411f6b9f6d55475b139f5ae95a SHA512 7fcb236f6d2a92514059b2e107c2b592e6139e3c65046566ae98fb9d2c09eb3e9ca1a41ea6535fc814bc7127d8fd9f8bb5a80bd86eec32120eb150a34b9b5c34
-DIST php-7.4.26.tar.xz 10420236 BLAKE2B d4675ecf3632bb63e24d2f3cdef10c01fbf4a7a28384abc1e2eeb9ae7dc4ecfe341b95d946e182647837f4e082f0261e2ba921822ec5844b7fe833bf639197b7 SHA512 36cd493c9c95aabb1ee47e82cb0c20b2be99fe7ebd98743355139064590d0b9a1746d71e31dd47f164df34ebe3f8366a75f3efc149262e1391b43d83d3045c6e
-DIST php-7.4.27.tar.xz 10419380 BLAKE2B e62218f54f0455377f085499b3fa75d9d9a33c81d621ac4303cee59e70565a3cd9bfa6372ebb3492a4093eb22bf101653b6e8b3804cb8795db5d5ac2845de2f5 SHA512 2401f19d738a511c20efdf199fed7a6bdd02b51d91abf68a410f760cf846df87fce4bbf71acdf209926877cf3e8f8f39f045f1f03755862d09491f6ab6c9cfc8
-DIST php-8.0.12.tar.xz 10713980 BLAKE2B ce8ca0d671e8613a81744a55cf94ff43254482a08dec365c05eb4ca22c1b31732e5ef93a51d383d2e8daf0cf332ed7946e79ba3b385386ca0773fc673fe58307 SHA512 927b15c4443f3741a5325ec7bf387987b405cd5e64e40fd81f1945bf073adda30eeede8e1f98185f505cb61f969cf1abe05b8dad57a3c4e87971e8037bb16b23
-DIST php-8.0.14.tar.xz 10860176 BLAKE2B e63e8e4446c1e1ee0bdf6faf38ce95a793107e582bd74677555d6f3576184af73d454111f14cd680086b11f288222d1ad5fb0e5ee38df53cd476fab6015b7fa7 SHA512 1fb96dd7e229dd71d0e872c8450e18bdefadebaf0b6b6429bd5d054be1b940cd2d53f132ba2d166d454b89374e79e4ea02d483320792e983d572df68ef769788
-DIST php-8.0.15.tar.xz 10764936 BLAKE2B f7bdc42dd3c9e9b58744dba644720fd5dfe581442f522759cd48b94a30c3fc65167f2b0e670bbbe5d5524ec3a6704e3b432e5af2dc07c6944a93adc52e527e98 SHA512 e6ac50b2e38d6d02cf84ce388826438bb7d339b54d2038ca071874b90c65f80c5c5e0c69f870edd7450d2de8f83788c8855eeb983d0d4528d44e31679caf404f
-DIST php-8.1.2.tar.xz 11681132 BLAKE2B e693237b76d94cd4a50c3df68289d4c2f070c40cc52c099fd91134331377115b7e7df509e5d6cdfc7742da3ae7b27d3cbe7015acc3825b887ba0d7d690663dd4 SHA512 ec68587fc14d4e5aaa19d4a189c74b85e67b8ab4d5a15ef36115b564fc9e2f2b63bd608ea8c0e4a99615a24f38711b233f4e65b3672c3bfb69e1ab9d554a88cd
+DIST php-7.4.28.tar.xz 10418352 BLAKE2B 27673b5a891723a4c20a19fa22708f733b8ff12e16e5bbd727ed841845bcb8802ea98e8c2a4936b184704cde96f8725a2c338470ba573e8d3a0732a3f449e7e5 SHA512 e7fa281a3be9ec46b7fa69619fd417fc04200dc64fd153f9670184d84b0aa3d5f3698536cf18476a96d8a42ba40b856ff57ab18e8e8a485dd9b95467d1952fa8
+DIST php-8.0.16.tar.xz 10864076 BLAKE2B e5820ecd40632e458a0ada1d1886cd054520ab7f1492766fd8d5c3561977359abddd886b47f7d7255bcc80d00c96afeceb5cbd515eb779ed4ac15db9e01f1fe3 SHA512 68952638f2965752be26dc0a49f938eb4f251f2d5a7b309a2983c4f9bc064738c9da2e8015ec9b2ecc0dc06e014ace3c0348222166b898a4a38c31ab8b0fd139
+DIST php-8.0.17.tar.xz 10771016 BLAKE2B ed2b9fb4f8c2210e112d27e43acff2a71c57802c5fd72429ffc716f6b7666d00a24d35166e5e85d20d7f67e00d5cdae89eaf5d30238a0758b42964e27422507b SHA512 9e1e44860be8f5ddf0c264f791e2c8936ca3abd02c18c432ff340057e94f0fbc5f40f1ee8f4feee60416eb4ce712f43764d3757f2e667dc78150d2d86d3c02e3
+DIST php-8.1.3.tar.xz 11751576 BLAKE2B e55f5d3742d233f6b028c6ca97181ea4fb55331204bbea2f58f2e440a6f5c520343addb5bc05ed0c407d6cf9f1bda3754c2039195154b90bb903ddc7a13ca49a SHA512 230f70c4f23ac69b52063b91de5ea866e30a84b5ac8d0021e35baebf210fe432fb6c46264a9a2808bf0f0d2003f4c3db974c2c480718a5607c5e4d52379e9d9d
+DIST php-8.1.4.tar.xz 11700448 BLAKE2B 472f053bd9544403f6cffacb15b35af16e4165f984f4a651d0c2983e3e84ea8301123796f3fd2ba4c20d97cf6fa0fe02326c63d37d8eb1dabd756a2f858944de SHA512 63eb05c20ebeee9377f7b72aa5ae6ff4c5f04b8612b9f192f4a849a4f2db74691343e2279b9dfc7c79d0b42a7dc17ab4ed11ed66c018c96224cf1663eaab728b
EBUILD php-7.3.32.ebuild 22579 BLAKE2B 77061c8803da1468dfe09bda3a1d87e4d307980e41990f149a62306e92de66ed9a665c319b49de0f6655fa0073ca94f26de220592d197854b6d9fda9cab76e47 SHA512 9fada7c73de015edb07719368a4f02642c7b8b395d7d240459f952f75b424441c4aa6f2d088cd4632c56eeef0b44a02faf7a4f8e8ca403cd8178fc8a60ea38e4
EBUILD php-7.3.33.ebuild 22586 BLAKE2B 68c91b62746fb125ef2921100ef02549b7e9b6c7e01431b29269135dde94c8288db7af28988f9f5debeb1509c49d583fd19adbb2edde103b7de6f3b3bbd3a939 SHA512 879d25a58261d66c4b90da4447a15eb54407bec51cd71364fbd15a7c8b60b6cbb853a6af1f286bef1c15e2ba59a7fe65ece4babd69277e1322d5fab38b2fb529
-EBUILD php-7.4.25.ebuild 21297 BLAKE2B b9c8400af5d83f2d366bc427690a7e454c507f41fbeb746c483a75eaa2aa7df89d7d13b71ceb14fbbc354f48cbd7b21509f8cce32f13f05504a5a802d37b1d48 SHA512 5a88de0728f8f76e1ffb16202c47e07910ec28187dfc7c8ae77e33a61838888c3aaad8e2c42c091788ccf4ec36204fd52f13f207d4485d3fe5ab423ba3e1991f
-EBUILD php-7.4.26.ebuild 21272 BLAKE2B 81120abe77f073de480514d21a02f48316cc2c01ba5863a9079c542cfc5a402d354d870233d2e98d4af929ebea83f8269793e76f0724c9efd175b83b66265240 SHA512 4c70d22f64134d902ad8069dfa61dcbd92d06cd1cce0ee2db6135fc0c6417de32ead2cba225c15cb4376af4ae23a7f40736a9b077d7994f617e6df72b22e9b98
-EBUILD php-7.4.27-r1.ebuild 21309 BLAKE2B 36d3cf644f0bc300f90e1635c4150a0b0da7b7a83600159bbf22178206039cffd4a7c5b02f414ced09024f137e9c70d19176de217e8ae7b1dbb0fa416746db73 SHA512 91651667c1f79fd500458d03fd5d12d61c9749a465132fa5a3c7c09653afc8dfc6efe456d16f192160effc5a4c6f7247703d93d4bfc21a73e57f02ed556503a2
-EBUILD php-7.4.27.ebuild 21272 BLAKE2B 81120abe77f073de480514d21a02f48316cc2c01ba5863a9079c542cfc5a402d354d870233d2e98d4af929ebea83f8269793e76f0724c9efd175b83b66265240 SHA512 4c70d22f64134d902ad8069dfa61dcbd92d06cd1cce0ee2db6135fc0c6417de32ead2cba225c15cb4376af4ae23a7f40736a9b077d7994f617e6df72b22e9b98
-EBUILD php-8.0.12.ebuild 21315 BLAKE2B c10ae3e2ce97b40a08b4ba4cc583986d545e1beffef93e5dbd95e6c657b8a99ce8551f6f115a59dc362915ef2f0a02d1abd93bc21aa2e0be3dab96a8cd72e037 SHA512 8d4b47550819953532357c82de4d60be4fbcb98484ccb8079d8258beabe000ccc01748b091344d026b5369529af919f4ead94e33dfcb83339a56214a510f9107
-EBUILD php-8.0.14.ebuild 21824 BLAKE2B b92ffb2a9de196b84614fb8622369727522d8543b141209a8d7b95344ef19a284e21a094098a73d948d9e83a82bded6ebaf6ae82ee53cfcfedb577c7be179c09 SHA512 6b5e9ba1423994a86cf864102c0fcb82a6ac364af76716cb533ce85f89308a26d80a1053860d684d7de708d19c8bd83446ee402e53ff6fed1f4fb813836a5321
-EBUILD php-8.0.15.ebuild 21824 BLAKE2B b92ffb2a9de196b84614fb8622369727522d8543b141209a8d7b95344ef19a284e21a094098a73d948d9e83a82bded6ebaf6ae82ee53cfcfedb577c7be179c09 SHA512 6b5e9ba1423994a86cf864102c0fcb82a6ac364af76716cb533ce85f89308a26d80a1053860d684d7de708d19c8bd83446ee402e53ff6fed1f4fb813836a5321
-EBUILD php-8.1.2.ebuild 21837 BLAKE2B 709917a9d2745045903624ad66e74c57d55e770df24c33c3f05cce1e42fc4d6f3903fa165b6bdd829ba779ab4e160fc6f9e48b39ca76ca27a172b573057ce997 SHA512 53d028a0d79221154a890bbdadb4a08b067546710575edecea1e2e0a242511d274c24d31d8529add654908e797c193f1b752c97dd3475a15715a888186ee0f39
+EBUILD php-7.4.28.ebuild 21302 BLAKE2B 54e188560f32616bfe8ee63420b7f040c76c803e0571d5bcfa2fe3f978ad9aaa7975b92f369653a2ab688577e7b2def719c3361c6ff8bfdf09814df9b1a5a2cc SHA512 00711eb11b259bcf7e376ec3dd874ad538912edf42f1464cf8bb444b4485ac4ca6210d82caa551345540f83411a49ec42aa32e3891f376a89ee9cde265efe8fb
+EBUILD php-8.0.16.ebuild 21817 BLAKE2B 66fadff5dea2b9606bcba008be261b7528d16f2aca66e3be0446594d6eff07e45cc80694530fde5f7cd29de72cda01e04449e33f1495b49edf5be1a804991911 SHA512 55027ec116ffd5474e22e077e232506f97d706ede1f21862e80c71a71dbb45e42095918e36925766e546e7bf367a98d2d38c5b4b85eee91e5d67a2d83bc04724
+EBUILD php-8.0.17.ebuild 21844 BLAKE2B 82c50097f15501a78e5fa8ecfe2a31a19e0c475b32f436cae6b6a3b3adf78cd3853937b353fa6344613dfc211ffe0d6bab2940db65d94618cee7a19f0b8fdf26 SHA512 bfb8e4c1ea77cdb071dae785cc685f03c06eafbc0be70f5cb125247c526c7e3b00ca8e9a425efe26809ef14509e7b927ea8c5f09595993caa223131dbf6988ce
+EBUILD php-8.1.3.ebuild 21837 BLAKE2B 709917a9d2745045903624ad66e74c57d55e770df24c33c3f05cce1e42fc4d6f3903fa165b6bdd829ba779ab4e160fc6f9e48b39ca76ca27a172b573057ce997 SHA512 53d028a0d79221154a890bbdadb4a08b067546710575edecea1e2e0a242511d274c24d31d8529add654908e797c193f1b752c97dd3475a15715a888186ee0f39
+EBUILD php-8.1.4.ebuild 21857 BLAKE2B e28006e7865c55d8faaab05e73fa2cef7ec8bf4a709528963dcc71ef3681f845258236eca401953802885197ec49547d82bd245ef49f85ad1eddce03dfe05ca2 SHA512 57f41b5db63711617fbccd57d963cb36bce3f3de775802562052f390275c9e3c32bdce92b98807f17fbb6c15fad4724a486d2c9ec64d34047d5ad5fb290c8051
MISC metadata.xml 3378 BLAKE2B 4ea64ce2404205f33be7d0be217ad8eeef2b82bc50700664dd89db5bd6c3aabfe2b0ab72497493bdb1214d3c30d9fdabe0e8790938aa68fd3cff8bb25249057b SHA512 21fc30b50fe9d5fdbd63c19e1bc7856bc2e7d96ff8fbd05aff4fc07bddae68cbe8dffecb1854de233031257dcd40da265463887259f95ed886dac8bc2b6cc535
diff --git a/dev-lang/php/php-7.4.26.ebuild b/dev-lang/php/php-7.4.26.ebuild
deleted file mode 100644
index cee27f7d4134..000000000000
--- a/dev-lang/php/php-7.4.26.ebuild
+++ /dev/null
@@ -1,745 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-WANT_AUTOMAKE="none"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/RC}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://www.php.net/"
-SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
- BSD
- Zend-2.0
- bcmath? ( LGPL-2.1+ )
- fpm? ( BSD-2 )
- gd? ( gd )
- unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
- ${SAPIS/cli/+cli}
- threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
- coverage +ctype curl debug
- enchant exif ffi +fileinfo +filter firebird
- +flatfile ftp gd gdbm gmp +iconv imap inifile
- intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
- mhash mssql mysql mysqli nls
- oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
- readline selinux +session session-mm sharedmem
- +simplexml snmp soap sockets sodium spell sqlite ssl
- sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
- +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-# The Oracle instant client provides its own incompatible ldap library.
-REQUIRED_USE="
- || ( cli cgi fpm apache2 embed phpdbg )
- cli? ( ^^ ( readline libedit ) )
- !cli? ( ?? ( readline libedit ) )
- truetype? ( gd zlib )
- webp? ( gd zlib )
- cjk? ( gd zlib )
- exif? ( gd zlib )
- xpm? ( gd zlib )
- gd? ( zlib )
- simplexml? ( xml )
- soap? ( xml )
- xmlrpc? ( xml iconv )
- xmlreader? ( xml )
- xmlwriter? ( xml )
- xslt? ( xml )
- ldap-sasl? ( ldap )
- oci8-instant-client? ( !ldap )
- qdbm? ( !gdbm )
- session-mm? ( session !threads )
- mysql? ( || ( mysqli pdo ) )
- firebird? ( pdo )
- mssql? ( pdo )
-"
-
-RESTRICT="!test? ( test )"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
- >=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
- >=dev-libs/libpcre2-10.30[jit?,unicode]
- fpm? ( acl? ( sys-apps/acl ) )
- apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
- argon2? ( app-crypt/argon2:= )
- berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) )
- bzip2? ( app-arch/bzip2:0= )
- cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
- coverage? ( dev-util/lcov )
- curl? ( >=net-misc/curl-7.10.5 )
- enchant? ( <app-text/enchant-2.0:0 )
- ffi? ( >=dev-libs/libffi-3.0.11:= )
- firebird? ( dev-db/firebird )
- gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
- gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
- gmp? ( dev-libs/gmp:0= )
- iconv? ( virtual/libiconv )
- imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
- intl? ( dev-libs/icu:= )
- kerberos? ( virtual/krb5 )
- ldap? ( >=net-nds/openldap-1.2.11 )
- ldap-sasl? ( dev-libs/cyrus-sasl )
- libedit? ( dev-libs/libedit )
- lmdb? ( dev-db/lmdb:= )
- mssql? ( dev-db/freetds[mssql] )
- nls? ( sys-devel/gettext )
- oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
- odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
- postgres? ( dev-db/postgresql:* )
- qdbm? ( dev-db/qdbm )
- readline? ( sys-libs/readline:0= )
- session-mm? ( dev-libs/mm )
- snmp? ( >=net-analyzer/net-snmp-5.2 )
- sodium? ( dev-libs/libsodium:=[-minimal] )
- spell? ( >=app-text/aspell-0.50 )
- sqlite? ( >=dev-db/sqlite-3.7.6.3 )
- ssl? ( >=dev-libs/openssl-1.0.1:0= )
- tidy? ( app-text/htmltidy )
- tokyocabinet? ( dev-db/tokyocabinet )
- truetype? ( =media-libs/freetype-2* )
- unicode? ( dev-libs/oniguruma:= )
- webp? ( media-libs/libwebp:0= )
- xml? ( >=dev-libs/libxml2-2.7.6 )
- xpm? ( x11-libs/libXpm )
- xslt? ( dev-libs/libxslt )
- zip? ( >=dev-libs/libzip-1.2.0:= )
- zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/mta
- fpm? (
- selinux? ( sec-policy/selinux-phpfpm )
- systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- >=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-PHP_MV="$(ver_cut 1)"
-
-PATCHES=(
- "${FILESDIR}"/php-iodbc-header-location.patch
-)
-
-php_install_ini() {
- local phpsapi="${1}"
-
- # work out where we are installing the ini file
- php_set_ini_dir "${phpsapi}"
-
- # Always install the production INI file, bug 611214.
- local phpinisrc="php.ini-production-${phpsapi}"
- cp php.ini-production "${phpinisrc}" || die
-
- # default to /tmp for save_path, bug #282768
- sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
- # Set the extension dir
- sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
- -i "${phpinisrc}" || die
-
- # Set the include path to point to where we want to find PEAR packages
- sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
- insinto "${PHP_INI_DIR#${EPREFIX}}"
- newins "${phpinisrc}" php.ini
-
- elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
- elog
-
- dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
- dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
- if use opcache; then
- elog "Adding opcache to $PHP_EXT_INI_DIR"
- echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
- "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
- dosym "../ext/opcache.ini" \
- "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
- fi
-
- # SAPI-specific handling
- if [[ "${sapi}" == "fpm" ]] ; then
- einfo "Installing FPM config files php-fpm.conf and www.conf"
- insinto "${PHP_INI_DIR#${EPREFIX}}"
- doins sapi/fpm/php-fpm.conf
- insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
- doins sapi/fpm/www.conf
- fi
-
- dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
- PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
- PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
- PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
- default
-
- # In php-7.x, the FPM pool configuration files have been split off
- # of the main config. By default the pool config files go in
- # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
- # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
- # we'll install the pool configuration file "www.conf" there.
- php_set_ini_dir fpm
- sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
- sapi/fpm/php-fpm.conf.in \
- || die 'failed to move the include directory in php-fpm.conf'
-
- # Emulate buildconf to support cross-compilation
- rm -fr aclocal.m4 autom4te.cache config.cache \
- configure main/php_config.h.in || die
- eautoconf --force
- eautoheader
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
- # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
- # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
- local our_conf=(
- --prefix="${PHP_DESTDIR}"
- --mandir="${PHP_DESTDIR}/man"
- --infodir="${PHP_DESTDIR}/info"
- --libdir="${PHP_DESTDIR}/lib"
- --with-libdir="$(get_libdir)"
- --localstatedir="${EPREFIX}/var"
- --without-pear
- $(use_enable threads maintainer-zts)
- )
-
- our_conf+=(
- $(use_with argon2 password-argon2 "${EPREFIX}/usr")
- $(use_enable bcmath)
- $(use_with bzip2 bz2 "${EPREFIX}/usr")
- $(use_enable calendar)
- $(use_enable coverage gcov)
- $(use_enable ctype)
- $(use_with curl)
- $(use_enable xml dom)
- $(use_with enchant)
- $(use_enable exif)
- $(use_with ffi)
- $(use_enable fileinfo)
- $(use_enable filter)
- $(use_enable ftp)
- $(use_with nls gettext "${EPREFIX}/usr")
- $(use_with gmp gmp "${EPREFIX}/usr")
- $(use_with mhash mhash "${EPREFIX}/usr")
- $(use_with iconv iconv \
- $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
- $(use_enable intl)
- $(use_enable ipv6)
- $(use_enable json)
- $(use_with kerberos)
- $(use_with xml libxml)
- $(use_enable unicode mbstring)
- $(use_with ssl openssl)
- $(use_enable pcntl)
- $(use_enable phar)
- $(use_enable pdo)
- $(use_enable opcache)
- $(use_with postgres pgsql "${EPREFIX}/usr")
- $(use_enable posix)
- $(use_with spell pspell "${EPREFIX}/usr")
- $(use_enable simplexml)
- $(use_enable sharedmem shmop)
- $(use_with snmp snmp "${EPREFIX}/usr")
- $(use_enable soap)
- $(use_enable sockets)
- $(use_with sodium)
- $(use_with sqlite sqlite3)
- $(use_enable sysvipc sysvmsg)
- $(use_enable sysvipc sysvsem)
- $(use_enable sysvipc sysvshm)
- $(use_with tidy tidy "${EPREFIX}/usr")
- $(use_enable tokenizer)
- $(use_enable xml)
- $(use_enable xmlreader)
- $(use_enable xmlwriter)
- $(use_with xmlrpc)
- $(use_with xslt xsl)
- $(use_with zip)
- $(use_with zlib zlib "${EPREFIX}/usr")
- $(use_enable debug)
- )
-
- # DBA support
- if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
- || use qdbm || use lmdb || use tokyocabinet ; then
- our_conf+=( "--enable-dba" )
- fi
-
- # DBA drivers support
- our_conf+=(
- $(use_with cdb)
- $(use_with berkdb db4 "${EPREFIX}/usr")
- $(use_enable flatfile)
- $(use_with gdbm gdbm "${EPREFIX}/usr")
- $(use_enable inifile)
- $(use_with qdbm qdbm "${EPREFIX}/usr")
- $(use_with tokyocabinet tcadb "${EPREFIX}/usr")
- $(use_with lmdb lmdb "${EPREFIX}/usr")
- )
-
- # Support for the GD graphics library
- our_conf+=(
- $(use_with truetype freetype)
- $(use_enable cjk gd-jis-conv)
- $(use_with gd jpeg)
- $(use_with xpm)
- $(use_with webp)
- )
- # enable gd last, so configure can pick up the previous settings
- our_conf+=( $(use_enable gd) )
-
- # IMAP support
- if use imap ; then
- our_conf+=(
- $(use_with imap imap "${EPREFIX}/usr")
- $(use_with ssl imap-ssl "${EPREFIX}/usr")
- )
- fi
-
- # LDAP support
- if use ldap ; then
- our_conf+=(
- $(use_with ldap ldap "${EPREFIX}/usr")
- $(use_with ldap-sasl)
- )
- fi
-
- # MySQL support
- local mysqllib="mysqlnd"
- local mysqlilib="mysqlnd"
-
- our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
- local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
- if use mysql || use mysqli ; then
- our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
- fi
-
- # ODBC support
- if use odbc && use iodbc ; then
- our_conf+=(
- --without-unixODBC
- --with-iodbc
- $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
- )
- elif use odbc ; then
- our_conf+=(
- --with-unixODBC="${EPREFIX}/usr"
- --without-iodbc
- $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
- )
- else
- our_conf+=(
- --without-unixODBC
- --without-iodbc
- --without-pdo-odbc
- )
- fi
-
- # Oracle support
- our_conf+=( $(use_with oci8-instant-client oci8) )
-
- # PDO support
- if use pdo ; then
- our_conf+=(
- $(use_with mssql pdo-dblib "${EPREFIX}/usr")
- $(use_with mysql pdo-mysql "${mysqllib}")
- $(use_with postgres pdo-pgsql)
- $(use_with sqlite pdo-sqlite)
- $(use_with firebird pdo-firebird "${EPREFIX}/usr")
- $(use_with oci8-instant-client pdo-oci)
- )
- fi
-
- # readline/libedit support
- our_conf+=(
- $(use_with readline readline "${EPREFIX}/usr")
- $(use_with libedit)
- )
-
- # Session support
- if use session ; then
- our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
- else
- our_conf+=( $(use_enable session) )
- fi
-
- # Use pic for shared modules such as apache2's mod_php
- our_conf+=( --with-pic )
-
- # we use the system copy of pcre
- # --with-external-pcre affects ext/pcre
- our_conf+=(
- --with-external-pcre
- $(use_with jit pcre-jit)
- )
-
- # Catch CFLAGS problems
- # Fixes bug #14067.
- # Changed order to run it in reverse for bug #32022 and #12021.
- replace-cpu-flags "k6*" "i586"
-
- # Cache the ./configure test results between SAPIs.
- our_conf+=( --cache-file="${T}/config.cache" )
-
- # Support user-passed configuration parameters
- our_conf+=( ${EXTRA_ECONF:-} )
-
- # Support the Apache2 extras, they must be set globally for all
- # SAPIs to work correctly, especially for external PHP extensions
-
- local one_sapi
- local sapi
- mkdir -p "${WORKDIR}/sapis-build" || die
- for one_sapi in $SAPIS ; do
- use "${one_sapi}" || continue
- php_set_ini_dir "${one_sapi}"
-
- # The BUILD_DIR variable is used to determine where to output
- # the files that autotools creates. This was all originally
- # based on the autotools-utils eclass.
- BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
- cp -a "${S}" "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
-
- local sapi_conf=(
- --with-config-file-path="${PHP_INI_DIR}"
- --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
- )
-
- for sapi in $SAPIS ; do
- case "$sapi" in
- cli|cgi|embed|fpm|phpdbg)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( "--enable-${sapi}" )
- if [[ "fpm" == "${sapi}" ]] ; then
- sapi_conf+=(
- $(use_with acl fpm-acl)
- $(use_with systemd fpm-systemd)
- )
- fi
- else
- sapi_conf+=( "--disable-${sapi}" )
- fi
- ;;
-
- apache2)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
- else
- sapi_conf+=( --without-apxs2 )
- fi
- ;;
- esac
- done
-
- # Construct the $myeconfargs array by concatenating $our_conf
- # (the common args) and $sapi_conf (the SAPI-specific args).
- local myeconfargs=( "${our_conf[@]}" )
- myeconfargs+=( "${sapi_conf[@]}" )
-
- pushd "${BUILD_DIR}" > /dev/null || die
- econf "${myeconfargs[@]}"
- popd > /dev/null || die
- done
-}
-
-src_compile() {
- # snmp seems to run during src_compile, too (bug #324739)
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- local sapi
- for sapi in ${SAPIS} ; do
- if use "${sapi}"; then
- cd "${WORKDIR}/sapis-build/$sapi" || \
- die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
- emake
- fi
- done
-}
-
-src_install() {
- # see bug #324739 for what happens when we don't have that
- addpredict /usr/share/snmp/mibs/.index #nowarn
-
- # grab the first SAPI that got built and install common files from there
- local first_sapi="", sapi=""
- for sapi in $SAPIS ; do
- if use $sapi ; then
- first_sapi=$sapi
- break
- fi
- done
-
- # Makefile forgets to create this before trying to write to it...
- dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
-
- # Install php environment (without any sapis)
- cd "${WORKDIR}/sapis-build/$first_sapi" || die
- emake INSTALL_ROOT="${D}" \
- install-build install-headers install-programs
-
- local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
-
- # Create the directory where we'll put version-specific php scripts
- keepdir "/usr/share/php${PHP_MV}"
-
- local file=""
- local sapi_list=""
-
- for sapi in ${SAPIS}; do
- if use "${sapi}" ; then
- einfo "Installing SAPI: ${sapi}"
- cd "${WORKDIR}/sapis-build/${sapi}" || die
-
- if [[ "${sapi}" == "apache2" ]] ; then
- # We're specifically not using emake install-sapi as libtool
- # may cause unnecessary relink failures (see bug #351266)
- insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
- newins ".libs/libphp${PHP_MV}$(get_libname)" \
- "libphp${PHP_MV}$(get_libname)"
- keepdir "/usr/$(get_libdir)/apache2/modules"
- else
- # needed each time, php_install_ini would reset it
- local dest="${PHP_DESTDIR#${EPREFIX}}"
- into "${dest}"
- case "$sapi" in
- cli)
- source="sapi/cli/php"
- # Install the "phar" archive utility.
- if use phar ; then
- emake INSTALL_ROOT="${D}" install-pharcmd
- dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
- fi
- ;;
- cgi)
- source="sapi/cgi/php-cgi"
- ;;
- fpm)
- source="sapi/fpm/php-fpm"
- ;;
- embed)
- source="libs/libphp${PHP_MV}$(get_libname)"
- ;;
- phpdbg)
- source="sapi/phpdbg/phpdbg"
- ;;
- *)
- die "unhandled sapi in src_install"
- ;;
- esac
-
- if [[ "${source}" == *"$(get_libname)" ]]; then
- dolib.so "${source}"
- else
- dobin "${source}"
- local name="$(basename ${source})"
- dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
- fi
- fi
-
- php_install_ini "${sapi}"
-
- # construct correct SAPI string for php-config
- # thanks to ferringb for the bash voodoo
- if [[ "${sapi}" == "apache2" ]]; then
- sapi_list="${sapi_list:+${sapi_list} }apache2handler"
- else
- sapi_list="${sapi_list:+${sapi_list} }${sapi}"
- fi
- fi
- done
-
- # Installing opcache module
- if use opcache ; then
- into "${PHP_DESTDIR#${EPREFIX}}"
- dolib.so "modules/opcache$(get_libname)"
- fi
-
- # Install env.d files
- newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
- sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
- sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
- # set php-config variable correctly (bug #278439)
- sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
- "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
- if use fpm ; then
- if use systemd; then
- systemd_newunit "${FILESDIR}/php-fpm_at.service" \
- "php-fpm@${SLOT}.service"
- else
- systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
- "php-fpm@${SLOT}.service"
- fi
- fi
-}
-
-src_test() {
- echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
- PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
- if [[ ! -x "${PHP_BIN}" ]] ; then
- ewarn "Test phase requires USE=cli, skipping"
- return
- else
- export TEST_PHP_EXECUTABLE="${PHP_BIN}"
- fi
-
- if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
- export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
- fi
-
- if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
- export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
- fi
-
- REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
- "session.save_path=${T}" \
- "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
- "session.save_path=${T}"
-
- for name in ${EXPECTED_TEST_FAILURES}; do
- mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
- done
-
- local failed="$(find -name '*.out')"
- if [[ ${failed} != "" ]] ; then
- ewarn "The following test cases failed unexpectedly:"
- for name in ${failed}; do
- ewarn " ${name/.out/}"
- done
- else
- einfo "No unexpected test failures, all fine"
- fi
-
- if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
- local passed=""
- for name in ${EXPECTED_TEST_FAILURES}; do
- [[ -f "${name}.diff" ]] && continue
- passed="${passed} ${name}"
- done
- if [[ ${passed} != "" ]] ; then
- einfo "The following test cases passed unexpectedly:"
- for name in ${passed}; do
- ewarn " ${passed}"
- done
- else
- einfo "None of the known-to-fail tests passed, all fine"
- fi
- fi
-}
-
-pkg_postinst() {
- # Output some general info to the user
- if use apache2 ; then
- elog
- elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
- elog "your apache2 command. OpenRC users can append that string to"
- elog "APACHE2_OPTS in /etc/conf.d/apache2."
- elog
- elog "The apache module configuration file 70_mod_php.conf is"
- elog "provided (and maintained) by eselect-php."
- elog
- fi
-
- # Create the symlinks for php
- local m
- for m in ${SAPIS}; do
- [[ ${m} == 'embed' ]] && continue;
- if use $m ; then
- local ci=$(eselect php show $m)
- if [[ -z $ci ]]; then
- eselect php set $m php${SLOT} || die
- einfo "Switched ${m} to use php:${SLOT}"
- einfo
- elif [[ $ci != "php${SLOT}" ]] ; then
- elog "To switch $m to use php:${SLOT}, run"
- elog " eselect php set $m php${SLOT}"
- elog
- fi
- fi
- done
-
- # Remove dead symlinks for SAPIs that were just disabled. For
- # example, if the user has the cgi SAPI enabled, then he has an
- # eselect-php symlink for it. If he later reinstalls PHP with
- # USE="-cgi", that symlink will break. This call to eselect is
- # supposed to remove that dead link per bug 572436.
- eselect php cleanup || die
-
- if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
- elog "To build extensions for this version of PHP, you will need to"
- elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
- elog
- fi
-
- # Warn about the removal of PHP_INI_VERSION if the user has it set.
- if [[ -n "${PHP_INI_VERSION}" ]]; then
- ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
- ewarn 'remove it from your configuration at your convenience. See'
- ewarn
- ewarn ' https://bugs.gentoo.org/611214'
- ewarn
- ewarn 'for more information.'
- fi
-
- elog "For details on how version slotting works, please see"
- elog "the wiki:"
- elog
- elog " https://wiki.gentoo.org/wiki/PHP"
- elog
-}
-
-pkg_postrm() {
- # This serves two purposes. First, if we have just removed the last
- # installed version of PHP, then this will remove any dead symlinks
- # belonging to eselect-php. Second, if a user upgrades slots from
- # (say) 5.6 to 7.0 and depcleans the old slot, then this will update
- # his existing symlinks to point to the new 7.0 installation. The
- # latter is bug 432962.
- #
- # Note: the eselect-php package may not be installed at this point,
- # so we can't die() if this command fails.
- eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.4.27-r1.ebuild b/dev-lang/php/php-7.4.27-r1.ebuild
deleted file mode 100644
index 9925c7527525..000000000000
--- a/dev-lang/php/php-7.4.27-r1.ebuild
+++ /dev/null
@@ -1,746 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-WANT_AUTOMAKE="none"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/RC}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://www.php.net/"
-SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
- BSD
- Zend-2.0
- bcmath? ( LGPL-2.1+ )
- fpm? ( BSD-2 )
- gd? ( gd )
- unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
- ${SAPIS/cli/+cli}
- threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
- coverage +ctype curl debug
- enchant exif ffi +fileinfo +filter firebird
- +flatfile ftp gd gdbm gmp +iconv imap inifile
- intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
- mhash mssql mysql mysqli nls
- oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
- readline selinux +session session-mm sharedmem
- +simplexml snmp soap sockets sodium spell sqlite ssl
- sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
- +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-# The Oracle instant client provides its own incompatible ldap library.
-REQUIRED_USE="
- || ( cli cgi fpm apache2 embed phpdbg )
- cli? ( ^^ ( readline libedit ) )
- !cli? ( ?? ( readline libedit ) )
- truetype? ( gd zlib )
- webp? ( gd zlib )
- cjk? ( gd zlib )
- exif? ( gd zlib )
- xpm? ( gd zlib )
- gd? ( zlib )
- simplexml? ( xml )
- soap? ( xml )
- xmlrpc? ( xml iconv )
- xmlreader? ( xml )
- xmlwriter? ( xml )
- xslt? ( xml )
- ldap-sasl? ( ldap )
- oci8-instant-client? ( !ldap )
- qdbm? ( !gdbm )
- session-mm? ( session !threads )
- mysql? ( || ( mysqli pdo ) )
- firebird? ( pdo )
- mssql? ( pdo )
-"
-
-RESTRICT="!test? ( test )"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
- >=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
- >=dev-libs/libpcre2-10.30[jit?,unicode]
- fpm? ( acl? ( sys-apps/acl ) )
- apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
- argon2? ( app-crypt/argon2:= )
- berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) )
- bzip2? ( app-arch/bzip2:0= )
- cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
- coverage? ( dev-util/lcov )
- curl? ( >=net-misc/curl-7.10.5 )
- enchant? ( <app-text/enchant-2.0:0 )
- ffi? ( >=dev-libs/libffi-3.0.11:= )
- firebird? ( dev-db/firebird )
- gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
- gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
- gmp? ( dev-libs/gmp:0= )
- iconv? ( virtual/libiconv )
- imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
- intl? ( dev-libs/icu:= )
- kerberos? ( virtual/krb5 )
- ldap? ( >=net-nds/openldap-1.2.11 )
- ldap-sasl? ( dev-libs/cyrus-sasl )
- libedit? ( dev-libs/libedit )
- lmdb? ( dev-db/lmdb:= )
- mssql? ( dev-db/freetds[mssql] )
- nls? ( sys-devel/gettext )
- oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
- odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
- postgres? ( dev-db/postgresql:* )
- qdbm? ( dev-db/qdbm )
- readline? ( sys-libs/readline:0= )
- session-mm? ( dev-libs/mm )
- snmp? ( >=net-analyzer/net-snmp-5.2 )
- sodium? ( dev-libs/libsodium:=[-minimal] )
- spell? ( >=app-text/aspell-0.50 )
- sqlite? ( >=dev-db/sqlite-3.7.6.3 )
- ssl? ( >=dev-libs/openssl-1.0.1:0= )
- tidy? ( app-text/htmltidy )
- tokyocabinet? ( dev-db/tokyocabinet )
- truetype? ( =media-libs/freetype-2* )
- unicode? ( dev-libs/oniguruma:= )
- webp? ( media-libs/libwebp:0= )
- xml? ( >=dev-libs/libxml2-2.7.6 )
- xpm? ( x11-libs/libXpm )
- xslt? ( dev-libs/libxslt )
- zip? ( >=dev-libs/libzip-1.2.0:= )
- zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/mta
- fpm? (
- selinux? ( sec-policy/selinux-phpfpm )
- systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- >=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-PHP_MV="$(ver_cut 1)"
-
-PATCHES=(
- "${FILESDIR}"/php-iodbc-header-location.patch
- "${FILESDIR}"/bug81656-gcc-11.patch
-)
-
-php_install_ini() {
- local phpsapi="${1}"
-
- # work out where we are installing the ini file
- php_set_ini_dir "${phpsapi}"
-
- # Always install the production INI file, bug 611214.
- local phpinisrc="php.ini-production-${phpsapi}"
- cp php.ini-production "${phpinisrc}" || die
-
- # default to /tmp for save_path, bug #282768
- sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
- # Set the extension dir
- sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
- -i "${phpinisrc}" || die
-
- # Set the include path to point to where we want to find PEAR packages
- sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
- insinto "${PHP_INI_DIR#${EPREFIX}}"
- newins "${phpinisrc}" php.ini
-
- elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
- elog
-
- dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
- dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
- if use opcache; then
- elog "Adding opcache to $PHP_EXT_INI_DIR"
- echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
- "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
- dosym "../ext/opcache.ini" \
- "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
- fi
-
- # SAPI-specific handling
- if [[ "${sapi}" == "fpm" ]] ; then
- einfo "Installing FPM config files php-fpm.conf and www.conf"
- insinto "${PHP_INI_DIR#${EPREFIX}}"
- doins sapi/fpm/php-fpm.conf
- insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
- doins sapi/fpm/www.conf
- fi
-
- dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
- PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
- PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
- PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
- default
-
- # In php-7.x, the FPM pool configuration files have been split off
- # of the main config. By default the pool config files go in
- # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
- # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
- # we'll install the pool configuration file "www.conf" there.
- php_set_ini_dir fpm
- sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
- sapi/fpm/php-fpm.conf.in \
- || die 'failed to move the include directory in php-fpm.conf'
-
- # Emulate buildconf to support cross-compilation
- rm -fr aclocal.m4 autom4te.cache config.cache \
- configure main/php_config.h.in || die
- eautoconf --force
- eautoheader
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
- # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
- # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
- local our_conf=(
- --prefix="${PHP_DESTDIR}"
- --mandir="${PHP_DESTDIR}/man"
- --infodir="${PHP_DESTDIR}/info"
- --libdir="${PHP_DESTDIR}/lib"
- --with-libdir="$(get_libdir)"
- --localstatedir="${EPREFIX}/var"
- --without-pear
- $(use_enable threads maintainer-zts)
- )
-
- our_conf+=(
- $(use_with argon2 password-argon2 "${EPREFIX}/usr")
- $(use_enable bcmath)
- $(use_with bzip2 bz2 "${EPREFIX}/usr")
- $(use_enable calendar)
- $(use_enable coverage gcov)
- $(use_enable ctype)
- $(use_with curl)
- $(use_enable xml dom)
- $(use_with enchant)
- $(use_enable exif)
- $(use_with ffi)
- $(use_enable fileinfo)
- $(use_enable filter)
- $(use_enable ftp)
- $(use_with nls gettext "${EPREFIX}/usr")
- $(use_with gmp gmp "${EPREFIX}/usr")
- $(use_with mhash mhash "${EPREFIX}/usr")
- $(use_with iconv iconv \
- $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
- $(use_enable intl)
- $(use_enable ipv6)
- $(use_enable json)
- $(use_with kerberos)
- $(use_with xml libxml)
- $(use_enable unicode mbstring)
- $(use_with ssl openssl)
- $(use_enable pcntl)
- $(use_enable phar)
- $(use_enable pdo)
- $(use_enable opcache)
- $(use_with postgres pgsql "${EPREFIX}/usr")
- $(use_enable posix)
- $(use_with spell pspell "${EPREFIX}/usr")
- $(use_enable simplexml)
- $(use_enable sharedmem shmop)
- $(use_with snmp snmp "${EPREFIX}/usr")
- $(use_enable soap)
- $(use_enable sockets)
- $(use_with sodium)
- $(use_with sqlite sqlite3)
- $(use_enable sysvipc sysvmsg)
- $(use_enable sysvipc sysvsem)
- $(use_enable sysvipc sysvshm)
- $(use_with tidy tidy "${EPREFIX}/usr")
- $(use_enable tokenizer)
- $(use_enable xml)
- $(use_enable xmlreader)
- $(use_enable xmlwriter)
- $(use_with xmlrpc)
- $(use_with xslt xsl)
- $(use_with zip)
- $(use_with zlib zlib "${EPREFIX}/usr")
- $(use_enable debug)
- )
-
- # DBA support
- if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
- || use qdbm || use lmdb || use tokyocabinet ; then
- our_conf+=( "--enable-dba" )
- fi
-
- # DBA drivers support
- our_conf+=(
- $(use_with cdb)
- $(use_with berkdb db4 "${EPREFIX}/usr")
- $(use_enable flatfile)
- $(use_with gdbm gdbm "${EPREFIX}/usr")
- $(use_enable inifile)
- $(use_with qdbm qdbm "${EPREFIX}/usr")
- $(use_with tokyocabinet tcadb "${EPREFIX}/usr")
- $(use_with lmdb lmdb "${EPREFIX}/usr")
- )
-
- # Support for the GD graphics library
- our_conf+=(
- $(use_with truetype freetype)
- $(use_enable cjk gd-jis-conv)
- $(use_with gd jpeg)
- $(use_with xpm)
- $(use_with webp)
- )
- # enable gd last, so configure can pick up the previous settings
- our_conf+=( $(use_enable gd) )
-
- # IMAP support
- if use imap ; then
- our_conf+=(
- $(use_with imap imap "${EPREFIX}/usr")
- $(use_with ssl imap-ssl "${EPREFIX}/usr")
- )
- fi
-
- # LDAP support
- if use ldap ; then
- our_conf+=(
- $(use_with ldap ldap "${EPREFIX}/usr")
- $(use_with ldap-sasl)
- )
- fi
-
- # MySQL support
- local mysqllib="mysqlnd"
- local mysqlilib="mysqlnd"
-
- our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
- local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
- if use mysql || use mysqli ; then
- our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
- fi
-
- # ODBC support
- if use odbc && use iodbc ; then
- our_conf+=(
- --without-unixODBC
- --with-iodbc
- $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
- )
- elif use odbc ; then
- our_conf+=(
- --with-unixODBC="${EPREFIX}/usr"
- --without-iodbc
- $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
- )
- else
- our_conf+=(
- --without-unixODBC
- --without-iodbc
- --without-pdo-odbc
- )
- fi
-
- # Oracle support
- our_conf+=( $(use_with oci8-instant-client oci8) )
-
- # PDO support
- if use pdo ; then
- our_conf+=(
- $(use_with mssql pdo-dblib "${EPREFIX}/usr")
- $(use_with mysql pdo-mysql "${mysqllib}")
- $(use_with postgres pdo-pgsql)
- $(use_with sqlite pdo-sqlite)
- $(use_with firebird pdo-firebird "${EPREFIX}/usr")
- $(use_with oci8-instant-client pdo-oci)
- )
- fi
-
- # readline/libedit support
- our_conf+=(
- $(use_with readline readline "${EPREFIX}/usr")
- $(use_with libedit)
- )
-
- # Session support
- if use session ; then
- our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
- else
- our_conf+=( $(use_enable session) )
- fi
-
- # Use pic for shared modules such as apache2's mod_php
- our_conf+=( --with-pic )
-
- # we use the system copy of pcre
- # --with-external-pcre affects ext/pcre
- our_conf+=(
- --with-external-pcre
- $(use_with jit pcre-jit)
- )
-
- # Catch CFLAGS problems
- # Fixes bug #14067.
- # Changed order to run it in reverse for bug #32022 and #12021.
- replace-cpu-flags "k6*" "i586"
-
- # Cache the ./configure test results between SAPIs.
- our_conf+=( --cache-file="${T}/config.cache" )
-
- # Support user-passed configuration parameters
- our_conf+=( ${EXTRA_ECONF:-} )
-
- # Support the Apache2 extras, they must be set globally for all
- # SAPIs to work correctly, especially for external PHP extensions
-
- local one_sapi
- local sapi
- mkdir -p "${WORKDIR}/sapis-build" || die
- for one_sapi in $SAPIS ; do
- use "${one_sapi}" || continue
- php_set_ini_dir "${one_sapi}"
-
- # The BUILD_DIR variable is used to determine where to output
- # the files that autotools creates. This was all originally
- # based on the autotools-utils eclass.
- BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
- cp -a "${S}" "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
-
- local sapi_conf=(
- --with-config-file-path="${PHP_INI_DIR}"
- --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
- )
-
- for sapi in $SAPIS ; do
- case "$sapi" in
- cli|cgi|embed|fpm|phpdbg)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( "--enable-${sapi}" )
- if [[ "fpm" == "${sapi}" ]] ; then
- sapi_conf+=(
- $(use_with acl fpm-acl)
- $(use_with systemd fpm-systemd)
- )
- fi
- else
- sapi_conf+=( "--disable-${sapi}" )
- fi
- ;;
-
- apache2)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
- else
- sapi_conf+=( --without-apxs2 )
- fi
- ;;
- esac
- done
-
- # Construct the $myeconfargs array by concatenating $our_conf
- # (the common args) and $sapi_conf (the SAPI-specific args).
- local myeconfargs=( "${our_conf[@]}" )
- myeconfargs+=( "${sapi_conf[@]}" )
-
- pushd "${BUILD_DIR}" > /dev/null || die
- econf "${myeconfargs[@]}"
- popd > /dev/null || die
- done
-}
-
-src_compile() {
- # snmp seems to run during src_compile, too (bug #324739)
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- local sapi
- for sapi in ${SAPIS} ; do
- if use "${sapi}"; then
- cd "${WORKDIR}/sapis-build/$sapi" || \
- die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
- emake
- fi
- done
-}
-
-src_install() {
- # see bug #324739 for what happens when we don't have that
- addpredict /usr/share/snmp/mibs/.index #nowarn
-
- # grab the first SAPI that got built and install common files from there
- local first_sapi="", sapi=""
- for sapi in $SAPIS ; do
- if use $sapi ; then
- first_sapi=$sapi
- break
- fi
- done
-
- # Makefile forgets to create this before trying to write to it...
- dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
-
- # Install php environment (without any sapis)
- cd "${WORKDIR}/sapis-build/$first_sapi" || die
- emake INSTALL_ROOT="${D}" \
- install-build install-headers install-programs
-
- local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
-
- # Create the directory where we'll put version-specific php scripts
- keepdir "/usr/share/php${PHP_MV}"
-
- local file=""
- local sapi_list=""
-
- for sapi in ${SAPIS}; do
- if use "${sapi}" ; then
- einfo "Installing SAPI: ${sapi}"
- cd "${WORKDIR}/sapis-build/${sapi}" || die
-
- if [[ "${sapi}" == "apache2" ]] ; then
- # We're specifically not using emake install-sapi as libtool
- # may cause unnecessary relink failures (see bug #351266)
- insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
- newins ".libs/libphp${PHP_MV}$(get_libname)" \
- "libphp${PHP_MV}$(get_libname)"
- keepdir "/usr/$(get_libdir)/apache2/modules"
- else
- # needed each time, php_install_ini would reset it
- local dest="${PHP_DESTDIR#${EPREFIX}}"
- into "${dest}"
- case "$sapi" in
- cli)
- source="sapi/cli/php"
- # Install the "phar" archive utility.
- if use phar ; then
- emake INSTALL_ROOT="${D}" install-pharcmd
- dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
- fi
- ;;
- cgi)
- source="sapi/cgi/php-cgi"
- ;;
- fpm)
- source="sapi/fpm/php-fpm"
- ;;
- embed)
- source="libs/libphp${PHP_MV}$(get_libname)"
- ;;
- phpdbg)
- source="sapi/phpdbg/phpdbg"
- ;;
- *)
- die "unhandled sapi in src_install"
- ;;
- esac
-
- if [[ "${source}" == *"$(get_libname)" ]]; then
- dolib.so "${source}"
- else
- dobin "${source}"
- local name="$(basename ${source})"
- dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
- fi
- fi
-
- php_install_ini "${sapi}"
-
- # construct correct SAPI string for php-config
- # thanks to ferringb for the bash voodoo
- if [[ "${sapi}" == "apache2" ]]; then
- sapi_list="${sapi_list:+${sapi_list} }apache2handler"
- else
- sapi_list="${sapi_list:+${sapi_list} }${sapi}"
- fi
- fi
- done
-
- # Installing opcache module
- if use opcache ; then
- into "${PHP_DESTDIR#${EPREFIX}}"
- dolib.so "modules/opcache$(get_libname)"
- fi
-
- # Install env.d files
- newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
- sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
- sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
- # set php-config variable correctly (bug #278439)
- sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
- "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
- if use fpm ; then
- if use systemd; then
- systemd_newunit "${FILESDIR}/php-fpm_at.service" \
- "php-fpm@${SLOT}.service"
- else
- systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
- "php-fpm@${SLOT}.service"
- fi
- fi
-}
-
-src_test() {
- echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
- PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
- if [[ ! -x "${PHP_BIN}" ]] ; then
- ewarn "Test phase requires USE=cli, skipping"
- return
- else
- export TEST_PHP_EXECUTABLE="${PHP_BIN}"
- fi
-
- if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
- export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
- fi
-
- if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
- export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
- fi
-
- REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
- "session.save_path=${T}" \
- "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
- "session.save_path=${T}"
-
- for name in ${EXPECTED_TEST_FAILURES}; do
- mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
- done
-
- local failed="$(find -name '*.out')"
- if [[ ${failed} != "" ]] ; then
- ewarn "The following test cases failed unexpectedly:"
- for name in ${failed}; do
- ewarn " ${name/.out/}"
- done
- else
- einfo "No unexpected test failures, all fine"
- fi
-
- if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
- local passed=""
- for name in ${EXPECTED_TEST_FAILURES}; do
- [[ -f "${name}.diff" ]] && continue
- passed="${passed} ${name}"
- done
- if [[ ${passed} != "" ]] ; then
- einfo "The following test cases passed unexpectedly:"
- for name in ${passed}; do
- ewarn " ${passed}"
- done
- else
- einfo "None of the known-to-fail tests passed, all fine"
- fi
- fi
-}
-
-pkg_postinst() {
- # Output some general info to the user
- if use apache2 ; then
- elog
- elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
- elog "your apache2 command. OpenRC users can append that string to"
- elog "APACHE2_OPTS in /etc/conf.d/apache2."
- elog
- elog "The apache module configuration file 70_mod_php.conf is"
- elog "provided (and maintained) by eselect-php."
- elog
- fi
-
- # Create the symlinks for php
- local m
- for m in ${SAPIS}; do
- [[ ${m} == 'embed' ]] && continue;
- if use $m ; then
- local ci=$(eselect php show $m)
- if [[ -z $ci ]]; then
- eselect php set $m php${SLOT} || die
- einfo "Switched ${m} to use php:${SLOT}"
- einfo
- elif [[ $ci != "php${SLOT}" ]] ; then
- elog "To switch $m to use php:${SLOT}, run"
- elog " eselect php set $m php${SLOT}"
- elog
- fi
- fi
- done
-
- # Remove dead symlinks for SAPIs that were just disabled. For
- # example, if the user has the cgi SAPI enabled, then he has an
- # eselect-php symlink for it. If he later reinstalls PHP with
- # USE="-cgi", that symlink will break. This call to eselect is
- # supposed to remove that dead link per bug 572436.
- eselect php cleanup || die
-
- if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
- elog "To build extensions for this version of PHP, you will need to"
- elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
- elog
- fi
-
- # Warn about the removal of PHP_INI_VERSION if the user has it set.
- if [[ -n "${PHP_INI_VERSION}" ]]; then
- ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
- ewarn 'remove it from your configuration at your convenience. See'
- ewarn
- ewarn ' https://bugs.gentoo.org/611214'
- ewarn
- ewarn 'for more information.'
- fi
-
- elog "For details on how version slotting works, please see"
- elog "the wiki:"
- elog
- elog " https://wiki.gentoo.org/wiki/PHP"
- elog
-}
-
-pkg_postrm() {
- # This serves two purposes. First, if we have just removed the last
- # installed version of PHP, then this will remove any dead symlinks
- # belonging to eselect-php. Second, if a user upgrades slots from
- # (say) 5.6 to 7.0 and depcleans the old slot, then this will update
- # his existing symlinks to point to the new 7.0 installation. The
- # latter is bug 432962.
- #
- # Note: the eselect-php package may not be installed at this point,
- # so we can't die() if this command fails.
- eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.4.27.ebuild b/dev-lang/php/php-7.4.27.ebuild
deleted file mode 100644
index cee27f7d4134..000000000000
--- a/dev-lang/php/php-7.4.27.ebuild
+++ /dev/null
@@ -1,745 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-WANT_AUTOMAKE="none"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/RC}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://www.php.net/"
-SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
- BSD
- Zend-2.0
- bcmath? ( LGPL-2.1+ )
- fpm? ( BSD-2 )
- gd? ( gd )
- unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
- ${SAPIS/cli/+cli}
- threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
- coverage +ctype curl debug
- enchant exif ffi +fileinfo +filter firebird
- +flatfile ftp gd gdbm gmp +iconv imap inifile
- intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
- mhash mssql mysql mysqli nls
- oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
- readline selinux +session session-mm sharedmem
- +simplexml snmp soap sockets sodium spell sqlite ssl
- sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
- +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-# The Oracle instant client provides its own incompatible ldap library.
-REQUIRED_USE="
- || ( cli cgi fpm apache2 embed phpdbg )
- cli? ( ^^ ( readline libedit ) )
- !cli? ( ?? ( readline libedit ) )
- truetype? ( gd zlib )
- webp? ( gd zlib )
- cjk? ( gd zlib )
- exif? ( gd zlib )
- xpm? ( gd zlib )
- gd? ( zlib )
- simplexml? ( xml )
- soap? ( xml )
- xmlrpc? ( xml iconv )
- xmlreader? ( xml )
- xmlwriter? ( xml )
- xslt? ( xml )
- ldap-sasl? ( ldap )
- oci8-instant-client? ( !ldap )
- qdbm? ( !gdbm )
- session-mm? ( session !threads )
- mysql? ( || ( mysqli pdo ) )
- firebird? ( pdo )
- mssql? ( pdo )
-"
-
-RESTRICT="!test? ( test )"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
- >=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
- >=dev-libs/libpcre2-10.30[jit?,unicode]
- fpm? ( acl? ( sys-apps/acl ) )
- apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
- argon2? ( app-crypt/argon2:= )
- berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) )
- bzip2? ( app-arch/bzip2:0= )
- cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
- coverage? ( dev-util/lcov )
- curl? ( >=net-misc/curl-7.10.5 )
- enchant? ( <app-text/enchant-2.0:0 )
- ffi? ( >=dev-libs/libffi-3.0.11:= )
- firebird? ( dev-db/firebird )
- gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
- gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
- gmp? ( dev-libs/gmp:0= )
- iconv? ( virtual/libiconv )
- imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
- intl? ( dev-libs/icu:= )
- kerberos? ( virtual/krb5 )
- ldap? ( >=net-nds/openldap-1.2.11 )
- ldap-sasl? ( dev-libs/cyrus-sasl )
- libedit? ( dev-libs/libedit )
- lmdb? ( dev-db/lmdb:= )
- mssql? ( dev-db/freetds[mssql] )
- nls? ( sys-devel/gettext )
- oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
- odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
- postgres? ( dev-db/postgresql:* )
- qdbm? ( dev-db/qdbm )
- readline? ( sys-libs/readline:0= )
- session-mm? ( dev-libs/mm )
- snmp? ( >=net-analyzer/net-snmp-5.2 )
- sodium? ( dev-libs/libsodium:=[-minimal] )
- spell? ( >=app-text/aspell-0.50 )
- sqlite? ( >=dev-db/sqlite-3.7.6.3 )
- ssl? ( >=dev-libs/openssl-1.0.1:0= )
- tidy? ( app-text/htmltidy )
- tokyocabinet? ( dev-db/tokyocabinet )
- truetype? ( =media-libs/freetype-2* )
- unicode? ( dev-libs/oniguruma:= )
- webp? ( media-libs/libwebp:0= )
- xml? ( >=dev-libs/libxml2-2.7.6 )
- xpm? ( x11-libs/libXpm )
- xslt? ( dev-libs/libxslt )
- zip? ( >=dev-libs/libzip-1.2.0:= )
- zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/mta
- fpm? (
- selinux? ( sec-policy/selinux-phpfpm )
- systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- >=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-PHP_MV="$(ver_cut 1)"
-
-PATCHES=(
- "${FILESDIR}"/php-iodbc-header-location.patch
-)
-
-php_install_ini() {
- local phpsapi="${1}"
-
- # work out where we are installing the ini file
- php_set_ini_dir "${phpsapi}"
-
- # Always install the production INI file, bug 611214.
- local phpinisrc="php.ini-production-${phpsapi}"
- cp php.ini-production "${phpinisrc}" || die
-
- # default to /tmp for save_path, bug #282768
- sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
- # Set the extension dir
- sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
- -i "${phpinisrc}" || die
-
- # Set the include path to point to where we want to find PEAR packages
- sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
- insinto "${PHP_INI_DIR#${EPREFIX}}"
- newins "${phpinisrc}" php.ini
-
- elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
- elog
-
- dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
- dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
- if use opcache; then
- elog "Adding opcache to $PHP_EXT_INI_DIR"
- echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
- "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
- dosym "../ext/opcache.ini" \
- "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
- fi
-
- # SAPI-specific handling
- if [[ "${sapi}" == "fpm" ]] ; then
- einfo "Installing FPM config files php-fpm.conf and www.conf"
- insinto "${PHP_INI_DIR#${EPREFIX}}"
- doins sapi/fpm/php-fpm.conf
- insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
- doins sapi/fpm/www.conf
- fi
-
- dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
- PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
- PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
- PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
- default
-
- # In php-7.x, the FPM pool configuration files have been split off
- # of the main config. By default the pool config files go in
- # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
- # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
- # we'll install the pool configuration file "www.conf" there.
- php_set_ini_dir fpm
- sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
- sapi/fpm/php-fpm.conf.in \
- || die 'failed to move the include directory in php-fpm.conf'
-
- # Emulate buildconf to support cross-compilation
- rm -fr aclocal.m4 autom4te.cache config.cache \
- configure main/php_config.h.in || die
- eautoconf --force
- eautoheader
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
- # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
- # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
- local our_conf=(
- --prefix="${PHP_DESTDIR}"
- --mandir="${PHP_DESTDIR}/man"
- --infodir="${PHP_DESTDIR}/info"
- --libdir="${PHP_DESTDIR}/lib"
- --with-libdir="$(get_libdir)"
- --localstatedir="${EPREFIX}/var"
- --without-pear
- $(use_enable threads maintainer-zts)
- )
-
- our_conf+=(
- $(use_with argon2 password-argon2 "${EPREFIX}/usr")
- $(use_enable bcmath)
- $(use_with bzip2 bz2 "${EPREFIX}/usr")
- $(use_enable calendar)
- $(use_enable coverage gcov)
- $(use_enable ctype)
- $(use_with curl)
- $(use_enable xml dom)
- $(use_with enchant)
- $(use_enable exif)
- $(use_with ffi)
- $(use_enable fileinfo)
- $(use_enable filter)
- $(use_enable ftp)
- $(use_with nls gettext "${EPREFIX}/usr")
- $(use_with gmp gmp "${EPREFIX}/usr")
- $(use_with mhash mhash "${EPREFIX}/usr")
- $(use_with iconv iconv \
- $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
- $(use_enable intl)
- $(use_enable ipv6)
- $(use_enable json)
- $(use_with kerberos)
- $(use_with xml libxml)
- $(use_enable unicode mbstring)
- $(use_with ssl openssl)
- $(use_enable pcntl)
- $(use_enable phar)
- $(use_enable pdo)
- $(use_enable opcache)
- $(use_with postgres pgsql "${EPREFIX}/usr")
- $(use_enable posix)
- $(use_with spell pspell "${EPREFIX}/usr")
- $(use_enable simplexml)
- $(use_enable sharedmem shmop)
- $(use_with snmp snmp "${EPREFIX}/usr")
- $(use_enable soap)
- $(use_enable sockets)
- $(use_with sodium)
- $(use_with sqlite sqlite3)
- $(use_enable sysvipc sysvmsg)
- $(use_enable sysvipc sysvsem)
- $(use_enable sysvipc sysvshm)
- $(use_with tidy tidy "${EPREFIX}/usr")
- $(use_enable tokenizer)
- $(use_enable xml)
- $(use_enable xmlreader)
- $(use_enable xmlwriter)
- $(use_with xmlrpc)
- $(use_with xslt xsl)
- $(use_with zip)
- $(use_with zlib zlib "${EPREFIX}/usr")
- $(use_enable debug)
- )
-
- # DBA support
- if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
- || use qdbm || use lmdb || use tokyocabinet ; then
- our_conf+=( "--enable-dba" )
- fi
-
- # DBA drivers support
- our_conf+=(
- $(use_with cdb)
- $(use_with berkdb db4 "${EPREFIX}/usr")
- $(use_enable flatfile)
- $(use_with gdbm gdbm "${EPREFIX}/usr")
- $(use_enable inifile)
- $(use_with qdbm qdbm "${EPREFIX}/usr")
- $(use_with tokyocabinet tcadb "${EPREFIX}/usr")
- $(use_with lmdb lmdb "${EPREFIX}/usr")
- )
-
- # Support for the GD graphics library
- our_conf+=(
- $(use_with truetype freetype)
- $(use_enable cjk gd-jis-conv)
- $(use_with gd jpeg)
- $(use_with xpm)
- $(use_with webp)
- )
- # enable gd last, so configure can pick up the previous settings
- our_conf+=( $(use_enable gd) )
-
- # IMAP support
- if use imap ; then
- our_conf+=(
- $(use_with imap imap "${EPREFIX}/usr")
- $(use_with ssl imap-ssl "${EPREFIX}/usr")
- )
- fi
-
- # LDAP support
- if use ldap ; then
- our_conf+=(
- $(use_with ldap ldap "${EPREFIX}/usr")
- $(use_with ldap-sasl)
- )
- fi
-
- # MySQL support
- local mysqllib="mysqlnd"
- local mysqlilib="mysqlnd"
-
- our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
- local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
- if use mysql || use mysqli ; then
- our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
- fi
-
- # ODBC support
- if use odbc && use iodbc ; then
- our_conf+=(
- --without-unixODBC
- --with-iodbc
- $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
- )
- elif use odbc ; then
- our_conf+=(
- --with-unixODBC="${EPREFIX}/usr"
- --without-iodbc
- $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
- )
- else
- our_conf+=(
- --without-unixODBC
- --without-iodbc
- --without-pdo-odbc
- )
- fi
-
- # Oracle support
- our_conf+=( $(use_with oci8-instant-client oci8) )
-
- # PDO support
- if use pdo ; then
- our_conf+=(
- $(use_with mssql pdo-dblib "${EPREFIX}/usr")
- $(use_with mysql pdo-mysql "${mysqllib}")
- $(use_with postgres pdo-pgsql)
- $(use_with sqlite pdo-sqlite)
- $(use_with firebird pdo-firebird "${EPREFIX}/usr")
- $(use_with oci8-instant-client pdo-oci)
- )
- fi
-
- # readline/libedit support
- our_conf+=(
- $(use_with readline readline "${EPREFIX}/usr")
- $(use_with libedit)
- )
-
- # Session support
- if use session ; then
- our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
- else
- our_conf+=( $(use_enable session) )
- fi
-
- # Use pic for shared modules such as apache2's mod_php
- our_conf+=( --with-pic )
-
- # we use the system copy of pcre
- # --with-external-pcre affects ext/pcre
- our_conf+=(
- --with-external-pcre
- $(use_with jit pcre-jit)
- )
-
- # Catch CFLAGS problems
- # Fixes bug #14067.
- # Changed order to run it in reverse for bug #32022 and #12021.
- replace-cpu-flags "k6*" "i586"
-
- # Cache the ./configure test results between SAPIs.
- our_conf+=( --cache-file="${T}/config.cache" )
-
- # Support user-passed configuration parameters
- our_conf+=( ${EXTRA_ECONF:-} )
-
- # Support the Apache2 extras, they must be set globally for all
- # SAPIs to work correctly, especially for external PHP extensions
-
- local one_sapi
- local sapi
- mkdir -p "${WORKDIR}/sapis-build" || die
- for one_sapi in $SAPIS ; do
- use "${one_sapi}" || continue
- php_set_ini_dir "${one_sapi}"
-
- # The BUILD_DIR variable is used to determine where to output
- # the files that autotools creates. This was all originally
- # based on the autotools-utils eclass.
- BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
- cp -a "${S}" "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
-
- local sapi_conf=(
- --with-config-file-path="${PHP_INI_DIR}"
- --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
- )
-
- for sapi in $SAPIS ; do
- case "$sapi" in
- cli|cgi|embed|fpm|phpdbg)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( "--enable-${sapi}" )
- if [[ "fpm" == "${sapi}" ]] ; then
- sapi_conf+=(
- $(use_with acl fpm-acl)
- $(use_with systemd fpm-systemd)
- )
- fi
- else
- sapi_conf+=( "--disable-${sapi}" )
- fi
- ;;
-
- apache2)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
- else
- sapi_conf+=( --without-apxs2 )
- fi
- ;;
- esac
- done
-
- # Construct the $myeconfargs array by concatenating $our_conf
- # (the common args) and $sapi_conf (the SAPI-specific args).
- local myeconfargs=( "${our_conf[@]}" )
- myeconfargs+=( "${sapi_conf[@]}" )
-
- pushd "${BUILD_DIR}" > /dev/null || die
- econf "${myeconfargs[@]}"
- popd > /dev/null || die
- done
-}
-
-src_compile() {
- # snmp seems to run during src_compile, too (bug #324739)
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- local sapi
- for sapi in ${SAPIS} ; do
- if use "${sapi}"; then
- cd "${WORKDIR}/sapis-build/$sapi" || \
- die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
- emake
- fi
- done
-}
-
-src_install() {
- # see bug #324739 for what happens when we don't have that
- addpredict /usr/share/snmp/mibs/.index #nowarn
-
- # grab the first SAPI that got built and install common files from there
- local first_sapi="", sapi=""
- for sapi in $SAPIS ; do
- if use $sapi ; then
- first_sapi=$sapi
- break
- fi
- done
-
- # Makefile forgets to create this before trying to write to it...
- dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
-
- # Install php environment (without any sapis)
- cd "${WORKDIR}/sapis-build/$first_sapi" || die
- emake INSTALL_ROOT="${D}" \
- install-build install-headers install-programs
-
- local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
-
- # Create the directory where we'll put version-specific php scripts
- keepdir "/usr/share/php${PHP_MV}"
-
- local file=""
- local sapi_list=""
-
- for sapi in ${SAPIS}; do
- if use "${sapi}" ; then
- einfo "Installing SAPI: ${sapi}"
- cd "${WORKDIR}/sapis-build/${sapi}" || die
-
- if [[ "${sapi}" == "apache2" ]] ; then
- # We're specifically not using emake install-sapi as libtool
- # may cause unnecessary relink failures (see bug #351266)
- insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
- newins ".libs/libphp${PHP_MV}$(get_libname)" \
- "libphp${PHP_MV}$(get_libname)"
- keepdir "/usr/$(get_libdir)/apache2/modules"
- else
- # needed each time, php_install_ini would reset it
- local dest="${PHP_DESTDIR#${EPREFIX}}"
- into "${dest}"
- case "$sapi" in
- cli)
- source="sapi/cli/php"
- # Install the "phar" archive utility.
- if use phar ; then
- emake INSTALL_ROOT="${D}" install-pharcmd
- dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
- fi
- ;;
- cgi)
- source="sapi/cgi/php-cgi"
- ;;
- fpm)
- source="sapi/fpm/php-fpm"
- ;;
- embed)
- source="libs/libphp${PHP_MV}$(get_libname)"
- ;;
- phpdbg)
- source="sapi/phpdbg/phpdbg"
- ;;
- *)
- die "unhandled sapi in src_install"
- ;;
- esac
-
- if [[ "${source}" == *"$(get_libname)" ]]; then
- dolib.so "${source}"
- else
- dobin "${source}"
- local name="$(basename ${source})"
- dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
- fi
- fi
-
- php_install_ini "${sapi}"
-
- # construct correct SAPI string for php-config
- # thanks to ferringb for the bash voodoo
- if [[ "${sapi}" == "apache2" ]]; then
- sapi_list="${sapi_list:+${sapi_list} }apache2handler"
- else
- sapi_list="${sapi_list:+${sapi_list} }${sapi}"
- fi
- fi
- done
-
- # Installing opcache module
- if use opcache ; then
- into "${PHP_DESTDIR#${EPREFIX}}"
- dolib.so "modules/opcache$(get_libname)"
- fi
-
- # Install env.d files
- newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
- sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
- sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
- # set php-config variable correctly (bug #278439)
- sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
- "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
- if use fpm ; then
- if use systemd; then
- systemd_newunit "${FILESDIR}/php-fpm_at.service" \
- "php-fpm@${SLOT}.service"
- else
- systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
- "php-fpm@${SLOT}.service"
- fi
- fi
-}
-
-src_test() {
- echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
- PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
- if [[ ! -x "${PHP_BIN}" ]] ; then
- ewarn "Test phase requires USE=cli, skipping"
- return
- else
- export TEST_PHP_EXECUTABLE="${PHP_BIN}"
- fi
-
- if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
- export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
- fi
-
- if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
- export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
- fi
-
- REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
- "session.save_path=${T}" \
- "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
- "session.save_path=${T}"
-
- for name in ${EXPECTED_TEST_FAILURES}; do
- mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
- done
-
- local failed="$(find -name '*.out')"
- if [[ ${failed} != "" ]] ; then
- ewarn "The following test cases failed unexpectedly:"
- for name in ${failed}; do
- ewarn " ${name/.out/}"
- done
- else
- einfo "No unexpected test failures, all fine"
- fi
-
- if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
- local passed=""
- for name in ${EXPECTED_TEST_FAILURES}; do
- [[ -f "${name}.diff" ]] && continue
- passed="${passed} ${name}"
- done
- if [[ ${passed} != "" ]] ; then
- einfo "The following test cases passed unexpectedly:"
- for name in ${passed}; do
- ewarn " ${passed}"
- done
- else
- einfo "None of the known-to-fail tests passed, all fine"
- fi
- fi
-}
-
-pkg_postinst() {
- # Output some general info to the user
- if use apache2 ; then
- elog
- elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
- elog "your apache2 command. OpenRC users can append that string to"
- elog "APACHE2_OPTS in /etc/conf.d/apache2."
- elog
- elog "The apache module configuration file 70_mod_php.conf is"
- elog "provided (and maintained) by eselect-php."
- elog
- fi
-
- # Create the symlinks for php
- local m
- for m in ${SAPIS}; do
- [[ ${m} == 'embed' ]] && continue;
- if use $m ; then
- local ci=$(eselect php show $m)
- if [[ -z $ci ]]; then
- eselect php set $m php${SLOT} || die
- einfo "Switched ${m} to use php:${SLOT}"
- einfo
- elif [[ $ci != "php${SLOT}" ]] ; then
- elog "To switch $m to use php:${SLOT}, run"
- elog " eselect php set $m php${SLOT}"
- elog
- fi
- fi
- done
-
- # Remove dead symlinks for SAPIs that were just disabled. For
- # example, if the user has the cgi SAPI enabled, then he has an
- # eselect-php symlink for it. If he later reinstalls PHP with
- # USE="-cgi", that symlink will break. This call to eselect is
- # supposed to remove that dead link per bug 572436.
- eselect php cleanup || die
-
- if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
- elog "To build extensions for this version of PHP, you will need to"
- elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
- elog
- fi
-
- # Warn about the removal of PHP_INI_VERSION if the user has it set.
- if [[ -n "${PHP_INI_VERSION}" ]]; then
- ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
- ewarn 'remove it from your configuration at your convenience. See'
- ewarn
- ewarn ' https://bugs.gentoo.org/611214'
- ewarn
- ewarn 'for more information.'
- fi
-
- elog "For details on how version slotting works, please see"
- elog "the wiki:"
- elog
- elog " https://wiki.gentoo.org/wiki/PHP"
- elog
-}
-
-pkg_postrm() {
- # This serves two purposes. First, if we have just removed the last
- # installed version of PHP, then this will remove any dead symlinks
- # belonging to eselect-php. Second, if a user upgrades slots from
- # (say) 5.6 to 7.0 and depcleans the old slot, then this will update
- # his existing symlinks to point to the new 7.0 installation. The
- # latter is bug 432962.
- #
- # Note: the eselect-php package may not be installed at this point,
- # so we can't die() if this command fails.
- eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.4.25.ebuild b/dev-lang/php/php-7.4.28.ebuild
index 2cc434eedb4d..fc016b9cc5bb 100644
--- a/dev-lang/php/php-7.4.25.ebuild
+++ b/dev-lang/php/php-7.4.28.ebuild
@@ -146,7 +146,7 @@ PHP_MV="$(ver_cut 1)"
PATCHES=(
"${FILESDIR}"/php-iodbc-header-location.patch
- "${FILESDIR}/php-icu-70.patch"
+ "${FILESDIR}"/bug81656-gcc-11.patch
)
php_install_ini() {
diff --git a/dev-lang/php/php-8.0.15.ebuild b/dev-lang/php/php-8.0.16.ebuild
index 76be376118a8..385f80f7b261 100644
--- a/dev-lang/php/php-8.0.15.ebuild
+++ b/dev-lang/php/php-8.0.16.ebuild
@@ -21,7 +21,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
S="${WORKDIR}/${PN}-${MY_PV}"
diff --git a/dev-lang/php/php-8.0.14.ebuild b/dev-lang/php/php-8.0.17.ebuild
index 76be376118a8..84b051ff0226 100644
--- a/dev-lang/php/php-8.0.14.ebuild
+++ b/dev-lang/php/php-8.0.17.ebuild
@@ -647,7 +647,7 @@ src_test() {
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
fi
- REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
+ SKIP_ONLINE_TESTS=1 REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
"session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
"session.save_path=${T}"
diff --git a/dev-lang/php/php-8.1.2.ebuild b/dev-lang/php/php-8.1.3.ebuild
index 423e9f806689..423e9f806689 100644
--- a/dev-lang/php/php-8.1.2.ebuild
+++ b/dev-lang/php/php-8.1.3.ebuild
diff --git a/dev-lang/php/php-8.0.12.ebuild b/dev-lang/php/php-8.1.4.ebuild
index 44a21e552771..b92b7857736a 100644
--- a/dev-lang/php/php-8.0.12.ebuild
+++ b/dev-lang/php/php-8.1.4.ebuild
@@ -1,13 +1,13 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI="8"
WANT_AUTOMAKE="none"
inherit flag-o-matic systemd autotools
-MY_PV=${PV/_rc/rc}
+MY_PV=${PV/_rc/RC}
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://www.php.net/"
SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
@@ -21,7 +21,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
S="${WORKDIR}/${PN}-${MY_PV}"
@@ -113,7 +113,7 @@ COMMON_DEPEND="
sodium? ( dev-libs/libsodium:=[-minimal] )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
- ssl? ( >=dev-libs/openssl-1.0.1:0= )
+ ssl? ( >=dev-libs/openssl-1.0.2:0= )
tidy? ( app-text/htmltidy )
tokyocabinet? ( dev-db/tokyocabinet )
truetype? ( =media-libs/freetype-2* )
@@ -126,6 +126,8 @@ COMMON_DEPEND="
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
"
+IDEPEND=">=app-eselect/eselect-php-0.9.7[apache2?,fpm?]"
+
RDEPEND="${COMMON_DEPEND}
virtual/mta
fpm? (
@@ -145,8 +147,6 @@ PHP_MV="$(ver_cut 1)"
PATCHES=(
"${FILESDIR}/php-iodbc-header-location.patch"
- "${FILESDIR}/php80-firebird-warnings.patch"
- "${FILESDIR}/php-icu-70.patch"
)
php_install_ini() {
@@ -222,6 +222,20 @@ src_prepare() {
configure main/php_config.h.in || die
eautoconf --force
eautoheader
+
+ # Remove false positive test failures
+ # stream_isatty fails due to portage redirects
+ # curl tests here fail for network sandbox issues
+ # session tests here fail because we set the session directory to $T
+ rm tests/output/stream_isatty_err.phpt \
+ tests/output/stream_isatty_out-err.phpt \
+ tests/output/stream_isatty_out.phpt \
+ ext/curl/tests/bug76675.phpt \
+ ext/curl/tests/bug77535.phpt \
+ ext/curl/tests/curl_error_basic.phpt \
+ ext/session/tests/bug74514.phpt \
+ ext/session/tests/bug74936.phpt || die
+
}
src_configure() {
@@ -634,7 +648,7 @@ src_test() {
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
fi
- REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
+ SKIP_ONLINE_TESTS=1 REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
"session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
"session.save_path=${T}"
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index 580e76ebaaee..fec2486708c6 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -8,41 +8,67 @@ DIST Python-3.10.1.tar.xz 18775460 BLAKE2B d2dbf875ef5f9cee6dfd66e2d2489b884813c
DIST Python-3.10.1.tar.xz.asc 833 BLAKE2B a5678c522b486a246993616ee36ddb3f74a093fb5729d8d2da3cfc4de5c3e1fcf3f4f55504b7bbf929050204d22a89ff3c7750b599034a3d5c941666f54fcad4 SHA512 645d5f40e6e80a590923a48763f20dea7da3f3eea5825bb79e08618d81d1b8eee0ddee2b57503321a584280536e0671e4913e5ad450568fbbb44509c01d3907d
DIST Python-3.10.2.tar.xz 18780936 BLAKE2B ce202f7b45858b88ffdefe8217422fa9dccccc58000c6f3d40c9791d28ab58f67fa033b5102cacaf0ccec5524510becec9870c9bf5238b78203a0a354e8f526c SHA512 215a7159face84788fe547c1e2689b8d0ae510275157cf01636bef2902d0ff465f844eb0328c9f39fd1cd03a1d1736d4cf258992f2788e492a801a372032c08b
DIST Python-3.10.2.tar.xz.asc 833 BLAKE2B ff3b1f8c1c62e75a00ac70bbe3a2e87406f0f44fba8bfa1ea5c0d8b8175a8720af62c57664bf50fa5f7ec7caeeb2669c17917e457daf43755f1583e92eb410ba SHA512 086aeaa999d3005cc1f9057d90230c7a9e65d80f436febf16b0e8ba6f49645870ef21170ca1af50c8e2f51e6f46338cfad73a2d91320ad4a3315a2ae87eb70b4
-DIST Python-3.11.0a4.tar.xz 18805548 BLAKE2B 3315ee4392c3a7312273c705779415f5456e3d19d5e7b4008a67b4ea68a9d8aac2ecb06524b856a3522723f628ff687b01f2a5a48a04c24b4883ba357c30d685 SHA512 721ed64f3fde360e9eae6d8f8a046091c7c08f14c860572ac868132dffa4ae0a46f3f57a3872fcc096551a66e4fa3b1c87f77baa52d8524da026bbdaa74837ec
-DIST Python-3.11.0a4.tar.xz.asc 833 BLAKE2B fd12a6381eb137ef99ed508f8a704b4794d554d8e62a3febd8f87f226ad86efb1f5e5607d088fdba33ee2215118bb05e2357bad5ceba5159a76821fc74b079db SHA512 21e56475186c3e6a029a51799cf8c86ac74d3810b5aa76e4b4bc063bacb2624b21b6ec3450dd9f91722162e57390617efb521351b11d262d6583655081277611
+DIST Python-3.10.3.tar.xz 19343528 BLAKE2B 5234f14d3dbc1b7c43da65fbc242218c1f94601d13ca84419cd9b29eab22ab411b7cd043ebaabc2b2aa1856e5e91c3ecc42eaaf333f92b8e133844e09d515bdf SHA512 5020407798ebaae6002b8de29475c1064a32f1527a0e4ec6fe7fcf076b4ea3ef0ab4b4a7864a6081cc8dd01dd545123198b11cc8dd1259c670394b7d81f35a86
+DIST Python-3.10.3.tar.xz.asc 833 BLAKE2B 03117464582146b78748ba129a10b7481607dd9dc7cdd38ced9f20e96c8c01722852941b6b7b58f34fd42b3709fc8bd31b7ba97d89235ce61d8f0ac89106d69b SHA512 ddbe55225fcdd5d36f6be4bb802ea8fb9c5e8cf1b573b76501cc0999bcbfb2355f5bf7bbe10bf7cb209e54f37ed0789b4b936920b208b2afc18597bab33f2f51
+DIST Python-3.11.0a6.tar.xz 18754036 BLAKE2B af19b9f548891fa9c89899f83ea05579a0fd30d030575dfbc33f28d26ec7c97081d978462760bbf3a160ff2ff4b04127983c7b6a62062587e630eca7bafe6981 SHA512 867f7aabe10977ccf31bcfd6968fd8bb880cf5c3671bb70364a9b37296dae7ab017624446c64c12f7753b59c1ebda9e494bed5f946c5586b54fd86b0289d04ea
+DIST Python-3.11.0a6.tar.xz.asc 833 BLAKE2B 30b26fcc60d77f189c8b6c7e87306f752de88366700a899f9a6a90e2a74c5a5259592a350eb812a338fd823994c066d0354285ba54a9e9421f400c9cf1c41b33 SHA512 c29bef3fa59ef304f420a18657fe3448211e4f742cc119937335aaad36b9898d965d84fc6ea8a2f9f27865e237cc929b9843663292c44dd7b3ae329aa3fab1e9
DIST Python-3.6.15.tar.xz 17223796 BLAKE2B c139c6f93ea70ad898d5626dfa964280a14de9676f0d9d55668ad91618b1ba330874cbba8d6526a87e53b585ff34e3bf242613ca3fb17ee60f362a9676306c7d SHA512 f1894d704c91669d94ec83b5631288bf1e0c73ddcf33cea0977575f262eb672caebc8ac00e34e9b99c321c19cc9a71d6081fa957bb8e23cf5bfba50f345145ef
DIST Python-3.6.15.tar.xz.asc 833 BLAKE2B c910f2367ed947ff6b33380bf8fee318c65d6e5fb0c4a847fd8f2761bbae81dec07b729b31eca060916264b6a0ccf5c52ca72181b3db79751df7697a426a8939 SHA512 cdc93e5d8fb2b5b48a1560a55bba4680adea10e35c8c38b4c51cfd2f6ba54ab2a5d4e5f71b78b889f98cf8ad9d598e0f4e019d50cc16f7db57f9d292a860fcfd
DIST Python-3.7.12.tar.xz 17401916 BLAKE2B f01b5cc54cd0ffe2e8756767c624dda8d2fbf24e90f22a16b5a406dad995ef218613db10f0b3fb2da0ece50ccb02c8a8e007ceb0842ce9e93ee9df7348ef1528 SHA512 e1a5942908c1d1469c0ab129fb4287d4ba6eb2a030e88fd71c043fe187a1bc86c00878dab29147199617a361a0c60d9e720fe3bc58bc7bc4cc8ec4bb50c7ea2a
DIST Python-3.7.12.tar.xz.asc 833 BLAKE2B 587fcf019f4b07b811834d7279b9861eb709731a431be9cbe8f5b868ac72b6d9a4de8b24e3fefd6b339813299514a0ac12b5f627acd04c185ff8dea22a044723 SHA512 a47003dd5c784eca4e3c34dc8705d1171043e060f3a97e4dd63ce4aec2bceac56d7e808924d63b2a38f9a020bf799cf29e5055fb444b9b2c3f03976d47122355
+DIST Python-3.7.13.tar.xz 18027980 BLAKE2B e5ea14e3b080e7a126a4faeaad9287a7b5cb6be138a0423b4dbfd1c3b07e452ed99aeb818380ab02e9967673b0855a4a81cec1fa5b9b919f8a4e45da70e9df3a SHA512 e95366b68c1bc1dc1cfb2d956f1f49c5d0f620b4780d03002b3c321d2788108eb4e51d224cfa6bcecf7d780e9024ab0ef88b422d6d25e983dbc56b2a89b7dce9
+DIST Python-3.7.13.tar.xz.asc 833 BLAKE2B 1e09a904c07951ae10fc039935c3974dbe2d0a51fed40c6830f321e42f7ddab32a17afe1b35319982160e0fed47b1ff7663d0f18d0b4ae8e81a34298394462a9 SHA512 35c35bd386841fde4f7d614de84cdc05d8ba1377b224bbcd4d6de18a1c87969b23e1583ca9f4e673e0340350c7f59c80986f8ccf41ef573b6585320c90fde19b
DIST Python-3.8.12.tar.xz 18443568 BLAKE2B 73413aee7a31347ac4342718a54d23d4036220262c4cd41cd50b06c3b1698d52d11cf7ac2c781b919f2cdb0dcb6397d623c463dcdcd1edca99abbbce239a3c6e SHA512 2f93fe5ff83f470c7b6a1b7f29f499a2a010fabd649e9fe65ad3fbfa21b6e1966e77c9b7ac012d978159bc3fe63fec2d64bc6982fc2ee1714d3fa0e47631f279
DIST Python-3.8.12.tar.xz.asc 833 BLAKE2B 33f59aa667555832ee510d2a7295079f34a3983dfa84beab20b33ec691ea3eecfcc4a62591fe233fc30622d0236ee69a3d41b8922ee2f4c632df3523d565c3ec SHA512 ef552b716a721f410abb14387594c8b0ddc65ce4b8a6ae6bf920c1db2ea9ddf6bbf547e93d3716495ae31848eb1049aae4257016e888393681bbfb6f6529bc12
+DIST Python-3.8.13.tar.xz 19023016 BLAKE2B d3cb8624496e56d93d34f2aa5082746869a99210197529bc19e6a9d265f4ce246e0e83a3528a7602a28aac8855bf84e6bf6495b85e9202fcf04ef90600cb5e43 SHA512 5c732b5d21b189b99a0e9ccd3ae59466bed60a930d5d3f437a262d38f0797b776cecbf12a1852eaebcfb638a6f2e28e471cc2ebf94237cc728144be21842cb81
+DIST Python-3.8.13.tar.xz.asc 833 BLAKE2B 918894777e1a783f2a7c7958a808610631cb7a6039df84675158e8d2fd66782f29921d44ab9b4625c4ca3821852e0d0e0005163b086c7d0c3d617e3a76cb7033 SHA512 6683c4ae6cf20a97a29165f96b9f5dd09d618892583650d803aa677240695968dfe344294fc33db68fd4669c82021afcc29a1f6afe49915be51fae281eeeedbe
DIST Python-3.9.10.tar.xz 19154136 BLAKE2B 4acd2dc26506592c776f9ed9fac22e5a8741ab700ec11aca93566425ab2a957392e6284f0818198e20088463c047502a07d3f5dadc8ed8689c316f823fb2d444 SHA512 09cb942f84bf362df88999ffa6faf89b4ad12302e67cda4a11547828ebe410c7c93a3dc96cd66fd9c5c7d9a1abe5b8e259e7ec47c10273b42d212270aca5ecba
DIST Python-3.9.10.tar.xz.asc 833 BLAKE2B ab6a514bc4ac5032f5209344d234491063bc3dc1ef9c3e4b66951deaff042e25bc830a301cff2a1b674ef4025526001f6e73c37b65d9d102da247660a419e2f7 SHA512 d9fed5b39100b81835085d712453516d309b0dddc1524d578cb63c95cd1e2392882702111dd3cb0ebf58c98b94ec04838c89c57f4a7a649c585f7ba5eef70e5e
+DIST Python-3.9.11.tar.xz 19724780 BLAKE2B 25b017e36b22235790633eb1a88f52092225252f39963fc365c1ea863f5b5d98a796bceb01e5e34c02d9690f2a664959766b214b8c13350d6e22839218d0c097 SHA512 804e6e6b31922378f07f290023f6efc870c6fd3010204c499c2b375880f6e6ec0f72ce96a8fff81956f6fa3bea2123df2138ef0fda23a3d5d3cf757174a930c3
+DIST Python-3.9.11.tar.xz.asc 833 BLAKE2B c60c291f3dad39c842d16717239006f3ee703eaa586d95ea02ba4486d20a1e82065bbaf7af6f7cf6a04799229359791a72834096b6ce5f5d2b583ba5962d441b SHA512 a84bbfa68ec1c0e45bbd64af4481be7d68885021287731c69346a3cb25c9bf607be84dd72af2d3a6fbeabbde64975f37c4bb4f61274e72b92b4277fa48543e52
DIST Python-3.9.9.tar.xz 19144372 BLAKE2B 3a144ca5e4b11b2fd09d05a4a40ddf3f622c077338602c519b21ea827c96e0f14ab97563c0a9d306ae4a5c3f44753573a07474dc084fb364d24b2128bb378ddd SHA512 0ab29fb9a7ecb808bd08d84d28908d5a934e0f021853da0f7a9c94670eb30c8dbbc233d461afdb3995b0de59275ef7e1de43e82d7f848802cbd6e6e50b7b25a6
DIST Python-3.9.9.tar.xz.asc 833 BLAKE2B 41d05ee1ec256f0cab4e9d3540877783745f0f30e3f1177d01096b352341a90893c5c9523926bed8176bd304cbb1fd6619be3b4e375103874eac5e5ebc113135 SHA512 84fb739c60216ab9a7a487a0ec4039a7e85c7684ef1f71d8b3bc415ff2ae284f79474103ae05385502bc2510401f8cfb33d84dccf5d0ea9a0dd62528519d935f
-DIST python-gentoo-patches-2.7.18_p13.tar.xz 33296 BLAKE2B 91b711458aff4f6337ee1b34aff58d7edda6725644a64c9320076a1e04c816729ed163d82333cfe4dfef379a9ad5ef50ba00abdbbfed4503b0f92c8f0b7ca683 SHA512 97f3657a4a95e8492aa710801b974a56e6dd4636e475aea45cbbe76e7ae32d00f07b05769887f05e49cb0df8584ac9499a7ce842bad77f837a7c869f9b769b07
+DIST python-gentoo-patches-2.7.18_p14.tar.xz 34292 BLAKE2B 654cefb34e3ff61b2a212b83ec1344ebace160aa3971a4a61212b637b83083864e1bdad2b78b166ba0b2302d145f3051b71b3e6b581b064f7f09353acdb4e4b1 SHA512 d6551a045ade16ef523a29451cc07499c29aca92548e46c21bcd6b3a3549f5a0f1f7e420ac326e7ac2e0158fb5490429a9d28994cbfd6c8b5b652788612bac26
+DIST python-gentoo-patches-2.7.18_p15.tar.xz 34956 BLAKE2B d173f276dd9c0ce31004dcc55a0d18e9ce25a47683c2df3c4dd62e967dfbbb35be59a2f08cf20f30a19475a8a2344dd95b17400eafa88b5fdbe9270a12ccbf32 SHA512 d9386808265f978808e5c0ffd384cefe54fb0e05aeccfd394167d5227d9cd66e25c8e93c54914762b2cfc3c2dd851b26a7a84d62634c6aa8a0798aacbb7ac25f
DIST python-gentoo-patches-3.10.0_p1.tar.xz 10068 BLAKE2B 1c9817b449831559f0a0b722c02a5f55d94b3dfde98e5882c1403fe24a4addf7074ab39c09b91cff6fd7ace2e4b6e8ed899d9a0b9ffd6612ce315c4c192bd309 SHA512 39aa41dbf17b6dc5255491c75031a3dae6962b44125e426dbfdce365a6533c5dae9856b1fff8016a189124b7cff72d2665ce99da344c2f9dff005ba685e8c2c4
DIST python-gentoo-patches-3.10.1.tar.xz 8580 BLAKE2B 58d165c6c21a6736787d77d5bbeb770adff7f3729a47f62d0b7c4f0982c15c6a50b326be33638f3fca5574936cbce35d26e9ce0868faa3b5a3412b30586b066a SHA512 f86adf4e5195b1eb13cedbf24c1956964ce56745f0524a62b1e7c6baf74c6f1802e05cf4c08519b147579945c0526ff0a0ffc01cfb4372c0ec4f403b25e81012
DIST python-gentoo-patches-3.10.2.tar.xz 8584 BLAKE2B 4328b21d7b8b0e39d0d6761c3a52cb5369aff7dfa890a1496fe5c01720bd9d8ef38d915188ad6079158104f8acf5847e220d58c092a9682615aa366dce9f20d2 SHA512 063c53022525cea988a9a27643bf0b2b5e674259de487826ee3b3cbca50c369857908d53cee9be59adf09db7ac0dcaed65639c40204ff4519b812b215de588a6
-DIST python-gentoo-patches-3.11.0a4.tar.xz 3652 BLAKE2B 19beab7c85e93414f392f2fda89a5ec0fc0a8339bf3804cb88c349cbb57b2c2cd6338d59307a950abe387958cbe7d3b958a73004b5fc51788235660aed3dea6a SHA512 97745cc7dd9c0849f1e5cc577322878f831e7af0b45ef6d23e0cee1b02879386bbf22d84ff73b8a5f70f2b193788f3dff003ddc248bd8ea19779c371fe706bdc
+DIST python-gentoo-patches-3.10.2_p1.tar.xz 9860 BLAKE2B 6343b9fa1af2763501fc67674f0ebcec9bffa340edd741c97f54b290e91056141230264221b8746447da553ced7081156d83517330b7bb3ac027d9f72fa0d62a SHA512 7c8666bf47cda7647d330fff6070b9d0410dc21dc7114ff232bdbb5e5f993c02b9fc373919bae73391a2d28a8bbe096efc071f8273f2338758876a5f50b28d30
+DIST python-gentoo-patches-3.10.3.tar.xz 8584 BLAKE2B 4287b33e696a1c350fef2ef34843353a2f4ad20feed2e9d7e05d727ec4f18105f57c21e7ab73941e14cc2ace27e8ac7f5e96ce2893b626c8e75cac52760f0935 SHA512 515025b13063eaee71738b8e1f071cd9930cf516e90c1c652adc6f8bee356598d152cb3337a6633500cda4228a5ddc2819f1db0cdb2524a479a0bca69ca557cb
+DIST python-gentoo-patches-3.11.0a6.tar.xz 3676 BLAKE2B 6fa21569fc8249f76d0eb8d4c3347e87aca70a77e2fc4887de7c51ac9866734bb29cc6b82a17f55ada74ccd03f9918ee89ef273b8a7fbbe86c5987eb8b1754fd SHA512 c61d6accef58722efe6c7f4266bda48a74417a68e27ba75b27fe7eb406aeec7a0e0f7c0f5a2bff9879f807a2ef11608aeaff796e62d907441596455c756d14a7
DIST python-gentoo-patches-3.6.15.tar.xz 15300 BLAKE2B f49fd96f6ad1a1c94fea6b83acd229a81754b86061e243044ead4b9a9d5122a2e43b270b68722c359c084c05a566a3ad70aa46588ab7a005ee560ee118b92b8b SHA512 cc33491a33f3f1d990cf494d53b91b74db761142e8aebe1bd4b128ef10a268ff945e5ba08daad39cee095612a8e52265d6988873ecf9c073377cbbc10735aa39
DIST python-gentoo-patches-3.7.12_p1.tar.xz 19112 BLAKE2B e9964244af3db544dd6e96d85ca4bc24d7131b48eda85df5bafa3fb36474a024cecbbf4b27324e1f35f76ae6a1aed31dd7896e831b79b574b45a4371afcc7e5b SHA512 9ec996c2904f99bd6651ed1b700eabd91f2b82b1e9e0f3d9572243886a9c7139bf8ac2af04169485d3ca6339e1a87044cba203f6f0aee9609d2a1d53c812548d
+DIST python-gentoo-patches-3.7.12_p2.tar.xz 19604 BLAKE2B bd3b88d7ad5b73219d83fb1cd35190186a0c3e451a2d0764cfbfcffbb7323a1f01376d94e5fa01a48b9fae35bd5c9e3b61052020a8190816fcbb26bde0f4df94 SHA512 3c906ccabfcedf51c115706349389b7d5a3a0325713b27ceca638fb0f13558fad6cd1f9a3e2ad83c0d82586b30399124aefffc959ae66616a7cf8b30dba8b599
+DIST python-gentoo-patches-3.7.13.tar.xz 18344 BLAKE2B 038db3d4e08f7af41811af0073b9c970171a26ffdf8ca116646f285101cc2299372f264e89183f136b3a56c4f756f39518ef6083c3c13baf409034706212fd22 SHA512 7f0d95e0a558aa4171589b887121e09c74679fc99089274e38c35188cd77e7fd6c53231d052455d752fab0c7dcef86a0efc4b8875a9e2a6c295907c271c6e822
DIST python-gentoo-patches-3.8.12_p1.tar.xz 16632 BLAKE2B cce7a41d020af1ffc55a01ef67b20bcb16c68adbccc1e44ef166d1707e817ed6c3bae70f84c56553f27bca449015e273014c0be73bc2f9b4e25844ddce385486 SHA512 4621727c2e9cc1c5519e021210e16a97e7167ea831445dfdd07f5b0ed642b5919834244111708a971ce098b10b439797e1c76827eccab803f801052c671f1ae6
+DIST python-gentoo-patches-3.8.12_p2.tar.xz 17224 BLAKE2B 1287a7fe2e55a5a24872cc9849d2339fbc453ed9a02a276afef9aecb451f97104cbc926d10dc99fdf423dbe49987b7a56c548120e204088b59e5ca710c146a66 SHA512 c2ebea7a74fe2d2d9af5b3902a0cd8542247f2e3a310b1e91be3ed7f5bd1d51a77f013f7c3047aef8c2762b740cb9daeb30fd4680dc3bbe1b61dc095ebb1a6ac
+DIST python-gentoo-patches-3.8.13.tar.xz 16004 BLAKE2B 5c0c6c9263570a467391e60c324d1dbc1e50ffda9cad1e204df124441b593146f18e5f1529eb7d385b35c5f4b9e597807971b6b66f7f8eef156ad87c9ad32743 SHA512 4ceb831e2d62bd73909b53a3b553b2cd73d08bcf2a1c92b47eaeb1221d40daabcaed14977265bcb265df00b6bf363dbebbd61a62dca4bf6ef40c6b911e980597
DIST python-gentoo-patches-3.9.10.tar.xz 12844 BLAKE2B f342fbdd1a580787e2d699ded9dc5307f5b610303c6869aa8d0fa4d9e60acd997dc12ae96c6de07cdf9ce0a8bfb6e13291d611d4a6a193844049882b5d01d1e5 SHA512 50111552ff82019672d82e5a328e6e9d8ec2a61a957b63a7a49c5de1f1b77be296272f4273c78154667d5a88d82646360d9a411bb8cf451408837413b06d4b23
+DIST python-gentoo-patches-3.9.10_p1.tar.xz 14080 BLAKE2B 7cc21ffc439b82661e151ce7f85e217ce7cbe674296e7f7fc7f9b9215486d2845e8314130d1d378e24a0c2c9a6340055b1e4345426b136c113b7e833c564e903 SHA512 1be7ccf4dbb29d4b19985000baf98e54d77f493069f44381b5a3629b1e5b275755ef5a4736a7490d0bec037ab4be88ca1856d615bca9c759b0995b066dd2dbed
+DIST python-gentoo-patches-3.9.11.tar.xz 12844 BLAKE2B de7ffa39e96127949d2b894fe15c8c1345180842791743af14a3728a7c950e877ab7c74f3e72da5518b16ecb2f3ff13e6132740bb067fe43a8359c673befbaf5 SHA512 0507792188587e66d63a70dde17c6aea1c9aab9e40ace3aeb585adbd2c62acf828782312ba7523f7a4ea49ab1125a30c7b091d10fe02874b018f2733fb8e141d
DIST python-gentoo-patches-3.9.9.tar.xz 13200 BLAKE2B 672e3b79094cbc791988639a5dde4c9e5622e91bef4310d26838716c65763ca69a12c6afef2f19487f4389974af009896e452c19783b0a491072d13f893af7e9 SHA512 3cd4ddd070ab48d9978e1136d237fc24030fd3ce6704371ce99815702a45d839ee26c7e9552b004661827759edd30222434e4166f9ee16f873ad4783c83f723f
-EBUILD python-2.7.18_p13.ebuild 9899 BLAKE2B 89bd80ccd09e15edb4b8be45b620d17f7d220551e25f373cea50e9aa593cf2e42660a54a65f56f46783964a23076e182afd4fe36d709c22cee0e5745be75142d SHA512 4e8916ec74ed0e2921c50a9d7f27e62922fd0c0f52d87b870c3ae36161ac303c0a146ba3a61d0e2ce5b6c2d2f6d5798f696fc750642594a5cad6b396caa626fd
+EBUILD python-2.7.18_p14.ebuild 9899 BLAKE2B 89bd80ccd09e15edb4b8be45b620d17f7d220551e25f373cea50e9aa593cf2e42660a54a65f56f46783964a23076e182afd4fe36d709c22cee0e5745be75142d SHA512 4e8916ec74ed0e2921c50a9d7f27e62922fd0c0f52d87b870c3ae36161ac303c0a146ba3a61d0e2ce5b6c2d2f6d5798f696fc750642594a5cad6b396caa626fd
+EBUILD python-2.7.18_p15.ebuild 9907 BLAKE2B 948149c8dbd5490907c00e8c9ff617b1d002e5f7694f4274cf4b6c74c7c584da0bda349d2663adb03987c503c33de546d7cbb1bb34254744b702bb846e4cfb77 SHA512 d82b89d3149cc8a3124f6abbe7049d495dfd2eab0fec44d92302c8adddae06b2b0155f3a2e80c07b1ddf4d736c31b0df4f3aafb33e7557b889e4f9f1924951ed
EBUILD python-3.10.0_p1-r1.ebuild 10649 BLAKE2B f6c02daec9145c17967964b3c2c5f12fe3549eebd11b939509bb1ebef5e480c121839005ea018e9d06b524f029834e8feaffb6c1b2e5c78aff023bf0a7fa422e SHA512 ed8f377ff9cfe136817c4e71e22e63e290023d9318a1cc85aac4db8fe273a82863a4fb1dce9c954d03aa3314edbc8f44454a187976bb9ff0759fc0642f94c3de
EBUILD python-3.10.1-r3.ebuild 11101 BLAKE2B 79eef63d0ae92af7002a860b4c7c1e95e3f6c3d07b15a37222895e8f2008b7d76b86200e4c69b2faa8d684d8dfa81f76880a1ad5c2932a0fadde8c69ebb3a6ce SHA512 647da8d99768c94c290cd7bb5f11505865cd7273c57804e6c90d8a2a1aa321b498966905655c171ecb8c64b975ccb8fa07e3d0926e83249baaa2c18a75708f92
EBUILD python-3.10.2-r1.ebuild 11354 BLAKE2B b007f5139432b40f652de4cdf292b42fc27a8f080c819e248339037e95350ffdccfd99b1b5c0b37c5b2b7f2cf0e5a65f7fd6dd93ee2b86202726b16e7baa157e SHA512 f4a7ee1791ce593432cb5a4b4c8d437bab6458c2a9bf337081c6a51b3ae47c356e61bfd0b14d4522355941a731f65aaff170aeaef8a8f401b450994e78a32b25
EBUILD python-3.10.2.ebuild 11144 BLAKE2B 849484ac56fc4b32e73b17f7343954a897d9d358b7c63362f105afc4497b086cb0d225a0d44cf0b05b71f4e07d471472c47353eb65aef82a06ce483aebf8d804 SHA512 a93edee8c6efd70a9d7057959311f5c8bec32f4aa169d66edbb42674f8ec6aa88accb682fc30968b7775a957326536a2b909fd24612cd2f507f88c7717f179dc
-EBUILD python-3.11.0_alpha4.ebuild 11294 BLAKE2B 2fbf2494cfe24cccdeed5e31991209c63454cf9db4948da68c451a15f6bb3c6a7ab8bfccdd70398fe0ff4c24561dd1260c77914f8f29028c33e07335f541d929 SHA512 6060ccd59b8a368ee07bb16eac54a81a11da9c3f490b802285efc302c141466aed35ba415820f592a96505686a18f3bac3a47aa51c3164b9c98490e59fd07f2e
+EBUILD python-3.10.2_p1.ebuild 11477 BLAKE2B 46df80f0b47e9d1c2b84128ed840e40ab8b205a8f01500a806f6e90d32d8d765993ec81228db4067d5406fb5fdadb6e6284cd783ddeaab510d7165b7c72b4ce1 SHA512 5136990577beee1b5dd791eaf7ce124baf0a3437a9bb8addc7b8419bc9dfcbeb3c44c88fa84b55e5e0023aef63e32bd110d41843171b23037718b2fac8a259a6
+EBUILD python-3.10.3.ebuild 11778 BLAKE2B ec8bfbcb1d18872a48bed48699d5eb92e796d143bb1a4f0aa31673d507e8e09978b2d2705d8efe11554705bafe08f32683fb65319d9c3420a727d8f3928d898e SHA512 62f6e6f72ce50274f8bb3a4980d5605d65b94524875be16402097e9494a6a6ea2e579c1112df11a8db3d4ac88b6c778f17acbb01cd5089102b11084cffcb3d91
+EBUILD python-3.11.0_alpha6.ebuild 11710 BLAKE2B 770d65ad0b6e6ea2a1dead8d70d3ef0c72ca0f06c713f29e68f618c2038916630ec2e6f5be6d0e3ccfbbfd97099bda01541effa2c851420d568c1cf85194bb1b SHA512 1a6c17321063bfba0d7b7cda8b665e38bfa6ed7e0287727ac8b4fcd21b0eb9da1918f61d69c1abef71686393700bc9fc29375e4967df8c08fe5e241580e9c9c0
EBUILD python-3.6.15-r1.ebuild 9932 BLAKE2B 595a14f19b3f37f473f4d22b0533a4b565f7eda28e493596947957f979748a8b17417949e8b73e395dc78203930a9fdbf669e5ec840537e277e03066488b6373 SHA512 757dc6f2097654a35541ea0e1f434c43b34e3809651ca3a62745261845f3e4e2b940d75154a8e94b73eda482c5f85c3c3bb6b84fc2c1d35b9822545e7c006b23
EBUILD python-3.6.15.ebuild 9714 BLAKE2B ca1cb4650ccf1e564686da9390ff985b92715a3cb3bd628d9fb53bc5a69985bf9d7dd506cef94fc7d4e36c8c9f8d98b8ceffec27c90b15c85bb886e1caf58078 SHA512 386be71366010a967f6ecc145ef3eb72672a5bace83a619a6e04e57f630816d12a151796a0e06ac397954af1e6ee99b546912b202070a9b032c53937a8e89bc6
EBUILD python-3.7.12_p1-r1.ebuild 9827 BLAKE2B 1f156176b78cb8e6a35d94ff05de3e72c82688c1b7b6d298e34c91827f108e0a857f0bca164b69df946ab4f2b06b2da867f9a4d82f90ddca9999ed6f6239a2cf SHA512 e1cd10a819ac96edab70483a5b818a0f5cf94daed74aaffcc726d049338a228ae1dcc795becd2a6f25560e92d07bf1efc5b64428a625168fe19017effacebff1
EBUILD python-3.7.12_p1.ebuild 9609 BLAKE2B d2598e603fe9c2401f96b1c5aaa37bf77ee8905a8c70b4ae7eade2d1bde9e119840cd87de27b9d80319b0a84a1aaafd3536adda705cdc2b6bc65c53697e91872 SHA512 e4592afe10027dee719a026d51b6d3ab9cf6ec21049313c4c43cccdc935affbf1931bd7fd72747b47d0a392b292142371ef7a4699d6f98657bec9318d052c190
+EBUILD python-3.7.12_p2.ebuild 9955 BLAKE2B a71f0975d87d9e04083cf4296c4fc7107b052ca4ed8dee9d568a5f08a4e7fdbfa041c8e7d31dc3ec9799c9f8ff2790dbdb90e329d53db6277f70c9ba8f906e50 SHA512 6329b4e80149a276f023eb103fa6f48db44b4c6dba143f270f731e5096bc98dfe705f4358ec2d15eb363e2ab8ab61fd8420b288209f4505a1ba19ce75ebf5796
+EBUILD python-3.7.13.ebuild 9970 BLAKE2B 9be84de40254fd5a6b673f9a624c3fa2d182f75941c786f41953acd4234d0e0afca2440880543880a2bff1fdef7236ced1ea5e043d2a3638bb5de468b63b09c4 SHA512 9b4c8ecbb334d97fbcd9d91c2b2d4b2c8519eeab2c46eeae632a810ff689cb6567e14dc49b59fbe4344270483a6bd88b3704a8b079aeb06bb47049962fa5352f
EBUILD python-3.8.12_p1-r1.ebuild 9938 BLAKE2B af641dd352b65814ec8b54d3d205f89174ac4d1ca11d8c6138c2d00bb1918ef982bbb82a0e15dedbb9ba43a2f9f3b63d853cc49cd0cb399a469b5ca1a6825ec7 SHA512 5c6b45639b13d5cc5fd97aebad52f1ee5832d646857510dc5909e0f0afd7cd0dc848dbf78a7e12838d072c3b036ef93cfe11bee528d42bda43afddad0b1e03db
EBUILD python-3.8.12_p1-r2.ebuild 10156 BLAKE2B f7db2d6df56ff646ea8099a6ff2ae5eaf7f87f825b02fd2b3b842f136c9edfe4db3a93e5fdc871060e34ae9bae15cef0120008f0d7e84e49a81f5b65d7bf0f97 SHA512 06277b76d88cfa9cdd071dc8404270faf75a9f5df5c65cc10925d39cbe968ca4406a47d566f5d9dabfdffae56b44d8010dfa97af49b71e78000dd16bd83c92cd
+EBUILD python-3.8.12_p2.ebuild 10283 BLAKE2B bf3b58b58d13813cd048b6dbc4373aafa6548a0ea7ecced2d347b3261ca22c52e9011f7245a75c8fa7b2d12d4ec61c7b77979199490f3775345e51fed738f65d SHA512 47fbae10be2fcac1519638b1acc25c41e5ffc774b9b8f14cd93c4132ef24cabaf1b90c9bde21f0d5b0d8ddd1bd27028d3a1875f804ad8c39899e2de675a4aaf4
+EBUILD python-3.8.13.ebuild 10298 BLAKE2B c0a05ec50fa0a8b553185448fa4350deb13f71ae958daeee71da4057a082f9aa705ad41c5276e76bb1c27e304bf6a2a5df462101269a7ec7c2632465ea147f93 SHA512 dc8204fb02f639559dc2b7e0e2801386a04988d1e4068cf99c9bbc79174b0084aca4538382e459ca66b14151017b8f1d48ce05afed85da17591c321313d159d7
EBUILD python-3.9.10-r1.ebuild 11114 BLAKE2B a38807323109748a38c69356c20e43382578dfc3bc2e2bf254e633d44dcdb068b88980f28804e692c6d360b5ff8a9d8f3e800223971bd7591bb414c17b25cf61 SHA512 3596fd5d935ce8408ddb4e5ca05035380aa32d9ea5ff7292f9e579a77df1790cb5f8415871241d0ff5d4aa7676ebf2583954a224f5236fb068507b16a06ea807
EBUILD python-3.9.10.ebuild 10904 BLAKE2B 6bb39991fb2b61f960fcf762bbdf2cf2948976d30b9837bc9d5cd6b9c4a934bca144f18898b2e7975ceeed659da8158d4e2735ccc56479ec1bfeb4b783300a9b SHA512 012a4cfd6f6ca69008b89ed9fcdf91624bf34102fda4f4ef02c81dc82a5fbafc8e6d4ded7138223c61f1042c168afaf91fdd61a2bca0e9a55cf43c0cd3bb3738
+EBUILD python-3.9.10_p1.ebuild 11237 BLAKE2B 91db981028b86adbbc2f1464ef1e766cc8a7e15e18e9ec6bc0eb69c16ce96ed823ca4ad8e9fc5ab8342771c0e0965bb67b750abcdb2da9be4ecf8a977f8be448 SHA512 eb3c167fb95c6f201581317f593a2af17a744ee27a0e9aa1eeb9738441893929e078f5e254d191d16b8991a32ff3d523a2a267b3a97c4e6cffea3fc9931add1c
+EBUILD python-3.9.11.ebuild 11529 BLAKE2B 8b88b92673ffe5bdbabadda61ff6711e4ca8d9624047bdd35c6b5c770298b596a4c6542c3bb2ed598dffaa86991b9342aaece65adb004fcef048a2f1052e7531 SHA512 1aa7e01407674d627ebc2a0a3838fdab818372d5a67265b0ea415b46431430093fab39eb1fdd01223219600aca6cce8c6cf32f5af9bbf41617eed2933fa3d693
EBUILD python-3.9.9-r1.ebuild 10896 BLAKE2B fcbda5d3be808babce2fd7bc00e7fbad40c83afee571bcbccf3c2b51e5b5eea355228ad99f849647e76482a083150d22e00d968e9432fd10952f5b7324e9e917 SHA512 e4dbf2b45a93046369bb276d4033e3aad77257843990a567dee7a03e67e9cdbfc2b15a7ab6e9125623b62cd799eacc7722d7e3ee547bdb3c1a6c676e251ad8ad
MISC metadata.xml 740 BLAKE2B 31abd8d03440517adf39f29f36e87f821dbf029602f40d4b252b1ec8e6a52955ad9325fe66a9a3bd2e9c4436e6c6865853f75c3169016c7a44327a06b07694df SHA512 b601a773d5fe4e29d43e9ce5d857bb525b706b95745056a74a2476a37f182075363cb44814f9d6f73b8be08a63d75ec322b608463796c6eef7aa8d636a2350b8
diff --git a/dev-lang/python/python-2.7.18_p13.ebuild b/dev-lang/python/python-2.7.18_p14.ebuild
index da93a624d8f9..da93a624d8f9 100644
--- a/dev-lang/python/python-2.7.18_p13.ebuild
+++ b/dev-lang/python/python-2.7.18_p14.ebuild
diff --git a/dev-lang/python/python-2.7.18_p15.ebuild b/dev-lang/python/python-2.7.18_p15.ebuild
new file mode 100644
index 000000000000..96d62e2e78ee
--- /dev/null
+++ b/dev-lang/python/python-2.7.18_p15.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools flag-o-matic pax-utils \
+ python-utils-r1 toolchain-funcs verify-sig
+
+MY_P="Python-${PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="https://www.python.org/"
+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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="berkdb bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl tk wininst +xml"
+
+# 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:=
+ dev-libs/libffi:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ berkdb? ( || (
+ sys-libs/db:5.3
+ sys-libs/db:4.8
+ ) )
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? ( >=sys-libs/readline-4.1:= )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( dev-libs/openssl:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+ xml? ( >=dev-libs/expat-2.1:= )"
+# bluetooth requires headers from bluez
+DEPEND="${RDEPEND}
+ bluetooth? ( net-wireless/bluez )"
+BDEPEND="
+ virtual/awk
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+RDEPEND+="
+ !build? ( app-misc/mime-types )
+ !<=dev-lang/python-exec-2.4.6-r1"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
+
+pkg_setup() {
+ if use berkdb; then
+ ewarn "'bsddb' module is out-of-date and no longer maintained inside"
+ ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been additionally"
+ ewarn "removed in Python 3. A maintained alternative of 'bsddb3' module"
+ ewarn "is provided by dev-python/bsddb3."
+ else
+ if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then
+ ewarn "You are migrating from =${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"
+ ewarn "to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]."
+ ewarn "You might need to migrate your databases."
+ fi
+ fi
+}
+
+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, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ Lib/distutils/command/install.py \
+ Lib/distutils/sysconfig.py \
+ Lib/site.py \
+ Lib/sysconfig.py \
+ Lib/test/test_site.py \
+ Makefile.pre.in \
+ Modules/Setup.dist \
+ Modules/getpath.c \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ eautoreconf
+}
+
+src_configure() {
+ # dbm module can be linked against berkdb or gdbm.
+ # Defaults to gdbm when both are enabled, #204343.
+ local disable
+ use berkdb || use gdbm || disable+=" dbm"
+ use berkdb || disable+=" _bsddb"
+ # disable automagic bluetooth headers detection
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ 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
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ if tc-is-cross-compiler; then
+ # Force some tests that try to poke fs paths.
+ export ac_cv_file__dev_ptc=no
+ export ac_cv_file__dev_ptmx=yes
+ fi
+
+ # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile.
+ tc-export CXX
+ # The configure script fails to use pkg-config correctly.
+ # http://bugs.python.org/issue15506
+ export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+ if use berkdb; then
+ dbmliborder+="${dbmliborder:+:}bdb"
+ fi
+
+ local myeconfargs=(
+ # The check is broken on clang, and gives false positive:
+ # https://bugs.gentoo.org/596798
+ # (upstream dropped this flag in 3.2a4 anyway)
+ ac_cv_opt_olimit_ok=no
+ # 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
+
+ --with-fpectl
+ --enable-shared
+ --enable-ipv6
+ --with-threads
+ --enable-unicode=ucs4
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --with-system-expat
+ --with-system-ffi
+ --without-ensurepip
+ )
+
+ OPT="" 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
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+
+ # Avoid invoking pgen for cross-compiles.
+ touch Include/graminit.h Python/graminit.c
+
+ emake
+
+ # 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
+
+ # Skip failing tests.
+ local skipped_tests="distutils gdb"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+
+ # Daylight saving time problem
+ # https://bugs.python.org/issue22067
+ # https://bugs.gentoo.org/610628
+ local -x TZ=UTC
+
+ # Rerun failed tests in verbose mode (regrtest -w).
+ emake test EXTRATESTOPTS="-w" < /dev/tty
+ local result="$?"
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ local libdir=${ED}/usr/$(get_libdir)/python${PYVER}
+
+ emake DESTDIR="${D}" altinstall
+
+ sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die
+
+ # Fix collisions between different slots of Python.
+ mv "${ED}/usr/bin/2to3" "${ED}/usr/bin/2to3-${PYVER}" || die
+ mv "${ED}/usr/bin/pydoc" "${ED}/usr/bin/pydoc${PYVER}" || die
+ mv "${ED}/usr/bin/idle" "${ED}/usr/bin/idle${PYVER}" || die
+ rm "${ED}/usr/bin/smtpd.py" || die
+
+ use berkdb || rm -r "${libdir}/"{bsddb,dbhash.py*,test/test_bsddb*} || die
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,lib-tk} || die
+
+ use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
+
+ dodoc Misc/{ACKS,HISTORY,NEWS}
+
+ if use examples; then
+ docinto examples
+ 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 "${S}"/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"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ # python
+ ln -s "../../../bin/python${PYVER}" \
+ "${scriptdir}/python" || die
+ # python-config
+ ln -s "../../../bin/python${PYVER}-config" \
+ "${scriptdir}/python-config" || die
+ # 2to3, pydoc, pyvenv
+ 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
+
+ # python2* is no longer wrapped, so just symlink it
+ local pymajor=${PYVER%.*}
+ dosym "python${PYVER}" "/usr/bin/python${pymajor}"
+ dosym "python${PYVER}-config" "/usr/bin/python${pymajor}-config"
+}
diff --git a/dev-lang/python/python-3.10.2_p1.ebuild b/dev-lang/python/python-3.10.2_p1.ebuild
new file mode 100644
index 000000000000..06421fd372bc
--- /dev/null
+++ b/dev-lang/python/python-3.10.2_p1.ebuild
@@ -0,0 +1,392 @@
+# Copyright 1999-2022 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 \
+ 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/"
+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 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="bluetooth build examples gdbm hardened libedit lto +ncurses pgo +readline +sqlite +ssl test tk wininst +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:=
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ 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 )
+ test? ( app-arch/xz-utils[extra-filters(+)] )"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ sys-devel/autoconf-archive
+ virtual/awk
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+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
+
+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, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ 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
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ 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
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ # 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.
+ tc-export CXX
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ if use pgo; then
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ export PROFILE_TASK="-m test -j${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)
+ PROFILE_TASK+=" -x test_socket -x test_asyncio -x test_httpservers -x test_logging -x test_multiprocessing_fork -x test_xmlrpc"
+
+ if has_version "app-arch/rpm" ; then
+ # Avoid sandbox failure (attempts to write to /var/lib/rpm)
+ PROFILE_TASK+=" -x test_distutils"
+ fi
+ 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
+
+ $(use_with lto)
+ $(use_enable pgo optimizations)
+ $(use_with readline readline "$(usex libedit editline readline)")
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+ # 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=
+
+ 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
+}
+
+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
+
+ if use pgo ; then
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ addpredict /usr/lib/python3.10/site-packages
+ fi
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ if use sparc ; then
+ # bug #788022
+ skipped_tests+=" multiprocessing_fork"
+ skipped_tests+=" multiprocessing_forkserver"
+ fi
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+ # workaround https://bugs.gentoo.org/775416
+ addwrite /usr/lib/python3.10/site-packages
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local result=$?
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+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
+
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || 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 "${S}"/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"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local pymajor=${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.10.3.ebuild b/dev-lang/python/python-3.10.3.ebuild
new file mode 100644
index 000000000000..8378f90040c5
--- /dev/null
+++ b/dev-lang/python/python-3.10.3.ebuild
@@ -0,0 +1,408 @@
+# Copyright 1999-2022 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 \
+ 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/"
+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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="bluetooth build examples gdbm hardened libedit lto +ncurses pgo +readline +sqlite +ssl test tk wininst +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:=
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ 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 )
+ test? ( app-arch/xz-utils[extra-filters(+)] )
+"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ sys-devel/autoconf-archive
+ virtual/awk
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]
+"
+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
+
+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, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ 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
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ 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
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ # 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.
+ tc-export CXX
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ if use pgo; then
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ export PROFILE_TASK="-m test -j${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)
+ PROFILE_TASK+=" -x test_socket -x test_asyncio -x test_httpservers -x test_logging -x test_multiprocessing_fork -x test_xmlrpc"
+
+ if has_version "app-arch/rpm" ; then
+ # Avoid sandbox failure (attempts to write to /var/lib/rpm)
+ PROFILE_TASK+=" -x test_distutils"
+ fi
+ 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
+
+ $(use_with lto)
+ $(use_enable pgo optimizations)
+ $(use_with readline readline "$(usex libedit editline readline)")
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+ # 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=
+
+ 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
+}
+
+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/python3.10/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
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ if use sparc ; then
+ # bug #788022
+ skipped_tests+=" multiprocessing_fork"
+ skipped_tests+=" multiprocessing_forkserver"
+ fi
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+ # workaround https://bugs.gentoo.org/775416
+ addwrite /usr/lib/python3.10/site-packages
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local result=$?
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+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
+
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || 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 "${S}"/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"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local pymajor=${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.0_alpha4.ebuild b/dev-lang/python/python-3.11.0_alpha6.ebuild
index 1ee098aec00d..ee3604d253a3 100644
--- a/dev-lang/python/python-3.11.0_alpha4.ebuild
+++ b/dev-lang/python/python-3.11.0_alpha6.ebuild
@@ -226,6 +226,11 @@ src_compile() {
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
@@ -238,6 +243,9 @@ src_compile() {
# 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
@@ -256,6 +264,12 @@ src_test() {
# Skip failing tests.
local skipped_tests="gdb"
+ if use sparc ; then
+ # bug #788022
+ skipped_tests+=" multiprocessing_fork"
+ skipped_tests+=" multiprocessing_forkserver"
+ fi
+
for test in ${skipped_tests}; do
mv "${S}"/Lib/test/test_${test}.py "${T}"
done
diff --git a/dev-lang/python/python-3.7.12_p2.ebuild b/dev-lang/python/python-3.7.12_p2.ebuild
new file mode 100644
index 000000000000..515e6791cf8b
--- /dev/null
+++ b/dev-lang/python/python-3.7.12_p2.ebuild
@@ -0,0 +1,341 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools flag-o-matic multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs verify-sig
+
+MY_P="Python-${PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="https://www.python.org/"
+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}/${PYVER}m"
+KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +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-libs/libffi:=
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? ( >=sys-libs/readline-4.1:= )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+ xml? ( >=dev-libs/expat-2.1:= )"
+# bluetooth requires headers from bluez
+DEPEND="${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils[extra-filters(+)] )"
+BDEPEND="
+ virtual/awk
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
+
+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, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local disable
+ # disable automagic bluetooth headers detection
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ 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
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ tc-export CXX
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --with-system-expat
+ --with-system-ffi
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+ # 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=
+
+ 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
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ if use sparc ; then
+ # bug #788022
+ skipped_tests+=" multiprocessing_fork"
+ skipped_tests+=" multiprocessing_forkserver"
+ fi
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local result=$?
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ emake DESTDIR="${D}" altinstall
+
+ # Remove static library
+ rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+
+ use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || 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 "${S}"/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"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local pymajor=${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, pyvenv
+ ln -s "../../../bin/2to3-${PYVER}" \
+ "${scriptdir}/2to3" || die
+ ln -s "../../../bin/pydoc${PYVER}" \
+ "${scriptdir}/pydoc" || die
+ ln -s "../../../bin/pyvenv-${PYVER}" \
+ "${scriptdir}/pyvenv" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" \
+ "${scriptdir}/idle" || die
+ fi
+}
diff --git a/dev-lang/python/python-3.7.13.ebuild b/dev-lang/python/python-3.7.13.ebuild
new file mode 100644
index 000000000000..4e5692c20ff7
--- /dev/null
+++ b/dev-lang/python/python-3.7.13.ebuild
@@ -0,0 +1,349 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools flag-o-matic multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs verify-sig
+
+MY_P="Python-${PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="https://www.python.org/"
+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}/${PYVER}m"
+KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +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-libs/libffi:=
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? ( >=sys-libs/readline-4.1:= )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+ xml? ( >=dev-libs/expat-2.1:= )
+"
+# bluetooth requires headers from bluez
+DEPEND="
+ ${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils[extra-filters(+)] )
+"
+BDEPEND="
+ virtual/awk
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]
+"
+RDEPEND+="
+ !build? ( app-misc/mime-types )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
+
+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, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local disable
+ # disable automagic bluetooth headers detection
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ 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
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ tc-export CXX
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --with-system-expat
+ --with-system-ffi
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+ # 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=
+
+ 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
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ if use sparc ; then
+ # bug #788022
+ skipped_tests+=" multiprocessing_fork"
+ skipped_tests+=" multiprocessing_forkserver"
+ fi
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local result=$?
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ emake DESTDIR="${D}" altinstall
+
+ # Remove static library
+ rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+
+ use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || 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 "${S}"/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"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local pymajor=${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, pyvenv
+ ln -s "../../../bin/2to3-${PYVER}" \
+ "${scriptdir}/2to3" || die
+ ln -s "../../../bin/pydoc${PYVER}" \
+ "${scriptdir}/pydoc" || die
+ ln -s "../../../bin/pyvenv-${PYVER}" \
+ "${scriptdir}/pyvenv" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" \
+ "${scriptdir}/idle" || die
+ fi
+}
diff --git a/dev-lang/python/python-3.8.12_p2.ebuild b/dev-lang/python/python-3.8.12_p2.ebuild
new file mode 100644
index 000000000000..9e9b0fbc6bfc
--- /dev/null
+++ b/dev-lang/python/python-3.8.12_p2.ebuild
@@ -0,0 +1,351 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools flag-o-matic multiprocessing pax-utils \
+ 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/"
+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 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +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_8(-)]
+ dev-libs/libffi:=
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? ( >=sys-libs/readline-4.1:= )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+ xml? ( >=dev-libs/expat-2.1:= )"
+# bluetooth requires headers from bluez
+DEPEND="${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils[extra-filters(+)] )"
+BDEPEND="
+ virtual/awk
+ virtual/pkgconfig
+ sys-devel/autoconf-archive
+ verify-sig? ( sec-keys/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
+
+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, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ 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
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ 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
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ # 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.
+ tc-export CXX
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --with-system-expat
+ --with-system-ffi
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+ # 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=
+
+ 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
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+ # Prevent using distutils bundled by setuptools.
+ # https://bugs.gentoo.org/823728
+ export SETUPTOOLS_USE_DISTUTILS=stdlib
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ if use sparc ; then
+ # bug #788022
+ skipped_tests+=" multiprocessing_fork"
+ skipped_tests+=" multiprocessing_forkserver"
+ fi
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local result=$?
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ emake DESTDIR="${D}" altinstall
+
+ # Remove static library
+ rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+
+ use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || 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 "${S}"/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"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local pymajor=${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.8.13.ebuild b/dev-lang/python/python-3.8.13.ebuild
new file mode 100644
index 000000000000..60c81f821576
--- /dev/null
+++ b/dev-lang/python/python-3.8.13.ebuild
@@ -0,0 +1,359 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools flag-o-matic multiprocessing pax-utils \
+ 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/"
+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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +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_8(-)]
+ dev-libs/libffi:=
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? ( >=sys-libs/readline-4.1:= )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+ xml? ( >=dev-libs/expat-2.1:= )
+"
+# bluetooth requires headers from bluez
+DEPEND="
+ ${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils[extra-filters(+)] )
+"
+BDEPEND="
+ sys-devel/autoconf-archive
+ virtual/awk
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]
+"
+RDEPEND+="
+ build? ( app-misc/mime-types )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
+
+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, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ 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
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ 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
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ # 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.
+ tc-export CXX
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --with-system-expat
+ --with-system-ffi
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+ # 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=
+
+ 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
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+ # Prevent using distutils bundled by setuptools.
+ # https://bugs.gentoo.org/823728
+ export SETUPTOOLS_USE_DISTUTILS=stdlib
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ if use sparc ; then
+ # bug #788022
+ skipped_tests+=" multiprocessing_fork"
+ skipped_tests+=" multiprocessing_forkserver"
+ fi
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local result=$?
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ emake DESTDIR="${D}" altinstall
+
+ # Remove static library
+ rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+
+ use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || 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 "${S}"/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"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local pymajor=${PYVER%.*}
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ # python and pythonX
+ ln -s "../../../bin/${abiver}" \
+ "${scriptdir}/python${pymajor}" || die
+ ln -s "python${pymajor}" "${scriptdir}/python" || die
+ # python-config and pythonX-config
+ # note: we need to create a wrapper rather than symlinking it due
+ # to some random dirname(argv[0]) magic performed by python-config
+ cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+ #!/bin/sh
+ exec "${abiver}-config" "\${@}"
+ EOF
+ chmod +x "${scriptdir}/python${pymajor}-config" || die
+ ln -s "python${pymajor}-config" \
+ "${scriptdir}/python-config" || die
+ # 2to3, pydoc
+ ln -s "../../../bin/2to3-${PYVER}" \
+ "${scriptdir}/2to3" || die
+ ln -s "../../../bin/pydoc${PYVER}" \
+ "${scriptdir}/pydoc" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" \
+ "${scriptdir}/idle" || die
+ fi
+}
diff --git a/dev-lang/python/python-3.9.10_p1.ebuild b/dev-lang/python/python-3.9.10_p1.ebuild
new file mode 100644
index 000000000000..37b968005f06
--- /dev/null
+++ b/dev-lang/python/python-3.9.10_p1.ebuild
@@ -0,0 +1,386 @@
+# Copyright 1999-2022 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 \
+ 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/"
+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 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="bluetooth build examples gdbm hardened lto +ncurses pgo +readline +sqlite +ssl test tk wininst +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_9(-)]
+ dev-libs/libffi:=
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? ( >=sys-libs/readline-4.1:= )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+ xml? ( >=dev-libs/expat-2.1:= )"
+# bluetooth requires headers from bluez
+DEPEND="${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils[extra-filters(+)] )"
+BDEPEND="
+ virtual/awk
+ virtual/pkgconfig
+ sys-devel/autoconf-archive
+ verify-sig? ( sec-keys/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+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
+
+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, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ 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
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ 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
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ # 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.
+ tc-export CXX
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ if use pgo; then
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ export PROFILE_TASK="-m test -j${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)
+ PROFILE_TASK+=" -x test_socket -x test_asyncio -x test_httpservers -x test_logging -x test_multiprocessing_fork -x test_xmlrpc"
+
+ if has_version "app-arch/rpm" ; then
+ # Avoid sandbox failure (attempts to write to /var/lib/rpm)
+ PROFILE_TASK+=" -x test_distutils"
+ fi
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --with-system-expat
+ --with-system-ffi
+
+ $(use_with lto)
+ $(use_enable pgo optimizations)
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+ # 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=
+
+ 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
+}
+
+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
+
+ if use pgo ; then
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ addpredict /usr/lib/python3.9/site-packages
+ fi
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ if use sparc ; then
+ # bug #788022
+ skipped_tests+=" multiprocessing_fork"
+ skipped_tests+=" multiprocessing_forkserver"
+ fi
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local result=$?
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ emake DESTDIR="${D}" altinstall
+
+ # Remove static library
+ rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || 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 "${S}"/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"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local pymajor=${PYVER%.*}
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ # python and pythonX
+ ln -s "../../../bin/${abiver}" \
+ "${scriptdir}/python${pymajor}" || die
+ ln -s "python${pymajor}" "${scriptdir}/python" || die
+ # python-config and pythonX-config
+ # note: we need to create a wrapper rather than symlinking it due
+ # to some random dirname(argv[0]) magic performed by python-config
+ cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+ #!/bin/sh
+ exec "${abiver}-config" "\${@}"
+ EOF
+ chmod +x "${scriptdir}/python${pymajor}-config" || die
+ ln -s "python${pymajor}-config" \
+ "${scriptdir}/python-config" || die
+ # 2to3, pydoc
+ ln -s "../../../bin/2to3-${PYVER}" \
+ "${scriptdir}/2to3" || die
+ ln -s "../../../bin/pydoc${PYVER}" \
+ "${scriptdir}/pydoc" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" \
+ "${scriptdir}/idle" || die
+ fi
+}
diff --git a/dev-lang/python/python-3.9.11.ebuild b/dev-lang/python/python-3.9.11.ebuild
new file mode 100644
index 000000000000..418a21b762a8
--- /dev/null
+++ b/dev-lang/python/python-3.9.11.ebuild
@@ -0,0 +1,394 @@
+# Copyright 1999-2022 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 \
+ 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/"
+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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="bluetooth build examples gdbm hardened lto +ncurses pgo +readline +sqlite +ssl test tk wininst +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_9(-)]
+ dev-libs/libffi:=
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? ( >=sys-libs/readline-4.1:= )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+ xml? ( >=dev-libs/expat-2.1:= )"
+# bluetooth requires headers from bluez
+DEPEND="${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils[extra-filters(+)] )"
+BDEPEND="
+ virtual/awk
+ virtual/pkgconfig
+ sys-devel/autoconf-archive
+ verify-sig? ( sec-keys/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+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
+
+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, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ 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
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ 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
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ # 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.
+ tc-export CXX
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ if use pgo; then
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ export PROFILE_TASK="-m test -j${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)
+ PROFILE_TASK+=" -x test_socket -x test_asyncio -x test_httpservers -x test_logging -x test_multiprocessing_fork -x test_xmlrpc"
+
+ if has_version "app-arch/rpm" ; then
+ # Avoid sandbox failure (attempts to write to /var/lib/rpm)
+ PROFILE_TASK+=" -x test_distutils"
+ fi
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --with-system-expat
+ --with-system-ffi
+
+ $(use_with lto)
+ $(use_enable pgo optimizations)
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+ # 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=
+
+ 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
+}
+
+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/python3.9/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
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ if use sparc ; then
+ # bug #788022
+ skipped_tests+=" multiprocessing_fork"
+ skipped_tests+=" multiprocessing_forkserver"
+ fi
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local result=$?
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ emake DESTDIR="${D}" altinstall
+
+ # Remove static library
+ rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || 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 "${S}"/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"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local pymajor=${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/rakudo/Manifest b/dev-lang/rakudo/Manifest
index d1dd0343bf92..59b6cc584947 100644
--- a/dev-lang/rakudo/Manifest
+++ b/dev-lang/rakudo/Manifest
@@ -1,7 +1,9 @@
DIST rakudo-2021.06.tar.gz 5211187 BLAKE2B e6a73ada3bc7550ad9e2415374f8ecd9aeed021faf8bc52697c8d4bd1fc16782036fecf346f1b132f2d50b894f99ebca548e6e4209b1ff643a045679415ae3fd SHA512 1141979c63a5128919d24c4660cff8011fade12487bd7f437dbaeb6d121ab2d93e42022227ad47d6d840ddb12118c9f1cde8285d87677ff88b135c4e9f079ecc
DIST rakudo-2021.08.tar.gz 5906537 BLAKE2B 73a70ac0524ef41355e835173bccca743db5aa0f7b41ac0b152537da84337f6281c0619b86cd282d8e103bcc37573e0c42e147d2f6cb7d626b5bfaac9c6917d6 SHA512 6b58ddf47742cb8abc7c017ccbc658dac04a7a2e9802e3c656f775f94a97264a92c24f0a88c0f7baae3fa5b531acb407a652eea6c9d9cdc2f00afef00c92a018
DIST rakudo-2021.10.tar.gz 6093348 BLAKE2B b2a49c7ee5561cabaae20a573d93b2510b117697ac7c56819a776a890e12a50f8efd726329d69d1f1cbe194114a715db6253d7ce47b5ca9f817254b7eb517ba8 SHA512 6792d77f566c77f23371b2445b67f72ba3c74da9f3b3fa75bbb7db3c1f59f1aa4b8d964af4889caa82b19404304cf4d27ecd562e86b8fc0194f202ba5d7aceff
+DIST rakudo-2022.02.tar.gz 6140289 BLAKE2B 213f2b0384bbf5d92c19ac78cc13cdb9a0a886c926a2cad27827c993e4fcf1dc88ac0390ca351f063db65c7b56e44ea2b79f5330b22fe23692c03a7d690bf77b SHA512 b02cab995700d82e3c100e24d8d4b1497030def568ad674085f3231750c69d42d8847c3a85cdfcbbaadb9c42fd0c44b36774abee4db131851e229ed076710588
EBUILD rakudo-2021.06.ebuild 1598 BLAKE2B 94c87dff5ba78e82549e51b72a4f516329f7640c602e1009a52ea40b5620fe22ecf0a59d06b3b643e1dea9f300edc414d027cda69624ce0890289ff3ecdc6826 SHA512 499f86e879665d2c95685dea58d0141c334c267fd9f93f44658fd2e1bf1f758c7af8344eff64436ce348d92fe2e57bcbaa0e22b6ddcaf1103e2f1bddea51ebfe
EBUILD rakudo-2021.08.ebuild 1598 BLAKE2B 94c87dff5ba78e82549e51b72a4f516329f7640c602e1009a52ea40b5620fe22ecf0a59d06b3b643e1dea9f300edc414d027cda69624ce0890289ff3ecdc6826 SHA512 499f86e879665d2c95685dea58d0141c334c267fd9f93f44658fd2e1bf1f758c7af8344eff64436ce348d92fe2e57bcbaa0e22b6ddcaf1103e2f1bddea51ebfe
EBUILD rakudo-2021.10.ebuild 1598 BLAKE2B 94c87dff5ba78e82549e51b72a4f516329f7640c602e1009a52ea40b5620fe22ecf0a59d06b3b643e1dea9f300edc414d027cda69624ce0890289ff3ecdc6826 SHA512 499f86e879665d2c95685dea58d0141c334c267fd9f93f44658fd2e1bf1f758c7af8344eff64436ce348d92fe2e57bcbaa0e22b6ddcaf1103e2f1bddea51ebfe
+EBUILD rakudo-2022.02.ebuild 1598 BLAKE2B 1d23e16268a3b1a01bd216657a6c275b947495f46ac8c99b507b2f1a77609dcbf7e6bdb1d7229220a40c5f4d910ff7e5ba4ed0881bf55e4c21f6d6fde144935e SHA512 4cea031b7e182f454bde4bf7e69f732986274be3ebc25b5b6413444d8a60d66b518b80c3e6dffdb68f3b1889d39fab4a820817fe573810a3a89ef49d376cfd4d
MISC metadata.xml 396 BLAKE2B 43b55c331967d55e0a5c8d2dad7399c20b4104494cf3310b5a95dbef537d07908135c7f9c7829c737f64466660056de8c5656637b54079fef0f90ea4cfef5f1e SHA512 163828a65041f6d74931e32b6edf8c58ddb59151f8c68519165e81003886ce67ff4bcd21e69dc8a1fb96e4b8189fb611dcf8b9d73a52b257ccc24de516185fae
diff --git a/dev-lang/rakudo/rakudo-2022.02.ebuild b/dev-lang/rakudo/rakudo-2022.02.ebuild
new file mode 100644
index 000000000000..6ece484ee5ec
--- /dev/null
+++ b/dev-lang/rakudo/rakudo-2022.02.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit java-pkg-opt-2
+
+DESCRIPTION="A compiler for the Raku programming language"
+HOMEPAGE="https://rakudo.org"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/rakudo/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Artistic-2"
+SLOT="0"
+# TODO: add USE="javascript" once that's usable in nqp
+IUSE="clang java +moar test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="|| ( java moar )"
+
+CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.9 )"
+DEPEND="${CDEPEND}
+ clang? ( sys-devel/clang )
+ java? ( >=virtual/jdk-1.9 )
+ >=dev-lang/perl-5.10"
+
+pkg_pretend() {
+ if has_version dev-lang/rakudo; then
+ ewarn "Rakudo is known to fail compilation/installation with Rakudo"
+ ewarn "already being installed. So if it fails, try unmerging dev-lang/rakudo,"
+ ewarn "then do a new installation."
+ ewarn "(see Bug #584394)"
+ fi
+}
+
+src_configure() {
+ local backends
+ use moar && backends+="moar,"
+ use java && backends+="jvm"
+
+ local myargs=(
+ "--prefix=/usr"
+ "--sysroot=/"
+ "--sdkroot=/"
+ "--backends=${backends}"
+ )
+
+ perl Configure.pl "${myargs[@]}" || die
+
+ if use java; then
+ NQP=$(java-pkg_getjars --with-dependencies nqp)
+ fi
+}
+
+src_compile() {
+ emake NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" install
+}
+
+src_test() {
+ RAKUDO_PRECOMP_PREFIX=$(mktemp -d) default
+}
diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
index 5005192a795e..d09f7853697f 100644
--- a/dev-lang/ruby/Manifest
+++ b/dev-lang/ruby/Manifest
@@ -10,10 +10,15 @@ AUX 2.7/901-musl-stacksize.patch 945 BLAKE2B 7187ee4c73fb4a9ec00b32a02a176863d88
AUX 3.0/001-socksocket-fix.patch 457 BLAKE2B cf3e15858481cdaa48be2cb3685bed663d9de792c743f6ef07ea5d2be214d630ee9bd70c1b6958110516d69a1889fdc4cf26676e52c55d4d530588b8274f962e SHA512 77381cb3c8d4a87a5ae06966d5dd00a38ea07148ed2feacb883e1d041d85ae0a6d64b30fd213f2ac0b1a07e3722f0e724cd0ec8414e74dc4de8844d849584b00
AUX 3.0/010-default-gem-location.patch 753 BLAKE2B 2e9c209521e113c9b5b66ef305a2f29e042bc9330cc95ca847e04aec7a9450de48904bf583265aceec5984e8384e78a37b16a65435962ffc3ef458019b5ebedf SHA512 af63cd6c2c998533fd518abc6f48d1acb0f185e3bc9c4747301f7c7f3b3780e456f32db0252a0a03306dbc19a63d24c031fcfb7c35d732190fa68763e5817dcd
AUX 3.0/900-musl-coroutine.patch 842 BLAKE2B 21b58911e2c020ed956a837f006b20f30a123f96a52b19c62093f9d9fabb2f812fc3de8539c67a1b9aa4d106d5b7b2e91729e7aba030ebbdc67b1b3f590bf560 SHA512 ba292e5465c09df675fef34a77bbf4e16ebd807d2e5174d0e3f94be26e0694ea84dc46ee25de2d3b882b906779f0d08a173ee4c708f20b4f7f1032a238d8896c
+AUX 3.1/001-socksocket-fix.patch 457 BLAKE2B cf3e15858481cdaa48be2cb3685bed663d9de792c743f6ef07ea5d2be214d630ee9bd70c1b6958110516d69a1889fdc4cf26676e52c55d4d530588b8274f962e SHA512 77381cb3c8d4a87a5ae06966d5dd00a38ea07148ed2feacb883e1d041d85ae0a6d64b30fd213f2ac0b1a07e3722f0e724cd0ec8414e74dc4de8844d849584b00
+AUX 3.1/010-default-gem-location.patch 715 BLAKE2B 1a3b0a3479210f6bafe89bfea4580ebcf44bb5c42b72a244dee9fa53371c095d6c8ff39feb58296518779b5841647ed89732bed33c542ad24d5b93ba97097cd6 SHA512 e0d0ebfc6de8dfb81cee309f0d1b7a9ccf64617ea16ad6d8d3ea715b29fb7b3bb6d962072503eee7125ffc1e5ba53035453e887935e681de3d35df279d7c0dc8
+AUX 3.1/900-musl-coroutine.patch 842 BLAKE2B 21b58911e2c020ed956a837f006b20f30a123f96a52b19c62093f9d9fabb2f812fc3de8539c67a1b9aa4d106d5b7b2e91729e7aba030ebbdc67b1b3f590bf560 SHA512 ba292e5465c09df675fef34a77bbf4e16ebd807d2e5174d0e3f94be26e0694ea84dc46ee25de2d3b882b906779f0d08a173ee4c708f20b4f7f1032a238d8896c
DIST ruby-2.6.9.tar.xz 11590064 BLAKE2B 8d14baf479053b7fab517f1e41191b009413d557431c558d92489a36d539f9a667571e4493abba171b047f8ba6d1f676fb6d2f2152fcae737924e773a324ddf6 SHA512 f60aa89e685cea324185eb0d13e6b44caef4e4f761cbf9ea1386ae70e39faf3866ac01e4bb5354574f2583e74290b8c80eaf63d126040d52368be6c771476451
DIST ruby-2.7.5.tar.xz 12072980 BLAKE2B 50bb822cb2c5e76fee8755c710b593ce3bcb0f4f14b96a4e9eef5e58b4614bcf5f91491586b1dd6411fce57c258a7ad80136cd3cfbddf28e4fd4b37f486d2bea SHA512 21c8a713e3ce115fc4c405113ac691ddcefc3419f528b93ca1ac59e7052c1b6e9e241da0e570e291e567f28f3d840824dbcc5967b216cbe7d6ca7a05580fa311
DIST ruby-3.0.3.tar.xz 14991880 BLAKE2B d57b7f6e0d0121326b1a191e93a49c045d26dfd1ab8b0d283b99d09968e07277edde0baaeec072602d6d06e20dcd3893d6cb0b03f59dbc59ebf0e3ebd5646446 SHA512 bb9ea426278d5a7ac46595296f03b82d43df8b7db41045cdf85611e05e26c703c53f700494cd7cf5d4c27fa953bdc5c144317d7720812db0a6e3b6f4bc4d2e00
+DIST ruby-3.1.1.tar.xz 15103808 BLAKE2B c11ec8d60cd24c88716d6e685e4cc19931e40504ac04b9d8c79b890cdaf8f4661e95649475e40171e267797674839047276c7f7f1613f20ed3cd5b9ae910950a SHA512 8877fa9a458964a59a11529cd10b3d25b5f6238cd4678b6dcea0bd4b750499cf8ff39d8824053b4ab26c5cd0cfb604a57807ce61580175857fcf00b2cff3e55f
EBUILD ruby-2.6.9.ebuild 7481 BLAKE2B c37e80c3f6debd1befd5d8b5cfff7ffa547557e94fecfb51c962a7a4ce6052fd047d9f5f143302d5d53887bac0463b65f2649b199625430fd5a49e32c565884a SHA512 b3be72cde078972a1e6dd9969dd7dd085d4fed10d2c7a87128773962955e788cd11868a93f44adb2887a23bffebca3a4155309bb9cb0af55fa2df851f48410c0
-EBUILD ruby-2.7.5.ebuild 7914 BLAKE2B 732a87f171691b796d43e16cb9a3307fe9d037ee2a3d8019823fda74679c8d932bcbb6c35fc1dc34a7997a7b37ac857738462c1db04ab4b59d69c160bda53fcb SHA512 98fbb54a8de9a3e2c557eb1a6891a6a1cf6981be157af1c083f3d35fe0befb58fbdd7b762ac4bbf653355a4e21753dd616710a9452c88799b5e6040759929694
+EBUILD ruby-2.7.5.ebuild 7915 BLAKE2B a5239995ca8bf543227b481cf499cc18426b58f497b31fe14abf2fd3b7dec53ff280236898e898b4d7eb206461f7e7ee492838e52650f9cd093c5e6b5a19f81c SHA512 bbc37b5b4435921611c289b12c819a732816fc4523689d93107a5deb7eeb4765dc3a4358b54517cb30b990b6fc2b08bd59f2a1e2d94464c03499065825922b3a
EBUILD ruby-3.0.3.ebuild 7770 BLAKE2B f8e201766ccc5a667ca1dfc22ea0017a441bf621719c10da66cf7b5ece4441e48dc63225e04ec4b38c032318e4f0353f8b87e02a9cbfc6d2eb710c9ca83fda2a SHA512 6843ddd68c6cd45e0e4f5e9d72f7cc38fceeb2548498fd8e5de362e559db8597e8434e4ccc4f3db80f22e45db49bcaebddee27f9f50d5b65323332a6ceab1bae
+EBUILD ruby-3.1.1.ebuild 7769 BLAKE2B 87912fb550c830ff34db94e7baa36ceea755588a287242bec1e606828eadeca4b12a96f6a4bbbfb0ed5482b2fb7945fa809486efb046bc1eb7e2536795b05a8c SHA512 6ed3f7dcd49f06ede8e959c2d6e1091321cb469be2af2ff7fcadc2371cc734f811765d6faf1490505824c8c45326078ecf792a560ae55ae7fc87f65bcc74a079
MISC metadata.xml 524 BLAKE2B 78b64ea8e53d1bcfa249561354ef45ca34cdbcf6c4147944e98e6a17d884f5b4b29c0ddb6047bf2883a57f9a53386626bb7a779ef80ddcb33301d0e3822ead6b SHA512 1b254526486eb7d1d132f1286056d55963cb569ab47ccc94d625a9789e4dd3c45b5639510535543d96d2d7a3ccae13535e2e35ba9d78873d75ecac3bedfae762
diff --git a/dev-lang/ruby/files/3.1/001-socksocket-fix.patch b/dev-lang/ruby/files/3.1/001-socksocket-fix.patch
new file mode 100644
index 000000000000..1a79e25491cc
--- /dev/null
+++ b/dev-lang/ruby/files/3.1/001-socksocket-fix.patch
@@ -0,0 +1,15 @@
+Fix compilation with socks5 USE flag.
+
+Patch by Phobos Kappa in https://bugs.gentoo.org/762253
+
+--- a/ext/socket/sockssocket.c 2020-12-25 05:33:01.000000000 +0200
++++ b/ext/socket/sockssocket.c 2020-12-28 15:42:50.310029778 +0200
+@@ -34,7 +34,7 @@
+ init = 1;
+ }
+
+- return rsock_init_inetsock(sock, host, port, Qnil, Qnil, INET_SOCKS, Qnil);
++ return rsock_init_inetsock(sock, host, port, Qnil, Qnil, INET_SOCKS, Qnil, Qnil);
+ }
+
+ #ifdef SOCKS5
diff --git a/dev-lang/ruby/files/3.1/010-default-gem-location.patch b/dev-lang/ruby/files/3.1/010-default-gem-location.patch
new file mode 100644
index 000000000000..039a44b0530b
--- /dev/null
+++ b/dev-lang/ruby/files/3.1/010-default-gem-location.patch
@@ -0,0 +1,20 @@
+--- a/tool/rbinstall.rb.~1~ 2020-12-25 04:33:01.000000000 +0100
++++ b/tool/rbinstall.rb 2020-12-25 10:05:34.629096405 +0100
+@@ -897,7 +897,7 @@
+ end
+
+ def install_default_gem(dir, srcdir, bindir)
+- gem_dir = Gem.default_dir
++ gem_dir = ENV['GEM_DESTDIR']
+ install_dir = with_destdir(gem_dir)
+ prepare "default gems from #{dir}", gem_dir
+ makedirs(Gem.ensure_default_gem_subdirectories(install_dir, $dir_mode).map {|d| File.join(gem_dir, d)})
+@@ -1018,7 +1018,7 @@
+ end
+ Gem.instance_variable_set(:@ruby, ruby_path) if Gem.ruby != ruby_path
+
+- gem_dir = Gem.default_dir
++ gem_dir = ENV['GEM_DESTDIR']
+ install_dir = with_destdir(gem_dir)
+ prepare "bundled gems", gem_dir
+ RbInstall.no_write do
diff --git a/dev-lang/ruby/files/3.1/900-musl-coroutine.patch b/dev-lang/ruby/files/3.1/900-musl-coroutine.patch
new file mode 100644
index 000000000000..a323cdd6e770
--- /dev/null
+++ b/dev-lang/ruby/files/3.1/900-musl-coroutine.patch
@@ -0,0 +1,28 @@
+Adapted for Gentoo version 3.0.2
+
+From b570e7de87aaad8c903176d835e8124127f627b3 Mon Sep 17 00:00:00 2001
+From: Andrew Aladjev <aladjev.andrew@gmail.com>
+Date: Sat, 26 Sep 2020 12:58:06 +0300
+Subject: [PATCH] fixed default coroutine selection for musl
+
+---
+ configure.ac | 5 ++++-
+ coroutine/copy/Context.c | 2 ++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index ab5d532c103b..084f0936c006 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2364,7 +2364,10 @@
+ rb_cv_coroutine=copy
+ ],
+ [
+- rb_cv_coroutine=ucontext
++ AC_CHECK_FUNCS([getcontext swapcontext makecontext],
++ [rb_cv_coroutine=ucontext],
++ [rb_cv_coroutine=copy; break]
++ )
+ ]
+ )
+ AC_MSG_RESULT(${rb_cv_coroutine})
diff --git a/dev-lang/ruby/ruby-2.7.5.ebuild b/dev-lang/ruby/ruby-2.7.5.ebuild
index 51384cae5e3b..7c21b8f77838 100644
--- a/dev-lang/ruby/ruby-2.7.5.ebuild
+++ b/dev-lang/ruby/ruby-2.7.5.ebuild
@@ -102,7 +102,7 @@ src_prepare() {
# disable using security framework (GCC barfs on those headers)
sed -i \
- -e '/MAC_OS_X_VERSION_MIN_REQUIRED/_DISABLED_/' \
+ -e 's/MAC_OS_X_VERSION_MIN_REQUIRED/_DISABLED_/' \
random.c || die
fi
fi
diff --git a/dev-lang/ruby/ruby-3.1.1.ebuild b/dev-lang/ruby/ruby-3.1.1.ebuild
new file mode 100644
index 000000000000..d42d8d236fef
--- /dev/null
+++ b/dev-lang/ruby/ruby-3.1.1.ebuild
@@ -0,0 +1,267 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic multilib
+
+MY_P="${PN}-$(ver_cut 1-3)"
+S=${WORKDIR}/${MY_P}
+
+SLOT=$(ver_cut 1-2)
+MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
+RUBYVERSION=${SLOT}.0
+
+DESCRIPTION="An object-oriented scripting language"
+HOMEPAGE="https://www.ruby-lang.org/"
+SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
+
+LICENSE="|| ( Ruby-BSD BSD-2 )"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit +rdoc rubytests socks5 +ssl static-libs systemtap tk xemacs"
+
+RDEPEND="
+ berkdb? ( sys-libs/db:= )
+ gdbm? ( sys-libs/gdbm:= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ jit? ( || ( sys-devel/gcc:* sys-devel/clang:* ) )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ socks5? ( >=net-proxy/dante-1.1.13 )
+ systemtap? ( dev-util/systemtap )
+ tk? (
+ dev-lang/tcl:0=[threads]
+ dev-lang/tk:0=[threads]
+ )
+ dev-libs/libyaml
+ dev-libs/libffi:=
+ sys-libs/readline:0=
+ sys-libs/zlib
+ virtual/libcrypt:=
+ >=app-eselect/eselect-ruby-20201225
+"
+
+DEPEND="${RDEPEND}"
+
+BUNDLED_GEMS="
+ >=dev-ruby/minitest-5.15.0[ruby_targets_ruby31]
+ >=dev-ruby/power_assert-2.0.1[ruby_targets_ruby31]
+ >=dev-ruby/rake-13.0.6[ruby_targets_ruby31]
+ >=dev-ruby/rbs-2.1.0[ruby_targets_ruby31]
+ >=dev-ruby/rexml-3.2.5[ruby_targets_ruby31]
+ >=dev-ruby/rss-0.2.9[ruby_targets_ruby31]
+ >=dev-ruby/test-unit-3.5.3[ruby_targets_ruby31]
+ >=dev-ruby/typeprof-0.12.2[ruby_targets_ruby31]
+"
+
+PDEPEND="
+ ${BUNDLED_GEMS}
+ virtual/rubygems[ruby_targets_ruby31]
+ >=dev-ruby/bundler-2.3.3[ruby_targets_ruby31]
+ >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby31]
+ >=dev-ruby/json-2.6.1[ruby_targets_ruby31]
+ rdoc? ( >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby31] )
+ xemacs? ( app-xemacs/ruby-modes )"
+
+src_prepare() {
+ eapply "${FILESDIR}"/"${SLOT}"/010*.patch
+
+ if use elibc_musl ; then
+ eapply "${FILESDIR}"/3.0/900-musl-*.patch
+ eapply "${FILESDIR}"/2.7/901-musl-*.patch
+ fi
+
+ einfo "Unbundling gems..."
+ cd "$S"
+ # Remove bundled gems that we will install via PDEPEND, bug
+ # 539700.
+ rm -fr gems/* || die
+ touch gems/bundled_gems || die
+ # Don't install CLI tools since they will clash with the gem
+ rm -f bin/{racc,racc2y,y2racc} || die
+ sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die
+
+ einfo "Removing bundled libraries..."
+ rm -fr ext/fiddle/libffi-3.2.1 || die
+
+ if use prefix ; then
+ # Fix hardcoded SHELL var in mkmf library
+ sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die
+
+ if [[ ${CHOST} == *darwin* ]] ; then
+ # avoid symlink loop on Darwin (?!)
+ sed -i \
+ -e '/LIBRUBY_ALIASES=/s/lib$(RUBY_INSTALL_NAME).$(SOEXT)//' \
+ configure.ac || die
+
+ # make ar/libtool hack for Darwin work
+ sed -i \
+ -e "s/ac_cv_prog_ac_ct_AR='libtool/ac_cv_prog_AR='${CHOST}-libtool/" \
+ configure.ac || die
+ fi
+ fi
+
+ eapply_user
+
+ eautoreconf
+}
+
+src_configure() {
+ local modules= myconf=
+
+ # -fomit-frame-pointer makes ruby segfault, see bug #150413.
+ filter-flags -fomit-frame-pointer
+ # In many places aliasing rules are broken; play it safe
+ # as it's risky with newer compilers to leave it as it is.
+ append-flags -fno-strict-aliasing
+
+ # Socks support via dante
+ if use socks5 ; then
+ # Socks support can't be disabled as long as SOCKS_SERVER is
+ # set and socks library is present, so need to unset
+ # SOCKS_SERVER in that case.
+ unset SOCKS_SERVER
+ fi
+
+ # Increase GC_MALLOC_LIMIT if set (default is 8000000)
+ if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
+ append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
+ fi
+
+ # ipv6 hack, bug 168939. Needs --enable-ipv6.
+ use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
+
+ # Determine which modules *not* to build depending in the USE flags.
+ if ! use berkdb ; then
+ modules="${modules},dbm"
+ fi
+ if ! use gdbm ; then
+ modules="${modules},gdbm"
+ fi
+ if ! use ssl ; then
+ modules="${modules},openssl"
+ fi
+ if ! use tk ; then
+ modules="${modules},tk"
+ fi
+
+ # Provide an empty LIBPATHENV because we disable rpath but we do not
+ # need LD_LIBRARY_PATH by default since that breaks USE=multitarget
+ # #564272
+ INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
+ --program-suffix=${MY_SUFFIX} \
+ --with-soname=ruby${MY_SUFFIX} \
+ --with-readline-dir="${EPREFIX}"/usr \
+ --enable-shared \
+ --enable-pthread \
+ --disable-rpath \
+ --with-out-ext="${modules}" \
+ $(use_with jemalloc jemalloc) \
+ $(use_enable jit jit-support ) \
+ $(use_enable socks5 socks) \
+ $(use_enable systemtap dtrace) \
+ $(use_enable doc install-doc) \
+ --enable-ipv6 \
+ $(use_enable static-libs static) \
+ $(use_enable static-libs install-static-library) \
+ $(use_with static-libs static-linked-ext) \
+ $(use_enable debug) \
+ ${myconf} \
+ --enable-option-checking=no
+
+ # Makefile is broken because it lacks -ldl
+ rm -rf ext/-test-/popen_deadlock || die
+}
+
+src_compile() {
+ emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS=""
+}
+
+src_test() {
+ emake -j1 V=1 test
+
+ elog "Ruby's make test has been run. Ruby also ships with a make check"
+ elog "that cannot be run until after ruby has been installed."
+ elog
+ if use rubytests; then
+ elog "You have enabled rubytests, so they will be installed to"
+ elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
+ elog "than root, and you must place them into a writeable directory."
+ elog "Then call: "
+ elog
+ elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
+ else
+ elog "Enable the rubytests USE flag to install the make check tests"
+ fi
+}
+
+src_install() {
+ # Remove the remaining bundled gems. We do this late in the process
+ # since they are used during the build to e.g. create the
+ # documentation.
+ einfo "Removing default gems before installation"
+ rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die
+
+ # Ruby is involved in the install process, we don't want interference here.
+ unset RUBYOPT
+
+ local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
+
+ LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
+
+ if [[ ${CHOST} == *darwin* ]] ; then
+ DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}"
+ export DYLD_LIBRARY_PATH
+ fi
+
+ RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
+ for d in $(find "${S}/ext" -type d) ; do
+ RUBYLIB="${RUBYLIB}:$d"
+ done
+ export LD_LIBRARY_PATH RUBYLIB
+
+ # Create directory for the default gems
+ local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}"
+ mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed"
+
+ emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install
+
+ # Remove installed rubygems and rdoc copy
+ rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
+ rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
+ rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
+ rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
+
+ if use doc; then
+ emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc
+ fi
+
+ if use examples; then
+ dodoc -r sample
+ fi
+
+ dodoc ChangeLog NEWS.md doc/NEWS* README*
+
+ if use rubytests; then
+ pushd test
+ insinto /usr/share/${PN}-${SLOT}/test
+ doins -r .
+ popd
+ fi
+}
+
+pkg_postinst() {
+ if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
+ eselect ruby set ruby${MY_SUFFIX}
+ fi
+
+ elog
+ elog "To switch between available Ruby profiles, execute as root:"
+ elog "\teselect ruby set ruby(23|24|...)"
+ elog
+}
+
+pkg_postrm() {
+ eselect ruby cleanup
+}
diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
index 7fb2a86f54e8..08a742067430 100644
--- a/dev-lang/rust-bin/Manifest
+++ b/dev-lang/rust-bin/Manifest
@@ -30,6 +30,40 @@ DIST rust-1.58.1-x86_64-unknown-linux-gnu.tar.xz 150229600 BLAKE2B 056e5a646d675
DIST rust-1.58.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b86d3d2cbf27594dfe55fe2ff52523a9dff08d08ddd30526172f9e07760c2f854698eb8153cb9894588d75759a3d0bb7887756d005a2c69aa9cfeec8e7dee678 SHA512 82dcb22efb94bb19f2338e9cb46e3f6da3d189fe6bff12bf1ec870197d395c2ad58bd15705aa7f3cde38e5ec0266e20eb2e45761e0f55b13261d3e6b14dce60f
DIST rust-1.58.1-x86_64-unknown-linux-musl.tar.xz 262511608 BLAKE2B f2ca664fe1ab0614f13ce9d7764eed935b107b393830ad14b64d8b05e032feeec57dd04cdc963ad3eea2cb23558beeb1975722be93412d4ff8fd3a75d2bbb896 SHA512 d064464333a64f91b8a30f267ecfe2b4dc5be6d639bc9f064efa86a54478c8de7156166236b7ff8d96bf8fc8cbbeebf7ac17d8b5dabf24d72e189dbbd8ae0819
DIST rust-1.58.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 9c58a08b4e5d609230b5aae52fe7eec2dd6a0cc0eb8c257068ac2585918aba6cbe3263a6480860d34a117d3e2ee835fc8d8b1702296369c3a4e0f660f46bd62e SHA512 6c294cbbbf22940e36278e92d5095dbfee0df741694188ef1e6df7740bbe770ffb5b2467bab12825045ebf7d6fb12eebb1ce7edbb32d0afcb114c57e814fe5d7
+DIST rust-1.59.0-aarch64-unknown-linux-gnu.tar.xz 217126920 BLAKE2B 87fd1910d76a133624ff860fd3932527b3ce3775db9e03c6d2ab9ad06534e9e63ff7d1eed0c81e3574d676c192495e0f175b2ae0fa706b722ead9a852296b3f4 SHA512 6f5b6fb325ac226bf5f308463a54f59570d9ba5efe4329d6116d79cda1f8572b2e4584d005586759ac60e1e7a10782d8ef8ebf30c980220b4780a9846895fcb0
+DIST rust-1.59.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2b75d91a060376bd0711c18b1b04f7d0c7ded0a64b0b086e7799898db7fe24ff49dc09c76695a151e54bd205aa040775c6a36d10fb21ecb2d89d23398b02dc34 SHA512 a04cb7b03e3b963002357d48ecf92d0aef20464f9da38081411832c07df0a7c9ce3755a7b89c86394933446fc18e83a55a7cc01f3739ddddb19dafcbb7b43960
+DIST rust-1.59.0-aarch64-unknown-linux-musl.tar.xz 212064268 BLAKE2B 4636001103fc058c2c14a34449846c0378c26ac4dc29588615c5216bb4759b0e92ec97be25e106a5aaaa07059f404c615272e359b0f3b1e9164437e63d863bd0 SHA512 2ec97a48cdac3fb1f7411fdf3a34aac6f64a09991d25174dff97efab0ee724d4dce2bbe29046d243a72b06d406990adf5d1f3f24286fdfb0e658326e28cf5363
+DIST rust-1.59.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 4403c9e26f21504494db6e7368cf6a1dd36fcd283dcaa2aac4efaacba107971f44aaffe032ae1cb2530bb1d29bba3e1953d80d378ca9fabf13364da27d809bbc SHA512 5c789ce4591ba8b0f09a254780e1040f5c959c3a952b89d56bf77f0a0f53be2e5f0e712878d21a060937bcda72e440e591ca206c8540635fcc180a50efef6095
+DIST rust-1.59.0-arm-unknown-linux-gnueabi.tar.xz 192892448 BLAKE2B b7d194589b9bd07c34ae681985ecc60ad03d450be9c445dff16730d8019a02e6cb1ec6b8c231f9eb42500eeb8dd6d529ff821b1b9eb64f87f11266411133e5bb SHA512 0be42a92fbbe516c0437afdf279e5bb3d43e073ec5ca3ad297f33ef5ec5e5bd150cb728c7dea5dfdcb7b1d1cf3f4122d529e8cf8abe674651a05272837769887
+DIST rust-1.59.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 844f7f3655a974821689aa326d072512a12433daa5805a842e54005b88516013b32e46c21b7813e7f5b919716e73f518195b9247c3b9e1e51e85e4f8b102b9ff SHA512 bf7b9491ff88c6d6e6f91d6b77fa50aec48cda99181aab584b37dd81a2a55564a8d769be8ce1868c02ce4dbc36e98cf7c4d651e9e7d799f907e7f9fadc27b08f
+DIST rust-1.59.0-arm-unknown-linux-gnueabihf.tar.xz 192816760 BLAKE2B 565d3ed97da64299d6c5525f3b3068ca8ced1d8d6fddbd90506a41062d66c4223928de031320aad1cb12568ccc7e952243c728e13a8a7d6a60ec8c908829e0dc SHA512 5a3693f7edf0f51ba45d8d1471c4ce75926e9cf9c4eb399c9767da116d2250121ced6f08a5c7ed136cbd144e88f3c9fccbc48f805edc82aedbdca37248c0d092
+DIST rust-1.59.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 739967abaddc05a466e4ad88316a89fafeabb3c8b50844b09a4946635f4e19b223a76675026389cdef89f0fbe369e3f5c72a0ab64f63104d2a2d5b0d12efa617 SHA512 336f8d7885dc7cc9e44a9e5df381ce1fe516fddea90666478d65aacbba2ffd2d7312b53a895b809fe0135aef8b5604b3eae7b63d7f0d37776c8c1cf6f88395f4
+DIST rust-1.59.0-armv7-unknown-linux-gnueabihf.tar.xz 199147596 BLAKE2B 767aa2429a1d1e5633e17fcdafa1a763fb6c86ce392264445be91f79f924b5f1251aae5ee01d66cc902fe991b7ed42a23345d0460862508948d37af48d49b69f SHA512 590b8252b096331b404ecf02dcc11eb12ad1a751d03791a6eb316a7b7bc546c4e933b0acf66e771d394343b636db4dfba00f467715284fa1537399e161bd2d88
+DIST rust-1.59.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 77659e1ac997fee4eb50a969e581158ea622968b6de7d02f493096b1b108bd1f32a8c89b7bf1bdfcc7f346eeb14dde31d9b791624a72966f98937398bb833e58 SHA512 a404ddb78aa0d1dc5a8724b4e5b9d46b3c25ef820d50f9039928ce39169c1f8559ed3910a127f1805d6c07671b127a2adcc111bf8af5c1ae41a6f312492ae873
+DIST rust-1.59.0-i686-unknown-linux-gnu.tar.xz 212206848 BLAKE2B 949897daa1ec6e6da986ec030fa25db019ece6a16bc2d3442dcd8255d75a97212c6c214af6755a3231370e138a72dd22155719580631e403df987e992b6de308 SHA512 b6db8bdf25e59bfb64b13abb4a1b95e186aa16e1e165a575197e37c410e64c13c2a2d098b5af3935e2b6319566447c4a05b8e8b08b30476dba9d2c7f30000508
+DIST rust-1.59.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bb0e0cc0aebab03512cb261345319a94e3c2108125a90efd169160bad0a94bb71f717d66ee6c9222d5274f82c437baf435880f38652947b1ac79ec9bd53e586f SHA512 774d622d1b7cfc28a561fc8822865727e0fca698ddca2fca006b52d2b922057619ae65d4bbb03bdb0745458a242ab8724305c5cb4fdc8886f70edfded2b4543f
+DIST rust-1.59.0-mips-unknown-linux-gnu.tar.xz 151449792 BLAKE2B 0273b6dcf35af0d85c9adb4018b8ac76bef9895f42268e9ebe086f74c95570614b1cb5927c969e6b4a8366aa7a285a19929b819bbf8977343af899a3969eba7c SHA512 9f2c9ca60cbf38ef3ac23d1df7deb86864017addb7761b94a408c096e0a67bf3666ea05f19a57f902c8cc2f3912a96c5b9b91d1c2cd5ae86596c76d30fcce08b
+DIST rust-1.59.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4a7736612612244ca535fb2056089fd9e0426410dff5c98aa44092af918d528527cc0c12a3249fa3b9a278700c7e5395c6155d28129c3c7bced7056203942fc7 SHA512 18dfd434dc628c7f11de5c5f159afea0dc37a8123f490797bc9869941676fa85920a8bc592d4cd4b505b9fb1d67e35220253d67c878b2d938211c556ae60db4e
+DIST rust-1.59.0-mips64-unknown-linux-gnuabi64.tar.xz 156962060 BLAKE2B 64c12ac24a55eaac63d9a5173ebcb1b97709280bc770f02c1ba434e57f77e56847a691f17059e421517e7d5ad60e9e3965173aff29c90abfb1b85179631301c8 SHA512 aaf0b8b2f2ee7a3584fcd9bc690f54ce32c0f6a36f2c37ca9d4a10123ddb6d4e95c9343c88dd0830aa586a5a543dbac440a6644434f8035f1c95b3f046a843fe
+DIST rust-1.59.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 2b3a3f268b6a591e6541d3cb19ca733f393cff178932d06cad8d38d4a74c9e43e9a4aaf75c78d4c8084634e7ce3c5d1cb27a6540cc5f034e940efc276c1a3d11 SHA512 020ac1f172ecf41501218c6268ca2dee37842faa7adefc4d3410531f966aef4aaf66b94cd71237467322feb90cca198fdcc8f20f29a3de8c932e747e454a5852
+DIST rust-1.59.0-mipsel-unknown-linux-gnu.tar.xz 154605640 BLAKE2B 7b3410db3f0c534012b47cd564f9c14d7a878c0c1b1079bfc2d4ea13826e097b12e5dbef2a83641a339cbcf8538a1eb8c28005c3d46e8338074ab5c15fffdaa9 SHA512 1c096bed6dcd6499ee796c64b8771696ba0cba2db1793ac681b7c65b96ccde188c84306ff90a339bf49bee10955aeb179f0915ae0613c9deeaf766956661521c
+DIST rust-1.59.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 59fb0bd7e88119d9cb71a7af46afe2e3a4f37fb687b98409e7a83e0b57840c5db3eaec8baabac6ed26989b7b1ddcda13a9d221cda75f291a814b40c722b46573 SHA512 7c6c970ff971143338a11d774d0bc2ade2fa0dff185483800a54f07161bb181648e1b700c36cc6aced25bab9a383f7259b474b83379845926cde265e705208e0
+DIST rust-1.59.0-powerpc-unknown-linux-gnu.tar.xz 170384720 BLAKE2B adc37005f83854707bfa657e5ce5a247de807bd06bde63e6f65745f376502dd36318ccaced1b6d75c3dd3558dd0bbbd7c291854337180fbb18a1647bfa521749 SHA512 046e75c9540fb493fea1cbe9b37ff10f60abe7e31134de85f0e9503b2ddaeb60a03aabf8dd7bd9f55f3d93b01b40aac7cff4f26fe01ef3e3bf5cb052b42287be
+DIST rust-1.59.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f55215329f865d3a6505fd4203170782459ab81c48b8d6bcf2c3d96ba5d4d7a9c89dfa25eb2a4897f74a168a36b7abc2363007549f7f376205a37635ffe1052e SHA512 0a886d64565227f136b3568f6ff51996a8dddc0f3121174ac1e1d53f9a58d56fc76faffe86b24e274078779521f0be03657d76790951c86efe8640510757048f
+DIST rust-1.59.0-powerpc64-unknown-linux-gnu.tar.xz 179493740 BLAKE2B 2ff97ec145bbaead0946efca8097de2a294dad0b4b9293cd768b07d37bb5f2709bbdba3a3d949f4294041b747493f931bae3adcdafb1d2ebd0a88a982e77a7ed SHA512 83f204a2d32025fa88bc627f7f2f548a19941dc8f2575dd5c912f75f556853f63cad3c3145106e264943a915d842139cf34305cfb73c6f20646a022f949e1e3a
+DIST rust-1.59.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c9bddaa104146bbc04553f2000c06ee4655583251cddd222d6b9e629d74cfd9762d3ee6de732ec1c243ba28ccbfa2ee7fbad499a46a12b5edb6a755c23d7fe02 SHA512 586b9785e8cbb6eef9a7266ac9e0cd295aac93219cde7a7c42270baab417d4d43acffedf300a43d454be3487b0f0402617e78451d2da4bdc3b2a45bae6bece0e
+DIST rust-1.59.0-powerpc64le-unknown-linux-gnu.tar.xz 189083640 BLAKE2B 209b02e4ead2cbbfe87e59d8367526b9ecdcb324898e6b8398ddd8f21f0fb89a5d68bd3bcba84bafb435a2092c2c19b81171d4631f1eadc438ff9f29f3f72af0 SHA512 443e0c509df5337ffbef7407aee5fb1260583b0a85bede2a12995bbd4b1719e2865a73d0b79e47ac96d5f53f5c79e9903a22868683a9c0251bbb7ffb09f59fb5
+DIST rust-1.59.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 68abc7aa27c59ce7f59f7a4de400ad431c568262263f17af32d8999a5b68d4ed5df067aa8f41a226277f3bccc4908fe1326eecb6142401707f90a6f73b185614 SHA512 731dd8b0f3c33cc37dc783ee07f97727e227ce1a7856f73e87a4b937f6a8ecd1d778e65f1f484faa399795d94b10623fce56d056082bcec460e15fcdea9dbfea
+DIST rust-1.59.0-riscv64gc-unknown-linux-gnu.tar.xz 182319648 BLAKE2B 4e2a86431cd0c737ef86cd2bd308c6cf42f6f908a96456de4e2ab3d42f574c56dfd73933ee0177c8d797f17c8566e66d239406360d923797fa5eb49760e698d1 SHA512 4fecc8048270026f3bf5ca63ca32a657c62282e50132cff7af168168063beb65797626ce1ffe90a929e528d8b010193b1d67cbe87782d0b30c7b4e170eba081d
+DIST rust-1.59.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 37ec085b78b9b8cb076f676168b7f26d73b593ca4d2231ded00fa3d9f74b16b1e5d99a389df594b7ac75a8f9342ea25a5efb901931662d7a9362c3c14def5e13 SHA512 29b4c934c2a773968f8acdf469b081438780a4f2d1dc460fc851587719373b2151718f4ef3af81043d4ebb39ff2dfe8f4e4612276cfa1fc1946fada57adf133f
+DIST rust-1.59.0-s390x-unknown-linux-gnu.tar.xz 186264196 BLAKE2B f1c28c8cbff8dbd476daf7a3dee443aa4d90ea3432813d247853c159f20ee2347159f734ecce4ee85e36dfa886770c841355073c2220c016feb809225f4bd50f SHA512 3e9d86c84867d1f96f4cec4e2312ae604896b4fa61b9ab5b563fafe50b4e63a1bad9ccb90770a672c7730d14dc0235b50f2ca3cbe292220eb4e48a66a8f9d924
+DIST rust-1.59.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e97d2b8e50c69311c3d7c2a4fda1f3ae6803e5f53f9a0d2787e816297ffded53ac47e8033e0d5da2d078327133b528328edc9f610483cd1c0ef384317c947f4b SHA512 9e2cc63cd784134fdee91f8603629cdb7227cf56df2a5095cc06ce38df81b6bd3ace24f319c518bbb7619c6f17fc32e9c79bf0b0f57b1db8cd81302d66435a0a
+DIST rust-1.59.0-x86_64-unknown-linux-gnu.tar.xz 151858140 BLAKE2B 80eda8c19361b286aaa6ed6178df7f93a131414f6307c87849fa902d373d072643c65642c69ef7302488e0b4ad7883ced1c589606f91edeac83843ed0f6fe124 SHA512 df080a6225275945b0c028099e19aeb0ae34ffcec952b9ce19a6116feddbb29f4f4d27ed30f2c69c108652af637329c20a0d2875d0ff98dd9f7f4902039b6740
+DIST rust-1.59.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B cd4387ad25b7f000395e336cdc92916ee7260cbf98a397ce02514444c8d2b35c653012ae6a9f1d5598155c06db573e1fe1a3f0bde1693863855dc17c18b478f5 SHA512 0b6790f0aa531a8251e1a19e0adfdb16bfd39fcec40b83094c26b7169f833114cc8679e2955fcc5359b05cd67564827aa231c521f81d4c41d561e9ef44eea713
+DIST rust-1.59.0-x86_64-unknown-linux-musl.tar.xz 246630236 BLAKE2B c9fe24e92055b2e765a8d96181c7c14a0db329f98e006ea2ade285078cad64fa2ef3419d26f30339685cfbcee672bb5e263dd183c960aa0067a27a0b36fe6fbd SHA512 40a711c015fa8eb07aaa11b0698f20886928230a8441cc7523572c7c2768a52557daf5c02bdf61430dcb9a912b8eeda499794af28f269b319ca7fef848ae4cdd
+DIST rust-1.59.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 1a96c49754b8670d243d1ad43478d4df8b4f4997490fa9691e3947260d469c7dc9bab192a20fd2ee0592e15785fb059644404d77d716d86b54038d0a76feaf6e SHA512 0c67f2be31fae00a318b5a6184c60f10f80ca5275a5d9dad4459d94aef2fe65624dd7789987d506b691666ac8f7357143fa6bb8207cd5b13b28692aa909a1636
DIST rust-src-1.58.1.tar.xz 2827736 BLAKE2B 7ed64fa6688c230eb53bc141ccfb14b9f84114f344ee6aef26c78bea7700a924ae9f2d57f5f81eec514f9dd06cfce899c5fb7e0bb23ccf7f5fdfc0ccb940130d SHA512 cba8a85edde1e6587674274c97c526c0ccb2c4d81a5f23f8f826ee74e903bb7e8ef8d29f9c36559148fcaa1cc98cc3f63f6b5265172c4fe9af8ffee026e48690
+DIST rust-src-1.59.0.tar.xz 2861676 BLAKE2B 83c7c9f222cdc5de787243154aec1b62914badbd65c8defd7c0e48dad9018806d7befb0e419204c5a782d83e386609071c11a6e445df80ab593917b58f7712e5 SHA512 006cb2b29e0db69f4f241a6b44b1491f840503d953919722da5924eba4fbc13d09f8f20d35614e4069bc745facecfb20ef771ddc95560c94b5745b66047c5a0e
EBUILD rust-bin-1.58.1.ebuild 6409 BLAKE2B 8352d27e194e5c82d7dd26e31526190ac776456bcf019cd368181722e901be54f34bac918f81e3e350729916f88ccacd425fe60faa9ff0ae3d901fbd04fce712 SHA512 55ba5443905820dc291ac08030a28074ead2922cbb2fd60a51fad76639b795459f6750470fa141762cc7003f4d988272648b00b3a6f05c2aeb39b0b4a4dcd429
+EBUILD rust-bin-1.59.0.ebuild 6414 BLAKE2B cbd8dc5802c660dde6d6349f96a1c12a0362715e51c1532ac0a8fc4d452d4ed47488a51133b244b779204b3fdc47ee8b640927f8f479e030463cbc7182cdb1c8 SHA512 a7c5096d2471c7b5e300c40fc3e65abdf07e3b3735d824469b7300a6b6cc387fe52c1f09c219cefaf9b48d286345d85d642d3b6e1fd4f6b3ad5c195d05082afe
MISC metadata.xml 591 BLAKE2B 6f9d494e400400b8b957eaa3c242b5f096808cc8372360eac0d9ae4bffcd2aa75b35bad4acc7248543b08466d8616b0145ae8a9b1534db1ad5ee838f07f9dc51 SHA512 9f59ea60d8ec9b748eac0789fa6750f32e4867e1c2cbe106ce270acdb7306d40fe8754315f8c65a924af43d5b3e88f4f50dec6361299de80ef1a25665aa03182
diff --git a/dev-lang/rust-bin/rust-bin-1.59.0.ebuild b/dev-lang/rust-bin/rust-bin-1.59.0.ebuild
new file mode 100644
index 000000000000..db6e4d55a08f
--- /dev/null
+++ b/dev-lang/rust-bin/rust-bin-1.59.0.ebuild
@@ -0,0 +1,214 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
+
+MY_P="rust-${PV}"
+# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
+MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2022-02-24/rust-src-${PV}.tar.xz"
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+SRC_URI="$(rust_all_arch_uris ${MY_P})
+ rust-src? ( ${MY_SRC_URI} )
+"
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+SLOT="stable"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="clippy cpu_flags_x86_sse2 doc prefix rls rust-src rustfmt"
+
+DEPEND=""
+RDEPEND=">=app-eselect/eselect-rust-20190311"
+BDEPEND="
+ prefix? ( dev-util/patchelf )
+ verify-sig? ( sec-keys/openpgp-keys-rust )
+"
+
+REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
+
+QA_PREBUILT="
+ opt/${P}/bin/.*
+ opt/${P}/lib/.*.so
+ opt/${P}/libexec/.*
+ opt/${P}/lib/rustlib/.*/bin/.*
+ opt/${P}/lib/rustlib/.*/lib/.*
+"
+
+# An rmeta file is custom binary format that contains the metadata for the crate.
+# rmeta files do not support linking, since they do not contain compiled object files.
+# so we can safely silence the warning for this QA check.
+QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/rust.asc"
+
+pkg_pretend() {
+ if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
+ die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
+ fi
+}
+
+src_unpack() {
+ # sadly rust-src tarball does not have corresponding .asc file
+ # so do partial verification
+ if use verify-sig; then
+ for f in ${A}; do
+ if [[ -f ${DISTDIR}/${f}.asc ]]; then
+ verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc"
+ fi
+ done
+ fi
+
+ default_src_unpack
+
+ mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
+}
+
+patchelf_for_bin() {
+ local filetype=$(file -b ${1})
+ if [[ ${filetype} == *ELF*interpreter* ]]; then
+ einfo "${1}'s interpreter changed"
+ patchelf ${1} --set-interpreter ${2} || die
+ elif [[ ${filetype} == *script* ]]; then
+ hprefixify ${1}
+ fi
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+
+ # start native abi install
+ pushd "${S}" >/dev/null || die
+ local analysis std
+ analysis="$(grep 'analysis' ./components)"
+ std="$(grep 'std' ./components)"
+ local components="rustc,cargo,${std}"
+ use doc && components="${components},rust-docs"
+ use clippy && components="${components},clippy-preview"
+ use rls && components="${components},rls-preview,${analysis}"
+ use rustfmt && components="${components},rustfmt-preview"
+ # Rust component 'rust-src' is extracted from separate archive
+ if use rust-src; then
+ einfo "Combining rust and rust-src installers"
+ mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die
+ echo rust-src >> ./components || die
+ components="${components},rust-src"
+ fi
+ ./install.sh \
+ --components="${components}" \
+ --disable-verify \
+ --prefix="${ED}/opt/${P}" \
+ --mandir="${ED}/opt/${P}/man" \
+ --disable-ldconfig \
+ || die
+
+ if use prefix; then
+ local interpreter=$(patchelf --print-interpreter ${EPREFIX}/bin/bash)
+ ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin"
+ find "${ED}/opt/${P}/bin" -type f -print0 | \
+ while IFS= read -r -d '' filename; do
+ patchelf_for_bin ${filename} ${interpreter} \; || die
+ done
+ eend $?
+ fi
+
+ local symlinks=(
+ cargo
+ rustc
+ rustdoc
+ rust-gdb
+ rust-gdbgui
+ rust-lldb
+ )
+
+ use clippy && symlinks+=( clippy-driver cargo-clippy )
+ use rls && symlinks+=( rls )
+ use rustfmt && symlinks+=( rustfmt cargo-fmt )
+
+ einfo "installing eselect-rust symlinks and paths"
+ local i
+ for i in "${symlinks[@]}"; do
+ # we need realpath on /usr/bin/* symlink return version-appended binary path.
+ # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver>
+ local ver_i="${i}-bin-${PV}"
+ ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}"
+ dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}"
+ done
+
+ # symlinks to switch components to active rust in eselect
+ dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}"
+ dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}"
+ dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}"
+ dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}"
+
+ # musl logic can be improved a bit, but fine as is for now
+ cat <<-_EOF_ > "${T}/50${P}"
+ LDPATH="${EPREFIX}/usr/lib/rust/lib"
+ MANPATH="${EPREFIX}/usr/lib/rust/man"
+ $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
+ $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
+ _EOF_
+ doenvd "${T}/50${P}"
+
+ # note: eselect-rust adds EROOT to all paths below
+ cat <<-_EOF_ > "${T}/provider-${P}"
+ /usr/bin/cargo
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ /usr/lib/rustlib
+ /usr/lib/rust/lib
+ /usr/lib/rust/man
+ /usr/share/doc/rust
+ _EOF_
+
+ if use clippy; then
+ echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
+ fi
+ if use rls; then
+ echo /usr/bin/rls >> "${T}/provider-${P}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/rustfmt >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
+ fi
+
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${P}"
+ popd >/dev/null || die
+ #end native abi install
+
+ else
+ local rust_target
+ rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
+ dodir "/opt/${P}/lib/rustlib"
+ cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
+ "${ED}/opt/${P}/lib/rustlib" || die
+ fi
+
+ # BUG: installs x86_64 binary on other arches
+ rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die
+}
+
+pkg_postinst() {
+ eselect rust update
+
+ elog "Rust installs a helper script for calling GDB now,"
+ elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}."
+
+ if has_version app-editors/emacs; then
+ elog "install app-emacs/rust-mode to get emacs support for rust."
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ elog "install app-vim/rust-vim to get vim support for rust."
+ fi
+}
+
+pkg_postrm() {
+ eselect rust cleanup
+}
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index bdf66b6d0cfa..dd7a8fbb152a 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -32,7 +32,42 @@ DIST rust-1.57.0-x86_64-unknown-linux-gnu.tar.xz 151033748 BLAKE2B 61ecece6a8aa3
DIST rust-1.57.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ea41b27fd25cc75efac73203688ee0882767fc76a2fe09b5e424c42467d3e332463c5560cc58f3b20f6e4b44289a25cfb0d36e38a7a9a7b3950ef875a59dc9ae SHA512 8b955bfce6c130e4b95054b98646f7f9b89e621256759ee1ff533df5f777312dd7adbb192ee0076c9b9baa6883a74a9def50ef598ba8c707762290d465c9a8b7
DIST rust-1.57.0-x86_64-unknown-linux-musl.tar.xz 260333980 BLAKE2B 75342ae8637355e714d5217d78604cfa6a601d3f9bc0ed4667ff0ca57c6521567b19b9bdb10f79761e2e5fd21ca10e12f3fae0c65791118fdb0c35f8f88349f4 SHA512 204ed493528757b8e3e8df13d062c9ae74c75c3e3adc1a2efc0dfc33d2525629168a558dd32653f44a4365191bf203a4415a77152276288a8e122e6bd587394a
DIST rust-1.57.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 506400c3ea70469cbda0e492e85d41b7f94fba790ec19d1c3491bf4a00d283f97c8fb37319ad6c4a43b22a2195c21d1b9e3c16a5b2a9a82833ff61ad49bdc793 SHA512 793369dc7a854c48a72d81446a0c8eb9d83a071af77758e0bcbb8e4d518fb87c5a23c085202b9b427a02bdd772ad9c82724b34295b851f26f384c3e801bf9a04
+DIST rust-1.58.1-aarch64-unknown-linux-gnu.tar.xz 229585460 BLAKE2B 301b201cb40249005a1a8adf34ffdb0bacd22e1d919a24dec9bb8331c2243de1b7cc312c91a87fc9e11091cd9ad517347ff09143000d9de051b3c9a6e0780f9d SHA512 04e2cf2116e16fa293c7f2d29816012520b41df44b54657e289e7affbb91af5a5001d140a49aab1286451b93e93b0171edea77f61f01085136d1be1a3baac4a2
+DIST rust-1.58.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6da55597fddd643350c73f28a15dcfa935529c0878a199819b9bad6f3ea2542f9021e24bc1a6c8724ff14d36007c00f8906dd1aeaff33b0a99ef6982e8f711b3 SHA512 57debe0afe52c3af3eb53e4efe70ba194ddad449d9952174f8a775531b83f8ab0d66462e7bdd06712547e8f675d330a151d20d183daefe1dda2f0e3805695714
+DIST rust-1.58.1-aarch64-unknown-linux-musl.tar.xz 226068748 BLAKE2B 7f9680b0ad3f9a8349f3032f63d23b6d96ab43245d3025d0e4307a29b4353fd2408e7de572a10a77b261634b8fd4e9e6054ba9955b2440b608fdad2c88c12bfa SHA512 6400221a8ae04aea91f9df0f8d82585bcd380f22e80fe813eaa1cadbf592c5207665ad008d938b399e34fc2cb0485b16f993f94d431c290a69a696a4faf89e05
+DIST rust-1.58.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B fd22d8a3157a11df45e166b8c961a435bedb079254c1d7f0a738adc1065169a03c897a32bf8781802ca48bcb983c761e6985e532c0d76e90c3684752d8cff9d1 SHA512 54fffa8120fc6b86c57faffdc7857adb89e5fd217b0e753e76e6fadc54aa086243cb7ba3c2c49ec4f44ea8538223312469908d24add2d28203f41c16e9224204
+DIST rust-1.58.1-arm-unknown-linux-gnueabi.tar.xz 206480968 BLAKE2B 32ab78a1567d31bb1b5ca36fcb14fd1b002675baab0f688f931cef6524ffcee4257e00fa25a848f73f25656ae0b58beb0e862f1a36d4d5fad016316af3d1ab2a SHA512 94e7cf238235e845761e53fb5802ef0ce3a02c4675001cf67d05bc565403ec1d54293557d73dce7396147381c331ebfb0313e473289c05b65541f836dd8b4e6b
+DIST rust-1.58.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B db3275db531d78d728b33678be3869738009b65985aa3ad4f38aaa853cc1b84a1d2a89f98e203f697c457425547b80ad5826e7c820d49c767b5cd1df2db93bdd SHA512 fcca26b6b0dd2e7529efc93d1c4fdfcdf55c85f40bc247b3af9741403a085bc6808cd304ba535786dd2debbf4952c9d9fab62eaa61f1d3d8e59ce78bda992eb0
+DIST rust-1.58.1-arm-unknown-linux-gnueabihf.tar.xz 206545444 BLAKE2B 203a562ac448e7efc4fd519d98937f2deeb70c931611a6f0efc87947f5c48cf0c0cb85358fb9ce1dce49bdcde015fd2d5fd5f3b149d7370c05649579522d228c SHA512 5c0404d878300c1a47597bdadff7fe93c3b0a115320dbf5299dfb4fd06ad322217f4b630429a9db3a5ef54c56706c1ebdf512fcd663f379f1c2df0cf3612459e
+DIST rust-1.58.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B bf26f6540d96d124bb503b6e38acd87dc16ad16c5214559edd26f4f4f94f1f06a7059a09a7ee504721130576d6ddc5c7b2550f7bc0edffcef37bae3c0abb618c SHA512 1fa1e533adb1e355411cfb706b7c47712454547966bdf07687d9b563cf5dba9b4419d646227719a9362eb923c597f8461c194e56efcbed699610faa209985df2
+DIST rust-1.58.1-armv7-unknown-linux-gnueabihf.tar.xz 212381428 BLAKE2B 0cbc4ace0b7693de1898f160d5e76c7ff993aa8e8135a094b23dff736326ff7616471068f02a064d2b88c816fbf6f943fdaf82629dcda0e0e07b6a4a3941fcef SHA512 c1dabf7281c754d3c89044b1277618b0e928efbecde47ed98133d3f8664722d5b3dfb5fbf485cfb4c98c53d3101b192070c5c41e4395cd8563b0e8415abdf2a1
+DIST rust-1.58.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 85f3892a41dd381250219cb0c0c8e70b3902e5356ad34066a6db319193dd580e609975e38356097b7ca0907d62d188459c5a72783c95e77f1d08a50ae8673458 SHA512 70a2269b8326ed8b5e53dbd6698237c4d843086a139c4f4ddd6e04625f0defbcaff46149981e5a1502d56da1393b01bc0c6f74fa8e6ff407f6eb45cc5638ed41
+DIST rust-1.58.1-i686-unknown-linux-gnu.tar.xz 224773372 BLAKE2B d90db8b20611f6430759399bbccd0359f2b64ba9b9aa50312ce51dd4a43728897ab5c31d3c6bbee892db8e6e500a19184eb325a312231458cf99bad7c6f04b58 SHA512 0cfccc77cf62002ad99751744ae5a910d48c142d596eb88e187fc061c4b3a8cc1d99634802bc06b0302c41bb3462a17453af1beab6ca694a1535a1b20e10fa47
+DIST rust-1.58.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1fc809defcfeb240f756b3e7158d3e747b2e21ea81f3029618c58c4070070a2068603a4e93f7928a9ec3d120d7b2c7cd944d1ae03ebff1b9d5baea823dba54b7 SHA512 aba1f533227794755ca81c2bd8a3bd35fd9ad4affe5bd39430e0329310fe6c6f813fa7d95790958c61c6b22a4e4fea3488e406f05fa30c27eb6871f71e2e6e5d
+DIST rust-1.58.1-mips-unknown-linux-gnu.tar.xz 164572088 BLAKE2B 117dcc6483652c3f18436e185b44d605e64b9b31634484ead2d86c1caf6ec47a53eeded5dd766e2410ce59dfcd3f7e71ccf924afab0f34988e00e4c9324a5f13 SHA512 08df5ca03f786aae814b7a22a7d05e18107a1f185338880ea1b58df23d6b1d5c9f2359650ad38c30058a2d2d6f8ae32dffc3926ff47fd3342049c2251eb48463
+DIST rust-1.58.1-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 275a43c158a444c3ab27f1e45a9de294a059c21edf7280482303b83f6b0eb65d309021a82c49410b5b24828b88f65888529e95b01886ad20f2f4c187f595b788 SHA512 c70800d0629f92e4640a64a276575b5d6c1e92c2f1b6c7ca025c98a93a2665cbd7192d2fb697c421adc34fe397297c4cb78e21b38f27fa4261483cbf423f933d
+DIST rust-1.58.1-mips64-unknown-linux-gnuabi64.tar.xz 170025876 BLAKE2B 05cac890ccb9e37faeb3d995555b6f7f52281619101f033038ef056e7ee75b0c5eb2bd14357c1f8b0f5e96b9e2877514ee870bd75be1b28dce4906be95e6e3b9 SHA512 7d2fc1f0787f828fed72b1681f2668bce7cf25a87a01a818dfec18eda0fb63fb4a5e4aad8115e93dc4c8398641db4a476dfcaea07e6826fdcea727118c64e286
+DIST rust-1.58.1-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B fc25396963178a21a5b0a999e8dd3c9520b3056483ddde1f8a284747a078db0dfb0e808f2292704680e37c5cb2db990ad8311efdc0b32e2a65fd93d389c2a09c SHA512 32ab00c666c33ab53a975e9abffb7645d2101e8f508ea67d2e63b1ec01b4785e384bfe2966ca237b5494e34c2abd15e509835fa161709ddbe1c69845f26a6f43
+DIST rust-1.58.1-mipsel-unknown-linux-gnu.tar.xz 169136184 BLAKE2B ae698d08e2592b32b5a0927536e1c2a506c2782f9449fe20242d2ebbc5cbccb2d3a53874b973d88898157b233a88ed80987e2e83a316c05c0d478b1021c49c41 SHA512 ccb13dbb41c92956a437d0879fe9d3ad0a2aac88fa1b761e3b68a6536e389ed4997d1682730b2078fe01e68df0ef64bbe43dd2d64595dbb4ed388fe59e1d6dec
+DIST rust-1.58.1-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6b14cb176bb33207aed7a01de755390df0f71163940fa8121b51dccefb018cb4dd1cfe9efc359f6bb941104b8b08db0cb5a94c3af880058e59904884c5dff3e4 SHA512 1e30495303f9c6289223a2970d419a70885a866468717254b3efa5124e21cb06830692cfadca33ced94a383d1b9af43b70c08235e935ee491a1de50eafba96b1
+DIST rust-1.58.1-powerpc-unknown-linux-gnu.tar.xz 183853716 BLAKE2B a2b98d2c55b5bda8647301536bc8e95b72f98f41018f9b7574f85756d2cd2980fc3a3e995bdd0ed5226b7f18357c5aa3c2f8a05b1679d3dceeae6dfac7484f15 SHA512 5b9010bc3685889411fab6a06727a320123029c037a01cbd5b69f037a87ed595362b698264954b2d3dc2adbaf422fd54d7b56d81512b62147c1922aae77afa22
+DIST rust-1.58.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c428bb51fdc740ea9499a1a853f4be93a53c23e59d5142d33bf103ac46e32716505eea3e45174ac3b88ffa12caa4dc010dc2d02093f397ce45b4af27f5c4191a SHA512 b3ac66cc88c75f77f7f9632c2104f45a6a730a83b75bd7b531dab833e8e5b512ef06bfea433111302f64321b688f0817b95c5eac9fddd8ff44bb49934a616eea
+DIST rust-1.58.1-powerpc64-unknown-linux-gnu.tar.xz 194177236 BLAKE2B bb0c23288014207123345deb06e40a45221d0149e8563c374810892b68cc2b5838b5c3f8c630522723daa633c5fbf72aed16e977313a6d1ce27697c22552681e SHA512 8a089c44d2f50d4677a6aa82e6308d47451ca588243e0df3fbbfd13768002f0caaabeca0d6a7f113b8f63477565296e5cb89f27760621a327cf9cb5b4999eeb5
+DIST rust-1.58.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b94fe36ab1896bfee3d7e7f2b17dad05d33c672407955fe45758d167bb1fb4df4d33040e6d18dfa966d33133e181ef9a0e7dd04784ed80e30b38175a901859e5 SHA512 6edd981ded134e0c2e6198014ff37868d7e71d0d2185284c28a35450ab226ffd460faeb29e8aea6d5e75a2fa94874e01c9987f1f1470efe061859d06f3d3e605
+DIST rust-1.58.1-powerpc64le-unknown-linux-gnu.tar.xz 203175404 BLAKE2B 53ebdad5859fa7a5e2cd79ea31595aef65a8cc54e11d887f04385500aeac6dd886273f7736271aeb71c70e0d512fd986f09b54ed1a9c744432688eb71c74edb0 SHA512 abaa2b749987b4a1dbc20cc3dfdccc694bce0d1e126d8e9c03dfdcaf85c5be2a2d28f9877ccdaec847c499d7044f955a70f454dafb24dc59ecb5854807eb2289
+DIST rust-1.58.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d5cdf7cfca4d881931a08bf67ca1c08fafda621746b01b8e12e41cd88f5ba8107c1bc86b70f84eed4e6137f6d92ae712740b57505705c7bfd3454d8ca1131eb7 SHA512 39a9649ac0645ea6df93cef59baa6d197b9cfdf88f0c1b3846e52369c8e3e293ecf9327cfa6b5457be65896380c13445ad05c3a0cc213da0ed9bba3c12ae9b8a
+DIST rust-1.58.1-riscv64gc-unknown-linux-gnu.tar.xz 196828436 BLAKE2B 9b38c585146f0832d9bc1bebbdab086f351bc88c27817e44ff251c1566b80ee5e573b59764a22802d246023ade332f861096f2e68504c7b64400754ed2676695 SHA512 d268e5a45542f7684d52b694baf5c9b504837fa43d2f5a298e3fb4e335bc6789cdb868651614fbcc1d55c13ded1b2134d57103f46b098d0a8d4a7fd58fb10b03
+DIST rust-1.58.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7b234a9fe76cf39177ebc6ad54799bce80fef97151c257b58ae08321c5fe427dd5b5a70627b5a4011e32560f63f6f7b6fddb42e58728004406aec6a9e7597eed SHA512 ee4a1c52cc623dd1858ce8d363f0aaccd58b8bed27a0838f399f1b5cc51f0c123d98056147a266f45724b6a25b09b11c7224c4bc01f208ff7d77e906c850aebf
+DIST rust-1.58.1-s390x-unknown-linux-gnu.tar.xz 198204996 BLAKE2B f6f325a10aa9c16510b77b7729410d08d09b83dadff3b8ef7e06642d8c6a50a153eb17cef338fe3e3b7efa3a48ae0e318414aea794f2f488d6f59852310bbbf0 SHA512 31ce8b53c50063c9409191beab28f67ab804549b5eb4d6bfaf42a3342ccb2f4dc039e3afffe22d87664917481e943018c0d1239e7dd0a62af34c44a975f69303
+DIST rust-1.58.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 995a6ce146b758bcad983fc8d7a8613b0da172c7e62a0b73d206cfd461e1046d024a8431ac287b5c267b215128542bf20d796b072ab1aed348787f50013a1118 SHA512 d7af25ef9bb92952949e7f91a13d5e910f32134b962e6432bd10ed885be451eb99c518213d9dd4c425c40ea43fa2722d6ea7c357ab0ec63b8ca4f7d020412979
+DIST rust-1.58.1-x86_64-unknown-linux-gnu.tar.xz 150229600 BLAKE2B 056e5a646d6758ac88e2b2b9309dbe0e9d23a285be31ba009eed936c82923ad9615874b8689ef926b14335d6c5255df41b5879794e6f0982b90553273487853d SHA512 7a61ecc8ff49769847ed4021c57279c16f261aa21469da426023fadab3820d0d962edc0fb04861ae23c8dcf821fc3ab99c2d469ba827dad30c1acc995732605c
+DIST rust-1.58.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b86d3d2cbf27594dfe55fe2ff52523a9dff08d08ddd30526172f9e07760c2f854698eb8153cb9894588d75759a3d0bb7887756d005a2c69aa9cfeec8e7dee678 SHA512 82dcb22efb94bb19f2338e9cb46e3f6da3d189fe6bff12bf1ec870197d395c2ad58bd15705aa7f3cde38e5ec0266e20eb2e45761e0f55b13261d3e6b14dce60f
+DIST rust-1.58.1-x86_64-unknown-linux-musl.tar.xz 262511608 BLAKE2B f2ca664fe1ab0614f13ce9d7764eed935b107b393830ad14b64d8b05e032feeec57dd04cdc963ad3eea2cb23558beeb1975722be93412d4ff8fd3a75d2bbb896 SHA512 d064464333a64f91b8a30f267ecfe2b4dc5be6d639bc9f064efa86a54478c8de7156166236b7ff8d96bf8fc8cbbeebf7ac17d8b5dabf24d72e189dbbd8ae0819
+DIST rust-1.58.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 9c58a08b4e5d609230b5aae52fe7eec2dd6a0cc0eb8c257068ac2585918aba6cbe3263a6480860d34a117d3e2ee835fc8d8b1702296369c3a4e0f660f46bd62e SHA512 6c294cbbbf22940e36278e92d5095dbfee0df741694188ef1e6df7740bbe770ffb5b2467bab12825045ebf7d6fb12eebb1ce7edbb32d0afcb114c57e814fe5d7
DIST rustc-1.58.1-src.tar.xz 124353160 BLAKE2B 686c7272db544ad46f7fb01b4e05f24f4e08ff959a000cadfaef5d8fc413b93f5ed839077bc9715defc7a0a179af091f65c7a5d7104b0b3153f0654c237c094b SHA512 eff3279d2e519343cea542a9ae2daab592e44f35af344e33ff43ed55fc7c824511790d1991dd36a603d12465de8c3688e7194c2b9557f288c587ffa04738c2ce
DIST rustc-1.58.1-src.tar.xz.asc 801 BLAKE2B f0b600a503b0ca777dd5d690dca7252ecc6d7d49ca4a9cc8edc0647038f727e9052a861f9868292f837d78d6b02efe9ed5efa85843262c44cf6f73254cc7c9b0 SHA512 983c1ffdc4febf8bce6efc123c76b13f233772bc0a152ffaeb7ebf8f1f7b82a6b5d653407a4d293953d6fbf62c0df4ff4d398a1133061b53ae0f85317a14380b
+DIST rustc-1.59.0-src.tar.xz 128942756 BLAKE2B b28114f14c9a0fec7db56fde79a985360fd8438c3b14eede49ed12e540c2636be960d0fd800c569af193886ac76fe8bf604d5dae59214ae08cb0cc6cc0ca404e SHA512 acace866871d13a55d365f65d7e15c192c3cd33096862571df6317e066b7474d668b95ae281e0244967778c05f1e33966c3c55616218bd25d3770a2b2d4f0365
+DIST rustc-1.59.0-src.tar.xz.asc 801 BLAKE2B 061701c4fdbde930798f9f938ca3642204ae4a2ad9396937ca7d604268813d6d68f4979f20d35abdbbfeec0bb389acd86c9d3d84256db85861f6b11e3dbef80e SHA512 1b90bc01f9d68ba1f70591c4ae707295d7727b790d170a0b757d654684e59d3c26c45b66a21f9ac762debb6867494660c73daaf10be9bd567a38be44c0009f72
EBUILD rust-1.58.1.ebuild 21153 BLAKE2B c3d1b6711acf0ad90a36b35cd89a9a8a121ab16859d943ee4e399dd9ce6695e70b32fb25fe046b3123b85259110dc6ce0be926d367849eabebffd480fecb7d77 SHA512 7d0b47431de41129cc717cf6dfe31313d7afacececbcf4aae40a9c692df567e072a0674f12063b105e1a774abd0cf4ba3c06eafcfac021bbf22ef8bf5ed447a5
+EBUILD rust-1.59.0.ebuild 21158 BLAKE2B 2c71da4e3d1ffa39ca1021bada6e97c4688244c5133ce69ef3eabcf1c32033b51defe97aca6e1e89f61e355ba077c4b0cdc73822a69d5526e0348e45b4a31b6a SHA512 d87e5d861e72cb8a8b82724c5390a4146e32509d3d2c03a556930f1c7ddc46aaa8a1c7fd74a84742627f46e7dbef6487d62c70b80b6a1e11bd0000f0b46687f5
MISC metadata.xml 1298 BLAKE2B 5eb3a06bdca294100b57e3dbb71a27f4b363602a52140c5b5a6b744316db01991850538c48231d7e43371c0c0e89311269d7468a7f98a6ae9aa98c694a615699 SHA512 347981f2a8e5f1e404facd9b526e950b4d0a888dc79068d798b489270e2cccb7c2dfb116d76da56470d8548f5a24712caa9bc40c7ab5eb2a70a84093cd53f347
diff --git a/dev-lang/rust/rust-1.59.0.ebuild b/dev-lang/rust/rust-1.59.0.ebuild
new file mode 100644
index 000000000000..3d97be4af509
--- /dev/null
+++ b/dev-lang/rust/rust-1.59.0.ebuild
@@ -0,0 +1,705 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..10} )
+
+inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
+ multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
+
+if [[ ${PV} = *beta* ]]; then
+ betaver=${PV//*beta}
+ BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
+ MY_P="rustc-beta"
+ SLOT="beta/${PV}"
+ SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz"
+else
+ ABI_VER="$(ver_cut 1-2)"
+ SLOT="stable/${ABI_VER}"
+ MY_P="rustc-${PV}"
+ SRC="${MY_P}-src.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+fi
+
+RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1"
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+
+SRC_URI="
+ https://static.rust-lang.org/dist/${SRC}
+ verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc )
+ !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
+"
+
+# keep in sync with llvm ebuild of the same version as bundled one.
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+
+IUSE="clippy cpu_flags_x86_sse2 debug dist doc miri nightly parallel-compiler rls rustfmt rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
+
+# Please keep the LLVM dependency block separate. Since LLVM is slotted,
+# we need to *really* make sure we're not pulling more than one slot
+# simultaneously.
+
+# How to use it:
+# List all the working slots in LLVM_VALID_SLOTS, newest first.
+LLVM_VALID_SLOTS=( 13 )
+LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}"
+
+# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
+# (-) usedep needed because we may build with older llvm without that target
+LLVM_DEPEND="|| ( "
+for _s in ${LLVM_VALID_SLOTS[@]}; do
+ LLVM_DEPEND+=" ( "
+ for _x in ${ALL_LLVM_TARGETS[@]}; do
+ LLVM_DEPEND+="
+ ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )"
+ done
+ LLVM_DEPEND+=" )"
+done
+unset _s _x
+LLVM_DEPEND+=" )
+ <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):=
+ wasm? ( sys-devel/lld )
+"
+
+# to bootstrap we need at least exactly previous version, or same.
+# most of the time previous versions fail to bootstrap with newer
+# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok,
+# but it fails to bootstrap with 1.48.x
+# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt
+RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*"
+RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*"
+BOOTSTRAP_DEPEND="||
+ (
+ =dev-lang/rust-"${RUST_DEP_PREV}"
+ =dev-lang/rust-bin-"${RUST_DEP_PREV}"
+ =dev-lang/rust-"${RUST_DEP_CURR}"
+ =dev-lang/rust-bin-"${RUST_DEP_CURR}"
+ )
+"
+
+BDEPEND="${PYTHON_DEPS}
+ app-eselect/eselect-rust
+ || (
+ >=sys-devel/gcc-4.7
+ >=sys-devel/clang-3.5
+ )
+ system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
+ !system-llvm? (
+ >=dev-util/cmake-3.13.4
+ dev-util/ninja
+ )
+ test? ( sys-devel/gdb )
+ verify-sig? ( sec-keys/openpgp-keys-rust )
+"
+
+DEPEND="
+ >=app-arch/xz-utils-5.2
+ net-misc/curl:=[http2,ssl]
+ sys-libs/zlib:=
+ dev-libs/openssl:0=
+ elibc_musl? ( sys-libs/libunwind:= )
+ system-llvm? ( ${LLVM_DEPEND} )
+"
+
+# we need to block older versions due to layout changes.
+RDEPEND="${DEPEND}
+ app-eselect/eselect-rust
+ !<dev-lang/rust-1.47.0-r1
+ !<dev-lang/rust-bin-1.47.0-r1
+"
+
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
+ miri? ( nightly )
+ parallel-compiler? ( nightly )
+ rls? ( rust-src )
+ test? ( ${ALL_LLVM_TARGETS[*]} )
+ wasm? ( llvm_targets_WebAssembly )
+ x86? ( cpu_flags_x86_sse2 )
+"
+
+# we don't use cmake.eclass, but can get a warning
+CMAKE_WARN_UNUSED_CLI=no
+
+QA_FLAGS_IGNORED="
+ usr/lib/${PN}/${PV}/bin/.*
+ usr/lib/${PN}/${PV}/libexec/.*
+ usr/lib/${PN}/${PV}/lib/lib.*.so
+ usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.*
+ usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
+"
+
+QA_SONAME="
+ usr/lib/${PN}/${PV}/lib/lib.*.so.*
+ usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
+"
+
+QA_PRESTRIPPED="
+ usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp
+"
+
+# An rmeta file is custom binary format that contains the metadata for the crate.
+# rmeta files do not support linking, since they do not contain compiled object files.
+# so we can safely silence the warning for this QA check.
+QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta"
+
+# causes double bootstrap
+RESTRICT="test"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
+
+PATCHES=(
+ "${FILESDIR}"/1.55.0-ignore-broken-and-non-applicable-tests.patch
+ "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch
+)
+
+S="${WORKDIR}/${MY_P}-src"
+
+toml_usex() {
+ usex "${1}" true false
+}
+
+bootstrap_rust_version_check() {
+ # never call from pkg_pretend. eselect-rust may be not installed yet.
+ [[ ${MERGE_TYPE} == binary ]] && return
+ local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))"
+ local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))"
+ local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
+ rustc_version=${rustc_version[0]#rust-bin-}
+ rustc_version=${rustc_version#rust-}
+
+ [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
+
+ if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then
+ eerror "Rust >=${rustc_wanted} is required"
+ eerror "please run 'eselect rust' and set correct rust version"
+ die "selected rust version is too old"
+ elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then
+ eerror "Rust <${rustc_toonew} is required"
+ eerror "please run 'eselect rust' and set correct rust version"
+ die "selected rust version is too new"
+ else
+ einfo "Using rust ${rustc_version} to build"
+ fi
+}
+
+pre_build_checks() {
+ local M=4096
+ # multiply requirements by 1.5 if we are doing x86-multilib
+ if use amd64; then
+ M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 ))
+ fi
+ M=$(( $(usex clippy 128 0) + ${M} ))
+ M=$(( $(usex miri 128 0) + ${M} ))
+ M=$(( $(usex rls 512 0) + ${M} ))
+ M=$(( $(usex rustfmt 256 0) + ${M} ))
+ # add 2G if we compile llvm and 256M per llvm_target
+ if ! use system-llvm; then
+ M=$(( 2048 + ${M} ))
+ local ltarget
+ for ltarget in ${ALL_LLVM_TARGETS[@]}; do
+ M=$(( $(usex ${ltarget} 256 0) + ${M} ))
+ done
+ fi
+ M=$(( $(usex wasm 256 0) + ${M} ))
+ M=$(( $(usex debug 2 1) * ${M} ))
+ eshopts_push -s extglob
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ M=$(( 15 * ${M} / 10 ))
+ fi
+ eshopts_pop
+ M=$(( $(usex system-bootstrap 0 1024) + ${M} ))
+ M=$(( $(usex doc 256 0) + ${M} ))
+ CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+llvm_check_deps() {
+ has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
+}
+
+pkg_pretend() {
+ pre_build_checks
+}
+
+pkg_setup() {
+ pre_build_checks
+ python-any-r1_pkg_setup
+
+ export LIBGIT2_NO_PKG_CONFIG=1 #749381
+
+ use system-bootstrap && bootstrap_rust_version_check
+
+ if use system-llvm; then
+ llvm_pkg_setup
+
+ local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
+ export LLVM_LINK_SHARED=1
+ export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
+ fi
+}
+
+src_prepare() {
+ if ! use system-bootstrap; then
+ local rust_stage0_root="${WORKDIR}"/rust-stage0
+ local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
+
+ "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
+ --without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die
+ fi
+
+ default
+}
+
+src_configure() {
+ local rust_target="" rust_targets="" arch_cflags
+
+ # Collect rust target names to compile standard libs for all ABIs.
+ for v in $(multilib_get_enabled_abi_pairs); do
+ rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
+ done
+ if use wasm; then
+ rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
+ if use system-llvm; then
+ # un-hardcode rust-lld linker for this target
+ # https://bugs.gentoo.org/715348
+ sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die
+ fi
+ fi
+ rust_targets="${rust_targets#,}"
+
+ local tools="\"cargo\","
+ if use clippy; then
+ tools="\"clippy\",$tools"
+ fi
+ if use miri; then
+ tools="\"miri\",$tools"
+ fi
+ if use rls; then
+ tools="\"rls\",\"analysis\",$tools"
+ fi
+ if use rustfmt; then
+ tools="\"rustfmt\",$tools"
+ fi
+ if use rust-src; then
+ tools="\"src\",$tools"
+ fi
+
+ local rust_stage0_root
+ if use system-bootstrap; then
+ local printsysroot
+ printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")"
+ rust_stage0_root="${printsysroot}"
+ else
+ rust_stage0_root="${WORKDIR}"/rust-stage0
+ fi
+ # in case of prefix it will be already prefixed, as --print sysroot returns full path
+ [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory"
+
+ rust_target="$(rust_abi)"
+
+ cat <<- _EOF_ > "${S}"/config.toml
+ changelog-seen = 2
+ [llvm]
+ download-ci-llvm = false
+ optimize = $(toml_usex !debug)
+ release-debuginfo = $(toml_usex debug)
+ assertions = $(toml_usex debug)
+ ninja = true
+ targets = "${LLVM_TARGETS// /;}"
+ experimental-targets = ""
+ link-shared = $(toml_usex system-llvm)
+ $(case "${rust_target}" in
+ i586-*-linux-*)
+ # https://github.com/rust-lang/rust/issues/93059
+ echo 'cflags = "-fcf-protection=none"'
+ echo 'cxxflags = "-fcf-protection=none"'
+ echo 'ldflags = "-fcf-protection=none"'
+ ;;
+ esac)
+ [build]
+ build-stage = 2
+ test-stage = 2
+ doc-stage = 2
+ build = "${rust_target}"
+ host = ["${rust_target}"]
+ target = [${rust_targets}]
+ cargo = "${rust_stage0_root}/bin/cargo"
+ rustc = "${rust_stage0_root}/bin/rustc"
+ rustfmt = "${rust_stage0_root}/bin/rustfmt"
+ docs = $(toml_usex doc)
+ compiler-docs = false
+ submodules = false
+ python = "${EPYTHON}"
+ locked-deps = true
+ vendor = true
+ extended = true
+ tools = [${tools}]
+ verbose = 2
+ sanitizers = false
+ profiler = false
+ cargo-native-static = false
+ [install]
+ prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
+ sysconfdir = "etc"
+ docdir = "share/doc/rust"
+ bindir = "bin"
+ libdir = "lib"
+ mandir = "share/man"
+ [rust]
+ # https://github.com/rust-lang/rust/issues/54872
+ codegen-units-std = 1
+ optimize = true
+ debug = $(toml_usex debug)
+ debug-assertions = $(toml_usex debug)
+ debug-assertions-std = $(toml_usex debug)
+ debuginfo-level = $(usex debug 2 0)
+ debuginfo-level-rustc = $(usex debug 2 0)
+ debuginfo-level-std = $(usex debug 2 0)
+ debuginfo-level-tools = $(usex debug 2 0)
+ debuginfo-level-tests = 0
+ backtrace = true
+ incremental = false
+ default-linker = "$(tc-getCC)"
+ parallel-compiler = $(toml_usex parallel-compiler)
+ channel = "$(usex nightly nightly stable)"
+ description = "gentoo"
+ rpath = false
+ verbose-tests = true
+ optimize-tests = $(toml_usex !debug)
+ codegen-tests = true
+ dist-src = false
+ remap-debuginfo = true
+ lld = $(usex system-llvm false $(toml_usex wasm))
+ # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it
+ # https://github.com/rust-lang/rust/issues/74976
+ # https://github.com/rust-lang/rust/issues/76526
+ deny-warnings = $(usex wasm $(usex doc false true) true)
+ backtrace-on-ice = true
+ jemalloc = false
+ [dist]
+ src-tarball = false
+ compression-formats = ["xz"]
+ _EOF_
+
+ for v in $(multilib_get_enabled_abi_pairs); do
+ rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
+ arch_cflags="$(get_abi_CFLAGS ${v##*.})"
+
+ cat <<- _EOF_ >> "${S}"/config.env
+ CFLAGS_${rust_target}=${arch_cflags}
+ _EOF_
+
+ cat <<- _EOF_ >> "${S}"/config.toml
+ [target.${rust_target}]
+ ar = "$(tc-getAR)"
+ cc = "$(tc-getCC)"
+ cxx = "$(tc-getCXX)"
+ linker = "$(tc-getCC)"
+ ranlib = "$(tc-getRANLIB)"
+ _EOF_
+ # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
+ if use elibc_musl; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ crt-static = false
+ _EOF_
+ fi
+ if use system-llvm; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
+ _EOF_
+ fi
+ done
+ if use wasm; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ [target.wasm32-unknown-unknown]
+ linker = "$(usex system-llvm lld rust-lld)"
+ _EOF_
+ fi
+
+ if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below
+ # experimental cross support
+ # discussion: https://bugs.gentoo.org/679878
+ # TODO: c*flags, clang, system-llvm, cargo.eclass target support
+ # it would be much better if we could split out stdlib
+ # complilation to separate ebuild and abuse CATEGORY to
+ # just install to /usr/lib/rustlib/<target>
+
+ # extra targets defined as a bash array
+ # spec format: <LLVM target>:<rust-target>:<CTARGET>
+ # best place would be /etc/portage/env/dev-lang/rust
+ # Example:
+ # RUST_CROSS_TARGETS=(
+ # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu"
+ # )
+ # no extra hand holding is done, no target transformations, all
+ # values are passed as-is with just basic checks, so it's up to user to supply correct values
+ # valid rust targets can be obtained with
+ # rustc --print target-list
+ # matching cross toolchain has to be installed
+ # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one)
+ # only gcc toolchains installed with crossdev are checked for now.
+
+ # BUG: we can't pass host flags to cross compiler, so just filter for now
+ # BUG: this should be more fine-grained.
+ filter-flags '-mcpu=*' '-march=*' '-mtune=*'
+
+ local cross_target_spec
+ for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do
+ # extracts first element form <LLVM target>:<rust-target>:<CTARGET>
+ local cross_llvm_target="${cross_target_spec%%:*}"
+ # extracts toolchain triples, <rust-target>:<CTARGET>
+ local cross_triples="${cross_target_spec#*:}"
+ # extracts first element after before : separator
+ local cross_rust_target="${cross_triples%%:*}"
+ # extracts last element after : separator
+ local cross_toolchain="${cross_triples##*:}"
+ use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled"
+ command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain"
+
+ cat <<- _EOF_ >> "${S}"/config.toml
+ [target.${cross_rust_target}]
+ ar = "${cross_toolchain}-ar"
+ cc = "${cross_toolchain}-gcc"
+ cxx = "${cross_toolchain}-g++"
+ linker = "${cross_toolchain}-gcc"
+ ranlib = "${cross_toolchain}-ranlib"
+ _EOF_
+ if use system-llvm; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
+ _EOF_
+ fi
+ if [[ "${cross_toolchain}" == *-musl* ]]; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr"
+ _EOF_
+ fi
+
+ # append cross target to "normal" target list
+ # example 'target = ["powerpc64le-unknown-linux-gnu"]'
+ # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]'
+
+ rust_targets="${rust_targets},\"${cross_rust_target}\""
+ sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die
+
+ ewarn
+ ewarn "Enabled ${cross_rust_target} rust target"
+ ewarn "Using ${cross_toolchain} cross toolchain"
+ ewarn
+ if ! has_version -b 'sys-devel/binutils[multitarget]' ; then
+ ewarn "'sys-devel/binutils[multitarget]' is not installed"
+ ewarn "'strip' will be unable to strip cross libraries"
+ ewarn "cross targets will be installed with full debug information"
+ ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files"
+ ewarn
+ ewarn "Alternatively llvm-strip can be used, it supports stripping any target"
+ ewarn "define STRIP=\"llvm-strip\" to use it (experimental)"
+ ewarn
+ fi
+ done
+ fi # I_KNOW_WHAT_I_AM_DOING_CROSS
+
+ einfo "Rust configured with the following flags:"
+ echo
+ echo RUSTFLAGS="${RUSTFLAGS:-}"
+ echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}"
+ echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}"
+ env | grep "CARGO_TARGET_.*_RUSTFLAGS="
+ cat "${S}"/config.env || die
+ echo
+ einfo "config.toml contents:"
+ cat "${S}"/config.toml || die
+ echo
+}
+
+src_compile() {
+ # we need \n IFS to have config.env with spaces loaded properly. #734018
+ (
+ IFS=$'\n'
+ env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
+ "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
+ )
+}
+
+src_test() {
+ # https://rustc-dev-guide.rust-lang.org/tests/intro.html
+
+ # those are basic and codegen tests.
+ local tests=(
+ codegen
+ codegen-units
+ compile-fail
+ incremental
+ mir-opt
+ pretty
+ run-make
+ )
+
+ # fails if llvm is not built with ALL targets.
+ # and known to fail with system llvm sometimes.
+ use system-llvm || tests+=( assembly )
+
+ # fragile/expensive/less important tests
+ # or tests that require extra builds
+ # TODO: instead of skipping, just make some nonfatal.
+ if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
+ tests+=(
+ rustdoc
+ rustdoc-js
+ rustdoc-js-std
+ rustdoc-ui
+ run-make-fulldeps
+ ui
+ ui-fulldeps
+ )
+ fi
+
+ local i failed=()
+ einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
+ for i in "${tests[@]}"; do
+ local t="src/test/${i}"
+ einfo "rust_src_test: running ${t}"
+ if ! (
+ IFS=$'\n'
+ env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \
+ "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \
+ -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}"
+ )
+ then
+ failed+=( "${t}" )
+ eerror "rust_src_test: ${t} failed"
+ fi
+ done
+
+ if [[ ${#failed[@]} -ne 0 ]]; then
+ eerror "rust_src_test: failure summary: ${failed[@]}"
+ die "aborting due to test failures"
+ fi
+}
+
+src_install() {
+ (
+ IFS=$'\n'
+ env $(cat "${S}"/config.env) DESTDIR="${D}" \
+ "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
+ )
+
+ # bug #689562, #689160
+ rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
+ rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
+ newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
+
+ local symlinks=(
+ cargo
+ rustc
+ rustdoc
+ rust-gdb
+ rust-gdbgui
+ rust-lldb
+ )
+
+ use clippy && symlinks+=( clippy-driver cargo-clippy )
+ use miri && symlinks+=( miri cargo-miri )
+ use rls && symlinks+=( rls )
+ use rustfmt && symlinks+=( rustfmt cargo-fmt )
+
+ einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}"
+ local i
+ for i in "${symlinks[@]}"; do
+ # we need realpath on /usr/bin/* symlink return version-appended binary path.
+ # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver>
+ # need to fix eselect-rust to remove this hack.
+ local ver_i="${i}-${PV}"
+ if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then
+ einfo "Installing ${i} symlink"
+ ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
+ else
+ ewarn "${i} symlink requested, but source file not found"
+ ewarn "please report this"
+ fi
+ dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
+ done
+
+ # symlinks to switch components to active rust in eselect
+ dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
+ dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}"
+ dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
+ dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
+ dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
+
+ newenvd - "50${P}" <<-_EOF_
+ LDPATH="${EPREFIX}/usr/lib/rust/lib"
+ MANPATH="${EPREFIX}/usr/lib/rust/man"
+ $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
+ $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
+ _EOF_
+
+ rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
+ rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
+
+ # note: eselect-rust adds EROOT to all paths below
+ cat <<-_EOF_ > "${T}/provider-${P}"
+ /usr/bin/cargo
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ /usr/lib/rustlib
+ /usr/lib/rust/lib
+ /usr/lib/rust/libexec
+ /usr/lib/rust/man
+ /usr/share/doc/rust
+ _EOF_
+
+ if use clippy; then
+ echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
+ fi
+ if use miri; then
+ echo /usr/bin/miri >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
+ fi
+ if use rls; then
+ echo /usr/bin/rls >> "${T}/provider-${P}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/rustfmt >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
+ fi
+
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${P}"
+
+ if use dist; then
+ insinto "/usr/lib/${PN}/${PV}/dist"
+ doins -r "${S}/build/dist/."
+ fi
+}
+
+pkg_postinst() {
+ eselect rust update
+
+ if has_version sys-devel/gdb || has_version dev-util/lldb; then
+ elog "Rust installs a helper script for calling GDB and LLDB,"
+ elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
+ fi
+
+ if has_version app-editors/emacs; then
+ elog "install app-emacs/rust-mode to get emacs support for rust."
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ elog "install app-vim/rust-vim to get vim support for rust."
+ fi
+}
+
+pkg_postrm() {
+ eselect rust cleanup
+}
diff --git a/dev-lang/smlnj/Manifest b/dev-lang/smlnj/Manifest
index 417e6c84c1eb..109fa50c2a93 100644
--- a/dev-lang/smlnj/Manifest
+++ b/dev-lang/smlnj/Manifest
@@ -52,5 +52,5 @@ DIST smlnj-110.99.2-smlnj-lib.tgz 790390 BLAKE2B 8194c48196e5e58eb22e6f4f1a91b7b
DIST smlnj-110.99.2-system.tgz 281742 BLAKE2B c9af6495f6991cd9e6768ceab1c8841e30ba83d981e2b8b0482851c8cca9db548e22a2abce2ee0764e4e5ad37723d5819e4e44c91e4e69a4b353327e6ea55769 SHA512 aa27b46301ddfe3f6bf26e04a3763c52b016435d7aa9142f30300b026d2587cd85c84992084c2d9cd1a2dd90b1b82897fb106067aff0d16207050302ba985421
DIST smlnj-110.99.2-trace-debug-profile.tgz 3921 BLAKE2B ebc7d3270bcee5464c7eb5a70c851d865ffbf2ba31a084b61074ffe22f7d97c255fe4584fdbf491c7d5e2db65e3efb5648eb5995b81561cdfee152ae8b31c859 SHA512 e1fd41e15934eda2d33b69d21eeb582306dfc09576cc7f69f72cbc599e4b321c453327a7cc31f4689e6d3d87b2fc0453817ef696e565dff4d7ef4c1e18e31c29
EBUILD smlnj-110.82.ebuild 4197 BLAKE2B 5d6e3b0367d5a358b3c5dac4f5bf92892a1e90baaa8a41cb18329aa1bee05de9e3dfa98f6fa802f5ca59285d1b56a6f9d13f393437f2c2dffdd6661257ee3277 SHA512 f65cd61072960aef6a294c8da5e3af18ff4d60634a830859ee533908999dc4c6320d117eb65ff3bdc01bb30612a8a6e896b8481bb4deca5acfdbaf5e994492a6
-EBUILD smlnj-110.99.2.ebuild 2725 BLAKE2B 8b6ce63bc5f8daf83d0766fc6e74f53dd056ecd61bdacaf79fbb6f9e20274dda765ea731f0154653bc82d078ea085231769ae35f6cfc4d4eb0b45184baedf3cd SHA512 31be42bd6a2d52ca91fac230c9e31be8c796046868e2d5b13b1c77b06a07dddc056e35c4c4be9e51a512b5d2558f15b3987e6daa91f921ccc8dffd910e08dfb7
+EBUILD smlnj-110.99.2.ebuild 3092 BLAKE2B f0550382f25b066afb5ca746779c1e0922b396f20c515a1d9e6e34ec434047cdc347ce84b12141a3703e6220476779f15ae323b466a33b497ec4a3050e732b59 SHA512 f8da6f71b600ad6ea53c79a88d2e4af0bd44acb30399b77d96bb554993d3e6743bdeff7f58dca83db7b11f26f8ac82e64fad85b4fc5615d3debf2f8334ba75b5
MISC metadata.xml 628 BLAKE2B 09cedb6a5ca151cfc4ac25fd187995cb2295e8aeb45f1f01741de7e01ca84a57ef060630db3a769983c41d7d290445f8b2ba88cfbbb2d8d983b06403bb505b8b SHA512 1df6d363a4d7a1a96035e24280f11a1fa78a34c464df4025c2e2a1f1e1768f1f0aab3d48741316428bd27c17bc457ea3a5882a202b8d510b2c5f28c83943a79e
diff --git a/dev-lang/smlnj/smlnj-110.99.2.ebuild b/dev-lang/smlnj/smlnj-110.99.2.ebuild
index 247d06dc4ca7..9186f5e6aefb 100644
--- a/dev-lang/smlnj/smlnj-110.99.2.ebuild
+++ b/dev-lang/smlnj/smlnj-110.99.2.ebuild
@@ -78,6 +78,9 @@ src_unpack() {
mkdir base || die # without this unpacking runtime will fail
./config/unpack "${S}" runtime || die
+
+ # Unpack asdl to fix autoconf linker check
+ unpack "${S}"/asdl.tgz
}
src_prepare() {
@@ -89,8 +92,15 @@ src_prepare() {
-e "/^CPP/s|gcc|$(tc-getCC)|" \
-e "/^CFLAGS/{s|-O[0123s]|| ; s|=|= ${CFLAGS}|}" \
-i base/runtime/objs/mk.* || die
+ sed -e "/^AS/s|as|$(tc-getAS)|" \
+ -e "/^AR/s|ar|$(tc-getAR)|" \
+ -e "/^CC/s|cc|$(tc-getCC)|" \
+ -e "/^CPP/s|/lib/cpp|$(tc-getCPP)|" \
+ -e "/^RANLIB/s|ranlib|$(tc-getRANLIB)|" \
+ -i base/runtime/objs/makefile || die
sed -i "s|nm |$(tc-getNM) |g" config/chk-global-names.sh || die
+ sed -i "/^AC_PATH_PROG/s|\[ld\]|\[$(tc-getLD)\]|" asdl/configure.ac || die
}
src_compile() {
diff --git a/dev-lang/spark/Manifest b/dev-lang/spark/Manifest
index e24eca4cf84b..641d91dc47ae 100644
--- a/dev-lang/spark/Manifest
+++ b/dev-lang/spark/Manifest
@@ -1,5 +1,5 @@
AUX spark-2021-gentoo.patch 860 BLAKE2B 6eb65c19b604a8d9370bf4da87899c1b8471c52763c17b97322856ddb701e46f6d5c5de03df204c287c728413e5ab8de2f320c75d9c3acb049abad62360037da SHA512 ac636251eb45868430e46d0f5566ab655dc5a223bd44fa4b76bd75c679779cc037bf6ef376f9f4ec22a90b1347bf302d382e1d540b448acb6308c1b3e33036ec
DIST gnat-2021-20210519-19A70-src.tar.gz 8765762 BLAKE2B ef48f54c6109566e37bfa5dee9262305d0529b3dfd333ee28bc4e66f4709a0673f673d742bc04deb15dc145404f7618d350dbdf3f2a7ab37c861e57d011946fa SHA512 3cb79be024fdd9b738d99ffc8e224d32bb382b5da2d02b97b2061a5ea58456f33d4564c92e224af2713ce15fd5481edd715e5b9a52abc74fdc142f27e103c201
DIST spark-2021-2021-20210519-19A1A-src.tar.gz 11361491 BLAKE2B 67f8d27ae68ef4929aafaf96c470394e093883619c5c778e804f1ff62c297d5a3f628e04e987fb06741cb824710599928a7ec3b94fa6d7af029cff35be0898c3 SHA512 b595516892f6054d3c856c30c4296be9cd61adca3ea2cffe3c9060fbab249d36ce1b8fff6f80e1e8173ef6e232dd9c2da8a581ae9964845120c03d09896b635c
-EBUILD spark-2021.ebuild 2397 BLAKE2B 53662e441b8e8d8b85f5be564d9ca2c31dc559a0f6f59125855b6b9f53101f6b2ea99838e718a859184df5ddcd4c408a8c204f0c9c6c339d38ac50a65b51962d SHA512 8ae3218a3e4504166b8827618c82d1c59f695ea54e365acb498db387ed359e8860fac9a358d9ed2ac5b8fb362e6178732c3451a163e0d459fe47099daa08b41d
+EBUILD spark-2021.ebuild 2277 BLAKE2B 6ccc441fd55b4ad2cc526fb58bea232342ba5a0f263d8ef585a4118b97755210aa0275de0b4d2dadec46a0e3c83a025c8544e68de27144a353ff3bf8faf99db0 SHA512 6fae44b78cbfbcf30c194df6ef38c9ae04de4d569fcceb3c08644b6c4a073cbfb95bf2b489e7e599ab58acbf8d8e7e475d074eb5681eeb34647ed8884e8732ae
MISC metadata.xml 671 BLAKE2B b4bbfa26668fcec46cc224b60c1c62ac09f5e11314a32ea1288614b12029f989aa234305f0dbbb66f63b15a809d3f17261ef1155c0b72ea87bc29e3ccdf2c56f SHA512 e804dcad5593c98c9e4d5624be0e6dfa78545a48e46510b5d76c21da59dbe2c632495d96244dbaca91105a3b09efcafc759f1866311a365744887733c1a60670
diff --git a/dev-lang/spark/spark-2021.ebuild b/dev-lang/spark/spark-2021.ebuild
index 9e53597a8dc3..9b763b07b66a 100644
--- a/dev-lang/spark/spark-2021.ebuild
+++ b/dev-lang/spark/spark-2021.ebuild
@@ -1,12 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
ADA_COMPAT=( gnat_2021 )
-PYTHON_COMPAT=( python3_{7..9} )
-inherit ada python-any-r1
+inherit ada
ADA_MIRROR=https://community.download.adacore.com/v1
ID=969ce28e217bd5aa4db549a544d20846408a5229
@@ -29,7 +28,6 @@ RDEPEND="
sci-mathematics/alt-ergo
sci-mathematics/why3-for-spark"
DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
dev-ada/gprbuild[${ADA_USEDEP}]"
REQUIRED_USE="${ADA_REQUIRED_USE}"
@@ -38,11 +36,6 @@ S="${WORKDIR}"/${MYP}
PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
-pkg_setup() {
- ada_pkg_setup
- python-any-r1_pkg_setup
-}
-
src_prepare() {
ln -sf "${WORKDIR}"/${GNATDIR}/src/ada gnat2why/gnat_src || die
default
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index b6af03182e97..5519bcef67d9 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,7 +1,4 @@
-AUX moz38-dont-hardcode-libc-soname.patch 637 BLAKE2B d78f53814955c3e0842040f47330d8216b3f496574fadc045294b534f2ec7d049b14564cb495c37ae2d084db2f5671e447d1d98aa19a367f8b96ec97201b4f30 SHA512 f3d447996da3bf445f082a0b5c3018eb618b6b08a49bc43f275dc6cc77d7d906928e99264378472e96213df8f8b5d279a0af72d9d6a0a3417b266d7752c7f1fd
AUX spidermonkey-1.8.5-LTO.patch 1886 BLAKE2B 28559662306681570ed7b910190da9042a7724a5d9fda0960ebe36039e994b56b65f103095381a8838db54e2ebdd5b8bc3f0f7d500f338907624ca448695a2f1 SHA512 8c44683370f7a919a930dc505278240164b1bea35cd0408ce7d880f56603abde9799aea3bf35f05bd080b214d5d0b944dd004ef5e157607bbb3e679f3ff2c574
-AUX spidermonkey-52.0-fix-alpha-bitness.patch 836 BLAKE2B bf89aadfdceab9d1460c31b496618dc19d2461d27e0713887d8c59b7a565a70d38cbaa2ca099b50555417beba54c2b207f80cf13ba633da35be7fab6b3c41faf SHA512 67ccafd8e2b84d59d13ff93bd12930b4804f8cf64cc896a4edf99c962481f583866ea6c4f84b3fd9d1093ad8ca7d23712615470dfadb57d293258754dd612484
-AUX spidermonkey-52.0-gcc9-overflow.patch 821 BLAKE2B c35c5a37b40e86d1a23588aebd9b53e81e0a70b01e969bc54c24c68a8adef567d03833e1afa8a02d1659f373226958b8ef3ce84982a8ba24d18fa28a96aa6e40 SHA512 6173486c4d28cb727096a470b22b6b98c675ee355934bf134882a5d068ef492e4cd3519e7da293eae756d5b9cb9950ffd4b1723c6a47de6493491a4bc3573f3b
AUX spidermonkey-60.5.2-ia64-fix-virtual-address-length.patch 2554 BLAKE2B d5759da22c521e389b8633aa2aa75e0a300af76f431a53c0bd445781002b0b7dd93543657cdf53afb12d87e4be1464584d5c3ccb30a2c9acc608aaeb1b2eb34f SHA512 d767cb00988772a0e5789d5b27aaaf0c0cc0124f4dd78ba67d2c4b4587c26346b01fc5b3d29f346e931dcd037ecefc8cec0d5c48510726a1841a6b6396c5507c
AUX spidermonkey-60.5.2-ia64-support.patch 1615 BLAKE2B bd2ae36194bdb6a17638ec500e5211abb9700f2b7c5056b5be51e8e54d59326a5c9f0cb6d2d6fa56dd946dba264635e6d75e9b4ed52103c7904df19d33257c7d SHA512 71f2a0f27910ae086910f6599985a32ad2fdedeffc9c4c6baa446f4856dee74051fa158cc0552a3f21210098e0d006a0b5d781437fded80969e1edf23c04b9e0
AUX spidermonkey-68.0-add-riscv-support.patch 4328 BLAKE2B 64ef005bff60ce3cc3e698a65494ef97441b9f27493bcbc7576286f6e06ce754dbcbcc8d9088ca88f6aa1a1ea7f008565922b5a4baf54019c64d8040c5b509f1 SHA512 70aad64600221f805f0fcd485b63c5383e9f160889b001963f5b6196d57672257c8ce02e75ad384bd2a0eeb9eeae0f7fc4820f1abcec3677f736cd60391f7d6f
@@ -11,21 +8,18 @@ DIST firefox-68.0-patches-15.tar.xz 16060 BLAKE2B f9e6cd58ea51bed1af90a9d30fd551
DIST firefox-68.12.0esr.source.tar.xz 313856956 BLAKE2B eeaa4acc9fabf15ec1b313170a30cee8e1fc10a8b08512b915b83b7d6a81c09b365733ed94638bd434864fd7b0cb8cbf1bc2e43441be69e31117e8e6a099234c SHA512 839b02422e4c87bdb12e0995cd35ca8c1996f3fba00bbb46b419e46b67df5ec48a264cb14632db777ce29166ee4fdcb06e2ee3ce847e64328c58c9a2f9129f4c
DIST firefox-78.15.0esr.source.tar.xz 330819568 BLAKE2B dc8785613c2f72c55d484642c89c2545765a9efbd609bc7c2cf57b4a3a06a2ea22e6959e42b5b8af867db782e8b2097a67dec858796b744e47008a8e575e2316 SHA512 ac3de735b246ce4f0e1619cd2664321ffa374240ce6843e785d79a350dc30c967996bbcc5e3b301cb3d822ca981cbea116758fc4122f1738d75ddfd1165b6378
DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a695f52c4712f3b28733648fcd7dac5a599613f4c3d2cfa169266dc62b65619b7f28c0e06d32317adb8ec0056ca79c87e9f6 SHA512 3c81dadc9bf74207c4e361605127ef6141d77700c5c54f1f9cd5ad3be13df9f73c6eec2f51d779558e4bdad1e7395c6aa8943a93415bd1786d461042bc03550a
-DIST firefox-91.5.1esr.source.tar.xz 388976720 BLAKE2B 5ade6b402af1ad14438eabefe3d8249b8e0125968b7d6950f29747ff3a41f9f1b02c52a417756b07b68bacdde43549768d1b999b15ecdca237be9c0363d13b0c SHA512 26239e7a94b79f1e24a6667d7cf1c398d75992e8850144affbc5d3f34f04b91f0c9b020cab662b2cd4927924839ff2ddd2f3605c537bb5494fd9ac0d951b14fa
-DIST firefox-91esr-patches-04.tar.xz 17460 BLAKE2B 305d8b0bc8a4115a76e459afd8bc7987bdde2e76d4564faf664a92a4c6a95c975ce599c5ddde9bdafc3c37ca5c8758e0ef815364d0ce4dd5fd452ddae73a77eb SHA512 6073b31bb898fe61d72435b11deacb5e93a1744227e4704bb3012e0cb363792f3a965d72e7769c4aae3a25f0c81247b287ce145c81bbd0a87470a5438fede11e
+DIST firefox-91.7.0esr.source.tar.xz 383133596 BLAKE2B 374da61d89d4b7b24d01e8101926056d6819e7c34c80630694cd2d95193dd6662ccfe3195361e7cd5a4167098e74bb7018d02d5af715fdcf95228bf8f54cb1c2 SHA512 925811989d8a91d826ba356bd46ac54be8153288ec0319c28d2bfbe89191e62e107691159dd7ca247253e2a4952eb59a5b9613e3feea3f5351238d4822e26301
+DIST firefox-91esr-patches-05j.tar.xz 17116 BLAKE2B 5db6d2d3d5432369d2cfcda1a2b542d70ac18c1af7013d91984054c9658d7e3f989527c3a248de53f2e8dc51a852a46477f9ad75e98db28f50f8609fcafe547c SHA512 42080a8e28014d5f8de7ff45e0128ab71747faad7a92f0f7094686125835c168751794bd0229f77290f075502c271af0171ffae2863325d10cc6e8a853a90d3e
DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718
-DIST mozjs-52.9.1pre1.tar.bz2 30178574 BLAKE2B 0920432b5140e78297a9bcbccb54268d75a223d5e75e4ff90b3b01aab4f7736b4a4e05c47b3a925ff0a74607a0abad3b6583c75d070ef5142009b20ebaf6e4bf SHA512 187b231b246a5ae09e55c0fef77866b316d75f38f4c2e066d5d4325d8da63433027020c929439cab46af3253ac63ab2f780223a8fd2c6ff535b3409bb6c4aa0f
DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0
-DIST spidermonkey-52.0-patches-1.tar.xz 3112 BLAKE2B d8f4c44cb2ae290fa51efc4725a2c1b3cd85dd9f04f4ccfa5681ba6df5f37f5d8d4ad6859316a70d0f7647ac2cee014d126f88b7d4ca74a82796f35b141200ef SHA512 5328403e3b9ecd1c456037e7cca374c2453d9331752c48b9466e498e22fd8d4ca6e1804e51140ee0be027fcef7d0c3f26822b1f569305a3b2f03209b7fb15499
DIST spidermonkey-60.0-patches-04.tar.xz 4428 BLAKE2B af78049cd9b3ee6a9b689e6253486c4670fd3b506faade7d745dafaa7af329c0bd15cd35e95528a4c96688230f4803130967fb09b97aae2bda0ce0f73acaaf3e SHA512 fb1326a81512146ba98773d4f7e0c4bc1bff0f076897c13f576fcf63b56f6965efeff633eea9160bca9f9bc4546505901084eabc33bc955de0b7ab3d6334387a
DIST spidermonkey-68.6.0-patches-04.tar.xz 5956 BLAKE2B b1250391a5173e676272d5926b710c06b0e9de1ff03b130a57fdac30f2deefbee3fa92250b37e28087572fe5cce73eb112ef4e1fb0c0401d6ecdb22ab9868998 SHA512 94575b11b4f006c6ee0c8d64b315734a173cecb68e9128ca61ba1a28177e3c149b8cf1f3b3c47a7a263fad8da6196fc0101df87392f016686a827e0cd24fdc74
DIST spidermonkey-78-patches-04.tar.xz 3408 BLAKE2B f2fdd4882e1e4de1908c458dc8dfedd5665ef7118f19704dabf2b2a80e2fae48813e9bc3d0c3410287e32c21e3f9d09233d8e5d15917f53aa2f60e6190cd9cdb SHA512 87ac83c0ccc05f482913b1fbf043db1878536f935f934362a47283809c0cbfdeff040206a9c18c687384b606ba8a7bd9a7c1fc3c0bcfdd620987990a33ca1fe2
DIST spidermonkey-91-patches-02j.tar.xz 4620 BLAKE2B d102c6a05daea458772fe3b0eab241b56f3eddc419ff188f0391977a5988b93a95cee3ede95b73f48493735473875bdc48553dfda639fa57571d9d6d8bcbc4c9 SHA512 b725db2176a316277fc052830137790b45e9be9059f528c0b740aeb6293a24f67a44218c5275ae045c6cef1f7790597ddc9ff3b1bb57f8bed59e39e5763565b7
DIST spidermonkey-slot0-patches-02.tar.xz 10952 BLAKE2B fb7bf5cdac6c821a48d407ff172fe0ec7297e047d3b3bab952f226f413b83ea70325175b41c1680725ff588111b424efc97a0c66e392989da510c43d38528ff1 SHA512 cd62890c4b58658d99fc1b52f05ccb35c07da835b168bb9d5e6b219de5021122c199cc2255c5b0be01ef582f53dd51c9975921e6bde9f14e9b43536e2bee85f2
EBUILD spidermonkey-1.8.5-r10.ebuild 4000 BLAKE2B c150d2215de328dc57f3868db23b74135e63ed278edff61ff28663a6ea7556c03bc47bd62fc16dffbda697dd7b5f1d2d30b72f0ba1cb919bd0b84da39abf5508 SHA512 951d6daf23ae5ce5f5f900ef452e1e5d928584cc20f28d9d30ac234cc2047b3d79b19ca54dbd5722dc133f34f0605780e973e62612cfee0a42051cd357738905
-EBUILD spidermonkey-52.9.1_pre1-r4.ebuild 4391 BLAKE2B 2802f20473c1f6855a3f0580f10c0d78f3f6207d293b4146d26a275f8bdc7691339d3de626add2f9cc4a3732e1005613bba8cec2faff906d703fa71ec48a6944 SHA512 dd395c788a1ee98f5a5bb88bade6cd0784d377dc6f5ed983ca85ce1ae7815315e75301430850983ebfbe74cdc866e681389665b49142a375da8d183baf50a4b4
EBUILD spidermonkey-60.5.2_p0-r6.ebuild 4038 BLAKE2B a448286bcfeb5d264b7ab1aac7a817576a85d5db187d56f6a4353ea8bbd08579fe8d9db72429255ea0fffa429ab3892e4d7478f9bec3911bec9fc98ce21bc49a SHA512 9f72e297efdb74e780916e63453ad391aeab44540cb4150bfecb18a512b85be9dc3f5e0af4fa83f2debad35187ba83c3b91396a3959d42fdf947a061f93beddf
-EBUILD spidermonkey-68.12.0.ebuild 7758 BLAKE2B d7d8fad6690f2b8f29f31eb5c4e178c4ac5a8174e3fc54bd504c9940b7486142f5f2b7513a5a767b7d72a56dc40be2cf43fed702db09a174eab2b9c6b92701b6 SHA512 faf3002ec375616c8a57dec4591a7a61a4b79466cd3ef9db976cc638bae269ff6eef4695496c63fd677e1228c1681527298e286761b57bf98629672934e0efed
+EBUILD spidermonkey-68.12.0-r1.ebuild 7773 BLAKE2B d8e6184c31e9bdfe66aadf729a49c0a0ca36f01b64f60c774311259a34dc7957a4e4c3c654759c1f53d7a808cf7ee6fcc188afdf098fb8e0df173431e1b55746 SHA512 c906e769219258e7aab6b0f61443bd5297e6cc1af1210b8ae3082f1b71372726f8db0a24c7be88aaf9cf8d3ed285ed9a6ac925a23a0d25602e07176aa6f4722b
EBUILD spidermonkey-78.15.0.ebuild 13143 BLAKE2B 04dc5b1b40f225ea4bd81b8c57af14310508622f6ac9a65e057555b4437bda5afbd760a904ddb390a5daecb059f8810f2f15dd2aa7507ed7e2a2ffce4b9945f1 SHA512 14d7769b69e36fba632c3bce629dddfdb7df23144465e21057fb5b00c8f16ee8be8fdf89a3f8298dd848bd741e875f057de7e1e0faa1c45efd2f655c83a7cb8a
-EBUILD spidermonkey-91.5.1.ebuild 11792 BLAKE2B f88d00579bececc623363188cfa404feac27dfac8fc4d137c52e763a7110fce4afe86b0a8826fa1eb444c7cb45cb0ca8093b066eb92c165e71d3c2e408bb4afe SHA512 5638b3d71e9e0f5a0980012b174d6fbefa20008b5bfc1a429b3d3900ccbcf3e7feb49b38d766ccc4ba1766538553f980f6d5ec83a9741748fd8ce019682eab22
+EBUILD spidermonkey-91.7.0.ebuild 11207 BLAKE2B df18fe7037860a6a8031939eee28b33133dc077df4e7878b5089f8d3554e2c61308929f263a203fa2eff767a00eb291abc58407ac55a8975dedbd3b509e9a223 SHA512 16d66cf96b873be5cd6e538cd4b92b7f39148e1d7a374fb4769f239be219b228bc1aa20482b261821d91f2e0f6b884fe032853ecfe394c3daf1d7f7ea086fd92
MISC metadata.xml 869 BLAKE2B 79d6ea91e84e3bb666797cde6b2993282ff1b4266dfa835eaf02d8aa65d5d000729b149a49c9fa5c8dbf12e4b97b46d976243c888834db9df73a8a5c814aa610 SHA512 f78399a1ad88583c50ad1e967f5ba293cdfff7d58cf26b87bd8888c7102b62d42ef1982d1b8462f3d31f0806b6cead8db28b7f0c7b12c08d3871607b5a4c63cc
diff --git a/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch b/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch
deleted file mode 100644
index 708c7496975f..000000000000
--- a/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/testing/mozbase/mozinfo/mozinfo/mozinfo.py 2018-01-12 12:21:16.764318254 -0500
-+++ b/testing/mozbase/mozinfo/mozinfo/mozinfo.py 2018-01-12 12:22:23.392069398 -0500
-@@ -93,10 +93,11 @@
-
- if info['os'] == 'linux':
- import ctypes
-+ import ctypes.util
- import errno
- PR_SET_SECCOMP = 22
- SECCOMP_MODE_FILTER = 2
-- ctypes.CDLL("libc.so.6", use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
-+ ctypes.CDLL(ctypes.util.find_library('c'), use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
- info['has_sandbox'] = ctypes.get_errno() == errno.EFAULT
- else:
- info['has_sandbox'] = True
diff --git a/dev-lang/spidermonkey/files/spidermonkey-52.0-fix-alpha-bitness.patch b/dev-lang/spidermonkey/files/spidermonkey-52.0-fix-alpha-bitness.patch
deleted file mode 100644
index b0f872964388..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-52.0-fix-alpha-bitness.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-
-# HG changeset patch
-# User John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
-# Date 1482966103 -3600
-# Node ID 1f4d99d8dff27bcc25eff21dc6a16dae63f48595
-# Parent ce9e9f0dc752896ac7ba00bb0610b3f731e948b0
-Bug 1326496 - mozbuild: Fix bitness from 32 to 64 bits on alpha. r=glandium
-
-
-diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
---- a/python/mozbuild/mozbuild/configure/constants.py
-+++ b/python/mozbuild/mozbuild/configure/constants.py
-@@ -35,17 +35,17 @@ Kernel = EnumString.subclass(
- 'Linux',
- 'NetBSD',
- 'OpenBSD',
- 'WINNT',
- )
-
- CPU_bitness = {
- 'aarch64': 64,
-- 'Alpha': 32,
-+ 'Alpha': 64,
- 'arm': 32,
- 'hppa': 32,
- 'ia64': 64,
- 'mips32': 32,
- 'mips64': 64,
- 'ppc': 32,
- 'ppc64': 64,
- 's390': 32,
-
diff --git a/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch b/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch
deleted file mode 100644
index c7eb0f62b280..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 311fc467219ab6ee9eed60759b58a8066c4bf36d Mon Sep 17 00:00:00 2001
-From:
-Date: Thu, 25 Jul 2019 10:00:33 -0500
-Subject: [PATCH] gcc-9 overflow fix
-
----
- js/src/jsapi-tests/testPrintf.cpp | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/js/src/jsapi-tests/testPrintf.cpp b/js/src/jsapi-tests/testPrintf.cpp
-index 51486856..03cc118d 100644
---- a/js/src/jsapi-tests/testPrintf.cpp
-+++ b/js/src/jsapi-tests/testPrintf.cpp
-@@ -55,7 +55,6 @@ BEGIN_TEST(testPrintf)
- CHECK(print_one("27270", "%zu", (size_t) 27270));
- CHECK(print_one("27270", "%" PRIuSIZE, (size_t) 27270));
- CHECK(print_one("hello", "he%so", "ll"));
-- CHECK(print_one("(null)", "%s", zero()));
- CHECK(print_one("0", "%p", (char *) 0));
- CHECK(print_one("h", "%c", 'h'));
- CHECK(print_one("1.500000", "%f", 1.5f));
---
-2.22.0
-
diff --git a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild
deleted file mode 100644
index 0c0d352f3bd5..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild
+++ /dev/null
@@ -1,158 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-WANT_AUTOCONF="2.1"
-inherit autotools toolchain-funcs pax-utils mozcoreconf-v5
-
-MY_PN="mozjs"
-MY_P="${MY_PN}-${PV/_rc/.rc}"
-MY_P="${MY_P/_pre/pre}"
-DESCRIPTION="Stand-alone JavaScript C++ library"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-#SRC_URI="https://people.mozilla.org/~sfink/${MY_P}.tar.bz2"
-SRC_URI="http://ftp.mozilla.org/pub/spidermonkey/prereleases/52/pre1/mozjs-52.9.1pre1.tar.bz2 -> ${MY_P}.tar.bz2
- https://dev.gentoo.org/~whissi/dist/mozilla/${PN}-52.0-patches-1.tar.xz"
-
-LICENSE="NPL-1.1"
-SLOT="52"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 x86"
-IUSE="debug minimal +system-icu test"
-
-# Disable tests:
-# Version is dead and most issues are related to the use of
-# system's ICU.
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_P%.rc*}"
-BUILDDIR="${S}/jsobj"
-
-RDEPEND=">=dev-libs/nspr-4.13.1
- dev-libs/libffi:=
- sys-libs/readline:0=
- >=sys-libs/zlib-1.2.3
- system-icu? ( >=dev-libs/icu-58.1:= )"
-DEPEND="${RDEPEND}"
-
-pkg_setup() {
- [[ ${MERGE_TYPE} == "binary" ]] || \
- moz_pkgsetup
-
- export SHELL="${EPREFIX}/bin/bash"
-}
-
-src_prepare() {
- # remove patches integrated by upstream
- rm -f "${WORKDIR}"/${PN}/0002-build-Add-major-version-to-make-parallel-installable.patch \
- "${WORKDIR}"/${PN}/0005-headers-Fix-symbols-visibility.patch \
- "${WORKDIR}"/${PN}/0007-build-Remove-unnecessary-NSPR-dependency.patch \
- "${WORKDIR}"/${PN}/0008-tests-Skip-on-all-64-bit-archs.patch \
- || die
-
- eapply "${WORKDIR}/${PN}"
- eapply "${FILESDIR}"/moz38-dont-hardcode-libc-soname.patch
- eapply "${FILESDIR}"/${PN}-52.0-fix-alpha-bitness.patch
- eapply "${FILESDIR}"/${PN}-52.0-gcc9-overflow.patch
-
- eapply_user
-
- cd "${S}"/js/src || die
- eautoconf old-configure.in
- eautoconf
-
- # remove options that are not correct from js-config
- sed '/lib-filenames/d' -i "${S}"/js/src/js-config.in || die "failed to remove invalid option from js-config"
-
- # there is a default config.cache that messes everything up
- rm -f "${S}"/js/src/config.cache || die
-
- mkdir -p "${BUILDDIR}" || die
-}
-
-src_configure() {
- cd "${BUILDDIR}" || die
-
- tc-export AR RANLIB
-
- ECONF_SOURCE="${S}/js/src" \
- econf \
- --enable-jemalloc \
- --enable-readline \
- --with-system-nspr \
- --disable-optimize \
- --with-intl-api \
- --with-toolchain-prefix="${CHOST}-" \
- --disable-gold \
- $(use_with system-icu) \
- $(use_enable debug) \
- $(use_enable test tests) \
- XARGS="/usr/bin/xargs" \
- SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
- CC="${CC}" CXX="${CXX}" LD="${LD}" AR="${AR}" RANLIB="${RANLIB}"
-}
-
-cross_make() {
- emake \
- CFLAGS="${BUILD_CFLAGS}" \
- CXXFLAGS="${BUILD_CXXFLAGS}" \
- AR="${BUILD_AR}" \
- CC="${BUILD_CC}" \
- CXX="${BUILD_CXX}" \
- RANLIB="${BUILD_RANLIB}" \
- SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
- "$@"
-}
-src_compile() {
- cd "${BUILDDIR}" || die
- if tc-is-cross-compiler; then
- tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
- cross_make \
- MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
- HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
- MOZ_PGO_OPTIMIZE_FLAGS="" \
- host_jsoplengen host_jskwgen
- cross_make \
- MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \
- -C config nsinstall
- mv {,native-}host_jskwgen || die
- mv {,native-}host_jsoplengen || die
- mv config/{,native-}nsinstall || die
- sed -i \
- -e 's@./host_jskwgen@./native-host_jskwgen@' \
- -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
- Makefile || die
- sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die
- rm -f config/host_nsinstall.o \
- config/host_pathsub.o \
- host_jskwgen.o \
- host_jsoplengen.o || die
- fi
-
- MOZ_MAKE_FLAGS="${MAKEOPTS}" \
- SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
- emake \
- MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
- HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
- MOZ_PGO_OPTIMIZE_FLAGS=""
-}
-
-src_test() {
- cd "${BUILDDIR}/js/src/jsapi-tests" || die
- ./jsapi-tests || die
-}
-
-src_install() {
- cd "${BUILDDIR}" || die
- SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
- emake DESTDIR="${D}" install
-
- if ! use minimal; then
- pax-mark m "${ED}"usr/bin/js${SLOT}
- else
- rm -f "${ED}"usr/bin/js${SLOT}
- fi
-
- # We can't actually disable building of static libraries
- # They're used by the tests and in a few other places
- find "${D}" -iname '*.a' -o -iname '*.ajs' -delete || die
-}
diff --git a/dev-lang/spidermonkey/spidermonkey-68.12.0.ebuild b/dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild
index feae0d7ca94d..196bc4fe1f7e 100644
--- a/dev-lang/spidermonkey/spidermonkey-68.12.0.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild
@@ -60,9 +60,10 @@ IUSE="cpu_flags_arm_neon debug +jit test"
RESTRICT="!test? ( test )"
BDEPEND="dev-lang/python:2.7
+ virtual/pkgconfig
test? ( ${PYTHON_DEPS} )"
-DEPEND="<dev-libs/icu-70:=
+DEPEND="dev-libs/icu:=
>=dev-libs/nspr-4.21
sys-libs/readline:0=
>=sys-libs/zlib-1.2.3"
diff --git a/dev-lang/spidermonkey/spidermonkey-91.5.1.ebuild b/dev-lang/spidermonkey/spidermonkey-91.7.0.ebuild
index a57298109ce0..404d4dc5de00 100644
--- a/dev-lang/spidermonkey/spidermonkey-91.5.1.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-91.7.0.ebuild
@@ -4,7 +4,7 @@
EAPI="7"
# Patch version
-FIREFOX_PATCHSET="firefox-91esr-patches-04.tar.xz"
+FIREFOX_PATCHSET="firefox-91esr-patches-05j.tar.xz"
SPIDERMONKEY_PATCHSET="spidermonkey-91-patches-02j.tar.xz"
LLVM_MAX_SLOT=13
@@ -71,7 +71,7 @@ IUSE="clang cpu_flags_arm_neon debug +jit lto test"
RESTRICT="!test? ( test )"
BDEPEND="${PYTHON_DEPS}
- virtual/rust
+ >=virtual/rust-1.51.0
virtual/pkgconfig
test? (
$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
@@ -98,13 +98,6 @@ BDEPEND="${PYTHON_DEPS}
lto? ( =sys-devel/lld-11* )
)
)
- (
- sys-devel/llvm:10
- clang? (
- sys-devel/clang:10
- lto? ( =sys-devel/lld-10* )
- )
- )
)"
DEPEND=">=dev-libs/icu-69.1:=
dev-libs/nspr
@@ -170,19 +163,9 @@ pkg_setup() {
[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
- fi
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
diff --git a/dev-lang/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest
index 76d83f30b526..1cc26d6314d3 100644
--- a/dev-lang/swi-prolog/Manifest
+++ b/dev-lang/swi-prolog/Manifest
@@ -1,7 +1,11 @@
DIST swipl-8.4.1.tar.gz 11386908 BLAKE2B bd53355abe63ffde348ed38b0e7fee4bcba4e74128c73904a72ca3ba2021a8b650d08480a643ea3336f3fc6d1d7bcf7651deb1d32608581ce43bc118288df6da SHA512 22806d8abd0b729e27a6d7bbbd0df37af8af21bb186a8de58ec5f9a1d32c9a477838fd10155ff21998737fcc2aaf4711d1d4d5457ce5d62e328d5da032474ee5
DIST swipl-8.5.4.tar.gz 11406222 BLAKE2B ece161b1143897324e2204bbeed0c7784824481de8b5ada12d42b4fea14334ab9b2be68cc39f3e4aceffb049baf6ec6c6b239438c4d8654172980e6aecea8016 SHA512 c277248d8a3b7cbad622d06eb0a418cbb87540802152d9a49364c3b45905e0be0be28ae100c6abcb06084c6ca5e92d7d4b46553d59d47c8b987e01b0d420bdb6
DIST swipl-8.5.5.tar.gz 11403057 BLAKE2B 13bdd69245bd6317e13642cf520a644f3bd4932ac1590afee0dce98bdb4da7a95bae37a9f7e5a0b88e7311d277a10fe8be7a2c92af52fe2d8865caface71e7da SHA512 a25e582b4d1ba20ee0a2568a71f961ca6436b1d31f046cceec8a2e27e48034dd06c751f1ea5452cce72ce2186adc26334bb1a895c54112597df8b0fba2fba883
+DIST swipl-8.5.6.tar.gz 11425087 BLAKE2B c2d051302cf7f7c11cec84bc1b6fcea3cf1b427c84e88210d40ea231c8a1bb9960cbdbe4a199cf41b81737b5b8dbeb8b096081e075adbc3aefd2f4937936afe0 SHA512 148dc86ed48895cee682941c0b93f98e803b11b97785339e943381ed0ecd4f60e6cd2e8909225156ae503a5463d2ff5ce756ad0e0078995886ac021bb748df69
+DIST swipl-8.5.7.tar.gz 11426463 BLAKE2B cde89176abf278b115b2d9db884b4a605291e9154016c3489920ced9398befa52c811bb606e606d921c10dece92bab46c8c98330f18b7f723df8300e69e0f62c SHA512 36755abe26c5f629ed9f650dd9cef8fb4b36772f2c233e2bb2aba05fd7a1c72d9543935187a44b5b575679286cf20749a5991048f6c433d63a4c06439ed8ff35
EBUILD swi-prolog-8.4.1.ebuild 3177 BLAKE2B 2c3984b0a9aff83643922c5d8ad4beaab21a6ddcf6cd4090e23ad4a770d104e6d3f2f75c9d4bf910e720e23eb5e1f73ae999c5dc7012c2b0ddd660171478f9c2 SHA512 488763c483a760a468319742bca8df6135dbb8f754176dfc21b337d051c48f42d7ceddb210bddaaa3a599d5b162a474694bfbb8a68f16d146496d1d087ec9c29
EBUILD swi-prolog-8.5.4.ebuild 3179 BLAKE2B 4b173dd107ec5141d8a3bbc4175363deae9bf4598bc21020b9c74879a87cd554e1221ffc778ec8b50ba746ecd3536b14110ea67d1d8f70471d3de86073568b4c SHA512 0d01e1af08c63925a9487ebcec31e207febf63a2caf83a6ce1385bf6948ae7d1f3fb0c14d22ed3e4032c5e11b09954a68bcecac2c03263f3cb243ed5ab8f93a1
EBUILD swi-prolog-8.5.5.ebuild 3179 BLAKE2B 4b173dd107ec5141d8a3bbc4175363deae9bf4598bc21020b9c74879a87cd554e1221ffc778ec8b50ba746ecd3536b14110ea67d1d8f70471d3de86073568b4c SHA512 0d01e1af08c63925a9487ebcec31e207febf63a2caf83a6ce1385bf6948ae7d1f3fb0c14d22ed3e4032c5e11b09954a68bcecac2c03263f3cb243ed5ab8f93a1
+EBUILD swi-prolog-8.5.6.ebuild 3179 BLAKE2B 4b173dd107ec5141d8a3bbc4175363deae9bf4598bc21020b9c74879a87cd554e1221ffc778ec8b50ba746ecd3536b14110ea67d1d8f70471d3de86073568b4c SHA512 0d01e1af08c63925a9487ebcec31e207febf63a2caf83a6ce1385bf6948ae7d1f3fb0c14d22ed3e4032c5e11b09954a68bcecac2c03263f3cb243ed5ab8f93a1
+EBUILD swi-prolog-8.5.7.ebuild 3179 BLAKE2B 4b173dd107ec5141d8a3bbc4175363deae9bf4598bc21020b9c74879a87cd554e1221ffc778ec8b50ba746ecd3536b14110ea67d1d8f70471d3de86073568b4c SHA512 0d01e1af08c63925a9487ebcec31e207febf63a2caf83a6ce1385bf6948ae7d1f3fb0c14d22ed3e4032c5e11b09954a68bcecac2c03263f3cb243ed5ab8f93a1
MISC metadata.xml 420 BLAKE2B 9818164553dd7e47db556eebaa71cabc54621317465c3ef09a0fae22259c9d20bede548a61ffa383e9df8eaf6efa6b5ac800d49b1ee5cae3691d0112ed4a2a30 SHA512 6ce90a29c77852e822d5c35c4a1b0b4a093cb90070656b06b09337c57f00fb6ff42ae3c8178a22bee17ffcec8f40ea4ed6c9d0cecf4afe74e01b3389479fa4ff
diff --git a/dev-lang/swi-prolog/swi-prolog-8.5.6.ebuild b/dev-lang/swi-prolog/swi-prolog-8.5.6.ebuild
new file mode 100644
index 000000000000..f1f52dee9349
--- /dev/null
+++ b/dev-lang/swi-prolog/swi-prolog-8.5.6.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake desktop xdg-utils flag-o-matic toolchain-funcs
+
+PATCHSET_VER="0"
+
+DESCRIPTION="Versatile implementation of the Prolog programming language"
+HOMEPAGE="https://www.swi-prolog.org/"
+SRC_URI="https://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="archive berkdb debug doc +gmp java +libedit minimal odbc pcre qt5 readline ssl test +uuid X yaml"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-libs/ncurses:=
+ sys-libs/zlib
+ virtual/libcrypt:=
+ archive? ( app-arch/libarchive:= )
+ berkdb? ( >=sys-libs/db-4:= )
+ odbc? ( dev-db/unixODBC )
+ pcre? ( dev-libs/libpcre )
+ readline? ( sys-libs/readline:= )
+ libedit? ( dev-libs/libedit )
+ gmp? ( dev-libs/gmp:0= )
+ ssl? ( dev-libs/openssl:0= )
+ java? ( >=virtual/jdk-1.8:* )
+ uuid? ( dev-libs/ossp-uuid )
+ qt5? (
+ dev-qt/qtwidgets:5
+ dev-qt/qtgui:5
+ )
+ X? (
+ virtual/jpeg:0
+ x11-libs/libX11
+ x11-libs/libXft
+ x11-libs/libXinerama
+ x11-libs/libXpm
+ x11-libs/libXt
+ x11-libs/libICE
+ x11-libs/libSM )
+ yaml? ( dev-libs/libyaml )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )
+ java? ( test? ( =dev-java/junit-3.8* ) )"
+
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}/swipl-${PV}"
+
+src_prepare() {
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ eapply "${WORKDIR}"/${PV}
+ fi
+
+ sed -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" \
+ -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" \
+ -i CMakeLists.txt || die
+
+ local ncurses_lib_flags=$($(tc-getPKG_CONFIG) --libs ncurses)
+ sed -i "/project(SWI-Prolog)/a set(CMAKE_REQUIRED_LIBRARIES \${CMAKE_REQUIRED_LIBRARIES} ${ncurses_lib_flags})" CMakeLists.txt || die
+ sed -i "s:\${CURSES_LIBRARIES}:${ncurses_lib_flags}:" src/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ use debug && append-flags -DO_DEBUG
+
+ local mycmakeargs=(
+ -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl
+ -DUSE_GMP=$(usex gmp)
+ -DINSTALL_DOCUMENTATION=$(use doc && usex archive)
+ -DSWIPL_PACKAGES_BASIC=$(usex !minimal)
+ -DSWIPL_PACKAGES_ARCHIVE=$(usex archive)
+ -DSWIPL_PACKAGES_ODBC=$(usex odbc)
+ -DSWIPL_PACKAGES_BDB=$(usex berkdb)
+ -DSWIPL_PACKAGES_PCRE=$(usex pcre)
+ -DSWIPL_PACKAGES_YAML=$(usex yaml)
+ -DSWIPL_PACKAGES_SSL=$(usex ssl)
+ -DSWIPL_PACKAGES_JAVA=$(usex java)
+ -DSWIPL_PACKAGES_QT=$(usex qt5)
+ -DSWIPL_PACKAGES_X=$(usex X)
+ -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ XDG_CONFIG_DIRS="${HOME}" \
+ XDG_DATA_DIRS="${HOME}" \
+ cmake_src_compile
+}
+
+src_test() {
+ USE_PUBLIC_NETWORK_TESTS=false \
+ USE_ODBC_TESTS=false \
+ cmake_src_test -V
+}
+
+src_install() {
+ cmake_src_install
+
+ if use qt5; then
+ doicon "${S}"/snap/gui/swipl.png
+ make_desktop_entry swipl-win "SWI-Prolog" swipl "Development"
+ fi
+}
+
+pkg_postinst() {
+ if use qt5; then
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ fi
+}
+
+pkg_postrm() {
+ if use qt5; then
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ fi
+}
diff --git a/dev-lang/swi-prolog/swi-prolog-8.5.7.ebuild b/dev-lang/swi-prolog/swi-prolog-8.5.7.ebuild
new file mode 100644
index 000000000000..f1f52dee9349
--- /dev/null
+++ b/dev-lang/swi-prolog/swi-prolog-8.5.7.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake desktop xdg-utils flag-o-matic toolchain-funcs
+
+PATCHSET_VER="0"
+
+DESCRIPTION="Versatile implementation of the Prolog programming language"
+HOMEPAGE="https://www.swi-prolog.org/"
+SRC_URI="https://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="archive berkdb debug doc +gmp java +libedit minimal odbc pcre qt5 readline ssl test +uuid X yaml"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-libs/ncurses:=
+ sys-libs/zlib
+ virtual/libcrypt:=
+ archive? ( app-arch/libarchive:= )
+ berkdb? ( >=sys-libs/db-4:= )
+ odbc? ( dev-db/unixODBC )
+ pcre? ( dev-libs/libpcre )
+ readline? ( sys-libs/readline:= )
+ libedit? ( dev-libs/libedit )
+ gmp? ( dev-libs/gmp:0= )
+ ssl? ( dev-libs/openssl:0= )
+ java? ( >=virtual/jdk-1.8:* )
+ uuid? ( dev-libs/ossp-uuid )
+ qt5? (
+ dev-qt/qtwidgets:5
+ dev-qt/qtgui:5
+ )
+ X? (
+ virtual/jpeg:0
+ x11-libs/libX11
+ x11-libs/libXft
+ x11-libs/libXinerama
+ x11-libs/libXpm
+ x11-libs/libXt
+ x11-libs/libICE
+ x11-libs/libSM )
+ yaml? ( dev-libs/libyaml )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )
+ java? ( test? ( =dev-java/junit-3.8* ) )"
+
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}/swipl-${PV}"
+
+src_prepare() {
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ eapply "${WORKDIR}"/${PV}
+ fi
+
+ sed -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" \
+ -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" \
+ -i CMakeLists.txt || die
+
+ local ncurses_lib_flags=$($(tc-getPKG_CONFIG) --libs ncurses)
+ sed -i "/project(SWI-Prolog)/a set(CMAKE_REQUIRED_LIBRARIES \${CMAKE_REQUIRED_LIBRARIES} ${ncurses_lib_flags})" CMakeLists.txt || die
+ sed -i "s:\${CURSES_LIBRARIES}:${ncurses_lib_flags}:" src/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ use debug && append-flags -DO_DEBUG
+
+ local mycmakeargs=(
+ -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl
+ -DUSE_GMP=$(usex gmp)
+ -DINSTALL_DOCUMENTATION=$(use doc && usex archive)
+ -DSWIPL_PACKAGES_BASIC=$(usex !minimal)
+ -DSWIPL_PACKAGES_ARCHIVE=$(usex archive)
+ -DSWIPL_PACKAGES_ODBC=$(usex odbc)
+ -DSWIPL_PACKAGES_BDB=$(usex berkdb)
+ -DSWIPL_PACKAGES_PCRE=$(usex pcre)
+ -DSWIPL_PACKAGES_YAML=$(usex yaml)
+ -DSWIPL_PACKAGES_SSL=$(usex ssl)
+ -DSWIPL_PACKAGES_JAVA=$(usex java)
+ -DSWIPL_PACKAGES_QT=$(usex qt5)
+ -DSWIPL_PACKAGES_X=$(usex X)
+ -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ XDG_CONFIG_DIRS="${HOME}" \
+ XDG_DATA_DIRS="${HOME}" \
+ cmake_src_compile
+}
+
+src_test() {
+ USE_PUBLIC_NETWORK_TESTS=false \
+ USE_ODBC_TESTS=false \
+ cmake_src_test -V
+}
+
+src_install() {
+ cmake_src_install
+
+ if use qt5; then
+ doicon "${S}"/snap/gui/swipl.png
+ make_desktop_entry swipl-win "SWI-Prolog" swipl "Development"
+ fi
+}
+
+pkg_postinst() {
+ if use qt5; then
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ fi
+}
+
+pkg_postrm() {
+ if use qt5; then
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ fi
+}
diff --git a/dev-lang/tcc/Manifest b/dev-lang/tcc/Manifest
index 0fd20c640036..2a2ace469ca5 100644
--- a/dev-lang/tcc/Manifest
+++ b/dev-lang/tcc/Manifest
@@ -1,6 +1,4 @@
-DIST tcc-0.9.27.tar.bz2 634999 BLAKE2B 9a76dac9f54fa0b64a72e874cfec9a4bd9b938d244d064b2e76bd31acfb9e48fdbdb8895132634be1dee4302293405bf75606a6804c8178afa8fd30daa53b73a SHA512 835184292d97c07f0ff7b36ec550e855e649b04e23c7e2a1c706d223409eb60708dc1ae969f28eba45e56c8b96ae56936b93caf9d8a13ac5adf119014d5367a7
DIST tcc-0.9.27_p20211022.tar.gz 893631 BLAKE2B f1a82498db65a9944f04a6c35897db6ceeea0e5d14ac383acc6b334fb2aa921a0e7b4badf647c101d064ceae1ee8d79ab91674a2d0faa2899b831a57e6148174 SHA512 5f40a0d31d63e876d1fb233758d9f58be2f14807bbc0847b7df3eb6bb8df0946100b58edb5a29caea8770201d02275daf0a3ca7668141151e931204ad7100fb3
-EBUILD tcc-0.9.27.ebuild 1507 BLAKE2B 463216d8345068c8852fc76571f7db26722813c05efbfaad2372b950d8344ece98c3452ff87899ff4e8616ed51c3df76a6fd6aa0ff53f40f2b363393eec50c67 SHA512 94bd0fe005b456f96e8c8da642d02a1cb6d2005aca0e1e1530e3167f85c50cb017c9849b391dfdc870da1e72da14206cecd6897833cd68cc111543014b06e8ce
-EBUILD tcc-0.9.27_p20211022.ebuild 2007 BLAKE2B 7b1b313b68d691c8c2ef3858aad9a2c9a997d0bf599cc3bc5866225f55153cd1fc7096f98b0814deaf14c5ab2b19020296c93b37208dfb076afa0e981ae5b511 SHA512 f6bb17a06beae9bfee1535f0b8e515cffc34408f816e6b5118f096ae7415b22e3aea78a55a77a45442ebef18c98e629f82afb4db58c7fbf2f72acdbcab4071f2
+EBUILD tcc-0.9.27_p20211022.ebuild 2021 BLAKE2B b3f991ab2b3554d71645b813befa48536811132d5059dfdb5fd5ea3301ff7f62c7a19ac75cca6011a043dc620aa149e8812895a66d782c64b3cd10dae69cb6de SHA512 9a3a751d393b7cdf22e856e8b846657f2685b527c254f2d20ac13507b20317e6000d6f27281621d2833f97e17147402c0e6a2f10924848255fedba34d53c4857
EBUILD tcc-9999.ebuild 2007 BLAKE2B 7b1b313b68d691c8c2ef3858aad9a2c9a997d0bf599cc3bc5866225f55153cd1fc7096f98b0814deaf14c5ab2b19020296c93b37208dfb076afa0e981ae5b511 SHA512 f6bb17a06beae9bfee1535f0b8e515cffc34408f816e6b5118f096ae7415b22e3aea78a55a77a45442ebef18c98e629f82afb4db58c7fbf2f72acdbcab4071f2
MISC metadata.xml 241 BLAKE2B ac22a6a72982cebf268e9d367947dc556420370c70b1f6e26531950f7f2c89734cd293fad93dfea0345fd020a97b8f9304c1362a2ccd6225b22aac1f7b674b17 SHA512 b59cc421f52bc545bc8667dcbf6b4891e29180ef1984596ccc20886071e5f080bed259026c2831c6418131802b93ad945137fe4406d042feb02d9bfdc14c431c
diff --git a/dev-lang/tcc/tcc-0.9.27.ebuild b/dev-lang/tcc/tcc-0.9.27.ebuild
deleted file mode 100644
index 7090fdeb01d1..000000000000
--- a/dev-lang/tcc/tcc-0.9.27.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit toolchain-funcs
-
-DESCRIPTION="A very small C compiler for ix86/amd64"
-HOMEPAGE="https://bellard.org/tcc/"
-SRC_URI="https://download.savannah.gnu.org/releases/tinycc/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux"
-
-DEPEND="dev-lang/perl" # doc generation
-RDEPEND=""
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-src_prepare() {
- # Don't strip
- sed -i -e 's|$(INSTALL) -s|$(INSTALL)|' Makefile || die
-
- # Fix examples
- sed -i -e '1{
- i#! /usr/bin/tcc -run
- /^#!/d
- }' examples/ex*.c || die
- sed -i -e '1s/$/ -lX11/' examples/ex4.c || die
-
- # Fix texi2html invocation
- sed -i -e 's/-number//' Makefile || die
- sed -i -e 's/--sections//' Makefile || die
-
- eapply_user
-}
-
-src_configure() {
- use test && unset CFLAGS LDFLAGS # Tests run with CC=tcc etc, they will fail hard otherwise
- # better fixes welcome, it feels wrong to hack the env like this
- # not autotools, so call configure directly
- ./configure --cc="$(tc-getCC)" \
- --prefix="${EPREFIX}/usr" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --docdir="${EPREFIX}/usr/share/doc/${PF}"
-}
-
-src_compile() {
- emake AR="$(tc-getAR)"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- dodoc Changelog README TODO VERSION
- #dohtml tcc-doc.html
- exeinto /usr/share/doc/${PF}/examples
- doexe examples/ex*.c
-}
-
-src_test() {
- # this is using tcc bits that don't know as-needed etc.
- TCCFLAGS="" emake test
-}
diff --git a/dev-lang/tcc/tcc-0.9.27_p20211022.ebuild b/dev-lang/tcc/tcc-0.9.27_p20211022.ebuild
index ebcf4086791e..f99fb69925e6 100644
--- a/dev-lang/tcc/tcc-0.9.27_p20211022.ebuild
+++ b/dev-lang/tcc/tcc-0.9.27_p20211022.ebuild
@@ -22,7 +22,7 @@ fi
LICENSE="LGPL-2.1"
SLOT="0"
if [[ ${PV} != *9999* ]] ; then
- KEYWORDS="~amd64 ~x86 ~amd64-linux"
+ KEYWORDS="~amd64 ~arm64 ~riscv ~x86 ~amd64-linux"
fi
BDEPEND="dev-lang/perl" # doc generation
diff --git a/dev-lang/teyjus/Manifest b/dev-lang/teyjus/Manifest
index 4f9067f8a3c4..cec13d18ccac 100644
--- a/dev-lang/teyjus/Manifest
+++ b/dev-lang/teyjus/Manifest
@@ -3,6 +3,6 @@ AUX teyjus-2.1-p001-Fixes-arity-for-pervasive-modulo-operation.patch 1144 BLAKE2
AUX teyjus-2.1-p002-Add-string-literals-from-proper-character-groups.patch 2083 BLAKE2B 4480c4cc607988fe4b55e5d0405298d37ca3f7364a694b750dd2a544a5cee71d27f84745a5559b33ed67ec215b389b349e9a73fa3d65ce6f69e949b6bc19e205 SHA512 9bca80da36bcb300fca23553205e1ce459e7b52e6d2b3a8b27e9e330413cd8b49ca928bd92d47fe16546854f945d05e2280143ff75cc45aa93d7850c2da8a916
AUX teyjus-2.1-p003-Removing-deprecated-function-String.set.patch 1599 BLAKE2B e264e64eda3b877e1042fbef4173d4483697fab19e33ceb51176c65a57df651cc0566df486ab551cc50cbf43a47bf60cdfdbd72cc42a2156b195b4f711c06fc3 SHA512 627dd8328a33fa3489ba3da59b4e8c43202b327c27ddecbef2beeddaeecff9f749522d7d9e3e105781b1e60cd633a87aedff39a7e6aa0ec8e1f76556e58ff1f3
DIST teyjus-2.1.tar.gz 723763 BLAKE2B ab6a98c2d2291620b586ab0b419a214b0f7c0b27aad444324e5a417c1a0b27382e2d5c622f798ea88cab77853bca3305ec37904c50a7304ace20237afb993b91 SHA512 1f71d19502f4f4da00f635d2c3d4e141403182d65f039e0d43660edf84c5fcd900e7225ac92dc5bdbe0c8379c4e2ce6e27879af504fcfafddf2695a0c8a13379
-EBUILD teyjus-2.1-r1.ebuild 2951 BLAKE2B 2b5ad60a50908053416b7633eae435da838621ea15ee09cfab961710db1e7d4b7ac8f35e70a3819fd4658ed8b110902d6abf37b6f525ab7e3cf606fcf823d6aa SHA512 5502e778ddfbe97973949e638af3c73631efa9d9b2af53fd1435e1eb47f7e68df8a4e49411ee20748e17535c786c2c04a5bde4d913ef70fc2bffd933ad9de4d7
+EBUILD teyjus-2.1-r1.ebuild 2942 BLAKE2B ed6459e0afb88618e788ed09a6375ec47f983c72c241344462a183130711ffb695310b510d9a0f7fc390ea21fcae850eaea0850bca510dae374eceae3357ce4c SHA512 0b1cc997dfeb63e768bb98c8aa5f154b66d67589eae4a05a0e930c0ffbbf64ba2366c65fb58eb7513ff59eb19b2192bae60376e99b21a038b40499639cb05ebd
EBUILD teyjus-2.1.ebuild 2907 BLAKE2B ea6e92b665791e776f737885a883fe4f04bc05dec026cfbf0e9b3da84ec9cb6d54aeb5c9f124ce958a27eadc624eefec651b3f69e35c0a4e7175241e9887d764 SHA512 809cbdce2b3ffd69e7fb1281feaad43220e688539be1ce63fc99febe3ac2adf57da12ed2f8f4b5ffe86df13dec3f08557afe6c7321da75f1b631b54f2488ecd1
MISC metadata.xml 1654 BLAKE2B 6361e555cae1b12db47e36e7362c78262a5753ecdb9fb3e8e5386d3945d6f7aeeaeb32e98c3a71e40a017c0bd9ff2d576205e3db96771f67ce7ad888cc2f12cf SHA512 077b511496bda9dfa0f577bac466a33fd5d4b5b759ae243157b385b244c7e9b210c3f7fc0221ed48c7f4277dd86f9f05fed484c375747bcda590258f278cda41
diff --git a/dev-lang/teyjus/teyjus-2.1-r1.ebuild b/dev-lang/teyjus/teyjus-2.1-r1.ebuild
index b95680891d7d..508113c464bd 100644
--- a/dev-lang/teyjus/teyjus-2.1-r1.ebuild
+++ b/dev-lang/teyjus/teyjus-2.1-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
-inherit elisp-common multilib
+inherit elisp-common
DESCRIPTION="Higher-order logic programming language Lambda Prolog"
HOMEPAGE="http://teyjus.cs.umn.edu/"
diff --git a/dev-lang/vala/Manifest b/dev-lang/vala/Manifest
index 4d649a9e777a..c3c502392818 100644
--- a/dev-lang/vala/Manifest
+++ b/dev-lang/vala/Manifest
@@ -2,10 +2,10 @@ DIST vala-0.46.13.tar.xz 3434196 BLAKE2B 49b7e0b776e185653c1b8c00747a150ceb42cf8
DIST vala-0.48.22.tar.xz 3539404 BLAKE2B b9e5e845bbeefd240a9d332d64c2a77bdf581a3438586f8648a068fad15ac8e55e09416548537435f6b1d5925cd6220f603526ca96c290a0628284bc4463cae2 SHA512 c12536a3773cf299e545b33408c23ae3258859172afaaee82ce49699f5285081d6af8047605fb6edd089d16ab177871219cb8b632be827e615ccaff75f5543fe
DIST vala-0.50.10.tar.xz 3547792 BLAKE2B 80e57b0fa5fdec2e3403878db1d5c83f4fd14551863131ce359070ab11ef99bcd3813808ab61d8fd8acbb45e9882e83a2ca00f51d584608a0afdd0b9908ee2f3 SHA512 09212c128bc7f7f16b72912644e06c3b91c3b102698a6c7d7af60a8adbcbf8b8ed80b005cbf72654e1d3139c79595baf88561fa41b393a53b1e3ecc1af6896cd
DIST vala-0.52.10.tar.xz 3598676 BLAKE2B f1d54634ffb8a152e5672badc912338a2982a81f5ee998b05212de807197d3f5cdd5b08ec9b521a004933fa6585b24b1e45a9cbc1a375c9863460350d3d3749b SHA512 d7517c25228db9c69bc68e16ed3903ea5dda016d5e84183491fef0b65edbbaf34065e785b0e0dc48f3af2460dc9ac6c435436f460b01929b2403ef0b9a2ad2d8
-DIST vala-0.54.6.tar.xz 3908328 BLAKE2B 19930f2b130c194a4f70a191042c1c7f5243829297daff2e3d1c9210c15bfba3973ecdbe09b8ae7435a88f4785bf06515b166f7a5a770d550404d3132b1c811e SHA512 6943e11c5f351f9f76991b75fbe51c4d133eaf4858ea75e67d514b7216cfabd4f0d81f09c89af26ab22fdf26783938742ae75bb49b7de4f1c2696934e2d4d0ae
+DIST vala-0.54.7.tar.xz 3916868 BLAKE2B 0e9f1e20f7f2dc2e1b024baba6e64e9d192de7d9978c6f9b2ed37e5fff9e95e31718e7a44761c98e8fe2aa790e9464259df004610d4cf863ef39afe45cedd37d SHA512 7d3345984c496e9fe6324fea6c4fd8d2887102b271d825740b0f5812538dbdabe9c88ec4022d25c34121df686200cce48d4678ec6a00b2a002b9e74242475440
EBUILD vala-0.46.13.ebuild 1305 BLAKE2B 4855220ceb0594546be128b16092270a4d21459d6243c3510e36e556e5e075ab1caffbf579b2a661bbe6470eb24480879928714529a5f82b9d83b0dcbdfd8df7 SHA512 af281ba4479a81ce7e825df237d55e7db552a2f341fe27e0d41de4a0796d0e3e153f9eb01f7ed0ae2b070b5a2ccee6bc7ab32d890ba0ab99d6cadbc3ee14b33e
EBUILD vala-0.48.22.ebuild 1325 BLAKE2B 1181a5d8dbcfa49f468f5eccbd4b95e55cf53004fd348895150b578e655234914673c28b52e0d20c0f37236e3aa1ef4a1e2b9d27dd88ce18ef221d488bd834e6 SHA512 d03c98dea5d9cdd5cb83f0f718a574e12e07387ddc457b2d1353dcbc996cd294d103f324b9528ac499619a73a4b9d3db6b47d68ef172e0138556028f3e7fd7a1
EBUILD vala-0.50.10.ebuild 1325 BLAKE2B 552a3cfd64d5f1b465575d1fcb410145d8ec0f8ff7ec0e8aabcc4f3106067d13fe63c9965f9cb50150767992712fe3b0f4273eca14f127737ddc841363386b01 SHA512 d52af86db73e7ebaaf221ad9fd7c669342fded7ef840db5a6dd0dd2fd80067b9906fe48667556ecd0a9aee5b6879ba8f2cdc1b5e6ffa9c4bb95845a27b2d74f3
EBUILD vala-0.52.10.ebuild 1325 BLAKE2B 7a86df69fc88acb215accc50b924f15f9135d7675a24217c49138aafd6a46fcb4687c49969318590ae132571b43583ceeb0f2dfe1ba9c7d5a4e1495567658e61 SHA512 31fa5ee98de090a4c84ea2e409b23b87a473323dcb067b4cde46b73078fb1c9990c1cf9df34668eacd3970210800bb4041fc4a4cd8b7c0dfd22466f15560c932
-EBUILD vala-0.54.6.ebuild 1332 BLAKE2B 26fa5f5a6e81a64509e67f99906a311a3c7864a049016b22881faf170bc232b5a50efe6bb048edbfb47e3c4b26f6df0b65123c666c0165be7c8f9e3f36fca614 SHA512 3771444445b32d1840cca46d8d0cd4d93969ac48493379df0b418580608192262f7c97d6c23c6761cb07c413dbd50c993d3abd1c4998bd80d9f46b09760e734d
+EBUILD vala-0.54.7.ebuild 1332 BLAKE2B 26fa5f5a6e81a64509e67f99906a311a3c7864a049016b22881faf170bc232b5a50efe6bb048edbfb47e3c4b26f6df0b65123c666c0165be7c8f9e3f36fca614 SHA512 3771444445b32d1840cca46d8d0cd4d93969ac48493379df0b418580608192262f7c97d6c23c6761cb07c413dbd50c993d3abd1c4998bd80d9f46b09760e734d
MISC metadata.xml 346 BLAKE2B 277f10c368556c7d571d77958bde8a421a85f772ccdb5e9abebf2c7c86cc26c33a79a7e552aa76016c7cb8c32cd4435d8779befd42b1e9c8f904e28a0dac5be1 SHA512 a4092a8421609b743fbca75c329df84030f0debef4f6614a399af9a7b331c758a130a91e5eeb2815e56b9b3af6ba7509a3f39e8168bb4c482ef9158a58b69cb8
diff --git a/dev-lang/vala/vala-0.54.6.ebuild b/dev-lang/vala/vala-0.54.7.ebuild
index 73d616e5874c..73d616e5874c 100644
--- a/dev-lang/vala/vala-0.54.6.ebuild
+++ b/dev-lang/vala/vala-0.54.7.ebuild
diff --git a/dev-lang/zig/Manifest b/dev-lang/zig/Manifest
index e6af4135df17..e084df3d264d 100644
--- a/dev-lang/zig/Manifest
+++ b/dev-lang/zig/Manifest
@@ -2,9 +2,11 @@ DIST zig-0.7.1.tar.gz 16082917 BLAKE2B 401bb079f2d0e2ad26837940e3b79c14237a492bd
DIST zig-0.8.0.tar.gz 19596459 BLAKE2B 7b688fdd201ce7b0b1e12127c4b1bf898699de18f410021e09bb056a56666aa8de512688a0048d6ac0ea8d6b7dfdb86e1a5416d2fab0a4911e16269d7b6be2a4 SHA512 2082810d5ab0560167766e80f0853e5ff99e32b1935836a6a0029b8e1c88061c55dd0c285cbcc506f4c38aac8477ec7162b771537699be9b3d387de94e3baa57
DIST zig-0.8.1.tar.gz 19643170 BLAKE2B bc52f3399b3355a1fc7675329870dd107b21798fc562a9e55cd4a7c838cfdb2ed58ae3a01e3841a1a58c82fe27bec8758703b654b7548b9e431728aaabcd7ea6 SHA512 36bea566eee3dc5c00f2713cbc6616258dbadd3ee994749339f124f8b70c691cfe7fdce6a00194f879679ea417dadb3bcc244f8b79153957a426fea2d52caaf5
DIST zig-0.9.0.tar.gz 21994175 BLAKE2B aadef89d5fddc3e802965125625e62140ac37bdac40b29ab8b7652056589c037cbed5d4e46889f335b3c296fb4ae2a7cafd5d064a02d728a8325ad515cdc8c7a SHA512 fef36221e818364b45cf65de210b0a9d535c411a510371a3ab4dfd6f4621c0a16dba786169f115a006966875102acc742abee19a74d83e2bc999ea5b8304b879
+DIST zig-0.9.1.tar.gz 22010374 BLAKE2B 24d6c945640aac1f7fd0eaf69937638181fb210c1f0be3110bc4e779cab3d56ef89286604b467013d52223a466addcb9bb81c85bbcf007d430a400669acf6279 SHA512 a9dc5fea25dde511122056832449658b00dbcf6d6bbfe658b375968a7bdb06c690abbdfe00c1afcfa481442392b051dcef5a5a5e81d4ceb23fa98a866b900f37
EBUILD zig-0.7.1.ebuild 1399 BLAKE2B 082b8b334ff914edfecdf59ed73201fa4a2b7988e97652304d3ef2f38545aacf1f2d03285c31139798140b8a119e4eea0bc39fecf2238ff3c2e159fdd9123275 SHA512 abbd6231a5090f6f37bd12a762864eb1d19fdc425570ea4e77c2314be5eb364839a644da38873d22429fbefeba53c289e045f693975002a414aa340da9698e4f
EBUILD zig-0.8.0.ebuild 1399 BLAKE2B 997269a639e0993cceab1bf48ea8b395d8644228461bd548b404e6dbe7d69a4dc30e4dbc7ecd1142993c9c67f850b972d3419ca65dd3c24947326544b66d4464 SHA512 ef53ad8dad89c7f1a3805b8a7be38ed09879c0c28e0766cca1037b1e19f1a18015a0cb2da7d1229b8e0c380bab42f4a67299391d43cb672ad893e950681b2889
EBUILD zig-0.8.1-r1.ebuild 1340 BLAKE2B 38c5990ffa9a28a6ceac5054569d186e26e79b5839435ec85203ec80fb5d8c4b8fb4990a65f740485b6cd302c7ad89f18146307ecb625760816f2608a738f860 SHA512 b9d54410407d1dcb41ff0290d53ca76f50718f02483df9a46c4424b80acb03dad802b1ef55d26659daa601288c53236378fa5c428fe71b222245f4f310d605ac
EBUILD zig-0.9.0.ebuild 1374 BLAKE2B d89db854175aef06fdd8d0b747044b153cb9b7043ce7a1f94e544e50a56a44f1c69e3d94daea3a23babcc1b24b1850044224d74f1054c80a000d4f289b9ea21a SHA512 4fe58ac7082f79f53f89a59f370aea86c3e99e1af86982d8df8e9b58154589fe14b96e3b316861d98ff666fcbaec676774d339f62c3bf1cd2debc584fb50998e
+EBUILD zig-0.9.1.ebuild 1374 BLAKE2B c158df27df36c2182e6590bcf2aa218f024de32ed6c1a8893d2f85633de5add4cd1e700933235917febdb939d6bc36e08d30f44509892c0edbc80aa89cb64f67 SHA512 df850bc82ea6154181cd93af8c1ae18dcb899bf789aaeb0b98692a71338a1f6218e864772c2193ef127218a808471b150ff5903690c6b789518fce4c29208405
EBUILD zig-9999.ebuild 1369 BLAKE2B fc325fcc3b89df99752b6a06d2694bd8afa88573759fb427f9dd8ff156c97a17b1562f24d1493e0478ea25bdf1fc0f8848c828e6b6410dd2a9d4a1e89426d0fd SHA512 0ebb58269f9b6ec9726a7c9747bfdee83da19b002f08947f108e32e2e6930f395b12583cdaae1b235dcdea77d7d8526ccb6b6879a4c687aeeb6714c659513d44
MISC metadata.xml 363 BLAKE2B d0bd697b6c053d67a9140bdba55c3b221f294b13716faf13ab296d17c082952115ad689793baf88994f44036f493d82c94797278f7dc3c5b2b2a336ccb078860 SHA512 72b11e0bf02c4c3aa2d0c483c3728b22e06d0035964f876e4f0402f1864874f85113dabc293415eeef3cfac71d0679a2f3735a67b4020e72755b1e09905db885
diff --git a/dev-lang/zig/zig-0.9.1.ebuild b/dev-lang/zig/zig-0.9.1.ebuild
new file mode 100644
index 000000000000..f3e935ec2f28
--- /dev/null
+++ b/dev-lang/zig/zig-0.9.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2019-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LLVM_MAX_SLOT=13
+inherit cmake llvm
+
+DESCRIPTION="A robust, optimal, and maintainable programming language"
+HOMEPAGE="https://ziglang.org/"
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/ziglang/zig.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/ziglang/zig/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BUILD_DIR="${S}/build"
+
+# According to zig's author, zig builds that do not support all targets are not
+# supported by the upstream project.
+ALL_LLVM_TARGETS=(
+ AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 NVPTX
+ PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+)
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS="${ALL_LLVM_TARGETS[@]}"
+
+RDEPEND="
+ sys-devel/clang:${LLVM_MAX_SLOT}
+ >=sys-devel/lld-${LLVM_MAX_SLOT}
+ <sys-devel/lld-$((${LLVM_MAX_SLOT} + 1))
+ sys-devel/llvm:${LLVM_MAX_SLOT}[${LLVM_TARGET_USEDEPS// /,}]
+"
+DEPEND="${RDEPEND}"
+
+llvm_check_deps() {
+ has_version "sys-devel/clang:${LLVM_SLOT}"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DZIG_USE_CCACHE=OFF
+ -DZIG_PREFER_CLANG_CPP_DYLIB=ON
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}" || die
+ ./zig build test || die
+}