summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-08-25 10:45:55 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-08-25 10:45:55 +0100
commit3cf7c3ef441822c889356fd1812ebf2944a59851 (patch)
treec513fe68548b40365c1c2ebfe35c58ad431cdd77 /dev-lang
parent05b8b0e0af1d72e51a3ee61522941bf7605cd01c (diff)
gentoo resync : 25.08.2020
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin17321 -> 17491 bytes
-rw-r--r--dev-lang/c-intercal/Manifest2
-rw-r--r--dev-lang/c-intercal/c-intercal-31.0.ebuild2
-rw-r--r--dev-lang/cxprolog/Manifest7
-rw-r--r--dev-lang/cxprolog/cxprolog-0.98.2.ebuild134
-rw-r--r--dev-lang/cxprolog/files/build.xml49
-rw-r--r--dev-lang/cxprolog/files/cx_dev_boot.pl9
-rw-r--r--dev-lang/cxprolog/files/cxprolog-0.98.2-portage.patch109
-rw-r--r--dev-lang/cxprolog/files/cxprolog-0.98.2-test-io.patch20
-rw-r--r--dev-lang/cxprolog/metadata.xml8
-rw-r--r--dev-lang/elixir/Manifest4
-rw-r--r--dev-lang/elixir/elixir-1.10.4.ebuild2
-rw-r--r--dev-lang/elixir/elixir-1.9.4.ebuild32
-rw-r--r--dev-lang/erlang/Manifest11
-rw-r--r--dev-lang/erlang/erlang-23.0.2.ebuild (renamed from dev-lang/erlang/erlang-21.1.1.ebuild)42
-rw-r--r--dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch42
-rw-r--r--dev-lang/erlang/files/erlang-add-epmd-pid-file-creation-for-openrc.patch90
-rw-r--r--dev-lang/erlang/files/erlang-custom-autoconf.patch14
-rw-r--r--dev-lang/erlang/metadata.xml1
-rw-r--r--dev-lang/ghc/Manifest11
-rw-r--r--dev-lang/ghc/ghc-7.10.3.ebuild2
-rw-r--r--dev-lang/ghc/ghc-7.8.4.ebuild2
-rw-r--r--dev-lang/ghc/ghc-8.8.4.ebuild806
-rw-r--r--dev-lang/ghc/metadata.xml4
-rw-r--r--dev-lang/gnat-gpl/Manifest2
-rw-r--r--dev-lang/gnat-gpl/files/c8920
-rw-r--r--dev-lang/gnat-gpl/files/c9921
-rw-r--r--dev-lang/gnuprologjava/Manifest1
-rw-r--r--dev-lang/gnuprologjava/gnuprologjava-0.2.6-r1.ebuild46
-rw-r--r--dev-lang/go/Manifest14
-rw-r--r--dev-lang/go/go-1.13.12.ebuild197
-rw-r--r--dev-lang/go/go-1.13.15.ebuild (renamed from dev-lang/go/go-1.13.10.ebuild)0
-rw-r--r--dev-lang/go/go-1.14.7.ebuild (renamed from dev-lang/go/go-1.14.2.ebuild)0
-rw-r--r--dev-lang/go/go-1.15.ebuild (renamed from dev-lang/go/go-1.14.4.ebuild)0
-rw-r--r--dev-lang/gprolog/Manifest2
-rw-r--r--dev-lang/gprolog/gprolog-1.4.5.ebuild10
-rw-r--r--dev-lang/icon/Manifest2
-rw-r--r--dev-lang/icon/icon-9.5.20h.ebuild123
-rw-r--r--dev-lang/ispc/Manifest9
-rw-r--r--dev-lang/ispc/files/ispc-9999-cmake-gentoo-release.patch13
-rw-r--r--dev-lang/ispc/files/ispc-9999-llvm-10.patch106
-rw-r--r--dev-lang/ispc/files/ispc-9999-werror.patch13
-rw-r--r--dev-lang/ispc/ispc-1.13.0.ebuild4
-rw-r--r--dev-lang/ispc/ispc-1.9.2.ebuild52
-rw-r--r--dev-lang/ispc/ispc-9999.ebuild10
-rw-r--r--dev-lang/janet/Manifest5
-rw-r--r--dev-lang/janet/files/janet-1.7.0-fix-ldflags-in-pkgconfig.patch11
-rw-r--r--dev-lang/janet/janet-1.11.1.ebuild (renamed from dev-lang/janet/janet-1.8.1.ebuild)15
-rw-r--r--dev-lang/logtalk/Manifest3
-rw-r--r--dev-lang/logtalk/files/logtalk-3.18.0-portage.patch19
-rw-r--r--dev-lang/logtalk/logtalk-3.18.0.ebuild130
-rw-r--r--dev-lang/luajit/Manifest5
-rw-r--r--dev-lang/luajit/files/CVE-2020-15890.patch22
-rw-r--r--dev-lang/luajit/luajit-2.0.5-r2.ebuild (renamed from dev-lang/luajit/luajit-2.0.5-r1.ebuild)5
-rw-r--r--dev-lang/luajit/luajit-2.1.0_beta3-r1.ebuild (renamed from dev-lang/luajit/luajit-2.1.0_beta3.ebuild)5
-rw-r--r--dev-lang/mercury-extras/Manifest3
-rw-r--r--dev-lang/mercury-extras/mercury-extras-20.01.2.ebuild319
-rw-r--r--dev-lang/mercury/Manifest3
-rw-r--r--dev-lang/mercury/mercury-20.01.2.ebuild202
-rw-r--r--dev-lang/moarvm/Manifest14
-rw-r--r--dev-lang/moarvm/moarvm-2019.07.1-r1.ebuild72
-rw-r--r--dev-lang/moarvm/moarvm-2020.06.ebuild (renamed from dev-lang/moarvm/moarvm-2019.11.ebuild)8
-rw-r--r--dev-lang/moarvm/moarvm-2020.07.ebuild (renamed from dev-lang/moarvm/moarvm-2019.07-r1.ebuild)11
-rw-r--r--dev-lang/moarvm/moarvm-2020.08.ebuild (renamed from dev-lang/moarvm/moarvm-2019.03-r1.ebuild)16
-rw-r--r--dev-lang/mono/Manifest2
-rw-r--r--dev-lang/mono/mono-6.10.0.104.ebuild105
-rw-r--r--dev-lang/mozart-stdlib/Manifest2
-rw-r--r--dev-lang/mozart-stdlib/mozart-stdlib-2.0.1.ebuild2
-rw-r--r--dev-lang/mozart/Manifest2
-rw-r--r--dev-lang/mozart/mozart-2.0.1.ebuild2
-rw-r--r--dev-lang/mujs/Manifest2
-rw-r--r--dev-lang/mujs/mujs-1.0.7.ebuild2
-rw-r--r--dev-lang/nasm/Manifest12
-rw-r--r--dev-lang/nasm/nasm-2.14.02.ebuild4
-rw-r--r--dev-lang/nasm/nasm-2.15.02.ebuild47
-rw-r--r--dev-lang/nasm/nasm-2.15.03.ebuild (renamed from dev-lang/nasm/nasm-2.15.01.ebuild)2
-rw-r--r--dev-lang/nasm/nasm-2.15.04.ebuild (renamed from dev-lang/nasm/nasm-2.15.ebuild)2
-rw-r--r--dev-lang/nim/Manifest4
-rw-r--r--dev-lang/nim/nim-1.2.6.ebuild (renamed from dev-lang/nim/nim-1.2.4.ebuild)0
-rw-r--r--dev-lang/nqp/Manifest12
-rw-r--r--dev-lang/nqp/nqp-2020.06.ebuild (renamed from dev-lang/nqp/nqp-2019.07.1.ebuild)0
-rw-r--r--dev-lang/nqp/nqp-2020.07.ebuild (renamed from dev-lang/nqp/nqp-2019.11.ebuild)0
-rw-r--r--dev-lang/nqp/nqp-2020.08.ebuild (renamed from dev-lang/nqp/nqp-2019.03-r1.ebuild)7
-rw-r--r--dev-lang/orc/Manifest2
-rw-r--r--dev-lang/orc/orc-0.4.31.ebuild2
-rw-r--r--dev-lang/perl/Manifest18
-rw-r--r--dev-lang/perl/files/perl-5.30.1-gcc-10.patch99
-rw-r--r--dev-lang/perl/files/perl-5.30.3-gentoo-libdirs.patch135
-rw-r--r--dev-lang/perl/perl-5.30.1.ebuild654
-rw-r--r--dev-lang/perl/perl-5.30.2.ebuild653
-rw-r--r--dev-lang/perl/perl-5.30.3-r1.ebuild1
-rw-r--r--dev-lang/perl/perl-5.30.3-r2.ebuild196
-rw-r--r--dev-lang/perl/perl-5.32.0-r1.ebuild (renamed from dev-lang/perl/perl-5.30.2-r1.ebuild)385
-rw-r--r--dev-lang/perl/perl-5.32.0.ebuild (renamed from dev-lang/perl/perl-5.30.2-r2.ebuild)36
-rw-r--r--dev-lang/php/Manifest12
-rw-r--r--dev-lang/php/php-7.2.32.ebuild759
-rw-r--r--dev-lang/php/php-7.2.33.ebuild759
-rw-r--r--dev-lang/php/php-7.3.20.ebuild760
-rw-r--r--dev-lang/php/php-7.3.21.ebuild760
-rw-r--r--dev-lang/php/php-7.4.8-r1.ebuild750
-rw-r--r--dev-lang/php/php-7.4.9.ebuild750
-rw-r--r--dev-lang/python/Manifest44
-rw-r--r--dev-lang/python/python-2.7.18-r1.ebuild (renamed from dev-lang/python/python-2.7.18.ebuild)2
-rw-r--r--dev-lang/python/python-3.6.11-r2.ebuild (renamed from dev-lang/python/python-3.6.10-r2.ebuild)16
-rw-r--r--dev-lang/python/python-3.6.12.ebuild (renamed from dev-lang/python/python-3.6.11.ebuild)16
-rw-r--r--dev-lang/python/python-3.7.8-r2.ebuild (renamed from dev-lang/python/python-3.7.7-r2.ebuild)16
-rw-r--r--dev-lang/python/python-3.7.9.ebuild (renamed from dev-lang/python/python-3.7.8.ebuild)16
-rw-r--r--dev-lang/python/python-3.8.4-r1.ebuild (renamed from dev-lang/python/python-3.8.2-r2.ebuild)2
-rw-r--r--dev-lang/python/python-3.8.5.ebuild (renamed from dev-lang/python/python-3.8.3.ebuild)19
-rw-r--r--dev-lang/python/python-3.9.0_beta3.ebuild323
-rw-r--r--dev-lang/python/python-3.9.0_rc1.ebuild (renamed from dev-lang/python/python-3.9.0_beta4.ebuild)20
-rw-r--r--dev-lang/qu-prolog/Manifest8
-rw-r--r--dev-lang/qu-prolog/qu-prolog-10.1.ebuild100
-rw-r--r--dev-lang/qu-prolog/qu-prolog-10.2.ebuild100
-rw-r--r--dev-lang/qu-prolog/qu-prolog-10.3.ebuild98
-rw-r--r--dev-lang/qu-prolog/qu-prolog-10.4.ebuild2
-rw-r--r--dev-lang/rakudo/Manifest10
-rw-r--r--dev-lang/rakudo/rakudo-2020.06.ebuild (renamed from dev-lang/rakudo/rakudo-2019.11.ebuild)8
-rw-r--r--dev-lang/rakudo/rakudo-2020.07.ebuild (renamed from dev-lang/rakudo/rakudo-2019.03.ebuild)8
-rw-r--r--dev-lang/rakudo/rakudo-2020.08.1.ebuild73
-rw-r--r--dev-lang/ruby/Manifest2
-rw-r--r--dev-lang/ruby/ruby-2.4.10.ebuild225
-rw-r--r--dev-lang/rust-bin/Manifest79
-rw-r--r--dev-lang/rust-bin/metadata.xml17
-rw-r--r--dev-lang/rust-bin/rust-bin-1.41.1.ebuild167
-rw-r--r--dev-lang/rust-bin/rust-bin-1.42.0.ebuild167
-rw-r--r--dev-lang/rust-bin/rust-bin-1.43.1.ebuild175
-rw-r--r--dev-lang/rust-bin/rust-bin-1.44.1.ebuild17
-rw-r--r--dev-lang/rust-bin/rust-bin-1.45.2.ebuild (renamed from dev-lang/rust-bin/rust-bin-1.44.0.ebuild)15
-rw-r--r--dev-lang/rust/Manifest73
-rw-r--r--dev-lang/rust/files/1.40.0-add-soname.patch36
-rw-r--r--dev-lang/rust/files/1.42.0-fix-bootstrap.patch440
-rw-r--r--dev-lang/rust/files/1.42.0-libressl.patch44
-rw-r--r--dev-lang/rust/files/1.43.0-llvm10.patch194
-rw-r--r--dev-lang/rust/files/llvm-gcc10.patch34
-rw-r--r--dev-lang/rust/rust-1.41.1.ebuild370
-rw-r--r--dev-lang/rust/rust-1.42.0.ebuild385
-rw-r--r--dev-lang/rust/rust-1.43.1.ebuild419
-rw-r--r--dev-lang/rust/rust-1.44.1.ebuild4
-rw-r--r--dev-lang/rust/rust-1.45.2.ebuild (renamed from dev-lang/rust/rust-1.44.0.ebuild)125
-rw-r--r--dev-lang/spidermonkey/Manifest10
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-17.0.0-unbreak-clang.patch32
-rw-r--r--dev-lang/spidermonkey/spidermonkey-1.8.5-r9.ebuild2
-rw-r--r--dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild1
-rw-r--r--dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r2.ebuild160
-rw-r--r--dev-lang/spidermonkey/spidermonkey-68.11.0.ebuild232
-rw-r--r--dev-lang/squirrel/Manifest4
-rw-r--r--dev-lang/squirrel/squirrel-3.1_p20200612.ebuild (renamed from dev-lang/squirrel/squirrel-3.1.ebuild)14
-rw-r--r--dev-lang/swi-prolog/Manifest6
-rw-r--r--dev-lang/swi-prolog/swi-prolog-8.2.1.ebuild103
-rw-r--r--dev-lang/swi-prolog/swi-prolog-8.3.3.ebuild103
-rw-r--r--dev-lang/swi-prolog/swi-prolog-8.3.4.ebuild103
-rw-r--r--dev-lang/tcl/Manifest3
-rw-r--r--dev-lang/tcl/files/tcl-8.6.9-include-spec.patch12
-rw-r--r--dev-lang/tcl/tcl-8.6.9-r1.ebuild (renamed from dev-lang/tcl/tcl-8.6.9.ebuild)1
-rw-r--r--dev-lang/tuprolog/Manifest12
-rw-r--r--dev-lang/tuprolog/files/build-3.1.0.xml110
-rw-r--r--dev-lang/tuprolog/files/build-3.x.xml (renamed from dev-lang/tuprolog/files/build-3.0.1.xml)0
-rw-r--r--dev-lang/tuprolog/files/tuprolog-3.1.0-test-suite.patch13
-rw-r--r--dev-lang/tuprolog/tuprolog-3.0.1.ebuild4
-rw-r--r--dev-lang/tuprolog/tuprolog-3.1.0-r1.ebuild67
-rw-r--r--dev-lang/tuprolog/tuprolog-3.1.0.ebuild4
-rw-r--r--dev-lang/tuprolog/tuprolog-3.2.0.ebuild71
-rw-r--r--dev-lang/vala/Manifest14
-rw-r--r--dev-lang/vala/vala-0.46.11.ebuild49
-rw-r--r--dev-lang/vala/vala-0.46.12.ebuild49
-rw-r--r--dev-lang/vala/vala-0.46.13.ebuild49
-rw-r--r--dev-lang/vala/vala-0.48.7.ebuild49
-rw-r--r--dev-lang/vala/vala-0.48.8.ebuild49
-rw-r--r--dev-lang/vala/vala-0.48.9.ebuild49
-rw-r--r--dev-lang/vala/vala-0.49.91.ebuild49
-rw-r--r--dev-lang/xsb/Manifest3
-rw-r--r--dev-lang/xsb/xsb-3.8.0.ebuild198
-rw-r--r--dev-lang/yasm/Manifest7
-rw-r--r--dev-lang/yasm/files/yasm-1.2.0-fix_cython_check.patch23
-rw-r--r--dev-lang/yasm/yasm-1.2.0-r1.ebuild50
-rw-r--r--dev-lang/yasm/yasm-1.3.0-r1.ebuild65
-rw-r--r--dev-lang/yasm/yasm-9999.ebuild30
-rw-r--r--dev-lang/zig/Manifest4
-rw-r--r--dev-lang/zig/files/zig-0.4.0-r1-build-artifacts.patch61
-rw-r--r--dev-lang/zig/files/zig-0.4.0-r1-suppress-warnings.patch31
-rw-r--r--dev-lang/zig/zig-0.4.0-r1.ebuild49
182 files changed, 8996 insertions, 6674 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 5952200cc65a..c520eb2f23aa 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/c-intercal/Manifest b/dev-lang/c-intercal/Manifest
index b40b94f85b98..a33e05bd672e 100644
--- a/dev-lang/c-intercal/Manifest
+++ b/dev-lang/c-intercal/Manifest
@@ -2,5 +2,5 @@ AUX 50c-intercal-gentoo.el 191 BLAKE2B 3575c7ecac45d7023f727e559bbcfeb311c45c720
AUX c-intercal-31.0-no-common.patch 311 BLAKE2B 25e260a1e4c7079fb8baac690580505c401870fe60b6c0e398f79a8d1027ea6395b30b8c16244ad147489787606d6b6a27f244e4b8f9e9f7710405b124d3d7a8 SHA512 84db59e1855672260079c39ac066d98d031536019180483002b224c48912472c175bcde20053d37510e6aa07fa2de62beb4161d5a262b5d775742d0d10e7b51e
AUX c-intercal-31.0-version.patch 330 BLAKE2B f7a18b5098c6969ea29c21513221e3dd6f6cce847ceca102f8d3a0713d18bbdfd11b1349b0463f7338ef69ccb2b08aa8162e91860b26338c577647728e1261db SHA512 cfb0c79e76b19938fda232cf508e32812aa4edad2eb6545eef84f6bdfd8304666911ca4042450c4642699a41a140f4e199acf0f8d9ab0f24ab8daa81a89d3393
DIST intercal-0.31.tar.gz 940950 BLAKE2B 9a23229b1d7f0524b164a4b66bcab4fdf67a04ba1e411365a46a90d646867fe92d6e328935b406673809535a895becde934fb6cf2e8380943eb8f19473fcedab SHA512 ca5c10be880ce2470d7dd3404fa5a314bd7bcab45cf4908f7108eb1baa50339b876e135251d991527881b564027c63dc38d74a154cbd00d606261013d2b01262
-EBUILD c-intercal-31.0.ebuild 1785 BLAKE2B c1af9f8f38b6751fb674fb4ebe0c8e930b0a16e9154bcbbef6b5d4347b0261672f734ba24d19dd31884d23afdf07d11da185177f19381979d906839ddef3c082 SHA512 d0ee17345774a034c936c3d698390d064ad025e705b364ff9e8d1917527328817a18b0fe1064ea8b749af671950662c4ef8ebc5f775b200c0fab86eed6f6d820
+EBUILD c-intercal-31.0.ebuild 1802 BLAKE2B 4e7a181141e59300af93c5f9758879459ab6dade2a102683365c3c2951a93c9be2cdd59e150a4bfa9ef56ea2a27f246c823eaf55924dd51ab559d805879b8d45 SHA512 0993509badacde7dc888ff403c96a1d497922e1ef9f3cd110358ff685b899e127515c1e55cc2bf3904a63b5e5423d9777b22d238fa245402bc8f6e796c82f204
MISC metadata.xml 592 BLAKE2B 8d07802ff5f3cbedb9643b61c469214284c5d21dbaf7aa2afa1c706cf0c9ebe0af2903f3bada0145fd0fe648fe46678919a730f88a2c38c84d149416a8095b11 SHA512 d2b9dad8dd7a03744904ccee87ba17ed726b0005b6bd685d7b926b4657e57c9456d8a7f57deedf260efd543b42c157c13876cf6942cd1f47fee88f0782dac13d
diff --git a/dev-lang/c-intercal/c-intercal-31.0.ebuild b/dev-lang/c-intercal/c-intercal-31.0.ebuild
index bbcc4938fdb2..1639cfbf56fc 100644
--- a/dev-lang/c-intercal/c-intercal-31.0.ebuild
+++ b/dev-lang/c-intercal/c-intercal-31.0.ebuild
@@ -48,7 +48,7 @@ src_prepare() {
}
src_configure() {
- append-flags -fno-toplevel-reorder #722862
+ append-cflags $(test-flags-CC -fno-toplevel-reorder) #722862
econf
}
diff --git a/dev-lang/cxprolog/Manifest b/dev-lang/cxprolog/Manifest
new file mode 100644
index 000000000000..758936a9dba3
--- /dev/null
+++ b/dev-lang/cxprolog/Manifest
@@ -0,0 +1,7 @@
+AUX build.xml 1161 BLAKE2B 292e62ad0543b808cf888b6ec25cd41015bf95db17694124cff2aaefebe5024081f1b4e469e69907a870f4ab013cc274fad8218f3de3cbfb19f17d4a710b95d4 SHA512 1f75ae49b1d733f580bf95739aa927f464097905c69518f2efbc433c269256d04002e545d920d3cf9c97ea11fbfee86df6fb3276cbae784ed09a95f8a7f00264
+AUX cx_dev_boot.pl 141 BLAKE2B dea2a7baf1050f916ca5bc200bf7768c353ec6e59752031fbe7afb5f1cda89ab464c5db6ad3e70540d116fbd14c52e2dd3f1f6204fda36a45e108a81191669d4 SHA512 837599798afe67c76dcb585938ed46696f4f490b0e6184d6bff5238f067f78b7c77db081a3ba0019ac89b136a44749db8b73f38fce0d8519927d32145c4986c6
+AUX cxprolog-0.98.2-portage.patch 3806 BLAKE2B 6270cf9e19d6fd2f24a19a8d0e5af672c523530b1fece9146b49bda2b5ab97f79f69d55a15b56ace9dd5ecc15a693f1700700e9e902846113075441e587d5873 SHA512 f20ef4c01f27cc290efc5daf16a44a081072d0640282c9a995efacdb05548e547478201facd395b5067a22847bf51a25a9faf4c1bdec0510cf5c9031979d249a
+AUX cxprolog-0.98.2-test-io.patch 580 BLAKE2B 5a4844e4f3469270ab33889f07b812aa5b457f6cf0dc49c2b05c6360a91ea9809c26743566ea66c41e7ae0fa1aa3a05945245d234267b8b39f52ae452034bf73 SHA512 4c39bf891c0d7291b1f1ff926367f5613fed61455dd35747eb0fcd5bcdd0eb93fb86ca82b58b194e5ea2dbcf62e7f0179c5a97186f42e83c707a6022f829704d
+DIST cxprolog-0.98.2.src.tgz 548222 BLAKE2B e1e834384ff161efde961e7a319d9987cb368ed561fa613a4dd2ede353a099de9146de68dedab3d5e74bb5421c880f743b669eb43eb0b265112dbf938820b0ad SHA512 7e16ce238201da2520da3575311a8c56c9fc3926b290ef505e74ca208af9e6a070d4137ae21e708e1d6c9b83e44566ecd818d51a90f033c983c589b65bcbf2b1
+EBUILD cxprolog-0.98.2.ebuild 3077 BLAKE2B 562d47ec52d4cb23972638f765ffb67471ea3a76b9782a10d3400943876e5b26bfa7e0d3e0ba7893171e1d9fdc032c0f133582b96bdd65d726b59b28921ed6b5 SHA512 42c864b978ff26f54112c2a74e62ee82974a843f8f8bb76c97a7734de53b9532d360e8d0d7e2d3d3120d8f1006d75c08c4175534c21dd72262b7844d8edae9c3
+MISC metadata.xml 236 BLAKE2B 665f3de6dc90f46a18379b3416063a49b1a79ddd7ef89eaed9be78f9adc5b234e9693cd31d6cf2d3477fc7dc00055492bef7de78da6c901c4a6e55eb0e781325 SHA512 e776224736bd575412c7b5b799f649c6b2947a70e6a9aea580063d9da7d09a8144e5ebaf7ac3ef131d578486cf05dec814dce11b2aeb884cded3be3cab70fcec
diff --git a/dev-lang/cxprolog/cxprolog-0.98.2.ebuild b/dev-lang/cxprolog/cxprolog-0.98.2.ebuild
new file mode 100644
index 000000000000..d1b773c84e51
--- /dev/null
+++ b/dev-lang/cxprolog/cxprolog-0.98.2.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+WX_GTK_VER="3.0-gtk3"
+VIRTUALX_REQUIRED="manual"
+
+inherit flag-o-matic java-pkg-opt-2 java-ant-2 toolchain-funcs virtualx wxwidgets
+
+DESCRIPTION="A WAM based Prolog system"
+HOMEPAGE="http://ctp.di.fct.unl.pt/~amd/cxprolog"
+SRC_URI="http://ctp.di.fct.unl.pt/~amd/cxprolog/cxunix/${P}.src.tgz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples java +readline test wxwidgets"
+RESTRICT="!test? ( test )"
+
+RDEPEND="readline? ( sys-libs/readline:= )
+ java? ( >=virtual/jdk-1.8:= )
+ wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
+
+DEPEND="${RDEPEND}
+ test? (
+ java? ( ${VIRTUALX_DEPEND} )
+ wxwidgets? ( ${VIRTUALX_DEPEND} )
+ )"
+
+S="${WORKDIR}"/${P}
+
+src_prepare() {
+ eapply "${FILESDIR}"/${P}-portage.patch
+ eapply "${FILESDIR}"/${P}-test-io.patch
+ eapply_user
+
+ sed -i -e "s|lib/cxprolog|$(get_libdir)/cxprolog|" "${S}"/src/FileSys.c || die
+ cp "${FILESDIR}"/build.xml "${S}"/build.xml || die
+ cp "${FILESDIR}"/cx_dev_boot.pl "${S}"/cx_dev_boot.pl || die
+ rm -f "${S}"/pl/test_file_io_1.txt
+
+ use wxwidgets && setup-wxwidgets
+}
+
+src_compile() {
+ local CX_EXT_DEFINES
+ local CX_EXT_CFLAGS
+ local CX_EXT_LDFLAGS
+ local CX_EXT_LIBS
+
+ if use readline; then
+ CX_EXT_DEFINES="$CX_EXT_DEFINES -DUSE_READLINE"
+ CX_EXT_LIBS="$CX_EXT_LIBS -lreadline"
+ fi
+
+ if use java; then
+ local java_arch
+ use x86 && java_arch=i386
+ use amd64 && java_arch=amd64
+ CX_JVM="${JAVA_HOME}/jre/lib/${java_arch}/server"
+ CX_EXT_DEFINES="$CX_EXT_DEFINES -DUSE_JAVA"
+ CX_EXT_CFLAGS="$CX_EXT_CFLAGS $(java-pkg_get-jni-cflags)"
+ CX_EXT_LDFLAGS="$CX_EXT_LDFLAGS -Wl,-rpath,${CX_JVM}"
+ CX_EXT_LIBS="$CX_EXT_LIBS -L${CX_JVM} -ljvm"
+ fi
+
+ if use wxwidgets; then
+ CX_EXT_DEFINES="$CX_EXT_DEFINES -DUSE_WXWIDGETS"
+ CX_EXT_CFLAGS="$CX_EXT_CFLAGS $(${WX_CONFIG} --cflags)"
+ CX_EXT_LIBS="$CX_EXT_LIBS $(${WX_CONFIG} --libs)"
+ fi
+
+ emake lib \
+ PREFIX=/usr \
+ TMP_DIR="${S}/tmp" \
+ CC=$(tc-getCC) \
+ CPP=$(tc-getCXX) \
+ LD=$(tc-getLD) \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ EXT_DEFINES="${CX_EXT_DEFINES}" \
+ EXT_CFLAGS="-Wall ${CX_EXT_CFLAGS}" \
+ EXT_LDFLAGS="${CX_EXT_LDFLAGS}" \
+ EXT_LIBS="${CX_EXT_LIBS}"
+
+ if use java; then
+ JAVA_SRC_DIR="${S}/lib/cxprolog/java"
+ eant jar
+ fi
+}
+
+cxprolog_src_test() {
+ cd "${S}"/pl
+
+ LD_LIBRARY_PATH="${S}" \
+ "${S}"/cxprolog_shared \
+ --boot "${S}"/cx_dev_boot.pl \
+ --script "${S}"/pl/test_all.pl \
+ | tee "${S}"/cxprolog_test.log
+}
+
+src_test() {
+ if use java || use wxwidgets; then
+ virtx cxprolog_src_test
+ else
+ cxprolog_src_test
+ fi
+
+ grep -q "ALL THE TESTS PASSED" "${S}"/cxprolog_test.log \
+ || die "cxprolog unit tests failed"
+}
+
+src_install() {
+ newbin cxprolog_shared cxprolog
+ dolib.so libcxprolog.so
+
+ insinto /usr/$(get_libdir)/cxprolog
+ doins lib/cxprolog/lib.pl
+
+ insinto /usr/share/${PN}/pl
+ doins pl/*.{pl,txt}
+
+ if use java; then
+ insinto /usr/$(get_libdir)/cxprolog/java
+ doins dist/prolog.jar
+ fi
+
+ dodoc ChangeLog.txt MANUAL.txt README.txt
+
+ if use examples; then
+ dodoc -r examples
+ fi
+}
diff --git a/dev-lang/cxprolog/files/build.xml b/dev-lang/cxprolog/files/build.xml
new file mode 100644
index 000000000000..3d4d4fba16e1
--- /dev/null
+++ b/dev-lang/cxprolog/files/build.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" ?><project default="jar" name="cxprolog">
+
+ <!-- some properties -->
+ <property name="src.dir" value="lib/cxprolog/java/prolog"/>
+ <property name="build.dir" value="build"/>
+ <property name="dist.dir" value="dist"/>
+ <property file="build.properties"/>
+
+ <path id="compile.classpath">
+ <pathelement path="${gentoo.classpath}"/>
+ </path>
+
+ <!-- init -->
+ <target name="init">
+ <tstamp/>
+ <mkdir dir="${dist.dir}"/>
+ <mkdir dir="${build.dir}"/>
+ </target>
+
+ <!-- compile everything -->
+ <target depends="init" name="compile">
+ <javac deprecation="off"
+ destdir="${build.dir}"
+ encoding="ISO-8859-1"
+ srcdir="${src.dir}"
+ source="1.8"
+ target="1.8">
+ <classpath>
+ <path refid="compile.classpath"/>
+ </classpath>
+ </javac>
+ <copy todir="${build.dir}">
+ <fileset dir="${src.dir}">
+ <exclude name="**/*.java"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <!-- build the jar file -->
+ <target depends="compile" name="jar">
+ <jar basedir="${build.dir}" jarfile="${dist.dir}/prolog.jar"/>
+ </target>
+
+ <!-- clean up -->
+ <target name="clean">
+ <delete dir="${build.dir}"/>
+ <delete dir="${dist.dir}"/>
+ </target>
+</project>
diff --git a/dev-lang/cxprolog/files/cx_dev_boot.pl b/dev-lang/cxprolog/files/cx_dev_boot.pl
new file mode 100644
index 000000000000..2794cabe34b0
--- /dev/null
+++ b/dev-lang/cxprolog/files/cx_dev_boot.pl
@@ -0,0 +1,9 @@
+'$cxprolog_initialise' :-
+ version,
+ fs_cwd(CWD),
+ fs_set_prefix_dir(CWD),
+ '$env_context' := [main].
+
+
+'$cxprolog_top_level_goal' :-
+ true.
diff --git a/dev-lang/cxprolog/files/cxprolog-0.98.2-portage.patch b/dev-lang/cxprolog/files/cxprolog-0.98.2-portage.patch
new file mode 100644
index 000000000000..32e22a0eb620
--- /dev/null
+++ b/dev-lang/cxprolog/files/cxprolog-0.98.2-portage.patch
@@ -0,0 +1,109 @@
+--- cxprolog-0.98.2.orig/Makefile 2016-09-17 20:33:35.000000000 +0200
++++ cxprolog-0.98.2/Makefile 2020-07-22 09:01:24.785919309 +0200
+@@ -20,9 +20,9 @@
+ ######################################################################
+
+ ##############################################################################
+-# To disable READLINE SUPPORT, uncomment the following line:
++# For READLINE SUPPORT, uncomment the following line:
+ #
+-# READLINE := n
++# READLINE := y
+ #
+ # Nothing more is required.
+ # This functionality is active by default.
+@@ -83,6 +83,7 @@
+ EXT_OBJ_DIR := src/ext
+ EXT_CFLAGS :=
+ EXT_DEFINES :=
++EXT_LDFLAGS :=
+ EXT_LIBS :=
+ EXT_NAMES :=
+
+@@ -91,6 +92,7 @@
+ # EXT_OBJ_DIR := src/obj/ext
+ # EXT_CFLAGS := -I/usr/include
+ # EXT_DEFINES := -DUSE_X=2 -DCOMPASS=1
++# EXT_LDFLAGS := -Wl,--as-needed
+ # EXT_LIBS := -L/usr/lib -lcrypt
+ # EXT_NAMES := ext/file1 ext/file2
+ ##############################################################################
+@@ -121,6 +123,7 @@
+ CFLAGS := -Wall -Wextra -O1
+ ONLYCFLAGS := # -Wmissing-prototypes
+ DEFINES :=
++LDFLAGS :=
+ LIBS := -lm
+ OBJ_DIR := src/obj
+ TMP_DIR := /var/tmp/$(APP)
+@@ -157,16 +160,16 @@
+
+ ifeq ($(VERBOSE),y)
+ CFLAGS := -v $(CFLAGS)
+- LIBS := -v $(LIBS)
++ LDFLAGS := -v $(LDFLAGS)
+ endif
+
+ ZFLAGS := $(DEBUG) $(EXT_CFLAGS)
+ ZDEFINES := $(EXTRA) $(ZPREFIX) -DOS=$(OS) $(DEFINES) $(EXT_DEFINES)
++ZLDFLAGS := $(DEBUG) $(LDFLAGS) $(EXT_LDFLAGS)
+ ZLIBS := $(EXTRA) $(LIBS) $(EXT_LIBS)
+ ZPRE :=
+
+-ifeq ($(READLINE),n)
+-else
++ifeq ($(READLINE),y)
+ ifneq ($(OS),MINGW32)
+ ifeq ($(shell if test -e "/usr/local/opt/readline"; then echo "y" ; fi),y)
+ ZDEFINES += -DUSE_READLINE=4 -I/usr/local/opt/readline/include
+@@ -294,7 +297,7 @@
+ ##############################################################################
+
+ $(APP): $(OBJS)
+- $(CPP) -o $(TMP_DIR)/$(APP) $(OBJS) $(ZLIBS)
++ $(CPP) $(ZLDFLAGS) -o $(TMP_DIR)/$(APP) $(OBJS) $(ZLIBS)
+ ln -sf $(TMP_DIR)/$(APP) $(APP)
+ @$(ZPOST)
+
+@@ -319,32 +322,32 @@
+
+ ifeq ($(OS),MINGW32)
+ libcxprolog.a cxprolog.dll: $(OBJ_DIR) $(OBJS)
+- $(CPP) -shared -o cxprolog.dll $(OBJS) -Wl,--out-implib,libcxprolog.a $(ZLIBS)
++ $(CPP) $(ZLDFLAGS) -shared -o cxprolog.dll $(OBJS) -Wl,--out-implib,libcxprolog.a $(ZLIBS)
+
+ cxprolog_shared.exe: libcxprolog.a cxprolog.dll
+ ifeq ($(WXWIDGETS),y)
+- $(CPP) -o cxprolog_shared.exe -lmingw32 -L./ -lcxprolog
++ $(CPP) $(ZLDFLAGS) -o cxprolog_shared.exe -lmingw32 -L./ -lcxprolog
+ else
+- $(CPP) -o cxprolog_shared.exe -L./ -lcxprolog
++ $(CPP) $(ZLDFLAGS) -o cxprolog_shared.exe -L./ -lcxprolog
+ endif
+
+ cxprolog_testlib.exe: libcxprolog.a cxprolog.dll
+- gcc -DTESTLIB=1 -o src/TestLib.o -c src/TestLib.c
+- $(CPP) -enable-auto-import -o cxprolog_testlib src/TestLib.o -L./ -lcxprolog
++ $(CC) $(ZFLAGS) -DTESTLIB=1 -o src/TestLib.o -c src/TestLib.c
++ $(CPP) $(ZLDFLAGS) -enable-auto-import -o cxprolog_testlib src/TestLib.o -L./ -lcxprolog
+ rm src/TestLib.o
+
+ lib: libcxprolog.a cxprolog_shared.exe cxprolog_testlib.exe
+
+ else # Assume Unix
+ libcxprolog.so: $(OBJ_DIR) $(OBJS)
+- $(CPP) -shared -o libcxprolog.so $(OBJS) -lc $(ZLIBS)
++ $(CPP) $(ZLDFLAGS) -shared -Wl,-soname,libcxprolog.so -o libcxprolog.so $(filter-out src/obj/CxProlog.o,$(OBJS)) -lc $(ZLIBS)
+
+ cxprolog_shared: libcxprolog.so
+- $(CPP) $(ZDEFINES) -o cxprolog_shared -L./ -lcxprolog
++ $(CPP) $(ZLDFLAGS) -o cxprolog_shared src/obj/CxProlog.o -L./ -lcxprolog $(ZLIBS)
+
+ cxprolog_testlib: libcxprolog.so
+- gcc $(ZDEFINES) -DTESTLIB=1 -o src/TestLib.o -c src/TestLib.c
+- $(CPP) $(ZDEFINES) -o cxprolog_testlib src/TestLib.o -L./ -lcxprolog
++ $(CC) $(ZFLAGS) $(ZDEFINES) -DTESTLIB=1 -o src/TestLib.o -c src/TestLib.c
++ $(CPP) $(ZLDFLAGS) -o cxprolog_testlib src/TestLib.o -L./ -lcxprolog $(ZLIBS)
+ rm src/TestLib.o
+
+ lib: libcxprolog.so cxprolog_shared cxprolog_testlib
diff --git a/dev-lang/cxprolog/files/cxprolog-0.98.2-test-io.patch b/dev-lang/cxprolog/files/cxprolog-0.98.2-test-io.patch
new file mode 100644
index 000000000000..d9f7be7b0cf5
--- /dev/null
+++ b/dev-lang/cxprolog/files/cxprolog-0.98.2-test-io.patch
@@ -0,0 +1,20 @@
+--- cxprolog-0.98.2.orig/pl/test_io.pl 2016-01-23 22:07:48.000000000 +0100
++++ cxprolog-0.98.2/pl/test_io.pl 2020-07-18 21:26:20.911026745 +0200
+@@ -17,7 +17,7 @@
+ concat([X,'.\n'],T).
+
+ test_file_io(L,Encoding) :-
+- FileName = 'test_file_io_1.txt',
++ FileName = '/tmp/test_file_io_1.txt',
+ open(FileName,write,S1,[encoding(Encoding),bom(true)]),
+ name(T,L),
+ write(S1,T),
+@@ -25,7 +25,7 @@
+ open(FileName,read,S2), % relies on bom
+ read(S2,X),
+ close(S2),
+- %fs_delete(FileName),
++ fs_delete(FileName),
+ concat([X,'.\n'],T).
+
+ :- current_prolog_flag(encoding,Curr),
diff --git a/dev-lang/cxprolog/metadata.xml b/dev-lang/cxprolog/metadata.xml
new file mode 100644
index 000000000000..96eff3ea40c0
--- /dev/null
+++ b/dev-lang/cxprolog/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>prolog@gentoo.org</email>
+ <name>Prolog</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest
index 259bf0c89bb2..4d26fab57c2a 100644
--- a/dev-lang/elixir/Manifest
+++ b/dev-lang/elixir/Manifest
@@ -3,8 +3,6 @@ AUX elixir-1.10.3-no-Q.patch 355 BLAKE2B 903e5a7149f6e7f7030a533ae437b0e40b97c82
AUX elixir-1.9.1-disable-network-tests.patch 569 BLAKE2B fda6b9b99f80e81883723280de31933c1740167d41ef4783dc663bad277cf58b8782326abc4a72e0d989c513afb9cdf4494e7d79754b18d62baf75255a74aa45 SHA512 465831a389891680412d51d9209497d5b750ff0a5ff72d45807a7dba6ec7757156ee96048bbc81f46c9c24a5b13cdd5161539fdeb4ffcea655c407e29f6675fc
DIST elixir-1.10.3.tar.gz 2329031 BLAKE2B 0e8d84c71f4bb260aef875370acb89b6a8daf5187aec5fe28d13054b6a16e91925aec46a312a31e607b469657a0f4cb34d29735e9633ddc7cd69417402f1b8b1 SHA512 66b18b983e5374afbd4d94c43a880c5e46a9aa150fa6f38be74ff7f58a19eaaee00248b202d9ae3f6b78e2495fc8d5cec755de644256a731be367766c3812855
DIST elixir-1.10.4.tar.gz 2331003 BLAKE2B 8cb54bcb16762ae345ad9d36a25c28696fd5bb57cf97c5037c21458671e001cfe51a722287243c6a70fe3cea65c9c219e759c8312fc168e93974ac5f0870b47a SHA512 844e405cf344539a9d32dc7f1ead0dc1dfb0d70a9ab718269f4e25e5262f611f96346f5be93cf8e34a75c58c6aabb12e8a796c5cb182955922510c270ef169e7
-DIST elixir-1.9.4.tar.gz 2250611 BLAKE2B adc363627dc3997684482ac022927aaa4d315afdb8fbc8981e1b88371eb13be80e01084b67288fc88fc51f0015085743d11289e932093d5608e5ac4dfa0823a8 SHA512 c97b93c7438efd7215408525a3b9f2935a1591cce3da3eb31717282d06aff94e8e3d22c405bac40c671bcfe8e73f3dd1ada315f53dee73ceef0bfe2a7c27e86d
EBUILD elixir-1.10.3.ebuild 883 BLAKE2B c8945f6c84ce2ba4ef99b42f5f0f3c262cfb6d743cd418f66113cab8a9a90caf1ddc71441d96b3755e9025974688909d8306b63ded24d871733d263c54df1d56 SHA512 a3581664d0fe5c49bd7c4ed2b6f2fba7c4b402944daf7c79e79acbd7ffbb463c17e559d961f7abd3c54c5ca5e6d23520e379a5712d7d232439b5c878291cb3d7
-EBUILD elixir-1.10.4.ebuild 886 BLAKE2B 5b16a1aa4a73de92f058640cbba02d044eccd23e5b95383abf03ef8a903e4a41337f14c5547638745bc73f304cff946ef7ff4e99186e1607c7a2fbcaa0058e4b SHA512 c74b4b3bc7ea0416a524701ad9e2a02924491fe8e3d92b3e99e133d9504e0a61a339374de62b78837fe3249a076cf3c05fb281c729a279c1bda9b023650e5050
-EBUILD elixir-1.9.4.ebuild 756 BLAKE2B 45337b098daa503ea61e9f8f5d8e4ccb6bbd09babb2457dc85a8e96cb79f76ec31d1ef393d015d8fb878b6c4e0d9c4380f39252d8e67b6da5b5e99dc79b77c5b SHA512 97ee97a4b7aece89c3308aa9efc050562e688e491fc313afd31a6400048c1551f734e5222963b187cc7ae4006d112ace23bee093645acfa96d88839136437e8b
+EBUILD elixir-1.10.4.ebuild 884 BLAKE2B 3c0ac630e7b175456b3d3f07829e26d56b0c5e18d31670a2cc4133e05b8038d08c5b9e4ecc644d40bbd15fe191a0bd8251b8992b9028d286f40ad5fb73bf5244 SHA512 6c462c9dc14c3fbcf2b521ae11b0f8df7aeaf04d2859e203fb6eefc8cf4ec8cb2498ba31e07907f21a06ceaa5768e4e24d4efc10de155ce49cceb65ea6e9ab1a
MISC metadata.xml 790 BLAKE2B 33e4a37225c8f5bd142c5cbbe097ad3330f6c5b1115f834c1c20613281bdc0afa0927734ec3b0a2b1da595980abeec2fcf2bb20e725f5701590d1c3629972910 SHA512 5489797d3771c405edb4c9883082f780279470d7821dbdd1a4790bcdc74c0e31327c8f15286dc421bfe426d7371d6be2819e707389f425101e2d0d0577475586
diff --git a/dev-lang/elixir/elixir-1.10.4.ebuild b/dev-lang/elixir/elixir-1.10.4.ebuild
index 74f24bfac275..92194d02cfc1 100644
--- a/dev-lang/elixir/elixir-1.10.4.ebuild
+++ b/dev-lang/elixir/elixir-1.10.4.ebuild
@@ -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.9.4.ebuild b/dev-lang/elixir/elixir-1.9.4.ebuild
deleted file mode 100644
index 40218d815fee..000000000000
--- a/dev-lang/elixir/elixir-1.9.4.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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=""
-
-DEPEND=">=dev-lang/erlang-18[ssl]"
-# 'mix' tool collides with sci-biology/phylip, bug #537514
-RDEPEND="${DEPEND}
- !!sci-biology/phylip
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch
-)
-
-src_compile() {
- emake Q=""
-}
-
-src_install() {
- emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" install
- dodoc README.md CHANGELOG.md CODE_OF_CONDUCT.md
-}
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index ce29c758f8cb..4c664f686d77 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -5,22 +5,17 @@ AUX epmd.init 534 BLAKE2B 34230f6c6edaed48123369df02f5fb71deb90491ebbb6d17984220
AUX epmd.init-r2 388 BLAKE2B cf8f1b3bfaf5c0bb1a7acebf41e1c1138b880e91a5c732cf3f8ddcaea469f0bcb32c9b3bb1fc5c923a3d7d1f77ca419ae3b4c25223d6da9499c627d2cd20b545 SHA512 110dc6575eaecf88164283042210a8580642fa5c9f49a3529bb0d5cda683f9ae024f1c7da791c0d7bfa8aabc3baf29bb821b5640804b313bb6ffee41401a8eb2
AUX epmd.service 138 BLAKE2B f56c907ec51bb85c437235334cf01c6a43ccf2316be3b226ab557e3f71cab48baf59b5a9533a4dccb2cb61a4434e3a51d44eae06010718dbf9a732d605c40f73 SHA512 405740f8f9cd55d4ecd7420748399ab3f374b7cb09e53605f44ba49d0af86b70e4a1baf1fde05a703fb90c8a83dbcdd5cfbbf09185e9d7b58ff9612aefc2dd28
AUX epmd.service-r1 159 BLAKE2B ec50e4bfd89dc2d35fc2e549c695f9aae163d3df4d3c7a0d3f85f0f747c13a8aed9c8e9e57f3898ab31aec6795d7cd0565a7c563dc77f3f6154e53be88ec326d SHA512 4b99b2092fe447fa01e3badfce261bca6400ebda70f890efbacc40570019adfe9fc349a6d024955e2f1909c9068f37415b64d0a104399f2696eff6ccf6ad06ab
-AUX erlang-20.3.2-dont-ignore-LDFLAGS.patch 1337 BLAKE2B 7272c96b1ee947a98f0a5b1f3bd1fce11e8d02f121348208196ae60af965dfde7fac15263ca0a58df96dff21785a1a63f4fc10f7e7e10c0f68a618e760e5ffd7 SHA512 59d39b1680ac3406e4c37f81a0207588208a873279920258235af54700f80bd67584c3e55c9278f893cd7813573bbec8b13195e47ba00101fc578d5a2b40fa34
AUX erlang-22.0-dont-ignore-LDFLAGS.patch 1174 BLAKE2B 64900c6b934ecbd11238e604f907e6f8b1ec2730d2b98aad5405383742563e050bc6ffaae22d55a22998658460109fac9f6628458f5e976e9fbfe71cc26f1d64 SHA512 0fd7cbef64a9a54e0959d49b50096f9abc6fcede4360c153631c7f649f5c41b35ffb1f2d06f80964bf49421464bcc43c96147c227d60cf413c51b3e89ae9ad24
-AUX erlang-add-epmd-pid-file-creation-for-openrc.patch 2359 BLAKE2B 54a3148144bcbb9a4dd68e89fd609a09a9e9a0a9c7a71a4e9eaafc12632e23da44411d72c1590e482fda73d5464b1071386aa564b8d9a73b032b62c474d20570 SHA512 301aed1980a8638a8cd069ecb6e968e5c15d3e82b38580861a0ed6a2fc7a9505d99525a53a6ac19c2d9b786703aac6bf51751275a6a7fafd8f530c07ea0c7e8c
-AUX erlang-custom-autoconf.patch 398 BLAKE2B c99d3bc311bbca379786b9e4d29ee4983354a069508328c95e99a62bdfb8d15dbf372124acdf66c603f64acd9cabeb146e5bd5ec1e1ffd09af125fc4a076abdc SHA512 b82e09d0cd686c07b9d370e397edda10bd96435e70f4a0995ec06638e237e3b8fd0e1195ecc036b51367ffa36a0b4db5a2b1fe5d389a0b97e19d32aec51755d9
-DIST erlang-21.1.1.tar.gz 53854332 BLAKE2B 32ab508b5a305eb92eac9f49bd513374c573966e7565d98aa6ba986ce42eb955a46130b9f33dbb415f48de5c179b308a8b06b345a844afcb2700f7e3f257f27e SHA512 dc11aace126aad5411b0d583579fe95a7263be328612fdc9f9c02d917aef7ea7a128b1e54ddcf7a52232980d2c81fc8e90ae5a8806ee5ae6ea97f00a9cf3faab
DIST erlang-22.3.2.tar.gz 55856668 BLAKE2B d5d2ae17b8fb1b7c3da0c145e4e17d38e47d5291d6bc77228c9280eaa114630003f0e75cc0b6eafd21642a86448d8fd907d95c006cdfe6f18978e796e20585bd SHA512 02333fed57394012834452aff38d9a3340c52b109b14e444b6e7975ac3a65485de1deda6ae6c732a28f75ca2518000de576f70497118306699e35af5f249a0d1
DIST erlang-22.3.4.tar.gz 55861416 BLAKE2B 881eb664ea449fa021cdb6daaeb998ea5f736eae0900ad67c1416c0e0e0888b212e1fd1fc0ee655f1c05821b56bae52f150c3f29c2eddbac205d2a6f2fce5494 SHA512 14e90efb40568a1fd7a32b82fcdf32df8ccbda938b9e538bb3b1a77d343ae16f5721abb3d47e8dd567d7aa91d1dea6da8b7ada8a5cd8d33c38ba324f1d65eca1
DIST erlang-23.0.1.tar.gz 56387006 BLAKE2B 4ecbb5a4de0f83d80da179071d5bed7c6e7eca11f5f8f8c5681673967eaf6f0573240b9ac59e00e7162fdaa3d41e89b357263f47371f0ff9365b448a9f7cf4a9 SHA512 fc9114312327f2b7289078b29ae658a1100c860dfae03e892c1b316007b5ff286cfc301772b336eb1f5b983b3d5f507f03eff2917f418b1b9cb9714f42a59db4
-DIST erlang_doc_html_21.1.tar.gz 32692731 BLAKE2B a7fa8ebe1c876ab7eecd2dd46ffd4d288db6d308e0f131d53c26ee4b67a92cb6fcb89b6c880ef34df395c7ad61fcdc81eac32e0fcf7336be7d517263218146bc SHA512 0d659f55bfb01eecf140a310154724489ef56b6ccbe9ac30f6b053f598276721b80de7b5b3200707cf8a6e77b8854eae5453f655225f431fcc982550539f767f
+DIST erlang-23.0.2.tar.gz 56391276 BLAKE2B a9f3203a28dfb3a8abe93f7cabd34b7c34346cf400dbad751c180dcbe33c40761c74680ef7ed1a3221a69c0519f37183787463f659e5a10393404df95c59fbec SHA512 82764ab879ea7588de505c6d58716999dc207163d8dcded226fe6849a3239c00088cb614558b77c038dcad1440f9b2e3ca2b2f1251df5d71b423d3f6e7497c6e
DIST erlang_doc_html_22.3.tar.gz 34041790 BLAKE2B 76372acf5d6a581fb97cac9fa8230f1505650e9398d0a8e6ed163718f6d64cbbb3b7c79a1b7129827482345ddf950be4a5d83f0dac44e173f0ef45b148b73faa SHA512 9199b6229b73a22e271c232ce03b83b65c265367062d57ca5babd23a2f0a088fde3054b25c65c1bf2cb714cb70354ce4324aa8e865db72beb1f788c27389558c
DIST erlang_doc_html_23.0.tar.gz 36238699 BLAKE2B bce5fb1d766d3a795728cf7c00529129690f52e5dbe7363095cb7e63d5331a4dfc05c2042d24f10c7f3facbd187284aa323a92c0ed7515c1750aee4cd890fbd4 SHA512 bd0b1adf8639674d31152024e1351105249c6e6f93f28362e9e4b66ce6daadbe5eef5917a5889c926130e81bd000cfc44895ebaa309bf9a0c1c125713b715927
-DIST erlang_doc_man_21.1.tar.gz 1317726 BLAKE2B 5e5c2b77a41da6ab9ae1264ba5824a9f3bda6d3b7a824b372e01356888db437ed9e45bf987d678aca3fd8d0f0e6dce25080c7a2aaa4e061936f1e6ac4717e843 SHA512 94c6191ba9f42bffeb398e865026fbc79f3b233389c7d471f0c680799aa3669e97ab5305cd53f26d6525aed33d738ebfc4eb79a8f1a0b29dc4b79a2a37a29a4f
DIST erlang_doc_man_22.3.tar.gz 1366911 BLAKE2B 89931e9ea4ef54526eb910d3b0a56711e447dffc0463d7583db8875b9be789fd369f701eb7b6fa5da7b63de3f41a8e4ba15db6db02d90642a8b322f3897d7a2b SHA512 b47c66ebd34d2f511a702e97acd67eff7c5d47045a80ffb17b21032a9b9725b015cd171b78c04e3169a95f0acdbdcab57647b31ace751c9019ce3f7c75d743b6
DIST erlang_doc_man_23.0.tar.gz 1383486 BLAKE2B 63a9989c26797fe07fbd0ccca0d8425d94bc60a86fa93b5332c8d1f3e12a0071d9e6d4759be73bf44bf35dd14723b9e6707a84ba834e1775bc28aeec1edbe168 SHA512 81575ce7b267f5bb48bd844808e8edd4e373640bbc481372b288602eb9d3c9917e6c7c040c035b63a2f6edf437c3d826d6afdf5801765b51d9edd4a3b2a5b16f
-EBUILD erlang-21.1.1.ebuild 4623 BLAKE2B 79bf14c9cde34623bbabc16d9cd47e299987d7f50f17d01445c375a6523a8c1bb5f0ef3ff01d8d3dcc3765b089c6572c8ad2d7429fa5a0019d928d9cb833316d SHA512 3bf71f12301afbf94920e504c72a53b194fe11930116a2986bbbb656ceff1e0b8ad2dbdd9ed616e20d1caa9f7363c94a3d4841c9430d6ff54d51e08cd02eecd5
EBUILD erlang-22.3.2.ebuild 4569 BLAKE2B cd3901f37bb9156c4f4b234aefdfb02fea06c9cde15622e428c73b05f29c70c02c82415359d1ad68f665b88a0a13d6e0177c46ea1b992cbd2d01af2f3912d2ef SHA512 ee49c37719ab86d5f2335336cccd9b9264906f8d9af315fc5abf7a5ff4564d38d763eee1c3450489117aaa69697bb2948c1f5cc9fd8401c7866423a620ce5ea5
EBUILD erlang-22.3.4.ebuild 4574 BLAKE2B b55208b5f2c15f62d6687f3ad44e54f958323cb7ae771d4f3313acf5a57edc30a51e0f0c2477765a591a1b9035029094894d8776567bc4996bfa9a5ace1a0b72 SHA512 0d17ac78b892861017bd245444e06eefc52761da19eeb663aaa26b8ad099cc4b1fcfa553353651670f1a575a00ef06805b6e7db97c789cd3dc2fcfd1a3c1f68e
EBUILD erlang-23.0.1.ebuild 4569 BLAKE2B cd3901f37bb9156c4f4b234aefdfb02fea06c9cde15622e428c73b05f29c70c02c82415359d1ad68f665b88a0a13d6e0177c46ea1b992cbd2d01af2f3912d2ef SHA512 ee49c37719ab86d5f2335336cccd9b9264906f8d9af315fc5abf7a5ff4564d38d763eee1c3450489117aaa69697bb2948c1f5cc9fd8401c7866423a620ce5ea5
-MISC metadata.xml 905 BLAKE2B c1277904d14789138212ad1c83291d30301558aba707d1eb43765573c32617bfcb0eea43acc80225870cf2fbab011920b64bbecbdd28d414d73eb3c86a00937c SHA512 f79228f075fc6ac58785bc8a6c574546674b7ddd6c4f7420cb616414cf5178c2fa08284668b0d863ae3638891567184d1e8a490e31c4e093724ebff5c177a461
+EBUILD erlang-23.0.2.ebuild 4576 BLAKE2B 353b65f6eb48e225be8e14ad5dc281770b6efce60e72aae1bbbd55fbbf25a6d8b9386582917c254b7bc61626f7d74740607f91f16a2e5e02526b2c64f56f0cf4 SHA512 57c912e9673e6889bc06088750c8faeccd955d7425df9afb0cff1093b7468e3ee596ac9935c1b1fa13d93392a3a9c75aa1e9b949522bff706546ac6f00b411c2
+MISC metadata.xml 834 BLAKE2B 1f394278eed4a3ac5e1c04f4ffced7042cc910d9e84ed4ad955cf91240446410f0ffbf1c138cc76cfa55d40c0eb0f110da98cd49c59df2b12ae70c13afd45a06 SHA512 7c067d233ffae83e4b1b55ba9e8adffe125d27f5f81401a4e4262d9b713b08bdaa4dd927570b2d32591092ca387372ee206e25e0b939ca721c96317fcd3d2be2
diff --git a/dev-lang/erlang/erlang-21.1.1.ebuild b/dev-lang/erlang/erlang-23.0.2.ebuild
index b88fb159aca1..eaa8647e98c1 100644
--- a/dev-lang/erlang/erlang-21.1.1.ebuild
+++ b/dev-lang/erlang/erlang-23.0.2.ebuild
@@ -1,10 +1,10 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-WX_GTK_VER="3.0"
+EAPI=7
+WX_GTK_VER="3.0-gtk3"
-inherit autotools eapi7-ver elisp-common java-pkg-opt-2 systemd wxwidgets
+inherit elisp-common java-pkg-opt-2 systemd wxwidgets
# NOTE: If you need symlinks for binaries please tell maintainers or
# open up a bug to let it be created.
@@ -22,10 +22,12 @@ 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 ~x86-macos ~x64-solaris"
-IUSE="doc emacs +hipe java +kpoll libressl odbc pgo sctp ssl systemd tk wxwidgets"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
+IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
RDEPEND="
+ acct-group/epmd
+ acct-user/epmd
sys-libs/ncurses:0
sys-libs/zlib
emacs? ( >=app-editors/emacs-23.1:* )
@@ -47,9 +49,7 @@ S="${WORKDIR}/otp-OTP-${PV}"
PATCHES=(
"${FILESDIR}/18.2.1-wx3.0.patch"
- "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch"
- "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch"
- "${FILESDIR}/${PN}-custom-autoconf.patch"
+ "${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch"
)
SITEFILE=50"${PN}"-gentoo.el
@@ -57,9 +57,7 @@ SITEFILE=50"${PN}"-gentoo.el
src_prepare() {
default
- ./otp_build autoconf
- find -name configure.in -execdir mv '{}' configure.ac \; || die "find failed"
- eautoreconf
+ ./otp_build autoconf || die
}
src_configure() {
@@ -70,25 +68,16 @@ src_configure() {
$(use_enable hipe)
$(use_enable kpoll kernel-poll)
$(use_with java javac)
- $(use_with odbc)
$(use_enable sctp)
$(use_with ssl ssl "${EPREFIX}"/usr)
$(use_enable ssl dynamic-ssl-lib)
$(use_enable systemd)
- $(use_enable pgo)
$(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
- --enable-threads
)
econf "${myconf[@]}"
}
src_compile() {
- if use pgo; then
- # disable distcc and ccache
- export DISTCC_HOSTS=""
- export CCACHE_DISABLE=1
- fi
-
emake
if use emacs ; then
@@ -117,7 +106,13 @@ src_install() {
emake INSTALL_PREFIX="${D}" install
if use doc ; then
- local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* )
+ # Note: we explicitly install docs into:
+ # /usr/share/doc/${PF}/{doc,lib,erts-*}
+ # To maintain that layout we gather everything in 'html-docs'.
+ # See bug #684376.
+ mkdir html-docs || die
+ mv "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* html-docs/ || die
+ local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" html-docs/. )
docompress -x /usr/share/doc/${PF}
else
local DOCS=("README.md")
@@ -149,8 +144,9 @@ src_install() {
elisp-site-file-install "${T}/${SITEFILE}"
fi
- newinitd "${FILESDIR}"/epmd.init epmd
- use systemd && systemd_dounit "${FILESDIR}"/epmd.service
+ newinitd "${FILESDIR}"/epmd.init-r2 epmd
+ newconfd "${FILESDIR}"/epmd.confd-r2 epmd
+ use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service
}
pkg_postinst() {
diff --git a/dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch b/dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch
deleted file mode 100644
index 32dd89e0d6c7..000000000000
--- a/dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 69043168302ec7c0bcfaa8b1fb56bfae500bd139 Mon Sep 17 00:00:00 2001
-From: Nick Sarnie <commendsarnex@gmail.com>
-Date: Sun, 8 Apr 2018 16:11:55 -0400
-Subject: [PATCH] Don't ignore LDFLAGS
-
-Bug: https://bugs.gentoo.org/263129
-
-Signed-off-by: Nick Sarnie <commendsarnex@gmail.com>
----
- lib/megaco/src/flex/Makefile.in | 2 +-
- lib/odbc/c_src/Makefile.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
-index c37ad4d702..400024ca0c 100644
---- a/lib/megaco/src/flex/Makefile.in
-+++ b/lib/megaco/src/flex/Makefile.in
-@@ -66,7 +66,7 @@ endif
- CC = $(DED_CC)
- CFLAGS_MT = $(CFLAGS) $(DED_THR_DEFS)
- LD = $(DED_LD)
--LDFLAGS = $(DED_LDFLAGS)
-+LDFLAGS += $(DED_LDFLAGS)
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- PERL = @PERL@
-diff --git a/lib/odbc/c_src/Makefile.in b/lib/odbc/c_src/Makefile.in
-index 784e73c47e..51c023f710 100644
---- a/lib/odbc/c_src/Makefile.in
-+++ b/lib/odbc/c_src/Makefile.in
-@@ -82,7 +82,7 @@ CC = @CC@
- CFLAGS = $(TYPEFLAGS) @CFLAGS@ @THR_DEFS@ @DEFS@
- EI_LDFLAGS = -L$(EI_ROOT)/obj$(TYPEMARKER)/$(TARGET)
- LD = @LD@
--LDFLAGS = $(ODBC_LIB) $(EI_LDFLAGS)
-+LDFLAGS += $(ODBC_LIB) $(EI_LDFLAGS)
- LIBS = @LIBS@ @THR_LIBS@ $(EI_LIB)
- INCLUDES = -I. $(ODBC_INCLUDE) $(EI_INCLUDE)
- TARGET_FLAGS = @TARGET_FLAGS@
---
-2.17.0
-
diff --git a/dev-lang/erlang/files/erlang-add-epmd-pid-file-creation-for-openrc.patch b/dev-lang/erlang/files/erlang-add-epmd-pid-file-creation-for-openrc.patch
deleted file mode 100644
index 56e3946c93fa..000000000000
--- a/dev-lang/erlang/files/erlang-add-epmd-pid-file-creation-for-openrc.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 04ace92c33a699f75445dc99c30d521311aba826 Mon Sep 17 00:00:00 2001
-From: Steve Arnold <nerdboy@gentoo.org>
-Date: Mon, 6 Aug 2018 16:38:30 -0700
-Subject: [PATCH] Add daemon-mode pid file creation when not configured for
- systemd
-
-Signed-off-by: Steve Arnold <nerdboy@gentoo.org>
----
- erts/epmd/src/epmd.c | 39 ++++++++++++++++++++++++++++++++++++++-
- erts/epmd/src/epmd.h | 3 +++
- 2 files changed, 41 insertions(+), 1 deletion(-)
-
-diff --git a/erts/epmd/src/epmd.c b/erts/epmd/src/epmd.c
-index 44e997e609..c74888a1ee 100644
---- a/erts/epmd/src/epmd.c
-+++ b/erts/epmd/src/epmd.c
-@@ -40,6 +40,37 @@ static int check_relaxed(void);
- #ifdef __WIN32__
- static int has_console(void);
- #endif
-+#ifndef HAVE_SYSTEMD_DAEMON
-+static int create_pidfile(void);
-+static const char *pidfile = EPMD_PIDFILE;
-+#endif
-+
-+#ifndef HAVE_SYSTEMD_DAEMON
-+static int create_pidfile(void)
-+{
-+ int fd;
-+
-+ unlink(pidfile);
-+
-+ /* open the pidfile */
-+ fd = open(pidfile, O_WRONLY|O_CREAT|O_EXCL, 0644);
-+ if (fd >= 0) {
-+ FILE *f;
-+
-+ /* write our pid to it */
-+ f = fdopen(fd, "w");
-+ if (f != NULL) {
-+ fprintf(f, "%d\n", getpid());
-+ fclose(f);
-+ /* leave the fd open */
-+ return 0;
-+ }
-+ close(fd);
-+ }
-+
-+ return -1;
-+}
-+#endif /* (no) HAVE_SYSTEMD_DAEMON */
-
- #ifdef DONT_USE_MAIN
-
-@@ -340,6 +371,13 @@ static void run_daemon(EpmdVars *g)
-
- umask(0);
-
-+#ifndef HAVE_SYSTEMD_DAEMON
-+ if (create_pidfile() < 0) {
-+ dbg_perror(g,"could not create pidfile %s", pidfile);
-+ epmd_cleanup_exit(g,1);
-+ }
-+#endif /* HAVE_SYSTEMD_DAEMON */
-+
- for (fd = 0; fd < g->max_conn ; fd++) /* close all files ... */
- close(fd);
- /* Syslog on linux will try to write to whatever if we dont
-@@ -614,4 +652,3 @@ static int check_relaxed(void)
- char* port_str = getenv("ERL_EPMD_RELAXED_COMMAND_CHECK");
- return (port_str != NULL) ? 1 : 0;
- }
--
-diff --git a/erts/epmd/src/epmd.h b/erts/epmd/src/epmd.h
-index cffcd4ae7a..e53322acf5 100644
---- a/erts/epmd/src/epmd.h
-+++ b/erts/epmd/src/epmd.h
-@@ -20,6 +20,9 @@
-
- /* The port number is defined in a makefile */
-
-+/* The name and path to the pid file */
-+#define EPMD_PIDFILE "/var/run/epmd.pid"
-+
- /* Definitions of message codes */
-
- /* Registration and queries */
---
-2.17.0
-
diff --git a/dev-lang/erlang/files/erlang-custom-autoconf.patch b/dev-lang/erlang/files/erlang-custom-autoconf.patch
deleted file mode 100644
index 5ae7b43ba289..000000000000
--- a/dev-lang/erlang/files/erlang-custom-autoconf.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -ur otp-OTP-21.0.5.orig/otp_build otp-OTP-21.0.5/otp_build
---- otp-OTP-21.0.5.orig/otp_build 2018-08-10 19:02:51.000000000 +0200
-+++ otp-OTP-21.0.5/otp_build 2018-08-15 23:44:59.417191209 +0200
-@@ -1343,7 +1343,9 @@
- do_lazy_configure "$@";
- do_boot;;
- autoconf)
-- do_autoconf;;
-+ create_lib_configure_in
-+ distribute_config_helpers
-+ ;;
- configure)
- shift;
- do_configure "$@";;
diff --git a/dev-lang/erlang/metadata.xml b/dev-lang/erlang/metadata.xml
index d5a2bb56fca6..7e9a773063d1 100644
--- a/dev-lang/erlang/metadata.xml
+++ b/dev-lang/erlang/metadata.xml
@@ -16,7 +16,6 @@
<use>
<flag name="hipe">HIgh Performance Erlang extension</flag>
<flag name="kpoll">Enable kernel polling support</flag>
- <flag name="pgo">Build erts with profile-guided optimizations</flag>
</use>
<longdescription>
Erlang is a programming language designed at the Ericsson
diff --git a/dev-lang/ghc/Manifest b/dev-lang/ghc/Manifest
index 6dfad7b660ed..99af02c5c17b 100644
--- a/dev-lang/ghc/Manifest
+++ b/dev-lang/ghc/Manifest
@@ -61,6 +61,8 @@ DIST ghc-8.8.2-src.tar.xz 19365816 BLAKE2B 85dbd2a4696755f43c28ec578d5ecfe706b27
DIST ghc-8.8.2-testsuite.tar.xz 1976924 BLAKE2B cec6c5dab1782332aca6364f995cffc1e9f3506649c3410b6eaa220e665b66f033dfad8ab6cae7677e15a6a1bd51237ed491b7fd04a19fa1d4f9cd8904617c64 SHA512 0fc41a0b3cb5f172442863c8a3b1cf549f2f660a070965e6083baa2c90c27b6a7c17550625105799010f4329dc189f4e392c86991844a9704a3e3a72a6d4e2f5
DIST ghc-8.8.3-src.tar.xz 19343672 BLAKE2B 4b33b4a386926f0ee625c7c18a3997f02bf664b8f553d7cdfb231553bf9510f44f72c0b46911539f6209f28ecab52ee520e61e2c9e750cc217b170b3596ffca0 SHA512 7db0d820a288e56bd32935cc03584295900605f6e7cac6fe6adcb3ec6c24d8d2cebf7a8efa421f2d2fa192602d7f24dfad1ddeeba252455e4cb8baa9889dcaa9
DIST ghc-8.8.3-testsuite.tar.xz 1965236 BLAKE2B 9cd10769336513284d8e0fbca1c3fce9e298ec67eb63eb10d41087fccba0f6281f1509aee684778fd23710ffe65843c43b4042e6692940af67766056c4503273 SHA512 4ebf3eabcd7591762dfcf45716b06293fb14c00b51307f7788c90dcf4e01f67e6bbb7a887b74d8d30272919486441ac236b42a54c4874aac69d90391b76f81c9
+DIST ghc-8.8.4-src.tar.xz 19395252 BLAKE2B 6fa898b9552398a724f0452f5cc88ba073264a5645288c73507258959efec40ce5a56a0eaafdabe58f15c5a9210b2c9da5954411dff5c81c52e061569d6a350a SHA512 efd23bd819f7429486696a3a929a040471db7ea8a2d1f1d832e4cf0825b9e1e0c5e6ecad0ab8376f58b74e9c28c1d2f773bd126596d6d853c9e57d57e5ceb090
+DIST ghc-8.8.4-testsuite.tar.xz 1965820 BLAKE2B 3b715700561788b8abdc986961d533b91399461d57a1686ededb4ccc36881503cdc3fc126b9a7b204a728c24b9a9ca97320142348644367aca9b47c87a5b3b51 SHA512 79d8fb0ba8de0fb48c938bd54c8c3278f1895d8ce5c700ce8cf6b3fc550073bb757208e85d4f9818400ebecca96f51d9248b8bbdac9eb2995671756164d08c16
DIST ghc-bin-7.10.3-alpha.tbz2 183558856 BLAKE2B 2bb02aafa49c6a91bec016e8bec2d07257d602e53c9df55792ec6fbbf8e2e46de1d5f3f72c0ccf74d6bd7f7987f53412063ccb02ae85455fce11fa928cbf5291 SHA512 08709fe9b4036ab41715c9a637a2a160104e3ab9e0ed9efaaf73428e3cfe19619e50c42b72c60bbbd27be2b9c2ea68f63d72c1a27d4519756e7c0d909f724230
DIST ghc-bin-7.10.3-amd64.tbz2 112040431 BLAKE2B 3e59b70ca309a1cd704266c54a7983f9a58362bf700ced89c5649c780c664c650ec091e14026a7b84e339d2ebff39eba1772eebcd9fb4b99b9c99d179453d5cc SHA512 e1554b3944edbe8e16537de5a29132dc6a22d780d9a700cdc9b76387b94191164398d6f2242bf8199527802572e2bb02545569d4f0930a0ee0dbfdeb25978558
DIST ghc-bin-7.10.3-ia64.tbz2 238680956 BLAKE2B 08593718d376051edfb0c86131e54dafc5c15056757fbeef90c653a7d217e49ff34ffaf7cd4083144c9277e73a290b822a0f889aaf806341375708e4b92654b2 SHA512 3694011aec8a6dc37889418b318993cb82f9b46a5175dd837713f396c8f59a19a920e0b0669fe3b4ec37d5bd8837c115264c0a8fc97c5a4ce06a3bdd52fcfce5
@@ -106,10 +108,12 @@ DIST ghc-bin-8.8.2-i686-pc-linux-gnu.tbz2 120289601 BLAKE2B df65bc6aa4ee22c979b9
DIST ghc-bin-8.8.2-x86_64-pc-linux-gnu.tbz2 118957404 BLAKE2B cddedbb0fe8d38e9821bd8f51f5177d35922b25bf4fc8a537e921443560f141cdef44e54a0b4ef2dde07dbe33d9c1cba2e67ba80db4313f67e9bac089d967f56 SHA512 b0b801dd6abe9f5e6217e18568e2911dbfea11b1b45ff526950e87c73a34bcd597afc5105fcff2dc46bb13cf95e63db90c0d24ca9babf174b397a53001e8e0ac
DIST ghc-bin-8.8.3-i686-pc-linux-gnu.tbz2 120243899 BLAKE2B 7f932523a71dcfd4cdd468bf67f470a942c314888c0093c21c211d54b3e158f45f051f027c78644a651047d81e809e1422bbaa5043e8559c6a4622ac0472f7e4 SHA512 12bf08b85652fd061849b9adb528d7a5c6fe9c2260cf02b92fab470fff16c3121bcb4e0f7044d05f252012083d622a1a490fa7f7c949142a3b5d03ccf0dd3ebc
DIST ghc-bin-8.8.3-x86_64-pc-linux-gnu.tbz2 118988294 BLAKE2B 4e5aa3844934ae2726bf9c8690acd5a887f10cd49386ffadbc536f9309d33b3894b49507964eaf0d8a052747eb33aeabbe4d2cd22493297c295cf9414fcb766c SHA512 dd656157fe744c1df1c8ed34d1129ec358b26f3042c6da68e704e0f6a45d8114789000479e28a06dc16961afb283b3c666b427025590498a3d2da9b741b435c7
+DIST ghc-bin-8.8.4-i686-pc-linux-gnu.tbz2 120336081 BLAKE2B 55dfbb90d5e55c2af5e93c69249828a85cd9171c164b80dfdaf86512972b2c6854c8e4f07426af4ab52a5fb1a85d96a58c2cf003fb02372c55428001cfaea491 SHA512 ad3b83344349976d3253934195b2dc6299648391572b13735943c5ea2239c031c19b0cafd86c16cfb0c061e73bc72e9248f9c1731494a9a15fbe188f02913c12
+DIST ghc-bin-8.8.4-x86_64-pc-linux-gnu.tbz2 118897883 BLAKE2B a180b2dd1a3bc222044ece809ad700aee29d0c3e75b57ee9af3ca33c9c0f59dbf36f68202f746d99f80915cb717a9c41fc12db507f1cb469981732703a06b9cc SHA512 9d4be02dbd9704c93ef18feb92ea30bd5d590df31f288bf1b364818424c5019ca9ada26eec88418199f90ae8f4459d0a9352104e3f3186bbdc241891eb1b66c4
DIST hoopl-3.10.2.0.tar.gz 241940 BLAKE2B 0ed7bf80486767c81415f99da8780a525401c388dea0b3f380bbecceae9cc7f66d8b5d0d7b31f8cb41796309b7a93adb113485efd14882f8af321989ce900a9b SHA512 083baa8a5eb53247aff8d5b9b2144e0f63adb9400934297bbd80bfcec607dd90a34def4301045a60472ef10b0fb90ab84692fc08f786e7f806c28afdab1ef66a
DIST transformers-0.4.3.0.tar.gz 28632 BLAKE2B 92cabcb654bb11854a3bffbb1262f5cd62eda1aff447157086a61ebc451ebf2fddec53b6a2cc058174f24f0f0e32df671d3717e30a542c8dc90cb87e327d990c SHA512 c3ec0893ebba4fbd6087c3202e919552c4a9bff3350b5c0589e7ebb18751a515d98b8cac15b0a3252906ea72b5a0eb09b7fe88c8da88b09d6ce4fbf0f50b2780
-EBUILD ghc-7.10.3.ebuild 21685 BLAKE2B 27209692a1e53a89a0193664111e9e11baa9676e59cdfeb53debc7ef66c2bfbb3c2bcac70e290cc72d709eccbad161f857b5b4c8fd75c0314dba253518d0b429 SHA512 ed0f7de6a72dee599199a3fa33787bc6edac4e758ed02b929462d728fda0e1bbe185c7ffaa5ddd0fec0614c8669b02d72bea6e776150df3b4a406448698188ad
-EBUILD ghc-7.8.4.ebuild 19820 BLAKE2B 1bcef49b936c6c5df0a2af440425c6df3fa88438608da83b8b84ae4976a751cb5afbb733a0dcaf0c78990302733c24be23a024c17e7cbeeefe98f8cbcf334dd2 SHA512 d710f30c782c475fd83b149492f39a12fbba01d94bd8f12cafa0f717f8971ce0f0a39a1e4409732320b2c2af9011432e7ec747ae15608592dc5c5853a600ae8f
+EBUILD ghc-7.10.3.ebuild 21673 BLAKE2B 9bddf804dbe6e8ee1ab8a21e8d31c50ed40c4b2641bd83dd1b9e83954449e1a6bc77835a3f012885eec45d3019b03094c328cf2821e16d293d8fa97858180e94 SHA512 2dac83051c8e5215450f0596decc4a56e0aefff06c5ec673967a46aaaf779042349d63b5e0da0284faa0036c1315101d0509c06c9d550885cd0efae41eccc876
+EBUILD ghc-7.8.4.ebuild 19808 BLAKE2B ce921fa76b8f089e80a2766c46939e0b11bf1ba992aa23bb91cf1ad03adb7cae222c2690c4273dd4f9b47912d678bdd6484df2c1f26643b0221a0b70792c6de6 SHA512 ddb849f7682d5e9a98745227c99bfcd54555b0740802641ec444e3933f8ecb9a2f26e0a4c41d532eb7a6643d42d932028120424efcfac771ddf17bb7230e6294
EBUILD ghc-8.0.2.ebuild 21608 BLAKE2B 7cfbdaf9fa3f2fc2771e48a32d235c50aad5f7db427df443d141c5b32cee52c80a216a0e856eae57bdbf1d115bd1e15056516412172b95757f7f904c15d2a26e SHA512 aa48e12a06818945fed9f4b13a25bd287d988b7fb8aedde7cb32ec35ffbf2f9780c4ea9285fe9b0ff71486467c4fcaf7f97f2455955d8373e7393902a85bf869
EBUILD ghc-8.10.1.ebuild 25752 BLAKE2B bb83a12266104ab88d62850ffc258af002688b2a1cbf66856d577292ae81abeaf4db527f8c8e27bf427a2a1de8b099871cb4deda3bf5f24d6a08c167dfe2dd28 SHA512 93b0c2deae41a82ccdda8d06c0180ba9029716ca81b09ed0286cb734170dce2b6aed54297a40c145dcb7c2900698ec2d45394377514be76b3eb9bb3dbf21089d
EBUILD ghc-8.2.1.ebuild 24841 BLAKE2B cefde1d2763d9e33b151a3a8ef1f9f5e8cdd308314301bd4ca5420a71c4237f9f8291ed37db88eae9d7d0606277fd3f4e45a15c31e17062e5acca3b989cd5331 SHA512 205a0ec31af711eb874fb2f356d2d3a64e0b5d8b8135ccc96eb9601e61765bf6ff4a4ceac027fef63994a8d17e76957c1ba498e5db9a1ba46ace819f82ec9d4b
@@ -122,4 +126,5 @@ EBUILD ghc-8.6.5.ebuild 25616 BLAKE2B 2c1d3564cf1ae2589f173d0af3aa830c2fbf24228a
EBUILD ghc-8.8.1.ebuild 26268 BLAKE2B 499c7ad9466ea8fb925d39ff5a9fe301c4957909f200a69080242a546ad2d5a723a09db6d55422c13a7ef7a8f9ffc5e1cf1e0dbbd9ae121db7137a3a2f2e5646 SHA512 17af609df49af5cdcb7edc20c4a8ec7c5ca16bd4b0c66cb3326278dfaf50bad1a1339448dbb43d81dda692510037b718343a0111a3f39071cf5fb098d787f63d
EBUILD ghc-8.8.2.ebuild 26224 BLAKE2B 2cfc02babfb8a486c3497aef1ecc9c5698bc4624bb46a4f717ff1941733c4e6a5dd289b18f2887eb8edbaa4cf9e48e40c3298a0698e04e1340ca3e18a135bea8 SHA512 b90f763d343cf229cd7d313f6129e27b3e32265ebe6d0c3245b43668d3f6480deccea6f9c56f11714e38231ce66033d5ee75f68466a0856a7e9028ee386c7bf6
EBUILD ghc-8.8.3.ebuild 26286 BLAKE2B d90745ca181b16b314e43483b5a106534720625dd0029b2f98846da013baacb72218aefb6aa5be9a151d3044f9e17de248746ed86d8e6aa029415e0bd1216aa7 SHA512 a03262c9f56e7e5d06d5f403f01cd6fed5fa18964718956c9e795ed7e0e20019a0426bb92af899f8b14ab652bbaec2fba5b6ff943b5645a46a56875a41a37738
-MISC metadata.xml 878 BLAKE2B aa6aa11c4c60763eb1d29253a6b63057ce98b16dce26d46de216064809665330102cb5313258197a95dda4be91ff843fbe778090110460883f5a367fe4837afd SHA512 97c636844d70431fc41a39318d2d29bf686fab362d0f962a95039c740ef91c6642f229539f34493e7a3f300211d6550a5a976d84d0fcef6f7dfaf026bcbc62e2
+EBUILD ghc-8.8.4.ebuild 26402 BLAKE2B ee496818dd158c899589f574cbd7422307c8712b1e15012f370b2e81e157d5d5d4d11531d60ea2ff9fc23d9c4bc04c9515c117bd5f579cc62df84e0b8a2c1fbe SHA512 a8d441ff83fcaa094d0fa3fe4a6499e7864957d34e21fe4d297db8be9ce044af1a10e4b905197cba2ac4c6c93a49f45cc3d05d48c5b64bf1c60142bd0816b3cd
+MISC metadata.xml 877 BLAKE2B 763db2ffce8c241ef55110ca08aa9f7383f14bbe7f96a443b438f027214e04f56f8216b0cd0d871e516a13f07a8a5a52835b0f75ddd3eb9ebd7faccd3a6b03d9 SHA512 516ad3cdb3b26b242668ae2bbf48628c8fb95fdc84ab3dc00afc940c68c2b78a7aa85634c228e9b3427963f0b86263d24ba043d0fd9ae57752e5075392a0322c
diff --git a/dev-lang/ghc/ghc-7.10.3.ebuild b/dev-lang/ghc/ghc-7.10.3.ebuild
index 1112d5068ae6..3baf85185f3f 100644
--- a/dev-lang/ghc/ghc-7.10.3.ebuild
+++ b/dev-lang/ghc/ghc-7.10.3.ebuild
@@ -72,7 +72,7 @@ BUMP_LIBRARIES=(
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc ghcbootstrap ghcmakebinary +gmp"
IUSE+=" binary"
IUSE+=" elibc_glibc" # system stuff
diff --git a/dev-lang/ghc/ghc-7.8.4.ebuild b/dev-lang/ghc/ghc-7.8.4.ebuild
index a8b740d67a78..dd6149e21e70 100644
--- a/dev-lang/ghc/ghc-7.8.4.ebuild
+++ b/dev-lang/ghc/ghc-7.8.4.ebuild
@@ -65,7 +65,7 @@ S="${WORKDIR}"/${GHC_P}
SRC_URI+=" https://dev.gentoo.org/~slyfox/distfiles/${P}-ia64-CLOSUREs-regenerated.patch.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc ghcbootstrap ghcmakebinary +gmp"
IUSE+=" binary"
IUSE+=" elibc_glibc" # system stuff
diff --git a/dev-lang/ghc/ghc-8.8.4.ebuild b/dev-lang/ghc/ghc-8.8.4.ebuild
new file mode 100644
index 000000000000..9ada4d7c1c10
--- /dev/null
+++ b/dev-lang/ghc/ghc-8.8.4.ebuild
@@ -0,0 +1,806 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# to make make a crosscompiler use crossdev and symlink ghc tree into
+# cross overlay. result would look like 'cross-sparc-unknown-linux-gnu/ghc'
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} = ${CHOST} ]] ; then
+ if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
+ export CTARGET=${CATEGORY/cross-}
+ fi
+fi
+
+inherit autotools bash-completion-r1 eutils flag-o-matic ghc-package
+inherit multilib multiprocessing pax-utils toolchain-funcs prefix
+inherit check-reqs
+DESCRIPTION="The Glasgow Haskell Compiler"
+HOMEPAGE="https://www.haskell.org/ghc/"
+
+# we don't have any binaries yet
+arch_binaries=""
+
+BIN_PV=${PV}
+# sorted!
+#arch_binaries="$arch_binaries alpha? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-alpha.tbz2 )"
+#arch_binaries="$arch_binaries arm? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-armv7a-hardfloat-linux-gnueabi.tbz2 )"
+#arch_binaries="$arch_binaries arm64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-aarch64-unknown-linux-gnu.tbz2 )"
+arch_binaries="$arch_binaries amd64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-x86_64-pc-linux-gnu.tbz2 )"
+#arch_binaries="$arch_binaries ia64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-ia64-fixed-fiw.tbz2 )"
+#arch_binaries="$arch_binaries ppc? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-ppc.tbz2 )"
+#arch_binaries="$arch_binaries ppc64? ( !big-endian? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-powerpc64le-unknown-linux-gnu.tbz2 ) )"
+#arch_binaries="$arch_binaries sparc? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-sparc.tbz2 )"
+arch_binaries="$arch_binaries x86? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-i686-pc-linux-gnu.tbz2 )"
+
+# various ports:
+#arch_binaries="$arch_binaries x86-fbsd? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-x86-fbsd.tbz2 )"
+
+# 0 - yet
+yet_binary() {
+ case "${ARCH}" in
+ #alpha) return 0 ;;
+ #arm64) return 0 ;;
+ #arm) return 0 ;;
+ amd64) return 0 ;;
+ #ia64) return 0 ;;
+ #ppc) return 0 ;;
+ #ppc64)
+ # use big-endian && return 1
+ # return 0
+ # ;;
+ #sparc) return 0 ;;
+ x86) return 0 ;;
+ *) return 1 ;;
+ esac
+}
+
+GHC_PV=${PV}
+#GHC_PV=8.6.0.20180810 # uncomment only for -alpha, -beta, -rc ebuilds
+GHC_P=${PN}-${GHC_PV} # using ${P} is almost never correct
+
+SRC_URI="!binary? (
+ https://downloads.haskell.org/~ghc/${PV/_/-}/${GHC_P}-src.tar.xz
+ test? ( https://downloads.haskell.org/~ghc/${PV/_/-}/${GHC_P}-testsuite.tar.xz )
+)"
+S="${WORKDIR}"/${GHC_P}
+
+[[ -n $arch_binaries ]] && SRC_URI+=" !ghcbootstrap? ( $arch_binaries )"
+
+BUMP_LIBRARIES=(
+ # "hackage-name hackage-version"
+)
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="big-endian doc elfutils ghcbootstrap ghcmakebinary +gmp numa profile test"
+IUSE+=" binary"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/perl-5.6.1
+ dev-libs/gmp:0=
+ sys-libs/ncurses:0=[unicode]
+ elfutils? ( dev-libs/elfutils )
+ !ghcmakebinary? ( dev-libs/libffi:= )
+ numa? ( sys-process/numactl )
+"
+
+# This set of dependencies is needed to run
+# prebuilt ghc. We specifically avoid ncurses
+# dependency with:
+# utils/ghc-pkg_HC_OPTS += -DBOOTSTRAPPING
+PREBUILT_BINARY_DEPENDS="
+ !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.17 ) )
+"
+# This set of dependencies is needed to install
+# ghc[binary] in system. terminfo package is linked
+# against ncurses.
+PREBUILT_BINARY_RDEPENDS="${PREBUILT_BINARY_DEPENDS}
+ sys-libs/ncurses:0/6
+"
+
+RDEPEND+="binary? ( ${PREBUILT_BINARY_RDEPENDS} )"
+
+DEPEND="${RDEPEND}
+ doc? ( app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-python/sphinx
+ >=dev-libs/libxslt-1.1.2 )
+ !ghcbootstrap? ( ${PREBUILT_BINARY_DEPENDS} )"
+
+REQUIRED_USE="?? ( ghcbootstrap binary )"
+
+# haskell libraries built with cabal in configure mode, #515354
+QA_CONFIGURE_OPTIONS+=" --with-compiler --with-gcc"
+
+is_crosscompile() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
+is_native() {
+ [[ ${CHOST} == ${CBUILD} ]] && [[ ${CHOST} == ${CTARGET} ]]
+}
+
+if ! is_crosscompile; then
+ PDEPEND="!ghcbootstrap? ( >=app-admin/haskell-updater-1.2 )"
+fi
+
+# returns tool prefix for crosscompiler.
+# Example:
+# CTARGET=armv7a-unknown-linux-gnueabi
+# CHOST=x86_64-pc-linux-gnu
+# "armv7a-unknown-linux-gnueabi-"
+# CTARGET=${CHOST}
+# ""
+# Used in tools and library prefix:
+# "${ED}"/usr/bin/$(cross)haddock
+# "${ED}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d"
+
+cross() {
+ if is_crosscompile; then
+ echo "${CTARGET}-"
+ else
+ echo ""
+ fi
+}
+
+append-ghc-cflags() {
+ local persistent compile assemble link
+ local flag ghcflag
+
+ for flag in $*; do
+ case ${flag} in
+ persistent) persistent="yes";;
+ compile) compile="yes";;
+ assemble) assemble="yes";;
+ link) link="yes";;
+ *)
+ [[ ${compile} ]] && ghcflag="-optc${flag}" CFLAGS+=" ${flag}" && GHC_FLAGS+=" ${ghcflag}" &&
+ [[ ${persistent} ]] && GHC_PERSISTENT_FLAGS+=" ${ghcflag}"
+ [[ ${assemble} ]] && ghcflag="-opta${flag}" CFLAGS+=" ${flag}" && GHC_FLAGS+=" ${ghcflag}" &&
+ [[ ${persistent} ]] && GHC_PERSISTENT_FLAGS+=" ${ghcflag}"
+ [[ ${link} ]] && ghcflag="-optl${flag}" LDFLAGS+=" ${flag}" && GHC_FLAGS+=" ${ghcflag}" &&
+ [[ ${persistent} ]] && GHC_PERSISTENT_FLAGS+=" ${ghcflag}"
+ ;;
+ esac
+ done
+}
+
+# $1 - lib name (under libraries/)
+# $2 - lib version
+# example: bump_lib "transformers" "0.4.2.0"
+bump_lib() {
+ local pn=$1 pv=$2
+ local p=${pn}-${pv}
+ local f
+
+ einfo "Bumping ${pn} up to ${pv}"
+
+ for f in ghc.mk GNUmakefile; do
+ mv libraries/"${pn}"/$f "${WORKDIR}"/"${p}"/$f || die
+ done
+ mv libraries/"${pn}" "${WORKDIR}"/"${pn}".old || die
+ mv "${WORKDIR}"/"${p}" libraries/"${pn}" || die
+}
+
+update_SRC_URI() {
+ local p pn pv
+ for p in "${BUMP_LIBRARIES[@]}"; do
+ set -- $p
+ pn=$1 pv=$2
+
+ SRC_URI+=" https://hackage.haskell.org/package/${pn}-${pv}/${pn}-${pv}.tar.gz"
+ done
+}
+
+update_SRC_URI
+
+bump_libs() {
+ local p pn pv
+ for p in "${BUMP_LIBRARIES[@]}"; do
+ set -- $p
+ pn=$1 pv=$2
+
+ bump_lib "${pn}" "${pv}"
+ done
+}
+
+ghc_setup_cflags() {
+ # TODO: plumb CFLAGS and BUILD_CFLAGS to respective CONF_CC_OPTS_STAGE<N>
+ if ! is_native; then
+ export CFLAGS=${GHC_CFLAGS-"-O2 -pipe"}
+ export LDFLAGS=${GHC_LDFLAGS-"-Wl,-O1"}
+ einfo "Crosscompiling mode:"
+ einfo " CHOST: ${CHOST}"
+ einfo " CTARGET: ${CTARGET}"
+ einfo " CFLAGS: ${CFLAGS}"
+ einfo " LDFLAGS: ${LDFLAGS}"
+ einfo " prefix: $(cross)"
+ return
+ fi
+ # We need to be very careful with the CFLAGS we ask ghc to pass through to
+ # gcc. There are plenty of flags which will make gcc produce output that
+ # breaks ghc in various ways. The main ones we want to pass through are
+ # -mcpu / -march flags. These are important for arches like alpha & sparc.
+ # We also use these CFLAGS for building the C parts of ghc, ie the rts.
+ strip-flags
+ strip-unsupported-flags
+
+ # Cmm can't parse line numbers #482086
+ replace-flags -ggdb[3-9] -ggdb2
+
+ GHC_FLAGS=""
+ GHC_PERSISTENT_FLAGS=""
+ for flag in ${CFLAGS}; do
+ case ${flag} in
+
+ # Ignore extra optimisation (ghc passes -O to gcc anyway)
+ # -O2 and above break on too many systems
+ -O*) ;;
+
+ # Arch and ABI flags are what we're really after
+ -m*) append-ghc-cflags compile assemble ${flag};;
+
+ # Sometimes it's handy to see backtrace of RTS
+ # to get an idea what happens there
+ -g*) append-ghc-cflags compile ${flag};;
+
+ # Ignore all other flags, including all -f* flags
+ esac
+ done
+
+ for flag in ${LDFLAGS}; do
+ append-ghc-cflags link ${flag}
+ done
+
+ # GHC uses ${CBUILD}-gcc, ${CHOST}-gcc and ${CTARGET}-gcc at a single build.
+ # Skip any gentoo-specific tweaks for cross-case to avoid passing unsupported
+ # options to gcc.
+ if is_native; then
+ # hardened-gcc needs to be disabled, because our prebuilt binaries/libraries
+ # are not built with fPIC, bug #606666
+ gcc-specs-pie && append-ghc-cflags persistent compile link -nopie
+ tc-is-gcc && ver_test $(gcc-version) -ge 6.3 && if ! use ghcbootstrap; then
+ # gcc-6.3 has support for -no-pie upstream, but spelling differs from
+ # gentoo-specific '-nopie'. We enable it in non-bootstrap to allow
+ # hardened users try '-pie' in USE=ghcbootstrap mode.
+ append-ghc-cflags compile link -no-pie
+ fi
+
+ # prevent from failing to build unregisterised ghc:
+ # https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg171602.html
+ use ppc64 && append-ghc-cflags persistent compile -mminimal-toc
+ fi
+}
+
+# substitutes string $1 to $2 in files $3 $4 ...
+relocate_path() {
+ local from=$1
+ local to=$2
+ shift 2
+ local file=
+ for file in "$@"
+ do
+ sed -i -e "s|$from|$to|g" \
+ "$file" || die "path relocation failed for '$file'"
+ done
+}
+
+# changes hardcoded ghc paths and updates package index
+# $1 - new absolute root path
+relocate_ghc() {
+ local to=$1 ghc_v=${BIN_PV}
+
+ # libdir for prebuilt binary and for current system may mismatch
+ # It does for prefix installation for example: bug #476998
+ local bin_ghc_prefix=${WORKDIR}/usr
+ local bin_libpath=$(echo "${bin_ghc_prefix}"/lib*)
+ local bin_libdir=${bin_libpath#${bin_ghc_prefix}/}
+
+ # backup original script to use it later after relocation
+ local gp_back="${T}/ghc-pkg-${ghc_v}-orig"
+ cp "${WORKDIR}/usr/bin/ghc-pkg-${ghc_v}" "$gp_back" || die "unable to backup ghc-pkg wrapper"
+
+ if [[ ${bin_libdir} != $(get_libdir) ]]; then
+ einfo "Relocating '${bin_libdir}' to '$(get_libdir)' (bug #476998)"
+ # moving the dir itself is not strictly needed
+ # but then USE=binary would result in installing
+ # in '${bin_libdir}'
+ mv "${bin_ghc_prefix}/${bin_libdir}" "${bin_ghc_prefix}/$(get_libdir)" || die
+
+ relocate_path "/usr/${bin_libdir}" "/usr/$(get_libdir)" \
+ "${WORKDIR}/usr/bin/ghc-${ghc_v}" \
+ "${WORKDIR}/usr/bin/ghci-${ghc_v}" \
+ "${WORKDIR}/usr/bin/ghc-pkg-${ghc_v}" \
+ "${WORKDIR}/usr/bin/hsc2hs" \
+ "${WORKDIR}/usr/bin/runghc-${ghc_v}" \
+ "$gp_back" \
+ "${WORKDIR}/usr/$(get_libdir)/${PN}-${ghc_v}/package.conf.d/"*
+ fi
+
+ # Relocate from /usr to ${EPREFIX}/usr
+ relocate_path "/usr" "${to}/usr" \
+ "${WORKDIR}/usr/bin/ghc-${ghc_v}" \
+ "${WORKDIR}/usr/bin/ghci-${ghc_v}" \
+ "${WORKDIR}/usr/bin/ghc-pkg-${ghc_v}" \
+ "${WORKDIR}/usr/bin/haddock-ghc-${ghc_v}" \
+ "${WORKDIR}/usr/bin/hp2ps" \
+ "${WORKDIR}/usr/bin/hpc" \
+ "${WORKDIR}/usr/bin/hsc2hs" \
+ "${WORKDIR}/usr/bin/runghc-${ghc_v}" \
+ "${WORKDIR}/usr/$(get_libdir)/${PN}-${ghc_v}/package.conf.d/"*
+
+ # this one we will use to regenerate cache
+ # so it should point to current tree location
+ relocate_path "/usr" "${WORKDIR}/usr" "$gp_back"
+
+ if use prefix; then
+ hprefixify "${bin_libpath}"/${PN}*/settings
+ fi
+
+ # regenerate the binary package cache
+ "$gp_back" recache || die "failed to update cache after relocation"
+ rm "$gp_back"
+}
+
+ghc-check-reqs() {
+ # These are pessimistic values (slightly bigger than worst-case)
+ # Worst case is UNREG USE=profile ia64. See bug #611866 for some
+ # numbers on various arches.
+ CHECKREQS_DISK_BUILD=8G
+ CHECKREQS_DISK_USR=2G
+ # USE=binary roughly takes
+ use binary && CHECKREQS_DISK_BUILD=4G
+
+ "$@"
+}
+
+pkg_pretend() {
+ ghc-check-reqs check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ ghc-check-reqs check-reqs_pkg_setup
+
+ # quiet portage about prebuilt binaries
+ use binary && QA_PREBUILT="*"
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use ghcbootstrap; then
+ ewarn "You requested ghc bootstrapping, this is usually only used"
+ ewarn "by Gentoo developers to make binary .tbz2 packages."
+
+ [[ -z $(type -P ghc) ]] && \
+ die "Could not find a ghc to bootstrap with."
+ else
+ if ! yet_binary; then
+ eerror "Please try emerging with USE=ghcbootstrap and report build"
+ eerror "sucess or failure to the haskell team (haskell@gentoo.org)"
+ die "No binary available for '${ARCH}' arch yet, USE=ghcbootstrap"
+ fi
+ fi
+}
+
+src_unpack() {
+ # Create the ${S} dir if we're using the binary version
+ use binary && mkdir "${S}"
+
+ # the Solaris and Darwin binaries from ghc (maeder) need to be
+ # unpacked separately, so prevent them from being unpacked
+ local ONLYA=${A}
+ case ${CHOST} in
+ *-darwin* | *-solaris*) ONLYA=${GHC_P}-src.tar.xz ;;
+ esac
+ unpack ${ONLYA}
+}
+
+src_prepare() {
+ ghc_setup_cflags
+
+ if ! use ghcbootstrap && [[ ${CHOST} != *-darwin* && ${CHOST} != *-solaris* ]]; then
+ # Modify the wrapper script from the binary tarball to use GHC_PERSISTENT_FLAGS.
+ # See bug #313635.
+ sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_PERSISTENT_FLAGS}|" \
+ "${WORKDIR}/usr/bin/ghc-${BIN_PV}"
+
+ # allow hardened users use vanilla binary to bootstrap ghc
+ # ghci uses mmap with rwx protection at it implements dynamic
+ # linking on it's own (bug #299709)
+ pax-mark -m "${WORKDIR}/usr/$(get_libdir)/${PN}-${BIN_PV}/bin/ghc"
+ fi
+
+ if use binary; then
+ if use prefix; then
+ relocate_ghc "${EPREFIX}"
+ fi
+
+ # Move unpacked files to the expected place
+ mv "${WORKDIR}/usr" "${S}"
+ eapply_user
+ else
+ if ! use ghcbootstrap; then
+ case ${CHOST} in
+ *-darwin* | *-solaris*)
+ # UPDATE ME for ghc-7
+ mkdir "${WORKDIR}"/ghc-bin-installer || die
+ pushd "${WORKDIR}"/ghc-bin-installer > /dev/null || die
+ use sparc-solaris && unpack ghc-6.10.4-sparc-sun-solaris2.tar.bz2
+ use x86-solaris && unpack ghc-7.0.3-i386-unknown-solaris2.tar.bz2
+ use x86-macos && unpack ghc-7.4.1-i386-apple-darwin.tar.bz2
+ use x64-macos && unpack ghc-7.4.1-x86_64-apple-darwin.tar.bz2
+ popd > /dev/null
+
+ pushd "${WORKDIR}"/ghc-bin-installer/ghc-[67].?*.? > /dev/null || die
+ # fix the binaries so they run, on Solaris we need an
+ # LD_LIBRARY_PATH which has our prefix libdirs, on
+ # Darwin we need to replace the frameworks with our libs
+ # from the prefix fix before installation, because some
+ # of the tools are actually used during configure/make
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ export LD_LIBRARY_PATH="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
+ elif [[ ${CHOST} == *-darwin* ]] ; then
+ local readline_framework=GNUreadline.framework/GNUreadline
+ local gmp_framework=/opt/local/lib/libgmp.10.dylib
+ local ncurses_file=/opt/local/lib/libncurses.5.dylib
+ for binary in $(scanmacho -BRE MH_EXECUTE -F '%F' .) ; do
+ install_name_tool -change \
+ ${readline_framework} \
+ "${EPREFIX}"/lib/libreadline.dylib \
+ ${binary} || die
+ install_name_tool -change \
+ ${gmp_framework} \
+ "${EPREFIX}"/usr/lib/libgmp.dylib \
+ ${binary} || die
+ install_name_tool -change \
+ ${ncurses_file} \
+ "${EPREFIX}"/usr/lib/libncurses.dylib \
+ ${binary} || die
+ done
+ # we don't do frameworks!
+ sed -i \
+ -e 's/\(frameworks = \)\["GMP"\]/\1[]/g' \
+ -e 's/\(extraLibraries = \)\["m"\]/\1["m","gmp"]/g' \
+ rts/package.conf.in || die
+ fi
+
+ # it is autoconf, but we really don't want to give it too
+ # many arguments, in fact we do the make in-place anyway
+ ./configure --prefix="${WORKDIR}"/usr || die
+ make install || die
+ popd > /dev/null
+ ;;
+ *)
+ relocate_ghc "${WORKDIR}"
+ ;;
+ esac
+ fi
+
+ sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_PERSISTENT_FLAGS}|" \
+ "${S}/ghc/ghc.wrapper"
+
+ cd "${S}" # otherwise eapply will break
+
+ eapply "${FILESDIR}"/${PN}-7.0.4-CHOST-prefix.patch
+ eapply "${FILESDIR}"/${PN}-8.2.1-darwin.patch
+ eapply "${FILESDIR}"/${PN}-7.8.3-prim-lm.patch
+ eapply "${FILESDIR}"/${PN}-8.0.2-no-relax-everywhere.patch
+ eapply "${FILESDIR}"/${PN}-8.4.2-allow-cross-bootstrap.patch
+ # fixed in 8.8.4. See https://gitlab.haskell.org/ghc/ghc/-/blob/ghc-8.8.4-release/configure.ac#L1273
+ # eapply "${FILESDIR}"/${PN}-8.6.5-numa.patch
+ # rumors say this is fixed properly in 8.8.3. Let's check!
+ #eapply "${FILESDIR}"/${PN}-8.8.1-revert-CPP.patch
+
+ # a bunch of crosscompiler patches
+ # needs newer version:
+ #eapply "${FILESDIR}"/${PN}-8.2.1_rc1-hp2ps-cross.patch
+
+ # mingw32 target
+ pushd "${S}/libraries/Win32"
+ eapply "${FILESDIR}"/${PN}-8.2.1_rc1-win32-cross-2-hack.patch # bad workaround
+ popd
+
+ bump_libs
+
+ eapply_user
+ # as we have changed the build system
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ if ! use binary; then
+ # initialize build.mk
+ echo '# Gentoo changes' > mk/build.mk
+
+ # Put docs into the right place, ie /usr/share/doc/ghc-${GHC_PV}
+ echo "docdir = ${EPREFIX}/usr/share/doc/$(cross)${P}" >> mk/build.mk
+ echo "htmldir = ${EPREFIX}/usr/share/doc/$(cross)${P}" >> mk/build.mk
+
+ # We also need to use the GHC_FLAGS flags when building ghc itself
+ echo "SRC_HC_OPTS+=${HCFLAGS} ${GHC_FLAGS}" >> mk/build.mk
+ echo "SRC_CC_OPTS+=${CFLAGS}" >> mk/build.mk
+ echo "SRC_LD_OPTS+=${LDFLAGS}" >> mk/build.mk
+ # Speed up initial Cabal bootstrap
+ echo "utils/ghc-cabal_dist_EXTRA_HC_OPTS+=$(ghc-make-args)" >> mk/build.mk
+
+ # We can't depend on haddock except when bootstrapping when we
+ # must build docs and include them into the binary .tbz2 package
+ # app-text/dblatex is not in portage, can not build PDF or PS
+ echo "BUILD_SPHINX_PDF = NO" >> mk/build.mk
+ echo "BUILD_SPHINX_HTML = $(usex doc YES NO)" >> mk/build.mk
+ echo "BUILD_MAN = $(usex doc YES NO)" >> mk/build.mk
+
+ # this controls presence on 'xhtml' and 'haddock' in final install
+ echo "HADDOCK_DOCS = YES" >> mk/build.mk
+
+ # not used outside of ghc's test
+ if [[ -n ${GHC_BUILD_DPH} ]]; then
+ echo "BUILD_DPH = YES" >> mk/build.mk
+ else
+ echo "BUILD_DPH = NO" >> mk/build.mk
+ fi
+
+ # Any non-native build has to skip as it needs
+ # target haddock binary to be runnabine.
+ if ! is_native; then
+ # disable docs generation as it requires running stage2
+ echo "HADDOCK_DOCS=NO" >> mk/build.mk
+ echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
+ echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
+ fi
+
+ if is_crosscompile; then
+ # Install ghc-stage1 crosscompiler instead of
+ # ghc-stage2 cross-built compiler.
+ echo "Stage1Only=YES" >> mk/build.mk
+ fi
+
+ # allows overriding build flavours for libraries:
+ # v - vanilla (static libs)
+ # p - profiled
+ # dyn - shared libraries
+ # example: GHC_LIBRARY_WAYS="v dyn"
+ if [[ -n ${GHC_LIBRARY_WAYS} ]]; then
+ echo "GhcLibWays=${GHC_LIBRARY_WAYS}" >> mk/build.mk
+ fi
+ echo "BUILD_PROF_LIBS = $(usex profile YES NO)" >> mk/build.mk
+
+ # Get ghc from the unpacked binary .tbz2
+ # except when bootstrapping we just pick ghc up off the path
+ if ! use ghcbootstrap; then
+ export PATH="${WORKDIR}/usr/bin:${PATH}"
+ fi
+
+ echo "INTEGER_LIBRARY = $(usex gmp integer-gmp integer-simple)" >> mk/build.mk
+
+ # don't strip anything. Very useful when stage2 SIGSEGVs on you
+ echo "STRIP_CMD = :" >> mk/build.mk
+
+ local econf_args=()
+
+ # GHC embeds toolchain it was built by and uses it later.
+ # Don't allow things like ccache or versioned binary slip.
+ # We use stable thing across gcc upgrades.
+ # User can use EXTRA_ECONF=CC=... to override this default.
+ econf_args+=(
+ AR=${CTARGET}-ar
+ CC=${CTARGET}-gcc
+ # these should be inferred by GHC but ghc defaults
+ # to using bundled tools on windows.
+ Windres=${CTARGET}-windres
+ DllWrap=${CTARGET}-dllwrap
+ # we set the linker explicitly below
+ --disable-ld-override
+ )
+ case ${CTARGET} in
+ arm*)
+ # ld.bfd-2.28 does not work for ghc. Force ld.gold
+ # instead. This should be removed once gentoo gets
+ # a fix for R_ARM_COPY bug: https://sourceware.org/PR16177
+ econf_args+=(LD=${CTARGET}-ld.gold)
+ ;;
+ sparc*)
+ # ld.gold-2.28 does not work for ghc. Force ld.bfd
+ # instead. This should be removed once gentoo gets
+ # a fix for missing --no-relax support bug:
+ # https://sourceware.org/ml/binutils/2017-07/msg00183.html
+ econf_args+=(LD=${CTARGET}-ld.bfd)
+ ;;
+ *)
+ econf_args+=(LD=${CTARGET}-ld)
+ esac
+
+ if [[ ${CBUILD} != ${CHOST} ]]; then
+ # GHC bug: ghc claims not to support cross-building.
+ # It does, but does not distinct --host= value
+ # for stage1 and stage2 compiler.
+ econf_args+=(--host=${CBUILD})
+ fi
+
+ if use ghcmakebinary; then
+ # When building booting libary we are trying to
+ # bundle or restrict most of external depends
+ # with unstable ABI:
+ # - embed libffi (default GHC behaviour)
+ # - disable ncurses support for ghci (via haskeline)
+ # https://bugs.gentoo.org/557478
+ # - disable ncurses support for ghc-pkg
+ echo "libraries/haskeline_CONFIGURE_OPTS += --flag=-terminfo" >> mk/build.mk
+ echo "utils/ghc-pkg_HC_OPTS += -DBOOTSTRAPPING" >> mk/build.mk
+ elif is_native; then
+ # using ${GTARGET}'s libffi is not supported yet:
+ # GHC embeds full path for ffi includes without /usr/${CTARGET} account.
+ econf_args+=(--with-system-libffi)
+ econf_args+=(--with-ffi-includes=$($(tc-getPKG_CONFIG) libffi --cflags-only-I | sed -e 's@^-I@@'))
+ fi
+
+ einfo "Final mk/build.mk:"
+ cat mk/build.mk || die
+
+ econf ${econf_args[@]} \
+ --enable-bootstrap-with-devel-snapshot \
+ $(use elfutils && echo --enable-dwarf-unwind) \
+ $(use_enable numa)
+
+ if [[ ${PV} == *9999* ]]; then
+ GHC_PV="$(grep 'S\[\"PACKAGE_VERSION\"\]' config.status | sed -e 's@^.*=\"\(.*\)\"@\1@')"
+ GHC_P=${PN}-${GHC_PV}
+ fi
+ fi # ! use binary
+}
+
+src_compile() {
+ if ! use binary; then
+ # Stage1Only crosscompiler does not build stage2
+ if ! is_crosscompile; then
+ # 1. build/pax-mark compiler binary first
+ emake ghc/stage2/build/tmp/ghc-stage2
+ # 2. pax-mark (bug #516430)
+ pax-mark -m ghc/stage2/build/tmp/ghc-stage2
+ # 2. build/pax-mark haddock using ghc-stage2
+ if is_native; then
+ # non-native build does not build haddock
+ # due to HADDOCK_DOCS=NO, but it could.
+ emake utils/haddock/dist/build/tmp/haddock
+ pax-mark -m utils/haddock/dist/build/tmp/haddock
+ fi
+ fi
+ # 3. and then all the rest
+ emake all
+ fi # ! use binary
+}
+
+src_test() {
+ # TODO: deal with:
+ # - sandbox (pollutes environment)
+ # - extra packages (to extend testsuite coverage)
+ # bits are taken from 'validate'
+ local make_test_target='test' # can be fulltest
+ # not 'emake' as testsuite uses '$MAKE' without jobserver available
+ make $make_test_target stage=2 THREADS=$(makeopts_jobs)
+}
+
+src_install() {
+ if use binary; then
+ use prefix && mkdir -p "${ED}"
+ mv "${S}/usr" "${ED}"
+ else
+ [[ -f VERSION ]] || emake VERSION
+
+ # -j1 due to a rare race in install script:
+ # make --no-print-directory -f ghc.mk phase=final install
+ # /usr/lib/portage/python3.4/ebuild-helpers/xattr/install -c -m 755 \
+ # -d "/tmp/portage-tmpdir/portage/cross-armv7a-unknown-linux-gnueabi/ghc-9999/image/usr/lib64/armv7a-unknown-linux-gnueabi-ghc-8.3.20170404/include"
+ # /usr/lib/portage/python3.4/ebuild-helpers/xattr/install -c -m 644 utils/hsc2hs/template-hsc.h \
+ # "/tmp/portage-tmpdir/portage/cross-armv7a-unknown-linux-gnueabi/ghc-9999/image/usr/lib64/armv7a-unknown-linux-gnueabi-ghc-8.3.20170404"
+ # /usr/bin/install: cannot create regular file \
+ # '/tmp/portage-tmpdir/portage/cross-armv7a-unknown-linux-gnueabi/ghc-9999/image/usr/lib64/armv7a-unknown-linux-gnueabi-ghc-8.3.20170404': No such file or directory
+ emake -j1 install DESTDIR="${D}"
+
+ # Skip for cross-targets as they all share target location:
+ # /usr/share/doc/ghc-9999/
+ if ! is_crosscompile; then
+ dodoc "distrib/README" "ANNOUNCE" "LICENSE" "VERSION"
+ fi
+
+ # rename ghc-shipped files to avoid collision
+ # of external packages. Motivating example:
+ # user had installed:
+ # dev-lang/ghc-7.8.4-r0 (with transformers-0.3.0.0)
+ # dev-haskell/transformers-0.4.2.0
+ # then user tried to update to
+ # dev-lang/ghc-7.8.4-r1 (with transformers-0.4.2.0)
+ # this will lead to single .conf file collision.
+ local shipped_conf renamed_conf
+ local package_confdir="${ED}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d"
+ for shipped_conf in "${package_confdir}"/*.conf; do
+ # rename 'pkg-ver-id.conf' to 'pkg-ver-id-gentoo-${PF}.conf'
+ renamed_conf=${shipped_conf%.conf}-gentoo-${PF}.conf
+ mv "${shipped_conf}" "${renamed_conf}" || die
+ done
+
+ # remove link, but leave 'haddock-${GHC_P}'
+ rm -f "${ED}"/usr/bin/$(cross)haddock
+
+ if ! is_crosscompile; then
+ newbashcomp "${FILESDIR}"/ghc-bash-completion ghc-pkg
+ newbashcomp utils/completion/ghc.bash ghc
+ fi
+ fi
+
+ # path to the package.cache
+ local package_confdir="${ED}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d"
+ PKGCACHE="${package_confdir}"/package.cache
+ # copy the package.conf.d, including timestamp, save it so we can help
+ # users that have a broken package.conf.d
+ cp -pR "${package_confdir}"{,.initial} || die "failed to backup intial package.conf.d"
+
+ # copy the package.conf, including timestamp, save it so we later can put it
+ # back before uninstalling, or when upgrading.
+ cp -p "${PKGCACHE}"{,.shipped} \
+ || die "failed to copy package.conf.d/package.cache"
+
+ if is_crosscompile; then
+ # When we build a cross-compiler the layout is the following:
+ # usr/lib/${CTARGET}-ghc-${VER}/ contains target libraries
+ # but
+ # usr/lib/${CTARGET}-ghc-${VER}/bin/ directory
+ # containst host binaries (modulo bugs).
+
+ # Portage's stripping mechanism does not skip stripping
+ # foreign binaries. This frequently causes binaries to be
+ # broken.
+ #
+ # Thus below we disable stripping of target libraries and allow
+ # stripping hosts executables.
+ dostrip -x "/usr/$(get_libdir)/$(cross)${GHC_P}"
+ dostrip "/usr/$(get_libdir)/$(cross)${GHC_P}/bin"
+ fi
+}
+
+pkg_preinst() {
+ # have we got an earlier version of ghc installed?
+ if has_version "<${CATEGORY}/${PF}"; then
+ haskell_updater_warn="1"
+ fi
+}
+
+pkg_postinst() {
+ ghc-reregister
+
+ # path to the package.cache
+ PKGCACHE="${EROOT}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d/package.cache"
+
+ # give the cache a new timestamp, it must be as recent as
+ # the package.conf.d directory.
+ touch "${PKGCACHE}"
+
+ if [[ "${haskell_updater_warn}" == "1" ]]; then
+ ewarn
+ ewarn "\e[1;31m************************************************************************\e[0m"
+ ewarn
+ ewarn "You have just upgraded from an older version of GHC."
+ ewarn "You may have to run"
+ ewarn " 'haskell-updater'"
+ ewarn "to rebuild all ghc-based Haskell libraries."
+ ewarn
+ ewarn "\e[1;31m************************************************************************\e[0m"
+ ewarn
+ fi
+}
+
+pkg_prerm() {
+ PKGCACHE="${EROOT}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d/package.cache"
+ rm -rf "${PKGCACHE}"
+
+ cp -p "${PKGCACHE}"{.shipped,}
+}
+
+pkg_postrm() {
+ ghc-package_pkg_postrm
+}
diff --git a/dev-lang/ghc/metadata.xml b/dev-lang/ghc/metadata.xml
index 5169f69026cc..eef249cad285 100644
--- a/dev-lang/ghc/metadata.xml
+++ b/dev-lang/ghc/metadata.xml
@@ -7,10 +7,10 @@
</maintainer>
<use>
<flag name="binary">Install the binary version directly, rather than using it to build the source version.</flag>
- <flag name="elfutils">Enable DWARF-based baclktraces using <pkg>dev-libs/elfutils</pkg>.</flag>
+ <flag name="elfutils">Enable DWARF-based backtraces using <pkg>dev-libs/elfutils</pkg>.</flag>
<flag name="ghcbootstrap">Internal: Bootstrap GHC from an existing GHC installation.</flag>
<flag name="ghcmakebinary">Internal: Build binary friendly for redistribution.</flag>
- <flag name="gmp">use <pkg>dev-libs/gmp</pkg> for integer operations (works faster, but an external depend).</flag>
+ <flag name="gmp">Use <pkg>dev-libs/gmp</pkg> for integer operations (works faster, but an external depend).</flag>
<flag name="numa">Enable NUMA thread balancing policy using <pkg>sys-process/numactl</pkg>.</flag>
</use>
</pkgmetadata>
diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index c2fa5fef2bd9..581ca724769e 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -1,5 +1,3 @@
-AUX c89 412 BLAKE2B 04236b6a32e8819c65713821e769d5bf55f194fb6bdaa61c48ad09c7e13e123d3e4725394b3a922445efaa951849f4e87f96e34a55d3e229dbedc50ca1816f44 SHA512 71d33a147339d8d70a62aa22a95d3e70e445d8435d6ac05893f7da19ae851b89bea851f6ce213fbd22470f13572ae13b83cf02f0621333f07d7b0c68a79b7924
-AUX c99 446 BLAKE2B 061fcbef85149de611c4692c99c2c5ebeeef045637b999dbea0d1922398e16361cedbd461ed6aaf0c49c6269900a4c346f5026d8c22780044e1cc8afee74be4e SHA512 bf3b0eb1125d5e89b433954fcbf805cd86dec5a6eeb23df685ebf3ff83a610573f2ffcec65d893244c845936a73918387cba026710c65c854b2c94a78b007989
AUX gcc-configure-LANG.patch 2052 BLAKE2B 28c36f4992e41305ee421dade5eaaac34e3bdc523665b03f360f2bc01e8f69e9dc48052edb80dece63ab561e80325b4f125502482eb16f7324f1c03670021550 SHA512 a694c7ac2f45cc657097ff5b0cf1356ac88a9c06035c9ba15167e9d444844d0d8a478eb1b9b62195dd063774f79697b9148b9cdb6c261640b472c291061b2129
AUX gcc-configure-texinfo.patch 341 BLAKE2B d2ea3b2ea08f5d3a498ba27d0fb95e325097e2104e55caa28b66515cb48662649140d90b639369aedc54b2b1178fa4b49cda442f5f504e09d88a2efa45a5057c SHA512 e8d34c5077409df5495cf0c5fbf5e77f841c5698108fa6a5fde33eb28202c685603bdefd8368918e55f30c4b995e895d71d64c715c1ec2b017e09eb2c54c09ff
AUX gcc-spec-env-r1.patch 3148 BLAKE2B 30ceb113a510092a907b445c4b2131f148f7fef54a00a88b5c389bbf93b8b61bc12c86a07df03d57280759e5485ac0cd89ea69826ace01b5720681ca3102640b SHA512 ecae71577543772cfe1711f1b4a8815c0b5d706ebd01edacd1f07586637d4805e25771f970a6e6d1bb696d4b1b5ef3e0036088a96a9f6beff7ddaee704175d16
diff --git a/dev-lang/gnat-gpl/files/c89 b/dev-lang/gnat-gpl/files/c89
deleted file mode 100644
index cee0325f50f1..000000000000
--- a/dev-lang/gnat-gpl/files/c89
+++ /dev/null
@@ -1,20 +0,0 @@
-#! /bin/sh
-
-# Call the appropriate C compiler with options to accept ANSI/ISO C
-# The following options are the same (as of gcc-2.95):
-# -ansi
-# -std=c89
-# -std=iso9899:1990
-
-for i; do
- case "$i" in
- -ansi|-std=c89|-std=iso9899:1990)
- ;;
- -std=*)
- echo >&2 "`basename $0` called with non ANSI/ISO C90 option $i"
- exit 1
- ;;
- esac
-done
-
-exec gcc -std=c89 -pedantic -U_FORTIFY_SOURCE "$@"
diff --git a/dev-lang/gnat-gpl/files/c99 b/dev-lang/gnat-gpl/files/c99
deleted file mode 100644
index c9542095e385..000000000000
--- a/dev-lang/gnat-gpl/files/c99
+++ /dev/null
@@ -1,21 +0,0 @@
-#! /bin/sh
-
-# Call the appropriate C compiler with options to accept ANSI/ISO C
-# The following options are the same (as of gcc-3.3):
-# -std=c99
-# -std=c9x
-# -std=iso9899:1999
-# -std=iso9899:199x
-
-for i; do
- case "$i" in
- -std=c9[9x]|-std=iso9899:199[9x])
- ;;
- -ansi|-std=*)
- echo >&2 "`basename $0` called with non ANSI/ISO C99 option $i"
- exit 1
- ;;
- esac
-done
-
-exec gcc -std=c99 -pedantic -U_FORTIFY_SOURCE ${1+"$@"}
diff --git a/dev-lang/gnuprologjava/Manifest b/dev-lang/gnuprologjava/Manifest
index bd0807913292..521c38a7dfc4 100644
--- a/dev-lang/gnuprologjava/Manifest
+++ b/dev-lang/gnuprologjava/Manifest
@@ -1,4 +1,5 @@
AUX gnuprologjava-0.2.6-manual.patch 414 BLAKE2B 6bad70e46f1c2e9bdf9e4ef45cdbc4a4074671de28188aac7b69082e44eed86ef3fc1be1b5e83ea81da52df5d1b218583ab7ae73fdeeeb8241f50e8d45c23713 SHA512 419b509abae773e5ac3f2d79328bb4014776cc7c6390b8afa2d3d7242afec41e92d22830ed1be3c15f3d007c9fa08b303b553d883b18e1bde1fe9af09a0c7644
DIST gnuprologjava-0.2.6-src.zip 477058 BLAKE2B 00248df0b307b733595b585ed5b847413d5de32c3348008ce53bb4dab93bfc465531bd59ea224f5c0bc6a66c3186ff55d353a0fe88d222b490927100cbafceea SHA512 b175c74e754a7176f5fc38ea2215809bb9d60ec5b8852f99a48a72a0bdb316b33b7195ff5c85398bb63aa2e522d12dfc75e2ff3af9f89ff44448d2f73357f0a4
+EBUILD gnuprologjava-0.2.6-r1.ebuild 879 BLAKE2B 8d792bbfae59629b64cabb439a3f18041cc2b579ec59bf2144ce1281ef73db486b04537dcbf8eed6222d5b2a42cf7e03030f8cbf0f1aa01f4fcd2dc3b4f1f4b2 SHA512 92d91a225ccc45a5bdd09d7dc0214fe8464e87b0e309b9c80299fe1d2cb936b2b283ad1acb94cab9ab8d8b0e51f81a51543c47bfa2e7b6ed4ee6edb21c46870e
EBUILD gnuprologjava-0.2.6.ebuild 838 BLAKE2B 289f4e669963ac5660b20ac07f21d3c5029a14e908b4d8a09d25930c3d86fb5477b81799a19803b0575c1f5a917275d5e262c6199b7e7d2b2055702768e5674d SHA512 f74d26baa10ad05b53fe3af7c63e3b6749bce9d23e28d2dcc1ac001784e3c4782b965abf1603e21a42a95d575c547aaea6d2e5e2ac4e8b86e3db71efc7efb3cf
MISC metadata.xml 236 BLAKE2B 665f3de6dc90f46a18379b3416063a49b1a79ddd7ef89eaed9be78f9adc5b234e9693cd31d6cf2d3477fc7dc00055492bef7de78da6c901c4a6e55eb0e781325 SHA512 e776224736bd575412c7b5b799f649c6b2947a70e6a9aea580063d9da7d09a8144e5ebaf7ac3ef131d578486cf05dec814dce11b2aeb884cded3be3cab70fcec
diff --git a/dev-lang/gnuprologjava/gnuprologjava-0.2.6-r1.ebuild b/dev-lang/gnuprologjava/gnuprologjava-0.2.6-r1.ebuild
new file mode 100644
index 000000000000..837cc77c316f
--- /dev/null
+++ b/dev-lang/gnuprologjava/gnuprologjava-0.2.6-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2016-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils java-pkg-2 java-ant-2
+
+DESCRIPTION="GNU Prolog for Java is an implementation of ISO Prolog as a Java library"
+HOMEPAGE="https://www.gnu.org/software/gnuprologjava"
+SRC_URI="mirror://gnu/gnuprologjava/${P}-src.zip"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+BDEPEND="app-arch/unzip"
+RDEPEND=">=virtual/jdk-1.6:="
+DEPEND="${RDEPEND}
+ dev-java/ant-core"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ eapply "${FILESDIR}"/${P}-manual.patch
+ eapply_user
+}
+
+src_compile() {
+ eant jar
+ if use doc ; then
+ eant doc
+ fi
+ mv build/${P}.jar build/${PN}.jar || die
+}
+
+src_install() {
+ java-pkg_dojar build/${PN}.jar
+
+ if use doc ; then
+ java-pkg_dohtml -r build/api || die
+ java-pkg_dohtml -r build/manual || die
+ fi
+
+ dodoc NEWS.txt docs/readme.txt
+}
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index 0f3b97bf08c9..f734ac131ebc 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -10,14 +10,12 @@ DIST go-linux-ppc64le-bootstrap-1.8.tbz 52211575 BLAKE2B 7a28ec5a381369c4e9415c8
DIST go-linux-s390x-bootstrap-1.8.tbz 57124869 BLAKE2B 920a176b8f4fc3a816e724324bbb30a383d599e31a0d2093d24797dbcd0e799a662a3589dbb87d2f5dd16df07c4cf8f1e444e87b540ec732746bb025dc9271f8 SHA512 d429cae870d66217ab2e07c74209d3031d97baa4f899b4d70ae6283a1a5b1434b037904c4cfca0b2bc798d5ba0b358c3739e000eccbc74809baf564c5686df5a
DIST go-solaris-amd64-bootstrap-1.8.tbz 54926326 BLAKE2B 0a45312f090d81ebf46fe5950cb65c059e2801394231e715e94145d1f918eb59b10472b2385e57ebd5cfb9eca0ad7290fb118436486b665520bb540970f971ab SHA512 52b849e5b9a940e10de7ba3df0ebdf6e1c5d631de9581d936c9edf8f38e6bb3314acbc2b2d5202b0528fde2a359d52bc0c6f39acf9b1b614725e4b4a947ed10d
DIST go1.12.17.src.tar.gz 20725913 BLAKE2B 2eef7374195302656268a42409619445dfeb3ede1f9218ae4eab195916876b97f7510cc62585a0bfdd9f86dddf8a74000032a84b29bc9891d84fc69db94f0274 SHA512 069f8f445d9d2268ebb14b2446fab34843d56283c04561636d122fd8b4c1ea0b63640a84437db7a7be71039440ffe170cd3f8025b03b0acf95f2a56fa2febec6
-DIST go1.13.10.src.tar.gz 21702804 BLAKE2B 586494604455594c552d25a207634d70ae7f5ad142e18e22f5ef462c6488327cc01630c0bc99a4ede9dee0d649982802cf79f34f35ad7f810ca0701c35a7d555 SHA512 9e020dd89ab6201c4cbb893caecc0b077d5fbb2e10381e1b76a29ddc18c141d8db67a1b0f607ed915b0e9c40c4fb2c65b0319472535892534a31ad962e72fe05
-DIST go1.13.12.src.tar.gz 21703700 BLAKE2B d503b864edd753d838ab2776c00ee29d79c4dadaa8f9414291d7fd9ef420950361e676d78111db171d4d7bad9f28d23897333720d77c259691231cac81aa7b2a SHA512 85ffe18171cd131fc5bdfaa8f5e944643399ef1f270a599cdccbe0212f1d1651a87075d11877220466d18ff590bb9eadeac48851b630ab9f0e06c199c0286cc4
-DIST go1.14.2.src.tar.gz 22454649 BLAKE2B edd8a1081e7da6988532b9fefe6d6f789a7d336562d61d5e585a8b881fb45d77721bee9837ae79318295471aea138e175650c2138175a587f0b7957988e8e209 SHA512 3f6804e1a60df6a7c55c294fe4147b2d6f028c619ad4ae5b1ae8793c6be637a1e6a62721cc7ce0b28918ab3441a89fa9acda72cb5450bf5af8d7872411d28015
-DIST go1.14.4.src.tar.gz 22535243 BLAKE2B 8dc44b2144587e24ef53adcffdf335ec03dbcbb1101e38ac54611eb9e6216d3a676f5a24daab24342018b549b7de2a8730e556abfda5e18199c55d266ac3a44b SHA512 b0d657ea33331062db5a4da0aff14798f292ca967a53665af1a93e04eba7a03e49a3dbc4768c4f099ec5ff25a31885750f7658f819057057093e2d7bfb085575
+DIST go1.13.15.src.tar.gz 21705183 BLAKE2B eac8c6113dd6cef164cc5368732c2dce26f200e309c728ca71b4c312ace465382b8cc1dd8fb216bdf927211d6cb26c21090a9ac9c9ef2d7ac1b16c85feac0e0c SHA512 35d3e7aaef1b0fc6ab684bb7352da3a23194115331ba7d1543225c35939cafcd437f454519aac38182cb8f222723ed9a297f9da566075b5e4079be26952a21e3
+DIST go1.14.7.src.tar.gz 22534747 BLAKE2B ab43abeec9d636dd88eaa10dc210f5d11d487df35238a00548e1f56a86bdf2375e7c180ee6e1cea53591528714fa70333e3336db61eacfdeb5f51b2d5ea86a45 SHA512 3f1133c66d7795ceb6c5793db90616613244d7561abaef6b059602992c0b7a53b6b6ebbcf69add4769a58542e9dc55871bcfe3d64d4cd9f3569bd435ade86dee
+DIST go1.15.src.tar.gz 23002901 BLAKE2B a04bfb5d8bb6377e92d5d8c96f11d39b9bb878f4f9a3221baa5f42bcc822b562a209fd5d2d2a643f3b72df2db494899b2f7a446f1a9a8e25bf0df56ef87f3b7f SHA512 7d85382bcc6a0625dfa3d07196ab364860846367ed67697a7b1516b0af551a72bc4873882141fc3c7a60d39f2e27b33f6693e8b18b608de76fc9a55b5eac55ea
EBUILD go-1.12.17.ebuild 6443 BLAKE2B bf7195702527ae108363ae3cc083f9b65e57eaed8075f5ecf43796d5286c160f8c6c334a5cf5be97e3ff26c8856b97bf1c74d832984285b41666a843563c8da0 SHA512 814bf79fe77e729d6a3270455f526ecab2709400dae766ed8b27714d80b45f9d3113e5c086c862dbd45dfa0fd9267ea2daacd0f994a0264b67af1bf6401a6156
-EBUILD go-1.13.10.ebuild 4411 BLAKE2B 373fd1adf67feddfe122adadbb80da23c13c6ee2b3c1342490ce9f7734c5d2e2f2339f4c26b7fe0dc3372a000cbf55d276a8d4adb13468d99ac7081ddacfd106 SHA512 98d4b8b3f68d6f5609eb6a7c05cd3107877bc0195d475ed27072f34f77776a9f7f92760f29115bc83bff4662025281ab2fed93ab7cba75a6294559f16771ac1f
-EBUILD go-1.13.12.ebuild 4416 BLAKE2B bef2da5b7d1736d7f58c56aea31ce691bf3d4be39af0b331c78f7b42da150206f15c5235f57118097f4ab2451fd7d22661cb0419e080165baea707938ea00c52 SHA512 2e9aa42c5430ce2f955b5119c1f290a64649699de4578d9935df433b8d39d6c13a5dacffc5fe929f277bf579f39dda94da441a10f3dc154762d0f4f6f1d850da
-EBUILD go-1.14.2.ebuild 4158 BLAKE2B 5a926f9e19bb18708d525c84bec0b4d7b6c148f9184bbe39bdca048fccdcd1f6c9cc8b7fef57cb72122a2285691a3972803d1fd53eae265786a634719dd5ae36 SHA512 e22bad602b65f4268e4fa3baf4776bb0dc68605566979a061cfb8d9c1d5e68cac14a8b2ec9241925937b15d3ad72a0daac9c02a61471bd6e05e48a8ea0412d42
-EBUILD go-1.14.4.ebuild 4163 BLAKE2B 49dad3ec3547dff65943360a84a39f4d5ff534973e1497ba642256d45ba77c652804e53c634440d876d3785fed2cd4c348afc307d11910c2761e4a10821377f6 SHA512 ac7161342580de56f1569d7ce8c57a117b02bdd11aefea60a881e57a3eedf116db24199364a154c62983b86522548c03e0c150089e0fdabec1d1945fc4826599
+EBUILD go-1.13.15.ebuild 4411 BLAKE2B 373fd1adf67feddfe122adadbb80da23c13c6ee2b3c1342490ce9f7734c5d2e2f2339f4c26b7fe0dc3372a000cbf55d276a8d4adb13468d99ac7081ddacfd106 SHA512 98d4b8b3f68d6f5609eb6a7c05cd3107877bc0195d475ed27072f34f77776a9f7f92760f29115bc83bff4662025281ab2fed93ab7cba75a6294559f16771ac1f
+EBUILD go-1.14.7.ebuild 4158 BLAKE2B 5a926f9e19bb18708d525c84bec0b4d7b6c148f9184bbe39bdca048fccdcd1f6c9cc8b7fef57cb72122a2285691a3972803d1fd53eae265786a634719dd5ae36 SHA512 e22bad602b65f4268e4fa3baf4776bb0dc68605566979a061cfb8d9c1d5e68cac14a8b2ec9241925937b15d3ad72a0daac9c02a61471bd6e05e48a8ea0412d42
+EBUILD go-1.15.ebuild 4163 BLAKE2B 49dad3ec3547dff65943360a84a39f4d5ff534973e1497ba642256d45ba77c652804e53c634440d876d3785fed2cd4c348afc307d11910c2761e4a10821377f6 SHA512 ac7161342580de56f1569d7ce8c57a117b02bdd11aefea60a881e57a3eedf116db24199364a154c62983b86522548c03e0c150089e0fdabec1d1945fc4826599
EBUILD go-9999.ebuild 4163 BLAKE2B 49dad3ec3547dff65943360a84a39f4d5ff534973e1497ba642256d45ba77c652804e53c634440d876d3785fed2cd4c348afc307d11910c2761e4a10821377f6 SHA512 ac7161342580de56f1569d7ce8c57a117b02bdd11aefea60a881e57a3eedf116db24199364a154c62983b86522548c03e0c150089e0fdabec1d1945fc4826599
MISC metadata.xml 663 BLAKE2B fc92966e1b4a155b4d442842988d0404c0148b029d187ab7294d49dabad771296d63ca3184128ac27cea4e74e7d6cfc8852084ca8f1d15a1d0755586a0bf68de SHA512 f67b7e312cfb2a896552ae73e835d53ffbb0a7c71c30f0a7cb44c65e2753055e185e7a5c48e2cfff33a42609629cc3c32ee56a9d8f61d8429798c1e8424e36bf
diff --git a/dev-lang/go/go-1.13.12.ebuild b/dev-lang/go/go-1.13.12.ebuild
deleted file mode 100644
index d71bff70d905..000000000000
--- a/dev-lang/go/go-1.13.12.ebuild
+++ /dev/null
@@ -1,197 +0,0 @@
-# Copyright 1999-2020 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 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
- # The upstream tests fail under portage but pass if the build is
- # run according to their documentation [1].
- # I am restricting the tests on released versions until this is
- # solved.
- # [1] https://golang.org/issues/18442
- RESTRICT="test"
- ;;
- esac
-esac
-
-DESCRIPTION="A concurrent garbage collected and typesafe programming language"
-HOMEPAGE="https://golang.org"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-
-BDEPEND="|| (
- dev-lang/go
- dev-lang/go-bootstrap )"
-RDEPEND="!<dev-go/go-tools-0_pre20150902"
-
-# These test data objects have writable/executable stacks.
-QA_EXECSTACK="
- usr/lib/go/src/debug/elf/testdata/*.obj
- usr/lib/go/src/*.gox
- "
-
-# Do not complain about CFLAGS, etc, since Go doesn't use them.
-QA_FLAGS_IGNORED='.*'
-
-REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
-
-# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
-QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
-
-# 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 ;;
- 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)
- if [[ ${ARCH} == arm ]]; then
- export GOARM=$(go_arm)
- fi
-
- 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"
-}
-
-src_install()
-{
- local bin_path f x
-
- dodir /usr/lib/go
-
- # 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.
- # [1] https://golang.org/issue/2775
- #
- # deliberately use cp to retain permissions
- cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
- if go_cross_compile; then
- bin_path="bin/$(go_tuple)"
- else
- bin_path=bin
- fi
- for x in ${bin_path}/*; do
- f=${x##*/}
- dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
- done
- einstalldocs
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- # fix install_name for test object (binutils_test) on Darwin, it
- # is never used in real circumstances
- local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
- libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
- install_name_tool -id "${libmac64}" "${D}${libmac64}"
- fi
-}
diff --git a/dev-lang/go/go-1.13.10.ebuild b/dev-lang/go/go-1.13.15.ebuild
index 1f323d04c2e8..1f323d04c2e8 100644
--- a/dev-lang/go/go-1.13.10.ebuild
+++ b/dev-lang/go/go-1.13.15.ebuild
diff --git a/dev-lang/go/go-1.14.2.ebuild b/dev-lang/go/go-1.14.7.ebuild
index 178eb1504f2f..178eb1504f2f 100644
--- a/dev-lang/go/go-1.14.2.ebuild
+++ b/dev-lang/go/go-1.14.7.ebuild
diff --git a/dev-lang/go/go-1.14.4.ebuild b/dev-lang/go/go-1.15.ebuild
index fa07749bdeb3..fa07749bdeb3 100644
--- a/dev-lang/go/go-1.14.4.ebuild
+++ b/dev-lang/go/go-1.15.ebuild
diff --git a/dev-lang/gprolog/Manifest b/dev-lang/gprolog/Manifest
index 567778b8bca0..81c07ff20ae6 100644
--- a/dev-lang/gprolog/Manifest
+++ b/dev-lang/gprolog/Manifest
@@ -11,5 +11,5 @@ AUX gprolog-1.4.5-txt-file.patch 578 BLAKE2B 22f4803c19fc4e8266065e457e711df2885
DIST gprolog-1.4.4.tar.gz 3538152 BLAKE2B 159cf58e6d7f33662a6bd11f284abd9e52be0f82cafe180263148d13002e66987253e9dcd7db232b33470ddb685570efe3615c7029af96be44bb556bd9c2d261 SHA512 b6227a06794d31162f2c790a025f7372a6676c1891a76e880d2152aeab6322d3341aeab85e11d9be6d97ff1c69801bee73fa3ea6b0659af61f55990a455dc212
DIST gprolog-1.4.5.tar.gz 3587361 BLAKE2B c0c73ce249d7c26b914a3f831c6ac93aeb884bded6c5ebbe51223f0685de0be2e746533aade1633a953b93e88a30796fa52ecd5e609d05bc051363cbf34e0477 SHA512 425103bc9e5bdbdb4ae331f5be0cf49524fbdb4f5e2809fb973360de9e7ad9935c1b28f3603e0be696a647153d9f0d3dacdc87251098ac99faf7d0b3c652fc60
EBUILD gprolog-1.4.4.ebuild 1557 BLAKE2B 9b6f76d4bd2ad7771c6b7e179fc57ba6b1691799942d4cbc85eec70dfb375e298ca4c7fcd01d4e762c103e517a237586ebbb60b1d088a97c4ea1ac2d7286775c SHA512 30f9edfe26b273f9d23609450761aef70c2d50e4a894fb87cd7ab773087fd410d99c7f489bbb554db656308e7e76fca36c40cb289013d7ee132188086d46a6c7
-EBUILD gprolog-1.4.5.ebuild 1813 BLAKE2B a8d9a2b2603cc76feb815141ea044bd5d4553af1acb65eea5f99611846091138a586d678fed93394d4ef37d06c096f52d9370ec0ebc31488cd55304be2db10ac SHA512 8763248d70441b10d967a51fa1d359b9438f47d62ce53a7847b1174db7f40848fd6e8b42a802c27ade788e2f025a467c49dbed71214d81c3affae4bf4d7380d9
+EBUILD gprolog-1.4.5.ebuild 1907 BLAKE2B 4155b81b163a3851aa59f0d1a41d1db3d63eb359cdd7ffd829330e0fb1628201816b562946cb9e11399440c9015a828af7093e2eaf6a94f42667d33b47eca26f SHA512 03b8744ca7804b4b808d15a2cbafea215bad2f3b2097749712b62d0a4e962ee710d4bd29439631771a50d3245a933df73467d0b5d30289c73f39250b3c60c5f2
MISC metadata.xml 236 BLAKE2B 665f3de6dc90f46a18379b3416063a49b1a79ddd7ef89eaed9be78f9adc5b234e9693cd31d6cf2d3477fc7dc00055492bef7de78da6c901c4a6e55eb0e781325 SHA512 e776224736bd575412c7b5b799f649c6b2947a70e6a9aea580063d9da7d09a8144e5ebaf7ac3ef131d578486cf05dec814dce11b2aeb884cded3be3cab70fcec
diff --git a/dev-lang/gprolog/gprolog-1.4.5.ebuild b/dev-lang/gprolog/gprolog-1.4.5.ebuild
index 0a47ce2d34c4..80e33c7e6183 100644
--- a/dev-lang/gprolog/gprolog-1.4.5.ebuild
+++ b/dev-lang/gprolog/gprolog-1.4.5.ebuild
@@ -12,7 +12,7 @@ S="${WORKDIR}"/${P}
LICENSE="|| ( GPL-2+ LGPL-3+ )"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
IUSE="debug doc examples"
DEPEND=""
@@ -42,13 +42,19 @@ src_configure() {
append-ldflags -no-pie
fi
+ if tc-is-gcc && ! use x86; then
+ gprolog_use_regs=yes
+ else
+ gprolog_use_regs=no
+ fi
+
cd "${S}"/src
econf \
CFLAGS_MACHINE="${CFLAGS_MACHINE}" \
--with-c-flags="${CFLAGS}" \
--with-install-dir="${EPREFIX}"/usr/$(get_libdir)/${P} \
--with-links-dir="${EPREFIX}"/usr/bin \
- $(use_enable !x86 regs) \
+ --enable-regs=$gprolog_use_regs \
$(use_with doc doc-dir "${EPREFIX}"/usr/share/doc/${PF}) \
$(use_with doc html-dir "${EPREFIX}"/usr/share/doc/${PF}/html) \
$(use_with examples examples-dir "${EPREFIX}"/usr/share/doc/${PF}/examples)
diff --git a/dev-lang/icon/Manifest b/dev-lang/icon/Manifest
index 815c674ae932..e66b309a5cad 100644
--- a/dev-lang/icon/Manifest
+++ b/dev-lang/icon/Manifest
@@ -1,7 +1,9 @@
AUX icon-9.5.1-flags.patch 2148 BLAKE2B 37fcaca92f67be74caddbf7789ca4e666a4e0b98e7cac3a89376bae5c50fd248eae0f0b282a46ec8d6dc55f5c423ad6dc69744d2999e96ec183d9bb369f7e7b0 SHA512 28b201a1347167b028187d6d35cb50450cf6a13b48fbf65a616683fb6c5d3373d9ba9e64c3d6fe397e858388c88a52ab330a00dc5e4ca087567089e8cdd3c897
AUX icon-9.5.1-fpoll.patch 977 BLAKE2B 720fac1a8109d3400b6a718f708904d14e2d4207840a2e4d31888dd4be2d02c241c2f40271b89f6e3273732288e203e9298f061dfb485ca4eb0c24baea02534c SHA512 4b9d471d7d2992a75cccea98790339318b8a622d993a34affc69e0dbbbfa7103e8b994494eb33aaf26168bdb18623c5419f2c34471dee4adb1a004b420b793ab
AUX icon-9.5.1-musl.patch 726 BLAKE2B 83aff0d45e50afa88830d18dbec53838e8adaaa4099fbe405b2212fbc0e53240fc0b21d934f2dfc263afc576bf671924d253784dc65e498b4bacecc91d479255 SHA512 b2be4642126edd75f6ae3466879841ec0123c367c93d74d91d9b9f290deaef9d7bbaa6642ad0440e297850664c6da7f33931782214c9afd8ca2d380b75d588e1
+DIST icon-9.5.20h.tar.gz 3137602 BLAKE2B 093290f7df4d0c1686b57c1debabdae5ab607fab00849885fd97b68b872db9d360e9ffe61b7be2e503f5ffa70a387011128c65586b0d48e298577d0ca690a729 SHA512 c3dec5d9d6f2e01fb27b09897cf9e54103749e64e64feb6503e1d25a00bf7da498e40207d8d220af8aca134df6fb281484bd8c8444d256f04ddc39de6a23ca1f
DIST icon-v951src.tgz 3133040 BLAKE2B 790a66a8210c1b9c55514a560590f08d3e52d7c5115d60554183f1118b5705fc1754b8188dcc3b5b739318374d568b6eafc1e3c4266de5416709e7ce6056925b SHA512 032dc9cfa57af5af2eb84b2116d0537124b5efb87b7cf744ecace2ccf49e461d5be5f91df99d85e8a988520d144fe4ecf06a6e78f7fff997b78afa95355449ad
EBUILD icon-9.5.1-r1.ebuild 2518 BLAKE2B d305f28d494f0924035e7b4a6f5d8165741b8b4b782f0aa3133cca9503656c72172a63f8db31e080d238eb527300258654f43a3dfcef9e085b949d7bcb172252 SHA512 49c548061175a7999717b184b4dbfc69ccf9a316a13d8784a586dca68108c324eaf08ca4b9b488445f7fe5fd77d878648d580570b9c30b4163a1c2249f1da3bc
EBUILD icon-9.5.1-r2.ebuild 2982 BLAKE2B 30b2887bf207653d25f1e0903e7731b9ea9293c471496aef642b0947320765df736067cab39c66285b286ec9d0c588c8a4613bc04371e1bd8a924996bf70b88c SHA512 3936d1b2479c2a31a1229fdf7f2b5e1d7d18ae3974ae06109d2f4aea341cb2aaede33cbea8c98ee48a7ac00dddba84340b08af79174166dd7a682fa65a9cf055
+EBUILD icon-9.5.20h.ebuild 3303 BLAKE2B 2894ac3c1077b091e80e5b84efa75c6d0fcc99b70d1e1e1ec720cee1970423047c09b89c3c41dff2ddcbcfac19e9bb20edb19805e46ba477211b4cc10a0f6854 SHA512 b4647284036465cbf70ed53f0a4df2cf0089e016e5bc775ab39720634a49416bae61ccf9a7d628971db0fffe247f84083c7a4e44c7f37a20f5fb22ca6d74793c
MISC metadata.xml 467 BLAKE2B b480285505dec662f62038d22a88323f01f21b100de7ee652f2e3d5f5f4cdf4345ad7d303f2713b1a2816157c46610c2f5287cb385c61998f68fd95d09bf9d5b SHA512 1a77000b72ae453ecb2bd4452e32ea917328a61bb882e107b96f013ddaa218e951743569e38e97210a341755bd7c891324123d96e56da9a5a7caa93ad4dbb93a
diff --git a/dev-lang/icon/icon-9.5.20h.ebuild b/dev-lang/icon/icon-9.5.20h.ebuild
new file mode 100644
index 000000000000..1c915dca803b
--- /dev/null
+++ b/dev-lang/icon/icon-9.5.20h.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="very high level language"
+HOMEPAGE="http://www.cs.arizona.edu/icon/"
+
+SRC_URI="https://github.com/gtownsend/icon/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="public-domain HPND"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="X iplsrc"
+
+S="${WORKDIR}/icon-${PV}"
+
+RDEPEND="
+ X? ( x11-libs/libX11:= )"
+DEPEND="
+ ${RDEPEND}
+ X? (
+ x11-libs/libXpm
+ x11-libs/libXt
+ )"
+
+src_prepare() {
+ default
+ # Add CFLAGS and LDFLAGS to Makefiles as needed
+ sed -i -e 's/CFLAGS="$(CFLAGS)"/& LDFLAGS="$(LDFLAGS)"/g' ipl/cfuncs/Makefile || die
+ sed -i -e 's/^CFLAGS = \(.*\)/CFLAGS = $(CFLAGS) \1/g' ipl/packs/loadfunc/Makefile || die
+ sed -i -e 's/CFLAGS="$(CFLAGS)"/& LDFLAGS="$(LDFLAGS)"/g' ipl/packs/loadfunc/Makefile || die
+ sed -i -e 's/-o $LIBNAME $CFLAGS/& $LDFLAGS/g' ipl/cfuncs/mklib.sh || die
+ sed -i -e 's/$(RLINK)/& $(LDFLAGS)/g' src/runtime/Makefile || die
+
+ # executables in src/common are only used to prep the build
+ sed -i -e 's/$(CC) $(CFLAGS)/& $(LDFLAGS)/g' src/common/Makefile || die
+ # executables in src/rtt are only used to perform the build
+ sed -i -e 's/$(CC) $(CFLAGS)/& $(LDFLAGS)/g' src/rtt/Makefile || die
+
+ # do not prestrip files
+ find src -name 'Makefile' | xargs sed -i -e "/strip/d" || die
+}
+
+src_configure() {
+ # select the right compile target. Note there are many platforms
+ # available
+ local mytarget;
+ if [[ ${CHOST} == *-darwin* ]]; then
+ mytarget="macintosh"
+ else
+ mytarget="linux"
+ fi
+
+ # Fails if more then one make job process.
+ # This is an upstream requirement.
+ emake -j1 $(usex X X-Configure Configure) name=${mytarget}
+
+ # sanitise the Makedefs file generated by Configure
+ sed -i \
+ -e 's:-L/usr/X11R6/lib64::g' \
+ -e 's:-L/usr/X11R6/lib::g' \
+ -e 's:-I/usr/X11R6/include::g' \
+ -e 's:-I/usr/X11R6/include::g' \
+ -e '/^CFLAGS/d' \
+ Makedefs || die "sed of Makedefs failed"
+
+ if use elibc_musl; then
+ append-flags "-D_MUSL"
+ fi
+ append-flags $(test-flags -fno-strict-aliasing -fwrapv)
+}
+
+src_compile() {
+ # Fails if more then one make job process.
+ # This is an upstream requirement.
+ emake -j1 CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+}
+
+src_test() {
+ emake Samples
+ emake Test
+}
+
+src_install() {
+ # Needed for make Install
+ dodir /usr/$(get_libdir)
+
+ emake Install dest="${D}/usr/$(get_libdir)/icon"
+ dosym ../$(get_libdir)/icon/bin/icont /usr/bin/icont
+ dosym ../$(get_libdir)/icon/bin/iconx /usr/bin/iconx
+ dosym ../$(get_libdir)/icon/bin/icon /usr/bin/icon
+ if use X; then
+ dosym ../$(get_libdir)/icon/bin/vib /usr/bin/vib
+ fi
+
+ cd "${S}/man/man1" || die
+ doman "${PN}"t.1
+ doman "${PN}".1
+
+ cd "${S}/doc" || die
+ DOCS=( *.txt ../README )
+
+ HTML_DOCS=( *.{htm,gif,jpg,css} )
+ einstalldocs
+
+ # Clean up items from make Install that get installed elsewhere
+ rm -rf "${ED}"/usr/$(get_libdir)/${PN}/man || die
+ rm -rf "${ED}"/usr/$(get_libdir)/icon/{doc,README} || die
+
+ # optional Icon Programming Library
+ if use iplsrc; then
+ cd "${S}" || die
+
+ # Remove unneeded files before copy
+ rm -fv ipl/{BuildBin,BuildExe,CheckAll,Makefile} || die
+
+ insinto /usr/$(get_libdir)/icon
+ doins -r ipl
+ fi
+}
diff --git a/dev-lang/ispc/Manifest b/dev-lang/ispc/Manifest
index fd1597133c2e..487aaa525108 100644
--- a/dev-lang/ispc/Manifest
+++ b/dev-lang/ispc/Manifest
@@ -1,12 +1,7 @@
AUX ispc-1.13.0-cmake-gentoo-release.patch 507 BLAKE2B e67be17f40dce55895ce307bd5383ad3f9dc8ec460c7195e23ce344f3a0324c53f9f69b695b6feb70d18da813d5d855d675a00e8dfd3e651aaaebf510de1138b SHA512 bdfd7d3f023ace4a0209201e05b7528e50cff644794bc48b5160d8051c2d70dad6690e509ca69102b08843ebb5fd7a76241954b22a0bb1f3c4714708df405d65
AUX ispc-1.13.0-llvm-10.patch 4670 BLAKE2B 31fa72f49af116e253b45cd1a5750fcc32cb0b9986582b6501326194903d6c56fc8efcc0b86975eb153c725b5310c613012d670c2b6badf0b4da04204d4df38b SHA512 b8c83e8fd290b2c37e1ca5cec158e4aec4c0c5aa291069b0935851bbd8198a3784ee75a6bf38d1c57ee69f6712d10e292af809d1ac38199514cc45c2f1a82994
AUX ispc-1.13.0-werror.patch 737 BLAKE2B 13ac7eb6f9db4a7379d5acd1f0fa8f44ddca7290329c1231c1b515b374438f5119d9e129c8b5326cfd084956a4ba005549bd30b67a9f64034e0ade8218b8f50c SHA512 254e0e21db59f2b8768d0953c9b0950bb7d860ea9eab7c4d450b3b006382959ab60eb650df9c1ddd4fda7628d5040f7b4779369cf67a99012d5fc2c4b9ef2f7b
-AUX ispc-9999-cmake-gentoo-release.patch 507 BLAKE2B e67be17f40dce55895ce307bd5383ad3f9dc8ec460c7195e23ce344f3a0324c53f9f69b695b6feb70d18da813d5d855d675a00e8dfd3e651aaaebf510de1138b SHA512 bdfd7d3f023ace4a0209201e05b7528e50cff644794bc48b5160d8051c2d70dad6690e509ca69102b08843ebb5fd7a76241954b22a0bb1f3c4714708df405d65
-AUX ispc-9999-llvm-10.patch 4670 BLAKE2B 31fa72f49af116e253b45cd1a5750fcc32cb0b9986582b6501326194903d6c56fc8efcc0b86975eb153c725b5310c613012d670c2b6badf0b4da04204d4df38b SHA512 b8c83e8fd290b2c37e1ca5cec158e4aec4c0c5aa291069b0935851bbd8198a3784ee75a6bf38d1c57ee69f6712d10e292af809d1ac38199514cc45c2f1a82994
-AUX ispc-9999-werror.patch 737 BLAKE2B 13ac7eb6f9db4a7379d5acd1f0fa8f44ddca7290329c1231c1b515b374438f5119d9e129c8b5326cfd084956a4ba005549bd30b67a9f64034e0ade8218b8f50c SHA512 254e0e21db59f2b8768d0953c9b0950bb7d860ea9eab7c4d450b3b006382959ab60eb650df9c1ddd4fda7628d5040f7b4779369cf67a99012d5fc2c4b9ef2f7b
DIST ispc-1.13.0.tar.gz 19202295 BLAKE2B 5fae81429acbda0d65d33e56609d05fb8b5a7db6dd0af5ff779d1e8954f6a98d1fcb0f7ecf0c1b9813630026557c21c2a70bfc87ed75959a8bd24e06fcd2e351 SHA512 d23c127beb9bb17e1ad2509f9ad51dd660c473458b939a6b64ca7f6319b3c2f25318ea2ceac00e4100a059f3f67fb97b6973f18e3432c82ff9691f2a08d15d5d
-DIST ispc-1.9.2.tar.gz 19283765 BLAKE2B 500cca8a69a78ad9a21dc1e39dcb3ed01730e78deed61e4871ce5a9761829c80ac7b1b987d8e8a48c34b67ac96692b2c5026cfb5059a32c71e228c73550584eb SHA512 77a66086cbfd6c4dc855b3137a270cc40f24829255639aee5f562b0831c21938157667b20cfadc660cd67525c47e2e73b46692f7a11bf0c834dc60b69d40d76d
-EBUILD ispc-1.13.0.ebuild 1117 BLAKE2B b5ebcac60a1c4adf8753ab5db9721ce69217b3368bf2682c95e1db30e6ccc1e3e1f96574005433cc000d483184161ad1c829dbfee1ace996c389ed90570e8de5 SHA512 1b2389d5c1a2d068240b6e76feff615e56179d08a003a2eca4e8bb756aa351dbd64d08f8cb5353da2868b1407b496a25f22dd34149216006f8340f675e8ec610
-EBUILD ispc-1.9.2.ebuild 1100 BLAKE2B 4bfdcf2d708ddc9e5c9e84f9a8adbab0111ceda9c5a10d7b11b21ef21cb24e56cca857e9cde0d593b0b1c49f1098a1ab0035d239ccc1b268ce1d5832c5979463 SHA512 5595b9a47e860adbfd6c7c9e3fa94f39f68f3d167cf17f3da964e51e8dfff170cf9ef6dcbee8ea82f1813f9a66d3724721ad2b44269e69703842a80d2aa25129
-EBUILD ispc-9999.ebuild 1117 BLAKE2B b5ebcac60a1c4adf8753ab5db9721ce69217b3368bf2682c95e1db30e6ccc1e3e1f96574005433cc000d483184161ad1c829dbfee1ace996c389ed90570e8de5 SHA512 1b2389d5c1a2d068240b6e76feff615e56179d08a003a2eca4e8bb756aa351dbd64d08f8cb5353da2868b1407b496a25f22dd34149216006f8340f675e8ec610
+EBUILD ispc-1.13.0.ebuild 1121 BLAKE2B 4b985cce80e289890738782c49bd13aa17d558e822e6eb7195c7c978eb897aa61ac7041585b858973332942025ed12c0f1d3c6321bc4ff66b8d29c8ba489db2c SHA512 8484cc0dd7ff53ece134283d8da415bf8a1f8693adbfb118df09c766b1d686aaeb2cad893bb509c8d7fdc69a4cf18bce2ec0bf0d0071b172e9d13f6e33dd071a
+EBUILD ispc-9999.ebuild 1145 BLAKE2B 207e69d834776b8e207e1d8ae4b89e8cfdb20cdd13b3b2744f4bd37e97d50abc7906dcaaff155af0a1b90956d0b65e68b9436d246ace995ca2d5a652ed3b5219 SHA512 282b7164ec52954a9ba6e09c8cd1d8cf355c095a6a0e187b7da3651d26da938eeccc6c99cd082e0b2fa5f39770d55edcc960cadf9705c7c5d669598bf1509287
MISC metadata.xml 241 BLAKE2B 26c98e9f68d20d2275e5a9aef2d4c1cf74bd65e331e2e4869297a0a4d2b4dccab2e7709ad9ff844b973a97da0ee6eaae4fe17c6446ca06ed63f46804c8af5a82 SHA512 b9bb777e446879d214fab1adfa4b9dca1d3bd11c4084dfa449fb16d1896da27b85e11b869ed76b7b492814a1899b5fb00dbbeded579a0ed00666d4b204ddee14
diff --git a/dev-lang/ispc/files/ispc-9999-cmake-gentoo-release.patch b/dev-lang/ispc/files/ispc-9999-cmake-gentoo-release.patch
deleted file mode 100644
index b89e61504008..000000000000
--- a/dev-lang/ispc/files/ispc-9999-cmake-gentoo-release.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 13e66268..27ff8364 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -137,7 +137,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin )
-
- if(CMAKE_BUILD_TYPE)
- # Validate build type
-- set(CONFIGURATION_TYPES "Debug;Release;RelWithDebInfo")
-+ set(CONFIGURATION_TYPES "Debug;Release;RelWithDebInfo;Gentoo")
-
- string(FIND "${CONFIGURATION_TYPES}" "${CMAKE_BUILD_TYPE}" MATCHED_CONFIG)
- if (${MATCHED_CONFIG} EQUAL -1)
diff --git a/dev-lang/ispc/files/ispc-9999-llvm-10.patch b/dev-lang/ispc/files/ispc-9999-llvm-10.patch
deleted file mode 100644
index 6911a76d9e18..000000000000
--- a/dev-lang/ispc/files/ispc-9999-llvm-10.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 13e66268..27ff8364 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -218,7 +218,7 @@ if (WASM_ENABLED)
- list(APPEND ISPC_TARGETS wasm-i32x4)
- endif()
-
--set(CLANG_LIBRARY_LIST clangFrontend clangDriver clangSerialization clangParse clangSema clangAnalysis clangAST clangBasic clangEdit clangLex)
-+set(CLANG_LIBRARY_LIST clang clang-cpp)
- set(LLVM_COMPONENTS engine ipo bitreader bitwriter instrumentation linker option)
-
- if (${LLVM_VERSION_NUMBER} VERSION_GREATER_EQUAL "10.0.0")
-@@ -402,11 +402,8 @@ if (ISPC_USE_ASAN)
- endif()
-
- # Link against Clang libraries
--foreach(clangLib ${CLANG_LIBRARY_LIST})
-- find_library(${clangLib}Path NAMES ${clangLib} HINTS ${LLVM_LIBRARY_DIRS})
-- list(APPEND CLANG_LIBRARY_FULL_PATH_LIST ${${clangLib}Path})
--endforeach()
--target_link_libraries(${PROJECT_NAME} ${CLANG_LIBRARY_FULL_PATH_LIST})
-+find_package(Clang REQUIRED)
-+target_link_libraries(${PROJECT_NAME} ${CLANG_LIBRARY_LIST})
-
- # Link against LLVM libraries
- target_link_libraries(${PROJECT_NAME} ${LLVM_LIBRARY_LIST})
-diff --git a/src/llvmutil.cpp b/src/llvmutil.cpp
-index 06fab989..57a7130f 100644
---- a/src/llvmutil.cpp
-+++ b/src/llvmutil.cpp
-@@ -42,6 +42,7 @@
- #include <llvm/IR/BasicBlock.h>
- #include <llvm/IR/Instructions.h>
- #include <llvm/IR/Module.h>
-+#include <llvm/Support/raw_ostream.h>
- #include <map>
- #include <set>
- #include <vector>
-@@ -1394,7 +1395,7 @@ static void lDumpValue(llvm::Value *v, std::set<llvm::Value *> &done) {
- return;
-
- fprintf(stderr, " ");
-- v->dump();
-+ v->print(llvm::outs(), false);
- done.insert(v);
-
- if (inst == NULL)
-diff --git a/src/opt.cpp b/src/opt.cpp
-index d78ac374..a607594a 100644
---- a/src/opt.cpp
-+++ b/src/opt.cpp
-@@ -142,7 +142,7 @@ static llvm::Pass *CreateFixBooleanSelectPass();
- getenv("FUNC"), strlen(getenv("FUNC")))))) { \
- fprintf(stderr, "Start of " NAME "\n"); \
- fprintf(stderr, "---------------\n"); \
-- bb.dump(); \
-+ bb.print(llvm::outs(), false); \
- fprintf(stderr, "---------------\n\n"); \
- } else /* eat semicolon */
-
-@@ -152,7 +152,7 @@ static llvm::Pass *CreateFixBooleanSelectPass();
- getenv("FUNC"), strlen(getenv("FUNC")))))) { \
- fprintf(stderr, "End of " NAME " %s\n", modifiedAny ? "** CHANGES **" : ""); \
- fprintf(stderr, "---------------\n"); \
-- bb.dump(); \
-+ bb.print(llvm::outs(), false); \
- fprintf(stderr, "---------------\n\n"); \
- } else /* eat semicolon */
- #else
-@@ -453,7 +453,7 @@ void Optimize(llvm::Module *module, int optLevel) {
- #ifndef ISPC_NO_DUMPS
- if (g->debugPrint) {
- printf("*** Code going into optimization ***\n");
-- module->dump();
-+ module->print(llvm::outs(), nullptr);
- }
- #endif
- DebugPassManager optPM;
-@@ -666,7 +666,7 @@ void Optimize(llvm::Module *module, int optLevel) {
- #ifndef ISPC_NO_DUMPS
- if (g->debugPrint) {
- printf("\n*****\nFINAL OUTPUT\n*****\n");
-- module->dump();
-+ module->print(llvm::outs(), nullptr);
- }
- #endif
- }
-@@ -4256,7 +4256,7 @@ char DebugPass::ID = 0;
- bool DebugPass::runOnModule(llvm::Module &module) {
- fprintf(stderr, "%s", str_output);
- fflush(stderr);
-- module.dump();
-+ module.print(llvm::outs(), nullptr);
- return true;
- }
-
-@@ -4303,7 +4303,7 @@ void DebugPassFile::run(llvm::Module &module, bool init) {
- snprintf(fname, sizeof(fname), "%s_%d_%s.ll", init ? "init" : "ir", pnum, sanitize(std::string(pname)).c_str());
- llvm::raw_fd_ostream OS(fname, EC, llvm::sys::fs::F_None);
- Assert(!EC && "IR dump file creation failed!");
-- module.print(OS, 0);
-+ module.print(OS, nullptr);
- }
-
- bool DebugPassFile::runOnModule(llvm::Module &module) {
diff --git a/dev-lang/ispc/files/ispc-9999-werror.patch b/dev-lang/ispc/files/ispc-9999-werror.patch
deleted file mode 100644
index 3fa144b78dbc..000000000000
--- a/dev-lang/ispc/files/ispc-9999-werror.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 13e66268..27ff8364 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -352,7 +352,7 @@ target_include_directories(${PROJECT_NAME} PRIVATE
- ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR})
- # Compile options
- if (UNIX)
-- target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wno-sign-compare -Wno-unused-function -Werror ${LLVM_CPP_FLAGS})
-+ target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wno-sign-compare -Wno-unused-function ${LLVM_CPP_FLAGS})
- # Security options
- target_compile_options(${PROJECT_NAME} PRIVATE -fstack-protector -fdata-sections -ffunction-sections
- -Wformat -Wformat-security -fpie -fwrapv)
diff --git a/dev-lang/ispc/ispc-1.13.0.ebuild b/dev-lang/ispc/ispc-1.13.0.ebuild
index 244bb728565a..33144034d36a 100644
--- a/dev-lang/ispc/ispc-1.13.0.ebuild
+++ b/dev-lang/ispc/ispc-1.13.0.ebuild
@@ -48,12 +48,12 @@ src_configure() {
}
src_install() {
- dobin ${BUILD_DIR}/bin/ispc
+ dobin "${BUILD_DIR}"/bin/ispc
dodoc README.md
if use examples; then
insinto "/usr/share/doc/${PF}/examples"
docompress -x "/usr/share/doc/${PF}/examples"
- doins -r ${BUILD_DIR}/examples/*
+ doins -r "${BUILD_DIR}"/examples/*
fi
}
diff --git a/dev-lang/ispc/ispc-1.9.2.ebuild b/dev-lang/ispc/ispc-1.9.2.ebuild
deleted file mode 100644
index d1c2c2331127..000000000000
--- a/dev-lang/ispc/ispc-1.9.2.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit toolchain-funcs python-any-r1
-
-DESCRIPTION="Intel SPMD Program Compiler"
-HOMEPAGE="https://ispc.github.com/"
-
-if [[ ${PV} = *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ispc/ispc.git"
- KEYWORDS=""
-else
- SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="BSD BSD-2 UoI-NCSA"
-SLOT="0"
-IUSE="examples"
-
-RDEPEND="
- >=sys-devel/clang-3.0:*
- >=sys-devel/llvm-3.0:*
- "
-DEPEND="
- ${RDEPEND}
- ${PYTHON_DEPS}
- sys-devel/bison
- sys-devel/flex
- "
-
-src_compile() {
- #make all slient commands ("@") verbose and remove -Werror (ispc/ispc#1295)
- sed -e '/^\t@/s/@//' -e 's/-Werror//' -i Makefile || die
- emake LDFLAGS="${LDFLAGS}" OPT="${CXXFLAGS}" CXX="$(tc-getCXX)" CPP="$(tc-getCPP)"
-}
-
-src_install() {
- dobin ispc
- dodoc README.rst
-
- if use examples; then
- insinto "/usr/share/doc/${PF}/examples"
- docompress -x "/usr/share/doc/${PF}/examples"
- doins -r examples/*
- fi
-}
diff --git a/dev-lang/ispc/ispc-9999.ebuild b/dev-lang/ispc/ispc-9999.ebuild
index 244bb728565a..c8398b962c6a 100644
--- a/dev-lang/ispc/ispc-9999.ebuild
+++ b/dev-lang/ispc/ispc-9999.ebuild
@@ -35,9 +35,9 @@ DEPEND="
"
PATCHES=(
- "${FILESDIR}/${P}-cmake-gentoo-release.patch"
- "${FILESDIR}/${P}-llvm-10.patch"
- "${FILESDIR}/${P}-werror.patch"
+ "${FILESDIR}/${PN}-1.13.0-cmake-gentoo-release.patch"
+ "${FILESDIR}/${PN}-1.13.0-llvm-10.patch"
+ "${FILESDIR}/${PN}-1.13.0-werror.patch"
)
src_configure() {
@@ -48,12 +48,12 @@ src_configure() {
}
src_install() {
- dobin ${BUILD_DIR}/bin/ispc
+ dobin "${BUILD_DIR}"/bin/ispc
dodoc README.md
if use examples; then
insinto "/usr/share/doc/${PF}/examples"
docompress -x "/usr/share/doc/${PF}/examples"
- doins -r ${BUILD_DIR}/examples/*
+ doins -r "${BUILD_DIR}"/examples/*
fi
}
diff --git a/dev-lang/janet/Manifest b/dev-lang/janet/Manifest
index 5f366b993e18..afa66875479b 100644
--- a/dev-lang/janet/Manifest
+++ b/dev-lang/janet/Manifest
@@ -1,6 +1,5 @@
-AUX janet-1.7.0-fix-ldflags-in-pkgconfig.patch 473 BLAKE2B d7e99647a8b25b715c9261e3178db5ff024bee48c9a677b70a542e4f60a359ce349e130f15425694315dacc0e6a1151da8026f6f6cf0104e8137645302dae729 SHA512 d935b96d08f03160b88b33b61b2d1aafcce2184b622964ca8ee257978c8466f806e0491ba4e2f36f30c1bedfb7aa1e10df074b32a49a547fe3dee3b6b99adc8d
-DIST janet-1.8.1.tar.gz 977929 BLAKE2B 4cdf9e5dd7f4a1128438db8bec43c4f1919392bf6c317e2fca42b73826058cd98cec812c245354cc26f21edd4b9640f94dce1e82daa785b53e7e1e8fb45148a9 SHA512 e2296b16ad7df35e0f6ff0f56b9cd5071e887288df195ac0a14a73284a48f010cc26a413ea836aa3faa4385e25f7f313b183f0fbb8e6eebdc3975b69c62e4ebf
+DIST janet-1.11.1.tar.gz 550495 BLAKE2B 4f9e6f08aeb167f3cbb0afb635e4f9f9e904ad1f0bc937d7baa101e37b1f6aa23ef56549741c2c42d9b652f5bf46121b3467aa5a5ae1a3ee02b955387ef3c5a6 SHA512 75508255bce1b3b9af30fb6de14f8dbfaf5774838e5e400a97112100e2ae6b1dfb870cf95860a7d7b500385e8e7f585e3032492cac88fa7b356443314dc7a45a
DIST janet-1.9.1.tar.gz 995046 BLAKE2B c65f59e874690b124b61811406670ed6bf9e23d930b5206a9fefebd64629a2287076a40db885b8a820d733a353237fea65dadccdf4efdd33f1537127f67e66b1 SHA512 4024b2f5bc52338b77c954e384157234ef3cecf21142ef60158adb656396b42accae3af8acb8e54f602f5fbce0e1e1f7f29030878ef2ac7055e933dd710db879
-EBUILD janet-1.8.1.ebuild 1313 BLAKE2B 7bd321b692a7b8772c610c6705b4ad1cda3e60bb8e1fccde281d60135516320890c9dd4068b0589f9674ae31b999c7ddc9332b9acec56cf958a6913ed96d4aea SHA512 a6250a88f336db50367b9bb23c3c75645e3aa8083937b86577f60a91008fa1afc4bfa9a0ae0be879b242981a4b8a7aa3dd70c8a724b360e460571b423072099d
+EBUILD janet-1.11.1.ebuild 1291 BLAKE2B ee02ef5d4caf2973de692faa0c20545078546dd70090871ad24693b0acffd3e1066b74d23bb89fe406ef1ec76c992b7ba249f196f9083777eca52a8e0637b349 SHA512 9fbf46229af3dcaac54a07fdfa11f5289695cc2bf45ab194564ad069ab1cc5c6a40bb9367183d4dbcea39094c618394cc5e6826d70c94f9dfcc9d445f84b01aa
EBUILD janet-1.9.1.ebuild 1236 BLAKE2B 4fecac4c852138871a7773b18d3990c47cb750a96d3357739f9c763fd01d6e7f7a5f82b9cf0123aef3d6fdd35f21dfcae51806574bf96990a1b24d99f1589f58 SHA512 44295b27d54b8c99914918dbe834c4d23eb7edbe8f6e440a3255e35153977b9bf47dcc5aa31920b0b6a42ac6978eb6b2a92a7aafcc986a7b127dd99753964d36
MISC metadata.xml 960 BLAKE2B fe836e1f5b7313091bf2c4341a30f7c395056fd4c63a2477a83a55daecede052eea148dc44cb253e8bead356e7b501b7698be4c787f05fdabc08638b2db7163c SHA512 a54e679498bc1239c6eda2302213e220a69eb25e5be02d3c945c89ed3943849adb7043ea6794aa5ad6e3a53026f7b06c16e7ba2ea35d5022d1cc97a9f561a4ba
diff --git a/dev-lang/janet/files/janet-1.7.0-fix-ldflags-in-pkgconfig.patch b/dev-lang/janet/files/janet-1.7.0-fix-ldflags-in-pkgconfig.patch
deleted file mode 100644
index 81df47acc748..000000000000
--- a/dev-lang/janet/files/janet-1.7.0-fix-ldflags-in-pkgconfig.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./Makefile 2020-02-02 06:35:17.000000000 +0100
-+++ ./Makefile 2020-03-17 23:14:26.172766381 +0100
-@@ -242,7 +242,7 @@
- echo "Description: Library for the Janet programming language." >> $@
- $(JANET_TARGET) -e '(print "Version: " janet/version)' >> $@
- echo 'Cflags: -I$${includedir}' >> $@
-- echo 'Libs: -L$${libdir} -ljanet $(LDFLAGS)' >> $@
-+ echo 'Libs: -L$${libdir} -ljanet' >> $@
- echo 'Libs.private: $(CLIBS)' >> $@
-
- install: $(JANET_TARGET) build/janet.pc
diff --git a/dev-lang/janet/janet-1.8.1.ebuild b/dev-lang/janet/janet-1.11.1.ebuild
index 233b176a7261..134fe8b4a3cb 100644
--- a/dev-lang/janet/janet-1.8.1.ebuild
+++ b/dev-lang/janet/janet-1.11.1.ebuild
@@ -14,19 +14,16 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="static-libs"
-PATCHES=(
- "${FILESDIR}/${PN}-1.7.0"-fix-ldflags-in-pkgconfig.patch
-)
-
src_configure() {
- append-ldflags -Wl,-soname,libjanet.so.0
+ append-ldflags -Wl,-soname,libjanet.so.1.11
+ append-cflags -fPIC
}
src_compile() {
# janet_build is the git hash of the commit related to the
# current release - it defines a constant which is then shown
# when starting janet
- local janet_build='\"5b6b9f1\"'
+ local janet_build='\"4cc68096\"'
emake PREFIX="/usr" JANET_BUILD="${janet_build}"
emake PREFIX="/usr" build/janet.pc JANET_BUILD="${janet_build}"
emake PREFIX="/usr" docs JANET_BUILD="${janet_build}"
@@ -34,13 +31,13 @@ src_compile() {
src_install() {
dobin "build/janet"
- dobin "auxbin/jpm"
-
+ dobin "jpm"
+ insinto "usr/include/janet"
doheader "src/include/janet.h"
doheader "src/conf/janetconf.h"
dolib.so "build/libjanet.so"
- dosym libjanet.so /usr/$(get_libdir)/libjanet.so.0
+ dosym libjanet.so /usr/$(get_libdir)/libjanet.so.1.11
if use static-libs; then
dolib.a "build/libjanet.a"
diff --git a/dev-lang/logtalk/Manifest b/dev-lang/logtalk/Manifest
index 0fa239954bf2..997999f82da6 100644
--- a/dev-lang/logtalk/Manifest
+++ b/dev-lang/logtalk/Manifest
@@ -1,7 +1,4 @@
-AUX logtalk-3.18.0-portage.patch 1179 BLAKE2B 25fad57b8969a487a45ab254cfba3f17bd92741f3a49718efca75307af0a269d0aedf847ae6fa93c3495971653c7b442c4f454f61bb9968f5da809b2dd386e85 SHA512 2f2423991fe8e65c058ab295b73e64693a91e99225bb2af953702227a1234b45d89508cb339fbe12143e6a98657c440778b41c701ed333d0e05520705bfe12dc
AUX logtalk-3.36.0-portage.patch 1179 BLAKE2B aa40ea0df4f01778d01e2f7c174f9587d5d18f7ea80125ff198203081344eca3e050d3612c16627806e36171ca13a7875ccd0f935c4507ca987ef6529e691290 SHA512 5254edf0fced32c64d6848dad300ab48e53f7aa9f160e7b85e11fba5395b83da659134329846f281619b9fce1827ebae7c306fe1832fea8ece755fdfe7df7795
-DIST logtalk-3.18.0.tar.bz2 3280635 BLAKE2B 0105c0816d3b265f15f9ba6e82a4e6dbc877869c2ade6deac3f2748da12e14bd5de2e82ca8f1793c6553a635ca8a55138e79645219f09146c8adec4b60f70b30 SHA512 1575a564ff23d35b4d1581e7f5725515a548ea57d128fbfa13f8138e41791c50cc9626bdc26a85f5e676500b3f232faf742e434b1416707134e4c9b3f8afe424
DIST logtalk-3.36.0.tar.bz2 18373894 BLAKE2B 3f4917dea47b32760edfde0538a260e5405b566520c514ec137766d17ad532f1d3e3a7a6d05b4b643b21933073951ed41bf92161ae49545eb458619444b10210 SHA512 0e93f091cb24aed3b08db05df29484e708e14cf58a673a42df70c899f3bafae30896be118d89dfdf3f3cb7d4ba520a815e46d563dd7418f80912b7067ed7da8e
-EBUILD logtalk-3.18.0.ebuild 3882 BLAKE2B e1df1f189373ef4292ad98bf16b17a4045455d756fc963072334b407684827dd7d791955817d9f97fea58f21a0806605a07d2432e50e290179e7d23dd91e0547 SHA512 b621d6ade513a690d1c0ea82071b5e295914156e6e5353d19485bdf856438b34c2d9a84149ebe9b9092ccda19d8a6027e70e7fed7ff70dd1eabac1cb2535aa61
EBUILD logtalk-3.36.0.ebuild 3879 BLAKE2B b9ba2a59b142186a616cb7f71bd3341e744cebf1cf458a7b96816bcee6fdf709891c008e6e92cc657a81a9af7f62bdc8e8257251fcdbb6fbd13afb3eac1b3546 SHA512 d247953afb63546c1bcf9abada9c78f2994c23e869c7e8e53750d9bcbef74afdfcaffcf5259981bf5a32c5da508bd2cdc08a5ea58a9d0b4b01fbbcabb56b1081
MISC metadata.xml 404 BLAKE2B 8eee9851c967beb38e36f649b8eaefc8b8329f06adf298702a06b427edeb9a0e556a2f47e63c2b4cf4219027ed18502336b4a9e032d876bde18897985aea7dd8 SHA512 1faeefef2f7670809936eb73c4e9e4e18f44ee6e5851cc7386e996768ab88dbfa7c24801daa2cf4edca8646427eec1c871136540d71b7e0b0add3d00c78691ed
diff --git a/dev-lang/logtalk/files/logtalk-3.18.0-portage.patch b/dev-lang/logtalk/files/logtalk-3.18.0-portage.patch
deleted file mode 100644
index cb0d44010d25..000000000000
--- a/dev-lang/logtalk/files/logtalk-3.18.0-portage.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- logtalk-3.18.0.orig/scripts/logtalk_user_setup.sh 2018-06-26 15:11:02.000000000 +0200
-+++ logtalk-3.18.0/scripts/logtalk_user_setup.sh 2018-07-22 14:05:50.343406307 +0200
-@@ -131,16 +131,6 @@
- rm -f "$LOGTALKUSER"/tools/lgtdoc/xml/lgt2*
- rm -f "$LOGTALKUSER"/tools/lgtdoc/xml/logtalk.dtd
- rm -f "$LOGTALKUSER"/tools/lgtdoc/xml/logtalk.xsd
--ln -sf "$LOGTALKHOME"/ACKNOWLEDGMENTS.md "$LOGTALKUSER"/ACKNOWLEDGMENTS.md
--ln -sf "$LOGTALKHOME"/BIBLIOGRAPHY.bib "$LOGTALKUSER"/BIBLIOGRAPHY.bib
--ln -sf "$LOGTALKHOME"/CONTRIBUTING.md "$LOGTALKUSER"/CONTRIBUTING.md
--ln -sf "$LOGTALKHOME"/CUSTOMIZE.md "$LOGTALKUSER"/CUSTOMIZE.md
--ln -sf "$LOGTALKHOME"/INSTALL.md "$LOGTALKUSER"/INSTALL.md
--ln -sf "$LOGTALKHOME"/LICENSE.txt "$LOGTALKUSER"/LICENSE.txt
--ln -sf "$LOGTALKHOME"/QUICK_START.md "$LOGTALKUSER"/QUICK_START.md
--ln -sf "$LOGTALKHOME"/README.md "$LOGTALKUSER"/README.md
--ln -sf "$LOGTALKHOME"/RELEASE_NOTES.md "$LOGTALKUSER"/RELEASE_NOTES.md
--ln -sf "$LOGTALKHOME"/UPGRADING.md "$LOGTALKUSER"/UPGRADING.md
- ln -sf "$LOGTALKHOME"/adapters "$LOGTALKUSER"/adapters
- ln -sf "$LOGTALKHOME"/coding "$LOGTALKUSER"/coding
- ln -sf "$LOGTALKHOME"/integration "$LOGTALKUSER"/integration
diff --git a/dev-lang/logtalk/logtalk-3.18.0.ebuild b/dev-lang/logtalk/logtalk-3.18.0.ebuild
deleted file mode 100644
index 63726459ddf6..000000000000
--- a/dev-lang/logtalk/logtalk-3.18.0.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils xdg-utils
-
-DESCRIPTION="Open source object-oriented logic programming language"
-HOMEPAGE="https://logtalk.org"
-SRC_URI="https://logtalk.org/files/${P}.tar.bz2"
-LICENSE="Apache-2.0"
-
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="fop xslt"
-
-DEPEND=""
-RDEPEND="${DEPEND}
- xslt? ( dev-libs/libxslt )
- fop? ( dev-java/fop )"
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-portage.patch
-
- eapply_user
-}
-
-src_install() {
- # Look at scripts/install.sh for upstream installation process.
- # Install logtalk base
- mv scripts/logtalk_user_setup.sh integration/
- mkdir -p "${D}/usr/share/${P}"
- cp -r adapters coding contributions core docs examples integration \
- library manuals paths scratch tests tools VERSION.txt \
- loader-sample.lgt settings-sample.lgt tester-sample.lgt \
- tests-sample.lgt \
- "${D}/usr/share/${P}" \
- || die "Failed to install files"
-
- # Install mime file, the database will be updated later
- insinto /usr/share/mime/packages
- doins scripts/freedesktop/logtalk.xml
-
- # Install documentation
- dodoc ACKNOWLEDGMENTS.md BIBLIOGRAPHY.bib CONTRIBUTING.md \
- CUSTOMIZE.md INSTALL.md LICENSE.txt QUICK_START.md \
- README.md RELEASE_NOTES.md UPGRADING.md VERSION.txt
-
- rm -f man/man1/logtalk_backend_select.1
- rm -f man/man1/logtalk_version_select.1
- doman man/man1/*.1
-
- # Integration symlinks
- dosym ../share/${P}/integration/logtalk_user_setup.sh \
- /usr/bin/logtalk_user_setup
- dosym ../share/${P}/integration/bplgt.sh \
- /usr/bin/bplgt
- dosym ../share/${P}/integration/cxlgt.sh \
- /usr/bin/cxlgt
- dosym ../share/${P}/integration/eclipselgt.sh \
- /usr/bin/eclipselgt
- dosym ../share/${P}/integration/gplgt.sh \
- /usr/bin/gplgt
- dosym ../share/${P}/integration/jiplgt.sh \
- /usr/bin/jiplgt
- dosym ../share/${P}/integration/lplgt.sh \
- /usr/bin/lplgt
- dosym ../share/${P}/integration/qplgt.sh \
- /usr/bin/qplgt
- dosym ../share/${P}/integration/quintuslgt.sh \
- /usr/bin/quintuslgt
- dosym ../share/${P}/integration/sicstuslgt.sh \
- /usr/bin/sicstuslgt
- dosym ../share/${P}/integration/swilgt.sh \
- /usr/bin/swilgt
- dosym ../share/${P}/integration/xsblgt.sh \
- /usr/bin/xsblgt
- dosym ../share/${P}/integration/xsbmtlgt.sh \
- /usr/bin/xsbmtlgt
- dosym ../share/${P}/integration/yaplgt.sh \
- /usr/bin/yaplgt
-
- dosym ../share/${P}/tools/lgtdoc/xml/lgt2xml.sh \
- /usr/bin/lgt2xml
- use xslt && dosym ../share/${P}/tools/lgtdoc/xml/lgt2html.sh \
- /usr/bin/lgt2html
- use xslt && dosym ../share/${P}/tools/lgtdoc/xml/lgt2txt.sh \
- /usr/bin/lgt2txt
- use xslt && dosym ../share/${P}/tools/lgtdoc/xml/lgt2md.sh \
- /usr/bin/lgt2md
- use fop && dosym ../share/${P}/tools/lgtdoc/xml/lgt2pdf.sh \
- /usr/bin/lgt2pdf
-
- # Install environment files
- echo "LOGTALKHOME=/usr/share/${P}" > 99logtalk
- doenvd 99logtalk
-}
-
-pkg_postinst() {
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-
- ewarn "The following integration scripts are installed"
- ewarn "for running logtalk with selected Prolog compilers:"
- ewarn "B-Prolog: /usr/bin/bplgt"
- ewarn "CxProlog: /usr/bin/cxlgt"
- ewarn "ECLiPSe: /usr/bin/eclipselgt"
- ewarn "GNU Prolog: /usr/bin/gplgt"
- ewarn "JIProlog: /usr/bin/jiplgt"
- ewarn "Lean Prolog: /usr/bin/lplgt"
- ewarn "Qu-Prolog: /usr/bin/qplgt"
- ewarn "Quintus Prolog: /usr/bin/quintuslgt"
- ewarn "SICStus Prolog: /usr/bin/sicstuslgt"
- ewarn "SWI Prolog: /usr/bin/swilgt"
- ewarn "XSB: /usr/bin/xsblgt"
- ewarn "XSB MT: /usr/bin/xsbmtlgt"
- ewarn "YAP: /usr/bin/yaplgt"
- ewarn ""
-
- ewarn "The environment has been set up to make the above"
- ewarn "integration scripts find files automatically for logtalk."
- ewarn "Please run 'etc-update && source /etc/profile' to update"
- ewarn "the environment now, otherwise it will be updated at next"
- ewarn "login."
-}
-
-pkg_postrm() {
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
diff --git a/dev-lang/luajit/Manifest b/dev-lang/luajit/Manifest
index b97e649aa007..fb0469851823 100644
--- a/dev-lang/luajit/Manifest
+++ b/dev-lang/luajit/Manifest
@@ -1,6 +1,7 @@
+AUX CVE-2020-15890.patch 660 BLAKE2B ac615accba8c2d914ff9db2bd2306e1f37df6b35f95c524d592952e52134a9c5ea7adcb11edabe95c35a7cb1a1b66f887095ae95f715714fcda5a642876c8e31 SHA512 d227f22f1b7776f36b8a1e1471e6fcb3a2442037e09fcd0f4d489c3853a5cb2916b02cd6ab0194105989502b76bcb03e97ea1825d21212a534344afe96e3448c
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
-EBUILD luajit-2.0.5-r1.ebuild 1466 BLAKE2B ff14fc4cd92ee20c04c6ab4e1f812c463e787ba1f6936ef5c5b36008a27dda3e6fb1d306a2b3249d6dac7ef3e3ecdf00bf5be8c321d75634eb9b31b54c3965c6 SHA512 e7420eb3de6a28aacb43fc2d7f237e587205296c3ec4252e52b0b09945cd8966ed6602d77e30453dabcf44c41809a3c2018398c21bdc3d3f20c3416ed8a8e4d2
-EBUILD luajit-2.1.0_beta3.ebuild 1204 BLAKE2B a58f841f8dd6d7dcf82752ba231080183b49494480c6532555e8b33bb4a0ab19716a96321ae0a1bbc4eb8cff52bbcbfb55a8e9963fbc4e1764d98fcf2fa40ba1 SHA512 3701ba4433fe293786c092f2ad958867aa367a6158db5451a75989643dcd7994205606c4b225cd8e85f5c6d0902c09014342d64f1aa865fe68f3260b6b2dd7a5
+EBUILD luajit-2.0.5-r2.ebuild 1503 BLAKE2B ae88e870209a2887ec07b67f6494d9ef35df9bb1e03f4dab7df2fe6dbac1403d3db022427d8d51d24db86e4a89f3eccc3bb42e61fbf976029353fdff4ca3b395 SHA512 5efb5f0fb79c2ad3caa627c5b98916b8d572deed99ecaa34e41e7a257dd13e5bd5708f8499358b409e1d096dec3b1adc5fd3899a36195cd638934d6dc8bcf496
+EBUILD luajit-2.1.0_beta3-r1.ebuild 1241 BLAKE2B 672f3bbec3b3c150a0edbdc10eaf2ca715bef40b6142788218df5b43dc9ee6940f2275821a17e2e25b655eb10d6d476f25e5afdb119ac3533aa49351c45d795a SHA512 198f99e9c261563cbab3800753c01d7588515bdf20ad5b12d57b30f0681fd950fe0f8e90116f5d24b72df243ffa0d212aa1045f48a6ab07627d325670b512e61
MISC metadata.xml 552 BLAKE2B 50666bd08bb7c06c52a28652c0a87988e815c1d3c10cc1425cc7979689fd4738f56aaa6478aaa616a0b76122e42f790b3b415a60078dcc256499019912f0c4d4 SHA512 9d6ef1cb9acf52db52ec192bc51cbab6a7aa198dbf108ed76b25b0e258491b2f8d5ec0981c538546cc96de490c8c1ac852e337ef09ab5898ad4f2c48f5670f07
diff --git a/dev-lang/luajit/files/CVE-2020-15890.patch b/dev-lang/luajit/files/CVE-2020-15890.patch
new file mode 100644
index 000000000000..751726571a05
--- /dev/null
+++ b/dev-lang/luajit/files/CVE-2020-15890.patch
@@ -0,0 +1,22 @@
+From 53f82e6e2e858a0a62fd1a2ff47e9866693382e6 Mon Sep 17 00:00:00 2001
+From: Mike Pall <mike>
+Date: Sun, 12 Jul 2020 14:30:34 +0200
+Subject: [PATCH] Fix frame traversal for __gc handler frames.
+
+Reported by Changochen.
+---
+ src/lj_err.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/lj_err.c b/src/lj_err.c
+index caa7487f2..e3e0c2eb7 100644
+--- a/src/lj_err.c
++++ b/src/lj_err.c
+@@ -529,6 +529,7 @@ static ptrdiff_t finderrfunc(lua_State *L)
+ if (cframe_canyield(cf)) return 0;
+ if (cframe_errfunc(cf) >= 0)
+ return cframe_errfunc(cf);
++ cf = cframe_prev(cf);
+ frame = frame_prevd(frame);
+ break;
+ case FRAME_PCALL:
diff --git a/dev-lang/luajit/luajit-2.0.5-r1.ebuild b/dev-lang/luajit/luajit-2.0.5-r2.ebuild
index 0e4dc83ff928..d9fa1d7fbc36 100644
--- a/dev-lang/luajit/luajit-2.0.5-r1.ebuild
+++ b/dev-lang/luajit/luajit-2.0.5-r2.ebuild
@@ -23,7 +23,10 @@ SLOT="2"
KEYWORDS="amd64 arm ppc x86 ~amd64-linux ~x86-linux"
IUSE="lua52compat static-libs"
-PATCHES=( "${FILESDIR}/${PN}-2-ldconfig.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-2-ldconfig.patch"
+ "${FILESDIR}/CVE-2020-15890.patch"
+)
S="${WORKDIR}/${MY_P}"
diff --git a/dev-lang/luajit/luajit-2.1.0_beta3.ebuild b/dev-lang/luajit/luajit-2.1.0_beta3-r1.ebuild
index b38bb2b260d7..a959393a5d76 100644
--- a/dev-lang/luajit/luajit-2.1.0_beta3.ebuild
+++ b/dev-lang/luajit/luajit-2.1.0_beta3-r1.ebuild
@@ -19,7 +19,10 @@ SLOT="2"
KEYWORDS=""
IUSE="lua52compat static-libs"
-PATCHES=( "${FILESDIR}/${PN}-2-ldconfig.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-2-ldconfig.patch"
+ "${FILESDIR}/CVE-2020-15890.patch"
+)
S="${WORKDIR}/${MY_P}"
diff --git a/dev-lang/mercury-extras/Manifest b/dev-lang/mercury-extras/Manifest
index 3eb6b722615d..a748b720936b 100644
--- a/dev-lang/mercury-extras/Manifest
+++ b/dev-lang/mercury-extras/Manifest
@@ -1,10 +1,13 @@
DIST mercury-extras-14.01.1-gentoo-patchset-4.tar.gz 4361 BLAKE2B a1939e4b76782cb01fc7ee5dcb1ccbb885e93992d0e6f540552eb987f405b3a70671527dfacb873323f6030bb6de2f6cdd23768dbc36e8b656d836e2890b7d8a SHA512 e30ac4e9c0592a1ea5253663bf351814e91977ea53892dca4d996b217aac959265563910cc21aa64ee12a93ea379cb8143730585c7d32390bcf05f2a1b0590d7
DIST mercury-extras-20.01-gentoo-patchset-0.tar.gz 542 BLAKE2B 4f24f5af21cbd566eb72ce03d618d858f16d02a921b506c933342181ea057d98377077535571223c85b1f1fa5854e52005f67f40dd75bb392929faaad889eed1 SHA512 6a2eb1dbaac1f028c0ce5f0e21a8f24bd4ba9b068f1ea5d8554c5fb7376642797709f0aa93db336d2f015b6f815d0aa27c7d60720aab340ace180d49791bd852
DIST mercury-extras-20.01.1-gentoo-patchset-0.tar.gz 732 BLAKE2B 32287e116b94b540ca0b710eac8921669ff9a56b5d8a812eba8443609ccfc8c937baaa53a0ae4704abdc78013d58eddd0dc5cda7c807d7a0b724ebda1dede723 SHA512 0d3ca2984eb054ec2add5e05fb49d4fa711b3c78038b4e9777c4767083fc3bae552a261677fed6f07c293d2fb1ebf632ba633eb64a3a8ab4880c6f6619a197ea
+DIST mercury-extras-20.01.2-gentoo-patchset-1.tar.gz 922 BLAKE2B 3713bb18147328acfda4e605ca241a000b19c787f15998ba79b9198bf0bd2e5597df3198837efc24679655d923c56391973085c59498d5441626cab4bbce6226 SHA512 70fa7bb240ccee87557eaf84dba712f162543c0caca4e80ec2ab47ed9f5a81cc8f1ad47a85671cfe3f917c4757a653a6602e1c6461307887656683f638db225d
DIST mercury-srcdist-14.01.1.tar.gz 52658945 BLAKE2B 6497921a0227b9a6fbcbabdd309ef3325f32dda14fc4ddb443368385b89be4011d677a24b30b3702147d1b782fe2597760ad66dd34503aa6aebaf79707466529 SHA512 a128ef0fd4955abadea32019ec59297ffe32537415f32e9e948cbc1c3439bb40eb09de77569690fb18dd7d6969a2b1141b3ae5baeb87f2627eaa65ad93add92c
DIST mercury-srcdist-20.01.1.tar.gz 47088335 BLAKE2B 1e3285dadc3748934e801b8ac0316d3005fbe24c20c9ceb694e9fc316d820fdb89c659107b25ee474fd6ac50d661dd029af9ca5082016a3b0827dd640a54a707 SHA512 24ad0bbecee46ab6ff669d63d64096b37a0d010bb44978a1785eee2701a8b30a83eab229af97cbbb18bca55b5e89be9ba74fe126d1d430da1e1e909366dc5b90
+DIST mercury-srcdist-20.01.2.tar.gz 46789217 BLAKE2B bc9637c1b4afb81d4bf35cd94a1f1d87b17094d8a6cbb7e5c8b0ff9c99ce59178d9e32bae246dd041ad781fe5d04e68db8f5effbb6bfcc29b76a83aad91a5666 SHA512 0deed9c0a13ebf793fb80def3fe6d9ee0aa4f0f2974865364eff81bdcac1ec0c41aafbec3e0146c8bdcf3245789e1003b2e4f8e219b53bec71e90074867a834d
DIST mercury-srcdist-20.01.tar.gz 47103868 BLAKE2B 68be786e925bdf94dcba6c6a2a746a384da345ee33250785d8d2b9281815694a4525cdd694c26f58051c097f2a897291e640e2139729ccede9bd2e472077d8c9 SHA512 90e36faa375603e596b2dd692363528120fda62ae6d2e2b119cf76de1656dae4028aff00858a4bff3fdfb9b2210ea17db0aa516ce4283604c46a5935dd2cd4b7
EBUILD mercury-extras-14.01.1.ebuild 4543 BLAKE2B e97e6d88006db060b8d3df4ef37e5816d9047388e9deb79ca231d5209f4f79a31e1923d9f98a210ef739f6292bd3c1a432297ccf6bbc0f2c83321a0ff3844332 SHA512 5b6faadbe8fd1c7abc3fb6b28ac1fbc1d4d1a5683afd36d46aee7c6ea07ba07fcba1fb020b65ea9f570220d29ab06abc2a2171716cf94495ec9adc5d234beb24
EBUILD mercury-extras-20.01.1.ebuild 8085 BLAKE2B 2c5d2ace45872369bd2375995a28475c5f4e69b47c77d3af24e92f3a650a8d64d61e4c69e1a3503da8ac7a855a5576c9f9bda772c2b7248582b2c8c0fd5c4212 SHA512 861b3ad5d55116023a91f95d18c2b7bb992416d9c9283341a6fbf03656c9aea0d4259feeecf38971fbfe2b75ea502cbfc664f83115d5c0bcee93f09b3f8ae0f9
+EBUILD mercury-extras-20.01.2.ebuild 8176 BLAKE2B a64709a822a405c7ede506192b05ca669ff9be6b64a75b56c57ea78f021ebab36e63f2dde8bed4a64f5f786f42afc7af64fad70c44c4658fae3989fe2979ccde SHA512 a172aaff9c7b84f7169f73f61606588a219d9bb990112459d9469c6d610af5b1292cbe745bcdd476fd42900ebb27a7abfc6b380e3050dc3846d6b50090e80274
EBUILD mercury-extras-20.01.ebuild 8127 BLAKE2B 50bdc7b9de3d58bc3ac19e6a3aadccd94f0e2a344ad43795e4ad630f9982202930577be28d24c7d6f08b908795ebfbe4237d069692afa4bf5491cdbb94213334 SHA512 274b4d9e715b0b88b5a445e13bda0495305999820d1866083101071367871442c4ffe9dd5ca68e7a4a1facf1308ce77db27ada715ba30af00b26322a2c963822
MISC metadata.xml 318 BLAKE2B 8094d1a2d85b6c13ff05e9d81938e498ec514304b338f27cdbb5d92a62090fcace46b95cb21f56db75b6bdf087916a8d2c89960646e1b8828ccf31bbbb73ae6d SHA512 a49e9c19e322bb1b5d8c09c9db8c364b78fb97e62546991dc8bfe86bb2e478fec85e2acbbcdfff52b3b11ec627ba089d1a23e876bf4c1a0633829a739fff50fc
diff --git a/dev-lang/mercury-extras/mercury-extras-20.01.2.ebuild b/dev-lang/mercury-extras/mercury-extras-20.01.2.ebuild
new file mode 100644
index 000000000000..bce2fa7c29f2
--- /dev/null
+++ b/dev-lang/mercury-extras/mercury-extras-20.01.2.ebuild
@@ -0,0 +1,319 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils multilib vcs-clean
+
+PATCHSET_VER="1"
+MY_P=mercury-srcdist-${PV}
+
+DESCRIPTION="Additional libraries and tools that are not part of the Mercury standard library"
+HOMEPAGE="https://www.mercurylang.org/index.html"
+SRC_URI="https://dl.mercurylang.org/release/${MY_P}.tar.gz
+ https://dev.gentoo.org/~keri/distfiles/mercury-extras/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="cairo examples glut gmp iodbc ncurses odbc opengl ssl tk tommath X xml"
+REQUIRED_USE="?? ( odbc iodbc )"
+
+RDEPEND="
+ ~dev-lang/mercury-${PV}
+ cairo? ( >=x11-libs/cairo-1.10.0 )
+ gmp? ( dev-libs/gmp:0 )
+ glut? ( media-libs/freeglut )
+ odbc? ( dev-db/unixODBC )
+ iodbc? ( dev-db/libiodbc )
+ tommath? ( dev-libs/libtommath )
+ ncurses? ( sys-libs/ncurses:= )
+ opengl? (
+ virtual/opengl
+ virtual/glu
+ )
+ tk? (
+ dev-lang/tcl:0
+ dev-lang/tk:0
+ )
+ X? ( x11-libs/libX11 )"
+
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${MY_P}/extras
+
+mercury_pkgs() {
+ echo "
+ align_right/align_right:bin:
+ base64/mercury_base64:lib:
+ cgi/mercury_www:lib:
+ complex_numbers/complex_numbers:lib:
+ $(use ncurses && echo \
+ curs/curs:lib:ncurses,panel curses/mcurses:lib:ncurses)
+ dynamic_linking/dl:lib:
+ error/error:bin:
+ fixed/fixed:lib:
+ $(use gmp && echo gmp_int/gmp_int:lib:)
+ $(use tommath && echo mp_int/mp_int:lib:libtommath)
+ $(use X && echo graphics/easyx/easyx:lib:x11)
+ $(use cairo && echo graphics/mercury_cairo/mercury_cairo:lib:cairo)
+ $(use glut && echo graphics/mercury_glut/mercury_glut:lib:freeglut)
+ $(use opengl && echo graphics/mercury_opengl/mercury_opengl:lib:gl,glu)
+ $(use tk && echo graphics/mercury_tcltk/mercury_tcltk:lib:tk)
+ lex/lex:lib:
+ lex/regex:lib:
+ moose/moose:bin:
+ net/net:lib:
+ net/echo:bin:
+ $(use ssl && echo mopenssl/mopenssl:lib:openssl)
+ $(use odbc && echo odbc/odbc:lib:)
+ $(use iodbc && echo odbc/odbc:lib:libiodbc)
+ posix/posix:lib:
+ $(has_version dev-lang/mercury[trail] && echo \
+ references/global:lib: trailed_update/trailed_update:lib:)
+ show_ops/show_ops:bin:
+ solver_types/library/any:lib:
+ $(use xml && echo xml/xml:lib:)"
+}
+
+mercury_pkg_setup() {
+ mercury_pkg=${1%%:*}
+ mercury_pkg_dir=${mercury_pkg%/*}
+ mercury_pkg_name=${mercury_pkg##*/}
+
+ mercury_pkg_atts=${1#*:}
+ mercury_pkg_type=${mercury_pkg_atts%%:*}
+ mercury_pkg_deps=${mercury_pkg_atts#*:}
+
+ cd "${S}"/${mercury_pkg_dir} || die
+
+ echo ">> Preparing Mercury package: ${mercury_pkg}"
+
+ if ! test -f "${S}"/${mercury_pkg_dir}/gentoo.params; then
+ echo "LIBGRADES := \$(filter-out java,\$(LIBGRADES))" \
+ > "${S}"/${mercury_pkg_dir}/gentoo.params
+ echo "LIBGRADES := \$(filter-out erlang,\$(LIBGRADES))" \
+ >> "${S}"/${mercury_pkg_dir}/gentoo.params
+ echo "LIBGRADES := \$(filter-out csharp,\$(LIBGRADES))" \
+ >> "${S}"/${mercury_pkg_dir}/gentoo.params
+ echo "include gentoo.params" > "${S}"/${mercury_pkg_dir}/Mmakefile
+ fi
+
+ if test -n "$mercury_pkg_deps"; then
+ echo "EXTRA_CFLAGS += $(pkg-config --cflags ${mercury_pkg_deps/,/ })" \
+ >> "${S}"/${mercury_pkg_dir}/gentoo.params
+ echo "EXTRA_MLLIBS += $(pkg-config --libs ${mercury_pkg_deps/,/ })" \
+ >> "${S}"/${mercury_pkg_dir}/gentoo.params
+ fi
+
+ if test ${mercury_pkg_name} = dl; then
+ echo "EXTRA_MLLIBS = -ldl" >> "${S}"/${mercury_pkg_dir}/gentoo.params
+ elif test ${mercury_pkg_name} = gmp_int; then
+ echo "EXTRA_MLLIBS = -lgmp" >> "${S}"/${mercury_pkg_dir}/gentoo.params
+ elif test ${mercury_pkg_name} = mercury_tcltk; then
+ echo "EXTRA_CFLAGS += -DUSE_INTERP_RESULT" \
+ >> "${S}"/${mercury_pkg_dir}/gentoo.params
+ elif test ${mercury_pkg_name} = mopenssl; then
+ local net_libdir="${D}/usr/$(get_libdir)/mercury/extras/lib/\$(GRADE)"
+ echo "EXTRA_MLLIBS += -L${net_libdir} -L../net -lnet" \
+ >> "${S}"/${mercury_pkg_dir}/gentoo.params
+ echo "net%:" >> "${S}"/${mercury_pkg_dir}/gentoo.params
+ echo " cp ../net/\$@ \$@" >> "${S}"/${mercury_pkg_dir}/gentoo.params
+ elif test ${mercury_pkg_name} = odbc && use odbc; then
+ echo "EXTRA_CFLAGS = -DMODBC_UNIX -DMODBC_MYSQL" \
+ >> "${S}"/${mercury_pkg_dir}/Mmakefile
+ echo "EXTRA_MLLIBS = -lodbc" >> "${S}"/${mercury_pkg_dir}/gentoo.params
+ elif test ${mercury_pkg_name} = odbc && use iodbc; then
+ echo "EXTRA_CFLAGS += -DMODBC_IODBC -DMODBC_MYSQL" \
+ >> "${S}"/${mercury_pkg_dir}/gentoo.params
+ fi
+}
+
+mercury_pkg_compile() {
+ mercury_pkg=${1%%:*}
+ mercury_pkg_dir=${mercury_pkg%/*}
+ mercury_pkg_name=${mercury_pkg##*/}
+
+ mercury_pkg_atts=${1#*:}
+ mercury_pkg_type=${mercury_pkg_atts%:*}
+
+ cd "${S}"/${mercury_pkg_dir} || die
+
+ echo ">> Compiling Mercury package: ${mercury_pkg}"
+
+ if test "${mercury_pkg_type}" = "bin"; then
+ mercury_mmc_target=${mercury_pkg_name}
+ else
+ mercury_mmc_target=lib${mercury_pkg_name}
+ fi
+
+ # Mercury dependency generation must be run single-threaded
+ mmc -f *.m || die "mmc -f .m failed"
+ mmake -j1 \
+ ${mercury_pkg_name}.depend \
+ || die "mmake ${mercury_pkg} depend failed"
+
+ # Compiling Mercury submodules is not thread-safe
+ mmake -j1 \
+ MLFLAGS=--no-strip \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ LD_LIBFLAGS="${LDFLAGS}" \
+ ${mercury_mmc_target} || die "mmake ${mercury_pkg} failed"
+
+}
+
+mercury_pkg_install() {
+ mercury_pkg=${1%%:*}
+ mercury_pkg_dir=${mercury_pkg%/*}
+ mercury_pkg_name=${mercury_pkg##*/}
+
+ mercury_pkg_atts=${1#*:}
+ mercury_pkg_type=${mercury_pkg_atts%:*}
+
+ cd "${S}"/${mercury_pkg_dir} || die
+
+ echo ">> Installing Mercury package: ${mercury_pkg}"
+
+ if test "${mercury_pkg_type}" = "bin"; then
+ into /usr/$(get_libdir)/mercury/extras
+ dobin ${mercury_pkg_name}
+ else
+ # Compiling Mercury submodules is not thread-safe
+ mmake -j1 \
+ MLFLAGS=--no-strip \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ LD_LIBFLAGS="${LDFLAGS}" \
+ INSTALL_LIBDIR="${D}/usr/$(get_libdir)/mercury/extras" \
+ lib${mercury_pkg_name}.install || die "mmake ${mercury_pkg} failed"
+ fi
+}
+
+src_prepare() {
+ cd "${WORKDIR}"/${MY_P}
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ eapply "${WORKDIR}"/${PV}
+ fi
+ eapply_user
+
+ cd "${S}"
+ for mercury_pkg in $(mercury_pkgs); do
+ mercury_pkg_setup ${mercury_pkg}
+ done
+}
+
+src_compile() {
+ for mercury_pkg in $(mercury_pkgs); do
+ mercury_pkg_compile ${mercury_pkg}
+ done
+}
+
+src_install() {
+ for mercury_pkg in $(mercury_pkgs); do
+ mercury_pkg_install ${mercury_pkg}
+ done
+
+ cd "${S}"
+ dodoc README
+
+ if use examples; then
+ docinto samples/cgi
+ dodoc cgi/form_test.m
+
+ docinto samples/complex_numbers
+ dodoc complex_numbers/samples/*.m
+
+ if use ncurses; then
+ docinto samples/curs
+ dodoc curs/samples/*.m
+
+ docinto samples/curses
+ dodoc curses/sample/*.m
+ fi
+
+ docinto samples/dynamic_linking
+ dodoc dynamic_linking/{hello,dl_test}.m
+
+ docinto samples/gator
+ dodoc -r gator/*
+
+ if use gmp; then
+ docinto samples/gmp_int
+ dodoc gmp_int/gmp_int_test.m
+ fi
+
+ if use tommath; then
+ docinto samples/mp_int
+ dodoc mp_int/mp_int_test.m
+ fi
+
+ if use X; then
+ docinto samples/graphics
+ dodoc graphics/easyx/samples/*.m
+ fi
+
+ if use glut && use opengl; then
+ docinto samples/graphics
+ dodoc graphics/samples/gears/*.m
+ dodoc graphics/samples/maze/*.m
+ fi
+
+ if use tk; then
+ docinto samples/graphics
+ dodoc graphics/samples/calc/*.m
+ fi
+
+ if use opengl && use tk; then
+ docinto samples/graphics
+ dodoc graphics/samples/pent/*.m
+ fi
+
+ docinto samples/lex
+ dodoc lex/samples/*.m
+
+ docinto samples/log4m
+ dodoc log4m/*.m
+
+ docinto samples/monte
+ dodoc monte/*.m
+
+ docinto samples/moose
+ dodoc moose/samples/*
+
+ docinto samples/net
+ dodoc net/test_lookups.m
+
+ if use odbc || use iodbc; then
+ docinto samples/odbc
+ dodoc odbc/odbc_test.m
+ fi
+
+ docinto samples/posix
+ dodoc posix/samples/*.m
+
+ docinto samples/random
+ dodoc random/*.m
+
+ if has_version dev-lang/mercury[trail]; then
+ docinto samples/references
+ dodoc references/samples/*.m
+
+ docinto samples/trail
+ dodoc trail/*.m
+
+ docinto samples/trailed_update
+ dodoc trailed_update/samples/*.m
+ fi
+
+ if use xml; then
+ docinto samples/xml
+ dodoc xml/tryit.m
+ dodoc xml/samples/*
+ dodoc xml_stylesheets/*.xsl
+ fi
+
+ ecvs_clean
+ fi
+}
diff --git a/dev-lang/mercury/Manifest b/dev-lang/mercury/Manifest
index 2d103fd0f67f..731137dd5042 100644
--- a/dev-lang/mercury/Manifest
+++ b/dev-lang/mercury/Manifest
@@ -2,10 +2,13 @@ AUX 50mercury-gentoo.el 130 BLAKE2B b0108f529cbe5b66b510b2ebab6f091825df9ac92dc1
DIST mercury-14.01.1-gentoo-patchset-5.tar.gz 5693 BLAKE2B 300de3254bc0d2f59493c0e2243b0d8786fccce714134a11ce510120b7d9f05ebe4835f084ec2db2ddaf2d405cbae65e86d809847079a7d63a6a68021d9d29e8 SHA512 3f9f1e2359f372e4f510b9a00c197978657b28d1308d12cba4d08a982877e2311d7fb6e626dad07d0fa09d24f97334575557cb49003508fdc7b32288c1ae8f2d
DIST mercury-20.01-gentoo-patchset-0.tar.gz 3862 BLAKE2B 79ef6d30add63a5d419e3dd5b376fd9c1727038102db2bc0e8ccd8b71cdc1c80e721647f34764b0aa4fd6d58b9e38c9675f234714f381f94be572b9b64b478e1 SHA512 2835b4740453bcc358363f9eaa0264706125b5e5f7a38802d5f280ccd777d4c760124ed3a635f17ecc2ae772767e9fa5d61093c40094358a0a96a726a23ff08e
DIST mercury-20.01.1-gentoo-patchset-0.tar.gz 3943 BLAKE2B 0fd149c622715bf191182bd93e264096327d7869e30aaa10bb19b70bec5563520026e2561cc6607c62801ed00ed6b5907bbae4be997869b9facb2f9d65ec0c7a SHA512 d866b35b6df14645ef60ff25497f9bbf0c2caeae2145bc0aef2adea0e651379c673c1815c717f1a51457d93cc67e9ae3dafe5d9fce1d4734bf1673e4cfcbd367
+DIST mercury-20.01.2-gentoo-patchset-1.tar.gz 4562 BLAKE2B f1e9d040cfd5930c4f4d9722fc10e11532272f1fa0ab6bd25cc0d2ed42eb0edfbe6f9bc1d41972775fa720b80601d5fdae1681d56f677861fab15e10cc6d05cb SHA512 4f89b09e1e196a61892811167bc0dc1b3ee868ef336efdf66e417574c18ea53b557bd87d5c5300eee8194a3c4250b47e70f5991fcc25b1c58d956a4b097eaec5
DIST mercury-srcdist-14.01.1.tar.gz 52658945 BLAKE2B 6497921a0227b9a6fbcbabdd309ef3325f32dda14fc4ddb443368385b89be4011d677a24b30b3702147d1b782fe2597760ad66dd34503aa6aebaf79707466529 SHA512 a128ef0fd4955abadea32019ec59297ffe32537415f32e9e948cbc1c3439bb40eb09de77569690fb18dd7d6969a2b1141b3ae5baeb87f2627eaa65ad93add92c
DIST mercury-srcdist-20.01.1.tar.gz 47088335 BLAKE2B 1e3285dadc3748934e801b8ac0316d3005fbe24c20c9ceb694e9fc316d820fdb89c659107b25ee474fd6ac50d661dd029af9ca5082016a3b0827dd640a54a707 SHA512 24ad0bbecee46ab6ff669d63d64096b37a0d010bb44978a1785eee2701a8b30a83eab229af97cbbb18bca55b5e89be9ba74fe126d1d430da1e1e909366dc5b90
+DIST mercury-srcdist-20.01.2.tar.gz 46789217 BLAKE2B bc9637c1b4afb81d4bf35cd94a1f1d87b17094d8a6cbb7e5c8b0ff9c99ce59178d9e32bae246dd041ad781fe5d04e68db8f5effbb6bfcc29b76a83aad91a5666 SHA512 0deed9c0a13ebf793fb80def3fe6d9ee0aa4f0f2974865364eff81bdcac1ec0c41aafbec3e0146c8bdcf3245789e1003b2e4f8e219b53bec71e90074867a834d
DIST mercury-srcdist-20.01.tar.gz 47103868 BLAKE2B 68be786e925bdf94dcba6c6a2a746a384da345ee33250785d8d2b9281815694a4525cdd694c26f58051c097f2a897291e640e2139729ccede9bd2e472077d8c9 SHA512 90e36faa375603e596b2dd692363528120fda62ae6d2e2b119cf76de1656dae4028aff00858a4bff3fdfb9b2210ea17db0aa516ce4283604c46a5935dd2cd4b7
EBUILD mercury-14.01.1-r1.ebuild 5624 BLAKE2B 0ddb116dec074a53e316935279650cecae3990ec9cbdbfbc1e99e6c47d0fceb20bcbb685259a78e18a850fafe2e4d609072a5183a2ef9ef3a6d45ba9368dbdc7 SHA512 338dee876d50fee43085a203b6adafaeb0f921c855925bda05ba3b30f133ac8eab9dfd476793d63f99ef5f9e4cb40775c9255c835c38685dd13fa78b54b2690f
EBUILD mercury-20.01.1.ebuild 4984 BLAKE2B 55587832b1021ed04397d28a254bc17ca6172b52ac2afa89979f99a65d90107b52ea3758303d26b224ccffda5e5a2be76655d5791f0d2fa6d3fcb69caf5ae01b SHA512 fd270ddc8913049f2bb8cf472c85fc5d4724a4d979399ed2919cc34760c61492ec46fe8c9abbe2b7b9f43c0ff7fc608bfcba744bbbd05a75e0d1aa4387ba6c91
+EBUILD mercury-20.01.2.ebuild 5073 BLAKE2B 669670dc48445434e48190c7f5414dd48132ce97080bb56c47f3669d92164ef005007fd07fb3335cb53a0044dd37423cbea4d42ed960792ff18ba96c8aba8378 SHA512 fd037eecd755cef8214d48cb3a7b40c6406ea4f12c15392f898270deb88909b2edcf24892106a7d960118b282d5bbe4b7a3eb0cad81a2907b6aea0fa5afb3335
EBUILD mercury-20.01.ebuild 5129 BLAKE2B 93b409d07e9a60705630c17100da0231b5aaa74089990b32d02dbbde77681c428242f096a39b90e2136aba6fb30310ced9e98aeaecc6d2dc553f427461dc27f5 SHA512 4355a4e2f2280c9196c4e1aedd804b94b50933da23a9337b948756a1a8c5f824320d837f5dd49a1e498e7b0d68e9786c00afcb3d5d90fba1975f5626d0787430
MISC metadata.xml 384 BLAKE2B eaed468c341970157e4e641d25d5d87e0851bdbd31ba9d6c1e428c9f0239ad98220395858d6291fabe41561fb2ecc5c894700a86b290fc3cab2eaeda2a9df372 SHA512 c90a7a81ab16bac0af4bb9dd3f47cfb3987e0c3aebe08bb7ac6125baf7c619269318bd2c7a45e4213184544d981c920cace23ccb61fbb60c0872db77a10e3ecf
diff --git a/dev-lang/mercury/mercury-20.01.2.ebuild b/dev-lang/mercury/mercury-20.01.2.ebuild
new file mode 100644
index 000000000000..b0c5ecffdb0f
--- /dev/null
+++ b/dev-lang/mercury/mercury-20.01.2.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools elisp-common eutils flag-o-matic java-pkg-opt-2 multilib vcs-clean xdg-utils
+
+PATCHSET_VER="1"
+MY_P=${PN}-srcdist-${PV}
+
+DESCRIPTION="Mercury is a modern general-purpose logic/functional programming language"
+HOMEPAGE="https://www.mercurylang.org/index.html"
+SRC_URI="https://dl.mercurylang.org/release-20.01/${MY_P}.tar.gz
+ https://dev.gentoo.org/~keri/distfiles/mercury/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug doc emacs erlang examples java mono profile readline threads trail"
+
+DEPEND="net-libs/libnsl:0=
+ readline? ( sys-libs/readline:= )
+ erlang? ( dev-lang/erlang )
+ java? ( >=virtual/jdk-1.6:= )
+ mono? ( dev-lang/mono )
+ doc? ( sys-apps/texinfo )"
+
+RDEPEND="${DEPEND}
+ emacs? ( >=app-editors/emacs-23.1:* )"
+
+S="${WORKDIR}"/${MY_P}
+
+SITEFILE=50${PN}-gentoo.el
+
+src_prepare() {
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ eapply "${WORKDIR}"/${PV}
+ fi
+ eapply_user
+
+ AT_M4DIR=m4 eautoreconf
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ strip-flags
+
+ local myconf
+ myconf="--libdir=/usr/$(get_libdir) \
+ $(use_enable mono csharp-grade) \
+ $(use_enable erlang erlang-grade) \
+ $(use_enable java java-grade) \
+ $(use_enable debug debug-grades) \
+ $(use_enable profile prof-grades) \
+ $(use_enable threads par-grades) \
+ $(use_enable trail trail-grades) \
+ $(use_with readline)"
+
+ econf ${myconf}
+}
+
+src_compile() {
+ # Prepare mmake flags
+ echo "EXTRA_CFLAGS = ${CFLAGS}" >> Mmake.params
+ echo "EXTRA_LDFLAGS = ${LDFLAGS}" >> Mmake.params
+ echo "EXTRA_LD_LIBFLAGS = ${LDFLAGS}" >> Mmake.params
+ echo "EXTRA_MLFLAGS = --no-strip" >> Mmake.params
+
+ echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libgc.so" >> boehm_gc/Mmake.boehm_gc.params
+ echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libmer_rt.so" >> runtime/Mmake.runtime.params
+ echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libmer_std.so" >> library/Mmake.library.params
+
+ # Build Mercury using bootstrap grade
+ emake \
+ PARALLEL="'${MAKEOPTS}'" \
+ TEXI2DVI="" PDFTEX=""
+
+ # We can now patch .m Mercury compiler files since we
+ # have just built mercury_compiler.
+ if [[ -d "${WORKDIR}"/${PV}-mmc ]] ; then
+ eapply "${WORKDIR}"/${PV}-mmc
+ fi
+
+ # Rebuild Mercury compiler using the just built mercury_compiler
+ emake \
+ PARALLEL="'${MAKEOPTS}'" \
+ MERCURY_COMPILER="${S}"/compiler/mercury_compile \
+ TEXI2DVI="" PDFTEX=""
+
+ # The default Mercury grade may not be the same as the bootstrap
+ # grade. Since src_test() is run before src_install() we compile
+ # the default grade now
+ emake \
+ PARALLEL="'${MAKEOPTS}'" \
+ MERCURY_COMPILER="${S}"/compiler/mercury_compile \
+ TEXI2DVI="" PDFTEX="" \
+ default_grade
+}
+
+src_test() {
+ TEST_GRADE=$(scripts/ml --print-grade)
+ if [ -d "${S}"/install_grade_dir.${TEST_GRADE} ] ; then
+ TWS="${S}"/install_grade_dir.${TEST_GRADE}
+ cp runtime/mer_rt.init "${TWS}"/runtime/
+ cp mdbcomp/mer_mdbcomp.init "${TWS}"/mdbcomp/
+ cp browser/mer_browser.init "${TWS}"/browser/
+ else
+ TWS="${S}"
+ fi
+
+ cd "${S}"/tests || die
+ sed -e "s:@WORKSPACE@:${TWS}:" \
+ < WS_FLAGS.ws \
+ > WS_FLAGS \
+ || die "sed WORKSPACE failed"
+ sed -e "s:@WORKSPACE@:${TWS}:" \
+ < .mgnuc_copts.ws \
+ > .mgnuc_copts \
+ || die "sed WORKSPACE failed"
+ find . -mindepth 1 -type d -exec cp .mgnuc_opts {} \;
+ find . -mindepth 1 -type d -exec cp .mgnuc_copts {} \;
+
+ # Mercury tests must be run in C locale since Mercury output is
+ # compared to hard-coded warnings/errors
+ LC_ALL="C" \
+ PATH="${TWS}"/scripts:"${TWS}"/util:"${S}"/slice:"${PATH}" \
+ TERM="" \
+ WORKSPACE="${TWS}" \
+ WORKSPACE_FLAGS=yes \
+ MERCURY_COMPILER="${TWS}"/compiler/mercury_compile \
+ MMAKE_DIR="${TWS}"/scripts \
+ MERCURY_SUPPRESS_STACK_TRACE=yes \
+ GRADE=${TEST_GRADE} \
+ mmake || die "mmake test failed"
+}
+
+src_install() {
+ emake \
+ PARALLEL="'${MAKEOPTS}'" \
+ MERCURY_COMPILER="${S}"/compiler/mercury_compile \
+ TEXI2DVI="" PDFTEX="" \
+ DESTDIR="${D}" \
+ INSTALL_ELISP_DIR="${D}/${SITELISP}"/${PN} \
+ install
+
+ if use java; then
+ keepdir /usr/$(get_libdir)/mercury/modules/java
+ fi
+
+ if use mono; then
+ keepdir /usr/$(get_libdir)/mercury/modules/csharp
+ fi
+
+ if use emacs; then
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}" \
+ || die "elisp-site-file-install failed"
+ fi
+
+ dodoc \
+ BUGS HISTORY LIMITATIONS NEWS README README.Linux \
+ README.Linux-Alpha README.Linux-m68k README.Linux-PPC \
+ RELEASE_NOTES VERSION || die
+
+ if use erlang; then
+ dodoc README.Erlang
+ fi
+
+ if use java; then
+ dodoc README.Java
+ fi
+
+ if use mono; then
+ dodoc README.CSharp
+ fi
+
+ if use examples; then
+ docinto /usr/share/doc/${PF}/samples
+ dodoc samples/{*.m,README,Mmakefile}
+ dodoc -r samples/c_interface \
+ samples/diff \
+ samples/muz \
+ samples/rot13 \
+ samples/solutions \
+ samples/solver_types
+
+ if use java; then
+ dodoc -r samples/java_interface
+ fi
+
+ ecvs_clean "${D}"/usr/share/doc/${PF}/samples
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest
index 75aa6336291e..05f8888aca1c 100644
--- a/dev-lang/moarvm/Manifest
+++ b/dev-lang/moarvm/Manifest
@@ -1,13 +1,11 @@
AUX fix-quoting.patch 1089 BLAKE2B b42de8144ff2555dbb6986ab1d6b62ab6125e8f0fa8ca78ded2d8a0aa0d053ff4c52506cbd50f18a2e9cd8b7a8314f5a859ef55e7578d2ded4c80643cd4351ed SHA512 b7fe948f82c1c32b2b1c86a68409ae4d24927dc783476354b3ffa56e8448c5bb4d3727f1d8c37ed01685869d9636eb15776f92ae2f5f1206db98e954a948912f
-DIST MoarVM-2019.03.tar.gz 5136086 BLAKE2B 695e5528934002b17f547a281482dc0015b3901b2c9626ce6fcf8aaa2df07c293f501871311ee3be47d009b972ca22a268bb34c859fde6a13566e8d03d1d3f04 SHA512 aa50dcf1499e83247c4c490384f80896160d08fb72a5a6da1f91748c6dc343fa30dcf35adca3e9e8329a2919026a4bdb299129865abf611ce49d73d05cce4285
-DIST MoarVM-2019.07.1.tar.gz 5189731 BLAKE2B 3dde716f6911fb8392346b34763439c37866da34361875e7bf1d9d15a4e2b1d9c1dbb668c42611172dcfd6c9060f9c95ec4bac0e5ac614af3038cc4752d9b6d9 SHA512 c8ffaf962191a60f643e6e1b765ec700664988ffc629765c273baf32d2748763480f9fd7a2d978b7f99d3ba4bf962775f4dca40053ace2ddd8cd0bffbd977d84
-DIST MoarVM-2019.07.tar.gz 5187102 BLAKE2B a9c56453edf5b5834d33187aea6eabacac9a721e7a27471a02b82585560ffbb5bb8807ae8c738f3138c5b0453217ad101aab23bef2c8b727cd2f8a56574abfd5 SHA512 ff5370cb2c7dc4357825f02387757e36a5e03b711021c896043ba5f68e573308146a0d94c7855ec9b4860906a3b0720d316d119ca5bbda908f17d3f4f14f4999
-DIST MoarVM-2019.11.tar.gz 5709053 BLAKE2B 5214a041d02fa9feebf50996460b4a73634bf69dc24edbda72d29fe3045504dde809143ba6edf57602a5207e45a02e9a69cfecd2dca0bb5922e5560dca4e5861 SHA512 d7d7d21ff0e3896b7cb869ea1298f9ff1b041b68062ac509d4571246f96985de0ad48d881f7c988e1ed470c4c5f859f36916bfd764cbc0e988c249682b0b8b41
DIST MoarVM-2020.05.tar.gz 5309065 BLAKE2B ed33f066cc16382218509dd9cf8f9f252c87a7d8bfeaf11be8ccbf4fe2337e1dd598d7f4368d4edc5fa1b7c704ee2b4dfec66ee8824465e6088ce0bdf7c8fac1 SHA512 10dd2bb8c629ac4d7804a8e64f8883617545930520c61ff34b62b29b81f827c425004bb07c8978df9620da446fa204ccb3b5c8889651e243a1fe4da28350ab66
-EBUILD moarvm-2019.03-r1.ebuild 1496 BLAKE2B 89daedf8f3bc91f658d82c536306de7368a79e08187bc3692873f5e77265308673882fede98c26ec2182028b512d1eeb914be5ee86ceff296135f7028854419f SHA512 a47ae1736b6d32e77b741a7de1294849f66ecfdcb286bd7d5ad235df08c916323d73bc97fd0d0909d43b38574c2dd378c99910330258c45903b9375589b8c19b
-EBUILD moarvm-2019.07-r1.ebuild 1511 BLAKE2B 2b31769db78a71dd00ce52f1f2dceab57fb11e189733f7ac619bf5b30f003155fd547acb28c96959b8257424372949b712b3f56eb1e869dd875d58b03ed702c8 SHA512 ad8929015996b9b75e7de02e1544da1a1f09f1363aae925d0ccf54e3fe9c15c376e65554fb8dfbbbfa8a3174617885949c85fde3cab129ed238751d26f16acef
-EBUILD moarvm-2019.07.1-r1.ebuild 1765 BLAKE2B c961aadfb1fc6bc4cf4c73821a86f65e7f3ec82025701541bc55dcbe9449c4e7e15eed7be28992b75fad058b65d936e1248a9668e1b0619e9dc53f9306db419b SHA512 3845ff95d15475502a5c9541463d767e1e00875d53589209bb02ae24e494d6ebdfed393080935d592275a8c73e73cd2f889381298b85c93abe08089e67a41b4b
-EBUILD moarvm-2019.11.ebuild 1448 BLAKE2B 55c1b80c92869613e9569be3ea8ffd094bb4566cf03657a02998c9c31823a3dc21cfe13fab1da5c5fc49a2531c5254c5e48bfc54827d49c0daccf15f7cd8e9ba SHA512 f818e3705d05afcb5bcb69cbd75da25ba2b8b4fbe951bfc13b26386eca5a77f7147de33bbf036cd3a8c44dc983c7bbe94abfd1838be05385236eeec5f413c54a
+DIST MoarVM-2020.06.tar.gz 5325582 BLAKE2B 3cef20e2cf8d35cf4e812c2838963938a059393eddf1b87d4f2a69750b5e3eae81db76c671d3fcc137f63acd0b94ff03a6c5c3c2a772d9d9409348cfb33fe235 SHA512 5dae0abb825d8ac1620a62da44de6a0a6ddbeed6862c728b895ad5922c0142fd305f5d63bef9726490d9bab0afa603e93b0a1cfd7e61f5778dedfca0f016664c
+DIST MoarVM-2020.07.tar.gz 5329508 BLAKE2B a761234baf88bfb5d8bc87e621822cd4cc1c11c383d9a42785a33d6cc6aa2f039a7764923044c028677b75fd849fa785edb2b0b9bd4ba1bd5393dbe7269c6dc1 SHA512 7581dc0b028029f34fdb1035c1db75f9c13637f7ba5a0d85ca8478cc1844bb0f5852822a145df453b28037cb19972dc6112f32d9b443854952761223926f4042
+DIST MoarVM-2020.08.tar.gz 5333410 BLAKE2B 4590576148d26c96eda390c9b66966b10205616b1920d6a7e259fa055240a5627fceb00399942eee512278dfd23cec90c5a1e79ee3f94cdad89e526b83c2888f SHA512 610ac56df2cd0da7b284e967fb2f626fa10583f66ef06d8c4368048883bea0627b5029c56e64fd7281e6e70c3f63ac26dcfa463d2145be83433a8e76226fcb3b
EBUILD moarvm-2020.05.ebuild 1448 BLAKE2B 55c1b80c92869613e9569be3ea8ffd094bb4566cf03657a02998c9c31823a3dc21cfe13fab1da5c5fc49a2531c5254c5e48bfc54827d49c0daccf15f7cd8e9ba SHA512 f818e3705d05afcb5bcb69cbd75da25ba2b8b4fbe951bfc13b26386eca5a77f7147de33bbf036cd3a8c44dc983c7bbe94abfd1838be05385236eeec5f413c54a
+EBUILD moarvm-2020.06.ebuild 1479 BLAKE2B 0747e04c59b54236accef01241145daaf003eb635a1284c4388582e474a5ef115b7c41d3f4dac624270f76f652b0db9c42507f5518c93dcb30340ea00faa4248 SHA512 01b215366f478a759569b7bc020b68896fb0c575a464d933759a7a6851972647408872f241f4c120c21cdab28487798e9247d3c3d62ab1cf1ee409d51438a38c
+EBUILD moarvm-2020.07.ebuild 1479 BLAKE2B 0747e04c59b54236accef01241145daaf003eb635a1284c4388582e474a5ef115b7c41d3f4dac624270f76f652b0db9c42507f5518c93dcb30340ea00faa4248 SHA512 01b215366f478a759569b7bc020b68896fb0c575a464d933759a7a6851972647408872f241f4c120c21cdab28487798e9247d3c3d62ab1cf1ee409d51438a38c
+EBUILD moarvm-2020.08.ebuild 1479 BLAKE2B 0747e04c59b54236accef01241145daaf003eb635a1284c4388582e474a5ef115b7c41d3f4dac624270f76f652b0db9c42507f5518c93dcb30340ea00faa4248 SHA512 01b215366f478a759569b7bc020b68896fb0c575a464d933759a7a6851972647408872f241f4c120c21cdab28487798e9247d3c3d62ab1cf1ee409d51438a38c
EBUILD moarvm-9999.ebuild 1765 BLAKE2B c961aadfb1fc6bc4cf4c73821a86f65e7f3ec82025701541bc55dcbe9449c4e7e15eed7be28992b75fad058b65d936e1248a9668e1b0619e9dc53f9306db419b SHA512 3845ff95d15475502a5c9541463d767e1e00875d53589209bb02ae24e494d6ebdfed393080935d592275a8c73e73cd2f889381298b85c93abe08089e67a41b4b
MISC metadata.xml 920 BLAKE2B dc15290595649a4f4c514f26cd219c3d8a97bb589fedac8cca202b64abe49f6851fe50d24f95f82c0dd61d183ed1f4091a4fb0f500e8f89a9b91dd7e932cc1ff SHA512 9250682955318d688f59e27b740e1b04095a85f036578d8fe2a2eeb31e159e34845a191734ba4997034dca80a32e29c8f4a0658b9a76ea78ff5fb4479124696b
diff --git a/dev-lang/moarvm/moarvm-2019.07.1-r1.ebuild b/dev-lang/moarvm/moarvm-2019.07.1-r1.ebuild
deleted file mode 100644
index bd277f947edc..000000000000
--- a/dev-lang/moarvm/moarvm-2019.07.1-r1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2019 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"
- EGIT_SUBMODULES=( '*' '-3rdparty/libatomicops' '-3rdparty/libuv' )
- inherit git-r3
- KEYWORDS=""
- 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 Rakudo Perl 6"
-HOMEPAGE="http://moarvm.org"
-LICENSE="Artistic-2"
-SLOT="0"
-IUSE="asan clang debug doc static-libs optimize ubsan"
-
-RDEPEND="dev-libs/libatomic_ops
- >=dev-libs/libuv-1.26
- dev-lang/lua:=
- virtual/libffi"
-DEPEND="${RDEPEND}"
-BDEPEND="${RDEPEND}
- clang? ( >=sys-devel/clang-3.1 )
- dev-lang/perl"
-
-DOCS=( CREDITS README.markdown )
-
-# Tests are conducted via nqp
-RESTRICT=test
-
-src_prepare() {
- if [[ "${PV}" == "9999" ]]; then
- # Stupid upstream try to auto-fetch this themselves
- git rm -f 3rdparty/{libatomicops,libuv} ||
- die "Can't strip unused submodules"
- fi
- default
-}
-
-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/moarvm/moarvm-2019.11.ebuild b/dev-lang/moarvm/moarvm-2020.06.ebuild
index 533f762ed652..96e569caebe5 100644
--- a/dev-lang/moarvm/moarvm-2019.11.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.06.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit flag-o-matic
@@ -22,13 +22,12 @@ HOMEPAGE="http://moarvm.org"
LICENSE="Artistic-2"
SLOT="0"
-#USE=optimize triggers makefile bug
-IUSE="asan clang debug doc +jit static-libs ubsan"
+IUSE="asan clang debug doc +jit optimize static-libs ubsan"
RDEPEND="dev-libs/libatomic_ops
>=dev-libs/libuv-1.26
dev-lang/lua:=
- virtual/libffi"
+ dev-libs/libffi"
DEPEND="${RDEPEND}
clang? ( >=sys-devel/clang-3.1 )
dev-lang/perl"
@@ -54,6 +53,7 @@ src_configure() {
"--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)"
)
diff --git a/dev-lang/moarvm/moarvm-2019.07-r1.ebuild b/dev-lang/moarvm/moarvm-2020.07.ebuild
index 0bf2511cf866..96e569caebe5 100644
--- a/dev-lang/moarvm/moarvm-2019.07-r1.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.07.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit flag-o-matic
@@ -22,13 +22,12 @@ HOMEPAGE="http://moarvm.org"
LICENSE="Artistic-2"
SLOT="0"
-#USE=optimize triggers makefile bug
-IUSE="asan clang debug doc +jit static-libs ubsan"
+IUSE="asan clang debug doc +jit optimize static-libs ubsan"
RDEPEND="dev-libs/libatomic_ops
>=dev-libs/libuv-1.26
dev-lang/lua:=
- virtual/libffi"
+ dev-libs/libffi"
DEPEND="${RDEPEND}
clang? ( >=sys-devel/clang-3.1 )
dev-lang/perl"
@@ -38,9 +37,6 @@ DOCS=( CREDITS README.markdown )
# Tests are conducted via nqp
RESTRICT=test
-# known configure bug
-PATCHES="${FILESDIR}/fix-quoting.patch"
-
src_configure() {
MAKEOPTS+=" NOISY=1"
use doc && DOCS+=( docs/* )
@@ -57,6 +53,7 @@ src_configure() {
"--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)"
)
diff --git a/dev-lang/moarvm/moarvm-2019.03-r1.ebuild b/dev-lang/moarvm/moarvm-2020.08.ebuild
index d44bdd955d40..96e569caebe5 100644
--- a/dev-lang/moarvm/moarvm-2019.03-r1.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.08.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit flag-o-matic
@@ -21,12 +21,13 @@ DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
HOMEPAGE="http://moarvm.org"
LICENSE="Artistic-2"
SLOT="0"
-IUSE="asan clang debug doc +jit static-libs optimize ubsan"
+
+IUSE="asan clang debug doc +jit optimize static-libs ubsan"
RDEPEND="dev-libs/libatomic_ops
>=dev-libs/libuv-1.26
dev-lang/lua:=
- virtual/libffi"
+ dev-libs/libffi"
DEPEND="${RDEPEND}
clang? ( >=sys-devel/clang-3.1 )
dev-lang/perl"
@@ -44,19 +45,18 @@ src_configure() {
einfo "--prefix '${prefix}'"
einfo "--libdir '${libdir}'"
local myconfigargs=(
- "--prefix=${prefix}"
+ "--prefix" "${prefix}"
"--has-libuv"
"--has-libatomic_ops"
"--has-libffi"
- "--libdir=${libdir}"
- "--compiler=$(usex clang clang gcc)"
+ "--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)"
)
- use optimize && filter-flags '-O*'
- perl Configure.pl "${myconfigargs[@]}" || die
+ perl Configure.pl "${myconfigargs[@]}" moarshared || die
}
diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest
index f31037c59a65..799225ba3d16 100644
--- a/dev-lang/mono/Manifest
+++ b/dev-lang/mono/Manifest
@@ -1,5 +1,7 @@
AUX mono-5.0.1.1-x86_32.patch 751 BLAKE2B 1a19219c5667715a9afb7dc74ba9714893eea684a0c48945bcb70bdd83e34138a77ca029bcc8341b58af93617b4eab3251885affb3d129e8bf072a0279b8d29b SHA512 8c3d3a65f9d9a9a51c4a01dfd14e32e01bcc7cb98bd4f6a196a2a166968521ff859ccb1efd689c612c8bab5d6a384b148039de5033235a2c0552bc455dd636b7
AUX mono-5.12-try-catch.patch 1267 BLAKE2B e33836d53fd4c9a4e64614d3f309058b2009487a853aee48fae99cd0326095b6dc26e7fbdd178e25f9fc3901f74f937ce5e9d3bb4322ca50e139d13f66c209a5 SHA512 3a82d4bed31b212e23fe24647fc5b9c4788be5f4966377a3bef9f92a51d16181e77e19ca1ec4736792da6a18206986bbb54d967499e2ca7e224201cf811f91b5
+DIST mono-6.10.0.104.tar.xz 292616252 BLAKE2B 705fb45ab280eae0e66b4c0fa0fc0e3ee87ed47164dd5bfa2f11115c30fb7b788bd9b25bfe7d820db88178bf0863b1cc984def94fe291c9924b311454735deed SHA512 73b853e9fc9af2e1bf5e45f7accb8893dd7e48f9723f74b03d99ea11cf565e2c5bb2d6ae4c81c7e7be0cdfa489016da909ed7b12808c8f84d9d25e33e1cb9874
DIST mono-6.6.0.161.tar.xz 241179396 BLAKE2B 88cb0599cd5698500431dc8a78fa3b44a148bdc11d3067e950f0019c6bbeff9ebf2142e90f3b1023721c982fc4a59605ee969d84ee2137f968dee66b1ea0b55c SHA512 0b0c72daef9e1c10c0d566292997d4a923766390793ec1196a063b885e853b47a12503238632879cf7397f03b34909137e24c53db9300a4f209164e973284186
+EBUILD mono-6.10.0.104.ebuild 2874 BLAKE2B 701dc061c5af75a66c86edb142ed59cd272f13a30d875e8361ddbc691af6446cff272db2fe5128ae26e3c370d26dc38d40036d2a1faa47b7e4aad0094d9b2e7b SHA512 de2f1a19f05758b948ad601d3bf99992fd00a99250bcb7a68b272318541095c1cf133a318e440265a337bbf51a0463e8c4d02388b9f77244138204a1ef75221d
EBUILD mono-6.6.0.161.ebuild 2892 BLAKE2B 7cd2f57436406f9ee0b8aca2c691513f9d62a0f947e9bafed2a87e4a13999b3a6ff27aef1f8063a6a9a567b4fde7564a548b9ce108280f5463f19dfe656a4ba3 SHA512 05ca5fd88436acf1b4b52340fdde2ae10ebedd7e730f308b33d253cc659190cea64feb066cbd9fc8cc31f24c67f019e1a8bae6957b29e8f20354fe244178ec4f
MISC metadata.xml 507 BLAKE2B 91655de22fc1ff309c36ecef9d77aa8cada0b8f13ae30677665de837e99b7b43622a1dc0c677b0f5455c06b8e8a295c3c4f39753f66e749163a4f002ee481016 SHA512 e072a1abbf66276b0d139c3e918593010312c2059a0c6feba7b324689cdf90efe28bef0286ad9888125acfdd1fed2dee3e05e79a0aeb7f9ec1809bd128cf8a20
diff --git a/dev-lang/mono/mono-6.10.0.104.ebuild b/dev-lang/mono/mono-6.10.0.104.ebuild
new file mode 100644
index 000000000000..817de94a28c0
--- /dev/null
+++ b/dev-lang/mono/mono-6.10.0.104.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux"
+
+SLOT="0"
+
+IUSE="nls minimal pax_kernel xen doc"
+
+inherit autotools eutils linux-info mono-env flag-o-matic pax-utils multilib-minimal
+
+DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
+HOMEPAGE="https://mono-project.com"
+LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL"
+
+SRC_URI="https://download.mono-project.com/sources/mono/${P}.tar.xz"
+
+#Note: mono works incorrect with older versions of libgdiplus
+#details on dotnet overlay issue: https://github.com/gentoo/dotnet/issues/429
+COMMONDEPEND="
+ !minimal? ( >=dev-dotnet/libgdiplus-6.0.2 )
+ ia64? ( sys-libs/libunwind )
+ nls? ( sys-devel/gettext )
+"
+RDEPEND="${COMMONDEPEND}"
+DEPEND="${COMMONDEPEND}
+ sys-devel/bc
+ virtual/yacc
+ pax_kernel? ( sys-apps/elfix )
+ dev-util/cmake
+"
+
+PATCHES=(
+ "${FILESDIR}"/mono-5.12-try-catch.patch
+)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ if use kernel_linux; then
+ if linux_config_exists; then
+ linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel"
+ else
+ # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686
+ ewarn "kernel config not found"
+ ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
+ ewarn "See https://bugs.gentoo.org/261869 for more info."
+ fi
+ fi
+}
+
+pkg_setup() {
+ mono-env_pkg_setup
+}
+
+src_prepare() {
+ # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't
+ # get killed in the build proces when MPROTECT is enable. #286280
+ # RANDMMAP kill the build proces to #347365
+ # use paxmark.sh to get PT/XT logic #532244
+ if use pax_kernel ; then
+ ewarn "We are disabling MPROTECT on the mono binary."
+
+ # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9
+ sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in"
+ fi
+
+ # mono build system can fail otherwise
+ strip-flags
+
+ default
+
+ # PATCHES contains configure.ac patch
+ eautoreconf
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_with xen xen_opt)
+ --without-ikvm-native
+ --disable-dtrace
+ --enable-system-aot
+ $(use_with doc mcs-docs)
+ $(use_enable nls)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+ cd mcs/tests || die
+ emake check
+}
+
+multilib_src_install() {
+ default_src_install
+
+ # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora
+ # mono.spec and http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg24870.html
+ # for reference.
+ rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die
+ rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die
+}
diff --git a/dev-lang/mozart-stdlib/Manifest b/dev-lang/mozart-stdlib/Manifest
index 18d08c7483da..252abc0eaf97 100644
--- a/dev-lang/mozart-stdlib/Manifest
+++ b/dev-lang/mozart-stdlib/Manifest
@@ -4,5 +4,5 @@ DIST mozart-1.4.0.20080704-std.tar.gz 1305359 BLAKE2B 1dc665a801f2ab1a87b6256279
DIST mozart-stdlib-2.0.1-gentoo-patchset-0.tar.gz 1237 BLAKE2B c18fbaba2860faed1ab1b53cc9ead90af338da8fc673c08e167463c784e1b31ec9b6edadb1a55cf70d25f545e88fa226ccec313df09f1ecaa16eb619f9242b8d SHA512 84f2c44124901f63ee11706cdd573b2f6a4eb8427d12560be8f0772bb872ca9f5a14ad3f047ce64da8060188f21ccf774b1866ecc439381294822c6d9a41f2eb
DIST mozart2-stdlib-2.0.1.tar.gz 1315353 BLAKE2B b2bd25634dc9194af6dc5e23da369515b3a55e0b23bf6d1bf312d0b8eb9f92eee732ea9cf14ebd659e0e296f77c1b1cffa13a74885279bfc5fc0be5d583fd8c3 SHA512 8bb481b00cd9b62aef348dba9e905b3210d1a2fd219cf561d7d243dc0ead135d3ca53378a5945deedfc67ae076ca72008dd098f4a326f00992764123b682f79c
EBUILD mozart-stdlib-1.4.0-r2.ebuild 800 BLAKE2B 0a6015a5a715b5c331dd8c5b6dddb3f294f687645cf8cdf2ffb490aceb476ee11e1e3806b8a7019f99c6fb76e21eb52324a0567491174a864cc529d89feb3855 SHA512 baaa5bf0c1b6eda92a4a529a133cd50a73fe5d867d5914ae42b378a8c6a5ff7266d22f334dfafeae183f50e89363560e923d201c7516aad42c2fc48962d2bd08
-EBUILD mozart-stdlib-2.0.1.ebuild 741 BLAKE2B 1df920f92ab1493819ac32d678fa8a725489da5a7d5b399c1b4c8704ad0a4c3f48616f67e59f06dec7089d2043bbe53cd7ac8fc52c0158005610daba5183bfca SHA512 7040e8cc51583437782dd87d4e8c52bcb49354947f0a1a91d8d7884066108195859a873ca3305b5ec0c40680349d01b2df27b04e17098611438edf24381abe94
+EBUILD mozart-stdlib-2.0.1.ebuild 739 BLAKE2B 7e73317154eecb560728711fdbeba17ac936f20f87ba62cdd00ec04ca16fdb1123dc3b9a458bd7698ea3f9ce59db24b70a10bbfd40d8011c7627ceedc20e26ee SHA512 89e5763fd96dc6b09ba06f8c22dc834a3edc5cec2984f0a18e412c451e39e3052a568c31546968a25d3050a3df5a7cae980fd08d9794d428379c114b6b9a0b6e
MISC metadata.xml 240 BLAKE2B 6b5ab0d76c5748af7bd1800d11864869d7365b8d53e2fd2ec66c1092dd1fdac8461b20c029ffe835357542ca69f789ce867988d64c43019e02fe9e3691f0f9bd SHA512 7cd99ce62ca4f9307fa7dfdbfd0ff9d8ff7485c58cd08cd684065aca4b570f8655587425f6a240453a9e86452de41f26f8b82aa81c023764d0beb47daa1b15d3
diff --git a/dev-lang/mozart-stdlib/mozart-stdlib-2.0.1.ebuild b/dev-lang/mozart-stdlib/mozart-stdlib-2.0.1.ebuild
index c599cda1e3a0..024329f0def8 100644
--- a/dev-lang/mozart-stdlib/mozart-stdlib-2.0.1.ebuild
+++ b/dev-lang/mozart-stdlib/mozart-stdlib-2.0.1.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://dev.gentoo.org/~keri/distfiles/mozart-stdlib/${MY_PN}-${PV}.tar
LICENSE="Mozart"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE=""
RDEPEND=">=dev-lang/mozart-2.0.1"
diff --git a/dev-lang/mozart/Manifest b/dev-lang/mozart/Manifest
index 06999d145b32..8d84f7c970ae 100644
--- a/dev-lang/mozart/Manifest
+++ b/dev-lang/mozart/Manifest
@@ -7,5 +7,5 @@ DIST mozart-2.0.1-gentoo-patchset-1.tar.gz 39069 BLAKE2B 7490d13665314b3a998fb21
DIST mozart-2.0.1.tar.gz 2281261 BLAKE2B 7f071e9ec130a0b482b299f4dac15d64f632702d6ecf55b7af0993087064e533b4de80f77520a725f69f68648a9ce763c8c8826bb24e52af49eda8c3ccfba0b5 SHA512 a72a6fa68296d06af72327fd11310b3be152e5ad9a56f1fc4200ac7b89cd177e9a23a38c6721e1885d4f2ed0870065e919fb9fe3c9a2833fcd8e4ac0fd43aeb4
EBUILD mozart-1.4.0-r3.ebuild 2907 BLAKE2B 51d3f72aa2e7fa96029a9ff8abb21f52153dbaf044a6a9c84ea6c9ab6431447e5b2c469166bede84c5f6fb9e2a3b62a059424d569f455eb9723db7cff1783a7f SHA512 f860e6013bb7e8efeecb8ec020f7884718e082ea7917b70e9c9343961ae0f72d188b256ce647897d7e2f284dc6ac3cb349ace59eaf00fd69d775f43fae11b11f
EBUILD mozart-1.4.0-r4.ebuild 3080 BLAKE2B 1363240805a389a5e111d30a5e38287dff565d1716b39b10f7a80ac73aa5f0c6f3e4c8fb2ab8ed93dc7512c8e18ed045421db1a750105d4098761425606769ea SHA512 e4347d58bf3233a4db2aebb7c94d71ff3a1e5408179e72975a84e8f31a0a53b59b75ebffa0a3c510a6fb80d6b3995095abdd07b955cc259047bdb71b1a76b029
-EBUILD mozart-2.0.1.ebuild 1798 BLAKE2B d1315b03d485433b8c769150fbef0cd080d8f700dc2cc46c612a0801e17593f56e606694fbf97650ff937ce37dc025b4e39534e4abc8a9db2da4af106d0a0caf SHA512 2ded16b20db0f87504b4fc850f3c03c3be569d18e5f928603d2800042193924fd6e69d156838e038167e20ba1a1cc914dd48e66d8a1b51fa473a0249b7abea36
+EBUILD mozart-2.0.1.ebuild 1796 BLAKE2B 0b0e456f623a221e77364b2b1de40d42d020c705a7adeb44615d723d5dcf35c5d1df25645c06d3e303e9ce4217d9debe109b5ebe75783c61d394f5c3c52fea5b SHA512 1d553df0698717a4b7e78c24c161118f8702b041068ce45a9a3d17bf8ad56e21896a6b1af12ecaab68666cc345e90c6c885fc62cf8f5318ef9b1b5fe861e3764
MISC metadata.xml 248 BLAKE2B 15dcca8e423036aaf3d73f9557507d39f7a22a6fa36d83405d8180df441adc50b9d61f8dd720a9d0045f5b3e6ebc9785fcf8f1340c253b2d277404672d395c1b SHA512 b296da55efb17a1040203bc1f5f3bfa8160711fdb72f0543739e6efe48b75427c082eb6c405d99b3256e8d536d3d29f71fdd0fd8d281cb9a9967060ea467a034
diff --git a/dev-lang/mozart/mozart-2.0.1.ebuild b/dev-lang/mozart/mozart-2.0.1.ebuild
index b44def58b107..09d87b133828 100644
--- a/dev-lang/mozart/mozart-2.0.1.ebuild
+++ b/dev-lang/mozart/mozart-2.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/mozart/mozart2/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="emacs test"
RESTRICT="!test? ( test )"
diff --git a/dev-lang/mujs/Manifest b/dev-lang/mujs/Manifest
index 0d3297529172..9680c268cc8d 100644
--- a/dev-lang/mujs/Manifest
+++ b/dev-lang/mujs/Manifest
@@ -2,5 +2,5 @@ AUX mujs-1.0.5-flags.patch 839 BLAKE2B 843d1bf60167dfb91a5736ee936098c8f6b716f7a
DIST mujs-1.0.6.tar.gz 121385 BLAKE2B b74da9cc9df6c51d81fe4b6170fddd9bfd3e37cc1c48509ddbcc9b657feb7169cfa98427770a118fb9c0923e70320668198739ea111cbd5d1c2303b2ada7093d SHA512 c3062348dcc79b8ea3726fc528b3ba765d3462232059617b9ab221ba47fa904cc81a305a6199a9a2cea24a2d891ca63d475b4884cd4e53fa715b3a55f51ca4d9
DIST mujs-1.0.7.tar.xz 93928 BLAKE2B 3c29ad3c23b75ee310824a36c0b08ede07b4ebaebff78558d07bc0eda55d6a994551502089cebd5b53ae24364ec1170e0865b7f1560d909dd15a18040666fea2 SHA512 30cc06ce4a608e091d46ba903ffc2eda29972cf583eb077d7824627fa20423c4721a406bf4271ebd5e5cade74f34e19acc9cffbc6d4d44314085a5525e91564f
EBUILD mujs-1.0.6.ebuild 1306 BLAKE2B 3b8443a25740336511efe985d48079fccb76a8c8c5e9bf69ca307c0393923423339a673eab22310cec31739e88bf62799126a17f4b6fa6e52de111978731a0dd SHA512 cbd0bfdccee68ea8d01c5438fc6f27169f3afade7f5fb809c117b4d9fe8fcc3dff98473480983c17fc7ca6ba6969e474e6ddc021ab966eb5895fc740ccddb537
-EBUILD mujs-1.0.7.ebuild 1286 BLAKE2B 05622422cd99265401c1e125524aaaf371fbb995042d2eadb27126db935fcd5a4150ad0c21bc825accf1eb711d0f2a7ee95a1065ef1fea8c871fd107bb597726 SHA512 0c2ae5eed5cf070094a80de3912e44d8df563caeb93d720ad3bb219d0029d1ae4d50ba6ec353afe0042d2ba2d3cca56cf0f6b247e4f319888d65a38aefc1c303
+EBUILD mujs-1.0.7.ebuild 1285 BLAKE2B 8cce834efd4ac60fe9faa94c68f9c97600d510cc5bdc39b2235b6aecf7327ed824858e4558f2da888b3e6b70925fe30dd36457f4ca0ad7e2d9bdf1ef1fa476b9 SHA512 ae55f40c5cc09c854bd072192fa35b88013ed8841fd15e64e613544c0118bd01f64f2a36e28c04365e5961c727d725070e13b60318b43bea290f5be028e36388
MISC metadata.xml 475 BLAKE2B c27925d0ece3e21984317e079213d568ed5dc278ed8855dc169bfb2e065c29e9845a2d6de4d8ee85a5c1b1a9fc47685318a8e13ec0c5665d63f5ebb9983d1249 SHA512 e73d572d699516550dcf6e4c3feaea5ad5eaeeb724dba92e5b58596cfda6697ebc1de9f04646aa0a1ad4177c1306106cb45b63d3c1797f57d08b7aca700099ae
diff --git a/dev-lang/mujs/mujs-1.0.7.ebuild b/dev-lang/mujs/mujs-1.0.7.ebuild
index e6ca251d080e..7c1f534b7df7 100644
--- a/dev-lang/mujs/mujs-1.0.7.ebuild
+++ b/dev-lang/mujs/mujs-1.0.7.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://mujs.com/downloads/${P}.tar.xz"
LICENSE="ISC"
# subslot matches SONAME
SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="static-libs"
RDEPEND="sys-libs/readline:0="
diff --git a/dev-lang/nasm/Manifest b/dev-lang/nasm/Manifest
index c128a06b03c7..ecbdfc99163a 100644
--- a/dev-lang/nasm/Manifest
+++ b/dev-lang/nasm/Manifest
@@ -1,11 +1,9 @@
AUX nasm-2.13.03-bsd-cp-doc.patch 357 BLAKE2B 2611aa3e7f817530c8012f1849d5d80f47105a2e35950795826b3b9d128493ab7e8c1da106b9d22e24a025f8bf24f142cad385c5fca13e09423168bc2fc69f65 SHA512 6562f98e08953b5ac667df4f89f401cc520cf24dfaf112121ca0f7a039b96a328316afd62d118ae98ec9d2c1c3f2c1c9b88d2d66f19197637b7b785a48964f9c
AUX nasm-2.15-bsd-cp-doc.patch 278 BLAKE2B eb2d6fffb03da68a43df8db6cbadeb72753f0474f91011038b6ec0b3a449fbd0e3cde59abfb1b22fa0c991629960f456815b1c86ec55292f54a879d8a0a079f1 SHA512 ba691e4f0fd3b676280de5b79e6872f7efe034da28fc66e247c3f757761e2191c54f585ca724747812fa55afb4b9d76366f50659702561c7eb69483de265b3e5
DIST nasm-2.14.02.tar.xz 827620 BLAKE2B deb1f3c806ffbe48eefe4163271c68f02a782f75f21980331cb03e64de20da61c118621536c1c869c1629e558cab45ce98fed8443d29c1126fb4255cd6a36ce4 SHA512 c7a228095f37321d57f2813d04f58ee66949e8f81fc49ef6c4ecd391301e308217583ce1a265d4fe8c13d54b5b9c72aeb132caa3caee36e31b6555fbfff34c81
-DIST nasm-2.15.01.tar.xz 975376 BLAKE2B 86cd93c4b9c8f96e0d82d525f558e5240c2152c523d610078918eff176327736084718655cc97fb84cb762f21e6d0598b459243f22d76e006a8f0f58e02699ed SHA512 0eaac219d33243e0f35daea5222432226a27cb119e44e5c666773cd472fd032a1b1deb0b5eb950e5470ebf604ce7d31482d2dcb44ce5627465d006b7071a6153
-DIST nasm-2.15.02.tar.xz 978012 BLAKE2B e325ef3b59582b1e3bd6503ec8c5b8a7abf92c98a0234451a3695ecd3102674a34d7cd260a50278b8d98f4663651de058e858e58e6dfda8ae33d1cdb8bb2fe3f SHA512 7375f970ca0c6c31fe2cb5c8c2b5a0f854eaff374b1e7bc9e09546246a84fe73a2ba6073e63d9287444cf17c9e2d342c3ff73ca961c2c0e3e2a9c3aba77114c7
-DIST nasm-2.15.tar.xz 975180 BLAKE2B 86fe345ddcc1817471e07fe17ba9009afa02fda152301e3d1cedff624cbd6ebb0e016a2fda339bd53f30fb3d60ae19f806d21c9dbe433ebb7d0e9a74d9db1576 SHA512 c88ff62d08aac86c4ce994bb83e80f1644e0433b01c40cebf183281d31bb4c79471f78e3beab6e7cafb28b3e92298aef89d75672444ea5e8d65c3b019e219583
-EBUILD nasm-2.14.02.ebuild 1047 BLAKE2B d739f62a39b65ba506c720f1595e84b65ef7e211ec65088ec69d614d25d733237b7845e27b44d7f6f3aff481314ce723498f05c427d65ac6edfd245a24e28ed7 SHA512 cd4140764c9c6f415d4ada92e6916b1b0100c0d260734da90524fecd4606771c1421074c2771b24c356dbcd3900aaca24366156efde71cca55bc12dab8d3a874
-EBUILD nasm-2.15.01.ebuild 1003 BLAKE2B 0683358ff8c4649306b4569b5e5cc24fb6ed8562a50b45cf2cbc1b126ffef80d184613c936744584351f7bc1c616be37e52024f4b71494efbbb4a90c2ccf9cee SHA512 ce0394577cf05936a80c7beb21f6524d7ec06649530206cb0371a5145384f9be3ee964f9a49e6be312c363bffc015c82e0c21cb8a550ef8e1b03b71e3a10ee1c
-EBUILD nasm-2.15.02.ebuild 1003 BLAKE2B 0683358ff8c4649306b4569b5e5cc24fb6ed8562a50b45cf2cbc1b126ffef80d184613c936744584351f7bc1c616be37e52024f4b71494efbbb4a90c2ccf9cee SHA512 ce0394577cf05936a80c7beb21f6524d7ec06649530206cb0371a5145384f9be3ee964f9a49e6be312c363bffc015c82e0c21cb8a550ef8e1b03b71e3a10ee1c
-EBUILD nasm-2.15.ebuild 1003 BLAKE2B 0683358ff8c4649306b4569b5e5cc24fb6ed8562a50b45cf2cbc1b126ffef80d184613c936744584351f7bc1c616be37e52024f4b71494efbbb4a90c2ccf9cee SHA512 ce0394577cf05936a80c7beb21f6524d7ec06649530206cb0371a5145384f9be3ee964f9a49e6be312c363bffc015c82e0c21cb8a550ef8e1b03b71e3a10ee1c
+DIST nasm-2.15.03.tar.xz 984060 BLAKE2B f6d6e7618e23d1b6ab89620ed37b3539e18dc5d4c800796afea0242250e9148eb7a59cbc9a9633a971fe4d000373b9f362c2be2bd7b08fc69a61dd7e31368298 SHA512 be98e8e0a3b5f5296bc941a7bbcbf44c4084c65d11aed60d17a803b9647d59bd14ec06e780ac22c4bbe8869625eb8e6139d18a88e25310edfce0fe0fc0172950
+DIST nasm-2.15.04.tar.xz 988252 BLAKE2B 57d619e1374cb76b1112b40d9a5bb97eb38a0d233d4ebdd9dab50ae38bc9bf7c2d254df0f48dace7ad418e38e50b621626e5374d06ce71dad23fdcb8934adef7 SHA512 96d3131a422282f78e5326314570826d312bbab3c4ce3fdbad36578daf5963cc9a41672b4596d37ecdc002877b720bff44e2ce5b83f34b7a797f0b9ca5ca7c3c
+EBUILD nasm-2.14.02.ebuild 1024 BLAKE2B 80fcf68592887b0de13f2628c81072850c2a2ee2b1824bed45702cdd9cca5b3c00d6003a776a67d1f3f71aed7c774bd8582c80a639b6e7c54448458f4df7a5c9 SHA512 44c8dd94ed82be891a56fece93c213fc1d3eb80c4aaf7b1e5f359c9c26ea3367ba88c2f3e31ec0cf1b311376ac3ce80d2fbf455700cc8b9d2cffeccd113576f0
+EBUILD nasm-2.15.03.ebuild 980 BLAKE2B aa3a7017c0fcad14c925471f9d975eb657116ca5a778b29dfb66be5929cfd27aef8e09180f57de27299a5d41dabed5495e7ebcbaba03b76822ebbd5a2d21360f SHA512 89f491280ca12b996a1ad2e9c23928ae72d8095ef567c8da37c25bed48507d70f73e8f124f3ed9d12ddd2955bb44aebe684f9f7b1a78b75fdb6be2fc76728819
+EBUILD nasm-2.15.04.ebuild 980 BLAKE2B aa3a7017c0fcad14c925471f9d975eb657116ca5a778b29dfb66be5929cfd27aef8e09180f57de27299a5d41dabed5495e7ebcbaba03b76822ebbd5a2d21360f SHA512 89f491280ca12b996a1ad2e9c23928ae72d8095ef567c8da37c25bed48507d70f73e8f124f3ed9d12ddd2955bb44aebe684f9f7b1a78b75fdb6be2fc76728819
MISC metadata.xml 869 BLAKE2B 6acbe39b23e071849e6afd42da7ec5a56f017b708745e5efd09a288775da944fbb1185cead3ceaa573398f5874115139834584323e5b4cff360cf6cd9cca4ccd SHA512 a6bf522dfa6c43ea58a432577fbc31bcc9d262f7262c16d165b3cbacf8394a6d9e6d1eea9480cdb27b692cacada0c5fba3906e913259c2809a48159bce53e5bf
diff --git a/dev-lang/nasm/nasm-2.14.02.ebuild b/dev-lang/nasm/nasm-2.14.02.ebuild
index 77adc7000996..a4d6f15fc797 100644
--- a/dev-lang/nasm/nasm-2.14.02.ebuild
+++ b/dev-lang/nasm/nasm-2.14.02.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.xz"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ia64 ~ppc64 x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="amd64 ~arm64 ~ia64 ~ppc64 x86 ~amd64-linux ~x86-linux"
IUSE="doc"
RDEPEND=""
diff --git a/dev-lang/nasm/nasm-2.15.02.ebuild b/dev-lang/nasm/nasm-2.15.02.ebuild
deleted file mode 100644
index 1451280eeac2..000000000000
--- a/dev-lang/nasm/nasm-2.15.02.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic
-
-DESCRIPTION="groovy little assembler"
-HOMEPAGE="https://www.nasm.us/"
-SRC_URI="https://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.xz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ia64 ~ppc64 ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="doc"
-
-RDEPEND=""
-DEPEND=""
-# [fonts note] doc/psfonts.ph defines ordered list of font preference.
-# Currently 'media-fonts/source-pro' is most preferred and is able to
-# satisfy all 6 font flavours: tilt, chapter, head, etc.
-BDEPEND="
- dev-lang/perl
- doc? (
- app-text/ghostscript-gpl
- dev-perl/Font-TTF
- dev-perl/Sort-Versions
- media-fonts/source-pro
- virtual/perl-File-Spec
- )
-"
-
-S=${WORKDIR}/${P/_}
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.15-bsd-cp-doc.patch
-)
-
-src_compile() {
- default
- use doc && emake doc
-}
-
-src_install() {
- default
- emake DESTDIR="${D}" install_rdf $(usex doc install_doc '')
-}
diff --git a/dev-lang/nasm/nasm-2.15.01.ebuild b/dev-lang/nasm/nasm-2.15.03.ebuild
index 1451280eeac2..50972bc3e57f 100644
--- a/dev-lang/nasm/nasm-2.15.01.ebuild
+++ b/dev-lang/nasm/nasm-2.15.03.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.xz"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ia64 ~ppc64 ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~amd64 ~arm64 ~ia64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc"
RDEPEND=""
diff --git a/dev-lang/nasm/nasm-2.15.ebuild b/dev-lang/nasm/nasm-2.15.04.ebuild
index 1451280eeac2..50972bc3e57f 100644
--- a/dev-lang/nasm/nasm-2.15.ebuild
+++ b/dev-lang/nasm/nasm-2.15.04.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.xz"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ia64 ~ppc64 ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~amd64 ~arm64 ~ia64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc"
RDEPEND=""
diff --git a/dev-lang/nim/Manifest b/dev-lang/nim/Manifest
index f24fb930e25c..16872def7e7e 100644
--- a/dev-lang/nim/Manifest
+++ b/dev-lang/nim/Manifest
@@ -1,4 +1,4 @@
AUX nim-0.20.0-paths.patch 934 BLAKE2B 6a4e44c5656cde6d5127bf6a6b8db92cdf8aada0892c27d536d0c1030ed7da8dc97138a8941030101918021f2a301fa683169c8a656fefc6fb7d0fcdb24029d4 SHA512 bf8dbc3e3861ec3ea2718092b981e495194ead5b547e69d01d5d842d128dc4b96b0ba3e95c78afd8fd822d594199315a01de370851ed8f594c091231b9a10ee9
-DIST nim-1.2.4.tar.xz 5680128 BLAKE2B d8bb186862bf8c8e7e20dd5d1035013c6d48de777512658736ddcd49723e5789dc1e8fe6b5dc8bfbda36d204aeaeba3fdb4e10c6d7955fdc47d9fe78ce17082c SHA512 ed5dd7a744229685c9c034700eb0f7d7c51030ea344c1c371cf2731632fd3376b577a3a9731ed79d65a8fb69f3507a8a88408f2e5c46359a8bbd3b3092d991cc
-EBUILD nim-1.2.4.ebuild 2026 BLAKE2B c421e7b9d31c89822e99b11a7e56e4c78f6fd26c717af43d2009aa8e3ec06b1303ccf7f4f9ceef12661bc70de0fd8bf52e42db49baad5a8acdc7fbf370ed9a1d SHA512 4f69ee0ae3526ccbea8ef8cbf8665679ce3bdcb5b7c6e960228150c05df1dd3bec03daa7d88a4b8baffc10aa976bee8477887a8ab5a08acba8f956d444a6fceb
+DIST nim-1.2.6.tar.xz 5688752 BLAKE2B 8865df1c508b9c21a2808c0eed8c6cd294f57829e8b75a3c3b70964b45ae7a29ae1670763447ba4f7135ce8ef55e696db1a5cd0a9d563d2174c7212c41d9d268 SHA512 ef59bbb0d4b05bd13624ea7da7182f1d73ffb31c7b34f5928b7e0411809fd70d1898fba9bb02441dc9ce802cd8accaf59448aef5b457e64de73c2ffbbcd53fbc
+EBUILD nim-1.2.6.ebuild 2026 BLAKE2B c421e7b9d31c89822e99b11a7e56e4c78f6fd26c717af43d2009aa8e3ec06b1303ccf7f4f9ceef12661bc70de0fd8bf52e42db49baad5a8acdc7fbf370ed9a1d SHA512 4f69ee0ae3526ccbea8ef8cbf8665679ce3bdcb5b7c6e960228150c05df1dd3bec03daa7d88a4b8baffc10aa976bee8477887a8ab5a08acba8f956d444a6fceb
MISC metadata.xml 328 BLAKE2B 9205920d8c9b12118456bd186f2e882b3e6f75b7cc3f766def1e79e2e4f7ac695370409ff1555e379516606568f181f4ba3625322f70e41bfffd21d319b0035f SHA512 bf02bc0a8c25d6e157b7ab1ef87c2eac3241d42bc4cf0632a159dcb5d429051018848be81d0cbce228124660ced8694f5de48d64fe10bc7ff5b536b7e7579e49
diff --git a/dev-lang/nim/nim-1.2.4.ebuild b/dev-lang/nim/nim-1.2.6.ebuild
index 78fadad3c55e..78fadad3c55e 100644
--- a/dev-lang/nim/nim-1.2.4.ebuild
+++ b/dev-lang/nim/nim-1.2.6.ebuild
diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest
index 138eb2b8b0fb..0c242118bbbc 100644
--- a/dev-lang/nqp/Manifest
+++ b/dev-lang/nqp/Manifest
@@ -1,10 +1,10 @@
-DIST nqp-2019.03.official.tar.gz 3951058 BLAKE2B 237b8cc0105396fc96349a0dd34502ab45fb7d02089dd2ef5aad2554610b4090adf11679271869e5ae06abfa509210959ae8762fbee30dfe6190d6a74ce32591 SHA512 248768c1b1c0f5e5bd19183404e2a1aa28ab488b05db0b1ed0f0bcceca8b9830885762e763ea38cdd2b54d975d2663e1defe236907096aabc5b668818d293533
-DIST nqp-2019.07.1.tar.gz 3937612 BLAKE2B 71f5ddadaa70d7eeadc122ef50f90c13bf7e3a1a4262069ee8564f739e99dfb780359e1155a28f61f90dd1cc419379e366d7274c9567a4319bd841005c3a51a9 SHA512 90c9cfbc3de165ba8c0b4653a849a6faafef9e3862743c3675277c25bc4578522a97a663a4ed7529831fa0b617c7412fcfe67b3e3ff1fc5994f6c42cdf7a4bc5
-DIST nqp-2019.11.tar.gz 3942494 BLAKE2B 241c4131fc94d7055b51a44b7be824fb53a00fc51370f59dcba1d92655de66e2db536c622084bf9466d9d753d5ad804411b4af07b2767ad1a4f09e065c6693f8 SHA512 3b9fea9d9c4d2ae2ca065536bcca5b483067f9e723c3a89c7e238199c0f52ea6ba23ae4429dacbd42bea69dccbbc836efe5046d1691185d5452f30912f4e6a40
DIST nqp-2020.05.tar.gz 3945402 BLAKE2B d73bb5cf5dcd2f0e0d42928fb12382428355f3c19bbcd015950c2a9e49ab73c215ce8ce21f3686283866c387823f1cbb3ba8179de8f7a66dca43afae94a45a42 SHA512 a60e9bcf9ef8d4c0492cc193893d398d0c62a114e829375ac9a7601336bc2cc820b8f486b10f8b647302d473f3e85ebd13559d4089d38ef6c95b0b7e8778c5cd
-EBUILD nqp-2019.03-r1.ebuild 3650 BLAKE2B 72dbc2d62b2338c7a6a1bc8933034e068cc20399c42a1e8975023592245d1af7949dec761c51c099c6471fe8c9e3fed8a5f86119d76c99b4667bf4636c6198ab SHA512 93ff5adc46156969c75778b189934a1f8fc929554db4a4f6c0a8ae472b5dbb883cfec4d391ba63340cb5681764821c63b6e7cd7891aafe663fc2731411b3062a
-EBUILD nqp-2019.07.1.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
-EBUILD nqp-2019.11.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
+DIST nqp-2020.06.tar.gz 3945129 BLAKE2B 0cc378bd5be89bdc8e8b1a72ae64a8d93ccd189811540fc29a72105df1024790deab649349fdc96087f2ce8f3b57eef97e0edf56ee98d7ba3c329e6d47386c46 SHA512 f9a930f7bc9197a9e79ba5f2f72009b4d7ceafe8e3cd7902eb3f04ffb264228b1fba2a826a7ab686322e611557e624c8dbc271dc9eac067a9cc482fc0c6b9460
+DIST nqp-2020.07.tar.gz 3949070 BLAKE2B 194cd52dabe307dab41bec8508a28d00f05c043c16d2ba1beec4a9da63be0d26be3303cb95647ab4f028985ce8913b16f6724f79a395fdf3a6878a2953d33958 SHA512 70b8fa525abc5b6d0749b3e1f090ace60095517d78f9ec84425f12496e46454f89e8f5ea0cbdd77e5f891a6abaa894c9dbc7be955652dfde1cc8d034aec237d3
+DIST nqp-2020.08.tar.gz 3951313 BLAKE2B 0eda6b50268cd4faf49a7311e4d94d9846e223072a54d0ce5c4b2095abe47645924ce6a256edafd6301380ca99b8268a97551cbc6013210e9058713d5a8b1321 SHA512 6acc8d4b443b67a2731d30b4ed81c3ff654189dc51c463d7e4f30ca1a2ac4791b3393238b6370f8bc915278ecdb1bbc403427eb2292b41717ec7d01605a3de4b
EBUILD nqp-2020.05.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
+EBUILD nqp-2020.06.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
+EBUILD nqp-2020.07.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
+EBUILD nqp-2020.08.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
EBUILD nqp-9999.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
MISC metadata.xml 634 BLAKE2B 1ef5daf7c995ddad1df4b2c7d33ecfc7a4cd146cb518314f88d58e370ede9e986bb47747b10952cf0ee6d587fe5925ba5b0086006182f3e16bd114d49e1a0f3a SHA512 a093877d22e76bbbced97c7752ed76d6aa110eb8d0676f97ae3d38ad79ab7b8ba770243b64e618b588faebf179713813fe6fc8ec7371c695c9f0979f6bce3dc0
diff --git a/dev-lang/nqp/nqp-2019.07.1.ebuild b/dev-lang/nqp/nqp-2020.06.ebuild
index c41412d388c5..c41412d388c5 100644
--- a/dev-lang/nqp/nqp-2019.07.1.ebuild
+++ b/dev-lang/nqp/nqp-2020.06.ebuild
diff --git a/dev-lang/nqp/nqp-2019.11.ebuild b/dev-lang/nqp/nqp-2020.07.ebuild
index c41412d388c5..c41412d388c5 100644
--- a/dev-lang/nqp/nqp-2019.11.ebuild
+++ b/dev-lang/nqp/nqp-2020.07.ebuild
diff --git a/dev-lang/nqp/nqp-2019.03-r1.ebuild b/dev-lang/nqp/nqp-2020.08.ebuild
index 24e7ec6c6757..c41412d388c5 100644
--- a/dev-lang/nqp/nqp-2019.03-r1.ebuild
+++ b/dev-lang/nqp/nqp-2020.08.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit java-pkg-opt-2 multibuild
@@ -10,7 +10,7 @@ if [[ ${PV} == "9999" ]]; then
inherit git-r3
KEYWORDS=""
else
- SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz -> ${P}.official.tar.gz"
+ SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
@@ -31,7 +31,8 @@ CDEPEND="java? (
moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
RDEPEND="${CDEPEND}
java? ( >=virtual/jre-1.8 )"
-DEPEND="${CDEPEND}
+DEPEND="${CDEPEND}"
+BDEPEND="${CDEPEND}
clang? ( sys-devel/clang )
java? ( >=virtual/jdk-1.8 )
dev-lang/perl"
diff --git a/dev-lang/orc/Manifest b/dev-lang/orc/Manifest
index 3c1d873c911a..0a3ce7219e55 100644
--- a/dev-lang/orc/Manifest
+++ b/dev-lang/orc/Manifest
@@ -4,5 +4,5 @@ DIST orc-0.4.29.tar.xz 465076 BLAKE2B f7c81429d95af7031f190a4c3d52959eda1835d309
DIST orc-0.4.31.tar.xz 177768 BLAKE2B f06fd6be70063ebc82b45c1801a53aab66b5fc8a85c33991602488ec8ed29f2271df20c3780655953cabe33e865530b1218aafa0592261bcc5dccc4a4b3945e7 SHA512 4e97597e70982dbfc239d1ef9a8913b0155e5aaac15d91162d7f73a1095bd944e27fbe6d6194b9f74af07b985a44b1d9dddbe917425e1ad9e8da17ce86495696
EBUILD orc-0.4.28-r1.ebuild 2175 BLAKE2B d90883c71906dd89a7d53275a7405d87b6e9480e3a1fbaba83336d632648e940082d9a0bc9321564978f0cafad10db4ddf2b2d357dcf42c4fdff2bcd3feb4edf SHA512 42eab1ff8c1bcc6f9940d07da5cc50d31cde38b4fd6ccaf889b8180fc463aa6c0b825238175095f98a0cc2ddf3324a5ce731e93549be734f8d4cc39227dbb9bd
EBUILD orc-0.4.29.ebuild 2389 BLAKE2B 8596c3980308a2c3faf657cea9ff368ca8e08288d571c5837eb3892db2518436cd09e5b4a7ec1a51dff50f552821628c5e49ebff60a926b68c941dfb61f03743 SHA512 3965d2cf6cd0ba3c816639b55864e95b5cb2f50ca832fa711ef4e524728c78d0402263d0ca8e7e2b567c449896314183b15c844cf2367e8be9e14fd1e028fd40
-EBUILD orc-0.4.31.ebuild 1316 BLAKE2B e1c0dae748f6fe964f04ead40b7a1d4655c4192cddf678fd7f735d627453853ef8e73cfc58fd32cbd75499aeb2857707a43ad022ec045873b3dc6628c04d8c0f SHA512 50e4faca86574f74e51add1ae767a56b5bf9d136088546c207340c115228fd0bca7347ef46fa1472ef46d83ef607a4138596d56698fc32146aad84f6942d8333
+EBUILD orc-0.4.31.ebuild 1314 BLAKE2B 15628c0325af25cc8fb35adeb57f175f5d4ac8fb9c3b1748de0b092bcba353d746907a0ad14cc2a05769fbe84be3a907535b187145403bf23fd3ccfaa3cff042 SHA512 bdd33428aabfdb0fa40c71b93c70c3936f4fe4034c7966f17693a53899c4e32569ed3fdb72cf6124c9645b500045833ba300e4966954e12942b6bb5fcd95ef01
MISC metadata.xml 354 BLAKE2B b24bce431d7ad10e9231e89b522e67de16192ee4e48281b8a17f002692632449ab676cb9df6ff5a22563d6f9657ee6be11e452bac41f8a537c598822efab85d1 SHA512 4f17c4c3faa3f2c5feaefe4727b3500360f7cc5486c794e9a34608c3e437b4e2cc266bc9e0e2b3824952a8da62421fda59e9bc5140ee88898f8f7bdde402762f
diff --git a/dev-lang/orc/orc-0.4.31.ebuild b/dev-lang/orc/orc-0.4.31.ebuild
index 67a6b8e4c3f7..ccb0f62c755c 100644
--- a/dev-lang/orc/orc-0.4.31.ebuild
+++ b/dev-lang/orc/orc-0.4.31.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz"
LICENSE="BSD BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
RESTRICT="!test? ( test )"
IUSE="gtk-doc static-libs test"
diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest
index 1f06b046eb03..dd1896026a5b 100644
--- a/dev-lang/perl/Manifest
+++ b/dev-lang/perl/Manifest
@@ -1,18 +1,14 @@
AUX perl-5.26.2-hppa.patch 3231 BLAKE2B d59eab55eea3daceb0d3df39778d43ebaee2c065c052ca048ec17c06fa90049eb7fd5ae40092f11248de25cdf9cff96dc69626e7f3269b24cf618004deeb5859 SHA512 24856ae3c637c58d16d543240f5028e137c33c7aeae7c0c3dfa1a69b621057a84ab4ddf8b12ac6ef251381af4b190c200262bec9bdaa6001199dbd1d15cf4bae
-AUX perl-5.30.1-gcc-10.patch 2993 BLAKE2B 81f934f334d3a1c5e166118e21a55230055bec32499b320b6e17b1ca5ac47028fc4aa0aaabdb59211578664602c4db3a654e35231c12eb28d3ed89287ad3077a SHA512 8f9cf67d877788ee29fdc165f6b32eb63036f1ab696c3f978f7b2b1a76ab9d9983a13cf4169d2baa7231b38a9db7f7878e2949a3196c50397cce4fec0650ad9d
-AUX perl-5.30.3-gentoo-libdirs.patch 3811 BLAKE2B 58ed3a27813e9e390039c590f323723c4a8e7432b3df9c035b19d9c3bc3df4e56f266c2bbee31eb1de3735acb8692ac0f204bb6515353784ad92e610ed771f9f SHA512 6288f066d3ff1f56722838887437a3ad4c0e80f68a71c99144e51325bf1678ffe9c1840a8194c178bd7cf8f11958617b7a7a974c410ebe4a0a1a44bfd7a11016
DIST perl-5.30.0-patches-1.tar.xz 17352 BLAKE2B 67eb1c4ce6ada27e05962d06fa9c5675ca1d22623b5fd172ce8ceaa17f2e51d61f9451955f9f6acf6d97ea7d71c72b583be1378ccbf9174c88580baec2049a48 SHA512 4fe1f2de5e72e56890858148d20b772df63dce34cb3977ec47d8ed5323c4843929130f660f1558c282c97e65efa1c6d2fdacf9e2dcc0ef1d487a0b69dbb5bbb4
-DIST perl-5.30.1.tar.xz 12367844 BLAKE2B 7e5dafb218a993301b986d198c02179d2d93d7418b910f813c7e5bc44ca4d22f004d4d768273ab5d4b6f16103d8a1896237ee14e195d2644fc4c05f5ade5404b SHA512 8f3339efdcd1bb58fa58a90042181bef86bb09e4598c737e446ed43b56d2ab23d67eced5e36fb08fc61e076acfdb572a12e46a1277f5299a3f412054df0b88bf
-DIST perl-5.30.2.tar.xz 12373480 BLAKE2B b34344221409fad8aad5c24a9851a95521720bfd85ff150fec02a70d78188cd3a4d6327931b955323c86eab6b16979128dd323f78b797cf3244518df840f70b0 SHA512 b945c95f44a58b9cc920c926e23017c4270c0dc8daf0bf8169cd7c8f6b8f980f1780bee4fbd525df518edc50f08364ba65988cb17e72a1667f50226459b65087
+DIST perl-5.30.3-patches-1.tar.xz 20292 BLAKE2B 34ca8dbdf08650deaaa59bba634c3a40c6da7d91b282365eec217cc421b17678837b1ae02de5d6b0b632858a0251b796ce28ddbdd7a86aca6697f18a527fcb62 SHA512 ba9aafcaff405c931b61ffc917be8ef71e538fd5277a3bcfafbaffc965b53f9c1811670558a0bc75c538586a30f11aba3ce59bd2214982eaad3b5afa64e67999
DIST perl-5.30.3.tar.xz 12375128 BLAKE2B ff0668c896e46ea35a1b8bd4a7d800c8668d6995185cd8c43fca332da2fa63965bb5276b2d5cf9738c0b7fb735140f6e33f1b4582899017903f86753065f417b SHA512 0ea62cf17532ee99217a218c39aa530472857c7a1982494f3a01693683062b4cdebe383a79f7b64452c713337b554ed5e0fd6eda018ea29e83c3538a13c24f3c
-DIST perl-cross-1.3.1.tar.gz 106723 BLAKE2B 473d90dbfe5d69e17d088664c365190982db400b0617d951fb7a4ccb84dd269fd9e861a6255c0469fbf288125db67ed9fc692251f14c31181f6e9dd1dba447bb SHA512 4715c1f65e39a7d0c605558b345a0a037e61afa992b3f723d66277d5ff7f1c7368ff1dfdb726895d75c4afdb6f710743708fdd9e79569a7d14a2d7002cc9f3b2
+DIST perl-5.32.0-patches-1.tar.xz 20220 BLAKE2B 46ebca5c74f59aa935ceec2a5807426c0e653ad7ba27de441d26e049e62dc67b17d58dfe5755f31bdd157e349d47fd46a98699207729f8f4f747930ed1064ba2 SHA512 42ed00f5f6be40af59e02691ff439a048cccd96fb970cca0976209faa921af98a773cc4cb1466e164328350d58cb46950ffa8c6f2fddabbeb3e8819349b06849
+DIST perl-5.32.0.tar.xz 12717336 BLAKE2B 4abad9f1ddabaad5f2bbfe8ab6d061aeb8c558e458d4bf1bcf737a8ecc1cf20f7dffaddd0bc867578b457787ec284fa81be3fae1edd7f72d58aeec7b5cd744e5 SHA512 1540247415893bbd94dfeede7b4fba6052688dc0bf27ced817f448246fcdc6e9a6486abc34577dec5b00bf02ed607b2d24ccd4977c3b3c51e8e6edfc0b81c760
DIST perl-cross-1.3.2.tar.gz 108350 BLAKE2B ddb352fdbec66a04de62425f5cae1aaa3bc7251b9d6f4837b66a0bd79c53c60212fad3997dad4c38055774a2769d45b5b83927bf48b0fb00a130fee429eba702 SHA512 d61d25066a8d87c34aeacc5b9bd86fab964b33c4c65e84a89e4077fe1d8011c0bdf810a304631af44fae32edcffd6c99fc17b0c584ea83d1ce5ce492aaedfea5
DIST perl-cross-1.3.4.tar.gz 108461 BLAKE2B 28f207d235f51ebf681598cf85f7f16923574aafb593426a59d67578135ee3632efb12b9e1a672759195a79f80e49f5c929ec42b2b4571b1d36f5d8c8dceadc2 SHA512 7e1fc7b2b19d8c2e2fb8615e074e218b2e1a4d276b563ffabccfd0c7398bc8680fca96da89cc61d611993f38a2c67dfbb0201c58658e05437395ad8c00d31874
-EBUILD perl-5.30.1.ebuild 20271 BLAKE2B 1b412c3ab85bd682e054d80fb09de739b686cef20c8ba64471da2d884326e4d7e82de3eb9333873370b6cc815d11d68209506fb4cb913f9e468e4bfe8190b92f SHA512 6cf2c92b23c4d45becea1a9a68123ee0f087bd8cafc06d0602074f5d8bbd1f6a0259bc8859b8e8d2b6c443d633de01aecc428d3599dd7637b8667ff71c9ef724
-EBUILD perl-5.30.2-r1.ebuild 20249 BLAKE2B 8c1f20dc7e49f679bcd960762fe020d952e8dd4caf664bc2755a65034cd4349ad291b2d4b661047150e0788778ede2bb3c0b757ec7a862554ecb4c4efe858b52 SHA512 a9130908388b276211fbeba454ce482a712b1a687a23f09bf3f179f7f35a0c7081c869f076103e439197b3aaa0bad86a63bff3f33d9421b06b33b82bf7035f67
-EBUILD perl-5.30.2-r2.ebuild 20458 BLAKE2B 3713a9b07a5e2242640baf1974cd22454a9170afd04953849905b46bf7c89e435e4821f3317af8c658768fb0a261a3d3984aad91fec18364e9891ed92db05c6c SHA512 2dea0da7a28b4dafa0ca4029fc9294af18a611b302db70713b761654b08237b935307bccd6330a90a9675a822fcc35110718b4fae56f2be36b2615a65469c705
-EBUILD perl-5.30.2.ebuild 20226 BLAKE2B 06fe835beba602f173b0077b6993f886d25ecf6e7d6e3e2587a4a2b89d451cc51d105a4c124c23084c8b635e366396f11e0b64643b992bf4710fb138b4dde273 SHA512 7b17273a2691a45d03133d44c651092fe5ba8e644762dc162d3c2325e4296e72a9be3e35640e8d07f23edf0f1a996d6788afaccfac24edfeb3d410ed275fc7c9
-EBUILD perl-5.30.3-r1.ebuild 20471 BLAKE2B 2d700af11b68746385987c50fdbe2772e02e2c95d114d7ba166d2abfeb1c5b92b4c80cfc21a43dc4365a961ada45f0def4c788aa2b4b5ccb86757a61fe6ed6f6 SHA512 5955d737a9c9663659cbd4d85e90fb0cc6f119bcf86b3123fddc642eb9a0043797db67e6f3c388f4dfb2c1c340f23fcda6aa2b00339abc4ba0804e6b9a5178ee
-EBUILD perl-5.30.3-r2.ebuild 23617 BLAKE2B befe1e085ac6c288c914069b3ee1e8bf23279ba26cd850e739f5a11d3356f107d5fe5b386eb4fa3175d3b1f9b2b696f1fab9b6d5578d472f3ed82e2acc11a3dd SHA512 2cf7c5f7c125370bf10ce378e7cafdc9648b67843673a4478da78ba2294359d5e5686ab7d4cf943de37088b386de9d7d8ded4e3384792a3974a462bdcf92e4ec
+EBUILD perl-5.30.3-r1.ebuild 20491 BLAKE2B c8b0c0597260089037e156d0f7eef2fce436be6e8958d22b069b37d94f805dc57617404f3b86b3d8e14134a44c6df2a9d2f5d15c85ed22410c26e747e5c6bf09 SHA512 7928f71f93922bcaa2eee5389d6bac7d39573ee760f4c391bdabd5de9e5d8fd6c1241aa85bf2d655ec40c4bbbd54c3ecc74273d09492f969544bbfb0e0969b81
+EBUILD perl-5.30.3-r2.ebuild 25975 BLAKE2B f56945eadfa24535d9fd3cd1fd717fa3b1c569d0cdf40d2595b970912b584feb25affc0c104c691ee92184fc4f1b16a0bd6b3e45e3170c400f19fa8782110bec SHA512 d405ab9ea78a801fabc27693375d57551310baed120a2a4b5dce6554548ff91f7cb3d658d5ca29b35673a0639123ac30ffe1658919be657a3dbfcffa6b149eed
EBUILD perl-5.30.3.ebuild 20230 BLAKE2B e3d024205657311a66da2b988a000d9ac4ca7aaf9b6002b65cbf1e580c7c893dad8accea58a56a7b1f883158d996c92ad1714e451bfc058ccbe15d06c7824cb8 SHA512 0c5ee31abdeb54e41dd12d8497bce14a8900654ae8de290d1aa9286807f16f9d010ee4d91add0e186a98ab3b14a07006932028572cc3dafe9a758b05bb1bc536
+EBUILD perl-5.32.0-r1.ebuild 25694 BLAKE2B a4481cbc687d2a46092009f400ceb847ed5a7a9ea0220ac154a46c63bd1143f0831cdfbdac979afac9eff0a547e39e65ae599e1054e2212c373ef15ae3e2e301 SHA512 43b7905e8882df8e162437631eca21b15214384dee1e4fb1f0c658f0af5b2fff0ae9770bce76ab9212d282fac0a179e30e857e62b45a22462baefa6c49b20ffa
+EBUILD perl-5.32.0.ebuild 20210 BLAKE2B 7d03b057748dea80fa57e17b5957e35a4cf6b98d2347a33394a115fc465bab254d5a9256eb2bf8d8a67d8df4b5fb95b83e7dbc5630c236f5bdc2a2a7c897b445 SHA512 3ae5f43676f26644b65d16a33ca05e089d9bcd4630442fe0080b95493f4d34b5aba3899e06798e56cab69a127796d8171a018a3a16c82f2e584a21aec40fd4de
MISC metadata.xml 430 BLAKE2B 8625fd07f63a7943a85c3919d6ae6db622b752caa2803c56c72a22b270244261331fbab8b760e6d00acb8480770c9ef1d1beaaa22cc6044660821687c0cd8c33 SHA512 ca4c43e2016b7df707894713465700a90d2b8551b57fc4d660cff75edb1e8cc2456f9ae10431839ad6738f290d4f5911fae360eaa1d4670859d855de3d568583
diff --git a/dev-lang/perl/files/perl-5.30.1-gcc-10.patch b/dev-lang/perl/files/perl-5.30.1-gcc-10.patch
deleted file mode 100644
index bb92527853f5..000000000000
--- a/dev-lang/perl/files/perl-5.30.1-gcc-10.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-https://bugs.gentoo.org/708744
-
-From 6bd6308fcea3541e505651bf8e8127a4a03d22cd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
-Date: Tue, 12 Nov 2019 09:19:18 +0100
-Subject: [PATCH] Adapt Configure to GCC version 10
-
-I got a notice from Jeff Law <law@redhat.com>:
-
- Your particular package fails its testsuite. This was ultimately
- tracked down to a Configure problem. The perl configure script treated
- gcc-10 as gcc-1 and turned on -fpcc-struct-return. This is an ABI
- changing flag and caused Perl to not be able to interact properly with
- the dbm libraries on the system leading to a segfault.
-
-His proposed patch corrected only this one instance of the version
-mismatch. Reading the Configure script revealed more issues. This
-patch fixes all of them I found.
-
-Please note I do not have GCC 10 available, I tested it by faking the version
-with:
-
---- a/Configure
-+++ b/Configure
-@@ -4701,7 +4701,7 @@ else
- fi
- $rm -f try try.*
- case "$gccversion" in
--1*) cpp=`./loc gcc-cpp $cpp $pth` ;;
-+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;;
- esac
- case "$gccversion" in
- '') gccosandvers='' ;;
-@@ -4741,7 +4741,7 @@ esac
- # gcc 3.* complain about adding -Idirectories that they already know about,
- # so we will take those off from locincpth.
- case "$gccversion" in
--3*)
-+3.*)
- echo "main(){}">try.c
- for incdir in $locincpth; do
- warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \
-@@ -5467,13 +5467,13 @@ fi
- case "$hint" in
- default|recommended)
- case "$gccversion" in
-- 1*) dflt="$dflt -fpcc-struct-return" ;;
-+ 1.*) dflt="$dflt -fpcc-struct-return" ;;
- esac
- case "$optimize:$DEBUGGING" in
- *-g*:old) dflt="$dflt -DDEBUGGING";;
- esac
- case "$gccversion" in
-- 2*) if $test -d /etc/conf/kconfig.d &&
-+ 2.*) if $test -d /etc/conf/kconfig.d &&
- $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1
- then
- # Interactive Systems (ISC) POSIX mode.
-@@ -5482,7 +5482,7 @@ default|recommended)
- ;;
- esac
- case "$gccversion" in
-- 1*) ;;
-+ 1.*) ;;
- 2.[0-8]*) ;;
- ?*) set strict-aliasing -fno-strict-aliasing
- eval $checkccflag
-@@ -5600,7 +5600,7 @@ case "$cppflags" in
- ;;
- esac
- case "$gccversion" in
--1*) cppflags="$cppflags -D__GNUC__"
-+1.*) cppflags="$cppflags -D__GNUC__"
- esac
- case "$mips_type" in
- '');;
-@@ -23103,7 +23103,7 @@ fi
-
- : add -D_FORTIFY_SOURCE if feasible and not already there
- case "$gccversion" in
--[456789].*) case "$optimize$ccflags" in
-+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in
- *-O*) case "$ccflags$cppsymbols" in
- *_FORTIFY_SOURCE=*) # Don't add it again.
- echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4
---- a/cflags.SH
-+++ b/cflags.SH
-@@ -156,7 +156,7 @@ esac
-
- case "$gccversion" in
- '') ;;
--[12]*) ;; # gcc versions 1 (gasp!) and 2 are not good for this.
-+[12].*) ;; # gcc versions 1 (gasp!) and 2 are not good for this.
- Intel*) ;; # # Is that you, Intel C++?
- #
- # NOTE 1: the -std=c89 without -pedantic is a bit pointless.
---
-2.25.0
-
diff --git a/dev-lang/perl/files/perl-5.30.3-gentoo-libdirs.patch b/dev-lang/perl/files/perl-5.30.3-gentoo-libdirs.patch
deleted file mode 100644
index b9e36223a941..000000000000
--- a/dev-lang/perl/files/perl-5.30.3-gentoo-libdirs.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 7572be1afb16621a537e9da02f96cf04cb10b655 Mon Sep 17 00:00:00 2001
-From: Kent Fredric <kentnl@gentoo.org>
-Date: Sat, 20 Jun 2020 22:14:22 +1200
-Subject: Add support for -Dgentoolibdirs
-
-Which just adds the libdirs verbatim in the right place without
-having perl molest it in the process.
----
- Configure | 26 ++++++++++++++++++++++++++
- config_h.SH | 5 +++++
- perl.c | 1 +
- perl_inc_macro.h | 8 ++++++++
- uconfig.sh | 1 +
- 5 files changed, 41 insertions(+)
-
-diff --git a/Configure b/Configure
-index cef8c3c078..77258e8f43 100755
---- a/Configure
-+++ b/Configure
-@@ -1181,6 +1181,8 @@ orderlib=''
- ranlib=''
- d_perl_otherlibdirs=''
- otherlibdirs=''
-+gentoolibdirs=''
-+d_gentoolibdirs=''
- package=''
- spackage=''
- pager=''
-@@ -8101,6 +8103,28 @@ esac
- set d_perl_otherlibdirs
- eval $setvar
-
-+case "$gentoolibdirs" in
-+''|' ') dflt='none' ;;
-+*) dflt="$gentoolibdirs" ;;
-+esac
-+$cat <<EOM
-+Enter a colon-seperated list of explicit gentoo paths to stuff in @INC
-+unmolested, or enter 'none' for no extra paths
-+
-+EOM
-+rp='Colon-seperated list of gentoo-specific perl library search dirs?'
-+. ./myread
-+case "$ans" in
-+' '|''|none) gentoolibdirs=' ';;
-+*) gentoolibdirs="$ans" ;;
-+esac
-+case "$gentoolibdirs" in
-+' ') val=$undef ;;
-+*) val=$define ;;
-+esac
-+set d_gentoolibdirs
-+eval $setvar
-+
- : DTrace support
- dflt_dtrace='/usr/sbin/dtrace'
- $test -x /usr/bin/dtrace && dflt_dtrace='/usr/bin/dtrace'
-@@ -24402,6 +24426,7 @@ d_openat='$d_openat'
- d_pathconf='$d_pathconf'
- d_pause='$d_pause'
- d_perl_otherlibdirs='$d_perl_otherlibdirs'
-+d_gentoolibdirs='$d_gentoolibdirs'
- d_phostname='$d_phostname'
- d_pipe2='$d_pipe2'
- d_pipe='$d_pipe'
-@@ -24937,6 +24962,7 @@ orderlib='$orderlib'
- osname='$osname'
- osvers='$osvers'
- otherlibdirs='$otherlibdirs'
-+gentoolibdirs='$gentoolibdirs'
- package='$package'
- pager='$pager'
- passcat='$passcat'
-diff --git a/config_h.SH b/config_h.SH
-index 08c5923ef8..5563082969 100755
---- a/config_h.SH
-+++ b/config_h.SH
-@@ -1308,6 +1308,11 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
- */
- #$d_perl_otherlibdirs PERL_OTHERLIBDIRS "$otherlibdirs" /**/
-
-+/* GENTOO_LIBDIRS:
-+ * Like PERL_OTHERLIBDIRS, but doesn't stuff ARCH dirs in when not wanted
-+ */
-+#$d_gentoolibdirs GENTOO_LIBDIRS "$gentoolibdirs" /**/
-+
- /* PRIVLIB:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
-diff --git a/perl.c b/perl.c
-index 2013a76026..62e67cfaa2 100644
---- a/perl.c
-+++ b/perl.c
-@@ -4750,6 +4750,7 @@ S_init_perllib(pTHX)
- INCPUSH_ARCHLIB_EXP
- INCPUSH_PRIVLIB_EXP
- INCPUSH_PERL_OTHERLIBDIRS
-+ INCPUSH_GENTOO_LIBDIRS
- INCPUSH_PERL5LIB
- INCPUSH_APPLLIB_OLD_EXP
- INCPUSH_SITELIB_STEM
-diff --git a/perl_inc_macro.h b/perl_inc_macro.h
-index 5a2f20dfae..4b69b39199 100644
---- a/perl_inc_macro.h
-+++ b/perl_inc_macro.h
-@@ -143,6 +143,14 @@
- INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
- #endif
-
-+#ifdef GENTOO_LIBDIRS
-+# define INCPUSH_GENTOO_LIBDIRS S_incpush_use_sep(aTHX_ STR_WITH_LEN(GENTOO_LIBDIRS), \
-+ INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
-+#endif
-+#ifndef INCPUSH_GENTOO_LIBDIRS
-+# define INCPUSH_GENTOO_LIBDIRS
-+#endif
-+
- #ifdef PERL_OTHERLIBDIRS
- # define INCPUSH_PERL_OTHERLIBDIRS_ARCHONLY S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS), \
- INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS|INCPUSH_CAN_RELOCATE);
-diff --git a/uconfig.sh b/uconfig.sh
-index 1d4a0f4a57..fba825acad 100644
---- a/uconfig.sh
-+++ b/uconfig.sh
-@@ -185,6 +185,7 @@ d_futimes='undef'
- d_gai_strerror='undef'
- d_gdbm_ndbm_h_uses_prototypes='undef'
- d_gdbmndbm_h_uses_prototypes='undef'
-+d_gentoolibdirs='undef'
- d_getaddrinfo='undef'
- d_getcwd='undef'
- d_getespwnam='undef'
---
-2.27.0
-
diff --git a/dev-lang/perl/perl-5.30.1.ebuild b/dev-lang/perl/perl-5.30.1.ebuild
deleted file mode 100644
index cdd7bc5e790b..000000000000
--- a/dev-lang/perl/perl-5.30.1.ebuild
+++ /dev/null
@@ -1,654 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
-
-PATCH_VER=1
-CROSS_VER=1.3.1
-PATCH_BASE="perl-5.30.0-patches-${PATCH_VER}"
-PATCH_DEV=dilfridge
-
-DIST_AUTHOR=SHAY
-
-# 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
-PERL_BIN_OLDVERSEN="5.30.0"
-
-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
- mirror://gentoo/${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 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-IUSE="berkdb debug doc gdbm ithreads"
-
-RDEPEND="
- berkdb? ( sys-libs/db:= )
- gdbm? ( >=sys-libs/gdbm-1.8.3:= )
- app-arch/bzip2
- sys-libs/zlib
-"
-DEPEND="${RDEPEND}"
-PDEPEND="
- >=app-admin/perl-cleaner-2.5
- >=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.320.0 ptar ptardiff ptargrep
- src_remove_dual perl-core/CPAN 2.220.0 cpan
- src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
- src_remove_dual perl-core/Encode 3.10.0 enc2xs piconv
- src_remove_dual perl-core/ExtUtils-MakeMaker 7.340.0 instmodsh
- src_remove_dual perl-core/ExtUtils-ParseXS 3.400.0 xsubpp
- src_remove_dual perl-core/IO-Compress 2.84.0 zipdetails
- src_remove_dual perl-core/JSON-PP 4.20.0 json_pp
- src_remove_dual perl-core/Module-CoreList 5.201.910.270 corelist
- src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect
- src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
- src_remove_dual perl-core/Test-Harness 3.420.0 prove
- src_remove_dual perl-core/podlators 4.110.0 pod2man pod2text
- src_remove_dual_man perl-core/podlators 4.110.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 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 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" ;;
- *-interix*) osname="interix" ;;
- *-aix*) osname="aix" ;;
- *-cygwin*) osname="cygwin" ;;
- *) osname="linux" ;;
- esac
-
- myarch="${CHOST%%-*}-${osname}"
- if use debug ; then
- myarch+="-debug"
- 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}/${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}"
-
- 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_update_patchlevel_h() {
- # Copied and modified from debian:
- # Copyright 2011 Niko Tyni
- # This program is free software; you can redistribute it and/or modify
- # it under the same terms as Perl itself.
- local patchdir="${WORKDIR}/patches"
- local prefix
- local patchoutput="patchlevel-gentoo.h"
-
- [[ -f ${patchdir}/series ]] || return 0
-
-while read patch
-do
- patchname=$(echo $patch | sed 's/\.diff$//')
- < $patchdir/$patch sed -e '/^Subject:/ { N; s/\n / / }' | sed -n -e '
-
- # massage the patch headers
- s|^Bug: .*https\?://rt\.perl\.org/.*id=\(.*\).*|[perl #\1]|; tprepend;
- s|^Bug: .*https\?://rt\.cpan\.org/.*id=\(.*\).*|[rt.cpan.org #\1]|; tprepend;
- s|^Bug-Gentoo: ||; tprepend;
- s/^\(Subject\|Description\): //; tappend;
- s|^Origin: .*http://perl5\.git\.perl\.org/perl\.git/commit\(diff\)\?/\(.......\).*|[\2]|; tprepend;
-
- # post-process at the end of input
- $ { x;
- # include the version number in the patchlevel.h description (if available)
- s/List packaged patches/&'" for ${PF}(#${PATCH_VER})"'/;
-
- # escape any backslashes and double quotes
- s|\\|\\\\|g; s|"|\\"|g;
-
- # add a prefix
- s|^|\t,"'"$prefix$patchname"' - |;
- # newlines away
- s/\n/ /g; s/ */ /g;
- # add a suffix
- s/ *$/"/; p
- };
- # stop all processing
- d;
- # label: append to the hold space
- :append H; d;
- # label: prepend to the hold space
- :prepend x; H; d;
- '
-done < "${WORKDIR}"/patches/series > "${S}/${patchoutput}"
-echo "${patchoutput}" >> "${S}/MANIFEST"
-}
-
-src_prepare_perlcross() {
- cp -a ../perl-cross-${CROSS_VER}/* . || die
-
- # 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
-}
-
-src_prepare() {
- local patch
- EPATCH_OPTS+=" -p1"
-
- if use hppa ; then
- epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
- fi
- eapply "${FILESDIR}"/${PN}-5.30.1-gcc-10.patch # bug 708744
-
- 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
- sed -i '/gentoo\/no-nsl-cl\.patch/d' "${WORKDIR}/patches/series" || die
- fi
-
- einfo "Applying patches from ${PATCH_BASE} ..."
- while read patch ; do
- EPATCH_SINGLE_MSG=" ${patch} ..."
- epatch "${WORKDIR}"/patches/${patch}
- done < "${WORKDIR}"/patches/series
-
- src_prepare_update_patchlevel_h
-
- 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
- fi
-
- default
-}
-
-myconf() {
- # the myconf array is declared in src_configure
- myconf=( "${myconf[@]}" "$@" )
-}
-
-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
- use elibc_uclibc || 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
-
- if use debug ; then
- append-cflags "-g"
- myconf -DDEBUGGING
- elif [[ ${CFLAGS} == *-g* ]] ; then
- myconf -DDEBUGGING=-g
- else
- myconf -DDEBUGGING=none
- fi
-
- # Autodiscover all old version directories, some of them will even be newer
- # if you downgrade
- if [[ -z ${PERL_OLDVERSEN} ]]; then
- PERL_OLDVERSEN="$(
- find "${EROOT%/}${PRIV_BASE}" "${EROOT%/}${SITE_BASE}" "${EROOT%/}${VENDOR_BASE}" \
- -maxdepth 1 -mindepth 1 -type d -regex '.*/5[.][0-9]+[.][0-9]+$' \
- -printf "%f " 2>/dev/null )"
- fi
- # Fixup versions, removing self match, fixing order and dupes
- PERL_OLDVERSEN="$(
- echo "${PERL_OLDVERSEN}" |\
- tr " " "\n" |\
- grep -vF "${DIST_VERSION%-RC}" |\
- sort -u -nr -t'.' -k1,1 -k2,2 -k3,3
- )"
-
- # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
- if [[ -n "${PERL_OLDVERSEN// }" ]]; then
- local inclist="$(
- for v in ${PERL_OLDVERSEN}; do
- has "${v}" ${PERL_BIN_OLDVERSEN} && echo -n "${v}/${myarch}${mythreading} ";
- echo -n "${v} ";
- done )"
- 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 " ${EROO%/T}${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}"
- 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
- [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
- append-cflags -Dinline=__inline__
-
- # fix unaligned access misdetection
- # https://rt.perl.org/Public/Bug/Display.html?id=133495
- # https://rt.perl.org/Public/Bug/Display.html?id=133803
- # bug #676062, bug #688432
- use hppa || use sparc || [[ ${CHOST} == sparc*-solaris* ]] || \
- [[ ${CHOST} == armv5tel* ]] \
- && myconf "-Dd_u32align='define'"
-
- # 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})"
-
- myconf \
- -Duseshrplib \
- -Darchname="${myarch}" \
- -Dcc="$(tc-getCC)" \
- -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 \
- "${myconf[@]}" \
- "${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
- use elibc_uclibc && export MAKEOPTS+=" -j1"
- 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/perl/perl-5.30.2.ebuild b/dev-lang/perl/perl-5.30.2.ebuild
deleted file mode 100644
index 197507f1294c..000000000000
--- a/dev-lang/perl/perl-5.30.2.ebuild
+++ /dev/null
@@ -1,653 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
-
-PATCH_VER=1
-CROSS_VER=1.3.2
-PATCH_BASE="perl-5.30.0-patches-${PATCH_VER}"
-PATCH_DEV=dilfridge
-
-DIST_AUTHOR=SHAY
-
-# 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
-PERL_BIN_OLDVERSEN="5.30.0 5.30.1"
-
-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
- mirror://gentoo/${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 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-IUSE="berkdb debug doc gdbm ithreads"
-
-RDEPEND="
- berkdb? ( sys-libs/db:= )
- gdbm? ( >=sys-libs/gdbm-1.8.3:= )
- app-arch/bzip2
- sys-libs/zlib
-"
-DEPEND="${RDEPEND}"
-PDEPEND="
- >=app-admin/perl-cleaner-2.5
- >=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.320.0 ptar ptardiff ptargrep
- src_remove_dual perl-core/CPAN 2.220.0 cpan
- src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
- src_remove_dual perl-core/Encode 3.10.0 enc2xs piconv
- src_remove_dual perl-core/ExtUtils-MakeMaker 7.340.0 instmodsh
- src_remove_dual perl-core/ExtUtils-ParseXS 3.400.0 xsubpp
- src_remove_dual perl-core/IO-Compress 2.84.0 zipdetails
- src_remove_dual perl-core/JSON-PP 4.20.0 json_pp
- src_remove_dual perl-core/Module-CoreList 5.202.003.140 corelist
- src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect
- src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
- src_remove_dual perl-core/Test-Harness 3.420.0 prove
- src_remove_dual perl-core/podlators 4.110.0 pod2man pod2text
- src_remove_dual_man perl-core/podlators 4.110.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 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 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" ;;
- *-interix*) osname="interix" ;;
- *-aix*) osname="aix" ;;
- *-cygwin*) osname="cygwin" ;;
- *) osname="linux" ;;
- esac
-
- myarch="${CHOST%%-*}-${osname}"
- if use debug ; then
- myarch+="-debug"
- 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}/${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}"
-
- 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_update_patchlevel_h() {
- # Copied and modified from debian:
- # Copyright 2011 Niko Tyni
- # This program is free software; you can redistribute it and/or modify
- # it under the same terms as Perl itself.
- local patchdir="${WORKDIR}/patches"
- local prefix
- local patchoutput="patchlevel-gentoo.h"
-
- [[ -f ${patchdir}/series ]] || return 0
-
-while read patch
-do
- patchname=$(echo $patch | sed 's/\.diff$//')
- < $patchdir/$patch sed -e '/^Subject:/ { N; s/\n / / }' | sed -n -e '
-
- # massage the patch headers
- s|^Bug: .*https\?://rt\.perl\.org/.*id=\(.*\).*|[perl #\1]|; tprepend;
- s|^Bug: .*https\?://rt\.cpan\.org/.*id=\(.*\).*|[rt.cpan.org #\1]|; tprepend;
- s|^Bug-Gentoo: ||; tprepend;
- s/^\(Subject\|Description\): //; tappend;
- s|^Origin: .*http://perl5\.git\.perl\.org/perl\.git/commit\(diff\)\?/\(.......\).*|[\2]|; tprepend;
-
- # post-process at the end of input
- $ { x;
- # include the version number in the patchlevel.h description (if available)
- s/List packaged patches/&'" for ${PF}(#${PATCH_VER})"'/;
-
- # escape any backslashes and double quotes
- s|\\|\\\\|g; s|"|\\"|g;
-
- # add a prefix
- s|^|\t,"'"$prefix$patchname"' - |;
- # newlines away
- s/\n/ /g; s/ */ /g;
- # add a suffix
- s/ *$/"/; p
- };
- # stop all processing
- d;
- # label: append to the hold space
- :append H; d;
- # label: prepend to the hold space
- :prepend x; H; d;
- '
-done < "${WORKDIR}"/patches/series > "${S}/${patchoutput}"
-echo "${patchoutput}" >> "${S}/MANIFEST"
-}
-
-src_prepare_perlcross() {
- cp -a ../perl-cross-${CROSS_VER}/* . || die
-
- # 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
-}
-
-src_prepare() {
- local patch
- EPATCH_OPTS+=" -p1"
-
- if use hppa ; then
- epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
- 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
- sed -i '/gentoo\/no-nsl-cl\.patch/d' "${WORKDIR}/patches/series" || die
- fi
-
- einfo "Applying patches from ${PATCH_BASE} ..."
- while read patch ; do
- EPATCH_SINGLE_MSG=" ${patch} ..."
- epatch "${WORKDIR}"/patches/${patch}
- done < "${WORKDIR}"/patches/series
-
- src_prepare_update_patchlevel_h
-
- 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
- fi
-
- default
-}
-
-myconf() {
- # the myconf array is declared in src_configure
- myconf=( "${myconf[@]}" "$@" )
-}
-
-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
- use elibc_uclibc || 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
-
- if use debug ; then
- append-cflags "-g"
- myconf -DDEBUGGING
- elif [[ ${CFLAGS} == *-g* ]] ; then
- myconf -DDEBUGGING=-g
- else
- myconf -DDEBUGGING=none
- fi
-
- # Autodiscover all old version directories, some of them will even be newer
- # if you downgrade
- if [[ -z ${PERL_OLDVERSEN} ]]; then
- PERL_OLDVERSEN="$(
- find "${EROOT%/}${PRIV_BASE}" "${EROOT%/}${SITE_BASE}" "${EROOT%/}${VENDOR_BASE}" \
- -maxdepth 1 -mindepth 1 -type d -regex '.*/5[.][0-9]+[.][0-9]+$' \
- -printf "%f " 2>/dev/null )"
- fi
- # Fixup versions, removing self match, fixing order and dupes
- PERL_OLDVERSEN="$(
- echo "${PERL_OLDVERSEN}" |\
- tr " " "\n" |\
- grep -vF "${DIST_VERSION%-RC}" |\
- sort -u -nr -t'.' -k1,1 -k2,2 -k3,3
- )"
-
- # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
- if [[ -n "${PERL_OLDVERSEN// }" ]]; then
- local inclist="$(
- for v in ${PERL_OLDVERSEN}; do
- has "${v}" ${PERL_BIN_OLDVERSEN} && echo -n "${v}/${myarch}${mythreading} ";
- echo -n "${v} ";
- done )"
- 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 " ${EROO%/T}${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}"
- 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
- [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
- append-cflags -Dinline=__inline__
-
- # fix unaligned access misdetection
- # https://rt.perl.org/Public/Bug/Display.html?id=133495
- # https://rt.perl.org/Public/Bug/Display.html?id=133803
- # bug #676062, bug #688432
- use hppa || use sparc || [[ ${CHOST} == sparc*-solaris* ]] || \
- [[ ${CHOST} == armv5tel* ]] \
- && myconf "-Dd_u32align='define'"
-
- # 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})"
-
- myconf \
- -Duseshrplib \
- -Darchname="${myarch}" \
- -Dcc="$(tc-getCC)" \
- -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 \
- "${myconf[@]}" \
- "${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
- use elibc_uclibc && export MAKEOPTS+=" -j1"
- 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/perl/perl-5.30.3-r1.ebuild b/dev-lang/perl/perl-5.30.3-r1.ebuild
index 9621f081b2f5..235bdb073230 100644
--- a/dev-lang/perl/perl-5.30.3-r1.ebuild
+++ b/dev-lang/perl/perl-5.30.3-r1.ebuild
@@ -61,6 +61,7 @@ RDEPEND="
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
app-arch/bzip2
sys-libs/zlib
+ virtual/libcrypt:=
"
DEPEND="${RDEPEND}"
PDEPEND="
diff --git a/dev-lang/perl/perl-5.30.3-r2.ebuild b/dev-lang/perl/perl-5.30.3-r2.ebuild
index 18013a31588f..6e6c7bf0efc9 100644
--- a/dev-lang/perl/perl-5.30.3-r2.ebuild
+++ b/dev-lang/perl/perl-5.30.3-r2.ebuild
@@ -7,8 +7,8 @@ inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
PATCH_VER=1
CROSS_VER=1.3.4
-PATCH_BASE="perl-5.30.0-patches-${PATCH_VER}"
-PATCH_DEV=dilfridge
+PATCH_BASE="perl-5.30.3-patches-${PATCH_VER}"
+PATCH_DEV=kentnl
DIST_AUTHOR=XSAWYERX
@@ -41,7 +41,6 @@ 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
- mirror://gentoo/${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
"
@@ -64,6 +63,7 @@ RDEPEND="
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
app-arch/bzip2
sys-libs/zlib
+ virtual/libcrypt:=
"
DEPEND="${RDEPEND}"
BDEPEND="${RDEPEND}"
@@ -252,55 +252,6 @@ src_remove_dual() {
done
}
-src_prepare_update_patchlevel_h() {
- # Copied and modified from debian:
- # Copyright 2011 Niko Tyni
- # This program is free software; you can redistribute it and/or modify
- # it under the same terms as Perl itself.
- local patchdir="${WORKDIR}/patches"
- local prefix
- local patchoutput="patchlevel-gentoo.h"
-
- [[ -f ${patchdir}/series ]] || return 0
-
-while read patch
-do
- patchname=$(echo $patch | sed 's/\.diff$//')
- < $patchdir/$patch sed -e '/^Subject:/ { N; s/\n / / }' | sed -n -e '
-
- # massage the patch headers
- s|^Bug: .*https\?://rt\.perl\.org/.*id=\(.*\).*|[perl #\1]|; tprepend;
- s|^Bug: .*https\?://rt\.cpan\.org/.*id=\(.*\).*|[rt.cpan.org #\1]|; tprepend;
- s|^Bug-Gentoo: ||; tprepend;
- s/^\(Subject\|Description\): //; tappend;
- s|^Origin: .*http://perl5\.git\.perl\.org/perl\.git/commit\(diff\)\?/\(.......\).*|[\2]|; tprepend;
-
- # post-process at the end of input
- $ { x;
- # include the version number in the patchlevel.h description (if available)
- s/List packaged patches/&'" for ${PF}(#${PATCH_VER})"'/;
-
- # escape any backslashes and double quotes
- s|\\|\\\\|g; s|"|\\"|g;
-
- # add a prefix
- s|^|\t,"'"$prefix$patchname"' - |;
- # newlines away
- s/\n/ /g; s/ */ /g;
- # add a suffix
- s/ *$/"/; p
- };
- # stop all processing
- d;
- # label: append to the hold space
- :append H; d;
- # label: prepend to the hold space
- :prepend x; H; d;
- '
-done < "${WORKDIR}"/patches/series > "${S}/${patchoutput}"
-echo "${patchoutput}" >> "${S}/MANIFEST"
-}
-
src_prepare_perlcross() {
cp -a ../perl-cross-${CROSS_VER}/* . || die
@@ -313,28 +264,143 @@ src_prepare_dynamic() {
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 *-darin-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 patch
+ local patchdir="${WORKDIR}/patches"
+ # Prepare Patch dir with additional patches / remove unwanted patches
+ # Inject bug/desc entries for perl -V
if use hppa ; then
- eapply "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
+ # bug 634162
+ 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"
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
- sed -i '/gentoo\/no-nsl-cl\.patch/d' "${WORKDIR}/patches/series" || die
+ rm_patch "*-nsl-and-cl*"
fi
- einfo "[ Applying patches from ${PATCH_BASE} ]"
- while read patch ; do
- eapply "${WORKDIR}"/patches/${patch}
- done < "${WORKDIR}"/patches/series
- einfo "[ Done with ${PATCH_BASE} ]"
-
- eapply "${FILESDIR}/${PN}-5.30.3-gentoo-libdirs.patch"
-
- src_prepare_update_patchlevel_h
+ apply_patchdir
tc-is-cross-compiler && src_prepare_perlcross
diff --git a/dev-lang/perl/perl-5.30.2-r1.ebuild b/dev-lang/perl/perl-5.32.0-r1.ebuild
index ffe0b0d40871..c4700dfc9a7d 100644
--- a/dev-lang/perl/perl-5.30.2-r1.ebuild
+++ b/dev-lang/perl/perl-5.32.0-r1.ebuild
@@ -1,21 +1,21 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
+inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
PATCH_VER=1
-CROSS_VER=1.3.2
-PATCH_BASE="perl-5.30.0-patches-${PATCH_VER}"
-PATCH_DEV=dilfridge
+CROSS_VER=1.3.4
+PATCH_BASE="perl-5.32.0-patches-${PATCH_VER}"
+PATCH_DEV=kentnl
-DIST_AUTHOR=SHAY
+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
-PERL_BIN_OLDVERSEN="5.30.0 5.30.1"
+PERL_BIN_OLDVERSEN=""
if [[ "${PV##*.}" == "9999" ]]; then
DIST_VERSION=5.30.0
@@ -41,7 +41,6 @@ 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
- mirror://gentoo/${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
"
@@ -51,7 +50,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 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+# SOMEWHAT EXPERIMENTAL CODE, DO NOT USE WITHOUT AN ADULT PRESENT, CHECK CHANGELOG
+# FOR DETAILS
+KEYWORDS=""
+# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
IUSE="berkdb debug doc gdbm ithreads"
@@ -61,8 +63,11 @@ RDEPEND="
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
app-arch/bzip2
sys-libs/zlib
+ virtual/libcrypt:=
"
DEPEND="${RDEPEND}"
+BDEPEND="${RDEPEND}"
+
PDEPEND="
>=app-admin/perl-cleaner-2.5
>=virtual/perl-File-Temp-0.230.400-r2
@@ -75,20 +80,21 @@ PDEPEND="
S="${WORKDIR}/${MY_P}"
dual_scripts() {
- src_remove_dual perl-core/Archive-Tar 2.320.0 ptar ptardiff ptargrep
- src_remove_dual perl-core/CPAN 2.220.0 cpan
+ src_remove_dual perl-core/Archive-Tar 2.360.0 ptar ptardiff ptargrep
+ src_remove_dual perl-core/CPAN 2.270.0 cpan
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
- src_remove_dual perl-core/Encode 3.10.0 enc2xs piconv
- src_remove_dual perl-core/ExtUtils-MakeMaker 7.340.0 instmodsh
+ src_remove_dual perl-core/Encode 3.60.0 enc2xs piconv
+ src_remove_dual perl-core/ExtUtils-MakeMaker 7.440.0 instmodsh
src_remove_dual perl-core/ExtUtils-ParseXS 3.400.0 xsubpp
- src_remove_dual perl-core/IO-Compress 2.84.0 zipdetails
- src_remove_dual perl-core/JSON-PP 4.20.0 json_pp
- src_remove_dual perl-core/Module-CoreList 5.202.003.140 corelist
- src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect
+ src_remove_dual perl-core/IO-Compress 2.93.0 zipdetails
+ src_remove_dual perl-core/JSON-PP 4.40.0 json_pp
+ src_remove_dual perl-core/Module-CoreList 5.202.6.20 corelist
+ src_remove_dual perl-core/Pod-Checker 1.730.0 podchecker
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
+ src_remove_dual perl-core/Pod-Usage 1.690.0 pod2usage
src_remove_dual perl-core/Test-Harness 3.420.0 prove
- src_remove_dual perl-core/podlators 4.110.0 pod2man pod2text
- src_remove_dual_man perl-core/podlators 4.110.0 /usr/share/man/man1/perlpodstyle.1
+ 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() {
@@ -157,12 +163,25 @@ pkg_setup() {
VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
LIBPERL="libperl$(get_libname ${MY_PV} )"
- 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}"
+
+ # 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
dual_scripts
}
@@ -234,55 +253,6 @@ src_remove_dual() {
done
}
-src_prepare_update_patchlevel_h() {
- # Copied and modified from debian:
- # Copyright 2011 Niko Tyni
- # This program is free software; you can redistribute it and/or modify
- # it under the same terms as Perl itself.
- local patchdir="${WORKDIR}/patches"
- local prefix
- local patchoutput="patchlevel-gentoo.h"
-
- [[ -f ${patchdir}/series ]] || return 0
-
-while read patch
-do
- patchname=$(echo $patch | sed 's/\.diff$//')
- < $patchdir/$patch sed -e '/^Subject:/ { N; s/\n / / }' | sed -n -e '
-
- # massage the patch headers
- s|^Bug: .*https\?://rt\.perl\.org/.*id=\(.*\).*|[perl #\1]|; tprepend;
- s|^Bug: .*https\?://rt\.cpan\.org/.*id=\(.*\).*|[rt.cpan.org #\1]|; tprepend;
- s|^Bug-Gentoo: ||; tprepend;
- s/^\(Subject\|Description\): //; tappend;
- s|^Origin: .*http://perl5\.git\.perl\.org/perl\.git/commit\(diff\)\?/\(.......\).*|[\2]|; tprepend;
-
- # post-process at the end of input
- $ { x;
- # include the version number in the patchlevel.h description (if available)
- s/List packaged patches/&'" for ${PF}(#${PATCH_VER})"'/;
-
- # escape any backslashes and double quotes
- s|\\|\\\\|g; s|"|\\"|g;
-
- # add a prefix
- s|^|\t,"'"$prefix$patchname"' - |;
- # newlines away
- s/\n/ /g; s/ */ /g;
- # add a suffix
- s/ *$/"/; p
- };
- # stop all processing
- d;
- # label: append to the hold space
- :append H; d;
- # label: prepend to the hold space
- :prepend x; H; d;
- '
-done < "${WORKDIR}"/patches/series > "${S}/${patchoutput}"
-echo "${patchoutput}" >> "${S}/MANIFEST"
-}
-
src_prepare_perlcross() {
cp -a ../perl-cross-${CROSS_VER}/* . || die
@@ -295,34 +265,150 @@ src_prepare_dynamic() {
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 *-darin-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 patch
- EPATCH_OPTS+=" -p1"
+ local patchdir="${WORKDIR}/patches"
+ # Prepare Patch dir with additional patches / remove unwanted patches
+ # Inject bug/desc entries for perl -V
if use hppa ; then
- epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
+ # bug 634162
+ 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"
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
- sed -i '/gentoo\/no-nsl-cl\.patch/d' "${WORKDIR}/patches/series" || die
+ rm_patch "*-nsl-and-cl*"
fi
- einfo "Applying patches from ${PATCH_BASE} ..."
- while read patch ; do
- EPATCH_SINGLE_MSG=" ${patch} ..."
- epatch "${WORKDIR}"/patches/${patch}
- done < "${WORKDIR}"/patches/series
-
- src_prepare_update_patchlevel_h
+ 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" \
+ sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
ext/NDBM_File/Makefile.PL || die
fi
@@ -349,6 +435,90 @@ myconf() {
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", unless PERL_SUPPORT_SINGLE_SLOT
+# is enabled, where it will also allow numbers 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 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="${DIST_VERSION%-RC}"
+ if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
+ vexclude="${SUBSLOT}"
+ fi
+ 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="${PERL_BIN_OLDVERSEN}"
+ if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
+ oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
+ fi
+ for v; do
+ has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
+ echo -n "${v}/ ";
+ done
+}
+versions_to_gentoolibdirs() {
+ local oldv="${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}"
+ if [[ -e "${fullpath}" ]]; then
+ has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
+ printf "%s:" "${fullpath}"
+ fi
+ done
+ done
+}
+
src_configure() {
declare -a myconf
@@ -416,36 +586,26 @@ src_configure() {
# Autodiscover all old version directories, some of them will even be newer
# if you downgrade
if [[ -z ${PERL_OLDVERSEN} ]]; then
- PERL_OLDVERSEN="$(
- find "${EROOT%/}${PRIV_BASE}" "${EROOT%/}${SITE_BASE}" "${EROOT%/}${VENDOR_BASE}" \
- -maxdepth 1 -mindepth 1 -type d -regex '.*/5[.][0-9]+[.][0-9]+$' \
- -printf "%f " 2>/dev/null )"
+ PERL_OLDVERSEN="$( find_candidate_inc_versions )"
fi
+
# Fixup versions, removing self match, fixing order and dupes
- PERL_OLDVERSEN="$(
- echo "${PERL_OLDVERSEN}" |\
- tr " " "\n" |\
- grep -vF "${DIST_VERSION%-RC}" |\
- sort -u -nr -t'.' -k1,1 -k2,2 -k3,3
- )"
+ 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="$(
- for v in ${PERL_OLDVERSEN}; do
- has "${v}" ${PERL_BIN_OLDVERSEN} && echo -n "${v}/${myarch}${mythreading} ";
- echo -n "${v} ";
- done )"
+ 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 " ${EROO%/T}${PRIV_BASE}/${incpath}"
- [[ -e "${EROOT%/}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT%/}${SITE_BASE}/${incpath}"
+ [[ -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 -Dinc_version_list="${inclist}"
+ myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
fi
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
@@ -460,14 +620,6 @@ src_configure() {
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
append-cflags -Dinline=__inline__
- # fix unaligned access misdetection
- # https://rt.perl.org/Public/Bug/Display.html?id=133495
- # https://rt.perl.org/Public/Bug/Display.html?id=133803
- # bug #676062, bug #688432
- use hppa || use sparc || [[ ${CHOST} == sparc*-solaris* ]] || \
- [[ ${CHOST} == armv5tel* ]] \
- && myconf "-Dd_u32align='define'"
-
# 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.
@@ -502,11 +654,16 @@ src_configure() {
# 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)" \
-Doptimize="${CFLAGS}" \
-Dldflags="${LDFLAGS}" \
-Dprefix="${EPREFIX}"'/usr' \
diff --git a/dev-lang/perl/perl-5.30.2-r2.ebuild b/dev-lang/perl/perl-5.32.0.ebuild
index 10506f7bf47c..d5ab04c97359 100644
--- a/dev-lang/perl/perl-5.30.2-r2.ebuild
+++ b/dev-lang/perl/perl-5.32.0.ebuild
@@ -6,16 +6,16 @@ EAPI=6
inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
PATCH_VER=1
-CROSS_VER=1.3.2
+CROSS_VER=1.3.4
PATCH_BASE="perl-5.30.0-patches-${PATCH_VER}"
PATCH_DEV=dilfridge
-DIST_AUTHOR=SHAY
+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
-PERL_BIN_OLDVERSEN="5.30.0 5.30.1"
+PERL_BIN_OLDVERSEN=""
if [[ "${PV##*.}" == "9999" ]]; then
DIST_VERSION=5.30.0
@@ -61,6 +61,7 @@ RDEPEND="
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
app-arch/bzip2
sys-libs/zlib
+ virtual/libcrypt:=
"
DEPEND="${RDEPEND}"
PDEPEND="
@@ -75,20 +76,21 @@ PDEPEND="
S="${WORKDIR}/${MY_P}"
dual_scripts() {
- src_remove_dual perl-core/Archive-Tar 2.320.0 ptar ptardiff ptargrep
- src_remove_dual perl-core/CPAN 2.220.0 cpan
+ src_remove_dual perl-core/Archive-Tar 2.360.0 ptar ptardiff ptargrep
+ src_remove_dual perl-core/CPAN 2.270.0 cpan
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
- src_remove_dual perl-core/Encode 3.10.0 enc2xs piconv
- src_remove_dual perl-core/ExtUtils-MakeMaker 7.340.0 instmodsh
+ src_remove_dual perl-core/Encode 3.60.0 enc2xs piconv
+ src_remove_dual perl-core/ExtUtils-MakeMaker 7.440.0 instmodsh
src_remove_dual perl-core/ExtUtils-ParseXS 3.400.0 xsubpp
- src_remove_dual perl-core/IO-Compress 2.84.0 zipdetails
- src_remove_dual perl-core/JSON-PP 4.20.0 json_pp
- src_remove_dual perl-core/Module-CoreList 5.202.003.140 corelist
- src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect
+ src_remove_dual perl-core/IO-Compress 2.93.0 zipdetails
+ src_remove_dual perl-core/JSON-PP 4.40.0 json_pp
+ src_remove_dual perl-core/Module-CoreList 5.202.6.20 corelist
+ src_remove_dual perl-core/Pod-Checker 1.730.0 podchecker
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
+ src_remove_dual perl-core/Pod-Usage 1.690.0 pod2usage
src_remove_dual perl-core/Test-Harness 3.420.0 prove
- src_remove_dual perl-core/podlators 4.110.0 pod2man pod2text
- src_remove_dual_man perl-core/podlators 4.110.0 /usr/share/man/man1/perlpodstyle.1
+ 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() {
@@ -460,14 +462,6 @@ src_configure() {
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
append-cflags -Dinline=__inline__
- # fix unaligned access misdetection
- # https://rt.perl.org/Public/Bug/Display.html?id=133495
- # https://rt.perl.org/Public/Bug/Display.html?id=133803
- # bug #676062, bug #688432
- use hppa || use sparc || [[ ${CHOST} == sparc*-solaris* ]] || \
- [[ ${CHOST} == armv5tel* ]] \
- && myconf "-Dd_u32align='define'"
-
# 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.
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index 4ca821bd799a..6f67f0783889 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -5,13 +5,25 @@ AUX php-fpm_at.service 317 BLAKE2B f13fc38fcc0575a8517ee8d07b120efda37eabd235506
AUX php-freetype-2.9.1.patch 7667 BLAKE2B efc8f829bbad11b3e7b654d0882213ecb9aae766060d51f93446a6293a2f607339faba484c7b0b2f9318a5c5442da3c09e25aeda20dbc5e3258bf1009f8625b4 SHA512 0a06189f6fb3513cd2dcf9ddb590360475e2dd9a7aa8b13ab66c389c1ed40ce2361681f017cd3c6219f5b40a0a9d4978e57ca3ee4bacb7657db3285136fd2875
AUX php-iodbc-header-location.patch 481 BLAKE2B 9ea6a5d529dc7a8c78eeee800900372bc14309a05e352b2838da32e1384b61b507fdb623c9400094aa5b637eb1a87da92c72600eff79b18b8989ef90af56a0fa SHA512 86469f657d8807f005c28fd2149770c881add8f243fdfea087956c7987277597fe400a7af23f624f26da270356604717ed9cd04771154d7cf2ffe7237972372b
DIST php-7.2.31.tar.xz 12309936 BLAKE2B fc81f41dd4ec8695029bfe1993d76b1fdfe7f16d926f57302b9e85f3acd250967db9b9f0597c47589ae553d5faaaf0266e24b5b64247e017361d991bf96cd4de SHA512 b21c504d0af2c095e4ae5a62c810af96171b927a27ea4694f59555c0d47798d61c3491a92941099cd9c978b3b0f41852ca2cf745e42ee3d9a6d107a5a884c9ee
+DIST php-7.2.32.tar.xz 12251152 BLAKE2B ae4cf19c2c61ea149b423248feef31e34fa697e60782e8a4fdf9bee430703e9bd8251e4140042148aa73dfbf4d39d215be498d1273e1c68bf52a14e4126d2e1d SHA512 47e84f9f493951b33625e149291bcde87189ecb28636809b3ec6264ed17e85f842fa40f3a53754f7bf948a5a6963f8773d35f773760c0c2bf21a9dbd0314736e
+DIST php-7.2.33.tar.xz 12310624 BLAKE2B 3eca6a2aee79b791abb6b0427496e6041b63800ac1aeea86b4465e9326fdcde5d7a69e6323902b6874f27cf6197b705397381319d0b5ff6f93605e791bf0eb86 SHA512 1c28e741fc6de88a33e1307bc88ba8dddf1ba767ce6eb9c1f0da35482c7d3ee1154831b997fa746340c4b7ec8de9196b21a9b1cf319c8e69eca2c92602ceee4a
DIST php-7.3.18.tar.xz 12116280 BLAKE2B 73d82e4a22f29dbeec221ef3109592a40e559238a0093e80e8e10bcd7de64f3bd58dd6f0835ddf3d9c2323fc37d738301b07291ca11a84c70ddced172676bc20 SHA512 e626091c835f6d165ff48ae3be8ddf7a66b0a320c6d77dc98fb73235d560814c180112a9e5478a5b3b6bb01ed99a50f8025fdc3d1ef80cca59e04ac248f9b0bf
DIST php-7.3.19.tar.xz 12117968 BLAKE2B 84172d2aad901cdca97a6f4c3405d3f4f25c72053ca09ef8a5c6ef93d35b23ac3a7771ff9f2c4ddd000512fe288f3fb25b17bb023f3fed16735f0d6ea5bda790 SHA512 f37800d9e1bf808ad1099f6190965cc75781e7bf6d2c341a7143aca435abc9974a2987cbfeb8c2b35805c946218343612906fde3cc84b195c2c586945869b760
+DIST php-7.3.20.tar.xz 12118188 BLAKE2B add1e0dcc264cd12ea9ee000becb83c42b2607c0c9ae828994856a183ae94e9a580226559ccfa28dece225ad9a1c6bd4989ada08f09bbc461b33f0b1b30b12ea SHA512 4d035e7420ceb64d912a1936db5d311c06c61d09c9d4665c27fba9709fe45b30d5771bb485fb24393d9ee689a0f7ddcbc577e9ee7a7b31341b0203f1b805b886
+DIST php-7.3.21.tar.xz 12123192 BLAKE2B ff5fca092f6c4e92c009ade9f4bee01ec07686645a4844297cee0518f12b3ebc16a7322b64579d9ee2d3a3f7cd62ed9184d0afbe77dbcf2d24a11139242c88c5 SHA512 fc2b9a40c92a6e79522a49cd025e56c0a52c2c2bd3f7379aaf004ca6b67957cf4ad059c40a5daac45665710abd07962562870430338f700f573856d797df3ff4
DIST php-7.4.6.tar.xz 10284824 BLAKE2B 83bbbb536e48c6ab6ef357283d2f99a0f1825fdbb1867598514dc87cb8a7181298aa1e6d45659b7a4343fdacdacbbfec9e4cca89f85fe53c9e48696e534da710 SHA512 786634d53ed100cc7638e64ca340efdd42405c258638f3f97fcd1816d4f0c643dc8d8b2b0f60d36904343dc8c2af7f9b8e4a652ea66ec2fe324290c72bc09c13
DIST php-7.4.7.tar.xz 10286580 BLAKE2B fb297cc5847012e1d222479e00132c8838cb990a5face43620ced6fb82cabeb544c0de230e24e25ed5449b3050158e836743e514197180b40ebf240ceca45db6 SHA512 5b3ba690e610e0511675f06a10afe9edbcfa90b5b16956d22aab225cdf140b55e5a8a551e7b189d30404981c94c6921b8c4aed00102546cfa38784a719704b80
+DIST php-7.4.8.tar.xz 10281976 BLAKE2B c85dfacd259e78de69348c3af7c02c866622a414cbb78ef5f53aa739bcf150921c272b26f578f18734dc6f566f19f4d890b6a64aabf04ad9e6b53f11757c3b8a SHA512 cfb23eac731a0eabed83908d7c056a123cd9a73ccc091d92b8601366da4cd95ded8623156eaa0458405f23d8bb9dc244d117bd99876f916ef582e3966dc78b44
+DIST php-7.4.9.tar.xz 10289560 BLAKE2B 0fd9d82539a46f7ce58857560f5aeb4be6dfe5f5a05f8b8c55c30d6000d19408b4ecc460c9135736298cdb8312ec958ab8358110b2b265bb8c185f80b1522dc6 SHA512 6179c2d867d6775d7f41785003c36d06ce620e7746ea7e6a4d275264e814a66d465776b47b04e2926ed1228cf58f2c15cdda74faf10372435c74ede7aeb79e18
EBUILD php-7.2.31.ebuild 22650 BLAKE2B 85d53142d43bcd67e568a7424e731a5a2a55872dfa5f5e3ec10673e527357d26d1986c4a61dbf049e17b5a5db7b09fef77424da713953fb3153338e68a79e200 SHA512 7f0454f2dba27d443c729663a338dd0d5c746b572a3ccccde3b19a54ce2cdecda9f98ce1df5ef5c7afede8726234de3c1e1c1fce65bee95ad97ca5ec621abe97
+EBUILD php-7.2.32.ebuild 22650 BLAKE2B 85d53142d43bcd67e568a7424e731a5a2a55872dfa5f5e3ec10673e527357d26d1986c4a61dbf049e17b5a5db7b09fef77424da713953fb3153338e68a79e200 SHA512 7f0454f2dba27d443c729663a338dd0d5c746b572a3ccccde3b19a54ce2cdecda9f98ce1df5ef5c7afede8726234de3c1e1c1fce65bee95ad97ca5ec621abe97
+EBUILD php-7.2.33.ebuild 22652 BLAKE2B 52df49e328ae1335ce5afe8b9e4eb093934aa061f55beb08ce920551e16181a69297519264fea1803750e2873b811468aa0a01d60c38d28efb12eb81ccb2d101 SHA512 e9223322f1bf48d14a30ad1596023b5fc3f105e78b1005d019d9a04942404729e5a77786b8e5db03a97708f24c560a273a5ac1c5bbca86a4a614c8ce156d86e2
EBUILD php-7.3.18.ebuild 22663 BLAKE2B 43f00a48372e83b81e10ddafd965d7aa3a2945c6858d75dc1fbcc4d07a51d22151b02d2e2e50cb91b1e398c77e93adf2eecaecf495453e8c15ae81a70ca323c2 SHA512 ebb57617c9e08b08b717a7458f79c246700aea64b9f407e5c52eede291c7d12a80eb4bedf50a2d7880f2cf73e36391f7db01a40c0622631d15bcdd2e0e8ab64f
EBUILD php-7.3.19.ebuild 22671 BLAKE2B 9fbccafac097a447241ed68db51ecf147059b1b55c31c829c7c40e01657916d376801096d8e273a4157435f0b489f776240114160d50c9399d4795ed9f7018d7 SHA512 a9f5c18c1b4667fa1730801877872434a5c146c34941da1a3b6348c7ec1bfbf152041e128faf8d962f77db17e2f94f704bfc67db71838d3f6ac3dfb0a846d4d5
+EBUILD php-7.3.20.ebuild 22663 BLAKE2B 43f00a48372e83b81e10ddafd965d7aa3a2945c6858d75dc1fbcc4d07a51d22151b02d2e2e50cb91b1e398c77e93adf2eecaecf495453e8c15ae81a70ca323c2 SHA512 ebb57617c9e08b08b717a7458f79c246700aea64b9f407e5c52eede291c7d12a80eb4bedf50a2d7880f2cf73e36391f7db01a40c0622631d15bcdd2e0e8ab64f
+EBUILD php-7.3.21.ebuild 22665 BLAKE2B e04d562321f6e0726b16fa6291b840f245a5b47c1d9b0b4e4b2502cbf84a36855542f9fa46f781bf4b3584ea29c2604fcef65706ab485af4f6e4836c50745c5b SHA512 8e9f0ad7ebb035c25e23598871e36f16e026889c8eba221d1b56f37bf7af61120f38e2faae5eb7663d75112f9e31076f995c9d7cc69b0737d7816ae0458e3692
EBUILD php-7.4.6.ebuild 21374 BLAKE2B aeb27c63cff434dd9a735631bbeb29a2540546d2416aecdd636e2b6769070615ac148139a3891b708cf6528ac557080c7096dda95d75bfe3812495213126eef3 SHA512 2b67de7efc5dafefc1f95e9b7c22c60bca6b6c2c922857695a5c027929669b9a62068e19784a2059e28e91ff16ad0b47ee691785124bf99ead6dff12239fa4fd
EBUILD php-7.4.7.ebuild 21382 BLAKE2B 936caa37281c2b79d2d7550de422c32a0dbf41e2f1530aa5709dfd6a0d92f7c5c6b82ead5b14f27a314df5311dce7c726a6571ecdd9aa497812c0e9e71f397fe SHA512 380075433cbb7d639765fa6907c3006612901b051d48311cabd85d653b8e8105044f703a129b8d90bcfd48a29a8365de3053bad81d9561dafc5c5974d7420082
+EBUILD php-7.4.8-r1.ebuild 21374 BLAKE2B aeb27c63cff434dd9a735631bbeb29a2540546d2416aecdd636e2b6769070615ac148139a3891b708cf6528ac557080c7096dda95d75bfe3812495213126eef3 SHA512 2b67de7efc5dafefc1f95e9b7c22c60bca6b6c2c922857695a5c027929669b9a62068e19784a2059e28e91ff16ad0b47ee691785124bf99ead6dff12239fa4fd
+EBUILD php-7.4.9.ebuild 21376 BLAKE2B 2ec6ba462f791444eb57f360642220dcad6a022f7260f3ff2f542cb4ca8b6ebdc4f904172bf9e73588fa068c3b5edf163d1be383d90bf2d00f32a9533d2e90e0 SHA512 bf1d0957579595e9d1e61753f352a82dd22349bcd0586013503f5284859d190d3a2cad00b8dda79b8f4439dcdbd6c99e8dffb25559c75aeae9c3d9df992c53a2
MISC metadata.xml 3216 BLAKE2B 6118c94f2ac3a2f283eb035cbbacb12343476b4ce22594a00cb7ebf063abb106a0ed5557d311127b8c1e2a53263103ded790cd12d20c6b410ab6f7d218d95ed8 SHA512 ffb0b46b30b1add0fc166e3afe1317e70041a0fe849d4c05ceee011c1b5e130fbde3b86eaf876a4c8a2d23fbd7824f95299642b4f60e129436befb00f4b124cc
diff --git a/dev-lang/php/php-7.2.32.ebuild b/dev-lang/php/php-7.2.32.ebuild
new file mode 100644
index 000000000000..20ab7418c2ad
--- /dev/null
+++ b/dev-lang/php/php-7.2.32.ebuild
@@ -0,0 +1,759 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic systemd autotools
+
+DESCRIPTION="The PHP language runtime engine"
+HOMEPAGE="https://www.php.net/"
+SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
+
+LICENSE="PHP-3.01
+ BSD
+ Zend-2.0
+ bcmath? ( LGPL-2.1+ )
+ fpm? ( BSD-2 )
+ gd? ( gd )
+ unicode? ( BSD-2 LGPL-2.1 )"
+
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+
+# We can build the following SAPIs in the given order
+SAPIS="embed cli cgi fpm apache2 phpdbg"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+ ${SAPIS/cli/+cli}
+ threads"
+
+IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
+ coverage +ctype curl debug
+ enchant exif +fileinfo +filter firebird
+ +flatfile ftp gd gdbm gmp +hash +iconv imap inifile
+ intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
+ mhash mssql mysql mysqli nls
+ oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+ readline recode selinux +session session-mm sharedmem
+ +simplexml snmp soap sockets sodium spell sqlite ssl
+ sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
+ +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
+
+# 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/libpcre-8.32[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:5.1
+ sys-libs/db:4.8
+ sys-libs/db:4.7
+ sys-libs/db:4.6
+ sys-libs/db:4.5 ) )
+ 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 )
+ firebird? ( dev-db/firebird )
+ gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= sys-libs/zlib )
+ 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:= )
+ iodbc? ( dev-db/libiodbc )
+ kerberos? ( virtual/krb5 )
+ ldap? ( >=net-nds/openldap-1.2.11 )
+ ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
+ libedit? ( dev-libs/libedit )
+ lmdb? ( dev-db/lmdb:= )
+ mssql? ( dev-db/freetds[mssql] )
+ nls? ( sys-devel/gettext )
+ oci8-instant-client? ( dev-db/oracle-instantclient-basic )
+ odbc? ( >=dev-db/unixODBC-1.8.13 )
+ postgres? ( dev-db/postgresql:* )
+ qdbm? ( dev-db/qdbm )
+ readline? ( sys-libs/readline:0= )
+ recode? ( app-text/recode )
+ session-mm? ( dev-libs/mm )
+ simplexml? ( >=dev-libs/libxml2-2.6.8 )
+ snmp? ( >=net-analyzer/net-snmp-5.2 )
+ soap? ( >=dev-libs/libxml2-2.6.8 )
+ sodium? ( dev-libs/libsodium:= )
+ spell? ( >=app-text/aspell-0.50 )
+ sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
+ tokyocabinet? ( dev-db/tokyocabinet )
+ truetype? ( =media-libs/freetype-2* )
+ unicode? ( dev-libs/oniguruma:= )
+ wddx? ( >=dev-libs/libxml2-2.6.8 )
+ webp? ( media-libs/libwebp:0= )
+ xml? ( >=dev-libs/libxml2-2.6.8 )
+ xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
+ xmlreader? ( >=dev-libs/libxml2-2.6.8 )
+ xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
+ xpm? ( x11-libs/libXpm )
+ xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
+ zip? ( sys-libs/zlib:0= )
+ zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
+ zlib? ( sys-libs/zlib: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"
+
+# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+REQUIRED_USE="
+ || ( cli cgi fpm apache2 embed phpdbg )
+ cli? ( ^^ ( readline libedit ) )
+ truetype? ( gd zlib )
+ webp? ( gd zlib )
+ cjk? ( gd zlib )
+ exif? ( gd zlib )
+ xpm? ( gd zlib )
+ gd? ( zlib )
+ simplexml? ( xml )
+ soap? ( xml )
+ wddx? ( xml )
+ xmlrpc? ( || ( xml iconv ) )
+ xmlreader? ( xml )
+ xslt? ( xml )
+ ldap-sasl? ( ldap )
+ mhash? ( hash )
+ phar? ( hash )
+ qdbm? ( !gdbm )
+ readline? ( !libedit )
+ recode? ( !imap !mysqli !mysql )
+ session-mm? ( session !threads )
+ mysql? ( hash || ( mysqli pdo ) )
+ mysqli? ( hash )
+ zip-encryption? ( zip )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/php-freetype-2.9.1.patch"
+ "${FILESDIR}/php-7.2.13-intl-use-icu-namespace.patch"
+)
+
+PHP_MV="$(ver_cut 1)"
+
+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'
+
+ # Bug 669566 - necessary so that build tools are updated for commands like pecl
+ # Force rebuilding aclocal.m4
+ rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
+ eautoreconf
+}
+
+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 bcmath)
+ $(use_with bzip2 bz2 "${EPREFIX}/usr")
+ $(use_enable calendar calendar)
+ $(use_enable coverage gcov)
+ $(use_enable ctype ctype)
+ $(use_with curl curl "${EPREFIX}/usr")
+ $(use_enable xml dom)
+ $(use_with enchant enchant "${EPREFIX}/usr")
+ $(use_enable exif exif)
+ $(use_enable fileinfo fileinfo)
+ $(use_enable filter filter)
+ $(use_enable ftp ftp)
+ $(use_with nls gettext "${EPREFIX}/usr")
+ $(use_with gmp gmp "${EPREFIX}/usr")
+ $(use_enable hash hash)
+ $(use_with mhash mhash "${EPREFIX}/usr")
+ $(use_with iconv iconv \
+ $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
+ $(use_enable intl intl)
+ $(use_enable ipv6 ipv6)
+ $(use_enable json json)
+ $(use_with kerberos kerberos "${EPREFIX}/usr")
+ $(use_enable xml libxml)
+ $(use_with xml libxml-dir "${EPREFIX}/usr")
+ $(use_enable unicode mbstring)
+ $(use_with unicode onig "${EPREFIX}/usr")
+ $(use_with ssl openssl "${EPREFIX}/usr")
+ $(use_with ssl openssl-dir "${EPREFIX}/usr")
+ $(use_enable pcntl pcntl)
+ $(use_enable phar phar)
+ $(use_enable pdo pdo)
+ $(use_enable opcache opcache)
+ $(use_with postgres pgsql "${EPREFIX}/usr")
+ $(use_enable posix posix)
+ $(use_with spell pspell "${EPREFIX}/usr")
+ $(use_with recode recode "${EPREFIX}/usr")
+ $(use_enable simplexml simplexml)
+ $(use_enable sharedmem shmop)
+ $(use_with snmp snmp "${EPREFIX}/usr")
+ $(use_enable soap soap)
+ $(use_enable sockets sockets)
+ $(use_with sodium sodium "${EPREFIX}/usr")
+ $(use_with sqlite sqlite3 "${EPREFIX}/usr")
+ $(use_enable sysvipc sysvmsg)
+ $(use_enable sysvipc sysvsem)
+ $(use_enable sysvipc sysvshm)
+ $(use_with tidy tidy "${EPREFIX}/usr")
+ $(use_enable tokenizer tokenizer)
+ $(use_enable wddx wddx)
+ $(use_enable xml xml)
+ $(use_enable xmlreader xmlreader)
+ $(use_enable xmlwriter xmlwriter)
+ $(use_with xmlrpc xmlrpc)
+ $(use_with xslt xsl "${EPREFIX}/usr")
+ $(use_enable zip zip)
+ $(use_with zip-encryption libzip "${EPREFIX}/usr")
+ $(use_with zlib zlib "${EPREFIX}/usr")
+ $(use_enable debug 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${shared}" )
+ fi
+
+ # DBA drivers support
+ our_conf+=(
+ $(use_with cdb cdb)
+ $(use_with berkdb db4 "${EPREFIX}/usr")
+ $(use_enable flatfile flatfile)
+ $(use_with gdbm gdbm "${EPREFIX}/usr")
+ $(use_enable inifile inifile)
+ $(use_with qdbm qdbm "${EPREFIX}/usr")
+ $(use_with lmdb lmdb "${EPREFIX}/usr")
+ )
+
+ # Support for the GD graphics library
+ our_conf+=(
+ $(use_with truetype freetype-dir "${EPREFIX}/usr")
+ $(use_enable cjk gd-jis-conv)
+ $(use_with gd jpeg-dir "${EPREFIX}/usr")
+ $(use_with gd png-dir "${EPREFIX}/usr")
+ $(use_with xpm xpm-dir "${EPREFIX}/usr")
+ )
+ if use webp; then
+ our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
+ fi
+ # enable gd last, so configure can pick up the previous settings
+ our_conf+=( $(use_with gd gd) )
+
+ # IMAP support
+ if use imap ; then
+ our_conf+=(
+ $(use_with imap imap "${EPREFIX}/usr")
+ $(use_with ssl imap-ssl "${EPREFIX}/usr")
+ )
+ fi
+
+ # Interbase/firebird support
+ our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
+
+ # LDAP support
+ if use ldap ; then
+ our_conf+=(
+ $(use_with ldap ldap "${EPREFIX}/usr")
+ $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
+ )
+ 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
+ our_conf+=(
+ $(use_with odbc unixODBC "${EPREFIX}/usr")
+ $(use_with iodbc iodbc "${EPREFIX}/usr")
+ )
+
+ # 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 "${EPREFIX}/usr")
+ $(use_with firebird pdo-firebird "${EPREFIX}/usr")
+ $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
+ $(use_with oci8-instant-client pdo-oci)
+ )
+ fi
+
+ # readline/libedit support
+ our_conf+=(
+ $(use_with readline readline "${EPREFIX}/usr")
+ $(use_with libedit libedit "${EPREFIX}/usr")
+ )
+
+ # Session support
+ if use session ; then
+ our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
+ else
+ our_conf+=( $(use_enable session 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-pcre-regex affects ext/pcre
+ # --with-pcre-dir affects ext/filter and ext/zip
+ # --with-pcre-valgrind cannot be enabled with system pcre
+ # Many arches don't support pcre-jit
+ our_conf+=(
+ --with-pcre-regex="${EPREFIX}/usr"
+ --with-pcre-dir="${EPREFIX}/usr"
+ --without-pcre-valgrind
+ --without-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.2.33.ebuild b/dev-lang/php/php-7.2.33.ebuild
new file mode 100644
index 000000000000..4597b1b8968b
--- /dev/null
+++ b/dev-lang/php/php-7.2.33.ebuild
@@ -0,0 +1,759 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic systemd autotools
+
+DESCRIPTION="The PHP language runtime engine"
+HOMEPAGE="https://www.php.net/"
+SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
+
+LICENSE="PHP-3.01
+ BSD
+ Zend-2.0
+ bcmath? ( LGPL-2.1+ )
+ fpm? ( BSD-2 )
+ gd? ( gd )
+ unicode? ( BSD-2 LGPL-2.1 )"
+
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+
+# We can build the following SAPIs in the given order
+SAPIS="embed cli cgi fpm apache2 phpdbg"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+ ${SAPIS/cli/+cli}
+ threads"
+
+IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
+ coverage +ctype curl debug
+ enchant exif +fileinfo +filter firebird
+ +flatfile ftp gd gdbm gmp +hash +iconv imap inifile
+ intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
+ mhash mssql mysql mysqli nls
+ oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+ readline recode selinux +session session-mm sharedmem
+ +simplexml snmp soap sockets sodium spell sqlite ssl
+ sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
+ +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
+
+# 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/libpcre-8.32[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:5.1
+ sys-libs/db:4.8
+ sys-libs/db:4.7
+ sys-libs/db:4.6
+ sys-libs/db:4.5 ) )
+ 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 )
+ firebird? ( dev-db/firebird )
+ gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= sys-libs/zlib )
+ 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:= )
+ iodbc? ( dev-db/libiodbc )
+ kerberos? ( virtual/krb5 )
+ ldap? ( >=net-nds/openldap-1.2.11 )
+ ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
+ libedit? ( dev-libs/libedit )
+ lmdb? ( dev-db/lmdb:= )
+ mssql? ( dev-db/freetds[mssql] )
+ nls? ( sys-devel/gettext )
+ oci8-instant-client? ( dev-db/oracle-instantclient-basic )
+ odbc? ( >=dev-db/unixODBC-1.8.13 )
+ postgres? ( dev-db/postgresql:* )
+ qdbm? ( dev-db/qdbm )
+ readline? ( sys-libs/readline:0= )
+ recode? ( app-text/recode )
+ session-mm? ( dev-libs/mm )
+ simplexml? ( >=dev-libs/libxml2-2.6.8 )
+ snmp? ( >=net-analyzer/net-snmp-5.2 )
+ soap? ( >=dev-libs/libxml2-2.6.8 )
+ sodium? ( dev-libs/libsodium:= )
+ spell? ( >=app-text/aspell-0.50 )
+ sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
+ tokyocabinet? ( dev-db/tokyocabinet )
+ truetype? ( =media-libs/freetype-2* )
+ unicode? ( dev-libs/oniguruma:= )
+ wddx? ( >=dev-libs/libxml2-2.6.8 )
+ webp? ( media-libs/libwebp:0= )
+ xml? ( >=dev-libs/libxml2-2.6.8 )
+ xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
+ xmlreader? ( >=dev-libs/libxml2-2.6.8 )
+ xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
+ xpm? ( x11-libs/libXpm )
+ xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
+ zip? ( sys-libs/zlib:0= )
+ zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
+ zlib? ( sys-libs/zlib: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"
+
+# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+REQUIRED_USE="
+ || ( cli cgi fpm apache2 embed phpdbg )
+ cli? ( ^^ ( readline libedit ) )
+ truetype? ( gd zlib )
+ webp? ( gd zlib )
+ cjk? ( gd zlib )
+ exif? ( gd zlib )
+ xpm? ( gd zlib )
+ gd? ( zlib )
+ simplexml? ( xml )
+ soap? ( xml )
+ wddx? ( xml )
+ xmlrpc? ( || ( xml iconv ) )
+ xmlreader? ( xml )
+ xslt? ( xml )
+ ldap-sasl? ( ldap )
+ mhash? ( hash )
+ phar? ( hash )
+ qdbm? ( !gdbm )
+ readline? ( !libedit )
+ recode? ( !imap !mysqli !mysql )
+ session-mm? ( session !threads )
+ mysql? ( hash || ( mysqli pdo ) )
+ mysqli? ( hash )
+ zip-encryption? ( zip )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/php-freetype-2.9.1.patch"
+ "${FILESDIR}/php-7.2.13-intl-use-icu-namespace.patch"
+)
+
+PHP_MV="$(ver_cut 1)"
+
+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'
+
+ # Bug 669566 - necessary so that build tools are updated for commands like pecl
+ # Force rebuilding aclocal.m4
+ rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
+ eautoreconf
+}
+
+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 bcmath)
+ $(use_with bzip2 bz2 "${EPREFIX}/usr")
+ $(use_enable calendar calendar)
+ $(use_enable coverage gcov)
+ $(use_enable ctype ctype)
+ $(use_with curl curl "${EPREFIX}/usr")
+ $(use_enable xml dom)
+ $(use_with enchant enchant "${EPREFIX}/usr")
+ $(use_enable exif exif)
+ $(use_enable fileinfo fileinfo)
+ $(use_enable filter filter)
+ $(use_enable ftp ftp)
+ $(use_with nls gettext "${EPREFIX}/usr")
+ $(use_with gmp gmp "${EPREFIX}/usr")
+ $(use_enable hash hash)
+ $(use_with mhash mhash "${EPREFIX}/usr")
+ $(use_with iconv iconv \
+ $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
+ $(use_enable intl intl)
+ $(use_enable ipv6 ipv6)
+ $(use_enable json json)
+ $(use_with kerberos kerberos "${EPREFIX}/usr")
+ $(use_enable xml libxml)
+ $(use_with xml libxml-dir "${EPREFIX}/usr")
+ $(use_enable unicode mbstring)
+ $(use_with unicode onig "${EPREFIX}/usr")
+ $(use_with ssl openssl "${EPREFIX}/usr")
+ $(use_with ssl openssl-dir "${EPREFIX}/usr")
+ $(use_enable pcntl pcntl)
+ $(use_enable phar phar)
+ $(use_enable pdo pdo)
+ $(use_enable opcache opcache)
+ $(use_with postgres pgsql "${EPREFIX}/usr")
+ $(use_enable posix posix)
+ $(use_with spell pspell "${EPREFIX}/usr")
+ $(use_with recode recode "${EPREFIX}/usr")
+ $(use_enable simplexml simplexml)
+ $(use_enable sharedmem shmop)
+ $(use_with snmp snmp "${EPREFIX}/usr")
+ $(use_enable soap soap)
+ $(use_enable sockets sockets)
+ $(use_with sodium sodium "${EPREFIX}/usr")
+ $(use_with sqlite sqlite3 "${EPREFIX}/usr")
+ $(use_enable sysvipc sysvmsg)
+ $(use_enable sysvipc sysvsem)
+ $(use_enable sysvipc sysvshm)
+ $(use_with tidy tidy "${EPREFIX}/usr")
+ $(use_enable tokenizer tokenizer)
+ $(use_enable wddx wddx)
+ $(use_enable xml xml)
+ $(use_enable xmlreader xmlreader)
+ $(use_enable xmlwriter xmlwriter)
+ $(use_with xmlrpc xmlrpc)
+ $(use_with xslt xsl "${EPREFIX}/usr")
+ $(use_enable zip zip)
+ $(use_with zip-encryption libzip "${EPREFIX}/usr")
+ $(use_with zlib zlib "${EPREFIX}/usr")
+ $(use_enable debug 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${shared}" )
+ fi
+
+ # DBA drivers support
+ our_conf+=(
+ $(use_with cdb cdb)
+ $(use_with berkdb db4 "${EPREFIX}/usr")
+ $(use_enable flatfile flatfile)
+ $(use_with gdbm gdbm "${EPREFIX}/usr")
+ $(use_enable inifile inifile)
+ $(use_with qdbm qdbm "${EPREFIX}/usr")
+ $(use_with lmdb lmdb "${EPREFIX}/usr")
+ )
+
+ # Support for the GD graphics library
+ our_conf+=(
+ $(use_with truetype freetype-dir "${EPREFIX}/usr")
+ $(use_enable cjk gd-jis-conv)
+ $(use_with gd jpeg-dir "${EPREFIX}/usr")
+ $(use_with gd png-dir "${EPREFIX}/usr")
+ $(use_with xpm xpm-dir "${EPREFIX}/usr")
+ )
+ if use webp; then
+ our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
+ fi
+ # enable gd last, so configure can pick up the previous settings
+ our_conf+=( $(use_with gd gd) )
+
+ # IMAP support
+ if use imap ; then
+ our_conf+=(
+ $(use_with imap imap "${EPREFIX}/usr")
+ $(use_with ssl imap-ssl "${EPREFIX}/usr")
+ )
+ fi
+
+ # Interbase/firebird support
+ our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
+
+ # LDAP support
+ if use ldap ; then
+ our_conf+=(
+ $(use_with ldap ldap "${EPREFIX}/usr")
+ $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
+ )
+ 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
+ our_conf+=(
+ $(use_with odbc unixODBC "${EPREFIX}/usr")
+ $(use_with iodbc iodbc "${EPREFIX}/usr")
+ )
+
+ # 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 "${EPREFIX}/usr")
+ $(use_with firebird pdo-firebird "${EPREFIX}/usr")
+ $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
+ $(use_with oci8-instant-client pdo-oci)
+ )
+ fi
+
+ # readline/libedit support
+ our_conf+=(
+ $(use_with readline readline "${EPREFIX}/usr")
+ $(use_with libedit libedit "${EPREFIX}/usr")
+ )
+
+ # Session support
+ if use session ; then
+ our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
+ else
+ our_conf+=( $(use_enable session 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-pcre-regex affects ext/pcre
+ # --with-pcre-dir affects ext/filter and ext/zip
+ # --with-pcre-valgrind cannot be enabled with system pcre
+ # Many arches don't support pcre-jit
+ our_conf+=(
+ --with-pcre-regex="${EPREFIX}/usr"
+ --with-pcre-dir="${EPREFIX}/usr"
+ --without-pcre-valgrind
+ --without-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.3.20.ebuild b/dev-lang/php/php-7.3.20.ebuild
new file mode 100644
index 000000000000..4583dedfe50e
--- /dev/null
+++ b/dev-lang/php/php-7.3.20.ebuild
@@ -0,0 +1,760 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+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 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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 +fileinfo +filter firebird
+ +flatfile ftp gd gdbm gmp +hash +iconv imap inifile
+ intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
+ mhash mssql mysql mysqli nls
+ oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+ readline recode selinux +session session-mm sharedmem
+ +simplexml snmp soap sockets sodium spell sqlite ssl
+ sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
+ +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
+
+# 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[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:5.1
+ sys-libs/db:4.8
+ sys-libs/db:4.7
+ sys-libs/db:4.6
+ sys-libs/db:4.5 ) )
+ 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 )
+ firebird? ( dev-db/firebird )
+ gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 )
+ 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:= )
+ iodbc? ( dev-db/libiodbc )
+ kerberos? ( virtual/krb5 )
+ ldap? ( >=net-nds/openldap-1.2.11 )
+ ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
+ libedit? ( dev-libs/libedit )
+ lmdb? ( dev-db/lmdb:= )
+ mssql? ( dev-db/freetds[mssql] )
+ nls? ( sys-devel/gettext )
+ oci8-instant-client? ( dev-db/oracle-instantclient-basic )
+ odbc? ( >=dev-db/unixODBC-1.8.13 )
+ postgres? ( dev-db/postgresql:* )
+ qdbm? ( dev-db/qdbm )
+ readline? ( sys-libs/readline:0= )
+ recode? ( app-text/recode )
+ session-mm? ( dev-libs/mm )
+ simplexml? ( >=dev-libs/libxml2-2.6.8 )
+ snmp? ( >=net-analyzer/net-snmp-5.2 )
+ soap? ( >=dev-libs/libxml2-2.6.8 )
+ sodium? ( dev-libs/libsodium:= )
+ spell? ( >=app-text/aspell-0.50 )
+ sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-1.0.1:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
+ tokyocabinet? ( dev-db/tokyocabinet )
+ truetype? ( =media-libs/freetype-2* )
+ unicode? ( dev-libs/oniguruma:= )
+ wddx? ( >=dev-libs/libxml2-2.6.8 )
+ webp? ( media-libs/libwebp:0= )
+ xml? ( >=dev-libs/libxml2-2.6.8 )
+ xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
+ xmlreader? ( >=dev-libs/libxml2-2.6.8 )
+ xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
+ xpm? ( x11-libs/libXpm )
+ xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
+ zip? ( >=sys-libs/zlib-1.2.0.4:0= )
+ zip-encryption? ( >=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"
+
+# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+REQUIRED_USE="
+ || ( cli cgi fpm apache2 embed phpdbg )
+ cli? ( ^^ ( readline libedit ) )
+ truetype? ( gd zlib )
+ webp? ( gd zlib )
+ cjk? ( gd zlib )
+ exif? ( gd zlib )
+ xpm? ( gd zlib )
+ gd? ( zlib )
+ simplexml? ( xml )
+ soap? ( xml )
+ wddx? ( xml )
+ xmlrpc? ( || ( xml iconv ) )
+ xmlreader? ( xml )
+ xslt? ( xml )
+ ldap-sasl? ( ldap )
+ mhash? ( hash )
+ phar? ( hash )
+ qdbm? ( !gdbm )
+ readline? ( !libedit )
+ recode? ( !imap !mysqli !mysql )
+ session-mm? ( session !threads )
+ mysql? ( || ( mysqli pdo ) )
+ zip-encryption? ( zip )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/php-freetype-2.9.1.patch"
+)
+
+PHP_MV="$(ver_cut 1)"
+
+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'
+
+ # Bug 669566 - necessary so that build tools are updated for commands like pecl
+ # Force rebuilding aclocal.m4
+ rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
+ eautoreconf
+}
+
+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 bcmath)
+ $(use_with bzip2 bz2 "${EPREFIX}/usr")
+ $(use_enable calendar calendar)
+ $(use_enable coverage gcov)
+ $(use_enable ctype ctype)
+ $(use_with curl curl "${EPREFIX}/usr")
+ $(use_enable xml dom)
+ $(use_with enchant enchant "${EPREFIX}/usr")
+ $(use_enable exif exif)
+ $(use_enable fileinfo fileinfo)
+ $(use_enable filter filter)
+ $(use_enable ftp ftp)
+ $(use_with nls gettext "${EPREFIX}/usr")
+ $(use_with gmp gmp "${EPREFIX}/usr")
+ $(use_enable hash hash)
+ $(use_with mhash mhash "${EPREFIX}/usr")
+ $(use_with iconv iconv \
+ $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
+ $(use_enable intl intl)
+ $(use_enable ipv6 ipv6)
+ $(use_enable json json)
+ $(use_with kerberos kerberos "${EPREFIX}/usr")
+ $(use_enable xml libxml)
+ $(use_with xml libxml-dir "${EPREFIX}/usr")
+ $(use_enable unicode mbstring)
+ $(use_with unicode onig "${EPREFIX}/usr")
+ $(use_with ssl openssl "${EPREFIX}/usr")
+ $(use_with ssl openssl-dir "${EPREFIX}/usr")
+ $(use_enable pcntl pcntl)
+ $(use_enable phar phar)
+ $(use_enable pdo pdo)
+ $(use_enable opcache opcache)
+ $(use_with postgres pgsql "${EPREFIX}/usr")
+ $(use_enable posix posix)
+ $(use_with spell pspell "${EPREFIX}/usr")
+ $(use_with recode recode "${EPREFIX}/usr")
+ $(use_enable simplexml simplexml)
+ $(use_enable sharedmem shmop)
+ $(use_with snmp snmp "${EPREFIX}/usr")
+ $(use_enable soap soap)
+ $(use_enable sockets sockets)
+ $(use_with sodium sodium "${EPREFIX}/usr")
+ $(use_with sqlite sqlite3 "${EPREFIX}/usr")
+ $(use_enable sysvipc sysvmsg)
+ $(use_enable sysvipc sysvsem)
+ $(use_enable sysvipc sysvshm)
+ $(use_with tidy tidy "${EPREFIX}/usr")
+ $(use_enable tokenizer tokenizer)
+ $(use_enable wddx wddx)
+ $(use_enable xml xml)
+ $(use_enable xmlreader xmlreader)
+ $(use_enable xmlwriter xmlwriter)
+ $(use_with xmlrpc xmlrpc)
+ $(use_with xslt xsl "${EPREFIX}/usr")
+ $(use_enable zip zip)
+ $(use_with zip-encryption libzip "${EPREFIX}/usr")
+ $(use_with zlib zlib "${EPREFIX}/usr")
+ $(use_enable debug 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${shared}" )
+ fi
+
+ # DBA drivers support
+ our_conf+=(
+ $(use_with cdb cdb)
+ $(use_with berkdb db4 "${EPREFIX}/usr")
+ $(use_enable flatfile flatfile)
+ $(use_with gdbm gdbm "${EPREFIX}/usr")
+ $(use_enable inifile inifile)
+ $(use_with qdbm qdbm "${EPREFIX}/usr")
+ $(use_with lmdb lmdb "${EPREFIX}/usr")
+ )
+
+ # Support for the GD graphics library
+ our_conf+=(
+ $(use_with truetype freetype-dir "${EPREFIX}/usr")
+ $(use_enable cjk gd-jis-conv)
+ $(use_with gd jpeg-dir "${EPREFIX}/usr")
+ $(use_with gd png-dir "${EPREFIX}/usr")
+ $(use_with xpm xpm-dir "${EPREFIX}/usr")
+ )
+ if use webp; then
+ our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
+ fi
+ # enable gd last, so configure can pick up the previous settings
+ our_conf+=( $(use_with gd gd) )
+
+ # IMAP support
+ if use imap ; then
+ our_conf+=(
+ $(use_with imap imap "${EPREFIX}/usr")
+ $(use_with ssl imap-ssl "${EPREFIX}/usr")
+ )
+ fi
+
+ # Interbase/firebird support
+ our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
+
+ # LDAP support
+ if use ldap ; then
+ our_conf+=(
+ $(use_with ldap ldap "${EPREFIX}/usr")
+ $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
+ )
+ 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
+ our_conf+=(
+ $(use_with odbc unixODBC "${EPREFIX}/usr")
+ $(use_with iodbc iodbc "${EPREFIX}/usr")
+ )
+
+ # 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 "${EPREFIX}/usr")
+ $(use_with firebird pdo-firebird "${EPREFIX}/usr")
+ $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
+ $(use_with oci8-instant-client pdo-oci)
+ )
+ fi
+
+ # readline/libedit support
+ our_conf+=(
+ $(use_with readline readline "${EPREFIX}/usr")
+ $(use_with libedit libedit "${EPREFIX}/usr")
+ )
+
+ # Session support
+ if use session ; then
+ our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
+ else
+ our_conf+=( $(use_enable session 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-pcre-regex affects ext/pcre
+ # --with-pcre-dir affects ext/filter and ext/zip
+ # --with-pcre-valgrind cannot be enabled with system pcre
+ # Many arches don't support pcre-jit
+ our_conf+=(
+ --with-pcre-regex="${EPREFIX}/usr"
+ --with-pcre-dir="${EPREFIX}/usr"
+ --without-pcre-valgrind
+ --without-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.3.21.ebuild b/dev-lang/php/php-7.3.21.ebuild
new file mode 100644
index 000000000000..5aa6fe6e031c
--- /dev/null
+++ b/dev-lang/php/php-7.3.21.ebuild
@@ -0,0 +1,760 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+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 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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 +fileinfo +filter firebird
+ +flatfile ftp gd gdbm gmp +hash +iconv imap inifile
+ intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
+ mhash mssql mysql mysqli nls
+ oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+ readline recode selinux +session session-mm sharedmem
+ +simplexml snmp soap sockets sodium spell sqlite ssl
+ sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
+ +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
+
+# 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[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:5.1
+ sys-libs/db:4.8
+ sys-libs/db:4.7
+ sys-libs/db:4.6
+ sys-libs/db:4.5 ) )
+ 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 )
+ firebird? ( dev-db/firebird )
+ gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 )
+ 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:= )
+ iodbc? ( dev-db/libiodbc )
+ kerberos? ( virtual/krb5 )
+ ldap? ( >=net-nds/openldap-1.2.11 )
+ ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
+ libedit? ( dev-libs/libedit )
+ lmdb? ( dev-db/lmdb:= )
+ mssql? ( dev-db/freetds[mssql] )
+ nls? ( sys-devel/gettext )
+ oci8-instant-client? ( dev-db/oracle-instantclient-basic )
+ odbc? ( >=dev-db/unixODBC-1.8.13 )
+ postgres? ( dev-db/postgresql:* )
+ qdbm? ( dev-db/qdbm )
+ readline? ( sys-libs/readline:0= )
+ recode? ( app-text/recode )
+ session-mm? ( dev-libs/mm )
+ simplexml? ( >=dev-libs/libxml2-2.6.8 )
+ snmp? ( >=net-analyzer/net-snmp-5.2 )
+ soap? ( >=dev-libs/libxml2-2.6.8 )
+ sodium? ( dev-libs/libsodium:= )
+ spell? ( >=app-text/aspell-0.50 )
+ sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-1.0.1:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
+ tokyocabinet? ( dev-db/tokyocabinet )
+ truetype? ( =media-libs/freetype-2* )
+ unicode? ( dev-libs/oniguruma:= )
+ wddx? ( >=dev-libs/libxml2-2.6.8 )
+ webp? ( media-libs/libwebp:0= )
+ xml? ( >=dev-libs/libxml2-2.6.8 )
+ xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
+ xmlreader? ( >=dev-libs/libxml2-2.6.8 )
+ xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
+ xpm? ( x11-libs/libXpm )
+ xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
+ zip? ( >=sys-libs/zlib-1.2.0.4:0= )
+ zip-encryption? ( >=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"
+
+# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+REQUIRED_USE="
+ || ( cli cgi fpm apache2 embed phpdbg )
+ cli? ( ^^ ( readline libedit ) )
+ truetype? ( gd zlib )
+ webp? ( gd zlib )
+ cjk? ( gd zlib )
+ exif? ( gd zlib )
+ xpm? ( gd zlib )
+ gd? ( zlib )
+ simplexml? ( xml )
+ soap? ( xml )
+ wddx? ( xml )
+ xmlrpc? ( || ( xml iconv ) )
+ xmlreader? ( xml )
+ xslt? ( xml )
+ ldap-sasl? ( ldap )
+ mhash? ( hash )
+ phar? ( hash )
+ qdbm? ( !gdbm )
+ readline? ( !libedit )
+ recode? ( !imap !mysqli !mysql )
+ session-mm? ( session !threads )
+ mysql? ( || ( mysqli pdo ) )
+ zip-encryption? ( zip )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/php-freetype-2.9.1.patch"
+)
+
+PHP_MV="$(ver_cut 1)"
+
+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'
+
+ # Bug 669566 - necessary so that build tools are updated for commands like pecl
+ # Force rebuilding aclocal.m4
+ rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
+ eautoreconf
+}
+
+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 bcmath)
+ $(use_with bzip2 bz2 "${EPREFIX}/usr")
+ $(use_enable calendar calendar)
+ $(use_enable coverage gcov)
+ $(use_enable ctype ctype)
+ $(use_with curl curl "${EPREFIX}/usr")
+ $(use_enable xml dom)
+ $(use_with enchant enchant "${EPREFIX}/usr")
+ $(use_enable exif exif)
+ $(use_enable fileinfo fileinfo)
+ $(use_enable filter filter)
+ $(use_enable ftp ftp)
+ $(use_with nls gettext "${EPREFIX}/usr")
+ $(use_with gmp gmp "${EPREFIX}/usr")
+ $(use_enable hash hash)
+ $(use_with mhash mhash "${EPREFIX}/usr")
+ $(use_with iconv iconv \
+ $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
+ $(use_enable intl intl)
+ $(use_enable ipv6 ipv6)
+ $(use_enable json json)
+ $(use_with kerberos kerberos "${EPREFIX}/usr")
+ $(use_enable xml libxml)
+ $(use_with xml libxml-dir "${EPREFIX}/usr")
+ $(use_enable unicode mbstring)
+ $(use_with unicode onig "${EPREFIX}/usr")
+ $(use_with ssl openssl "${EPREFIX}/usr")
+ $(use_with ssl openssl-dir "${EPREFIX}/usr")
+ $(use_enable pcntl pcntl)
+ $(use_enable phar phar)
+ $(use_enable pdo pdo)
+ $(use_enable opcache opcache)
+ $(use_with postgres pgsql "${EPREFIX}/usr")
+ $(use_enable posix posix)
+ $(use_with spell pspell "${EPREFIX}/usr")
+ $(use_with recode recode "${EPREFIX}/usr")
+ $(use_enable simplexml simplexml)
+ $(use_enable sharedmem shmop)
+ $(use_with snmp snmp "${EPREFIX}/usr")
+ $(use_enable soap soap)
+ $(use_enable sockets sockets)
+ $(use_with sodium sodium "${EPREFIX}/usr")
+ $(use_with sqlite sqlite3 "${EPREFIX}/usr")
+ $(use_enable sysvipc sysvmsg)
+ $(use_enable sysvipc sysvsem)
+ $(use_enable sysvipc sysvshm)
+ $(use_with tidy tidy "${EPREFIX}/usr")
+ $(use_enable tokenizer tokenizer)
+ $(use_enable wddx wddx)
+ $(use_enable xml xml)
+ $(use_enable xmlreader xmlreader)
+ $(use_enable xmlwriter xmlwriter)
+ $(use_with xmlrpc xmlrpc)
+ $(use_with xslt xsl "${EPREFIX}/usr")
+ $(use_enable zip zip)
+ $(use_with zip-encryption libzip "${EPREFIX}/usr")
+ $(use_with zlib zlib "${EPREFIX}/usr")
+ $(use_enable debug 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${shared}" )
+ fi
+
+ # DBA drivers support
+ our_conf+=(
+ $(use_with cdb cdb)
+ $(use_with berkdb db4 "${EPREFIX}/usr")
+ $(use_enable flatfile flatfile)
+ $(use_with gdbm gdbm "${EPREFIX}/usr")
+ $(use_enable inifile inifile)
+ $(use_with qdbm qdbm "${EPREFIX}/usr")
+ $(use_with lmdb lmdb "${EPREFIX}/usr")
+ )
+
+ # Support for the GD graphics library
+ our_conf+=(
+ $(use_with truetype freetype-dir "${EPREFIX}/usr")
+ $(use_enable cjk gd-jis-conv)
+ $(use_with gd jpeg-dir "${EPREFIX}/usr")
+ $(use_with gd png-dir "${EPREFIX}/usr")
+ $(use_with xpm xpm-dir "${EPREFIX}/usr")
+ )
+ if use webp; then
+ our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
+ fi
+ # enable gd last, so configure can pick up the previous settings
+ our_conf+=( $(use_with gd gd) )
+
+ # IMAP support
+ if use imap ; then
+ our_conf+=(
+ $(use_with imap imap "${EPREFIX}/usr")
+ $(use_with ssl imap-ssl "${EPREFIX}/usr")
+ )
+ fi
+
+ # Interbase/firebird support
+ our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
+
+ # LDAP support
+ if use ldap ; then
+ our_conf+=(
+ $(use_with ldap ldap "${EPREFIX}/usr")
+ $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
+ )
+ 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
+ our_conf+=(
+ $(use_with odbc unixODBC "${EPREFIX}/usr")
+ $(use_with iodbc iodbc "${EPREFIX}/usr")
+ )
+
+ # 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 "${EPREFIX}/usr")
+ $(use_with firebird pdo-firebird "${EPREFIX}/usr")
+ $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
+ $(use_with oci8-instant-client pdo-oci)
+ )
+ fi
+
+ # readline/libedit support
+ our_conf+=(
+ $(use_with readline readline "${EPREFIX}/usr")
+ $(use_with libedit libedit "${EPREFIX}/usr")
+ )
+
+ # Session support
+ if use session ; then
+ our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
+ else
+ our_conf+=( $(use_enable session 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-pcre-regex affects ext/pcre
+ # --with-pcre-dir affects ext/filter and ext/zip
+ # --with-pcre-valgrind cannot be enabled with system pcre
+ # Many arches don't support pcre-jit
+ our_conf+=(
+ --with-pcre-regex="${EPREFIX}/usr"
+ --with-pcre-dir="${EPREFIX}/usr"
+ --without-pcre-valgrind
+ --without-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.8-r1.ebuild b/dev-lang/php/php-7.4.8-r1.ebuild
new file mode 100644
index 000000000000..b7203bdf290c
--- /dev/null
+++ b/dev-lang/php/php-7.4.8-r1.ebuild
@@ -0,0 +1,750 @@
+# Copyright 1999-2020 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 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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 +json kerberos ldap ldap-sasl libedit libressl 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.
+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 )
+ 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[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:5.1
+ sys-libs/db:4.8
+ sys-libs/db:4.7
+ sys-libs/db:4.6
+ sys-libs/db:4.5 ) )
+ 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-basic )
+ 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:= )
+ spell? ( >=app-text/aspell-0.50 )
+ sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-1.0.1:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ tidy? ( || ( app-text/tidy-html5 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 || use elibc_FreeBSD || 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
+ # Many arches don't support pcre-jit
+ our_conf+=(
+ --with-external-pcre
+ --without-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.9.ebuild b/dev-lang/php/php-7.4.9.ebuild
new file mode 100644
index 000000000000..255da8e1c449
--- /dev/null
+++ b/dev-lang/php/php-7.4.9.ebuild
@@ -0,0 +1,750 @@
+# Copyright 1999-2020 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 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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 +json kerberos ldap ldap-sasl libedit libressl 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.
+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 )
+ 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[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:5.1
+ sys-libs/db:4.8
+ sys-libs/db:4.7
+ sys-libs/db:4.6
+ sys-libs/db:4.5 ) )
+ 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-basic )
+ 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:= )
+ spell? ( >=app-text/aspell-0.50 )
+ sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-1.0.1:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ tidy? ( || ( app-text/tidy-html5 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 || use elibc_FreeBSD || 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
+ # Many arches don't support pcre-jit
+ our_conf+=(
+ --with-external-pcre
+ --without-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/python/Manifest b/dev-lang/python/Manifest
index 9ad613422914..5cf42182eb59 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -1,29 +1,27 @@
AUX pydoc.conf 169 BLAKE2B ce40bb3d5f858bd7a8d9ef5bf215a8ab592568a724f0e08aea219da014dac12fdfcbcf5fb168bb9aa57be110f74d656aed46179ffe11e3c992d84a647e442b7b SHA512 30d0776a4004cd641e6f283658c3c24915a21ea15fe40e506ff2c3a5f95936aa00c9490b04ab25f29e9b7ac65cd88fd54ca0b08e000e73820b13c7c57c0bf5b2
AUX pydoc.init 600 BLAKE2B fb8775a6663483e5112ec283627610b746020d88494e772b92bb718a9493a52606e565c6c2fa4917a5cb963f166283d09883bd26903f2f3ced6c240d4e292a7f SHA512 9e71ad53486b6882a8441b24225c602195ee33d29dd1b60df27febbc6b752e79929be356152a489f893dcfb11f9c066b999787bc27a8ac61062c86e67a69e87a
DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381998256a1a002d316b38288349884d5960de35c49352d03129ed0bae599e641ec2225898158ebce50a7a2fd74d2c SHA512 a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c
-DIST Python-3.6.10.tar.xz 17212220 BLAKE2B 822e231cf2755e6477e49e9128a983185a4f1e30e9d6c221f1b5720891c0de345e8c5402af458d3627eba124e75fea4b5daa94e01b0eaddc116dc3281263ecbe SHA512 26147099e1f1a0ffc85febad26e18e991f019599a150887ea0b925e34663fad8e03b3c2a941e2770c1a63960695e173ef32709572c9361e7f2cb862ccf75b28a
DIST Python-3.6.11.tar.xz 17213036 BLAKE2B 4dae9d9c5eb7e97a8990b0b5739d40ba8a85081c7e03adc22a3305e713d39b3a98ff66c17b395b9d45355e124307eed87803211378d14360e8b3455f7146a1ba SHA512 c76969a6602e095641ba5fd0999a47cf0187eb26559ba9a6e80fe401b8928f6cd9eabd963f615f7c667e48f56603f2508d2b5692c83ea8da1e21292131fb11d6
-DIST Python-3.7.7.tar.xz 17268888 BLAKE2B 5f16c9559249470a9e6c0aa686965e7d78ce0f7364b5d03fc9590613c7a5456f92835340e49bf9becbec18b18d1e5a6fc318b6e30f2349da3246a918cf8b05ff SHA512 ddc838a7b0c442c2e465616f20231f2b703ed6b69ed2dc17858aac8760814fdf7cff43d350d359300e47b6bb1f0bd38c31126b855e423a3a65ed06a8fa16d136
+DIST Python-3.6.12.tar.xz 17202980 BLAKE2B c8d22e4d57bcaffe77cd902cda3a473e73adf2b74ab104c23b4d846f19632a24cc0c478af84079b16d784bd1c0956824c06c1f6134fd24f54e58aaab0fe96bb6 SHA512 1462801f3f6626a853097d34ccdca9838c4c5bd81ecc3abc751003f5f2f8d36eecdaa4130ef4218de351c5586093c11669639a34492668fbc5a2a4a241f4a070
DIST Python-3.7.8.tar.xz 17399552 BLAKE2B 4bf6c47b1132b6d31a79232002c4d38e2cd123ac05d52b21d6bfba5a4e19ec9130b8df8698d5ce6627e4297c4cf756643f036e694e36364c235306c72ef34bf8 SHA512 d2ba299e3cf8ed0f8fed9317f42bcd8d9af7e0e6175939b4be1be289c1658418bed17899e2608d762ffb15575021956cf6bf2054d7863c04b3bd7642f5b8c7ea
-DIST Python-3.8.2.tar.xz 17869888 BLAKE2B f42b35bea5e65f1f0a3fa6f1fd3d749fba3fa46d958608a314c1a98d0e3ca890e856da4d40ee489fe546fc02ce0fc9fa2daaaba96a8928d92ae7eb3d2dda3fe4 SHA512 ca37ad0e7c5845f5f228566aa8ff654a8f428c7d4a5aaabff29baebb0ca3219b31ba8bb2607f89e37cf3fc564f023b8407e53a4f2c47bd99122c1cc222613e37
-DIST Python-3.8.3.tar.xz 17912964 BLAKE2B 9c415823f70bad97936e0472fc53a1b7650cbf0082da714266095dec74e0cd4a48c9477ad03fbb75fdc2cd8e41ef3aa5839e38fc69751720f5cb5c7fc77cce17 SHA512 3103bd8d944f3905eee3a2b52fd1f5c7dee380f9c5a99ad35a401fcba5a9117c3860ecec5cb47a92712c6549442fd2fa553a15c5657241dd09f5d00b9ed4f0f4
-DIST Python-3.9.0b3.tar.xz 18518204 BLAKE2B fa1707f0d55a83e739e9ad51979f8aff9720588a8a77b7ce8beb9ecf599955677758dec1551a0549b010f86c1f8fbc5915cef34d63097534d1c512c92fad5bd1 SHA512 c06a6b874fbce93ec37402034158a7bab44cab775d6da467eaddc1eb402663415f9d788e657a204f17dffe5fa6f379379f9215b5198ec5071565486b6f0e4a2a
-DIST Python-3.9.0b4.tar.xz 18602256 BLAKE2B 9f260f2b3c6380745c343d2883db430dda1b76b120050df16e53c1021e5a746c7e4a6aa8e83c746c3705c6872e83369a649c48ffdaef972a7049c44f7bc3030b SHA512 1c9bac850159352effb163b41590b3e9c05100b449798b5615f7a51a59a3877fe9558d593bb47c24915226637e3394e7864a1b1555cd6c5b5e5e308972208ecf
-DIST python-gentoo-patches-2.7.18.tar.xz 15012 BLAKE2B f691e231c793bb8f11fb64c89b90e022af8e0fe0e28839822c2ae6214fdab6c6fd9c07466c4b5797d3964b7db09fd979597774fb7872dc674e8df59321b6bf95 SHA512 a2952b27bfc0a52f322b2f3e177cbe09fa288c9ca5967c13fb9c2d45d3e81033407e30e86bdaaaa258f0b3cfa2cef6eda5502bddb6390f9512a493d145d34e03
-DIST python-gentoo-patches-3.6.10-r1.tar.xz 15556 BLAKE2B 3d4755a083172fc878d3454797a4a7fa809c7767b7f2ba0919b95076b8ecba62ac604a7db349d8dd71f83aa44d4580d0c433ae6cd2027078e7779cec79185ba2 SHA512 b361ff3fe9545bb59a7e85f179a094d58219be35d20cef83db02672d0a9a58fccfda62fbe8c2bf64250c4043b8517cbc2091380611c5f1e63bfac9ca7c4e47b0
-DIST python-gentoo-patches-3.6.11.tar.xz 11180 BLAKE2B ac4be3da8510d64efcd902ea1408e9c2530e6f1cb5f4ab74ef3280bc3d4d554a04cfcebf417297586e2992af91ff5da511b3e371ac88237218d6e837714e2fec SHA512 b29aec6ac02b71dec4884a8b2b24f929fa3c8709d985c8b134d3ab835be78fd4e9da4f9006d491382442a19895e748b806b7f27d30c6970cf42982bd16fa1946
-DIST python-gentoo-patches-3.7.7.tar.xz 14644 BLAKE2B 1a377eac945310082ec9fa257bcb406c7eaf24b5e80469dd49e82a1bc0554b75394678609cae447cb0fc7a19059b29166bf110b6ed99a89a9919b3a56a323f87 SHA512 2c7fbcefd6f4d1674b78f3b67f2be3f1b168e08c318fefe8d4757f2d30c22477f5010ad6f2c0abb265d819ee667617f21f93e002242e216b4ee570200b0ddf74
-DIST python-gentoo-patches-3.7.8.tar.xz 10304 BLAKE2B dc1bff35bdf3f7e97d15fbd0af4c3278ea54b43cb204641f666293dec507431987445fe6ecb991814842b8c58c65a6185b4c24e3ae08d682ef98916263af7cd4 SHA512 5871121e514dd6af4d9298550a5e01ee114950fd6db58bb8bdb879ede602a228f64d7bf8f6e04317ababc42a502b1192f4a010122745d5a8bc7a40866106479a
-DIST python-gentoo-patches-3.8.2-r1.tar.xz 16112 BLAKE2B 9ae197a56bbd96afa11c4312c68ac030138773df22dedc3a3e6fb9e81b366d6522fb2c147946eb604a87d749cbea7e5e5eed8ae0e737294c0949a8c2791dd327 SHA512 00f31c3b7227dd443f05234fbb7744338ce687e1ea4d236a6b1d386d76082acb34259f59442018c9ace54e0004dea9ac822ae2a4470159b83d00112e258baff0
-DIST python-gentoo-patches-3.8.3.tar.xz 10704 BLAKE2B 6fdd13139b1132313153af2de774abeca7c1fe9acb34a87e5d96875a4cbe8c22c201acbb11c15eeaf828493c32f6acd89e3b5d4012fa2c9d216da556aadb9f01 SHA512 6f67d77e8240983c0dd749620e5df81df5816b831032e190c82c8d73ea8a995daf2631640234a1350e483bd13276466457d110176612bfde3281d1b6a8bf97bb
-DIST python-gentoo-patches-3.9.0b3.tar.xz 8592 BLAKE2B 261dc9a5c7b370eb3f693f5bfb15562a5ee8b24b038db1b16571f096ff0d451ef8830c7f51db53366ebcf6e378dfab57e186f1789dc3ecc95e65595708f4428e SHA512 4c630b1b15e752ae154bfc9d0f5c8a17ac02127f96ccf114469bb92d02fe7d2ac13acd2415bfe6af0169c823b4aec09e2d6886c031df8e8c809ccb94efa60b62
-EBUILD python-2.7.18.ebuild 10593 BLAKE2B 8e0f4c58a44ffe10533a7e534bb28a642e258468a4d546a77e39075d1c8ff63d2b3e9d99858eb1d93f84b40101f9cdc2b1db0e45ab6755167da486e5f9468e59 SHA512 5f880a3e0a47efb13d0f9f7f9e7ad01f78c46d772d9de999c3bb67b68adca05a1e01dc2fff8b21b8daaba9e0b9cdb44642c35e04a98217b04d5e2ee3fda2719e
-EBUILD python-3.6.10-r2.ebuild 10333 BLAKE2B 550cfb681267f867d7454097faabf278517f6dbd93b64b879d08251ca5d018456baa4097c632be29885ed6f89de82482c282b15f9777cfc21ec5b342a25e6836 SHA512 568baa3112199ef0d3beab20ab37fa7e7c54e25b91285b86f27665a987f3303258ff78fe2682b67c22cabdd3db0724387a9d85f6284b1c059ec709c113194e1f
-EBUILD python-3.6.11.ebuild 10339 BLAKE2B dc9b943a81912964afa1104bfb2d1dc5665e2357b3108f43cef528d3cc79a59c3f1f9430b9081c134e8f9b0cbd844798ebffd8a47f08aa4db8d130e330be4e9b SHA512 979dd02f98e577034bdbbc8dd85c7ccc42cc6e1ec747d096f4237916e3546776e8bbe12371c112ec185f2d2dc7c3a5319f9a4b5f944120af713a8c7a0160247a
-EBUILD python-3.7.7-r2.ebuild 9877 BLAKE2B 182391402d72a38090801f4ea95ddcc26385bfb6174d7fffe6d0acb45fc735ca62d561ba64b324f2e6d64761f51ec18dfc1c4f04abe131138ebe8985b927fd2d SHA512 39fed5b175cf581371ae4150c539e4a2d1a3d5f7f247d92147c49fd8cd7eb231688d7507b1efb10194683834b37697c5f4e6721bffd592ca8698355fe9670a58
-EBUILD python-3.7.8.ebuild 9886 BLAKE2B 24803229a1282b90ed018ad5edf685fab787d09afbd7af2caf66d3e8f23f40ecafbd740a848fae5fe572edf7e38671071eb8b02ea3d800a4df48def5d50a421d SHA512 ea2b32238af895a4f7e89c7df500aecbbfb2b79f13fe88e73340e4187c8b52033510d744138bc69b4e8a79eb2ad41406ebabc394c59bb344a5f86b93c40e08c0
-EBUILD python-3.8.2-r2.ebuild 9928 BLAKE2B e131852b497fd24ecf3768cfaff2188e499a0ca0700443a146b26a0b2e38c1c83a0438455f22afa45f7eaeb96e744bdce9a1530ad831fe929ed561f3f0cc84a5 SHA512 b43d77bf74b18d4d758df5b6399cc38e5edfd52d1652f5b5c0d6083f22ebd5f880e4e5a12244895300aebd284863e77d0318c053b0e87e7e6572e88ec6b5c15b
-EBUILD python-3.8.3.ebuild 9934 BLAKE2B 9319fd3f2283fb848d28e153b25bb771f2f060fa5348a7b6ccbad0c3a706713bc9f05abb1acf928df4df8b00dd77562e814dd6c610bab33a19b738f57c38ee9b SHA512 9a3ff67e6b8105790fe72f9359aa6fedcfb06860d4b67ff3c5bc50c8d84ed5324dc2d581d39c6867bf103414c4db2a2657730a48ff58e85b7665ef5d0dd55a0e
-EBUILD python-3.9.0_beta3.ebuild 9219 BLAKE2B 7901178a271e7e6bcb8cdc8d7dfa39475fe1f77c298d6222e0aa1a9dc32f999b49691c14102ebb755bf9fef85717fefe1a10b5bf6d2988f8783b6944cb56c989 SHA512 7d05c62b192e2df79c0ed74ca13054f45ddd9c0f2fa77aea0c0ad805cf70274678f8282a6fe7d7f890cae52a07971497c471510e1f1fb1555ee7177b93ccdefe
-EBUILD python-3.9.0_beta4.ebuild 9219 BLAKE2B 7901178a271e7e6bcb8cdc8d7dfa39475fe1f77c298d6222e0aa1a9dc32f999b49691c14102ebb755bf9fef85717fefe1a10b5bf6d2988f8783b6944cb56c989 SHA512 7d05c62b192e2df79c0ed74ca13054f45ddd9c0f2fa77aea0c0ad805cf70274678f8282a6fe7d7f890cae52a07971497c471510e1f1fb1555ee7177b93ccdefe
+DIST Python-3.7.9.tar.xz 17389636 BLAKE2B 484833aa2aa4e29051a02969294f72099ff6f1a47d944b1a0dd15f8e6c22a0406d551bcbcd1048cf89defedaccf060733211e34b38e31fd8391dd823eaa35bc0 SHA512 e4217b25529b5336e43b63d17f3758a8177a58184564cf02bd92a312f58dba9e096485c9e3cb3544f966e847ea15b3ab30ed065d28a6ca52a6d7e0faddf7d9f9
+DIST Python-3.8.4.tar.xz 18020412 BLAKE2B cfcfb293c413b25fc3ca48116cf8ffaba7bee18e9af9accf26be9b4373a0c62dd8e9da70e5a8a38ba6da4d1afbdbd589ae5ea4b618b65130ae061698b445908c SHA512 37a36d014a8372742be9d0bd9dd3a275e100dc21b1515c145bc62425d4d157327b6e63ad99bc888c0b36c1da4c05676c40eb086e75072d1906e3210ec3043dcb
+DIST Python-3.8.5.tar.xz 18019640 BLAKE2B bb3e0566afe28759e4ab129ad0986a0fc5103514f2e2b22ff4aa3973c3173ebdd24d4267fbaf903841814a611fd9ea122673e5a1918934366e5c0efaef9d7517 SHA512 460cee65d7df7150694590575502d7f22e548ebfc99c8f8b363eef8bf30ee72e58d8ffacb1d607824f877f880eb9fd6775a508388029583e1e1df3380f3f9587
+DIST Python-3.9.0rc1.tar.xz 18798364 BLAKE2B 2ebf669720bcc057f7e1056aca6ff42686a8e567a5ea10304f19e53ae80ba6ba60b9157ae401427be4afa1ec296d97bb81a2b55c60a4df3dba39ae545484e0fc SHA512 8fddf940600bdd4096c0144f689fb9e803bdc7a1ee00f46ccfde3566342ed465c7ac6806613e4f61440fb65f8f83057204bd0dc432ac379759cd4d410c151eef
+DIST python-gentoo-patches-2.7.18-r1.tar.xz 15500 BLAKE2B 7008b29827dbbd80d4ab8f010ccf9efced99c6b4b9109e4430c0ba269ce53529cb6fedd832502c8d2d3aa21938749cc3591c2545b21c0a59a6e60f8598e84ccc SHA512 e656ab07281fd932b92165674619bbf55ecf410d2937ae4ae771d490b4532540498cc731d30d19c1e8aafd1f64df8a406bbfbb46ea985b3dcd8edb89a0b7f20f
+DIST python-gentoo-patches-3.6.11-r3.tar.xz 14064 BLAKE2B 416780c15ee12cfc06bfd1397d510dd42fea61abcaafd9cf54f27d843342debf0caa93c9700686feb14f04239ad4ea8f20ce8736029638abe7d7b9c57b9d659d SHA512 de6a4a5bec89e6149b85b383991c99bd9460a8f59f52a700d54edd0154557727ccc79daaa90336dff434b222657c3f28dda1228d2d474002d0a28f31c9ed0b10
+DIST python-gentoo-patches-3.6.12.tar.xz 11448 BLAKE2B a7fb7153ca6fd353649f9dc23f2d777e84ff144d67984d8c3d292619a4f671e3a71d8022bcc334b55f9f1f416ceeca113fb116da805e4bc45d8a67cbc098ead8 SHA512 7efb97abd3e058e4532b89205c99794836ba094079de2a6d7846fd2673ea8cc31e68573b83fd9f82453151653fb0ed9bc40b7961b41efdfe703b64cbed2576bf
+DIST python-gentoo-patches-3.7.8-r3.tar.xz 13232 BLAKE2B 9df47b1f61d08f62a80221bc48d73ec27cd74a9ade8219912c5b02eaea919b70d91b1154837cd03c0129a5839186e9c970167ca3398129c044c25c7853f1f920 SHA512 e1477d425cb6125ca2286d816f4aa4e9e3c789d6a4f4907bd7b78549598356cae5766f642e2cad9e7c3abe2e82c12cf3cb7db3513be68aa213cb64cc0abc678a
+DIST python-gentoo-patches-3.7.9.tar.xz 10588 BLAKE2B f60c8500671e7e3977412474c838905846e0609a7fdac787f2c6a8bfa53c887dcfd3466c5276772ffb8c20205e8b3f207f7d148c04524f19d095964b519da62d SHA512 11f411eb2d59fd45fbd80bdb1d1a83d413770779244045006942c5cb84837cba606673bcde102ae03b1d4579f526b551c93a64d39dba530b4584ba8dd8e9f13e
+DIST python-gentoo-patches-3.8.4-r2.tar.xz 12660 BLAKE2B 3197edc6beb2b1be05399f268ff9b337ed67f699e3867160fea8e50f763a62b184ddd7adcdfa55dafc8c14f91e020b409461027361d04858db667992794b1168 SHA512 c56adbec04bfb950f7fb65f38cc0b78eaae9783800c755b7ac934b07725fcf4d69bbc2c29f7d1255acd6e88559a216dc8a6088042a479aa0d453b706e318c0cf
+DIST python-gentoo-patches-3.8.5.tar.xz 11280 BLAKE2B 163c577da75f4ec0ebe86b5a08bea96d5ae406020bd211439b1405c0f8a5dddc9422a9ea5b16eed195433cbec010d9def3126a578d3f9716325482216b9e4d62 SHA512 6b7f72b8deb87fb7a169e97391185823984b5e9c99ec5232504c670843fbe0ca76afe32fc3fbe1f850ec6c42e9325cf4697022f36f7b00a4028b324069dd4d5b
+DIST python-gentoo-patches-3.9.0rc1.tar.xz 8856 BLAKE2B 7bd032dfd047640c6a53633b5b9ee7b24199106b985230f772dda978d3b79fe0406eea64c4a842603a20afb71a90469befa7ec59a5ef1f793e4c901aa85952d1 SHA512 85a7d4397abf2a0f3c3d07a94a3e184ba3dcb347f3b70ee2cb77e81aac63846b01323a0228afd0fd1d32b3cafb64b18f82e6f5bfd88e4d564261ddae11e747eb
+EBUILD python-2.7.18-r1.ebuild 10596 BLAKE2B 2aa1a8152a9fd960de4dbc37e3b959d412855e3901c946783b908feeaf25af6333a5d375a26eef50436b8c5167019c7c7b5e0610787850f73b57ee6a4814fe65 SHA512 cdc9dafd0fadd459a4a8d22c5dc7b89fc125ca13ee3ca45166416acc26628b7f97478b4efd9e976177e209b1e2fa592a5034c79f343096053f4ddd790424f0d7
+EBUILD python-3.6.11-r2.ebuild 10610 BLAKE2B d9074e767b11ed420c843665b87c466f0014713221c0db4a026fbd91a39debc69689a1674db8a0c0b80dc3eb8df7bc86fe92972918f4c95ef8a52da2936bf631 SHA512 693795866815e724267877e4f97e14d09eda9f321b5c2b481f54952fcefc0859072ab42306eb03b81bd8b3e0a2d71435367452330caabf6bfebbcd2062d1ced0
+EBUILD python-3.6.12.ebuild 10615 BLAKE2B 7aebcadf3a22ebba8601bad7d3d701d24a78788bdc4e727375a7583d5c29522aec77802a30adbd0b0855c464edbf18d40aea2ee2df80184d8d08c1dac6843474 SHA512 40c4a643756e7b7a1b640fc23cbf65cab24615766b9aac538ff32a0684738e715007a659a48a7f0dbd6cb6783026856e0591700f57be4438112d1018739575a6
+EBUILD python-3.7.8-r2.ebuild 10157 BLAKE2B 9d802985fd19463a82452e390a7c20144c839075e307c1ddcdcce9ee0aa923d35e39501af27274cc93d7478ce9beb03e30104dfdc5e464ed1923c1af76f4384e SHA512 7372df64cf7d230bf0e307b442b29c617d062f7bed9032e1e2179e576b788db0c3c8426eae39e654f5eaea6f632a35927e2bf2e32d9f6d247c7359adcb22d322
+EBUILD python-3.7.9.ebuild 10163 BLAKE2B 6b9298cd3d854ab216ffa42c2f6ef36dbd6fadb4b432cfdcbefd7d6a50e62ecf2e9c08e9aa7dadabc6528e2f7e6cc683cc857e131e74204191b97e69ec09bbe3 SHA512 87d3c0947b89b49e76e0366b8b71fc18e0a718ea3fdc1dc270cacaf651de1ec4709bea7fa10a1e6629d639c9c39b1eb5ae048d4014a12f1a7c8683548fff5eef
+EBUILD python-3.8.4-r1.ebuild 9928 BLAKE2B 9ebf074bef412756a79b6a9995f8eebdb92239e0558101b873e5d81a3ce74ef8bdcd0fcfb12f93a5d684d919b840912f91213351ef2db4e634feb00e3071ca81 SHA512 c3f9125df55adada570e75a521017e503e095335f98ef899b9d932ac731af8e21487e0710a70572c2766193ed02cc1e32f2350b457add36519762607c131a629
+EBUILD python-3.8.5.ebuild 10258 BLAKE2B 499ca6e4af5eff7f1ecf0956262b5cd9d3a7b1b4832abcc2041e79e8617cda438f685e4e227dfd475f54c02a2132ebd26c6ddaa97662c1e3fe821586ae089e87 SHA512 31eb14cd5dab778578c0460f7fec610c20d54bed51407c4eec22cac1dd35730fe46c7b0ff2beea3fe925d4972831e61d58431ed62116914bf1428cacb909600e
+EBUILD python-3.9.0_rc1.ebuild 9542 BLAKE2B 8185c40c749ce46f8bcadccf0da4f6f67d7b134cf3c145d5d7aecde49bbe1fd3aef035362b6d96c1cae596d91df58daeb2d504713cce5ab93a4b02f650bdf438 SHA512 5ac13c9dbb331b6eb50314770623ca29c7bb1fff15177845b0d2a67c82795062b6fc02d274364d9ecd58a5e9d4caf23350df414b46d7c483a90e178916c9bce9
MISC metadata.xml 819 BLAKE2B 120c7c65d77488e726c5a0f4aa19469867ea6900e747169fae2f9cf8f14ec2936089d5edfe1935ce610bec26387273e261b1cc4b023680c8c4b229f2141a7223 SHA512 08f45707e5490067a21951b9d37c8ae67064ab67cccc5b8d8c204eab8d4a004fb910627b62989c67b849b89d301618f8f8f7996e99e1ef5bab38a239c49c124d
diff --git a/dev-lang/python/python-2.7.18.ebuild b/dev-lang/python/python-2.7.18-r1.ebuild
index bd043f3e2c6a..146b0a7e20e4 100644
--- a/dev-lang/python/python-2.7.18.ebuild
+++ b/dev-lang/python/python-2.7.18-r1.ebuild
@@ -8,7 +8,7 @@ inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs
MY_P="Python-${PV}"
PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-2.7.18"
+PATCHSET="python-gentoo-patches-2.7.18-r1"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
diff --git a/dev-lang/python/python-3.6.10-r2.ebuild b/dev-lang/python/python-3.6.11-r2.ebuild
index 24b9bc8e4b6e..ea7d7c2ab712 100644
--- a/dev-lang/python/python-3.6.10-r2.ebuild
+++ b/dev-lang/python/python-3.6.11-r2.ebuild
@@ -4,11 +4,12 @@
EAPI="7"
WANT_LIBTOOL="none"
-inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs
+inherit autotools flag-o-matic multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs
MY_P="Python-${PV}"
PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-3.6.10-r1"
+PATCHSET="python-gentoo-patches-3.6.11-r3"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
@@ -81,6 +82,11 @@ src_prepare() {
configure.ac \
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
}
@@ -193,10 +199,12 @@ src_test() {
# bug 660358
local -x COLUMNS=80
-
local -x PYTHONDONTWRITEBYTECODE=
- emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ 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
diff --git a/dev-lang/python/python-3.6.11.ebuild b/dev-lang/python/python-3.6.12.ebuild
index cebadb559b7d..b19332465493 100644
--- a/dev-lang/python/python-3.6.11.ebuild
+++ b/dev-lang/python/python-3.6.12.ebuild
@@ -4,11 +4,12 @@
EAPI="7"
WANT_LIBTOOL="none"
-inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs
+inherit autotools flag-o-matic multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs
MY_P="Python-${PV}"
PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-3.6.11"
+PATCHSET="python-gentoo-patches-${PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
@@ -81,6 +82,11 @@ src_prepare() {
configure.ac \
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
}
@@ -193,10 +199,12 @@ src_test() {
# bug 660358
local -x COLUMNS=80
-
local -x PYTHONDONTWRITEBYTECODE=
- emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ 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
diff --git a/dev-lang/python/python-3.7.7-r2.ebuild b/dev-lang/python/python-3.7.8-r2.ebuild
index ce301b612b1c..0daef877b50e 100644
--- a/dev-lang/python/python-3.7.7-r2.ebuild
+++ b/dev-lang/python/python-3.7.8-r2.ebuild
@@ -4,11 +4,12 @@
EAPI="7"
WANT_LIBTOOL="none"
-inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs
+inherit autotools flag-o-matic multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs
MY_P="Python-${PV}"
PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-3.7.7"
+PATCHSET="python-gentoo-patches-3.7.8-r3"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
@@ -73,6 +74,11 @@ src_prepare() {
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
}
@@ -180,10 +186,12 @@ src_test() {
# bug 660358
local -x COLUMNS=80
-
local -x PYTHONDONTWRITEBYTECODE=
- emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ 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
diff --git a/dev-lang/python/python-3.7.8.ebuild b/dev-lang/python/python-3.7.9.ebuild
index c88e819e8b18..fb3f26334f6f 100644
--- a/dev-lang/python/python-3.7.8.ebuild
+++ b/dev-lang/python/python-3.7.9.ebuild
@@ -4,11 +4,12 @@
EAPI="7"
WANT_LIBTOOL="none"
-inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs
+inherit autotools flag-o-matic multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs
MY_P="Python-${PV}"
PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-3.7.8"
+PATCHSET="python-gentoo-patches-${PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
@@ -73,6 +74,11 @@ src_prepare() {
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
}
@@ -180,10 +186,12 @@ src_test() {
# bug 660358
local -x COLUMNS=80
-
local -x PYTHONDONTWRITEBYTECODE=
- emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ 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
diff --git a/dev-lang/python/python-3.8.2-r2.ebuild b/dev-lang/python/python-3.8.4-r1.ebuild
index 543abfef801c..6069492f13fa 100644
--- a/dev-lang/python/python-3.8.2-r2.ebuild
+++ b/dev-lang/python/python-3.8.4-r1.ebuild
@@ -8,7 +8,7 @@ inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs
MY_P="Python-${PV}"
PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-3.8.2-r1"
+PATCHSET="python-gentoo-patches-3.8.4-r2"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
diff --git a/dev-lang/python/python-3.8.3.ebuild b/dev-lang/python/python-3.8.5.ebuild
index c1cb51ab328b..df05aaedef1f 100644
--- a/dev-lang/python/python-3.8.3.ebuild
+++ b/dev-lang/python/python-3.8.5.ebuild
@@ -4,11 +4,12 @@
EAPI="7"
WANT_LIBTOOL="none"
-inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs
+inherit autotools flag-o-matic multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs
MY_P="Python-${PV}"
PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-3.8.3"
+PATCHSET="python-gentoo-patches-${PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
@@ -18,7 +19,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86"
IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml"
RESTRICT="!test? ( test )"
@@ -73,6 +74,12 @@ src_prepare() {
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
}
@@ -185,10 +192,12 @@ src_test() {
# bug 660358
local -x COLUMNS=80
-
local -x PYTHONDONTWRITEBYTECODE=
- emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ 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
diff --git a/dev-lang/python/python-3.9.0_beta3.ebuild b/dev-lang/python/python-3.9.0_beta3.ebuild
deleted file mode 100644
index 8a98fd0b0c77..000000000000
--- a/dev-lang/python/python-3.9.0_beta3.ebuild
+++ /dev/null
@@ -1,323 +0,0 @@
-# Copyright 1999-2020 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 pax-utils python-utils-r1 \
- toolchain-funcs
-
-MY_P="Python-${PV/_beta/b}"
-PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-3.9.0b3"
-
-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"
-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 ipv6 libressl +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? (
- !libressl? ( dev-libs/openssl:= )
- libressl? ( dev-libs/libressl:= )
- )
- 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(+)] )
- virtual/pkgconfig
- !sys-devel/gcc[libffi(-)]"
-RDEPEND+=" !build? ( app-misc/mime-types )"
-PDEPEND=">=app-eselect/eselect-python-20140125-r1"
-
-# 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_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@@"
-
- 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
-
- # Set LDFLAGS so we link modules with -lpython3.2 correctly.
- # Needed on FreeBSD unless Python 3.2 is already installed.
- # Please query BSD team before removing this!
- append-ldflags "-L."
-
- # 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
- $(use_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
- )
-
- OPT="" econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # Ensure sed works as expected
- # https://bugs.gentoo.org/594768
- local -x LC_ALL=C
-
- 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"
-
- for test in ${skipped_tests}; do
- mv "${S}"/Lib/test/test_${test}.py "${T}"
- done
-
- # bug 660358
- local -x COLUMNS=80
-
- local -x PYTHONDONTWRITEBYTECODE=
-
- emake test EXTRATESTOPTS="-u-network" 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
-
- sed \
- -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
- -e "s/\(PY_LDFLAGS=\).*/\1/" \
- -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
-
- # 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.0_beta4.ebuild b/dev-lang/python/python-3.9.0_rc1.ebuild
index 8a98fd0b0c77..6bf6b905d71f 100644
--- a/dev-lang/python/python-3.9.0_beta4.ebuild
+++ b/dev-lang/python/python-3.9.0_rc1.ebuild
@@ -4,12 +4,12 @@
EAPI="7"
WANT_LIBTOOL="none"
-inherit autotools check-reqs flag-o-matic pax-utils python-utils-r1 \
- toolchain-funcs
+inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs
-MY_P="Python-${PV/_beta/b}"
+MY_P="Python-${PV/_/}"
PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-3.9.0b3"
+PATCHSET="python-gentoo-patches-${PV/_/}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
@@ -85,6 +85,12 @@ src_prepare() {
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
}
@@ -197,10 +203,12 @@ src_test() {
# bug 660358
local -x COLUMNS=80
-
local -x PYTHONDONTWRITEBYTECODE=
- emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ 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
diff --git a/dev-lang/qu-prolog/Manifest b/dev-lang/qu-prolog/Manifest
index e01bc21a888e..2eb788b79f74 100644
--- a/dev-lang/qu-prolog/Manifest
+++ b/dev-lang/qu-prolog/Manifest
@@ -1,13 +1,7 @@
AUX qu-prolog-10.5-gcc-version.patch 872 BLAKE2B 0ca594ff48e9c58c7f99d2f4774308e0e6024188157197da75846b849f11a05f3d8331f8a16a7f31c648bf6e1f60fd2f184619dd64201ec0239fd64caf098919 SHA512 b120b532101b8adf69fe1ed7ded1cf3dc8a78a59fc74fc287cf6627f593b792b33ab2bbaa4022f2ec654e0bf2e3b64cb8bca5c5f6b2c3a41c2a1a243f703e60f
AUX qu-prolog-10.x-qt5.patch 1037 BLAKE2B 91287f26c97c0c2f1c9cd3bae3a007cf27e4b8121aca4a42cabbbb37c224b7399ed06468b7a725977f27bad2fcda8d2165bfeb569f36491d227dd472036de5ed SHA512 9dd1c8245f725d552bf23ad9ef1bb858a06c69b66778fa851013775081751a77923e2145f6575966e8394666b8dc2e04724d102be28b32efaa44b7e474b3dd7f
-DIST qp10.1.tar.gz 1521610 BLAKE2B a4d6d277a35284accfff1afd70901218df198b2b33f5c95ca5649bf06abcb153890f2f21b0e8d62ed93484b452a230074f93c983ab231c8fc58b51a29119d838 SHA512 8fb30fcbc086384d7e265695a7d24a9599ed306b5da0ea964e60aef4bb01c7b6789fc361449f908736c57d86c204e574d745f277d5b0ec2b725a8eca52f14f1a
-DIST qp10.2.tar.gz 1667066 BLAKE2B fe466bc892a0923f463347bfa22618061d8a8baf9e2fc60ea27694c66be6dc8ac9b0bacd3084bccff95ff06ef949660cb9a0637a8e3e3595d04c44eb2b682bc9 SHA512 5cfebab17a812513bb4ddf4c04890af32339bef18d746dd6503cee13d295c43f1ef687a6c7814b2f40473766c695459f8234541ae8a6945a0f2930556985ad96
-DIST qp10.3.tar.gz 1669345 BLAKE2B 9dc14f683555b22e7bb2119dd6d29cad7c934bb162def4358d69da65cd259b586fac593c7770dc1d665ab56da2e1129a696e84b01a271b747a9e3a8598c0d7fa SHA512 e28519fccf58f2b755382f2b8e56c15f2622508822c920975577feb6b837f96346a14eb23a5209ed126e617264ed7846b8a35d5936e99284503d5c435c0a1c18
DIST qp10.4.tar.gz 1671144 BLAKE2B 293cbc09a058714f762e5d371074ca1b87e8177868851a3db2606a837810b474e926c43f6715c5088c718f2b1841c46f9668795ac53edc0266a9a6d5d04386f5 SHA512 39193ba2c39dc24b234092a47f9834af5b8dff6edc34ba6e0ceb6a4bda60c2f30b951bc17ef72da1dd220ef62563c88f4106dd0115a5bf8e51045abfb96151c6
DIST qp10.5.tar.gz 1670927 BLAKE2B 74fd47beb18f7081ade39bf215a999066a2a5e99753ee8e48751c37d7bff111d355a7713f13af43a1cffc2fa6ca5efdf89a633fba45accdef17ee265f068e57a SHA512 6a7d46f09015304ffa222c82be5d9fb28c272ce27641455113740f3a4a08887369208456c478320b30d9464d8eeea0f7fcc1c1e56e1a130134e2fe54d5446958
-EBUILD qu-prolog-10.1.ebuild 1947 BLAKE2B 2c5dff2cf601a8822592aed684a241ae61b17e42a4ea7bbeb704778cddadc97208813b656a8b44a581c46decfaa17fdc9cadd5be2c0d0aaabbe7e08feb3f0c93 SHA512 38a37103ab77155890f9fd59ce921a9211357f26dd00b7d211908c77d39371cb780ed1e498e04fc0486d9e38578af71adea0ac97d0e16731b0bcea40126367d0
-EBUILD qu-prolog-10.2.ebuild 1950 BLAKE2B 7afc003d0f75a3abaa8459188c10dd06e422eb60a985e69a00559e8dcb83455408932817302468a689af01061d2b3ce0201e65f88d5bb98c2644b95f6ad3a5ab SHA512 dc8389b186f7a84a14593bdce6bd33829061287f338e68894ce117dcf7e5e5f32f5e9099f324d5f7cc17ce7295f393e7ba49d49f442559bad5bd010ed0235e3e
-EBUILD qu-prolog-10.3.ebuild 1909 BLAKE2B 772953fc1daee919d422764968f6df52da0f7ea04b316ee353cf188ef6e276a64d648c2da2c5312b257f5c7f255a86c3949c9462e9afaeafa67d471115efec2a SHA512 1ce44624dcbc29f65f20d232836556837641d75cf2b6ba002f20b6de351f08ccb6a8937949add4b13969370dcc24f3b6da6f09dd6a628d353d88ad264dfa80c4
-EBUILD qu-prolog-10.4.ebuild 1889 BLAKE2B ba7059b8d5c3f86122cdeff8868e095f18109eb604896912e1343037a14f6ba8008efe750542190648f1b92a76fca70c0014ad8583b95171ea78ba98cf835a3d SHA512 ef85143c8391ec647a3e92d934a7b2172bc9fbb270cd71c5d803925188345cf9cf1cef0af13f50de3718f938a31112a19e714182b54f76af7a503a9ef1e2ddca
+EBUILD qu-prolog-10.4.ebuild 1886 BLAKE2B edbc9d921adeba6e5d729b74fec6fafd6fc84be0c241f1b6109e99b21e769ccff7c94cd8dbdee767f429c76160638499a4fe42f44d1fdde49015bc42aebe832c SHA512 df532910131df9678f0500263cd05b518a49c064f86d99461e8016569dc95b5475c486f6ff703a41d701433f0c0a0f43186ab3ee7a7f51762155a5a84ab705d4
EBUILD qu-prolog-10.5.ebuild 1962 BLAKE2B 56670281e663d1a51649fde6740370ea7f7454b094f16c514cc4daa356180d5e518ebb882bcbb576978d2875b4c8dde5bba86a3a21f7fc1774d178e5d6ccc597 SHA512 b18807094d8944eec12347d07f5624aed4d5b98d3130700e3e924ba78080832b7879c9b9791ba3c3120db978bf1a95a4bae6f5e1f9282a0a04f3b65b6390dae9
MISC metadata.xml 347 BLAKE2B d0d2ead501a46ff84953eceee649d58e406ebf5a83e7b7862b9501b2e665ad71b5c9c31f4790161074debb7b86ce7e53ff8d0904c39c37ddcac6250668685aca SHA512 7a7bb3ccaa42fa120c3702d963719d5fdfcf0a413685cad98bd34a515a4cc83a213a71e7f3b6b0ce67947fa347229caecf699879192f0d930c9c6577e0ce59cc
diff --git a/dev-lang/qu-prolog/qu-prolog-10.1.ebuild b/dev-lang/qu-prolog/qu-prolog-10.1.ebuild
deleted file mode 100644
index 66036b4f69a1..000000000000
--- a/dev-lang/qu-prolog/qu-prolog-10.1.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils multilib qmake-utils
-
-MY_P=qp${PV}
-
-DESCRIPTION="Extended Prolog supporting quantifiers, object-variables and substitutions"
-HOMEPAGE="http://www.itee.uq.edu.au/~pjr/HomePages/QuPrologHome.html"
-SRC_URI="http://www.itee.uq.edu.au/~pjr/HomePages/QPFiles/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0 GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE="debug doc examples pedro qt5 readline threads"
-
-RDEPEND="
- !dev-util/mpatch
- !dev-util/rej
- !games-rpg/kqlives
- qt5? (
- dev-qt/qtwidgets:5
- dev-qt/qtgui:5
- )
- pedro? ( net-misc/pedro )
- readline? ( app-misc/rlwrap )"
-DEPEND="${RDEPEND}
- dev-lang/perl"
-
-S="${WORKDIR}"/${MY_P}
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-10.x-qt5.patch
-
- eapply_user
-}
-
-src_configure() {
- econf \
- --libdir=/usr/$(get_libdir) \
- $(use_enable debug) \
- $(use_enable threads multiple-threads)
-
- if use qt5; then
- cd "${S}"/src/xqp || die
- eqmake5 xqp.pro
- fi
-}
-
-src_compile() {
- emake OPTIMISATION="${CXXFLAGS}"
-
- if use qt5; then
- cd "${S}"/src/xqp || die
- emake
- fi
-}
-
-src_install() {
- sed \
- -e "s|${S}|/usr/$(get_libdir)/qu-prolog|g" \
- -i bin/qc bin/qc1.qup bin/qecat bin/qg bin/qp || die
-
- dobin bin/{qc,qecat,qp,kq}
-
- use qt5 && dobin src/xqp/xqp
-
- into /usr/$(get_libdir)/${PN}
- dobin bin/{qa,qc1.qup,qdeal,qem,qg,ql,qppp}
-
- insinto /usr/$(get_libdir)/${PN}/bin
- doins bin/rl_commands
- doins bin/{qc1.qup,qecat,qg,qp}.qx
-
- insinto /usr/$(get_libdir)/${PN}/library
- doins prolog/library/*.qo
-
- insinto /usr/$(get_libdir)/${PN}/compiler
- doins prolog/compiler/*.qo
-
- doman doc/man/man1/*.1
-
- dodoc README
-
- if use doc ; then
- docinto reference-manual
- dodoc doc/manual/*.html
- docinto user-guide
- dodoc doc/user/main.pdf
- fi
-
- if use examples ; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/*.ql
- docinto examples
- newdoc examples/README README.examples
- fi
-}
diff --git a/dev-lang/qu-prolog/qu-prolog-10.2.ebuild b/dev-lang/qu-prolog/qu-prolog-10.2.ebuild
deleted file mode 100644
index d7dbcab7d77c..000000000000
--- a/dev-lang/qu-prolog/qu-prolog-10.2.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils multilib qmake-utils
-
-MY_P=qp${PV}
-
-DESCRIPTION="Extended Prolog supporting quantifiers, object-variables and substitutions"
-HOMEPAGE="http://www.itee.uq.edu.au/~pjr/HomePages/QuPrologHome.html"
-SRC_URI="http://www.itee.uq.edu.au/~pjr/HomePages/QPFiles/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0 GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="debug doc examples pedro qt5 readline threads"
-
-RDEPEND="
- !dev-util/mpatch
- !dev-util/rej
- !games-rpg/kqlives
- qt5? (
- dev-qt/qtwidgets:5
- dev-qt/qtgui:5
- )
- pedro? ( net-misc/pedro )
- readline? ( app-misc/rlwrap )"
-DEPEND="${RDEPEND}
- dev-lang/perl"
-
-S="${WORKDIR}"/${MY_P}
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-10.x-qt5.patch
-
- eapply_user
-}
-
-src_configure() {
- econf \
- --libdir=/usr/$(get_libdir) \
- $(use_enable debug) \
- $(use_enable threads multiple-threads)
-
- if use qt5; then
- cd "${S}"/src/xqp || die
- eqmake5 xqp.pro
- fi
-}
-
-src_compile() {
- emake OPTIMISATION="${CXXFLAGS}"
-
- if use qt5; then
- cd "${S}"/src/xqp || die
- emake
- fi
-}
-
-src_install() {
- sed \
- -e "s|${S}|/usr/$(get_libdir)/qu-prolog|g" \
- -i bin/qc bin/qc1.qup bin/qecat bin/qg bin/qp || die
-
- dobin bin/{qc,qecat,qp,kq}
-
- use qt5 && dobin src/xqp/xqp
-
- into /usr/$(get_libdir)/${PN}
- dobin bin/{qa,qc1.qup,qdeal,qem,qg,ql,qppp}
-
- insinto /usr/$(get_libdir)/${PN}/bin
- doins bin/rl_commands
- doins bin/{qc1.qup,qecat,qg,qp}.qx
-
- insinto /usr/$(get_libdir)/${PN}/library
- doins prolog/library/*.qo
-
- insinto /usr/$(get_libdir)/${PN}/compiler
- doins prolog/compiler/*.qo
-
- doman doc/man/man1/*.1
-
- dodoc README
-
- if use doc ; then
- docinto reference-manual
- dodoc doc/manual/*.html
- docinto user-guide
- dodoc doc/user/main.pdf
- fi
-
- if use examples ; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/*.ql
- docinto examples
- newdoc examples/README README.examples
- fi
-}
diff --git a/dev-lang/qu-prolog/qu-prolog-10.3.ebuild b/dev-lang/qu-prolog/qu-prolog-10.3.ebuild
deleted file mode 100644
index c6f3783e7484..000000000000
--- a/dev-lang/qu-prolog/qu-prolog-10.3.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit eutils multilib qmake-utils
-
-MY_P=qp${PV}
-
-DESCRIPTION="Extended Prolog supporting quantifiers, object-variables and substitutions"
-HOMEPAGE="http://www.itee.uq.edu.au/~pjr/HomePages/QuPrologHome.html"
-SRC_URI="http://www.itee.uq.edu.au/~pjr/HomePages/QPFiles/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0 GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="debug doc examples pedro qt5 readline threads"
-
-RDEPEND="
- !dev-util/mpatch
- !dev-util/rej
- !games-rpg/kqlives
- qt5? (
- dev-qt/qtwidgets:5
- dev-qt/qtgui:5
- )
- pedro? ( net-misc/pedro )
- readline? ( app-misc/rlwrap )"
-DEPEND="${RDEPEND}
- dev-lang/perl"
-
-S="${WORKDIR}"/${MY_P}
-
-src_prepare() {
- eapply "${FILESDIR}"/${PN}-10.x-qt5.patch
- eapply_user
-}
-
-src_configure() {
- econf \
- --libdir=/usr/$(get_libdir) \
- $(use_enable debug) \
- $(use_enable threads multiple-threads)
-
- if use qt5; then
- cd "${S}"/src/xqp || die
- eqmake5 xqp.pro
- fi
-}
-
-src_compile() {
- emake OPTIMISATION="${CXXFLAGS}"
-
- if use qt5; then
- cd "${S}"/src/xqp || die
- emake
- fi
-}
-
-src_install() {
- sed \
- -e "s|${S}|/usr/$(get_libdir)/qu-prolog|g" \
- -i bin/qc bin/qc1.qup bin/qecat bin/qg bin/qp || die
-
- dobin bin/{qc,qecat,qp,kq}
-
- use qt5 && dobin src/xqp/xqp
-
- into /usr/$(get_libdir)/${PN}
- dobin bin/{qa,qc1.qup,qdeal,qem,qg,ql,qppp}
-
- insinto /usr/$(get_libdir)/${PN}/bin
- doins bin/rl_commands
- doins bin/{qc1.qup,qecat,qg,qp}.qx
-
- insinto /usr/$(get_libdir)/${PN}/library
- doins prolog/library/*.qo
-
- insinto /usr/$(get_libdir)/${PN}/compiler
- doins prolog/compiler/*.qo
-
- doman doc/man/man1/*.1
-
- dodoc README
-
- if use doc ; then
- docinto reference-manual
- dodoc doc/manual/*.html
- docinto user-guide
- dodoc doc/user/main.pdf
- fi
-
- if use examples ; then
- docinto examples
- newdoc examples/README README.examples
- dodoc examples/*.ql
- fi
-}
diff --git a/dev-lang/qu-prolog/qu-prolog-10.4.ebuild b/dev-lang/qu-prolog/qu-prolog-10.4.ebuild
index 79f9bc1fa0fc..c06392ec7013 100644
--- a/dev-lang/qu-prolog/qu-prolog-10.4.ebuild
+++ b/dev-lang/qu-prolog/qu-prolog-10.4.ebuild
@@ -13,7 +13,7 @@ SRC_URI="http://www.itee.uq.edu.au/~pjr/HomePages/QPFiles/${MY_P}.tar.gz"
LICENSE="Apache-2.0 GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="amd64 ppc x86"
IUSE="debug doc examples pedro qt5 readline threads"
RDEPEND="
diff --git a/dev-lang/rakudo/Manifest b/dev-lang/rakudo/Manifest
index 75f7ed20bd02..933b50d04464 100644
--- a/dev-lang/rakudo/Manifest
+++ b/dev-lang/rakudo/Manifest
@@ -1,9 +1,11 @@
AUX rakudo-2016.04-jna-lib.patch 970 BLAKE2B 28947a57089f3e53333d6dad83b9ff62411b1bb090f2301d6d415cf9e3eef5b6a96dfbaf94020c249e24cca707655522929114ecb032bb4e701d6a3c7ad46810 SHA512 3e76c33e08911fc9105fc8e6f046a8af133ec956aad1537653ee335f0068d4428a9c8be45af45ed3eccae58f1be38579614bac278deb00ea143829e6d98d38c6
-DIST rakudo-2019.03.tar.gz 4128971 BLAKE2B 0b1eeb4ebcf7abdbc477cf1b64a6b1f85821e03a953b71aca53ac4fdc88bf3c8df0ecbc95c687ab6686a4cdd4ddb6c7caf89c97ed407d4c0b45203b65397aa11 SHA512 c6b77bbc7d806a399adccccc98c273063c90756967769cd288a161317cc81151dff4feb1219b534aeec5d60e4344fd1f7e166cfc3b90389fd550b2862178f447
-DIST rakudo-2019.11.tar.gz 4651014 BLAKE2B 4e95b834d074efcf515e4b1e6776ef4a34398dcc4536e315b759dcb56565e64e19e2cf513b97b85974639b3c3b9968129a6781bbafb37fded98f108c32d06ceb SHA512 6d058fe1e1630023f14ac910ade75f22b963f9eb8e524a8c9006a6df8e0764f283f2c8bd4af4a303b2151e6078fccd8b3cb6c388f70e38d6e9465505eefafdb4
DIST rakudo-2020.05.1.tar.gz 4802231 BLAKE2B ead9db815bb29d78f4a92157ff65e43c28f19e52e19f3972783b2a8d6c1814576c30d5b612e12f1500a7ae436c66b70d9774aa69f2ea421cc4382341cbd40498 SHA512 20d0818fc9f13693f098c41799cceb39e21442ac652993981fcab1fc1c7158058b42746f3ca3b145938fb6adb03f045f4784e77bf11da672c5908d0a5a36975f
-EBUILD rakudo-2019.03.ebuild 1641 BLAKE2B 84b7903b29f4257bd634e9f01b9012339c9dc877dce3b0d4c232a593f527180b266ee9579b2964bbd2442a750ae3b4c22f75078b0af6b3f2d02843768480c4f8 SHA512 6631c3ec81979a5c7957eadfc2ddb90ceef44726317f1da9d1b0c09b3791521f92ec7723031fe58c3deea5ee53547935a9ef31642f2953d6410ff686c6debf51
-EBUILD rakudo-2019.11.ebuild 1641 BLAKE2B 84b7903b29f4257bd634e9f01b9012339c9dc877dce3b0d4c232a593f527180b266ee9579b2964bbd2442a750ae3b4c22f75078b0af6b3f2d02843768480c4f8 SHA512 6631c3ec81979a5c7957eadfc2ddb90ceef44726317f1da9d1b0c09b3791521f92ec7723031fe58c3deea5ee53547935a9ef31642f2953d6410ff686c6debf51
+DIST rakudo-2020.06.tar.gz 4828268 BLAKE2B 5be85b3379f8f859ccff860cfbb5cbab23befd3f25175ae300acf414477f73ef9c2da8ea66a4516339a6dcddbef79d18ee3789e009619bdde44eff6a69cb765c SHA512 2eb6f4eecb2b8fe2cf94ef0309baf4f91cd4cdc7adb428e1023e5b84d804e34a5249448915b40d8120afe21dfb5bb1cb65c128d2b2f1afa3d98d84c97c84caea
+DIST rakudo-2020.07.tar.gz 4729727 BLAKE2B 131d4aaee21c7e38fb8f2c3091336597a4cb583be648979f41b6c025e65eb1f17aef81117d5bbddc4e7283ebb3af083443c4710532979a87c89caf2387126266 SHA512 05da50ed201054718136ae6ae3867c8cc54720a4e62e34867d082d9ac7d74a190c04b8a60f29b264273e641c31b9ee839d6189d41bad573c9c77f9bb58db233f
+DIST rakudo-2020.08.1.tar.gz 4740608 BLAKE2B be1b1f755690493483ba001407a89de69d64d0959d99bd28cdc4cbbacbcc56e884aa6244b2046c0ff6f6c4374b8edc86016c3c6b9719926a71eb5640092d16d1 SHA512 0142a5df29d4bd1c5a0e8cd37d59242b552dc523966293293fb643f4ce65a004457d81f76823db15bec1508a12c631eec324623cb3b8d60bc14d55b626959b11
EBUILD rakudo-2020.05.1.ebuild 1632 BLAKE2B 986fda7851e41d16434c112fd72056991cc07aaf18104918ae76bd81296866ce16af53a82e22db508f219de9aed5f2c32c7a71ba214d9931c1fa0839b0e054d6 SHA512 7d1f15d9fa94b666b6e4862905e2488ba1fcfcd5a8efd297aa8ceb388359036d329ba5d5bc5d4920094e6dabfa527ca11c5fbc08d556b2ec213bac7b6d648064
+EBUILD rakudo-2020.06.ebuild 1632 BLAKE2B e2bdaaf8c2c1dca93e6c9f5d7c6ff76f2681255d4c55ee60d2edb77833b29f1e2d2b0e947e139e28ba02acbaf35b95a7b99d183ec68d306998e72e49d7fdb6f3 SHA512 1cbf785efeaca5721fd547a1b953d665cf2dd28896324229d2a76252aa720831386a3c677414e81df530ea3ab8ea3e149d29461c668b999d255e845724b6774b
+EBUILD rakudo-2020.07.ebuild 1632 BLAKE2B e2bdaaf8c2c1dca93e6c9f5d7c6ff76f2681255d4c55ee60d2edb77833b29f1e2d2b0e947e139e28ba02acbaf35b95a7b99d183ec68d306998e72e49d7fdb6f3 SHA512 1cbf785efeaca5721fd547a1b953d665cf2dd28896324229d2a76252aa720831386a3c677414e81df530ea3ab8ea3e149d29461c668b999d255e845724b6774b
+EBUILD rakudo-2020.08.1.ebuild 1632 BLAKE2B e2bdaaf8c2c1dca93e6c9f5d7c6ff76f2681255d4c55ee60d2edb77833b29f1e2d2b0e947e139e28ba02acbaf35b95a7b99d183ec68d306998e72e49d7fdb6f3 SHA512 1cbf785efeaca5721fd547a1b953d665cf2dd28896324229d2a76252aa720831386a3c677414e81df530ea3ab8ea3e149d29461c668b999d255e845724b6774b
EBUILD rakudo-9999.ebuild 1746 BLAKE2B 825811a2641e4fa2290771caf47ff2a5c4e6253455bb0b5fec85d1a910e952e597fca38f57aa6b939f4bb55aebbab14a30bad08bda8448d3dc3aa50dea81ccbd SHA512 af56d0da89afb6f506b6fd041692e1d798b7832d5684021aef6b9fd8d5d51336c4751e3cb9a6a906930f3ac115514098a83943cb0ee4a195f6fa5fc5027f7791
MISC metadata.xml 513 BLAKE2B 90fdc5cdf5182b707681ce28a7e4b06c1e8e1a05f848e072de4abc5e8f074ec9becd41c117880bba60e00eebe69a4ab1639b39b0a29307d65d6be09784ee6a18 SHA512 d0144523717581bc13a12b8b8edff0ec03800fe1bda313725a4db37bc70e26c3cf566426e48eb6ecf58f8653f6c51f375ea31d915d75bcf37fc0772251047e7a
diff --git a/dev-lang/rakudo/rakudo-2019.11.ebuild b/dev-lang/rakudo/rakudo-2020.06.ebuild
index cd8697211547..1353f67155bf 100644
--- a/dev-lang/rakudo/rakudo-2019.11.ebuild
+++ b/dev-lang/rakudo/rakudo-2020.06.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit java-pkg-opt-2
@@ -13,7 +13,7 @@ if [[ ${PV} == "9999" ]]; then
inherit git-r3
KEYWORDS=""
else
- SRC_URI="https://rakudo.perl6.org/downloads/${PN}/${P}.tar.gz"
+ SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
@@ -24,7 +24,7 @@ IUSE="clang java +moar test"
RESTRICT="!test? ( test )"
REQUIRED_USE="|| ( java moar )"
-CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]"
+CDEPEND="~dev-lang/nqp-${PV/.1/}:${SLOT}=[java?,moar?,clang=]"
RDEPEND="${CDEPEND}
java? ( >=virtual/jre-1.7 )"
DEPEND="${CDEPEND}
diff --git a/dev-lang/rakudo/rakudo-2019.03.ebuild b/dev-lang/rakudo/rakudo-2020.07.ebuild
index cd8697211547..1353f67155bf 100644
--- a/dev-lang/rakudo/rakudo-2019.03.ebuild
+++ b/dev-lang/rakudo/rakudo-2020.07.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit java-pkg-opt-2
@@ -13,7 +13,7 @@ if [[ ${PV} == "9999" ]]; then
inherit git-r3
KEYWORDS=""
else
- SRC_URI="https://rakudo.perl6.org/downloads/${PN}/${P}.tar.gz"
+ SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
@@ -24,7 +24,7 @@ IUSE="clang java +moar test"
RESTRICT="!test? ( test )"
REQUIRED_USE="|| ( java moar )"
-CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]"
+CDEPEND="~dev-lang/nqp-${PV/.1/}:${SLOT}=[java?,moar?,clang=]"
RDEPEND="${CDEPEND}
java? ( >=virtual/jre-1.7 )"
DEPEND="${CDEPEND}
diff --git a/dev-lang/rakudo/rakudo-2020.08.1.ebuild b/dev-lang/rakudo/rakudo-2020.08.1.ebuild
new file mode 100644
index 000000000000..1353f67155bf
--- /dev/null
+++ b/dev-lang/rakudo/rakudo-2020.08.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2020 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 Perl 6 programming language"
+HOMEPAGE="https://rakudo.org"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/rakudo/${PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+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/.1/}:${SLOT}=[java?,moar?,clang=]"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.7 )"
+DEPEND="${CDEPEND}
+ clang? ( sys-devel/clang )
+ java? ( >=virtual/jdk-1.7 )
+ >=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 DESTDIR="${D}" 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 8fd2d856d5e7..6dfc5ab1beb4 100644
--- a/dev-lang/ruby/Manifest
+++ b/dev-lang/ruby/Manifest
@@ -13,11 +13,9 @@ AUX 2.6/005_no-undefined-ext.patch 486 BLAKE2B 715f952cab863847f420afb020cac6819
AUX 2.6/009_no-gems.patch 1261 BLAKE2B 359d0a73c374e5c464eb0343d33272244bb88ba200977007a93f3c3c776779a013174fc2c97717e4ae4a1495011d3baae80e68b07433eab1320955a49aed8b59 SHA512 1607b9c2021e5b5f08cf28c64d3f3ddd077bc47df02a353182a9bc70dc6831ea18e8681d9808bb6841939d64082ae4966081014ee110d2090ec67ffe8faa9b8b
AUX 2.6/010-default-gem-location.patch 688 BLAKE2B 4c2074d69b9fe5258a2fe0e38bb501a39f34ad1fa08ef338224edba1f06073138cbe3d831ecdf9910c989a7f0a1c6c6b73ced0d8ff212207a3a3df5f4d90b5de SHA512 65206a6ca42ade0413ae1467f41082f4a93b3166644d2504cff3d280d23da02fd41aea5aca69dd43f6081b436db90a5b1e98725d8fa51519ca302c02ec526ad7
AUX 2.7/010-default-gem-location.patch 688 BLAKE2B 4c2074d69b9fe5258a2fe0e38bb501a39f34ad1fa08ef338224edba1f06073138cbe3d831ecdf9910c989a7f0a1c6c6b73ced0d8ff212207a3a3df5f4d90b5de SHA512 65206a6ca42ade0413ae1467f41082f4a93b3166644d2504cff3d280d23da02fd41aea5aca69dd43f6081b436db90a5b1e98725d8fa51519ca302c02ec526ad7
-DIST ruby-2.4.10.tar.xz 10100664 BLAKE2B 7301f34b94bb6d88c0d049eed4220ddb290c877b130e90c822226bc454b3e72c90ae151db0e828068c8fe02b21cd41c8f3cd43d4e95ab688d2cd6f3f3840ea9d SHA512 11c7a9ea1353f752763b189815ac34674cc8ebf7141517838b7f040823e892780d94ec3091c1f5d1415f9bc1b838b7f6f9de13a706df7bef80ce3b146a7d6660
DIST ruby-2.5.8.tar.xz 11298404 BLAKE2B 3256c0448e72b63c0bd89f89a27fa9c09c8feed54d42cd79899b7d5cfe9dbc29ca708d12c630b3f52ff85b0c6a4011ae7ff0483d64b2fd445700a72a91028035 SHA512 2886be764a454425c5beef2777c64a70ee0d048b07896b327633d904f5077fea4299526689f9e2ac4dcd2fc4811cf9a6c8ce75367ed35d29dfe1a54222872e0d
DIST ruby-2.6.6.tar.xz 11567284 BLAKE2B 45e910dd9b128c46bff3003834c4fdcbbc2e2e4d3e44f298ff4356a285de2c375d6b6021a3aa28d89336b32a1655fa4a7c086d07f4a0f6bcd578a11dd4a894da SHA512 86caf93dbf61d03781767ab5375a7edf4761f13ba08ccfefe16c0a7550499237e7390c2f72a95d42670d4fe76b2401b4218936187c62ec1572799e9e04c50d62
DIST ruby-2.7.1.tar.xz 12003684 BLAKE2B 90a35c3e246cfe982a146be29a3d121d6e2c251ed96703dbc46b98c21e0e43e5445132e6119e584ae35f7193f063ff1b14822f947a4e07037c37fbba5e4038da SHA512 79f98b1ea98e0b10ec79da1883e8fc84d48ffe5c09ae945cbebde94365e35a589d919aac965f74d70ca7e21370ecee631ac5a8f9c4eac61d62f5aa629f27bf31
-EBUILD ruby-2.4.10.ebuild 6393 BLAKE2B cc96fa8471ca9f866bde55bc368f3034389095b91daa2e56755ba02a63732d5fac03267112f544bfd1545931ee0c107a171c5d9dfe9cd5b297ad7b85cae5d25d SHA512 2a8148d0cc49889369d2d4c13b01869ceb49d025cf2c3d32d206a8d955e7fc45664892d17df1684d72ec6a163e5cb2e398b48e48fff0145adf71c810591cee40
EBUILD ruby-2.5.8-r1.ebuild 6278 BLAKE2B c14b2405e58a01a7ca7b8af4b9d7d85dc4bbce732277f5393a6bc3bf6895a1dd3c69183f07d73b869a8f0ebcd3a07fdbd8da6d84f7c42072a60f3f69bde6d43c SHA512 f01e6516e7c5b0c7cd2d93dab455143fe90617192b981c79a1184f369720d42cee8c836f4064540447a09ad81d7739e40717d5d9552a9b11e0fc30d5a4ccb1a4
EBUILD ruby-2.5.8.ebuild 6189 BLAKE2B aa04b9f393085468d3452bfcc55a45c721bcbe51c9602d6f44510d1f936369f1c741ade879d24c619b1722270a460ba20bc679f0714a98d310d8293bc84c3678 SHA512 156ac0da5b5e6d1240bcb42ad9a7ce455a17077a3bfd66610d5425216ff7436462e8e1362764c8614900376eef146b168e1dd4691cddd9f13ded5a4a30204c9e
EBUILD ruby-2.6.6-r1.ebuild 6614 BLAKE2B b4862b320dbb557bde3b3c6e86b0d178a3421587afdb848ecf5991d48525c20b0012cf88cd31cc5f130088127b6c6ea5dd121cb461c842cab183f3db02260356 SHA512 28f23b21a389e90a59738a4debb38ed0eb30e44eac1dd3df0037fdd37d6e1467ee61beaa5dd35460cd767b743ef48c6c31b243cb207ffdef3b94bb3ef6d6241e
diff --git a/dev-lang/ruby/ruby-2.4.10.ebuild b/dev-lang/ruby/ruby-2.4.10.ebuild
deleted file mode 100644
index 7ea93eb0344f..000000000000
--- a/dev-lang/ruby/ruby-2.4.10.ebuild
+++ /dev/null
@@ -1,225 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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 ~mips ppc ppc64 s390 x86"
-IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs"
-
-RDEPEND="
- berkdb? ( sys-libs/db:= )
- gdbm? ( sys-libs/gdbm:= )
- jemalloc? ( dev-libs/jemalloc )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl )
- )
- socks5? ( >=net-proxy/dante-1.1.13 )
- tk? (
- dev-lang/tcl:0=[threads]
- dev-lang/tk:0=[threads]
- )
- dev-libs/libyaml
- dev-libs/libffi:=
- sys-libs/readline:0=
- sys-libs/zlib
- >=app-eselect/eselect-ruby-20161226
- !<dev-ruby/rdoc-3.9.4
- !<dev-ruby/rubygems-1.8.10-r1"
-
-DEPEND="${RDEPEND}"
-
-BUNDLED_GEMS="
- >=dev-ruby/did_you_mean-1.1.0:2.4[ruby_targets_ruby24]
- >=dev-ruby/minitest-5.10.1[ruby_targets_ruby24]
- >=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby24]
- >=dev-ruby/power_assert-0.4.1[ruby_targets_ruby24]
- >=dev-ruby/rake-12.0.0[ruby_targets_ruby24]
- >=dev-ruby/test-unit-3.2.3[ruby_targets_ruby24]
- >=dev-ruby/xmlrpc-0.2.1[ruby_targets_ruby24]
-"
-
-PDEPEND="
- ${BUNDLED_GEMS}
- virtual/rubygems[ruby_targets_ruby24]
- >=dev-ruby/json-2.0.2[ruby_targets_ruby24]
- rdoc? ( >=dev-ruby/rdoc-5.1.0-r1[ruby_targets_ruby24] )
- xemacs? ( app-xemacs/ruby-modes )"
-
-src_prepare() {
- eapply "${FILESDIR}"/${SLOT}/{002,005,009,012}*.patch
-
- einfo "Unbundling gems..."
- cd "$S"
- # Remove bundled gems that we will install via PDEPEND, bug
- # 539700. Use explicit version numbers to ensure rm fails when they
- # change so we can update dependencies accordingly.
- rm -f gems/{did_you_mean-1.1.0,minitest-5.10.1,net-telnet-0.1.1,power_assert-0.4.1,rake-12.0.0,test-unit-3.2.3,xmlrpc-0.2.1}.gem || die
-
- einfo "Removing bundled libraries..."
- rm -fr ext/fiddle/libffi-3.2.1 || die
-
- # Fix a hardcoded lib path in configure script
- sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
- configure.in || die "sed failed"
-
- 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} \
- --enable-shared \
- --enable-pthread \
- --disable-rpath \
- --with-out-ext="${modules}" \
- $(use_with jemalloc jemalloc) \
- $(use_enable socks5 socks) \
- $(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
-}
-
-src_compile() {
- emake V=1 EXTLDFLAGS="${LDFLAGS}"
-}
-
-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.
- rm -rf ext/json || 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}"
- 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
-
- emake V=1 DESTDIR="${D}" 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/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
-
- if use doc; then
- make DESTDIR="${D}" install-doc || die "make install-doc failed"
- fi
-
- if use examples; then
- dodoc -r sample
- fi
-
- dodoc ChangeLog NEWS 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 5db69cfa338c..c4505a3381ce 100644
--- a/dev-lang/rust-bin/Manifest
+++ b/dev-lang/rust-bin/Manifest
@@ -1,59 +1,3 @@
-DIST rust-1.41.1-aarch64-unknown-linux-gnu.tar.xz 96755608 BLAKE2B f8635737089bb028cfac6d6478c4226a78c2c8a8aa12f28cba267744e2e915e062f49edb505f26b6deaeca0d2fdb4ec4b83e791f87bf1eab6c0536dc41e2c641 SHA512 54eac5c380b418c1714931ead7d6284b225bb427fcc501e147240000b71d31b667e308aea7f38f3299b1311ab04f19011b914d37a4581c7a64028965569cd58e
-DIST rust-1.41.1-arm-unknown-linux-gnueabi.tar.xz 98856136 BLAKE2B dbb3996a9ae302290886bf1cd4642d99a9b3f883f9d39817bb15f105565147e416e23d19e0d08314b08ed441f1ac528c20d8bee27ccef68cb585d8ef64a19e45 SHA512 1b01acd430af3cf99d838aa367dec4f6e4bfcec91388d4a2323cd781d53246edae0f14687b087b73b87c349f243e3acabe193538ce31303f07d59c6a03c31565
-DIST rust-1.41.1-arm-unknown-linux-gnueabihf.tar.xz 99107336 BLAKE2B 0dd84e7ad6081b8fdcfcb2691496ed3a493e08db4757e6d3bb2aa9a36fc6f020772a84bc21d0c60efeecf635512f25737b8d6b49a53020c4045c89c5b89881d7 SHA512 462e6d354a4b3b848781bb059decc5eb1ebb4d8a31651623d076a2654e2c8fd02f0f87ddafb124efa40cb134c9438eb252035c2b5bfdf936881b14a23bfbfe9f
-DIST rust-1.41.1-armv7-unknown-linux-gnueabihf.tar.xz 103399676 BLAKE2B da35342be05e58c11e6f96ab566b6a2f334d6975d4251deb2f41069d4a549ebf58aba43e1f07b99dedf0426ab0a8e8616b32799ca54a5f601d70910deca3efaf SHA512 400bf8d013fe5030243bc0ccb7066ea3d03a2c10727e04b6830ab91dfe9b04f78cfef10794a1c7bb6276fb00c86f1e1c42a74faba19f3125859b3464726d01c2
-DIST rust-1.41.1-i686-unknown-linux-gnu.tar.xz 120834812 BLAKE2B 4615eeb7c63392f66487243743fc57677654e232c786f9f970a9be9996dcb08e265631f6764e09e0444f8bb767b9c76366a26fe8fca9dcc149c81df5c2a3dd18 SHA512 c6d74b2653c537043eb2ea721095ff053def592b4c330bdc104690cfb51d648f515288cc0451743d94260f18a55d6757bcb8eb1e6c0217da3498d08b681ca6af
-DIST rust-1.41.1-mips-unknown-linux-gnu.tar.xz 92620720 BLAKE2B dff1be71d459e0256a19fb88f324e59cbf2e10fda693157802a63a08329c7dd4feca4b260510b3a1d6afb4afc9ed9dc549b741f598f3aedf50a982810d0bd140 SHA512 4fdca72b98a4fd25a2ddf33e0f31d9549c39fae9dfad6f1648556f144f82cfb2a487f6777d61476ad18bb0a0ac63810b99bb09a18719ec5344e89fccb16ac693
-DIST rust-1.41.1-mips64-unknown-linux-gnuabi64.tar.xz 96215100 BLAKE2B c52d564010d56df01bac6b2f447d56c00855c52ed8ebe6a2ac1b7786e8c73a1d529be7e7d5a4f7b427892494782aadcc4c8cc54157287d43f58938b0a57486c6 SHA512 2ed84ade11c6f4961e83e06a61d998a7abc9165cc384cc69470658e8244dc399e30c3f983a9f11b0bf88032d855bc47fe6d71f5db95cc7168e6f810c69095633
-DIST rust-1.41.1-mipsel-unknown-linux-gnu.tar.xz 93365592 BLAKE2B cd0d16f99a0976076530fa601f9bfeb61e1204bc278f78db015bc8d1629ce8f19da61a12573fdf9cf0d3d29e56f6915338aeaea3ef4d9b374eeb4095189fe71c SHA512 a0b7cc55ffeb0911d1d82d93cf2f4ea2a683ee76a783952b2f42c0b3c3d02b2bfc7df6f5762af91e6d02963e22a08ba26f143f594dfd6d41ad8198f7e8a862c0
-DIST rust-1.41.1-powerpc-unknown-linux-gnu.tar.xz 98530136 BLAKE2B 41399fcc9f1d88cc5a6fe0651012e4ebd1addde428c22611c30918a09ddad3640fb326bf48f94e5d12a610d2709eecf95c5d023f10bc6636eb6de1808a104e48 SHA512 545b2a4459bbfa7049755cbb63ad6e2917bf03cb9568eccbf3b01ea8f846263fbdc97ad29b42c440fa92dd9737b398196c1cdaf96c9716bba2f9e1d4a3a20125
-DIST rust-1.41.1-powerpc64-unknown-linux-gnu.tar.xz 104058752 BLAKE2B 10b3e3e4970fc05952f83e80e7d133d308045bdd3342199e885d2e6add113ada7959a93010046f48b1fedfe85f0346793fc54e0bf0c55d096f82622e198a928c SHA512 50367685783085cc384be944d4321dfde850f3a0e94de0625a08f17160af2c0b795276f96574d1bea84092cbc1cd3cde619d97fe2e37b07ead17f49164e1c995
-DIST rust-1.41.1-powerpc64le-unknown-linux-gnu.tar.xz 110594504 BLAKE2B eaf9c92ea9599314d12c5f9d0b654b523ceb8f40cc779cdbc2d50b4b07e0a37cd42d34000f0ace9c19154a1bd17110c097e30ee2b617f3a29de4966bb9303301 SHA512 1b2bf6d35321dd0a0fc9735005317f09f8b9a81b520612484530e29156ea254d5cada583e44f7e4a840edde09d70c34f7ead1208d8aa6037c652540dfa38cede
-DIST rust-1.41.1-s390x-unknown-linux-gnu.tar.xz 114814112 BLAKE2B ef22c377e1d89ef4ebe78df19d91bcf042e2e1d8997be80d7d40998b18f6b44f8bb1232b1f72e42e3ffb6d1ff235f3cd2f04854e996bbf7be8f6d5d7299e8514 SHA512 f809adc626876df5c6e050362d59189ede5e3991ac41fd129922540abeb728f618e1a3f3925cee34895de5e037141aabb1f8c2b94d4069945d174e38446e8153
-DIST rust-1.41.1-x86_64-unknown-linux-gnu.tar.xz 111202140 BLAKE2B 226c68b1e97cc9be82e81f6c9e065e08514166a65a57159c2f63527063ae5f514650afc2591e0c4854ecd0239dc82cbc9a97b99412608645aca879a71354d857 SHA512 c75d4a18cf9300c6ab480d34c5e4b41be971535931455239330cb2a0e927bcf9cf102498cad5dd1d5d802fd1d9c9d214b80e8ff15aa6be68d3e7f41420cad666
-DIST rust-1.41.1-x86_64-unknown-linux-musl.tar.xz 96076684 BLAKE2B 3672e24a83c1e4c97a0844f9522a9fced19d5ef01c89d44e54bba8683514a86f7a14ea2e8c2f28d03c65b7e2e0358ff3cea2f85de1e69eb5334c55e18a8c8e4f SHA512 29e7b2aae35017d7f4313e0a482712390ffec752e62d8b1bda95d56a1f93ba882a8f610b469b5d2d7fa3d6d35c2cdc4e45d219ad85b8a3f71ba6ce04b1add48b
-DIST rust-1.42.0-aarch64-unknown-linux-gnu.tar.xz 99903344 BLAKE2B 77e64c56c2f3ab505af9d9003d127b8beb3b2204344985faa6de92905c96d92342485e062e0ff1228baf51a67c8c2274078a60cc86e0c67ba99481a5c01d4d0d SHA512 691a11e279efdcafa6bdafacb7fb48ccf653e180e0e85909b6031105a297d47538efb36d63216f6185427f818483a51aa827f351ca2123840d72caf60079fe13
-DIST rust-1.42.0-arm-unknown-linux-gnueabi.tar.xz 102380528 BLAKE2B 5df9a33fa2b1414c9986f01d8dbd85fab2a705818336e1b2c94ca63136be7be63d25a2586efa956cf31aa604106b3c92857e2133169c7f3062da22006f1896bf SHA512 8e1b5351a3289441823ed0ce12f2fb0cedc267efe5c504966aefbc9a74f37ed11f4da1086295d7351c58c2d0bf59c4b7b54b23d5ec0dec4750bd7e38500afeb0
-DIST rust-1.42.0-arm-unknown-linux-gnueabihf.tar.xz 100300920 BLAKE2B eb90db613230e44f5002388d83460b635f33ceee349b094ca2472171d54ce3d459b6a2143a66705ef7ea89dcb0fc9b21e6d2f2f53479098ca8559f7c84ee0697 SHA512 d58c1820f39abfdf74569e26ba4f13347dde16632415d4ec0b54cc99c3b04563ed551ed1ba717b33e9b1a9b13e2502008203472f8ed712e302d1db66909e7ccf
-DIST rust-1.42.0-armv7-unknown-linux-gnueabihf.tar.xz 105021972 BLAKE2B 5a04715582193138344ef05700af4ccc90074a1b7d6ed8109993b6c59315e6fd6bc947504fcde36b869da8db4b7b8d8240f908387c8b2d78e21e35f6c27fdef7 SHA512 26768ec530506e20fed8f9ef2c1ca85eec155fc90949f2063836b6109b296a976c8430a698971a8b1c11e8f6ad043d854a36e9f0e849417178411dc5cbd30e59
-DIST rust-1.42.0-i686-unknown-linux-gnu.tar.xz 124258356 BLAKE2B 3e2e0c11e792943be65c989d4b9ba98cc92b2a1dfec7b8506f00d20e439050faf744b991e7e4fa91f0c8a52f7a4e5fb8dc5d383fd0430fa46c4e35dfa5bb26e7 SHA512 7376be5abed573bbf68f73ed5609fa8e22dfa3ead19a3f3d78d553347e3ae01604ab9906f5317f1687a8ab3f9ad9c38cde44ef6f56d7da65a788a74aee9df057
-DIST rust-1.42.0-mips-unknown-linux-gnu.tar.xz 95265764 BLAKE2B b02a340c7689812f7e13286f3dcde893933869c9becb071e9b0455eb68130d74fd67babdf85859ff7b4ef449261be6e09f230a4cf6196041c199d717324c8b21 SHA512 cc19b383ac3dde62750cd247e7fdec9ca4b4ee16880b9b00c42e62c57b46c522950983b500bf8fc70b8198469a18ab92c1ca382e8a07abf8bc937d8f17208d5d
-DIST rust-1.42.0-mips64-unknown-linux-gnuabi64.tar.xz 99814476 BLAKE2B 405fa7426a8d21648be97f6b93065b20878419a2c0aa5889ea6a66b9c0f5804d2673a23932a2462965f04e320c4e78f4c79d5b0a6f9877dfe9909d4b4b8864be SHA512 e8933af6290f2cb881fdfc7d2ba3da1c47ef67d847c8a3e659f8f626b7154f202f071ccd4e90555333a3f3dc2bf4101a645b5665dd00a6d72b5acacd6ad317a2
-DIST rust-1.42.0-mipsel-unknown-linux-gnu.tar.xz 95248132 BLAKE2B 875597ba699281d7160ba2f36fe03f3a234d19e5c6e91ce1291ab2369799349a42e1e7e6dcdf524980548a8c499693d6b48967913d4280776da7a921dfd18ab1 SHA512 733307eec1f938385a43b38aadcd84b7d4c1cfc084e070333d955d8b36f3192a7f7e6c05c5c07d782b945acbb261e48db94f2f9f7d3a09e8669055a577c90528
-DIST rust-1.42.0-powerpc-unknown-linux-gnu.tar.xz 100228400 BLAKE2B e05749ab974ffb0dbae332d4f59c8f71047f86c5e33a368555d996ccf14d229b0cda2cfbcf7f05902746fcf9b18a9a1ba4cd8d8cfeb51d3128f04914e8bc062d SHA512 ad2c9d3ebae5ccffd1f70d0a732a3e6cf793b203a8ab7bea3b90d45b63dac84cd513fcc494c7401a6dedcc1e4c3b6fa4ba95a4d3c10411dce5c2a06b84ef934a
-DIST rust-1.42.0-powerpc64-unknown-linux-gnu.tar.xz 106116524 BLAKE2B bfa533d3fdeaba4c539f18f205ddaa99c6a6be8f4213cf2d02090cc576ee17c721295262c78d84ec01bc286b59f6a30bf32e7c44e435205908fec03de1a8d60a SHA512 668d1d353bdaf676043ab7f4baad464b202e8ae1be7713e3481b8e9fb5fabd1020e10e178d69d099541cb1b23362b50b826790740156f1c96efa3d2a7457e404
-DIST rust-1.42.0-powerpc64le-unknown-linux-gnu.tar.xz 109926880 BLAKE2B 92a9067ff95bf2293eb5dc3f055275646f9f9764a59ea5dc772b1d8da78c28acfbd93e7a9076dd7ddfb36255cecda0646a7e5cc4ef4767cdb320aaf046f77162 SHA512 e1db9bbef45e88e7d1d5b905379c04786a015c90d0d9de6a6c16276a3e91c342a8231dda7a4d46ecc7adc969d07fd7dd8595975647b9ab69f8997fee74401219
-DIST rust-1.42.0-s390x-unknown-linux-gnu.tar.xz 116937084 BLAKE2B 4d68801c7c40aa0aca24d19d25e80614b5b40aa2715aacddb6b9f5441b1c7e19e7b0d396caea860607df1dc580deadc43d9cd1f988cbe654b3132b665f9032af SHA512 85b1331a9a71cc43a2fa628b8510590ff072e409c2c38ebfd9089ab7a245182e23b52f6221b25c63f6048e1bf4ada0f561dd8f3f810680c9727040bc8a0d8d46
-DIST rust-1.42.0-x86_64-unknown-linux-gnu.tar.xz 110826392 BLAKE2B 8c90bacc9b350d64c4084edf104e9004461d681e19f8e8179ff6eb0b2bc50e25d95e3ed13c83f77224cc60f374f3961f0069dfe20512c844598b8eb2393300b0 SHA512 87c06d4503e7ba12bd3dfc8dd279a3bdf33a24d2c22eec1378b79b2c17ccdad9b4c8dbd0d4704eae1f3476aec5639d3ba143e8c74a296d631b17b57da7447e70
-DIST rust-1.42.0-x86_64-unknown-linux-musl.tar.xz 97471188 BLAKE2B 29e7089a33a20e5c57a68c171e6b049e5dbc97d4c940106bbf7116c970e7ddb2271b1cf33162b4141d89b0b59049e09ca49c848a326036eefbc03e369f3ab18e SHA512 d804a08e38fa6735ce57067a3c39c59e2932943aa8baf43419815e9c743f50e198d88ef80d87fc193b8bcba011c685471146c0741954095eed74e41f86de38c8
-DIST rust-1.43.1-aarch64-unknown-linux-gnu.tar.xz 104148868 BLAKE2B ac5db9eb58c502253d001e0c93aef867bc584d045960a1d3c2caf6772a7c1f4fbad7da579d7c72b3376804f61f1332a54e9fc7099ba5f4a65f7e5435df28894a SHA512 b54fad5493344d2370bd77110f0ffb0231f41ab8aa9707e9303304957c5d9067dc83089432eb175605b78dc771dfcf7abfcce63d7fecdbb759dd224c17d12da0
-DIST rust-1.43.1-arm-unknown-linux-gnueabi.tar.xz 104779424 BLAKE2B 63c05d7403970bd4a237a6b690bcb8e78f310816a953af43da8d258a74102cd560c8674656c2036b1f391dc964ba6d2be2736bc10686c2365cc332b5c76a5502 SHA512 ea2eae6da6c757c07cf9631c706365c743c58f28b514444763ea70fed4c8fcefc5c36d55136afffc2f5e0d25e9b1fdf3243cb9def7e0f57e37b5a4783d44a61b
-DIST rust-1.43.1-arm-unknown-linux-gnueabihf.tar.xz 103569032 BLAKE2B fc94eeb777a72fcb1b2821b5d10bb9eaca535d76e8caee3d06aed989107460e00146516c5be5714e9739c49d5170809fc132624f9a035afba146db883346c57a SHA512 1c523dafceb29f916a192261f673048c8f781453bcee237e0e333d694d7d7b71735544906f2edea9e0a8a48fc66a478645ae8ae865a171f4f9a94f0d8e6800c1
-DIST rust-1.43.1-armv7-unknown-linux-gnueabihf.tar.xz 108430484 BLAKE2B a3c57930b4e7096f409a2129abef60fbdfadad59f29e428296f3151187eac286e82bdb2d0ca879db87563cdc707dbcabbb5e9048b54303653209b98268ab9cf3 SHA512 0812b3229dd47f1b5cadb49020e68d28b4267ac0489d0c2e448f21e3b0b6519bbf216ac9b20b747e035033842a6eb3b13a98706f2eddca2c088d9396dcb2c21e
-DIST rust-1.43.1-i686-unknown-linux-gnu.tar.xz 125731548 BLAKE2B 3a3278e409a69f3e8195bab39871b5594571c1c8f2ea2a5f8c9786a739f709381c13c1b2a3209ef62cb7c5b8aec47dd769cf3e658ed57e5037522759fa1a244e SHA512 c7423bccfb15f3df6043ec1d81203c9db9b3229dedd347cab09d3cc3b183f53aa0707f59964efccd63418e1c6ad21e7ee7dcc1495eda8c4ecb55ee8e6b3ac034
-DIST rust-1.43.1-mips-unknown-linux-gnu.tar.xz 95924004 BLAKE2B fc1da442dfaa535b81029ed40a85cd0d55766d84c34f0d97bf36376c44e44fd5305b429854b9c964515e10f83a06b36a6ad9daae5714e142491d99e58b1d0a07 SHA512 fe3b11e586d506dc917f0e04009a994a16575ac534a2716b49e66a0344060a26ee6c7e912b6cd7b5f010a97f59604515f899bc1b6c38f0ea86e8cecc20152dd6
-DIST rust-1.43.1-mips64-unknown-linux-gnuabi64.tar.xz 100980364 BLAKE2B 12439df511c3ad43ed24cb0e648a212314a747e203680929ed3e136505eb29af3dcb007162aaa337fbac56a9b1b8f1c405217756ec712c400bc0f4d9aefd64b8 SHA512 6c0d7f172e76e21596d305df7b1a38fde66a946972765de92ccc139cf8f2e8755864b7bd94328b9639023df6be51af08428f41ed78de4ba8d43620673b9f7ecb
-DIST rust-1.43.1-mipsel-unknown-linux-gnu.tar.xz 98512180 BLAKE2B b5e8cdf2b8d65cc39bfb325afda9ae75a360967a4f6f413f3b01257bc34130fcc873dc128a4e48bbcad774d69b9a4aae0d4a8182819a4411809af6a0c636b403 SHA512 cb01eac951384fbf2ead5b7d4acbf92485de0bbaa7e3a272a46a8934066d720d248a19a67ffc88b7b239c15478e8691b94302807dc7652e042c9b8edded6da12
-DIST rust-1.43.1-powerpc-unknown-linux-gnu.tar.xz 105007576 BLAKE2B 8392f36025ca91742fad9755c945b42e616272cc97c33087090c6462a5ba9f1de82a0167ed53568b5cdd4c593464ed2858811fd0c9ae8559a1cba37be6db5305 SHA512 d10da49f19b79f843ae369bdff3e5040b93934dc50dac3c09bd346c24dfa7394364da647c08206d5cef4c853b7e59d1062c16e6eeba0ffc01736eeba63dd3eb6
-DIST rust-1.43.1-powerpc64-unknown-linux-gnu.tar.xz 107189572 BLAKE2B ba561d45b8f9a7f446b17313d92db31b30a07d657dbc59667076ee216d66e4b2ec3811821bc6d1fde6bba811d2c46473c6e3bc06162fe4e1ffe040ad23542742 SHA512 695591807892c8f08801cd145ebc6a91ee4222000210baaaa0d6c8acf1ac6a96f4bf2566871def04d15a9965b7e3ea4287e37d7851fb14010518694d8ede75e6
-DIST rust-1.43.1-powerpc64le-unknown-linux-gnu.tar.xz 112921244 BLAKE2B 9fa67664fc90c1f6095d98b756cae747be2ad863b894b393d4e9ecc3a1bd527b0d26f1bae2988981b98d4d582d2b60a18c62b3db3b5fa017439e034f576e7582 SHA512 da447ec44ebf998290a73420437c8d434a6c196cfe1c3331a9adf40abf7acd97a231e352a8626bbfa961da8e0c4f450aa59d573254257f72cce4068eeb8112a1
-DIST rust-1.43.1-s390x-unknown-linux-gnu.tar.xz 119547480 BLAKE2B 8ce0d64e2d47f23cb927f3ea3a0f469e3cafc191ac1d47e580bce6cf0b35887484542f7d1b857d9bace5f696a072adb7e17e8c5f64af9bf1fbcc305707a15f9f SHA512 f087e50a91b1cc4a12bf15aea1cefbda9b89518febcecc0d56ea7d0a6a682be06cff7777d0a0b4812e96f3fb3295e7799bf200c1599c88cb7083a78d5002f14a
-DIST rust-1.43.1-x86_64-unknown-linux-gnu.tar.xz 112817212 BLAKE2B c6153889d9872ed5a60bfc43bc8c98e71654fffdd79ce775c3eb4376ed4714c5532e6aaecb769e447f3ae0bb7a11aed75754a5e879404742cb0813080dcf67eb SHA512 2fc573ca2826d9f03044f746ae4d7715b4e31b9ac933289607aa3449a538bb4dfd519540576a1d0d286c0d754a7ba6ce38beef6aded1090d3af3091b6ba2a9ee
-DIST rust-1.43.1-x86_64-unknown-linux-musl.tar.xz 103345832 BLAKE2B c16930854ea5e825e1338fdde3966e24d3505230891ab4e10160c5482298996768d8cee9890eadd486bfca41ebd5c9f38f7b7ead35a7848e59e409df8eaf9bdf SHA512 9f6ce2a5eaf98dc20b4ed88dbe60e8fb014ef3e7e82f5c31a28cf0f916d996271929cadeaf39a869f548aafb311f022acb408d51d4312c849c71843bc37ca202
-DIST rust-1.44.0-aarch64-unknown-linux-gnu.tar.xz 100404488 BLAKE2B 9881acb184eeefe6baf79246ed396edc82c28a7db6594d5960c919eb5cc614525bbc785e6fb65fe5ffa309e24c4624d30fe4ec8e837c41145df82a0aac26bc9d SHA512 c853a585bd76730a9ed1e95c12baf2939928fd3c5ba7cc0f95c03ec472c0012f01d0b7d7c37e21dfdcc1d1eca4c7e392709a2585e42bc759b636e95b4ab870d0
-DIST rust-1.44.0-arm-unknown-linux-gnueabi.tar.xz 104325496 BLAKE2B c987580baebe0abdc8cf0d936abe7caf22e8adbf20309daef26b21c1e24da03fc7201abcf3a09f266903c24b77d5df49328069c894de07bb3621783294fbb473 SHA512 d74c9010ad6d0605625bc5e1b416bdba4bb07fbc7fee7aed9571baf25cd6151574ef04c67b0d9289ee580bc54bcfc42bbc184f99abf217e525a42fb14b62bf3a
-DIST rust-1.44.0-arm-unknown-linux-gnueabihf.tar.xz 106977028 BLAKE2B d9046bbc5eb1f77fe3859ece0d630c5a8f434638100a180c03682a3813d7795592db6418b6459f56cbae85bd6ec46ef7e803c4a22939c27f4e230f73b774ce25 SHA512 c78ee33800384dc421ea1909d32cfd438ac3f6312ba545e4dcb3eead771d51fa2f93d410aae06ae256976468cd1a71ae72d252255e85483005a7712f20204351
-DIST rust-1.44.0-armv7-unknown-linux-gnueabihf.tar.xz 107108084 BLAKE2B 8b3693590fba9021ef8f4e278fdbe0833503917168c735cce1416635968a1b23b8b6c60c51aa78bf77ce774ed36d6c4b53e8af24c0d56995d37dcb0c31be651f SHA512 59fd1f0dc058118a838c4c3c66dd5a5c2acb1b05ebf4525188846577cb22c4b46a57605d6a9cede5fbd34c0b5c638434a186d1ce3693ace6be8105c265b59b7b
-DIST rust-1.44.0-i686-unknown-linux-gnu.tar.xz 123723236 BLAKE2B 5527923b954a1ad5f3e65570d692b1d49547611c875034af478a2e51733045270c3f4c168d84d228d5ad1cf95ae5453c580c5d053b9a7d23149fd989c23ec711 SHA512 85ee1d7cd4581d9cdc18f0cfe89b0c78c32039f658b85c5f6a60ac8047864234bdff955e02d6e15ae40dd98e8e27cb3d83fab978dba6373f9e487cfd2ba0b594
-DIST rust-1.44.0-mips-unknown-linux-gnu.tar.xz 93787568 BLAKE2B 280ce55b802952282dc54ba82937d08e60ed06a12f4b19176c9bc9f454021d3bef2764623b2b24777b64d061e316686a5bbc04352bbafad017de96a9a457e9bd SHA512 584641caaba66848fdc2c11d15a81a4588134c29f00b4c961ed7c51a5864db583ecd434e6c4225761ccd53b5892a562f3d3067d78d8590bd3c01e03522dea08c
-DIST rust-1.44.0-mips64-unknown-linux-gnuabi64.tar.xz 99813352 BLAKE2B 5ba6bb4e95d0ab5600b618b563950334ea8e45383eed0ad59791273a7395e7478aa56249b0e84a00ba6abab9952d9b7fe9f67420f110e76a936d43cd8c70a62d SHA512 defaeed53d14d94a6e73a937939f86810ac805a0527dff6f7c663dd2a15db7dd017e5823467eb9b035cd5bf4bab6d27c63abc06b71c5e82558e0f2a59b80efc2
-DIST rust-1.44.0-mipsel-unknown-linux-gnu.tar.xz 96597556 BLAKE2B 7fdcf582ac23149ce374cf069ab69b5b2f5c6024ecd269d786f89e91927b1bf7adb9e513463771328358a7f4c61228ba972cbad26e59916989ec1476b1a79208 SHA512 3339fb9bc1f06d268ebda32e5f151f54fd2c417fddc2fcf333ed52985da06adbd1672f358a578dcfb58123342dbe884e39fe2277701d058d85b6eda56b1bfce9
-DIST rust-1.44.0-powerpc-unknown-linux-gnu.tar.xz 96611064 BLAKE2B 18c80c84813e62b43430e76ab332a0a3d1a7821601c4c29e8143d9d851290c6b675918237afd1b976e5895cb51e920c4ea711e0605e156124164dad705bfd132 SHA512 c6cc690de4e411c4967e2d055a2642ebb5b2639664c1d7901bed9c6840da3d23fbbd52e88f1d9e5e1673902a657c8ca35564934d7730d61845b8676a5e1b339d
-DIST rust-1.44.0-powerpc64-unknown-linux-gnu.tar.xz 107127352 BLAKE2B 109dff520dc2f9aabd07c090de67bc5606a9cdf445fcc4c6f26fdb24f322b77381fa28783628417159241cba051f817c52a7327fa8054ed4852fc6ea1044b82e SHA512 dff9aa248cd0efd1b28c6254c040cd30356ce973a3ed525530db783d6f7ebcdd32568bfa5c68c2aba0bb312ee74f03d1c91361e69830fe79ddd4d31e73fc2865
-DIST rust-1.44.0-powerpc64le-unknown-linux-gnu.tar.xz 112746336 BLAKE2B e0a6bd623535a28489acf90c54d188dfaa4bc0e71b90008e28e78482e8b50787e80a6501431f5b86790e12ca93e71499d9f824fd2ba5bb647de2817a6a5036cc SHA512 d74802fc29641d08b5e5d526e91258c71d914daf0f33abea71ad7d300da4ae39d457b9d4e95b0b0811ec8ed5e60e7d0292e8e928f3079189e07887ce115bd466
-DIST rust-1.44.0-s390x-unknown-linux-gnu.tar.xz 118575084 BLAKE2B 9641f2a6fcaa6c1d0b5e552ca5401db2ce5232c5cddd2da081a994a4581ff186922adc1b4a8e0d1e5ff683709df45d0d6f649f0e5a8806c0200ed6a9821736a4 SHA512 39fac45e0c1e8786275ba30ed13d13334c7f0fc03d653a3e0a3e174d18e244d9e4bb99614ed1465e7a21befb2542ed4d3a54d4ea2702da449b1e6a7770a43970
-DIST rust-1.44.0-x86_64-unknown-linux-gnu.tar.xz 111833264 BLAKE2B 9eda334d802f9799bb558f37b7a9f468d068248a89e51a3f8d2e5d7fabebc3d477f65247576a2437845e3157cfeb04fddc7e60573b6ae391c25af7d8dde39e7c SHA512 25c762e07e178ffc1b96b4a113e437541d6dc18bd81fb9933af676e99ca391c6cdd8d420caabcfca1b3ddb987a84ff9eb1d0bdb3cca486e71925555f51ecaa4c
-DIST rust-1.44.0-x86_64-unknown-linux-musl.tar.xz 117514932 BLAKE2B 7bb8c7cb894d37f283b38fe7606e5ea2a91ff7f4eda95913d75cdcff04308c62700d67e49be47d3b03d50a2774ab8104ea6de78d98f5f0ce897d0b37998e7bf9 SHA512 1325b3c798f7cd7c5ebd582eb4513eed62e2807bcc3a5d86f3666f2dba97ba0a1f546daa3a3faeb38dd3852f1430effbcbd7751155d7352a464033cfe1802e75
DIST rust-1.44.1-aarch64-unknown-linux-gnu.tar.xz 101259004 BLAKE2B c00274660698c5e980a6fe28839f96783989bc5f102025a5e2b63466928f697afc3c70ff8efd00b525ea4b88823585e801690e6c05b246abf5600af80f911a07 SHA512 97a67addb5995f504d7326a500d1b40c52cc6e6e6f6e946adabcf825ce9b64272232a24bc30ce36e3ea63ccda4b980f3b7b61b0e88a8554f021b731ad79a35f1
DIST rust-1.44.1-arm-unknown-linux-gnueabi.tar.xz 107474900 BLAKE2B 1b21f28b12507cba83ede592670b715365b1ca1fa311dc70108404bc7fa199914716cf7e5560a682ccf4f37bfaf91357f547456a032b4914e75543fdb7e8e84f SHA512 5bb406cc999317a15988b434c3de53d11e3823359fd3dd798de8195fc2e7e7b32830c7cceb1cb7089f47b333346c42fd4153ba1b441799d89fa27207383b7043
DIST rust-1.44.1-arm-unknown-linux-gnueabihf.tar.xz 105267436 BLAKE2B 6e4c13028dc1751970b04b99db64be6e1ddbbc3b754318e3eabe03e7ae65031c4a5ed87582ec0ffa605a7ac69bee32c5fd48c6dcd84f298d73199a7f7d1c731f SHA512 fffadfc6d8317512ed50df97785a7d0094f59b9465ce5e762c45d6a3a484cdb3c04a72ac49c3d61abad898503378d841ed6abaa16a072aa6adc9069619e26a49
@@ -68,9 +12,20 @@ DIST rust-1.44.1-powerpc64le-unknown-linux-gnu.tar.xz 112429740 BLAKE2B 10252623
DIST rust-1.44.1-s390x-unknown-linux-gnu.tar.xz 119312728 BLAKE2B f5e3209990d3cc0181a200448e4bcbf1f6754847cfc36d7355e191fd49e239d3e0c002310743fd063241c5dec47da3a0776c361241facbcc4a1f1e9254eb805d SHA512 84c6ed736bb7d0c10aaceeb2c2c3c97f6188fd7d7f4466c8ef35ffc591d6bde3b273a0d62d50e60f184ccd81c96a31ed2e610e82fb9ed9efd574e4c5a5f25d26
DIST rust-1.44.1-x86_64-unknown-linux-gnu.tar.xz 112133992 BLAKE2B c0af6bf1417bbb69be9f552f60805eb0a5f530b667ca2bbd04db9d567f1eb467a9e72912062a3c22d3922c29809258637dd7568c29e461dbeb5d17aa0699dd45 SHA512 540761fd5246f4a48a7606ac0220f0d61963473b57ef703696871dc23fda8154d45351b8e81018d15899c386b44e43b05028cc797d495e9dc46f127fbea7f093
DIST rust-1.44.1-x86_64-unknown-linux-musl.tar.xz 117456616 BLAKE2B fd2752cf867e1ff701e624caf602fe7a29b47c64e633508e91da1a1b2321f5531441b84cc9f0ad159ef399d38628d60e59f8b7a99e5427df928abceb24f937f2 SHA512 05ca3e07001746511c5fcb5122f487205ffaee771805b0219db018b350d67945f5ab4b0b2cf98b7e7832b53365e3932fef37506a65ecaaf624d0bb8d43cf8427
-EBUILD rust-bin-1.41.1.ebuild 5383 BLAKE2B 866e2af12cc6c37e6df7393bd53f84f269bb9b73400d1669a06cfc64c2d98dd60c0889f58e0463876cabf44db012598957eed6a2fa4d65eb8c6a080d5df8eb17 SHA512 c8da3bfcb3b7358428df06eadb7f60aabe6344c8803d1bfb2923a6b02d20f4ad600288b33658a51a91a957cedc95ecbd9b102bf3e41a8bd026acf2b4bf5767fd
-EBUILD rust-bin-1.42.0.ebuild 5387 BLAKE2B 62fcf3605d748d3c2dca31e0a1abb00abb5f2ae03761f8818d06c77a4228cd0a9cedf90611c4580d89f2acfdcb9197fa7a60f4400fe35c9c46c8a1ab94ed1742 SHA512 790d6acb4936dfb453e32d5cb704579a0cca66e316c179e9e969af9aaec6aa0233b0bf2b001000ccce4920b382402bd1d3a8cc14e8458fbbdccec970f0090147
-EBUILD rust-bin-1.43.1.ebuild 5671 BLAKE2B 8d83def44b9d39be66f597e4cebc8acd9ed043adff649b477ef34d3a04c7ea52715f6b00f424a91a3b6a964a939e7bdec7c5b61e90d6f254491ba91cfb85621e SHA512 d17f5fcb9515ed4689e0d3e7e4c8fd686ef423a53687ac76864800e821f70a59cc03cfb049e60ccb8511a383e16e1a13e0600aa5aadb24cf32cfbf5a2266be8c
-EBUILD rust-bin-1.44.0.ebuild 5674 BLAKE2B 9f3818ab4cd1c20cd64ce3f798adac4016e30b4eaa1afe0337821f6c726bcc6ad6f9079f6ef50089fdb5fd89228cdbe5d15b253bfff8886d1eb47506b574284a SHA512 80cb77bd341198070ddef223308ac44d68c092acf0cc4d4ed37cc4765b1ad19939afe2a45d066433da5a51437ea2f4f17edaa25aa3921ace330aecbe3aa07a8d
-EBUILD rust-bin-1.44.1.ebuild 5674 BLAKE2B 9f3818ab4cd1c20cd64ce3f798adac4016e30b4eaa1afe0337821f6c726bcc6ad6f9079f6ef50089fdb5fd89228cdbe5d15b253bfff8886d1eb47506b574284a SHA512 80cb77bd341198070ddef223308ac44d68c092acf0cc4d4ed37cc4765b1ad19939afe2a45d066433da5a51437ea2f4f17edaa25aa3921ace330aecbe3aa07a8d
-MISC metadata.xml 400 BLAKE2B 0d1b68fd1959b1ca32f5e61356ceddfae623872d0fdc4f514922820260df46dec79349c6cb9b0aa36aa38fc790851307f70634a4bf39520dcd50d5c6048c7cc2 SHA512 517ec5f36df802c8299a6957cfddc17af8265b69ab86f46fe762193848bec042d369a2885ceeb61b1725d98c3022ea10202d9cc79f5eb32db2fef2667047f28d
+DIST rust-1.45.2-aarch64-unknown-linux-gnu.tar.xz 110433136 BLAKE2B e2aa575c71757ea54b361940ca0813728bc6ef63db491a6891c05ff91d6fb6e2bf49aaebd05daf648cf2ae07b5937e142ab26fd243665bbac202e1237b20900c SHA512 b4b3fb198bf85192563fb8b6017cf07f92b9c26d6e590efa9476aa878871839315db935e3353c664e635a229f17b0979bcfd31488e29e02ce0dc266d252b9e41
+DIST rust-1.45.2-arm-unknown-linux-gnueabi.tar.xz 114729036 BLAKE2B 8169a3827e8192de80bb654a667bcaa01c5f1bb49f2882b781d7d46bd20d5531204a477317c743c772e6067b225b1a3f78d333e2864e4dfcadb18777618d2811 SHA512 ecd79ba14feed330f81555854a7eadd894b9926482a2aad376c1f04aee16df01a3d929ec071e69b0f531466bbe00021c902bbb6b0ea4374c8ea5e2941d09d806
+DIST rust-1.45.2-arm-unknown-linux-gnueabihf.tar.xz 114488160 BLAKE2B 69ee32914d75a0d3f1e84bcf760177d5125e0d989b023cc8f5499c37894949d05b1d5e61340832d248b3a305ba1dcd670280a0e5ed0439984815e5c8e46b8d09 SHA512 e18e53016417ea0d9ae5bee90a3fcf75dc2b7b8b5dd0c71426e353b9ad162353bdb2dd1b071c63bf91342eb803a9eb7fdf348ef15d678d91e6d221a911a3770e
+DIST rust-1.45.2-armv7-unknown-linux-gnueabihf.tar.xz 116516572 BLAKE2B 8a658c21cbfa5dfdd25d5890d37581c29b37ca447b54b0bb1bfb929ec80592f873b1ee5a871a0c417d2ed821d6d0fdcdc078ba17ff58636668996f6fbf1274cf SHA512 dbf36643e87fc31cda5c0d5fc8b1589ce80531a94379060106ce81d525cd77c36ac6f89d5ae05d8872020baf31e5391422ed58c01ec6f801428d67e2e10896fb
+DIST rust-1.45.2-i686-unknown-linux-gnu.tar.xz 131555580 BLAKE2B b701374ba340aa965a1eacca89a18d7c8547b8c45d07fa1601bea10be7a5c4bf550f4a0dd5e99edc8eda4112b09fc2ec0477d4c1ea063d66263214d0cb283ae0 SHA512 afe81d38d8692e5792e111c3b2c83da4dffa99c9a8a89b5f1e10a6e449e49d4dd19d68c96d7b2f5013054d141bf4b1a08da1c2b877c7bbe87f81c19232020ecb
+DIST rust-1.45.2-mips-unknown-linux-gnu.tar.xz 101990496 BLAKE2B cd15ebe38be6774b01fdbf6278aef1f0fba13fac5500e47c8025a84b09e2d9ab953b0d461e01e5d92a2f63aa96f1f0950295079f0065288736a499b12fab2264 SHA512 7ed3d8d3c83515706516a1c85b232dfa5fef578558ccbd394c609fdf1ca8344e696c095d57eae7604aadeabcbb43dc19abac0db2b979690f70ca4b0ed17853e7
+DIST rust-1.45.2-mips64-unknown-linux-gnuabi64.tar.xz 106772956 BLAKE2B 0a9ecf20e3913a65ddfdb3fb90c284ccae5617bfd05af05557201ef8a6b55aaefa871b6763b7d712f90436e2b45f448ab7ac253c240cf3c22b557e82200c3e4a SHA512 6a45dcaf4c69df055e2563a5f8da37da08757e664af777b95f2ff2747b8ef1b5b72a0379b1395e836e3bf3019fdb8dd87da89cbe080bcdb0e59e941d1eaade9f
+DIST rust-1.45.2-mipsel-unknown-linux-gnu.tar.xz 104105424 BLAKE2B 88dee69ae51bc8d8200dfae5e7178de753b369c3a358b2713003eefebd135ce498654ee58d42be53db1b689f303bbe979ee29d8e547a4f41aebbb5845f04a424 SHA512 9be8c08a325346513ec5d78c2a555a79acb9b416d41d3d47cb4562a1612cb9e0e53490c2ea32be38fb884cf51bf529e4e8817b9f5ceb19f38ba30a4d512a8970
+DIST rust-1.45.2-powerpc-unknown-linux-gnu.tar.xz 104037748 BLAKE2B ba929a7613ead5edf806b9ce25f40dca308bfbef6a58a9f994e22c2f8e3573d8bedef3a55a5373d34369dd7965d1385623cf6e40f974e2901e684c14e1873e0a SHA512 dab05dbf487197ac95310c950fec92f8f1001d972df7b00f3f8ba58f1761da97b065de33ce19a18e5b2cf09519fc2fc54ef5863c118a7b8812b28ea5447ba857
+DIST rust-1.45.2-powerpc64-unknown-linux-gnu.tar.xz 114778460 BLAKE2B 5731791ff34c211c4008ada25d493b4b6a3331275d70340825b3ccd95d76849c016101ef6130a51bec912824bd86e594905262d7b0657216b4dbccbcdba861db SHA512 fbf909e5f9135d5216dbbc1be0d1e3159000c58b83bcdeb9839a12f5a9ff56261a61edfab93cd21800a90ff56bb9eff8a1ad83c60fa54bf0cf4b149219dbe914
+DIST rust-1.45.2-powerpc64le-unknown-linux-gnu.tar.xz 118941136 BLAKE2B 96b297b08cd2cdb4b25992b6b0eefbdc3c453c31fec5f36597d185d2a43a8e04d0f4d0ec7523c1c79b7d62d89b0f98be01e524d0d69a20d2f50771f97906e3f8 SHA512 6cb169efae4c847ba204fa24c1f40b4320e53928ab8966727971a5bc7a565eaa6142f40904cec93927543b25450db23d816c20653f53d3aa36ac616fe85ee6ba
+DIST rust-1.45.2-s390x-unknown-linux-gnu.tar.xz 125144128 BLAKE2B 66d8ee3b94b427cd55f8b662cae9f3b86ea108706c51bedfbc6e68018b40a7d0ad1162eb649b4af3c60e425c46cbdb23ef966d670abd698df383eae834a3b854 SHA512 7727cfbeed29e8a1e79398392332b25b5498900f593f3d08414c70b44da0cd06dca0791a361956c47c3367e6572d59d885085d3cd99fd4a9c28c431a158ddbfd
+DIST rust-1.45.2-x86_64-unknown-linux-gnu.tar.xz 118135364 BLAKE2B 0ad1277674284d29c4e4bc1cdf0163794caf37e39d28381f4dac29303381690a0c125fb2a56437ca735746c2bd6de7961dbfd325808939758ee2d4a15d72aec2 SHA512 dfd3ce0cc42ae82a2d13866c5c94c304b031e253a1485ccc1d6ecd62cc05018b01ac7b2183297bc45ada286b5e91d1344aa3d8417694ab834f8265c7838b4fd2
+DIST rust-1.45.2-x86_64-unknown-linux-musl.tar.xz 124782956 BLAKE2B dac6f48204aee39598a5c83c16b6b1bfbd239a8842bc681450645ef4b7f030666694e6f005473933a5613e5545fc80b9090c0aeb3b3db3a213d8899a7e90e5bf SHA512 14f556599b29f85c4bac39774142e580dbbe68268a16d32f539169defc73353a3c9fd44835358bc53262db43345bb139d14143dd5b6ae64823b9c98b25c4eb75
+EBUILD rust-bin-1.44.1.ebuild 6009 BLAKE2B a84f4b3ae5be6dec7ec512748aae668df471a6f116ce535110309457a8c18859b1c60edf22ecb62a4a501280ca476851bcf8617b08acfd6c9ef54884b41fa9e0 SHA512 3fca7c1ff9d338ef6ae4a6fd0ba2fa19b6d6bb2387408da74b37860c527a371598046ee45b9b2c583fed2c3ed3afcf959beeda15d102e4db4bd7cc6ffb1d61c7
+EBUILD rust-bin-1.45.2.ebuild 6014 BLAKE2B d622da6e6eeb3af0125f6f15a87832083cbe41246b9b95bae3e390bae21aa078648d6476296f38fabe832aa72c2b9a67b33e7061f4e3414059d94a5c544bf6ff SHA512 7fae7c0dc5ff1e6071c38d8226eb5892720f472fe742e49837d6f89df2a02acbb822421b02eeb4545715584e871ba80ff8a0cf1e73e91d0f745fd44f8c1afd4d
+MISC metadata.xml 489 BLAKE2B b9c157f91a878ec1196183173bb339e9beb832e9b002cd72ac5b0fc8a64e7d7b27d165f79bf34eb1debfa69c2381b5b9a74a9b52cefc9efdfe41c93ed72ecd9a SHA512 814c53f00547b8a2b12cab136c95222480ab34b1cec307029e66c7d712e1e00eb2a725ccdfe73d7f1b154b362867c7150caef3609daba20f8d4c2496c47f6b09
diff --git a/dev-lang/rust-bin/metadata.xml b/dev-lang/rust-bin/metadata.xml
index 01ce1ade6f08..85a5a106c378 100644
--- a/dev-lang/rust-bin/metadata.xml
+++ b/dev-lang/rust-bin/metadata.xml
@@ -1,12 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>rust@gentoo.org</email>
- <name>Rust Project</name>
- </maintainer>
- <use>
- <flag name="clippy">Install clippy, Rust code linter</flag>
- <flag name="rustfmt">Install rustfmt, Rust code formatter</flag>
- </use>
+ <maintainer type="project">
+ <email>rust@gentoo.org</email>
+ <name>Rust Project</name>
+ </maintainer>
+ <use>
+ <flag name="clippy">Install clippy, Rust code linter</flag>
+ <flag name="rls">Install rls, Rust Language Server (used with IDEs supporting RLS protocol)</flag>
+ <flag name="rustfmt">Install rustfmt, Rust code formatter</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-lang/rust-bin/rust-bin-1.41.1.ebuild b/dev-lang/rust-bin/rust-bin-1.41.1.ebuild
deleted file mode 100644
index 193d17cba945..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.41.1.ebuild
+++ /dev/null
@@ -1,167 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1 rust-toolchain toolchain-funcs
-
-MY_P="rust-${PV}"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-SRC_URI="$(rust_all_arch_uris ${MY_P})"
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
-SLOT="stable"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-IUSE="clippy cpu_flags_x86_sse2 doc libressl rustfmt"
-
-DEPEND=""
-RDEPEND="
- >=app-eselect/eselect-rust-20190311
- sys-libs/zlib
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- net-libs/libssh2
- net-misc/curl[ssl]
-"
-
-REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
-
-QA_PREBUILT="
- opt/${P}/bin/*-${PV}
- opt/${P}/lib/*.so
- opt/${P}/lib/rustlib/*/bin/*
- opt/${P}/lib/rustlib/*/lib/*.so
- opt/${P}/lib/rustlib/*/lib/*.rlib*
-"
-
-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() {
- default
- mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
-}
-
-src_install() {
- local std=$(grep 'std' ./components)
- local components="rustc,cargo,${std}"
- use doc && components="${components},rust-docs"
- use clippy && components="${components},clippy-preview"
- use rustfmt && components="${components},rustfmt-preview"
- ./install.sh \
- --components="${components}" \
- --disable-verify \
- --prefix="${ED}/opt/${P}" \
- --mandir="${ED}/opt/${P}/man" \
- --disable-ldconfig \
- || die
-
- local rustc=rustc-bin-${PV}
- local rustdoc=rustdoc-bin-${PV}
- local rustgdb=rust-gdb-bin-${PV}
- local rustgdbgui=rust-gdbgui-bin-${PV}
- local rustlldb=rust-lldb-bin-${PV}
-
- mv "${ED}/opt/${P}/bin/rustc" "${ED}/opt/${P}/bin/${rustc}" || die
- mv "${ED}/opt/${P}/bin/rustdoc" "${ED}/opt/${P}/bin/${rustdoc}" || die
- mv "${ED}/opt/${P}/bin/rust-gdb" "${ED}/opt/${P}/bin/${rustgdb}" || die
- mv "${ED}/opt/${P}/bin/rust-gdbgui" "${ED}/opt/${P}/bin/${rustgdbgui}" || die
- mv "${ED}/opt/${P}/bin/rust-lldb" "${ED}/opt/${P}/bin/${rustlldb}" || die
-
- dosym "${rustc}" "/opt/${P}/bin/rustc"
- dosym "${rustdoc}" "/opt/${P}/bin/rustdoc"
- dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb"
- dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui"
- dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb"
-
- dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}"
- dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}"
- dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}"
- dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}"
- dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
-
- local cargo=cargo-bin-${PV}
- mv "${ED}/opt/${P}/bin/cargo" "${ED}/opt/${P}/bin/${cargo}" || die
- dosym "${cargo}" "/opt/${P}/bin/cargo"
- dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
-
- if use clippy; then
- local clippy_driver=clippy-driver-bin-${PV}
- local cargo_clippy=cargo-clippy-bin-${PV}
- mv "${ED}/opt/${P}/bin/clippy-driver" "${ED}/opt/${P}/bin/${clippy_driver}" || die
- mv "${ED}/opt/${P}/bin/cargo-clippy" "${ED}/opt/${P}/bin/${cargo_clippy}" || die
- dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver"
- dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy"
- dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
- dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
- fi
- if use rustfmt; then
- local rustfmt=rustfmt-bin-${PV}
- local cargo_fmt=cargo-fmt-bin-${PV}
- mv "${ED}/opt/${P}/bin/rustfmt" "${ED}/opt/${P}/bin/${rustfmt}" || die
- mv "${ED}/opt/${P}/bin/cargo-fmt" "${ED}/opt/${P}/bin/${cargo_fmt}" || die
- dosym "${rustfmt}" "/opt/${P}/bin/rustfmt"
- dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt"
- dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}"
- dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}"
- fi
-
- cat <<-EOF > "${T}"/50${P}
- LDPATH="/opt/${P}/lib"
- MANPATH="/opt/${P}/man"
- EOF
- doenvd "${T}"/50${P}
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-EOF > "${T}/provider-${P}"
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- EOF
- echo /usr/bin/cargo >> "${T}/provider-${P}"
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
- echo /usr/bin/cargo-clippy >> "${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}"
-}
-
-pkg_postinst() {
- eselect rust update --if-unset
-
- 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
-
- if use elibc_musl; then
- ewarn "${PN} on *-musl targets is configured with crt-static"
- ewarn ""
- ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
- ewarn "to use it with portage, otherwise you may see failures like"
- ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
- ewarn "x86_64-unknown-linux-musl does not support these crate types"
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust-bin/rust-bin-1.42.0.ebuild b/dev-lang/rust-bin/rust-bin-1.42.0.ebuild
deleted file mode 100644
index 51deede915ab..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.42.0.ebuild
+++ /dev/null
@@ -1,167 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1 rust-toolchain toolchain-funcs
-
-MY_P="rust-${PV}"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-SRC_URI="$(rust_all_arch_uris ${MY_P})"
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
-SLOT="stable"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="clippy cpu_flags_x86_sse2 doc libressl rustfmt"
-
-DEPEND=""
-RDEPEND="
- >=app-eselect/eselect-rust-20190311
- sys-libs/zlib
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- net-libs/libssh2
- net-misc/curl[ssl]
-"
-
-REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
-
-QA_PREBUILT="
- opt/${P}/bin/*-${PV}
- opt/${P}/lib/*.so
- opt/${P}/lib/rustlib/*/bin/*
- opt/${P}/lib/rustlib/*/lib/*.so
- opt/${P}/lib/rustlib/*/lib/*.rlib*
-"
-
-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() {
- default
- mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
-}
-
-src_install() {
- local std=$(grep 'std' ./components)
- local components="rustc,cargo,${std}"
- use doc && components="${components},rust-docs"
- use clippy && components="${components},clippy-preview"
- use rustfmt && components="${components},rustfmt-preview"
- ./install.sh \
- --components="${components}" \
- --disable-verify \
- --prefix="${ED}/opt/${P}" \
- --mandir="${ED}/opt/${P}/man" \
- --disable-ldconfig \
- || die
-
- local rustc=rustc-bin-${PV}
- local rustdoc=rustdoc-bin-${PV}
- local rustgdb=rust-gdb-bin-${PV}
- local rustgdbgui=rust-gdbgui-bin-${PV}
- local rustlldb=rust-lldb-bin-${PV}
-
- mv "${ED}/opt/${P}/bin/rustc" "${ED}/opt/${P}/bin/${rustc}" || die
- mv "${ED}/opt/${P}/bin/rustdoc" "${ED}/opt/${P}/bin/${rustdoc}" || die
- mv "${ED}/opt/${P}/bin/rust-gdb" "${ED}/opt/${P}/bin/${rustgdb}" || die
- mv "${ED}/opt/${P}/bin/rust-gdbgui" "${ED}/opt/${P}/bin/${rustgdbgui}" || die
- mv "${ED}/opt/${P}/bin/rust-lldb" "${ED}/opt/${P}/bin/${rustlldb}" || die
-
- dosym "${rustc}" "/opt/${P}/bin/rustc"
- dosym "${rustdoc}" "/opt/${P}/bin/rustdoc"
- dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb"
- dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui"
- dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb"
-
- dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}"
- dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}"
- dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}"
- dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}"
- dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
-
- local cargo=cargo-bin-${PV}
- mv "${ED}/opt/${P}/bin/cargo" "${ED}/opt/${P}/bin/${cargo}" || die
- dosym "${cargo}" "/opt/${P}/bin/cargo"
- dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
-
- if use clippy; then
- local clippy_driver=clippy-driver-bin-${PV}
- local cargo_clippy=cargo-clippy-bin-${PV}
- mv "${ED}/opt/${P}/bin/clippy-driver" "${ED}/opt/${P}/bin/${clippy_driver}" || die
- mv "${ED}/opt/${P}/bin/cargo-clippy" "${ED}/opt/${P}/bin/${cargo_clippy}" || die
- dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver"
- dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy"
- dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
- dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
- fi
- if use rustfmt; then
- local rustfmt=rustfmt-bin-${PV}
- local cargo_fmt=cargo-fmt-bin-${PV}
- mv "${ED}/opt/${P}/bin/rustfmt" "${ED}/opt/${P}/bin/${rustfmt}" || die
- mv "${ED}/opt/${P}/bin/cargo-fmt" "${ED}/opt/${P}/bin/${cargo_fmt}" || die
- dosym "${rustfmt}" "/opt/${P}/bin/rustfmt"
- dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt"
- dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}"
- dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}"
- fi
-
- cat <<-EOF > "${T}"/50${P}
- LDPATH="/opt/${P}/lib"
- MANPATH="/opt/${P}/man"
- EOF
- doenvd "${T}"/50${P}
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-EOF > "${T}/provider-${P}"
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- EOF
- echo /usr/bin/cargo >> "${T}/provider-${P}"
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
- echo /usr/bin/cargo-clippy >> "${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}"
-}
-
-pkg_postinst() {
- eselect rust update --if-unset
-
- 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
-
- if use elibc_musl; then
- ewarn "${PN} on *-musl targets is configured with crt-static"
- ewarn ""
- ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
- ewarn "to use it with portage, otherwise you may see failures like"
- ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
- ewarn "x86_64-unknown-linux-musl does not support these crate types"
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust-bin/rust-bin-1.43.1.ebuild b/dev-lang/rust-bin/rust-bin-1.43.1.ebuild
deleted file mode 100644
index 49f22a50239b..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.43.1.ebuild
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1 rust-toolchain toolchain-funcs multilib-minimal
-
-MY_P="rust-${PV}"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-SRC_URI="$(rust_all_arch_uris ${MY_P})"
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
-SLOT="stable"
-KEYWORDS="amd64 ~arm ~arm64 ppc64 x86"
-IUSE="clippy cpu_flags_x86_sse2 doc rustfmt"
-
-DEPEND=""
-RDEPEND=">=app-eselect/eselect-rust-20190311"
-
-REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
-
-QA_PREBUILT="
- opt/${P}/bin/*-${PV}
- opt/${P}/lib/*.so
- opt/${P}/lib/rustlib/*/bin/*
- opt/${P}/lib/rustlib/*/lib/*.so
- opt/${P}/lib/rustlib/*/lib/*.rlib*
-"
-
-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() {
- default
- mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
-
- # start native abi install
- pushd "${S}" >/dev/null || die
- local std
- std="$(grep 'std' ./components)"
- local components="rustc,cargo,${std}"
- use doc && components="${components},rust-docs"
- use clippy && components="${components},clippy-preview"
- use rustfmt && components="${components},rustfmt-preview"
- ./install.sh \
- --components="${components}" \
- --disable-verify \
- --prefix="${ED}/opt/${P}" \
- --mandir="${ED}/opt/${P}/man" \
- --disable-ldconfig \
- || die
-
- local rustc=rustc-bin-${PV}
- local rustdoc=rustdoc-bin-${PV}
- local rustgdb=rust-gdb-bin-${PV}
- local rustgdbgui=rust-gdbgui-bin-${PV}
- local rustlldb=rust-lldb-bin-${PV}
-
- mv "${ED}/opt/${P}/bin/rustc" "${ED}/opt/${P}/bin/${rustc}" || die
- mv "${ED}/opt/${P}/bin/rustdoc" "${ED}/opt/${P}/bin/${rustdoc}" || die
- mv "${ED}/opt/${P}/bin/rust-gdb" "${ED}/opt/${P}/bin/${rustgdb}" || die
- mv "${ED}/opt/${P}/bin/rust-gdbgui" "${ED}/opt/${P}/bin/${rustgdbgui}" || die
- mv "${ED}/opt/${P}/bin/rust-lldb" "${ED}/opt/${P}/bin/${rustlldb}" || die
-
- dosym "${rustc}" "/opt/${P}/bin/rustc"
- dosym "${rustdoc}" "/opt/${P}/bin/rustdoc"
- dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb"
- dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui"
- dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb"
-
- dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}"
- dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}"
- dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}"
- dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}"
- dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
-
- local cargo=cargo-bin-${PV}
- mv "${ED}/opt/${P}/bin/cargo" "${ED}/opt/${P}/bin/${cargo}" || die
- dosym "${cargo}" "/opt/${P}/bin/cargo"
- dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
-
- if use clippy; then
- local clippy_driver=clippy-driver-bin-${PV}
- local cargo_clippy=cargo-clippy-bin-${PV}
- mv "${ED}/opt/${P}/bin/clippy-driver" "${ED}/opt/${P}/bin/${clippy_driver}" || die
- mv "${ED}/opt/${P}/bin/cargo-clippy" "${ED}/opt/${P}/bin/${cargo_clippy}" || die
- dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver"
- dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy"
- dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
- dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
- fi
- if use rustfmt; then
- local rustfmt=rustfmt-bin-${PV}
- local cargo_fmt=cargo-fmt-bin-${PV}
- mv "${ED}/opt/${P}/bin/rustfmt" "${ED}/opt/${P}/bin/${rustfmt}" || die
- mv "${ED}/opt/${P}/bin/cargo-fmt" "${ED}/opt/${P}/bin/${cargo_fmt}" || die
- dosym "${rustfmt}" "/opt/${P}/bin/rustfmt"
- dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt"
- dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}"
- dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}"
- fi
-
- cat <<-EOF > "${T}"/50${P}
- LDPATH="/opt/${P}/lib"
- MANPATH="/opt/${P}/man"
- EOF
- doenvd "${T}"/50${P}
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-EOF > "${T}/provider-${P}"
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- EOF
- echo /usr/bin/cargo >> "${T}/provider-${P}"
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
- echo /usr/bin/cargo-clippy >> "${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
-}
-
-pkg_postinst() {
- eselect rust update --if-unset
-
- 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
-
- if use elibc_musl; then
- ewarn "${PN} on *-musl targets is configured with crt-static"
- ewarn ""
- ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
- ewarn "to use it with portage, otherwise you may see failures like"
- ewarn "error: cannot produce proc-macro for serde_derive as the target "
- ewarn "x86_64-unknown-linux-musl does not support these crate types"
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust-bin/rust-bin-1.44.1.ebuild b/dev-lang/rust-bin/rust-bin-1.44.1.ebuild
index b36387480c97..7165b90fd15d 100644
--- a/dev-lang/rust-bin/rust-bin-1.44.1.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.44.1.ebuild
@@ -13,8 +13,8 @@ SRC_URI="$(rust_all_arch_uris ${MY_P})"
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
SLOT="stable"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="clippy cpu_flags_x86_sse2 doc rustfmt"
+KEYWORDS="amd64 arm arm64 ppc64 x86"
+IUSE="clippy cpu_flags_x86_sse2 doc rls rustfmt"
DEPEND=""
RDEPEND=">=app-eselect/eselect-rust-20190311"
@@ -50,7 +50,8 @@ multilib_src_install() {
local components="rustc,cargo,${std}"
use doc && components="${components},rust-docs"
use clippy && components="${components},clippy-preview"
- use rustfmt && components="${components},rustfmt-preview"
+ use rls && components="${components},rls-preview"
+ use rustfmt && components="${components},rustfmt-preview,rust-analysis"
./install.sh \
--components="${components}" \
--disable-verify \
@@ -98,6 +99,13 @@ multilib_src_install() {
dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
fi
+ if use rls; then
+ local rls=rls-bin-${PV}
+ mv "${ED}/opt/${P}/bin/rls" "${ED}/opt/${P}/bin/${rls}" || die
+
+ dosym "${rls}" "/opt/${P}/bin/rls"
+ dosym "../../opt/${P}/bin/${rls}" "/usr/bin/${rls}"
+ fi
if use rustfmt; then
local rustfmt=rustfmt-bin-${PV}
local cargo_fmt=cargo-fmt-bin-${PV}
@@ -127,6 +135,9 @@ multilib_src_install() {
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}"
diff --git a/dev-lang/rust-bin/rust-bin-1.44.0.ebuild b/dev-lang/rust-bin/rust-bin-1.45.2.ebuild
index b36387480c97..3e4fa1104406 100644
--- a/dev-lang/rust-bin/rust-bin-1.44.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.45.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="$(rust_all_arch_uris ${MY_P})"
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
SLOT="stable"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="clippy cpu_flags_x86_sse2 doc rustfmt"
+IUSE="clippy cpu_flags_x86_sse2 doc rls rustfmt"
DEPEND=""
RDEPEND=">=app-eselect/eselect-rust-20190311"
@@ -50,7 +50,8 @@ multilib_src_install() {
local components="rustc,cargo,${std}"
use doc && components="${components},rust-docs"
use clippy && components="${components},clippy-preview"
- use rustfmt && components="${components},rustfmt-preview"
+ use rls && components="${components},rls-preview"
+ use rustfmt && components="${components},rustfmt-preview,rust-analysis"
./install.sh \
--components="${components}" \
--disable-verify \
@@ -98,6 +99,13 @@ multilib_src_install() {
dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
fi
+ if use rls; then
+ local rls=rls-bin-${PV}
+ mv "${ED}/opt/${P}/bin/rls" "${ED}/opt/${P}/bin/${rls}" || die
+
+ dosym "${rls}" "/opt/${P}/bin/rls"
+ dosym "../../opt/${P}/bin/${rls}" "/usr/bin/${rls}"
+ fi
if use rustfmt; then
local rustfmt=rustfmt-bin-${PV}
local cargo_fmt=cargo-fmt-bin-${PV}
@@ -127,6 +135,9 @@ multilib_src_install() {
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}"
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 34957ae73677..d008b2774708 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -1,52 +1,5 @@
AUX 0012-Ignore-broken-and-non-applicable-tests.patch 3387 BLAKE2B 6809f3d5c2cf5698d516ccd74dbbf66cc4265200f75567fa197743672895ddee418367751ac3d99a263ff3417ed89718cd3602c609d0dfac7ba2fd5ac18dce76 SHA512 0c41c238dc0b5a7130398d8c1d6bb6987c9bff704c89875830e9d6ad28d49d9b300c1fe7c982ef9be9a92ed0057f6fc04a604d189d1aec2dc2b014d6d50a7d8d
-AUX 1.40.0-add-soname.patch 1690 BLAKE2B 87708762c1870789462cbcff2d66aae1321c4a7a2a3442536b497c824132082c260d59a47c74242bd954f6ef174784d73352188077899927b62fa71707cb7aec SHA512 d835699769f5f68d5f92507c03460a6aa84d0c93b03f71b0a5fdf9efbc4cf4761d1e10135ae8240b91f97fa158424fdb5c30b7aea96672c754f1091e80511902
-AUX 1.42.0-fix-bootstrap.patch 17104 BLAKE2B 21b7f7730e32da7dcfc5cbb2ae73d3e3dab59770151e3ff39073a023fd0826b82a1c52bbb2f5d6c2a1d8b4d9eef40aba399dd56e200aea91e4ed8ababcb3b8aa SHA512 47541c5da1f3cf2d92386ed36c4370475cd045ea7797234de6b6ca5f81b28fe786dc6cc5d476aa1c1b61a470c07b5353c419e69a8e55a2a0a1f303af9e141502
-AUX 1.42.0-libressl.patch 8926 BLAKE2B 16e558246768ceaf923b139cb7af55c901e8eece0b4f8d4e5bd47382a4c806cf9f8931f3e5fa315270945bfe297aa98e08b4528e36d3e7f445971043a4e5992f SHA512 6c3dd0d0ff1a975cbefd21e593a16a68061e1b5bc1a31d3d7df7cc800914596e0ca8dc278172ef244ea53e7c9266ac40ef8c38e3de2e8f5e337418dd8f898ca2
-AUX 1.43.0-llvm10.patch 8747 BLAKE2B a34b7b671bd2554a6f5e854f76f3242ab30b38c8d77d5965ab39bd24825ec37ef4980e0078cb3dc058037089dda8d6f51ce284b8fc786bcd4af77ec511a9d967 SHA512 b004d0c8945fcd5c10342086ff5643af615419abddf20f04ebeb8d470b450cda1fbc74aac1609f9f3bcc1ca04db23f704d75ee03d6b1f706ad9d1e4e1c0a367a
AUX 1.44.0-libressl.patch 8969 BLAKE2B 1ae707140a93fd76ec825e0e8c49f1408cda5a3b290a07c974d8ba8ba9b82e230bc2a4864cdecc744425d77ded819690da9328af2f648c636e8fd9ba3f0bb131 SHA512 81421ce6a0eb89bb51ff6a95be79159fce18be51c341f29aaf9d18e9b4aa1d3324e0c3472f72881c94a053b6dc4490c16b5ca2ac9cece0ea2d01051e3ed28a56
-AUX llvm-gcc10.patch 1086 BLAKE2B 92e4eb43f6b65d01fd0de1b51bf027e2ca874aa3f07b3b56f22c8e9a36a523625259bc850103fff36f99dd6a866c47d751752e95116ecfcd5281eea3d0475c1f SHA512 2e6edf3b10003ee873cfa7b2e6f25a58699df41a26b51a85472a19373bb2145d1259c26128584ebd56470e53c5f5624495f1848624c7819436846f3ad67cb18f
-DIST rust-1.40.0-aarch64-unknown-linux-gnu.tar.xz 80285104 BLAKE2B 857a3148337833a216912b732c017827d0ee2869af41d114f3a743fbc8bd0ad851c4c42dca63cbcb8f15c816a8c45bd60049fb60ea80a85faec23000140acab6 SHA512 f601e4251e08a6d66edb0489b6ab840b57622b506547e81036e6dfe08eb71005a22a2777a0b8b2d07a6f88286d58f513482b863116311a6f43c7284769af6e7f
-DIST rust-1.40.0-arm-unknown-linux-gnueabi.tar.xz 82051152 BLAKE2B 33c62780b3f228298217f7a16e00348cf3c29c504f59de414a0e8a3c506c801d87f460a7bf6107bb7856249c5a5b8fad94499f7f059602b99252ef85dc5b973c SHA512 2098ff12393dd99004ce94f49d445dad03184a108ea8249b70e51abd44bd510f8a4ee43eba3b32967b1a543951e8eec5b06c85692312821b5c855c1d5f034e94
-DIST rust-1.40.0-arm-unknown-linux-gnueabihf.tar.xz 82518972 BLAKE2B 2861693efa9bbd54e09bd693886941ec13b09f1901d384f24534b2852f9cb3b59fa0eaac1ec16bc6df49437cf08a09eff6c649729b0b8c2b4d8def6d7111d229 SHA512 994a91704e65e126bf3d53aa5ccbf9f92f05495a68db1917754f8bf078f16b0255797c884b4f2c70033ae0c94d5f41ad73e1af2e963580ebf56c90a6bf76630a
-DIST rust-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz 84254100 BLAKE2B 5ec75764435f5b906ed5ac84c6454a8fade0d71a9f9d2b3c799525ebf1e1a6e208e85dffe125e3de163d94a62693241a6ed59651955942edc8cdfad5c354a23d SHA512 d3345946c5a3d5cb3d7fca4d3200710704d64547ebfa4ab11c45ea1a18ca3c49b429783d499845f31dcb150abe2f6836fe203fd9d7aa53e0475b940da5549492
-DIST rust-1.40.0-i686-unknown-linux-gnu.tar.xz 122168896 BLAKE2B c89278bd7af7d167251c122297b4a8045da94951aaba5288a3a47b7d4f7af2af2e5ae672388f5c6192382e800151ad54cb2fc9a4fd66fde3acb8acb877aaa27b SHA512 d727149afbbc3b2709360dd6080ff301e781aaa94459c1348d3e35382bc9c7ad65c4d70f9bfc7b44ac92ddaf89e3aab92b75b9d184eba86916da25bd629592b6
-DIST rust-1.40.0-mips-unknown-linux-gnu.tar.xz 74305992 BLAKE2B cf51e3d843a32a3025232d1bc4374c55d3931d8b8634aed83f3f5e890081d7ed2a09d0aa3f026936d5e2f91fd26b56be704cf2975678db5fa23cf57c34277a89 SHA512 995b875dcbbd8472e3109504e695bf15eca812ea252e5ff1a615fb1c5dd3b66fe637fa4c30618b1584af4b641d4b4d5a4d7e1b6a09cb0ca4ff8fdd8a3488a255
-DIST rust-1.40.0-mips64-unknown-linux-gnuabi64.tar.xz 80925812 BLAKE2B a77123767639e93531fdf30af711a8dafd91c4143e7774edf88a9f513fd6fc928f3c96656ce4d0ede54677077c8eb383d5c37bee6881fd0796fe47257a16d753 SHA512 ebbb01c033c16dd9fe93ce0a532afa39b1459b056896c906f9e561285977e7c569e770c7e624e485cd8014008c9d496dae893921bbc1342c3e2b6520c9b84440
-DIST rust-1.40.0-mipsel-unknown-linux-gnu.tar.xz 76145484 BLAKE2B e06cfc8ac8d6124c4eb7c004c9e792c6ba21de5621d21456a7e47f1cd67f584d480708ddb098d882005953db818da27e396c9409c1e089d7db42844608ba1fe8 SHA512 4d4b52397574cfcbf8e79d71cbf783119b0096ed6d8b1f1a4c191336ac0e616b682342077f3451db477e0271a5ac453ee418314c071e8f922e790eb0e32ae768
-DIST rust-1.40.0-powerpc-unknown-linux-gnu.tar.xz 82846452 BLAKE2B e82e117b0592278b491399f27de4c26b518bf8f7cbb60125fc3ae36ddb033113324222ac7433ac9b02026efe4be477ec9967c55648121869a36ce833c3600afd SHA512 4d71bbf1b29f9ea649f444bafbaa8d6447026d992c264736b50365736c9e2129d28f23e09260aa21be10562727a5f6b298ddaf8f7598b4bad53d65cdd2f9e9f0
-DIST rust-1.40.0-powerpc64-unknown-linux-gnu.tar.xz 85231436 BLAKE2B b307d794e9e849d40a98116851950f76576b5ea6bb159c71830bb4210c40d5b6cc37d67d316d1b289735f83a29393699a49dd0c11cafe8191a64de6384ed69af SHA512 eae2e0ba3a6a9ba07945112c17962ca3c77737fa187759e674e78f626777da85a5ee6107168fe2866b5beb1ecf2e655652cb7d9b51867b247d76e174dfb103ce
-DIST rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz 87972788 BLAKE2B ad1e460dbd7ee5dbe90bf84a68fbcdd89f3d7a1a898ccd94827327bbb2bfeafeb66d5c50651183e0d429f8d14a41e4e26b8f7cae2ff61b055eddcb2c0fa6aecd SHA512 8b82f3bacc503aa23cfa7a6cd6232e34b734becffbbe02df9f766878d526d24d7409d8c104f39fa791c0f7a8b3fa61f6b8a528e89e8ab94d6a131b2d0ac11f0f
-DIST rust-1.40.0-s390x-unknown-linux-gnu.tar.xz 95398844 BLAKE2B e897ac3e1f46a63c7ad14e0e5229b7028ac325256e084439bcad0ced631eb26d50ca72710c46e59accb0e3d0574d08a9c15455be59a8d78173387d35ddd3bed7 SHA512 e71d3a1d85975653b6d972a4854c9e53be7f2d093a601145261c97f7917f869399fbc6322a04f63b782a5a28b91c3be40041a8c77367d19dec8d0e857cbbef14
-DIST rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz 110186516 BLAKE2B ad89d8cecbd565b23c98ec095bad218de971cb4bb89924bbcb012df6c9ecf0db2b50d624abdf6b050fe1f5067aea9311dc01852950a5ca5e993e99f913fc5dbc SHA512 11a2ad1d8b9e91cbe9ee6a1954d46ac75eeaa83f0c2425a8ad70d191727b02e86ead33d6464222effca6f5134c31a165801a854aa57bdb5f12944d605de3c1d1
-DIST rust-1.40.0-x86_64-unknown-linux-musl.tar.xz 96869284 BLAKE2B 61cdf2eab51455e377e079e7013959ee51358c9846f8442f81a3240062af573f452a0f5f007e63cbbcdd0db98ac22ab0d4f3006f6ef30327b609d303410cba8c SHA512 3e6d7cf7b24c09d13266e06f20ab317c5ffb68de3242719c71e95c3d778269c4076e06badfb488e8fc223b822246ebbeb888d4168ddf6e2401793e23e77810bb
-DIST rust-1.41.1-aarch64-unknown-linux-gnu.tar.xz 96755608 BLAKE2B f8635737089bb028cfac6d6478c4226a78c2c8a8aa12f28cba267744e2e915e062f49edb505f26b6deaeca0d2fdb4ec4b83e791f87bf1eab6c0536dc41e2c641 SHA512 54eac5c380b418c1714931ead7d6284b225bb427fcc501e147240000b71d31b667e308aea7f38f3299b1311ab04f19011b914d37a4581c7a64028965569cd58e
-DIST rust-1.41.1-arm-unknown-linux-gnueabi.tar.xz 98856136 BLAKE2B dbb3996a9ae302290886bf1cd4642d99a9b3f883f9d39817bb15f105565147e416e23d19e0d08314b08ed441f1ac528c20d8bee27ccef68cb585d8ef64a19e45 SHA512 1b01acd430af3cf99d838aa367dec4f6e4bfcec91388d4a2323cd781d53246edae0f14687b087b73b87c349f243e3acabe193538ce31303f07d59c6a03c31565
-DIST rust-1.41.1-arm-unknown-linux-gnueabihf.tar.xz 99107336 BLAKE2B 0dd84e7ad6081b8fdcfcb2691496ed3a493e08db4757e6d3bb2aa9a36fc6f020772a84bc21d0c60efeecf635512f25737b8d6b49a53020c4045c89c5b89881d7 SHA512 462e6d354a4b3b848781bb059decc5eb1ebb4d8a31651623d076a2654e2c8fd02f0f87ddafb124efa40cb134c9438eb252035c2b5bfdf936881b14a23bfbfe9f
-DIST rust-1.41.1-armv7-unknown-linux-gnueabihf.tar.xz 103399676 BLAKE2B da35342be05e58c11e6f96ab566b6a2f334d6975d4251deb2f41069d4a549ebf58aba43e1f07b99dedf0426ab0a8e8616b32799ca54a5f601d70910deca3efaf SHA512 400bf8d013fe5030243bc0ccb7066ea3d03a2c10727e04b6830ab91dfe9b04f78cfef10794a1c7bb6276fb00c86f1e1c42a74faba19f3125859b3464726d01c2
-DIST rust-1.41.1-i686-unknown-linux-gnu.tar.xz 120834812 BLAKE2B 4615eeb7c63392f66487243743fc57677654e232c786f9f970a9be9996dcb08e265631f6764e09e0444f8bb767b9c76366a26fe8fca9dcc149c81df5c2a3dd18 SHA512 c6d74b2653c537043eb2ea721095ff053def592b4c330bdc104690cfb51d648f515288cc0451743d94260f18a55d6757bcb8eb1e6c0217da3498d08b681ca6af
-DIST rust-1.41.1-mips-unknown-linux-gnu.tar.xz 92620720 BLAKE2B dff1be71d459e0256a19fb88f324e59cbf2e10fda693157802a63a08329c7dd4feca4b260510b3a1d6afb4afc9ed9dc549b741f598f3aedf50a982810d0bd140 SHA512 4fdca72b98a4fd25a2ddf33e0f31d9549c39fae9dfad6f1648556f144f82cfb2a487f6777d61476ad18bb0a0ac63810b99bb09a18719ec5344e89fccb16ac693
-DIST rust-1.41.1-mips64-unknown-linux-gnuabi64.tar.xz 96215100 BLAKE2B c52d564010d56df01bac6b2f447d56c00855c52ed8ebe6a2ac1b7786e8c73a1d529be7e7d5a4f7b427892494782aadcc4c8cc54157287d43f58938b0a57486c6 SHA512 2ed84ade11c6f4961e83e06a61d998a7abc9165cc384cc69470658e8244dc399e30c3f983a9f11b0bf88032d855bc47fe6d71f5db95cc7168e6f810c69095633
-DIST rust-1.41.1-mipsel-unknown-linux-gnu.tar.xz 93365592 BLAKE2B cd0d16f99a0976076530fa601f9bfeb61e1204bc278f78db015bc8d1629ce8f19da61a12573fdf9cf0d3d29e56f6915338aeaea3ef4d9b374eeb4095189fe71c SHA512 a0b7cc55ffeb0911d1d82d93cf2f4ea2a683ee76a783952b2f42c0b3c3d02b2bfc7df6f5762af91e6d02963e22a08ba26f143f594dfd6d41ad8198f7e8a862c0
-DIST rust-1.41.1-powerpc-unknown-linux-gnu.tar.xz 98530136 BLAKE2B 41399fcc9f1d88cc5a6fe0651012e4ebd1addde428c22611c30918a09ddad3640fb326bf48f94e5d12a610d2709eecf95c5d023f10bc6636eb6de1808a104e48 SHA512 545b2a4459bbfa7049755cbb63ad6e2917bf03cb9568eccbf3b01ea8f846263fbdc97ad29b42c440fa92dd9737b398196c1cdaf96c9716bba2f9e1d4a3a20125
-DIST rust-1.41.1-powerpc64-unknown-linux-gnu.tar.xz 104058752 BLAKE2B 10b3e3e4970fc05952f83e80e7d133d308045bdd3342199e885d2e6add113ada7959a93010046f48b1fedfe85f0346793fc54e0bf0c55d096f82622e198a928c SHA512 50367685783085cc384be944d4321dfde850f3a0e94de0625a08f17160af2c0b795276f96574d1bea84092cbc1cd3cde619d97fe2e37b07ead17f49164e1c995
-DIST rust-1.41.1-powerpc64le-unknown-linux-gnu.tar.xz 110594504 BLAKE2B eaf9c92ea9599314d12c5f9d0b654b523ceb8f40cc779cdbc2d50b4b07e0a37cd42d34000f0ace9c19154a1bd17110c097e30ee2b617f3a29de4966bb9303301 SHA512 1b2bf6d35321dd0a0fc9735005317f09f8b9a81b520612484530e29156ea254d5cada583e44f7e4a840edde09d70c34f7ead1208d8aa6037c652540dfa38cede
-DIST rust-1.41.1-s390x-unknown-linux-gnu.tar.xz 114814112 BLAKE2B ef22c377e1d89ef4ebe78df19d91bcf042e2e1d8997be80d7d40998b18f6b44f8bb1232b1f72e42e3ffb6d1ff235f3cd2f04854e996bbf7be8f6d5d7299e8514 SHA512 f809adc626876df5c6e050362d59189ede5e3991ac41fd129922540abeb728f618e1a3f3925cee34895de5e037141aabb1f8c2b94d4069945d174e38446e8153
-DIST rust-1.41.1-x86_64-unknown-linux-gnu.tar.xz 111202140 BLAKE2B 226c68b1e97cc9be82e81f6c9e065e08514166a65a57159c2f63527063ae5f514650afc2591e0c4854ecd0239dc82cbc9a97b99412608645aca879a71354d857 SHA512 c75d4a18cf9300c6ab480d34c5e4b41be971535931455239330cb2a0e927bcf9cf102498cad5dd1d5d802fd1d9c9d214b80e8ff15aa6be68d3e7f41420cad666
-DIST rust-1.41.1-x86_64-unknown-linux-musl.tar.xz 96076684 BLAKE2B 3672e24a83c1e4c97a0844f9522a9fced19d5ef01c89d44e54bba8683514a86f7a14ea2e8c2f28d03c65b7e2e0358ff3cea2f85de1e69eb5334c55e18a8c8e4f SHA512 29e7b2aae35017d7f4313e0a482712390ffec752e62d8b1bda95d56a1f93ba882a8f610b469b5d2d7fa3d6d35c2cdc4e45d219ad85b8a3f71ba6ce04b1add48b
-DIST rust-1.42.0-aarch64-unknown-linux-gnu.tar.xz 99903344 BLAKE2B 77e64c56c2f3ab505af9d9003d127b8beb3b2204344985faa6de92905c96d92342485e062e0ff1228baf51a67c8c2274078a60cc86e0c67ba99481a5c01d4d0d SHA512 691a11e279efdcafa6bdafacb7fb48ccf653e180e0e85909b6031105a297d47538efb36d63216f6185427f818483a51aa827f351ca2123840d72caf60079fe13
-DIST rust-1.42.0-arm-unknown-linux-gnueabi.tar.xz 102380528 BLAKE2B 5df9a33fa2b1414c9986f01d8dbd85fab2a705818336e1b2c94ca63136be7be63d25a2586efa956cf31aa604106b3c92857e2133169c7f3062da22006f1896bf SHA512 8e1b5351a3289441823ed0ce12f2fb0cedc267efe5c504966aefbc9a74f37ed11f4da1086295d7351c58c2d0bf59c4b7b54b23d5ec0dec4750bd7e38500afeb0
-DIST rust-1.42.0-arm-unknown-linux-gnueabihf.tar.xz 100300920 BLAKE2B eb90db613230e44f5002388d83460b635f33ceee349b094ca2472171d54ce3d459b6a2143a66705ef7ea89dcb0fc9b21e6d2f2f53479098ca8559f7c84ee0697 SHA512 d58c1820f39abfdf74569e26ba4f13347dde16632415d4ec0b54cc99c3b04563ed551ed1ba717b33e9b1a9b13e2502008203472f8ed712e302d1db66909e7ccf
-DIST rust-1.42.0-armv7-unknown-linux-gnueabihf.tar.xz 105021972 BLAKE2B 5a04715582193138344ef05700af4ccc90074a1b7d6ed8109993b6c59315e6fd6bc947504fcde36b869da8db4b7b8d8240f908387c8b2d78e21e35f6c27fdef7 SHA512 26768ec530506e20fed8f9ef2c1ca85eec155fc90949f2063836b6109b296a976c8430a698971a8b1c11e8f6ad043d854a36e9f0e849417178411dc5cbd30e59
-DIST rust-1.42.0-i686-unknown-linux-gnu.tar.xz 124258356 BLAKE2B 3e2e0c11e792943be65c989d4b9ba98cc92b2a1dfec7b8506f00d20e439050faf744b991e7e4fa91f0c8a52f7a4e5fb8dc5d383fd0430fa46c4e35dfa5bb26e7 SHA512 7376be5abed573bbf68f73ed5609fa8e22dfa3ead19a3f3d78d553347e3ae01604ab9906f5317f1687a8ab3f9ad9c38cde44ef6f56d7da65a788a74aee9df057
-DIST rust-1.42.0-mips-unknown-linux-gnu.tar.xz 95265764 BLAKE2B b02a340c7689812f7e13286f3dcde893933869c9becb071e9b0455eb68130d74fd67babdf85859ff7b4ef449261be6e09f230a4cf6196041c199d717324c8b21 SHA512 cc19b383ac3dde62750cd247e7fdec9ca4b4ee16880b9b00c42e62c57b46c522950983b500bf8fc70b8198469a18ab92c1ca382e8a07abf8bc937d8f17208d5d
-DIST rust-1.42.0-mips64-unknown-linux-gnuabi64.tar.xz 99814476 BLAKE2B 405fa7426a8d21648be97f6b93065b20878419a2c0aa5889ea6a66b9c0f5804d2673a23932a2462965f04e320c4e78f4c79d5b0a6f9877dfe9909d4b4b8864be SHA512 e8933af6290f2cb881fdfc7d2ba3da1c47ef67d847c8a3e659f8f626b7154f202f071ccd4e90555333a3f3dc2bf4101a645b5665dd00a6d72b5acacd6ad317a2
-DIST rust-1.42.0-mipsel-unknown-linux-gnu.tar.xz 95248132 BLAKE2B 875597ba699281d7160ba2f36fe03f3a234d19e5c6e91ce1291ab2369799349a42e1e7e6dcdf524980548a8c499693d6b48967913d4280776da7a921dfd18ab1 SHA512 733307eec1f938385a43b38aadcd84b7d4c1cfc084e070333d955d8b36f3192a7f7e6c05c5c07d782b945acbb261e48db94f2f9f7d3a09e8669055a577c90528
-DIST rust-1.42.0-powerpc-unknown-linux-gnu.tar.xz 100228400 BLAKE2B e05749ab974ffb0dbae332d4f59c8f71047f86c5e33a368555d996ccf14d229b0cda2cfbcf7f05902746fcf9b18a9a1ba4cd8d8cfeb51d3128f04914e8bc062d SHA512 ad2c9d3ebae5ccffd1f70d0a732a3e6cf793b203a8ab7bea3b90d45b63dac84cd513fcc494c7401a6dedcc1e4c3b6fa4ba95a4d3c10411dce5c2a06b84ef934a
-DIST rust-1.42.0-powerpc64-unknown-linux-gnu.tar.xz 106116524 BLAKE2B bfa533d3fdeaba4c539f18f205ddaa99c6a6be8f4213cf2d02090cc576ee17c721295262c78d84ec01bc286b59f6a30bf32e7c44e435205908fec03de1a8d60a SHA512 668d1d353bdaf676043ab7f4baad464b202e8ae1be7713e3481b8e9fb5fabd1020e10e178d69d099541cb1b23362b50b826790740156f1c96efa3d2a7457e404
-DIST rust-1.42.0-powerpc64le-unknown-linux-gnu.tar.xz 109926880 BLAKE2B 92a9067ff95bf2293eb5dc3f055275646f9f9764a59ea5dc772b1d8da78c28acfbd93e7a9076dd7ddfb36255cecda0646a7e5cc4ef4767cdb320aaf046f77162 SHA512 e1db9bbef45e88e7d1d5b905379c04786a015c90d0d9de6a6c16276a3e91c342a8231dda7a4d46ecc7adc969d07fd7dd8595975647b9ab69f8997fee74401219
-DIST rust-1.42.0-s390x-unknown-linux-gnu.tar.xz 116937084 BLAKE2B 4d68801c7c40aa0aca24d19d25e80614b5b40aa2715aacddb6b9f5441b1c7e19e7b0d396caea860607df1dc580deadc43d9cd1f988cbe654b3132b665f9032af SHA512 85b1331a9a71cc43a2fa628b8510590ff072e409c2c38ebfd9089ab7a245182e23b52f6221b25c63f6048e1bf4ada0f561dd8f3f810680c9727040bc8a0d8d46
-DIST rust-1.42.0-x86_64-unknown-linux-gnu.tar.xz 110826392 BLAKE2B 8c90bacc9b350d64c4084edf104e9004461d681e19f8e8179ff6eb0b2bc50e25d95e3ed13c83f77224cc60f374f3961f0069dfe20512c844598b8eb2393300b0 SHA512 87c06d4503e7ba12bd3dfc8dd279a3bdf33a24d2c22eec1378b79b2c17ccdad9b4c8dbd0d4704eae1f3476aec5639d3ba143e8c74a296d631b17b57da7447e70
-DIST rust-1.42.0-x86_64-unknown-linux-musl.tar.xz 97471188 BLAKE2B 29e7089a33a20e5c57a68c171e6b049e5dbc97d4c940106bbf7116c970e7ddb2271b1cf33162b4141d89b0b59049e09ca49c848a326036eefbc03e369f3ab18e SHA512 d804a08e38fa6735ce57067a3c39c59e2932943aa8baf43419815e9c743f50e198d88ef80d87fc193b8bcba011c685471146c0741954095eed74e41f86de38c8
DIST rust-1.43.1-aarch64-unknown-linux-gnu.tar.xz 104148868 BLAKE2B ac5db9eb58c502253d001e0c93aef867bc584d045960a1d3c2caf6772a7c1f4fbad7da579d7c72b3376804f61f1332a54e9fc7099ba5f4a65f7e5435df28894a SHA512 b54fad5493344d2370bd77110f0ffb0231f41ab8aa9707e9303304957c5d9067dc83089432eb175605b78dc771dfcf7abfcce63d7fecdbb759dd224c17d12da0
DIST rust-1.43.1-arm-unknown-linux-gnueabi.tar.xz 104779424 BLAKE2B 63c05d7403970bd4a237a6b690bcb8e78f310816a953af43da8d258a74102cd560c8674656c2036b1f391dc964ba6d2be2736bc10686c2365cc332b5c76a5502 SHA512 ea2eae6da6c757c07cf9631c706365c743c58f28b514444763ea70fed4c8fcefc5c36d55136afffc2f5e0d25e9b1fdf3243cb9def7e0f57e37b5a4783d44a61b
DIST rust-1.43.1-arm-unknown-linux-gnueabihf.tar.xz 103569032 BLAKE2B fc94eeb777a72fcb1b2821b5d10bb9eaca535d76e8caee3d06aed989107460e00146516c5be5714e9739c49d5170809fc132624f9a035afba146db883346c57a SHA512 1c523dafceb29f916a192261f673048c8f781453bcee237e0e333d694d7d7b71735544906f2edea9e0a8a48fc66a478645ae8ae865a171f4f9a94f0d8e6800c1
@@ -61,14 +14,22 @@ DIST rust-1.43.1-powerpc64le-unknown-linux-gnu.tar.xz 112921244 BLAKE2B 9fa67664
DIST rust-1.43.1-s390x-unknown-linux-gnu.tar.xz 119547480 BLAKE2B 8ce0d64e2d47f23cb927f3ea3a0f469e3cafc191ac1d47e580bce6cf0b35887484542f7d1b857d9bace5f696a072adb7e17e8c5f64af9bf1fbcc305707a15f9f SHA512 f087e50a91b1cc4a12bf15aea1cefbda9b89518febcecc0d56ea7d0a6a682be06cff7777d0a0b4812e96f3fb3295e7799bf200c1599c88cb7083a78d5002f14a
DIST rust-1.43.1-x86_64-unknown-linux-gnu.tar.xz 112817212 BLAKE2B c6153889d9872ed5a60bfc43bc8c98e71654fffdd79ce775c3eb4376ed4714c5532e6aaecb769e447f3ae0bb7a11aed75754a5e879404742cb0813080dcf67eb SHA512 2fc573ca2826d9f03044f746ae4d7715b4e31b9ac933289607aa3449a538bb4dfd519540576a1d0d286c0d754a7ba6ce38beef6aded1090d3af3091b6ba2a9ee
DIST rust-1.43.1-x86_64-unknown-linux-musl.tar.xz 103345832 BLAKE2B c16930854ea5e825e1338fdde3966e24d3505230891ab4e10160c5482298996768d8cee9890eadd486bfca41ebd5c9f38f7b7ead35a7848e59e409df8eaf9bdf SHA512 9f6ce2a5eaf98dc20b4ed88dbe60e8fb014ef3e7e82f5c31a28cf0f916d996271929cadeaf39a869f548aafb311f022acb408d51d4312c849c71843bc37ca202
-DIST rustc-1.41.1-src.tar.xz 93754192 BLAKE2B 235ece650d0c75e1c8700ce73d3811997cd0d827b850a6dd435a269f3f86d85849d54755ea346c5ddcbe0d1224836fd78213f6abeab4a9a8c4c3e2d8a05ff7b4 SHA512 ef33565c9cf4e27ca279072bfed3301e0276c09407d49727640746ba78d289de285278d64b1cce8708461fd6c97c7ab2ea8d56e7a4c4a23b2e66e2d164c35fc9
-DIST rustc-1.42.0-src.tar.xz 94186592 BLAKE2B 82298ef3da44188546bb945bcbfc1af630e6a4466b643667da08a04a33c6417afd68fc86302bdd22ab36c208fdb13cbc479e762d1217c05507bbfeb13bfbef7e SHA512 589bfdc92deedd33b8ea0df7f7c64c2a9a085fbea64936eff92f81e812309c060ed7a7adc96f6010d7adf62a68434a230da0f6c5b3540df4e0a5c6de05a31b16
-DIST rustc-1.43.1-src.tar.xz 94405276 BLAKE2B 8679fe937abc4f758f3e35c2542d57cc1ad0bb72111597881873b30779b6e7b6711baa52493cb5ff954bf9cd31367b36db4e4fc8676635026059197a33659048 SHA512 24bb01237b1f3f5412109290bb4406b9742cf8956162f4090a98ed3a59a6e2e8dda399452bec1c93c8afdcf5effd98e4825e7f218238e0e88735c1ff4a5b385f
-DIST rustc-1.44.0-src.tar.xz 94754392 BLAKE2B e46da2ceab4ba596ef693c2e7433e5faa3c2f60a10cbb56a446d9c3d66d6c7b08a6296df6fbb4b7c54c0762edcded698a7e2f60c3380990f631934aebb75d42c SHA512 03d6a2ec4c80eb436b278677080f360912c60aacffb98b79c91d5a79967ef988b2e62ccff9ab26993f852cebd62cdad48e149c4498f6dcdeb3699cbed19790e4
+DIST rust-1.44.1-aarch64-unknown-linux-gnu.tar.xz 101259004 BLAKE2B c00274660698c5e980a6fe28839f96783989bc5f102025a5e2b63466928f697afc3c70ff8efd00b525ea4b88823585e801690e6c05b246abf5600af80f911a07 SHA512 97a67addb5995f504d7326a500d1b40c52cc6e6e6f6e946adabcf825ce9b64272232a24bc30ce36e3ea63ccda4b980f3b7b61b0e88a8554f021b731ad79a35f1
+DIST rust-1.44.1-arm-unknown-linux-gnueabi.tar.xz 107474900 BLAKE2B 1b21f28b12507cba83ede592670b715365b1ca1fa311dc70108404bc7fa199914716cf7e5560a682ccf4f37bfaf91357f547456a032b4914e75543fdb7e8e84f SHA512 5bb406cc999317a15988b434c3de53d11e3823359fd3dd798de8195fc2e7e7b32830c7cceb1cb7089f47b333346c42fd4153ba1b441799d89fa27207383b7043
+DIST rust-1.44.1-arm-unknown-linux-gnueabihf.tar.xz 105267436 BLAKE2B 6e4c13028dc1751970b04b99db64be6e1ddbbc3b754318e3eabe03e7ae65031c4a5ed87582ec0ffa605a7ac69bee32c5fd48c6dcd84f298d73199a7f7d1c731f SHA512 fffadfc6d8317512ed50df97785a7d0094f59b9465ce5e762c45d6a3a484cdb3c04a72ac49c3d61abad898503378d841ed6abaa16a072aa6adc9069619e26a49
+DIST rust-1.44.1-armv7-unknown-linux-gnueabihf.tar.xz 109724880 BLAKE2B b53eb6441c18c98c12c6e181b499b7e482c9f4eb5e244f6a1fc694371800fe94ec15a9a60ee5e0695e488d3a9d925bc6ef946c23d084e01b43c2bc659874b713 SHA512 6a7bafba9c4d60bb13fac2a7683702352d3a04df24674f993952e9d872b9def47b5f8070925798343f5fd2f83775377ba2ddcf188b8500ec518fe44eb67483eb
+DIST rust-1.44.1-i686-unknown-linux-gnu.tar.xz 124915068 BLAKE2B 5de966d60f8e58e435e29aa63b906e117e7d73897ccdcfa692d0e582cf096c200b8c4f9a6ba76397f6ad29cfafaa4841503cf22764ac9517860bf46172539605 SHA512 fc6259c7b55a1ee457e444885c9604d2bcbe937833bdca9bb70fbfb230032c1e497ea04aa5edd761eefe5b48d34928998c6935563e76c82eccb7a03b1d5aaa45
+DIST rust-1.44.1-mips-unknown-linux-gnu.tar.xz 94537064 BLAKE2B 39a829ad9cea0303599cf8de2654f5fc7291af0a41d03c72cc0f1472162347b7ebf4a2cb7b2ad6e64bbca3b7d39ac7d2843d16a9ad205b8b14be48139b84b34f SHA512 e2284a0cfe38b85e41e5c712ca89b2099617a8836695628c509075772d23314b234730bcbeae060c1fc664bf193286493dcd546f672a6053428304e099acd41d
+DIST rust-1.44.1-mips64-unknown-linux-gnuabi64.tar.xz 102649752 BLAKE2B bc57e6a532c7806b6e302ab31f2dde7b88496bbadfec7185b8c389fa9cfd4a2baf18dccfe4c1b69d0914b7f481813dc4db72ad5944a9d67000493122228505bf SHA512 ef69913b8f448a41b3454bfda2e120ae58233349b215b9419e6f0bf6e41528521cd7904b02c97ed55fef029c7687d8cf9d3ce21fbd09ef771e961e24d3f2547f
+DIST rust-1.44.1-mipsel-unknown-linux-gnu.tar.xz 100002200 BLAKE2B 5befcaab66a965dd9c2dcc5636050099a461270d70102a0a1c489c3a1b721c432d337dec514b685f2710ea4c9e4fe2b9250cd88c55034c82da9b970b8ebdedb6 SHA512 4fef660c68a265da12863b07bcaa1f0fc19d4e377e2404c504047ea1f407e9b47f29f8947f707cfb0fc75216fa44d123c86ed07e261db70d48017cf93b54dfdb
+DIST rust-1.44.1-powerpc-unknown-linux-gnu.tar.xz 97722508 BLAKE2B 98a9ae4dc0c0df087bee8bd5c875e63a54b2ca71465386e19f425a9c35108abe9f04b222ef51f8cbeba3d781ae85f9fb4c612b86f263773ff868ae24866c7df7 SHA512 011dcbdfc8847f6a6004349665207ba89ec84a37d649c082588a1256ff992e374f4bad3d1930270a89d35c2386a16c18be301725b44e46dcc8501f0a98d761f5
+DIST rust-1.44.1-powerpc64-unknown-linux-gnu.tar.xz 107393564 BLAKE2B e3c2d6ae58585e020c4d1129ce26b19441b7f7e5df14d80290855f2931febdf4d2b4c30c4bcdc1747b61b4d1263194777ef7193bdc7c7dc4ce3eab91b137f0a0 SHA512 ff6b96b34b9b7dff362f6f2dcdf3b55fe7f2f349692434de5a11b8ca9956e06dbc6531c2457b4d43d5d19851ecbdbb0108e9f7eb449d9c965ed308ddbd0775a2
+DIST rust-1.44.1-powerpc64le-unknown-linux-gnu.tar.xz 112429740 BLAKE2B 10252623cd291c0e95238ac038544b989d94affd2edf173dce4f10847910aaabec99f8574f3141d4af4115ab6e9ed0536b87c8e8c6c899641e585efc9a3c516d SHA512 cf54b52581d393c2694fbefab90c62aa1f57ece8b200bfd656000950005554fda6fc0145af3aca0c526b8e43b100b8efe632929b6c0c1a4c4f4ce6dde4097283
+DIST rust-1.44.1-s390x-unknown-linux-gnu.tar.xz 119312728 BLAKE2B f5e3209990d3cc0181a200448e4bcbf1f6754847cfc36d7355e191fd49e239d3e0c002310743fd063241c5dec47da3a0776c361241facbcc4a1f1e9254eb805d SHA512 84c6ed736bb7d0c10aaceeb2c2c3c97f6188fd7d7f4466c8ef35ffc591d6bde3b273a0d62d50e60f184ccd81c96a31ed2e610e82fb9ed9efd574e4c5a5f25d26
+DIST rust-1.44.1-x86_64-unknown-linux-gnu.tar.xz 112133992 BLAKE2B c0af6bf1417bbb69be9f552f60805eb0a5f530b667ca2bbd04db9d567f1eb467a9e72912062a3c22d3922c29809258637dd7568c29e461dbeb5d17aa0699dd45 SHA512 540761fd5246f4a48a7606ac0220f0d61963473b57ef703696871dc23fda8154d45351b8e81018d15899c386b44e43b05028cc797d495e9dc46f127fbea7f093
+DIST rust-1.44.1-x86_64-unknown-linux-musl.tar.xz 117456616 BLAKE2B fd2752cf867e1ff701e624caf602fe7a29b47c64e633508e91da1a1b2321f5531441b84cc9f0ad159ef399d38628d60e59f8b7a99e5427df928abceb24f937f2 SHA512 05ca3e07001746511c5fcb5122f487205ffaee771805b0219db018b350d67945f5ab4b0b2cf98b7e7832b53365e3932fef37506a65ecaaf624d0bb8d43cf8427
DIST rustc-1.44.1-src.tar.xz 94756856 BLAKE2B 60f536c3ba0fa1fec4b6333ee57809ee5226090ad5041c14a136b4356ff3b898062e06c3fe54effe873e27931ac8fcb902cd48a38615a8de7eebc6ecb3bdc2bd SHA512 1c17002edae844a710db9b144c17171416330dc565343c65af8a6e112fb61555e2025bb4cf33cac1229d7df689e6ff8858b91ae00552400ccacafaf1de11849b
-EBUILD rust-1.41.1.ebuild 10136 BLAKE2B aa077fba0ef2427383552eb9166acd6327a64af942756e2ebd745cec97aec030fa30e90e9522001ed2ae83b6965ebdd01635c9f0906d3614ced1337cf4e49507 SHA512 454a6545398497b192b8ee6b42c493f7f93a35121efb3ddf68287992cf40affec1445de538d97771582a8e689d2af58154688cc7439aee1659b95564a8fb2eaf
-EBUILD rust-1.42.0.ebuild 10587 BLAKE2B d676f08d08c81b0dd876bece70e66c99979df6a011d09daf1c93d58fc9f6b8bec25a8a5ad8084eaa69f59f07b1b3a22bdd92ff5226bf4af1cc9f872130c051a5 SHA512 06e3e9b74283ae30fbd1ed7747ecb7a77c2f7af6a8f8a56c1ba42499c7d939d0df6e1bd79d6dc25e9b423f4464d899209606fe5d3d4e0fc0e6d4d2308ebec53b
-EBUILD rust-1.43.1.ebuild 11453 BLAKE2B 422593c3f78f18fe63b3fded9f04871afb89019fb2e98726f19906fca7a16335d55aa35c7ae967412847fdd776ad88315648f0f132065c6f231ecb4768b51e5a SHA512 3d5902c19cdd7207acad042ded4fa5d7bc5250e07865fd17c5f826fedaa7a2160a8ac3ac483b09604ed5a078d1f1774dba664ba948ab39bfdd41ac6fe7b4a8e2
-EBUILD rust-1.44.0.ebuild 14712 BLAKE2B 369613de5eea49b105ebc645e34935bc1d00ec9ee3a30e525bb6589b993a8812cc33a8f989700d9705e891d33833f488fd7daca07a1225f5226ef00f1c7394bd SHA512 42be3030a795feb652ad70f0b04fce995f76a3ed6f3582698ca40fa127222a496162f0cc50a783dd6f030292df51f66d59bacfa681f974fb3d0d2a551394e85d
-EBUILD rust-1.44.1.ebuild 14917 BLAKE2B f57f49337dcc1821d06894d6cdd9a9f2265d22afcda796d3ec9c02d27566086ed896f2dba3d720c62df41f6d700f4d9f69feed0cb111a8b52672fc34b084ae65 SHA512 1ae01e81eb06b24855a749c3ab9ae9a0abf102b4fb89c735136fa947e4d487caf94c4fcb032d7f3c758d6478695a52bd8a77242b9d90b4ce58ba914fc2e2cc57
+DIST rustc-1.45.2-src.tar.xz 98683036 BLAKE2B a4102a5d4744b7ccc9b076aba00c39d69532f777e7d39e0e4ce2033b663b43e27b55034fdb3a1e13379fae9a16bff9e7748865a84507f7388ef0ebf9d421eac7 SHA512 cc6250c0bc844e77ca6dd7ae013e434ed3009b001914114866ed31f28edf3960221454d131e298b15050e3b8153fb8298d509559c2f7307c64611aa8e36b4d25
+EBUILD rust-1.44.1.ebuild 14912 BLAKE2B 107391d3f6cbd0974c06398f7b9fec061cca9dd24ffd72ca903d5b9758edc630070b841a5973b0688ea17dc5afe95141874734bd365fa6d9fb283b97df7bf27e SHA512 78456cbe534f7735d3b2400f52ad07cd1a1dd3db5ae8c834d62f8744e4b4f5205d04b83d462d0a25a82f53158c19c7f625792d8c2cfbbdb63bc41f373b2ebf8f
+EBUILD rust-1.45.2.ebuild 16613 BLAKE2B 450bf4e179e90977d8cd659a5153662548fef31a250682ce9ed496aa9d72cadce3b4c1f2b5dc68dbef5e0a6b9176af1b2742f0bd918526f924d1cbedd7e7aca0 SHA512 8fc4238dddd6e7062ea92b214c1481eeed89fbf76c358b815a536e2705d2237695f2ce269f2414ad7829dff1297820da835ec8cc25fb7540ff7f3a4df1a3d48d
MISC metadata.xml 1083 BLAKE2B 7a7b093c22dcaef58bd67f9c2fd84a000696b234d2bc27315999bf6751cfd2a79441fd22efc284a542ecc84ce1a12ff9ca3495d249eaffa5bc1722b385c6109e SHA512 bfe8c140753e93db67244c92e9a7d193691ceb67de796c30a851966a1262bc5c897ead6e13d728775fa524215b6851609dcbee582022d9d75bb8d1e6fabc4ef4
diff --git a/dev-lang/rust/files/1.40.0-add-soname.patch b/dev-lang/rust/files/1.40.0-add-soname.patch
deleted file mode 100644
index 7a5c0189c68c..000000000000
--- a/dev-lang/rust/files/1.40.0-add-soname.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Description: Set DT_SONAME when building dylibs
- In Rust, library filenames include a version-specific hash to help
- the run-time linker find the correct version. Unlike in C/C++, the
- compiler looks for all libraries matching a glob that ignores the
- hash and reads embedded metadata to work out versions, etc.
- .
- The upshot is that there is no need for the usual "libfoo.so ->
- libfoo-1.2.3.so" symlink common with C/C++ when building with Rust,
- and no need to communicate an alternate filename to use at run-time
- vs compile time. If linking to a Rust dylib from C/C++ however, a
- "libfoo.so -> libfoo-$hash.so" symlink may well be useful and in
- this case DT_SONAME=libfoo-$hash.so would be required. More
- mundanely, various tools (eg: dpkg-shlibdeps) complain if they don't
- find DT_SONAME on shared libraries in public directories.
- .
- This patch passes -Wl,-soname=$outfile when building dylibs (and
- using a GNU linker).
-Author: Angus Lees <gus@debian.org>
-Forwarded: no
-
---- a/src/librustc_codegen_ssa/back/link.rs
-+++ b/src/librustc_codegen_ssa/back/link.rs
-@@ -1034,6 +1034,13 @@
- cmd.args(&rpath::get_rpath_flags(&mut rpath_config));
- }
-
-+ if (crate_type == config::CrateType::Dylib || crate_type == config::CrateType::Cdylib)
-+ && t.options.linker_is_gnu {
-+ let filename = String::from(out_filename.file_name().unwrap().to_str().unwrap());
-+ let soname = [String::from("-Wl,-soname=") + &filename];
-+ cmd.args(&soname);
-+ }
-+
- // Finally add all the linker arguments provided on the command line along
- // with any #[link_args] attributes found inside the crate
- if let Some(ref args) = sess.opts.cg.link_args {
diff --git a/dev-lang/rust/files/1.42.0-fix-bootstrap.patch b/dev-lang/rust/files/1.42.0-fix-bootstrap.patch
deleted file mode 100644
index 16e4e6dce1c5..000000000000
--- a/dev-lang/rust/files/1.42.0-fix-bootstrap.patch
+++ /dev/null
@@ -1,440 +0,0 @@
-From 5f979e9afab42dd7536ca93994de66169880361e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= <matthias.krueger@famsik.de>
-Date: Mon, 3 Feb 2020 20:13:30 +0100
-Subject: [PATCH] bootstrap: fix clippy warnings
-
----
- src/bootstrap/bin/rustc.rs | 6 +++---
- src/bootstrap/bin/rustdoc.rs | 2 +-
- src/bootstrap/builder.rs | 24 ++++++++----------------
- src/bootstrap/builder/tests.rs | 1 -
- src/bootstrap/compile.rs | 20 ++++++++++----------
- src/bootstrap/config.rs | 7 +++----
- src/bootstrap/dist.rs | 4 ++--
- src/bootstrap/doc.rs | 2 +-
- src/bootstrap/flags.rs | 2 +-
- src/bootstrap/install.rs | 5 ++---
- src/bootstrap/lib.rs | 6 +++---
- src/bootstrap/metadata.rs | 1 -
- src/bootstrap/native.rs | 4 +---
- src/bootstrap/test.rs | 9 +++------
- src/bootstrap/tool.rs | 2 +-
- src/bootstrap/toolstate.rs | 2 +-
- src/bootstrap/util.rs | 2 +-
- 17 files changed, 41 insertions(+), 58 deletions(-)
-
-diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs
-index a34ec44566bc..a8c00c8c3ca8 100644
---- a/src/bootstrap/bin/rustc.rs
-+++ b/src/bootstrap/bin/rustc.rs
-@@ -47,7 +47,7 @@ fn main() {
- };
- let stage = env::var("RUSTC_STAGE").expect("RUSTC_STAGE was not set");
- let sysroot = env::var_os("RUSTC_SYSROOT").expect("RUSTC_SYSROOT was not set");
-- let on_fail = env::var_os("RUSTC_ON_FAIL").map(|of| Command::new(of));
-+ let on_fail = env::var_os("RUSTC_ON_FAIL").map(Command::new);
-
- let rustc = env::var_os(rustc).unwrap_or_else(|| panic!("{:?} was not set", rustc));
- let libdir = env::var_os(libdir).unwrap_or_else(|| panic!("{:?} was not set", libdir));
-@@ -64,7 +64,7 @@ fn main() {
- if let Some(crate_name) = crate_name {
- if let Some(target) = env::var_os("RUSTC_TIME") {
- if target == "all"
-- || target.into_string().unwrap().split(",").any(|c| c.trim() == crate_name)
-+ || target.into_string().unwrap().split(',').any(|c| c.trim() == crate_name)
- {
- cmd.arg("-Ztime");
- }
-@@ -189,7 +189,7 @@ fn main() {
- crate_name,
- is_test,
- dur.as_secs(),
-- dur.subsec_nanos() / 1_000_000
-+ dur.subsec_millis()
- );
-
- match status.code() {
-diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs
-index 8c8b33a4e4e0..04345867bf5c 100644
---- a/src/bootstrap/bin/rustdoc.rs
-+++ b/src/bootstrap/bin/rustdoc.rs
-@@ -61,7 +61,7 @@ fn main() {
- }
-
- // Needed to be able to run all rustdoc tests.
-- if let Some(_) = env::var_os("RUSTDOC_GENERATE_REDIRECT_PAGES") {
-+ if env::var_os("RUSTDOC_GENERATE_REDIRECT_PAGES").is_some() {
- // This "unstable-options" can be removed when `--generate-redirect-pages` is stabilized
- if !has_unstable {
- cmd.arg("-Z").arg("unstable-options");
-diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index d9c894aa9c6b..18f6fda76084 100644
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -510,7 +510,7 @@ impl<'a> Builder<'a> {
- Subcommand::Format { .. } | Subcommand::Clean { .. } => panic!(),
- };
-
-- let builder = Builder {
-+ Builder {
- build,
- top_stage: build.config.stage.unwrap_or(2),
- kind,
-@@ -518,9 +518,7 @@ impl<'a> Builder<'a> {
- stack: RefCell::new(Vec::new()),
- time_spent_on_dependencies: Cell::new(Duration::new(0, 0)),
- paths: paths.to_owned(),
-- };
--
-- builder
-+ }
- }
-
- pub fn execute_cli(&self) {
-@@ -753,13 +751,12 @@ impl<'a> Builder<'a> {
- cargo.env("RUST_CHECK", "1");
- }
-
-- let stage;
-- if compiler.stage == 0 && self.local_rebuild {
-+ let stage = if compiler.stage == 0 && self.local_rebuild {
- // Assume the local-rebuild rustc already has stage1 features.
-- stage = 1;
-+ 1
- } else {
-- stage = compiler.stage;
-- }
-+ compiler.stage
-+ };
-
- let mut rustflags = Rustflags::new(&target);
- if stage != 0 {
-@@ -1252,12 +1249,7 @@ impl<'a> Builder<'a> {
- };
-
- if self.config.print_step_timings && dur > Duration::from_millis(100) {
-- println!(
-- "[TIMING] {:?} -- {}.{:03}",
-- step,
-- dur.as_secs(),
-- dur.subsec_nanos() / 1_000_000
-- );
-+ println!("[TIMING] {:?} -- {}.{:03}", step, dur.as_secs(), dur.subsec_millis());
- }
-
- {
-@@ -1302,7 +1294,7 @@ impl Rustflags {
-
- fn arg(&mut self, arg: &str) -> &mut Self {
- assert_eq!(arg.split_whitespace().count(), 1);
-- if self.0.len() > 0 {
-+ if !self.0.is_empty() {
- self.0.push_str(" ");
- }
- self.0.push_str(arg);
-diff --git a/src/bootstrap/builder/tests.rs b/src/bootstrap/builder/tests.rs
-index 5fefb972866a..cca8ab80c93b 100644
---- a/src/bootstrap/builder/tests.rs
-+++ b/src/bootstrap/builder/tests.rs
-@@ -19,7 +19,6 @@ fn configure(host: &[&str], target: &[&str]) -> Config {
- config.out = dir;
- config.build = INTERNER.intern_str("A");
- config.hosts = vec![config.build]
-- .clone()
- .into_iter()
- .chain(host.iter().map(|s| INTERNER.intern_str(s)))
- .collect::<Vec<_>>();
-diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
-index eced03506ab9..7dded96e18ef 100644
---- a/src/bootstrap/compile.rs
-+++ b/src/bootstrap/compile.rs
-@@ -18,7 +18,6 @@ use std::str;
- use build_helper::{output, t, up_to_date};
- use filetime::FileTime;
- use serde::Deserialize;
--use serde_json;
-
- use crate::builder::Cargo;
- use crate::dist;
-@@ -149,7 +148,8 @@ fn copy_third_party_objects(
- // which is provided by std for this target.
- if target == "x86_64-fortanix-unknown-sgx" {
- let src_path_env = "X86_FORTANIX_SGX_LIBS";
-- let src = env::var(src_path_env).expect(&format!("{} not found in env", src_path_env));
-+ let src =
-+ env::var(src_path_env).unwrap_or_else(|_| panic!("{} not found in env", src_path_env));
- copy_and_stamp(Path::new(&src), "libunwind.a");
- }
-
-@@ -361,7 +361,7 @@ impl Step for StartupObjects {
- );
- }
-
-- let target = sysroot_dir.join(file.to_string() + ".o");
-+ let target = sysroot_dir.join((*file).to_string() + ".o");
- builder.copy(dst_file, &target);
- target_deps.push(target);
- }
-@@ -515,7 +515,7 @@ pub fn rustc_cargo_env(builder: &Builder<'_>, cargo: &mut Cargo, target: Interne
- .env("CFG_VERSION", builder.rust_version())
- .env("CFG_PREFIX", builder.config.prefix.clone().unwrap_or_default());
-
-- let libdir_relative = builder.config.libdir_relative().unwrap_or(Path::new("lib"));
-+ let libdir_relative = builder.config.libdir_relative().unwrap_or_else(|| Path::new("lib"));
- cargo.env("CFG_LIBDIR_RELATIVE", libdir_relative);
-
- if let Some(ref ver_date) = builder.rust_info.commit_date() {
-@@ -843,11 +843,11 @@ pub fn run_cargo(
- };
- for filename in filenames {
- // Skip files like executables
-- if !filename.ends_with(".rlib")
-- && !filename.ends_with(".lib")
-- && !filename.ends_with(".a")
-- && !is_dylib(&filename)
-- && !(is_check && filename.ends_with(".rmeta"))
-+ if !(filename.ends_with(".rlib")
-+ || filename.ends_with(".lib")
-+ || filename.ends_with(".a")
-+ || is_dylib(&filename)
-+ || (is_check && filename.ends_with(".rmeta")))
- {
- continue;
- }
-@@ -905,7 +905,7 @@ pub fn run_cargo(
- for (prefix, extension, expected_len) in toplevel {
- let candidates = contents.iter().filter(|&&(_, ref filename, ref meta)| {
- filename.starts_with(&prefix[..])
-- && filename[prefix.len()..].starts_with("-")
-+ && filename[prefix.len()..].starts_with('-')
- && filename.ends_with(&extension[..])
- && meta.len() == expected_len
- });
-diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
-index 110c8b844d54..709cf2908ead 100644
---- a/src/bootstrap/config.rs
-+++ b/src/bootstrap/config.rs
-@@ -16,7 +16,6 @@ use crate::flags::Flags;
- pub use crate::flags::Subcommand;
- use build_helper::t;
- use serde::Deserialize;
--use toml;
-
- /// Global configuration for the entire build and/or bootstrap.
- ///
-@@ -440,7 +439,7 @@ impl Config {
- }
- }
- })
-- .unwrap_or_else(|| TomlConfig::default());
-+ .unwrap_or_else(TomlConfig::default);
-
- let build = toml.build.clone().unwrap_or_default();
- // set by bootstrap.py
-@@ -539,7 +538,7 @@ impl Config {
- config.llvm_ldflags = llvm.ldflags.clone();
- set(&mut config.llvm_use_libcxx, llvm.use_libcxx);
- config.llvm_use_linker = llvm.use_linker.clone();
-- config.llvm_allow_old_toolchain = llvm.allow_old_toolchain.clone();
-+ config.llvm_allow_old_toolchain = llvm.allow_old_toolchain;
- }
-
- if let Some(ref rust) = toml.rust {
-@@ -606,7 +605,7 @@ impl Config {
- target.ar = cfg.ar.clone().map(PathBuf::from);
- target.ranlib = cfg.ranlib.clone().map(PathBuf::from);
- target.linker = cfg.linker.clone().map(PathBuf::from);
-- target.crt_static = cfg.crt_static.clone();
-+ target.crt_static = cfg.crt_static;
- target.musl_root = cfg.musl_root.clone().map(PathBuf::from);
- target.wasi_root = cfg.wasi_root.clone().map(PathBuf::from);
- target.qemu_rootfs = cfg.qemu_rootfs.clone().map(PathBuf::from);
-diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
-index 8d13df3ee21a..651506dbaa8a 100644
---- a/src/bootstrap/dist.rs
-+++ b/src/bootstrap/dist.rs
-@@ -827,7 +827,7 @@ impl Step for Analysis {
- assert!(builder.config.extended);
- let name = pkgname(builder, "rust-analysis");
-
-- if &compiler.host != builder.config.build {
-+ if compiler.host != builder.config.build {
- return distdir(builder).join(format!("{}-{}.tar.gz", name, target));
- }
-
-@@ -876,7 +876,7 @@ fn copy_src_dirs(builder: &Builder<'_>, src_dirs: &[&str], exclude_dirs: &[&str]
- Some(path) => path,
- None => return false,
- };
-- if spath.ends_with("~") || spath.ends_with(".pyc") {
-+ if spath.ends_with('~') || spath.ends_with(".pyc") {
- return false;
- }
-
-diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs
-index 204056598d90..b0d9a5b94641 100644
---- a/src/bootstrap/doc.rs
-+++ b/src/bootstrap/doc.rs
-@@ -560,7 +560,7 @@ impl Step for Rustdoc {
- builder.ensure(Rustc { stage, target });
-
- // Build rustdoc.
-- builder.ensure(tool::Rustdoc { compiler: compiler });
-+ builder.ensure(tool::Rustdoc { compiler });
-
- // Symlink compiler docs to the output directory of rustdoc documentation.
- let out_dir = builder.stage_out(compiler, Mode::ToolRustc).join(target).join("doc");
-diff --git a/src/bootstrap/flags.rs b/src/bootstrap/flags.rs
-index 2101ef27f9d4..516be6a30c23 100644
---- a/src/bootstrap/flags.rs
-+++ b/src/bootstrap/flags.rs
-@@ -571,7 +571,7 @@ fn split(s: &[String]) -> Vec<String> {
- }
-
- fn parse_deny_warnings(matches: &getopts::Matches) -> Option<bool> {
-- match matches.opt_str("warnings").as_ref().map(|v| v.as_str()) {
-+ match matches.opt_str("warnings").as_deref() {
- Some("deny") => Some(true),
- Some("warn") => Some(false),
- Some(value) => {
-diff --git a/src/bootstrap/install.rs b/src/bootstrap/install.rs
-index f8734ebdf425..6549262811b9 100644
---- a/src/bootstrap/install.rs
-+++ b/src/bootstrap/install.rs
-@@ -126,9 +126,8 @@ fn add_destdir(path: &Path, destdir: &Option<PathBuf>) -> PathBuf {
- None => return path.to_path_buf(),
- };
- for part in path.components() {
-- match part {
-- Component::Normal(s) => ret.push(s),
-- _ => {}
-+ if let Component::Normal(s) = part {
-+ ret.push(s)
- }
- }
- ret
-diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
-index 1fee3fd9ac1d..0db4fb389010 100644
---- a/src/bootstrap/lib.rs
-+++ b/src/bootstrap/lib.rs
-@@ -444,7 +444,7 @@ impl Build {
- builder.execute_cli();
- } else {
- let builder = builder::Builder::new(&self);
-- let _ = builder.execute_cli();
-+ builder.execute_cli();
- }
-
- // Check for postponed failures from `test --no-fail-fast`.
-@@ -839,7 +839,7 @@ impl Build {
- .target_config
- .get(&target)
- .and_then(|t| t.musl_root.as_ref())
-- .or(self.config.musl_root.as_ref())
-+ .or_else(|| self.config.musl_root.as_ref())
- .map(|p| &**p)
- }
-
-@@ -1026,7 +1026,7 @@ impl Build {
- }
-
- fn llvm_link_tools_dynamically(&self, target: Interned<String>) -> bool {
-- (target.contains("linux-gnu") || target.contains("apple-darwin"))
-+ target.contains("linux-gnu") || target.contains("apple-darwin")
- }
-
- /// Returns the `version` string associated with this compiler for Rust
-diff --git a/src/bootstrap/metadata.rs b/src/bootstrap/metadata.rs
-index 8a26adc7ed50..292aa3b1e24a 100644
---- a/src/bootstrap/metadata.rs
-+++ b/src/bootstrap/metadata.rs
-@@ -5,7 +5,6 @@ use std::process::Command;
-
- use build_helper::output;
- use serde::Deserialize;
--use serde_json;
-
- use crate::cache::INTERNER;
- use crate::{Build, Crate};
-diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs
-index 5bbd9f47fc90..1cfb4b2f63b5 100644
---- a/src/bootstrap/native.rs
-+++ b/src/bootstrap/native.rs
-@@ -15,8 +15,6 @@ use std::path::{Path, PathBuf};
- use std::process::Command;
-
- use build_helper::{output, t};
--use cc;
--use cmake;
-
- use crate::builder::{Builder, RunConfig, ShouldRun, Step};
- use crate::cache::Interned;
-@@ -205,7 +203,7 @@ impl Step for Llvm {
- cfg.define("LLVM_ENABLE_LIBXML2", "OFF");
- }
-
-- if enabled_llvm_projects.len() > 0 {
-+ if !enabled_llvm_projects.is_empty() {
- enabled_llvm_projects.sort();
- enabled_llvm_projects.dedup();
- cfg.define("LLVM_ENABLE_PROJECTS", enabled_llvm_projects.join(";"));
-diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
-index 6adf9ddaf343..8d9e62010015 100644
---- a/src/bootstrap/test.rs
-+++ b/src/bootstrap/test.rs
-@@ -1424,13 +1424,10 @@ impl Step for ErrorIndex {
- }
-
- fn markdown_test(builder: &Builder<'_>, compiler: Compiler, markdown: &Path) -> bool {
-- match fs::read_to_string(markdown) {
-- Ok(contents) => {
-- if !contents.contains("```") {
-- return true;
-- }
-+ if let Ok(contents) = fs::read_to_string(markdown) {
-+ if !contents.contains("```") {
-+ return true;
- }
-- Err(_) => {}
- }
-
- builder.info(&format!("doc tests for: {}", markdown.display()));
-diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
-index 7f24768a4f10..67e0ed5c5802 100644
---- a/src/bootstrap/tool.rs
-+++ b/src/bootstrap/tool.rs
-@@ -234,7 +234,7 @@ pub fn prepare_tool_cargo(
- cargo.env("RUSTC_EXTERNAL_TOOL", "1");
- }
-
-- let mut features = extra_features.iter().cloned().collect::<Vec<_>>();
-+ let mut features = extra_features.to_vec();
- if builder.build.config.cargo_native_static {
- if path.ends_with("cargo")
- || path.ends_with("rls")
-diff --git a/src/bootstrap/toolstate.rs b/src/bootstrap/toolstate.rs
-index b068c8200ace..bb012a388551 100644
---- a/src/bootstrap/toolstate.rs
-+++ b/src/bootstrap/toolstate.rs
-@@ -124,7 +124,7 @@ fn check_changed_files(toolstates: &HashMap<Box<str>, ToolState>) {
- let output = t!(String::from_utf8(output.stdout));
-
- for (tool, submodule) in STABLE_TOOLS.iter().chain(NIGHTLY_TOOLS.iter()) {
-- let changed = output.lines().any(|l| l.starts_with("M") && l.ends_with(submodule));
-+ let changed = output.lines().any(|l| l.starts_with('M') && l.ends_with(submodule));
- eprintln!("Verifying status of {}...", tool);
- if !changed {
- continue;
-diff --git a/src/bootstrap/util.rs b/src/bootstrap/util.rs
-index 7d1efe4610f9..eac790fe504b 100644
---- a/src/bootstrap/util.rs
-+++ b/src/bootstrap/util.rs
-@@ -98,7 +98,7 @@ impl Drop for TimeIt {
- fn drop(&mut self) {
- let time = self.1.elapsed();
- if !self.0 {
-- println!("\tfinished in {}.{:03}", time.as_secs(), time.subsec_nanos() / 1_000_000);
-+ println!("\tfinished in {}.{:03}", time.as_secs(), time.subsec_millis());
- }
- }
- }
diff --git a/dev-lang/rust/files/1.42.0-libressl.patch b/dev-lang/rust/files/1.42.0-libressl.patch
deleted file mode 100644
index 7d09f88f7665..000000000000
--- a/dev-lang/rust/files/1.42.0-libressl.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 597729ad63b53901da011ebb12ac0f811304bca7 Mon Sep 17 00:00:00 2001
-From: Stefan Strogin <steils@gentoo.org>
-Date: Fri, 10 Apr 2020 09:18:41 +0300
-Subject: [PATCH] Support LibreSSL 3.1.x
-
-Signed-off-by: Stefan Strogin <steils@gentoo.org>
----
- vendor/openssl-sys/.cargo-checksum.json | 2 +-
- vendor/openssl-sys/build/main.rs | 4 +++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/vendor/openssl-sys/.cargo-checksum.json b/vendor/openssl-sys/.cargo-checksum.json
-index e0bfd3035..0df6df7ef 100644
---- a/vendor/openssl-sys/.cargo-checksum.json
-+++ b/vendor/openssl-sys/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"CHANGELOG.md":"736f0ad8717294a2ccb82065547f7161aa979eaad38c08c16d74954ece406dde","Cargo.toml":"4dbed0ba08fc7676bf7f6350eaaef6e6edb21b350718c218aae1d6372ec5918c","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"4f39735ff73e6a13ff6ad34b9c046546a5887d705a86f68d1a8866fb305f728f","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0a2dc417eace7fc72c27b9046ebaf53c75e418b27baa877434925a81fe6c23ed","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"6e800f4dc5c2cbbd54d1b1b995a2915ff941e17e11300d7091858210d3ce788d","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"f6641be5df397086a9db80667e191fb1d92972c29151e617df86672c1a16d3ad","src/evp.rs":"ddd25891a630f4676b16bd63ed3071f1b036722c7cdf1a72ca0a54cd3bf91898","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"c464eca1beb33844718044946f6ffb1bc27356d65b5b70ebcd2d4082520e7235","src/macros.rs":"638fb9098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"fc7366e75c78707650c8667593ed183eca6a8ce8dd6b911e342f644d1bcf98bd","src/pem.rs":"fbe95faaeb5b13ce44eb6574b4e21aa384d60fad079e895acaa61390887240d1","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"215a27daa698c73fa909159a9e88a4302b075c33ebd17699f7f3423de60f5d68","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"20e221731587221aab00aef21b4e4bebb7635603d265d424f3dd3c60d4c511e2","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"}
-\ No newline at end of file
-+{"files":{"CHANGELOG.md":"736f0ad8717294a2ccb82065547f7161aa979eaad38c08c16d74954ece406dde","Cargo.toml":"4dbed0ba08fc7676bf7f6350eaaef6e6edb21b350718c218aae1d6372ec5918c","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"4f39735ff73e6a13ff6ad34b9c046546a5887d705a86f68d1a8866fb305f728f","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0a2dc417eace7fc72c27b9046ebaf53c75e418b27baa877434925a81fe6c23ed","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"7379da716f13ace24c6782c842fcb08053544475b6401a84735ac6af21b67935","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"f6641be5df397086a9db80667e191fb1d92972c29151e617df86672c1a16d3ad","src/evp.rs":"ddd25891a630f4676b16bd63ed3071f1b036722c7cdf1a72ca0a54cd3bf91898","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"c464eca1beb33844718044946f6ffb1bc27356d65b5b70ebcd2d4082520e7235","src/macros.rs":"638fb9098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"fc7366e75c78707650c8667593ed183eca6a8ce8dd6b911e342f644d1bcf98bd","src/pem.rs":"fbe95faaeb5b13ce44eb6574b4e21aa384d60fad079e895acaa61390887240d1","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"215a27daa698c73fa909159a9e88a4302b075c33ebd17699f7f3423de60f5d68","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"20e221731587221aab00aef21b4e4bebb7635603d265d424f3dd3c60d4c511e2","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"}
-diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
-index 162e11a66..efac336af 100644
---- a/vendor/openssl-sys/build/main.rs
-+++ b/vendor/openssl-sys/build/main.rs
-@@ -204,6 +204,8 @@ See rust-openssl README for more information:
- (3, 0, 0) => ('3', '0', '0'),
- (3, 0, 1) => ('3', '0', '1'),
- (3, 0, _) => ('3', '0', 'x'),
-+ (3, 1, 0) => ('3', '1', '0'),
-+ (3, 1, _) => ('3', '1', 'x'),
- _ => version_error(),
- };
-
-@@ -244,7 +246,7 @@ fn version_error() -> ! {
- "
-
- This crate is only compatible with OpenSSL 1.0.1 through 1.1.1, or LibreSSL 2.5
--through 3.0.x, but a different version of OpenSSL was found. The build is now aborting
-+through 3.1.x, but a different version of OpenSSL was found. The build is now aborting
- due to this version mismatch.
-
- "
---
-2.26.2
-
diff --git a/dev-lang/rust/files/1.43.0-llvm10.patch b/dev-lang/rust/files/1.43.0-llvm10.patch
deleted file mode 100644
index 14940716abf6..000000000000
--- a/dev-lang/rust/files/1.43.0-llvm10.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-From fe83c6cd5922fd6f964fa40ca704fb7f92426202 Mon Sep 17 00:00:00 2001
-From: Nikita Popov <nikita.ppv@gmail.com>
-Date: Tue, 4 Feb 2020 19:23:45 +0100
-Subject: [PATCH 2/7] Remove trailing newline from llvm-config output
-
----
- src/bootstrap/test.rs | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
-index 4cfda606c4bc8..aaec10ff10b38 100644
---- a/src/bootstrap/test.rs
-+++ b/src/bootstrap/test.rs
-@@ -1142,6 +1142,8 @@ impl Step for Compiletest {
- let llvm_config = builder.ensure(native::Llvm { target: builder.config.build });
- if !builder.config.dry_run {
- let llvm_version = output(Command::new(&llvm_config).arg("--version"));
-+ // Remove trailing newline from llvm-config output.
-+ let llvm_version = llvm_version.trim_end();
- cmd.arg("--llvm-version").arg(llvm_version);
- }
- if !builder.is_rust_llvm(target) {
-
-From 545f18e8f1c2227b74091fbca5c73595f65eeeed Mon Sep 17 00:00:00 2001
-From: Nikita Popov <nikita.ppv@gmail.com>
-Date: Sat, 18 Jan 2020 23:00:30 +0100
-Subject: [PATCH 3/7] Fix LLVM version handling in compiletest
-
-Convert version string to integer before comparing. Otherwise
-we get into trouble with double digit versions ;)
----
- src/tools/compiletest/src/header.rs | 27 +++++++++++++++++++++------
- 1 file changed, 21 insertions(+), 6 deletions(-)
-
-diff --git a/src/tools/compiletest/src/header.rs b/src/tools/compiletest/src/header.rs
-index 2a24a8c3c9485..cb648db8830ef 100644
---- a/src/tools/compiletest/src/header.rs
-+++ b/src/tools/compiletest/src/header.rs
-@@ -191,6 +191,7 @@ impl EarlyProps {
- return true;
- }
- if let Some(ref actual_version) = config.llvm_version {
-+ let actual_version = version_to_int(actual_version);
- if line.starts_with("min-llvm-version") {
- let min_version = line
- .trim_end()
-@@ -199,7 +200,7 @@ impl EarlyProps {
- .expect("Malformed llvm version directive");
- // Ignore if actual version is smaller the minimum required
- // version
-- &actual_version[..] < min_version
-+ actual_version < version_to_int(min_version)
- } else if line.starts_with("min-system-llvm-version") {
- let min_version = line
- .trim_end()
-@@ -208,7 +209,7 @@ impl EarlyProps {
- .expect("Malformed llvm version directive");
- // Ignore if using system LLVM and actual version
- // is smaller the minimum required version
-- config.system_llvm && &actual_version[..] < min_version
-+ config.system_llvm && actual_version < version_to_int(min_version)
- } else if line.starts_with("ignore-llvm-version") {
- // Syntax is: "ignore-llvm-version <version1> [- <version2>]"
- let range_components = line
-@@ -219,15 +220,15 @@ impl EarlyProps {
- .take(3) // 3 or more = invalid, so take at most 3.
- .collect::<Vec<&str>>();
- match range_components.len() {
-- 1 => &actual_version[..] == range_components[0],
-+ 1 => actual_version == version_to_int(range_components[0]),
- 2 => {
-- let v_min = range_components[0];
-- let v_max = range_components[1];
-+ let v_min = version_to_int(range_components[0]);
-+ let v_max = version_to_int(range_components[1]);
- if v_max < v_min {
- panic!("Malformed LLVM version range: max < min")
- }
- // Ignore if version lies inside of range.
-- &actual_version[..] >= v_min && &actual_version[..] <= v_max
-+ actual_version >= v_min && actual_version <= v_max
- }
- _ => panic!("Malformed LLVM version directive"),
- }
-@@ -238,6 +239,20 @@ impl EarlyProps {
- false
- }
- }
-+
-+ fn version_to_int(version: &str) -> u32 {
-+ let version_without_suffix = version.split('-').next().unwrap();
-+ let components: Vec<u32> = version_without_suffix
-+ .split('.')
-+ .map(|s| s.parse().expect("Malformed version component"))
-+ .collect();
-+ match components.len() {
-+ 1 => components[0] * 10000,
-+ 2 => components[0] * 10000 + components[1] * 100,
-+ 3 => components[0] * 10000 + components[1] * 100 + components[2],
-+ _ => panic!("Malformed version"),
-+ }
-+ }
- }
- }
-
-
-From e06fff0609fedf95b826d82ff32ff836b0e3f3da Mon Sep 17 00:00:00 2001
-From: Nikita Popov <nikita.ppv@gmail.com>
-Date: Sun, 19 Jan 2020 22:47:45 +0100
-Subject: [PATCH 4/7] Adjust data layout in test
-
----
- .../run-make-fulldeps/target-specs/my-awesome-platform.json | 2 +-
- .../target-specs/my-x86_64-unknown-linux-gnu-platform.json | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json b/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json
-index 8d028280a8da7..00de3de05f07a 100644
---- a/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json
-+++ b/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json
-@@ -1,5 +1,5 @@
- {
-- "data-layout": "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128",
-+ "data-layout": "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:32-n8:16:32-S128",
- "linker-flavor": "gcc",
- "llvm-target": "i686-unknown-linux-gnu",
- "target-endian": "little",
-diff --git a/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json b/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json
-index 48040ae3da0ef..6d5e964ed4fee 100644
---- a/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json
-+++ b/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json
-@@ -1,6 +1,6 @@
- {
- "pre-link-args": {"gcc": ["-m64"]},
-- "data-layout": "e-m:e-i64:64-f80:128-n8:16:32:64-S128",
-+ "data-layout": "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128",
- "linker-flavor": "gcc",
- "llvm-target": "x86_64-unknown-linux-gnu",
- "target-endian": "little",
-
-From 724b7ee92f3e83af2a451b726ad990fe7db54528 Mon Sep 17 00:00:00 2001
-From: Nikita Popov <nikita.ppv@gmail.com>
-Date: Tue, 4 Feb 2020 20:35:50 +0100
-Subject: [PATCH 5/7] Fix timeTraceProfilerInitialize for LLVM 10
-
----
- src/rustllvm/PassWrapper.cpp | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp
-index 65071c3ed86e0..ebf4d4017a813 100644
---- a/src/rustllvm/PassWrapper.cpp
-+++ b/src/rustllvm/PassWrapper.cpp
-@@ -67,7 +67,11 @@ extern "C" void LLVMInitializePasses() {
- }
-
- extern "C" void LLVMTimeTraceProfilerInitialize() {
--#if LLVM_VERSION_GE(9, 0)
-+#if LLVM_VERSION_GE(10, 0)
-+ timeTraceProfilerInitialize(
-+ /* TimeTraceGranularity */ 0,
-+ /* ProcName */ "rustc");
-+#elif LLVM_VERSION_GE(9, 0)
- timeTraceProfilerInitialize();
- #endif
- }
-
-From aed9cf36bb4b9c6b357e395552dbb5e1802feec9 Mon Sep 17 00:00:00 2001
-From: Nikita Popov <nikita.ppv@gmail.com>
-Date: Mon, 2 Mar 2020 22:37:55 +0100
-Subject: [PATCH 6/7] Update CreateMemSet() usage for LLVM 10
-
----
- src/rustllvm/RustWrapper.cpp | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp
-index 49b6e1bfec38d..002eb031dac64 100644
---- a/src/rustllvm/RustWrapper.cpp
-+++ b/src/rustllvm/RustWrapper.cpp
-@@ -1300,8 +1300,13 @@ extern "C" LLVMValueRef LLVMRustBuildMemSet(LLVMBuilderRef B,
- LLVMValueRef Dst, unsigned DstAlign,
- LLVMValueRef Val,
- LLVMValueRef Size, bool IsVolatile) {
-+#if LLVM_VERSION_GE(10, 0)
-+ return wrap(unwrap(B)->CreateMemSet(
-+ unwrap(Dst), unwrap(Val), unwrap(Size), MaybeAlign(DstAlign), IsVolatile));
-+#else
- return wrap(unwrap(B)->CreateMemSet(
- unwrap(Dst), unwrap(Val), unwrap(Size), DstAlign, IsVolatile));
-+#endif
- }
-
- extern "C" LLVMValueRef
diff --git a/dev-lang/rust/files/llvm-gcc10.patch b/dev-lang/rust/files/llvm-gcc10.patch
deleted file mode 100644
index 8fbaa923f7c9..000000000000
--- a/dev-lang/rust/files/llvm-gcc10.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From b288d90b39f4b905c02092a9bfcfd6d78f99b191 Mon Sep 17 00:00:00 2001
-From: Than McIntosh <thanm@google.com>
-Date: Fri, 19 Jul 2019 13:13:54 +0000
-Subject: [PATCH] [NFC] include cstdint/string prior to using uint8_t/string
-
-Summary: include proper header prior to use of uint8_t typedef
-and std::string.
-
-Subscribers: llvm-commits
-
-Reviewers: cherry
-
-Tags: #llvm
-
-Differential Revision: https://reviews.llvm.org/D64937
-
-llvm-svn: 366572
----
- llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/llbm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h b/src/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
-index da9d9d5bfdc0..3d47471f0ef0 100644
---- a/src/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
-+++ b/src/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
-@@ -16,6 +16,8 @@
- #include "llvm/Demangle/DemangleConfig.h"
- #include "llvm/Demangle/StringView.h"
- #include <array>
-+#include <cstdint>
-+#include <string>
-
- namespace llvm {
- namespace itanium_demangle {
diff --git a/dev-lang/rust/rust-1.41.1.ebuild b/dev-lang/rust/rust-1.41.1.ebuild
deleted file mode 100644
index cb0c9d685a86..000000000000
--- a/dev-lang/rust/rust-1.41.1.ebuild
+++ /dev/null
@@ -1,370 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
-
-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"
-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 x86"
-fi
-
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-
-SRC_URI="
- https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
- !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
-"
-
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM 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 doc libressl nightly parallel-compiler rls rustfmt system-bootstrap system-llvm 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:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 10.
-# 3. Specify LLVM_MAX_SLOT, e.g. 9.
-LLVM_DEPEND="
- || (
- sys-devel/llvm:9[llvm_targets_WebAssembly?]
- )
- <sys-devel/llvm-10:=
- wasm? ( sys-devel/lld )
-"
-LLVM_MAX_SLOT=9
-
-BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)).0-r1 >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
-
-COMMON_DEPEND="
- net-libs/libssh2:=
- net-libs/http-parser:=
- net-misc/curl:=[ssl]
- sys-libs/zlib:=
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( <dev-libs/libressl-3.1:0= )
- elibc_musl? ( sys-libs/libunwind )
- system-llvm? (
- ${LLVM_DEPEND}
- )
-"
-
-DEPEND="${COMMON_DEPEND}
- ${PYTHON_DEPS}
- || (
- >=sys-devel/gcc-4.7
- >=sys-devel/clang-3.5
- )
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
- !system-llvm? (
- dev-util/cmake
- dev-util/ninja
- )
-"
-
-RDEPEND="${COMMON_DEPEND}
- >=app-eselect/eselect-rust-20190311
-"
-
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
- parallel-compiler? ( nightly )
- wasm? ( llvm_targets_WebAssembly )
- x86? ( cpu_flags_x86_sse2 )
-"
-
-QA_FLAGS_IGNORED="
- usr/bin/.*-${PV}
- usr/lib.*/lib.*.so
- usr/lib/rustlib/.*/codegen-backends/librustc_codegen_llvm-llvm.so
- usr/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_SONAME="usr/lib.*/librustc_macros.*.so"
-
-PATCHES=(
- "${FILESDIR}"/1.40.0-add-soname.patch
- "${FILESDIR}"/llvm-gcc10.patch
-)
-
-S="${WORKDIR}/${MY_P}-src"
-
-toml_usex() {
- usex "$1" true false
-}
-
-pre_build_checks() {
- CHECKREQS_DISK_BUILD="9G"
- eshopts_push -s extglob
- if is-flagq '-g?(gdb)?([1-9])'; then
- CHECKREQS_DISK_BUILD="15G"
- fi
- eshopts_pop
- check-reqs_pkg_setup
-}
-
-pkg_pretend() {
- pre_build_checks
-}
-
-pkg_setup() {
- pre_build_checks
- python-any-r1_pkg_setup
-
- # use bundled for now, #707746
- # will need dev-libs/libgit2 slotted dep if re-enabled
- #export LIBGIT2_SYS_USE_PKG_CONFIG=1
- export LIBSSH2_SYS_USE_PKG_CONFIG=1
- export PKG_CONFIG_ALLOW_CROSS=1
-
- 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 \
- --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\""
- fi
- rust_targets="${rust_targets#,}"
-
- local extended="true" tools="\"cargo\","
- if use clippy; then
- tools="\"clippy\",$tools"
- fi
- if use rls; then
- tools="\"rls\",\"analysis\",\"src\",$tools"
- fi
- if use rustfmt; then
- tools="\"rustfmt\",$tools"
- fi
-
- local rust_stage0_root
- if use system-bootstrap; then
- rust_stage0_root="$(rustc --print sysroot)"
- else
- rust_stage0_root="${WORKDIR}"/rust-stage0
- fi
-
- rust_target="$(rust_abi)"
-
- cat <<- EOF > "${S}"/config.toml
- [llvm]
- optimize = $(toml_usex !debug)
- release-debuginfo = $(toml_usex debug)
- assertions = $(toml_usex debug)
- targets = "${LLVM_TARGETS// /;}"
- experimental-targets = ""
- link-shared = $(toml_usex system-llvm)
- [build]
- build = "${rust_target}"
- host = ["${rust_target}"]
- target = [${rust_targets}]
- cargo = "${rust_stage0_root}/bin/cargo"
- rustc = "${rust_stage0_root}/bin/rustc"
- docs = $(toml_usex doc)
- compiler-docs = $(toml_usex doc)
- submodules = false
- python = "${EPYTHON}"
- locked-deps = true
- vendor = true
- extended = ${extended}
- tools = [${tools}]
- verbose = 2
- [install]
- prefix = "${EPREFIX}/usr"
- libdir = "lib"
- docdir = "share/doc/${PF}"
- mandir = "share/man"
- [rust]
- optimize = true
- debug = $(toml_usex debug)
- debug-assertions = $(toml_usex debug)
- default-linker = "$(tc-getCC)"
- parallel-compiler = $(toml_usex parallel-compiler)
- channel = "$(usex nightly nightly stable)"
- rpath = false
- lld = $(usex system-llvm false $(toml_usex wasm))
- backtrace-on-ice = true
- [dist]
- src-tarball = false
- 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}]
- cc = "$(tc-getBUILD_CC)"
- cxx = "$(tc-getBUILD_CXX)"
- linker = "$(tc-getCC)"
- ar = "$(tc-getAR)"
- 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
-}
-
-src_compile() {
- env $(cat "${S}"/config.env)\
- "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
- --exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
-}
-
-src_install() {
- env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \
- --exclude src/tools/miri || die
-
- # bug #689562, #689160
- rm "${D}/etc/bash_completion.d/cargo" || die
- rmdir "${D}"/etc{/bash_completion.d,} || die
- dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
-
- mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
- mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
- mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
- mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
- mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
- mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
- if use clippy; then
- mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
- mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
- fi
- if use rls; then
- mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
- fi
- if use rustfmt; then
- mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
- mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
- fi
-
- # Move public shared libs to abi specific libdir
- # Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib
- if [[ $(get_libdir) != lib ]]; then
- dodir /usr/$(get_libdir)
- mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die
- fi
-
- dodoc COPYRIGHT
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-EOF > "${T}/provider-${P}"
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- EOF
- echo /usr/bin/cargo >> "${T}/provider-${P}"
- 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}"
-}
-
-pkg_postinst() {
- eselect rust update --if-unset
-
- 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}."
-
- ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
- ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
- ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
-
- 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
-
- if use elibc_musl; then
- ewarn "${PN} on *-musl targets is configured with crt-static"
- ewarn ""
- ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
- ewarn "to use it with portage, otherwise you may see failures like"
- ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
- ewarn "x86_64-unknown-linux-musl does not support these crate types"
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust/rust-1.42.0.ebuild b/dev-lang/rust/rust-1.42.0.ebuild
deleted file mode 100644
index 769cc360926b..000000000000
--- a/dev-lang/rust/rust-1.42.0.ebuild
+++ /dev/null
@@ -1,385 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
-
-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"
-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 ~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} -> rustc-${PV}-src.tar.xz
- !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
-"
-
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM 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 doc libressl miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm 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:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 11.
-# 3. Specify LLVM_MAX_SLOT, e.g. 10.
-LLVM_DEPEND="
- || (
- sys-devel/llvm:10[${LLVM_TARGET_USEDEPS// /,}]
- sys-devel/llvm:9[${LLVM_TARGET_USEDEPS// /,}]
- )
- <sys-devel/llvm-11:=
- wasm? ( sys-devel/lld )
-"
-LLVM_MAX_SLOT=10
-
-BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
-
-COMMON_DEPEND="
- net-libs/libssh2:=
- net-libs/http-parser:=
- net-misc/curl:=[ssl]
- sys-libs/zlib:=
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- elibc_musl? ( sys-libs/libunwind )
- system-llvm? (
- ${LLVM_DEPEND}
- )
-"
-
-DEPEND="${COMMON_DEPEND}
- ${PYTHON_DEPS}
- || (
- >=sys-devel/gcc-4.7
- >=sys-devel/clang-3.5
- )
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
- !system-llvm? (
- dev-util/cmake
- dev-util/ninja
- )
-"
-
-RDEPEND="${COMMON_DEPEND}
- >=app-eselect/eselect-rust-20190311
-"
-
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
- miri? ( nightly )
- parallel-compiler? ( nightly )
- wasm? ( llvm_targets_WebAssembly )
- x86? ( cpu_flags_x86_sse2 )
-"
-
-QA_FLAGS_IGNORED="
- usr/bin/.*-${PV}
- usr/lib.*/lib.*.so
- usr/lib/rustlib/.*/codegen-backends/librustc_codegen_llvm-llvm.so
- usr/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_SONAME="usr/lib.*/librustc_macros.*.so"
-
-PATCHES=(
- "${FILESDIR}"/1.40.0-add-soname.patch
- "${FILESDIR}"/1.42.0-fix-bootstrap.patch
- "${FILESDIR}"/1.42.0-libressl.patch
-)
-
-S="${WORKDIR}/${MY_P}-src"
-
-toml_usex() {
- usex "$1" true false
-}
-
-pre_build_checks() {
- CHECKREQS_DISK_BUILD="9G"
- eshopts_push -s extglob
- if is-flagq '-g?(gdb)?([1-9])'; then
- CHECKREQS_DISK_BUILD="15G"
- fi
- eshopts_pop
- check-reqs_pkg_setup
-}
-
-pkg_pretend() {
- pre_build_checks
-}
-
-pkg_setup() {
- pre_build_checks
- python-any-r1_pkg_setup
-
- # use bundled for now, #707746
- # will need dev-libs/libgit2 slotted dep if re-enabled
- #export LIBGIT2_SYS_USE_PKG_CONFIG=1
- export LIBSSH2_SYS_USE_PKG_CONFIG=1
- export PKG_CONFIG_ALLOW_CROSS=1
-
- 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 \
- --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\""
- fi
- rust_targets="${rust_targets#,}"
-
- local extended="true" 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\",\"src\",$tools"
- fi
- if use rustfmt; then
- tools="\"rustfmt\",$tools"
- fi
-
- local rust_stage0_root
- if use system-bootstrap; then
- rust_stage0_root="$(rustc --print sysroot)"
- else
- rust_stage0_root="${WORKDIR}"/rust-stage0
- fi
-
- rust_target="$(rust_abi)"
-
- cat <<- EOF > "${S}"/config.toml
- [llvm]
- optimize = $(toml_usex !debug)
- release-debuginfo = $(toml_usex debug)
- assertions = $(toml_usex debug)
- targets = "${LLVM_TARGETS// /;}"
- experimental-targets = ""
- link-shared = $(toml_usex system-llvm)
- [build]
- build = "${rust_target}"
- host = ["${rust_target}"]
- target = [${rust_targets}]
- cargo = "${rust_stage0_root}/bin/cargo"
- rustc = "${rust_stage0_root}/bin/rustc"
- docs = $(toml_usex doc)
- compiler-docs = $(toml_usex doc)
- submodules = false
- python = "${EPYTHON}"
- locked-deps = true
- vendor = true
- extended = ${extended}
- tools = [${tools}]
- verbose = 2
- [install]
- prefix = "${EPREFIX}/usr"
- libdir = "lib"
- docdir = "share/doc/${PF}"
- mandir = "share/man"
- [rust]
- optimize = true
- debug = $(toml_usex debug)
- debug-assertions = $(toml_usex debug)
- default-linker = "$(tc-getCC)"
- parallel-compiler = $(toml_usex parallel-compiler)
- channel = "$(usex nightly nightly stable)"
- rpath = false
- lld = $(usex system-llvm false $(toml_usex wasm))
- backtrace-on-ice = true
- [dist]
- src-tarball = false
- 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}]
- cc = "$(tc-getBUILD_CC)"
- cxx = "$(tc-getBUILD_CXX)"
- linker = "$(tc-getCC)"
- ar = "$(tc-getAR)"
- 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
-
- einfo "Rust configured with the following settings:"
- cat "${S}"/config.toml || die
-}
-
-src_compile() {
- env $(cat "${S}"/config.env)\
- "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
-}
-
-src_install() {
- env $(cat "${S}"/config.env) DESTDIR="${D}" \
- "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die
-
- # bug #689562, #689160
- rm "${D}/etc/bash_completion.d/cargo" || die
- rmdir "${D}"/etc{/bash_completion.d,} || die
- dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
-
- mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
- mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
- mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
- mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
- mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
- mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
- if use clippy; then
- mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
- mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
- fi
- if use miri; then
- mv "${ED}/usr/bin/miri" "${ED}/usr/bin/miri-${PV}" || die
- mv "${ED}/usr/bin/cargo-miri" "${ED}/usr/bin/cargo-miri-${PV}" || die
- fi
- if use rls; then
- mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
- fi
- if use rustfmt; then
- mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
- mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
- fi
-
- # Move public shared libs to abi specific libdir
- # Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib
- if [[ $(get_libdir) != lib ]]; then
- dodir /usr/$(get_libdir)
- mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die
- fi
-
- dodoc COPYRIGHT
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-EOF > "${T}/provider-${P}"
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- EOF
- echo /usr/bin/cargo >> "${T}/provider-${P}"
- 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}"
-}
-
-pkg_postinst() {
- eselect rust update --if-unset
-
- 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}."
-
- ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
- ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
- ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
-
- 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
-
- if use elibc_musl; then
- ewarn "${PN} on *-musl targets is configured with crt-static"
- ewarn ""
- ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
- ewarn "to use it with portage, otherwise you may see failures like"
- ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
- ewarn "x86_64-unknown-linux-musl does not support these crate types"
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust/rust-1.43.1.ebuild b/dev-lang/rust/rust-1.43.1.ebuild
deleted file mode 100644
index 9f54ed8a0668..000000000000
--- a/dev-lang/rust/rust-1.43.1.ebuild
+++ /dev/null
@@ -1,419 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
-
-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"
-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 x86"
-fi
-
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-
-SRC_URI="
- https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
- !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
-"
-
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM 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 doc libressl miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm 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:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 11.
-# 3. Specify LLVM_MAX_SLOT, e.g. 10.
-LLVM_DEPEND="
- || (
- sys-devel/llvm:10[${LLVM_TARGET_USEDEPS// /,}]
- sys-devel/llvm:9[${LLVM_TARGET_USEDEPS// /,}]
- )
- <sys-devel/llvm-11:=
- wasm? ( sys-devel/lld )
-"
-LLVM_MAX_SLOT=10
-
-BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
-
-# libgit2 should be at least same as bungled into libgit-sys #707746
-COMMON_DEPEND="
- >=dev-libs/libgit2-0.99:=
- net-libs/libssh2:=
- net-libs/http-parser:=
- net-misc/curl:=[ssl]
- sys-libs/zlib:=
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- elibc_musl? ( sys-libs/libunwind )
- system-llvm? (
- ${LLVM_DEPEND}
- )
-"
-
-DEPEND="${COMMON_DEPEND}
- ${PYTHON_DEPS}
- || (
- >=sys-devel/gcc-4.7
- >=sys-devel/clang-3.5
- )
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
- !system-llvm? (
- dev-util/cmake
- dev-util/ninja
- )
-"
-
-RDEPEND="${COMMON_DEPEND}
- >=app-eselect/eselect-rust-20190311
-"
-
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
- miri? ( nightly )
- parallel-compiler? ( nightly )
- wasm? ( llvm_targets_WebAssembly )
- x86? ( cpu_flags_x86_sse2 )
-"
-
-QA_FLAGS_IGNORED="
- usr/bin/.*-${PV}
- usr/lib.*/lib.*.so
- usr/lib/rustlib/.*/codegen-backends/librustc_codegen_llvm-llvm.so
- usr/lib/rustlib/.*/lib/lib.*.so
-"
-
-# tests need a bit more work, currently they are causing multiple
-# re-compilations and somewhat fragile.
-RESTRICT="test"
-
-QA_SONAME="usr/lib.*/librustc_macros.*.so"
-
-PATCHES=(
- "${FILESDIR}"/1.40.0-add-soname.patch
- "${FILESDIR}"/0012-Ignore-broken-and-non-applicable-tests.patch
- "${FILESDIR}"/1.43.0-llvm10.patch
- "${FILESDIR}"/1.42.0-libressl.patch
-)
-
-S="${WORKDIR}/${MY_P}-src"
-
-toml_usex() {
- usex "$1" true false
-}
-
-pre_build_checks() {
- CHECKREQS_DISK_BUILD="9G"
- eshopts_push -s extglob
- if is-flagq '-g?(gdb)?([1-9])'; then
- CHECKREQS_DISK_BUILD="15G"
- fi
- eshopts_pop
- check-reqs_pkg_setup
-}
-
-pkg_pretend() {
- pre_build_checks
-}
-
-pkg_setup() {
- pre_build_checks
- python-any-r1_pkg_setup
-
- # required to link agains system libs, otherwise
- # crates use bundled sources and compile own static version
- export LIBGIT2_SYS_USE_PKG_CONFIG=1
- export LIBSSH2_SYS_USE_PKG_CONFIG=1
- export PKG_CONFIG_ALLOW_CROSS=1
-
- 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 \
- --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\""
- 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\",\"src\",$tools"
- fi
- if use rustfmt; then
- tools="\"rustfmt\",$tools"
- fi
-
- local rust_stage0_root
- if use system-bootstrap; then
- rust_stage0_root="$(rustc --print sysroot)"
- else
- rust_stage0_root="${WORKDIR}"/rust-stage0
- fi
-
- rust_target="$(rust_abi)"
-
- cat <<- EOF > "${S}"/config.toml
- [llvm]
- 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)
- [build]
- build = "${rust_target}"
- host = ["${rust_target}"]
- target = [${rust_targets}]
- cargo = "${rust_stage0_root}/bin/cargo"
- rustc = "${rust_stage0_root}/bin/rustc"
- docs = $(toml_usex doc)
- compiler-docs = $(toml_usex doc)
- 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"
- libdir = "lib"
- docdir = "share/doc/${PF}"
- mandir = "share/man"
- [rust]
- optimize = true
- debug = $(toml_usex debug)
- debug-assertions = $(toml_usex debug)
- debuginfo-level-rustc = 0
- backtrace = true
- incremental = false
- default-linker = "$(tc-getCC)"
- parallel-compiler = $(toml_usex parallel-compiler)
- channel = "$(usex nightly nightly stable)"
- rpath = false
- verbose-tests = true
- optimize-tests = $(toml_usex !debug)
- codegen-tests = true
- dist-src = false
- lld = $(usex system-llvm false $(toml_usex wasm))
- backtrace-on-ice = true
- jemalloc = false
- [dist]
- src-tarball = false
- 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}]
- cc = "$(tc-getBUILD_CC)"
- cxx = "$(tc-getBUILD_CXX)"
- linker = "$(tc-getCC)"
- ar = "$(tc-getAR)"
- 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
-
- einfo "Rust configured with the following settings:"
- cat "${S}"/config.toml || die
-}
-
-src_compile() {
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
- "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
-}
-
-src_test() {
- 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 \
- src/test/codegen \
- src/test/codegen-units \
- src/test/compile-fail \
- src/test/incremental \
- src/test/mir-opt \
- src/test/pretty \
- src/test/run-fail \
- src/test/run-make \
- src/test/run-make-fulldeps \
- src/test/ui \
- src/test/ui-fulldeps || die
-}
-
-src_install() {
- env $(cat "${S}"/config.env) DESTDIR="${D}" \
- "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die
-
- # bug #689562, #689160
- rm "${D}/etc/bash_completion.d/cargo" || die
- rmdir "${D}"/etc{/bash_completion.d,} || die
- dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
-
- mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
- mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
- mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
- mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
- mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
- mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
- if use clippy; then
- mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
- mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
- fi
- if use miri; then
- mv "${ED}/usr/bin/miri" "${ED}/usr/bin/miri-${PV}" || die
- mv "${ED}/usr/bin/cargo-miri" "${ED}/usr/bin/cargo-miri-${PV}" || die
- fi
- if use rls; then
- mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
- fi
- if use rustfmt; then
- mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
- mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
- fi
-
- # Move public shared libs to abi specific libdir
- # Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib
- if [[ $(get_libdir) != lib ]]; then
- dodir /usr/$(get_libdir)
- mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die
- fi
-
- dodoc COPYRIGHT
- rm "${ED}/usr/share/doc/${P}"/*.old || die
- rm "${ED}/usr/share/doc/${P}/LICENSE-APACHE" || die
- rm "${ED}/usr/share/doc/${P}/LICENSE-MIT" || 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
- 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}"
-}
-
-pkg_postinst() {
- eselect rust update --if-unset
-
- 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}."
-
- 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
-
- if use elibc_musl; then
- ewarn "${PN} on *-musl targets is configured with crt-static"
- ewarn ""
- ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
- ewarn "to use it with portage, otherwise you may see failures like"
- ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
- ewarn "x86_64-unknown-linux-musl does not support these crate types"
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust/rust-1.44.1.ebuild b/dev-lang/rust/rust-1.44.1.ebuild
index 1ba3a231d20a..3ddcdaa9ee15 100644
--- a/dev-lang/rust/rust-1.44.1.ebuild
+++ b/dev-lang/rust/rust-1.44.1.ebuild
@@ -18,7 +18,7 @@ else
SLOT="stable/${ABI_VER}"
MY_P="rustc-${PV}"
SRC="${MY_P}-src.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+ KEYWORDS="amd64 arm arm64 ppc64 x86"
fi
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1"
@@ -60,7 +60,7 @@ LLVM_MAX_SLOT=10
BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
-# libgit2 should be at least same as bungled into libgit-sys #707746
+# libgit2 should be at least same as bundled into libgit-sys #707746
COMMON_DEPEND="
>=dev-libs/libgit2-0.99:=
net-libs/libssh2:=
diff --git a/dev-lang/rust/rust-1.44.0.ebuild b/dev-lang/rust/rust-1.45.2.ebuild
index bd67db4cdf4b..68cc5bb4cb29 100644
--- a/dev-lang/rust/rust-1.44.0.ebuild
+++ b/dev-lang/rust/rust-1.45.2.ebuild
@@ -60,12 +60,25 @@ LLVM_MAX_SLOT=10
BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
-# libgit2 should be at least same as bungled into libgit-sys #707746
-COMMON_DEPEND="
+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
+ dev-util/ninja
+ )
+"
+
+# libgit2 should be at least same as bundled into libgit-sys #707746
+DEPEND="
>=dev-libs/libgit2-0.99:=
net-libs/libssh2:=
net-libs/http-parser:=
- net-misc/curl:=[ssl]
+ net-misc/curl:=[http2,ssl]
sys-libs/zlib:=
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
@@ -75,21 +88,8 @@ COMMON_DEPEND="
)
"
-DEPEND="${COMMON_DEPEND}
- ${PYTHON_DEPS}
- || (
- >=sys-devel/gcc-4.7
- >=sys-devel/clang-3.5
- )
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
- !system-llvm? (
- dev-util/cmake
- dev-util/ninja
- )
-"
-
-RDEPEND="${COMMON_DEPEND}
- >=app-eselect/eselect-rust-20190311
+RDEPEND="${DEPEND}
+ app-eselect/eselect-rust
"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
@@ -99,16 +99,19 @@ REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
x86? ( cpu_flags_x86_sse2 )
"
+# we don't use cmake.eclass, but can get a warnin -l
+CMAKE_WARN_UNUSED_CLI=no
+
QA_FLAGS_IGNORED="
usr/bin/.*-${PV}
- usr/lib.*/lib.*.so
- usr/lib/rustlib/.*/codegen-backends/librustc_codegen_llvm-llvm.so
- usr/lib/rustlib/.*/lib/lib.*.so
+ usr/lib.*/${P}/lib.*.so.*
+ usr/lib.*/${P}/rustlib/.*/bin/.*
+ usr/lib.*/${P}/rustlib/.*/lib/lib.*.so.*
"
QA_SONAME="
- usr/lib.*/lib.*.so
- usr/lib.*/librustc_macros.*.s
+ usr/lib.*/${P}/lib.*.so.*
+ usr/lib.*/${P}/rustlib/.*/lib/lib.*.so.*
"
# tests need a bit more work, currently they are causing multiple
@@ -126,14 +129,41 @@ toml_usex() {
usex "$1" true false
}
+boostrap_rust_version_check() {
+ # never call from pkg_pretend. eselect-rust may be not installed yet.
+ local rustc_wanted="$(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 rustc version!"
+
+ 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
+ else
+ einfo "Using rust ${rustc_version} to build"
+ fi
+}
+
pre_build_checks() {
- CHECKREQS_DISK_BUILD="9G"
+ local M=6144
+ M=$(( $(usex clippy 128 0) + ${M} ))
+ M=$(( $(usex miri 128 0) + ${M} ))
+ M=$(( $(usex rls 512 0) + ${M} ))
+ M=$(( $(usex rustfmt 256 0) + ${M} ))
+ M=$(( $(usex system-llvm 0 2048) + ${M} ))
+ M=$(( $(usex wasm 256 0) + ${M} ))
+ M=$(( $(usex debug 15 10) * ${M} / 10 ))
eshopts_push -s extglob
if is-flagq '-g?(gdb)?([1-9])'; then
- CHECKREQS_DISK_BUILD="15G"
+ M=$(( 15 * ${M} / 10 ))
fi
eshopts_pop
- check-reqs_pkg_setup
+ M=$(( $(usex system-bootstrap 0 1024) + ${M} ))
+ M=$(( $(usex doc 256 0) + ${M} ))
+ CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
}
pkg_pretend() {
@@ -143,6 +173,7 @@ pkg_pretend() {
pkg_setup() {
pre_build_checks
python-any-r1_pkg_setup
+ use system-bootstrap && boostrap_rust_version_check
# required to link agains system libs, otherwise
# crates use bundled sources and compile own static version
@@ -181,6 +212,11 @@ src_configure() {
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/' src/librustc_target/spec/wasm32_base.rs || die
+ fi
fi
rust_targets="${rust_targets#,}"
@@ -236,9 +272,9 @@ src_configure() {
cargo-native-static = false
[install]
prefix = "${EPREFIX}/usr"
- libdir = "lib"
+ libdir = "$(get_libdir)/${P}"
docdir = "share/doc/${PF}"
- mandir = "share/man"
+ mandir = "share/${P}/man"
[rust]
optimize = true
debug = $(toml_usex debug)
@@ -254,6 +290,7 @@ src_configure() {
optimize-tests = $(toml_usex !debug)
codegen-tests = true
dist-src = false
+ remap-debuginfo = true
lld = $(usex system-llvm false $(toml_usex wasm))
backtrace-on-ice = true
jemalloc = false
@@ -312,7 +349,7 @@ src_configure() {
# )
# 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
+ # 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)
@@ -356,7 +393,7 @@ src_configure() {
sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die
ewarn
- ewarn "Enabled ${rust_target} rust target"
+ ewarn "Enabled ${cross_rust_target} rust target"
ewarn "Using ${cross_toolchain} cross toolchain"
ewarn
if ! has_version -b 'sys-devel/binutils[multitarget]' ; then
@@ -428,14 +465,30 @@ src_install() {
mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
fi
- # Move public shared libs to abi specific libdir
- # Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib
- if [[ $(get_libdir) != lib ]]; then
- dodir /usr/$(get_libdir)
- mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die
- fi
+ # Copy shared library versions of standard libraries for all targets
+ # into the system's abi-dependent lib directories because the rust
+ # installer only does so for the native ABI.
+
+ local abi_libdir rust_target
+ for v in $(multilib_get_enabled_abi_pairs); do
+ if [ ${v##*.} = ${DEFAULT_ABI} ]; then
+ continue
+ fi
+ abi_libdir=$(get_abi_LIBDIR ${v##*.})
+ rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
+ mkdir -p "${ED}/usr/${abi_libdir}/${P}"
+ cp "${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \
+ "${ED}/usr/${abi_libdir}/${P}" || die
+ done
+
+ # versioned libdir/mandir support
+ newenvd - "50${P}" <<-_EOF_
+ LDPATH="${EPREFIX}/usr/$(get_libdir)/${P}"
+ MANPATH="${EPREFIX}/usr/share/${P}/man"
+ _EOF_
dodoc COPYRIGHT
+ rm -rf "${ED}/usr/$(get_libdir)/${P}"/*.old || die
rm "${ED}/usr/share/doc/${P}"/*.old || die
rm "${ED}/usr/share/doc/${P}/LICENSE-APACHE" || die
rm "${ED}/usr/share/doc/${P}/LICENSE-MIT" || die
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 59a5908b9b7a..df49ddf8b315 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,5 +1,6 @@
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-17.0.0-unbreak-clang.patch 1154 BLAKE2B e3d76001ca3ee7d4374d349671f6af5a648db16bd5a91b393da6013b513ea7671ba093a2d3e1610374bd75f3373e3cb3fcb805436346927c8dd1456df2174ba3 SHA512 a2b5e7ef252c1b82dd612b1515a1f2013d416a46a4bd10a8c914470eb1815bbf02d51913d75455d57a348b3e217d225b6bb9a680e1ae84d786e43c59bb05992b
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
@@ -7,7 +8,9 @@ AUX spidermonkey-60.5.2-ia64-support.patch 1615 BLAKE2B bd2ae36194bdb6a17638ec50
AUX spidermonkey-perl-defined-array-check.patch 341 BLAKE2B e11a74cc2afbea5e39ec5f3fb4c108278a8b71b57ce71644184bc4e19188059f6cb9c164ab87877605028241ed0b68a1447414f1aa0f5453fa26a603ecd4f6a6 SHA512 5d178b68cf0744da874624da79cd31555bd882aed205e697a3f0bfc3cb91a149d74da79b7af5883ea5a23e1d1692753ebfda0d83e7a25ac000105849db5c1548
DIST firefox-68.0-patches-12.tar.xz 17476 BLAKE2B bd788e24820f902f4ca908b0cf7a49a4c57e058915af1eb87233d19d91271092676c1ee4c67e88df2411ecccea47c4e735efdf95945954f2d9aac5cc2f9051f2 SHA512 8033a3c445eaddd28188b338534da16a4130b679a5f6673b3094524e47435890e6d454d7b67f81bbe21f80ef1b65fa7e6c27d71191ba70dd8ea87fc68463f9a7
DIST firefox-68.0-patches-14.tar.xz 17488 BLAKE2B 697aecf97b04b45ea17ed1c1eaded95ca5064760cd0468968326f1683c10d91b76458c0f3e1ae7772b0d43c33632c03a69e5b09579284de19ecaaf7603dc2412 SHA512 9a601b80f747eb52ce772ec931d4f5ff0180ca1531c92d46ca116fb8218c829b9be496392e785d79106c76abef149e666cdc65204bdf1ebb7904b65264cfa6b6
+DIST firefox-68.0-patches-15.tar.xz 16060 BLAKE2B f9e6cd58ea51bed1af90a9d30fd551dc7e939afcd1b4d00de1271bd4bda94021c6f1799fd9945962c14ffa1fd0b6a6429369c4e45efc2000f179b9b2e46971e7 SHA512 9cb2479637dd8b84e0ab68dc0fe144acd2dc74feca282fd3c4b485ca6f0de8190244587622713a5421b243ccda153f738e9a8f463e87e15e93e9b725d943e128
DIST firefox-68.10.0esr.source.tar.xz 314526224 BLAKE2B 698367314caa4d8e9fd64e5ec6fd26316a26470f94d095dd212932cb968ecabd492563d661df46be693c8deb16cdb45c6ba756d506a8211f184e4637c7d9e986 SHA512 c5c1833560364851e7cf8ea51659bc4fb60239b960125cdb20fe31f742d757ffdaef8f314f800dc91214ee8e358033dc2af971c08bbba474ef6158b101881653
+DIST firefox-68.11.0esr.source.tar.xz 321294384 BLAKE2B ee44ed20584f5b1e3c41de62a720c6e91784d76503198d8363ce6d6f74454ce101c9b811d8295b81eb6454bdb20e1109c3e9c5cd052e0e9a6f7607d338a97783 SHA512 7dcfa4944945bce184b96643a7afbd0cc97c93e4f727695bd5ee1e1745cff89784e68baf109588ef56791211b4b8f5c7c056ae6ac77f54fd00a5af5d5606f23e
DIST firefox-68.7.0esr.source.tar.xz 312235932 BLAKE2B 17030bc74341ecae74d7dadcb0fc0212e61e3f01463671e57f73c90e534db1088d597d43bc362cd083ca26b056bce45684eda121b2cd91c7793c44a7c40efb7a SHA512 a3ddcf8ffe5f568b30b1fc9ddcaa5cebe600bf11ce353c09507d5466f999022d45a0dee9a08f53f37b10202a2e2ce4c180743cd6a2ca38dfea1c3e4487b18593
DIST firefox-68.8.0esr.source.tar.xz 312602308 BLAKE2B 19be922cdadc705a267f35450e742cf9cf2f793a3e74dd9a397f898ff879cf9d7e59ccc148a9fa47f3c637c30887c205f01069e689f0586fb9ef82f4e6b160ce SHA512 139a63dc85ae76a50da6be9a31425f97144e6c7e4a65b0f3009a84eb5c8c9566f6bb331e26590f8aecd5045c4d730ab4e848cf7220f3444a31147b5533c742b3
DIST firefox-68.9.0esr.source.tar.xz 317469120 BLAKE2B f04f8ca1abe802edb6d37c0de5f8024d513331fd80c9b701c93de74cbafc0650b1c0f58e54a2dbe6bee0457698dc386093aab7749c9b0738bf146bfbae6bf4e2 SHA512 98431800d80f7c680aef9eede29df8217810912a319a7f7f8c2e637c43ecd4f4e29223a417afb2a6315e825f979453ff6e6b5a575649aba5cc63ce5956375bb8
@@ -19,6 +22,7 @@ DIST mozjs-52.9.1pre1.tar.bz2 30178574 BLAKE2B 0920432b5140e78297a9bcbccb54268d7
DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0
DIST mozjs17.0.0.tar.gz 6778934 BLAKE2B a37debf5079fc4c27bb9edd3172c6e7914f6128fac6ffa97b49ac266c477d0916b180fb68ecd0916a52f935959a83d73254b0ba72b4898adc5e3b85927d17d2a SHA512 39b68aeb9f712f146778d8b68ee795709a1372c8ab893a222af4eb34882427d6f5cf877e743d6cb2f1b4348c194d8f3774f00cb775b03515b34b49560b748be4
DIST spidermonkey-52.0-patches-0.tar.xz 5172 BLAKE2B 8bcf9477de47ef3b882cd3281efa7f77c16ce11fc93f44446a620917adf629fde8290af1dd69f0930a889aacfee3603bf60eb9c1e718a1dfd3e218a1013b6192 SHA512 88ad640fb0efa4972f1b7782bd0abee1751b73914ee51faade93b25c4d8eec64e7693898842a406c49fc2ab43733404efeccb138afb64d2193b9a5eb612578e3
+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-03.tar.xz 4744 BLAKE2B 2a323ea9b6291e427631f986822e779cd3d302b617a827ff020760bb1b19cacbc588d5c76637e386f62b8b64036b0b665bfecae7fdb08477fa5d7fb13630523c SHA512 1465331b61abc9c14245bc6510f1f6996274795853d12d209d7e0a088b37a1a2488cc5cc61a6c2bd0fe05971dad54b19614fb477ec3176b240aa6e0190e89b47
DIST spidermonkey-slot0-patches-01.tar.xz 10488 BLAKE2B 4a5195ac11d1076046424fc10d1416d097fb230cd8b0b28ac8b65d379e0c0518586ced0f48f833dea52b13fb5d300e02664657ab2479bfcc343bc358d394d5d7 SHA512 6c878ed0b50c052989a8b965fed845e9c672b691f4c4b1f98ee82e81a33880e1e6bf1dac8222d71322553282de602a88272dedebbcf50d27967fc172f0a8054a
@@ -29,16 +33,18 @@ DIST spidermonkey-slot45-patches-01.tar.xz 5092 BLAKE2B 0188a179fc741ab84a93aae1
EBUILD spidermonkey-1.7.0-r3.ebuild 1525 BLAKE2B bc8709a762377851c1df610f95d4b9c9063a8be171b6eb4900db464b020d053fbff989cd25161590786631f123aa984c7928a8729faafc91c06c4d75da50b4c0 SHA512 45624955dca00e2edd53190e97292f0f2fd5b53fecda15b7397e65c1e9fb4c017cd7858ef0f9cf660cdbeb8bbbf659db02f716b02ae709ce4d35fc7a3dd4ccbb
EBUILD spidermonkey-1.8.5-r6.ebuild 4440 BLAKE2B 5f7e466352fc9e4c6493b2119506159bef19fc39e026f528b96973db060c7330a755eb275e8d1dee3c42850493d7d6f85508935c01f30eab93ef18142221e9d6 SHA512 4fff2455f743140b013c4dad85a346eac2321b85a235dfa2f1e5f16f126848b37be3dcd6d45fcefbaf25d446cfed3c33964db51d8744732c9058951eaa1efb00
EBUILD spidermonkey-1.8.5-r7.ebuild 3800 BLAKE2B aeee77c98050d1b3efb7edbfaedc4a9bd26780d1a7a0c06bb7215a526cd2a8dfb0899f1d9ee1283cedd10439e3c7b6cae43724ab7e472a2f7d1c50d3f2f3ff11 SHA512 f4991c454c8cee15e6140038366afdab70ee5b1961e2a8f8bb8a359470c83d40c1cb3d90458acbd0360132389c748a2879ff2d7fcff65d4417b287919562dc61
-EBUILD spidermonkey-1.8.5-r9.ebuild 4003 BLAKE2B 4f06ef3dde6670a087ca0a68ed3a0fba0d4233f90e2039e39189150f420786d98dfb7abbae2ae0bb2fc37619294ee74b226acdaf460c70d8893d50260682c758 SHA512 1e126d85b2b278d195e06e9bae4ab15a4c9aa9bdd416c19dfcb952d352d0b4139dea53cf43af0ab33167ed0c882f2e4720ac9dd22599b911ea537cd53d3391dd
-EBUILD spidermonkey-17.0.0-r5.ebuild 3565 BLAKE2B 5691acf4166104ac8d93516b36b4f42c731ed5aac311d2b8236f99be9a115b1753b42215e580fb37a0580870dbf52bc52ad20f5ac97a43dc5caa11bec967c68f SHA512 6291a2dfe0d9c2bb339ac81952406417adb4b87cbd3a9cdec470ee76c7a7f9165438aa5d4739f49ec696842f34ff38829275b47223e630086992f2485f784518
+EBUILD spidermonkey-1.8.5-r9.ebuild 3998 BLAKE2B fc6c2c645f19173699c532321cb594270832d73d68aabf1c152d199dd344abcd1a6f8656c06941c48b5c6739116d98e4cc1d2fb87124763982d7065704613ba9 SHA512 e00e9b001a43fcbb2ebaedb17e692955ab932b4351c14229d0e156b5ab9cdbf4dbe65dddfe972524ed572598ec00773e86d025f9208dc3769ce2c9dec1370e5c
+EBUILD spidermonkey-17.0.0-r5.ebuild 3613 BLAKE2B 20de9d6de02d554f0d83b5f097eebd310b535367ae804897cccb34ca9764f19dbce030f296366e87bf2aed9837da95609d13c2f4e5db552c1616675db0c74f98 SHA512 61c069d645f16a1fc1cb98e8baf7c52fa9ff51c86183369655253e760ca5108d5f5cc608e052a3bebcd43a0a9c7530fd1ff870cf0af09dbf44981df096b0f4b7
EBUILD spidermonkey-38.3.0.ebuild 3872 BLAKE2B b0c91e7693a54bc38c1f5067ba870679cbe57bdacfb6fce72deabeef356f55a6e4add8996c38b128cf0c6938abfef87655be7e2bbef0259fd0fa5a688265a67b SHA512 2fc1c3d16c4cc834289b00e8a2bdff2f780f641803300c07ff7e8df73951dfc212d50594642011e2444e5e84c17b4f1c86caa84c7db54d9f962b89fe5fd590d7
EBUILD spidermonkey-45.0.2.ebuild 3978 BLAKE2B f3e2b31ba68559486246701bab34a71dd554f7d50446f5ef328474ad6eaf669bf4580f2d888a949f8426501ad8c5fd48ffc54400b7d687669dcb6e89f31a737b SHA512 31d9de1a4a599f4388f16e11a30da4c0d0aa272211ef6a4f07d14c9b3fd25a7c794cac8731439c20988b3e7d48af66f468aa17df4fdc6fa840b9bba6d2e5b38d
EBUILD spidermonkey-52.9.1_pre1-r1.ebuild 4464 BLAKE2B 087b47427dc3bfe0703ef5e573a97430b63220595bb2e35f89f3489cd768b726b640df506fcb9d8b36f1d3559c80cef4253573217f64816caf7674e717dbb4e9 SHA512 ba91245662da115f3bf84b842506af5954b3c85e41a9124eac511f0960118f559ec183e65bc07874563d1d068d35dbcf76b31390608e4cb155cbc2de42d261e2
+EBUILD spidermonkey-52.9.1_pre1-r2.ebuild 4528 BLAKE2B d89054778d6ab9a536781bae52ef6711a066d4463389da4e801038b145eca4f735d3177426149136689d53c6bafb808f5c292be97561f5b9c4d09ddcadb3fc10 SHA512 caf023f7ba0489e1deff21f7a90e368063ddbe300603c46aa1caf1790b1d44bf74e9f15fbc43854a2cee24c14cc62bce13e809c87a12719fdbee206cff6358fc
EBUILD spidermonkey-52.9.1_pre1.ebuild 4292 BLAKE2B 36bb6fb32b838f11a18ec536be7f09f45bb1d05cd18a3312eb38512c4c895a17bb2a92721b28eb2e8e937f6112531c3647de1d2dc62637291206367c26350757 SHA512 782df8fdff08dc0f6a984e46be564609fb189014353d18b0f0673000beaded9c5cdba1e63f484ae19f5f6571e66a70b55270adea8876cbcfb1e3d36e5cde285c
EBUILD spidermonkey-60.5.2_p0-r2.ebuild 3865 BLAKE2B 81729b277561984a49c27c16c099c105863a6a61198cebe65686787ad180c0b03684398f2f3df31e44edce3e8d35723cc12bb89494ca4f76f76367964af040d7 SHA512 c6dec2360c7faf810b0235f7017a306e9f5a6c935ba081f9646e8195ed3b4aed67d26e8445187c5c3889c858a0ef56abaeecace1894733e589eba11f4769df01
EBUILD spidermonkey-60.5.2_p0-r3.ebuild 4045 BLAKE2B 23dcfb6f020e0b832fb8cb30455d6f2c9be52663961b7ffad74265064a09157dd6c39d2c8957ea57a937c94e3c9bc5623ba6e4d4d7a75073a482c357d4304a0f SHA512 6f7e821c23696220d67ae66a6e06f19b86eef30885909c0c7b6c817bfe412898825db7265b817d06b4d181c2ead503e710142728a1bc7fcdf741a073d94f2c2c
EBUILD spidermonkey-60.5.2_p0-r4.ebuild 4172 BLAKE2B 7222b262f9c7d52b28ad215e25c59c1e2d7ab689dbb553b34d2d20ce764de7398042730b1c6a1b74496213292c4e2818f85a9ca18f5e6d2362bd33779b9ab140 SHA512 77e3be2e461e4729596d56d1b84ea36964c65b0fa5708cc93025233a883cff462512a50a70b56bdf8be0fc36d8a1dfdb5cede457a99bcbd680936c979842cdaa
EBUILD spidermonkey-68.10.0.ebuild 5940 BLAKE2B 5ac37a755464c99446b47eeb227949d4578aa538ff99141f0db06b52865cfb7bd0d2cf152101bbc4408d111575f944c011c6a8f5d4ee44c1d2677086fc06b8ea SHA512 24c60430fba888dde9a62b0dc50e60d55912ba9cbf854a4d8a6024eb85fd830cbf45d18f39f0242355e5cf428f9d03c2adb0f7899acbe0982cfc95e2234915fe
+EBUILD spidermonkey-68.11.0.ebuild 6122 BLAKE2B ed56b6b800a7b40322edba8196d9018d4f6ffef33868d77534d70972adaad7392fd0923e3ae35f1fa2346f1c9880277dd1cd61aeb3ccccd25256efb9fcaefe3d SHA512 758fb0d4b7d2d224fbd4bd3e47e39c659f76728c3662f2056ba35800e27166e8b3bf4f0165848522939f165de5c271e857045758aa0c4a144ff60e9596e8b091
EBUILD spidermonkey-68.7.0.ebuild 5764 BLAKE2B 10992198135286158221c8c0c17b8247a9c21c26f5b1e4f8ee03f986ccd739186fa081d334bd5a9564e8e16c8d2bf829dbbb2674641c2fcdc0f92ccf72e28111 SHA512 d414774437072efd89fb70735ea5c6401ad16121ab2fa797948ee9e50b2bf3d22698a9105d47bb8a27454d8dd9d10327f906a1774c68954ce67fff90dd530e92
EBUILD spidermonkey-68.8.0.ebuild 5764 BLAKE2B f2b33f2a8c1bb2a5087eee95f6f99b50cd58d21bd3230c29a1e4ce8b025a45b73c5e47d0387e952ff7f36486938601ca0776999cf38936e1f0cd6fb2661767dd SHA512 b901798f921e54897e8c462a4d9af376a40b8b038df3b1d60926d62bbed20e3371cb708ea902a29899f802386cd9576c6281be3aba8bf6dbe13aeeb7fb0d6992
EBUILD spidermonkey-68.9.0.ebuild 5764 BLAKE2B f2b33f2a8c1bb2a5087eee95f6f99b50cd58d21bd3230c29a1e4ce8b025a45b73c5e47d0387e952ff7f36486938601ca0776999cf38936e1f0cd6fb2661767dd SHA512 b901798f921e54897e8c462a4d9af376a40b8b038df3b1d60926d62bbed20e3371cb708ea902a29899f802386cd9576c6281be3aba8bf6dbe13aeeb7fb0d6992
diff --git a/dev-lang/spidermonkey/files/spidermonkey-17.0.0-unbreak-clang.patch b/dev-lang/spidermonkey/files/spidermonkey-17.0.0-unbreak-clang.patch
new file mode 100644
index 000000000000..ef428e70b52f
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-17.0.0-unbreak-clang.patch
@@ -0,0 +1,32 @@
+commit ad6d8397a05a
+Author: Dan Gohman <sunfish@mozilla.com>
+Date: Thu May 22 11:15:06 2014 -0700
+
+ Bug 1012971 - SpiderMonkey: Fix various warnings. r=nbp
+---
+ js/public/RootingAPI.h | 4 +++-
+ js/src/configure.in | 1 +
+ js/src/jit/IonFrames.h | 17 ++++++++---------
+ js/src/jit/MIR.h | 12 +++++-------
+ js/src/jit/PerfSpewer.cpp | 12 ++++++------
+ js/src/jit/RegisterSets.h | 2 +-
+ js/src/jscntxt.h | 2 +-
+ js/src/jsgcinlines.h | 4 ++--
+ js/src/jsopcode.cpp | 2 +-
+ js/src/jsscript.cpp | 6 +++---
+ js/src/shell/js.cpp | 2 +-
+ js/src/vm/ArrayBufferObject.h | 16 ++++++++--------
+ js/src/vm/TypedArrayObject.cpp | 26 +++++++++++++-------------
+ 13 files changed, 53 insertions(+), 53 deletions(-)
+
+--- old/js/src/jsopcode.cpp.orig 2013-02-11 22:33:23 UTC
++++ new/js/src/jsopcode.cpp
+@@ -6067,7 +6067,7 @@ ExpressionDecompiler::write(JSString *s)
+ bool
+ ExpressionDecompiler::quote(JSString *s, uint32_t quote)
+ {
+- return QuoteString(&sprinter, s, quote) >= 0;
++ return QuoteString(&sprinter, s, quote) != NULL;
+ }
+
+ JSAtom *
diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r9.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r9.ebuild
index c22af086cef8..c644ea4bd334 100644
--- a/dev-lang/spidermonkey/spidermonkey-1.8.5-r9.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.5-r9.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://archive.mozilla.org/pub/js/${TARBALL_P}.tar.gz
LICENSE="NPL-1.1"
SLOT="0/mozjs185"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 x86 ~x64-macos"
IUSE="debug minimal static-libs test"
RESTRICT="!test? ( test )"
diff --git a/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild b/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild
index b5ba36c30932..4bade3f5fcc6 100644
--- a/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild
@@ -49,6 +49,7 @@ PATCHES=(
"${WORKDIR}"/sm17/${PN}-17-clang.patch
"${FILESDIR}"/${PN}-perl-defined-array-check.patch
"${WORKDIR}"/sm17/${PN}-17-fix_pointer_dereference.patch
+ "${FILESDIR}"/${PN}-17.0.0-unbreak-clang.patch
)
src_prepare() {
diff --git a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r2.ebuild b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r2.ebuild
new file mode 100644
index 000000000000..7f328008d901
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r2.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2020 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"
+
+RESTRICT="!test? ( test ) ia64? ( test )"
+
+S="${WORKDIR}/${MY_P%.rc*}"
+BUILDDIR="${S}/jsobj"
+
+RDEPEND=">=dev-libs/nspr-4.13.1
+ virtual/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
+
+ if [[ ${CHOST} == *-freebsd* ]]; then
+ # Don't try to be smart, this does not work in cross-compile anyway
+ ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
+ fi
+
+ 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.11.0.ebuild b/dev-lang/spidermonkey/spidermonkey-68.11.0.ebuild
new file mode 100644
index 000000000000..42affb528472
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-68.11.0.ebuild
@@ -0,0 +1,232 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+WANT_AUTOCONF="2.1"
+
+inherit autotools check-reqs python-any-r1
+
+MY_PN="mozjs"
+MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
+
+MY_MAJOR=$(ver_cut 1)
+
+MOZ_ESR="1"
+
+# Convert the ebuild version to the upstream mozilla version
+MOZ_PV="${MY_PV/_alpha/a}" # Handle alpha for SRC_URI
+MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+
+if [[ ${MOZ_ESR} == 1 ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+# Patch version
+FIREFOX_PATCHSET="firefox-68.0-patches-15"
+SPIDERMONKEY_PATCHSET="${PN}-68.6.0-patches-03"
+
+MOZ_HTTP_URI="https://archive.mozilla.org/pub/firefox/releases"
+MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz"
+
+if [[ "${PV}" == *_rc* ]]; then
+ MOZ_HTTP_URI="https://archive.mozilla.org/pub/firefox/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+ MOZ_SRC_URI="${MOZ_HTTP_URI}/source/firefox-${MOZ_PV}.source.tar.xz"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{anarchy,whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET}.tar.xz
+ https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}.tar.xz
+)
+
+SRC_URI="${MOZ_SRC_URI}
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+SLOT="68"
+LICENSE="MPL-2.0"
+IUSE="debug +jit test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="dev-lang/python:2.7
+ test? ( ${PYTHON_DEPS} )"
+
+DEPEND=">=dev-libs/icu-63.1:=
+ >=dev-libs/nspr-4.21
+ sys-libs/readline:0=
+ >=sys-libs/zlib-1.2.3"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/firefox-${MY_PV}/js/src"
+
+pkg_pretend() {
+ if use test ; then
+ CHECKREQS_DISK_BUILD="6G"
+ else
+ CHECKREQS_DISK_BUILD="5G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ if use test ; then
+ CHECKREQS_DISK_BUILD="6G"
+ else
+ CHECKREQS_DISK_BUILD="5G"
+ fi
+
+ check-reqs_pkg_setup
+
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ cd ../.. || die
+ rm "${WORKDIR}"/firefox/2013_avoid_noinline_on_GCC_with_skcms.patch
+ rm "${WORKDIR}"/firefox/2015_fix_cssparser.patch
+ eapply "${WORKDIR}"/firefox
+ eapply "${WORKDIR}"/spidermonkey-patches
+
+ default
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ MOZJS_BUILDDIR="${WORKDIR}/build"
+ mkdir "${MOZJS_BUILDDIR}" || die
+
+ cd "${S}" || die
+ eautoconf
+}
+
+src_configure() {
+ tc-export CC CXX LD AR RANLIB
+
+ # backup current active Python version
+ local PYTHON_OLD=${PYTHON}
+
+ # build system will require Python2.7
+ export PYTHON=python2.7
+
+ cd "${MOZJS_BUILDDIR}" || die
+
+ # ../python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # forcing system-icu allows us to skip patching bundled ICU for PPC
+ # and other minor arches
+ ECONF_SOURCE="${S}" \
+ econf \
+ --host="${CBUILD:-${CHOST}}" \
+ --target="${CHOST}" \
+ --disable-jemalloc \
+ --disable-optimize \
+ --disable-strip \
+ --enable-readline \
+ --enable-shared-js \
+ --with-intl-api \
+ --with-system-icu \
+ --with-system-nspr \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ $(use_enable debug) \
+ $(use_enable jit ion) \
+ $(use_enable test tests) \
+ XARGS="${EPREFIX}/usr/bin/xargs"
+
+ # restore PYTHON
+ export PYTHON=${PYTHON_OLD}
+}
+
+src_compile() {
+ cd "${MOZJS_BUILDDIR}" || die
+ default
+}
+
+src_test() {
+ if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
+ einfo "Smoke-test successful, continuing with full test suite"
+ else
+ die "Smoke-test failed: did interpreter initialization fail?"
+ fi
+
+ local -a KNOWN_TESTFAILURES
+ KNOWN_TESTFAILURES+=( test262/intl402/RelativeTimeFormat/prototype/format/en-us-numeric-auto.js )
+ KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js )
+ KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js )
+ KNOWN_TESTFAILURES+=( non262/Intl/RelativeTimeFormat/format.js )
+ KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js )
+ KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js )
+ KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js )
+ KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js )
+ KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js )
+ KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js )
+
+ echo "" > "${T}"/known_failures.list || die
+
+ local KNOWN_TESTFAILURE
+ for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
+ echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
+ done
+
+ PYTHONPATH="${S}/tests/lib" \
+ ${PYTHON} \
+ "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+ --exclude-file="${T}"/known_failures.list \
+ "${MOZJS_BUILDDIR}"/js/src/js \
+ || die
+
+ if use jit ; then
+ KNOWN_TESTFAILURES=()
+
+ echo "" > "${T}"/known_failures.list || die
+
+ for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
+ echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
+ done
+
+ PYTHONPATH="${S}/tests/lib" \
+ ${PYTHON} \
+ "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+ --exclude-file="${T}"/known_failures.list \
+ "${MOZJS_BUILDDIR}"/js/src/js basic \
+ || die
+ fi
+}
+
+src_install() {
+ cd "${MOZJS_BUILDDIR}" || die
+ default
+
+ # fix soname links
+ pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
+ mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
+ ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
+ ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
+ popd &>/dev/null || die
+
+ # remove unneeded files
+ rm \
+ "${ED}"/usr/bin/js${MY_MAJOR}-config \
+ "${ED}"/usr/$(get_libdir)/libjs_static.ajs \
+ || die
+
+ # fix permissions
+ chmod -x \
+ "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
+ "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
+ || die
+}
diff --git a/dev-lang/squirrel/Manifest b/dev-lang/squirrel/Manifest
index 2d4b2dbee3e5..cea75050722b 100644
--- a/dev-lang/squirrel/Manifest
+++ b/dev-lang/squirrel/Manifest
@@ -1,3 +1,3 @@
-DIST squirrel-3.1.tar.gz 175612 BLAKE2B 48a21b0ecd881dc3bea104e86013c3f3d5a4bc1e590cd67ef7e679e01383b7454aad4ea9b8ecec9b836a0ee44e8c9e470309f9c71050ed6d8deb76caac726aea SHA512 8aec059c801a8f6a1ddb9585cebd51457cfd43743cb0b03494e022fd47392e7b4b88e4703f184f4dcba2be8c0fb756e9b260e2f230e1bd92b37cdcb86d4f1141
-EBUILD squirrel-3.1.ebuild 899 BLAKE2B 8dc403fc9d1832106979b38f63baf4541fc6ac556ec568f42134f8d24d3dc2c59e98b126be88510bba63412fbf9a8ad103cf1055e01477671488737f17015231 SHA512 fb77b462774dd26126e9683e48ead56ed05582e49b4f5ac31fae870010f5c89f038cd51263b137fe16e8196ff3c994bcfacb40cad147f6eae068fae34da4e5c8
+DIST squirrel-3.1_p20200612.tar.gz 181047 BLAKE2B f6965b5e721919c6c33426843a9b73fb27f39b7341763c2ff01421e6b6dce6cb86c6a02df65af9cb2266e8a63d6612c0e857456c4bb6e2546760f937d1979990 SHA512 e9853c92c151ca35e137a91ba4e3c9ad9c4c6d95a22c3686ebbae74cea7c1bf704ec5274d610f9d8158d8662a2b1b1445664f3f33c11689553cfc090a957b204
+EBUILD squirrel-3.1_p20200612.ebuild 969 BLAKE2B 4e3862e00b94df35203c37e6ce4435b91a25af06bae774a777796ec05c5f3531eaa4ada5e02dee16bb53166829a33a9bce2fa0961d86f1ba506c79f777bfc2f9 SHA512 51194be28d9ef6bd7c8d2c3cd374369ddf4fc61112867abeb31655f9d889febd36d938684ea83b80ebbf3faddbbb24240a4d35f56597a4a25baae507f45027ca
MISC metadata.xml 395 BLAKE2B 3e9c28568b3d5d1af34d28e3d0da4f765247e2b0b52e9f833ef4c6c9060de915cfff3c8f8d429098a2d49a2bf9ded44d34460de6eaba5799dcf516854094e0f6 SHA512 e7332967d7ada57304e4e9036a61fd27d9fac11dd62a3c4b3627515d4f69cea1b1182132388d480648c469e193fee85bf09220679eb180a9d10c57f78bcb48b4
diff --git a/dev-lang/squirrel/squirrel-3.1.ebuild b/dev-lang/squirrel/squirrel-3.1_p20200612.ebuild
index 4a149398eb44..f8d5a1c568fb 100644
--- a/dev-lang/squirrel/squirrel-3.1.ebuild
+++ b/dev-lang/squirrel/squirrel-3.1_p20200612.ebuild
@@ -1,13 +1,15 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit cmake-utils
+inherit cmake vcs-snapshot
DESCRIPTION="A interpreted language mainly used for games"
HOMEPAGE="http://squirrel-lang.org/"
+commit=40050fa249733c85485adde533774ec066d29aca
SRC_URI="https://github.com/albertodemichelis/squirrel/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/albertodemichelis/squirrel/archive/${commit}.tar.gz -> ${P}.tar.gz"
LICENSE="ZLIB"
SLOT="0"
@@ -19,19 +21,17 @@ DEPEND="${RDEPEND}"
src_configure() {
local mycmakeargs=(
- -DINSTALL_LIB_DIR="$(get_libdir)" \
- -DINSTALL_INC_DIR=include
$(usex static-libs '' -DDISABLE_STATIC=YES)
# /usr/bin/sq is used by app-text/ispell
# /usr/lib/libsquirrel.so is used by app-shells/squirrelsh
-DLONG_OUTPUT_NAMES=YES
)
- cmake-utils_src_configure
+ cmake_src_configure
}
src_install() {
- cmake-utils_src_install
+ cmake_src_install
dodoc HISTORY
diff --git a/dev-lang/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest
index 7acb6b9036e5..d70cbe63f9b6 100644
--- a/dev-lang/swi-prolog/Manifest
+++ b/dev-lang/swi-prolog/Manifest
@@ -1,11 +1,17 @@
DIST swipl-8.0.3.tar.gz 10418553 BLAKE2B d7d381a3070384164f9788060e1c431cc4658dd3e2144fc4c186c9f5395fb7356593766dcaff3ff424f19f917c8a4b56da31b019bd2206a7f794ece549043b76 SHA512 e3a0788befb5499be6f70524ef398dc3282a38891f20519dd23ec92f216fc1919a76656e4b648c3dc9d94e578dc2663439ff976eb52ca0dba5a6594f8d4d3037
DIST swipl-8.2.0.tar.gz 10955744 BLAKE2B 3f1a534a967c86054596fe8ec5fda41ae2ab09d5617de2082f549211dec39674c2d53a210e697a9399be6061f7cea1f0fb241243c9c6226e64aa4ab22c990c85 SHA512 aa0d5e8e8c35e3ff1b6827c9a1ea53de44fa71698b98c974c9e65f2071545d0b71fba7f897327db38791f3cb706072c5dffdb46b4865cc26b9b25ad97522de4b
+DIST swipl-8.2.1.tar.gz 10969688 BLAKE2B 754678d9683999b681e62321423df01c4d28ac0aefb5b836134790112a76a2710cc3b433d381f4b11756727037cada026a2778445fe533f51a5543332ca86e82 SHA512 b49fa0832b4bad3b48256c97538172a06e7a4c50b55823dad345360f98055f0702e7a10fb2bfdb636e3fd99557bcb243cfccbaccb7546cb2afd13335f1c09db8
DIST swipl-8.3.0.tar.gz 10955310 BLAKE2B 74fbe2460b4b911281846ee7fffb0ca053e6c1c6650b2b91a19f4a318b6dac7ce7e18be5aeb51fa44ccdec8a8b5f1d48c33fefb50a5975bca56d776d1b633cdc SHA512 07780fff9d44136cf5eda0a60a124d8c34a8ae1fef87bd7a537cbbab63112fe5fbaf816ec724d03b18d4e50c03df6e24b848d20202d1a963f2a56b7cce220c45
DIST swipl-8.3.1.tar.gz 10956733 BLAKE2B 8fab6bb759371af7bf2ed71d7588eeb0694d9f8317a8daff0b663bf883428d0b80ce75196029d87192a82760719bb07086bb11a9969f0700d6dcb232bbd13704 SHA512 8e8e1b65e5e8f7b3ac22e09c9d9700fbdf44ada1470c9a741e3ea98063e096ce859cdfdf0ab1face7c41f1c04b55583ab5a38f91d8fa1fbd26ba1dff199be116
DIST swipl-8.3.2.tar.gz 10971577 BLAKE2B d6dc5b7f4a3133d4fb97b236113c691a4aa4aecaeb9a1f9f2f417fc541a934eb3987ca3413b4d72e14849575aeb6eacd150f1b4e4290e2a62995e1554048509c SHA512 cab637aba1f11be96553bd68a4a7364d407ef600408d607f26ad2bab53f26b1399cd082dce65c1b8c7b73bc63ea16553942234f80d3024ef3ca853457769cda7
+DIST swipl-8.3.3.tar.gz 10983958 BLAKE2B 41243dc83a5bdf17f6b78b18f9da00b691294fcc557c3ae828e4d1d3ac3347019162143243864ff5db78c65ada1a5a07ff0b282bac57c5882f59518a62203771 SHA512 58bb9166e2b4c83b399985bf9b79e6851b76f459e97c6a820872f66b8a211ca490d953ed5815acc939b0b295533e017f31466bacd0be2e0f8d8e2357cf2d2d42
+DIST swipl-8.3.4.tar.gz 10998331 BLAKE2B 3d290b0119a8493f57788afb16c4ee4178a9d295a7e75897f92a13caf35c8638059334984d07c993e03e6eecb8eb37002287b3066c491848fb19ffbdb8e575d1 SHA512 119bcd7229443ef574be0ab420668d1cfab9ad1f90a6b708b3b17a41d7f3af8f8c2493a6c34e7bf0061b300013a0e95a2f1519e313aad081dd5fa7ffa002859e
EBUILD swi-prolog-8.0.3.ebuild 2492 BLAKE2B eafab4e38fb1f4cd0102edbd327f8555c09784688ec8ec539edc2c164fb268d522c61da06d1c90bd0ab3d9aff534e6765f5bc518f8f311c5cdd56924651d32ad SHA512 036eae0123ed0286ffef4114c089984500babbb9adbe2acba68f49f2516d749a0ddd5b4eb8b9111746072b87e920401f26366c7b99ad27355580afbf7c3d1307
EBUILD swi-prolog-8.2.0.ebuild 2556 BLAKE2B 43bcdea0f5376225525d556ad229082d7ecbd6adad080a2f2b1facdd464d8ae5eaa3fff057fbfc1f4a42b44b4221138cbfacc8d0de316a83a1dc5eacd76653c4 SHA512 5886a9013cd94f3fac808d7b37dc3d5778359e87de023f55d6088b0a815978c828b9fb7fa08d3c3f5f88b36c6f9df88673ac94fcfd7cc49596ff8fcb47c815c7
+EBUILD swi-prolog-8.2.1.ebuild 2556 BLAKE2B 43bcdea0f5376225525d556ad229082d7ecbd6adad080a2f2b1facdd464d8ae5eaa3fff057fbfc1f4a42b44b4221138cbfacc8d0de316a83a1dc5eacd76653c4 SHA512 5886a9013cd94f3fac808d7b37dc3d5778359e87de023f55d6088b0a815978c828b9fb7fa08d3c3f5f88b36c6f9df88673ac94fcfd7cc49596ff8fcb47c815c7
EBUILD swi-prolog-8.3.0.ebuild 2555 BLAKE2B e58bc85b5e88bef7eb96f3dca8293aed19a5c94407888cab6bafd77d485698efb9f0527a139d57ef526210fe66db3ecc059b774eddfc29a16f4681034172a0cb SHA512 d6469f8f583ebf5e8478d28e35b6bcaa973d2dc9ebef7679eb28c9d923ad461ff6b616d9c70b4183f1e708ce66189ff7a327798d1a00c6aab019ade090d4f017
EBUILD swi-prolog-8.3.1.ebuild 2555 BLAKE2B e58bc85b5e88bef7eb96f3dca8293aed19a5c94407888cab6bafd77d485698efb9f0527a139d57ef526210fe66db3ecc059b774eddfc29a16f4681034172a0cb SHA512 d6469f8f583ebf5e8478d28e35b6bcaa973d2dc9ebef7679eb28c9d923ad461ff6b616d9c70b4183f1e708ce66189ff7a327798d1a00c6aab019ade090d4f017
EBUILD swi-prolog-8.3.2.ebuild 2555 BLAKE2B e58bc85b5e88bef7eb96f3dca8293aed19a5c94407888cab6bafd77d485698efb9f0527a139d57ef526210fe66db3ecc059b774eddfc29a16f4681034172a0cb SHA512 d6469f8f583ebf5e8478d28e35b6bcaa973d2dc9ebef7679eb28c9d923ad461ff6b616d9c70b4183f1e708ce66189ff7a327798d1a00c6aab019ade090d4f017
+EBUILD swi-prolog-8.3.3.ebuild 2553 BLAKE2B 9a4f63d674d380cbae06fd7d67432970e8c5f6f76ddbd77a2ada30dbd0cf8e6f28751cd8fd321bcdb6857a9ee99ba2f1632a8921e68c87ffc168e47ca356f73d SHA512 31745cc81c863c8062743be5960cf253e1c00173c1a11fdd0fa5d90457f94d5c8df615354275af865cd24b982372a35c6c3f45e0fb581e8b20f1183ff3610ef5
+EBUILD swi-prolog-8.3.4.ebuild 2553 BLAKE2B 9a4f63d674d380cbae06fd7d67432970e8c5f6f76ddbd77a2ada30dbd0cf8e6f28751cd8fd321bcdb6857a9ee99ba2f1632a8921e68c87ffc168e47ca356f73d SHA512 31745cc81c863c8062743be5960cf253e1c00173c1a11fdd0fa5d90457f94d5c8df615354275af865cd24b982372a35c6c3f45e0fb581e8b20f1183ff3610ef5
MISC metadata.xml 419 BLAKE2B 6d92e0713ed8da803ff8b6c778e616882af2fdb1426a62ea7bb6a265bbfff9a5c7debb8bf6a25c4ab60ed54a865b79fa3da4a09bc8a9123acf63dcb32107f54e SHA512 f805393c909e4108fe72b94f131d37d45279af1a4b501f9c3ae12d21590ef9c19227ca2a4b2966239ddb84847ce979cfbfcf3f3a2d24b60cb23977c522ff59c3
diff --git a/dev-lang/swi-prolog/swi-prolog-8.2.1.ebuild b/dev-lang/swi-prolog/swi-prolog-8.2.1.ebuild
new file mode 100644
index 000000000000..402d9a2877e8
--- /dev/null
+++ b/dev-lang/swi-prolog/swi-prolog-8.2.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils eutils flag-o-matic multilib
+
+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/stable/src/swipl-${PV}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-libs/ncurses:=
+ sys-libs/zlib
+ 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? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )
+ java? ( >=virtual/jdk-1.7:= )
+ 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* ) )"
+
+S="${WORKDIR}/swipl-${PV}"
+BUILD_DIR="${S}/build"
+CMAKE_USE_DIR="${S}"
+
+src_prepare() {
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ eapply "${WORKDIR}"/${PV}
+ fi
+ eapply_user
+
+ sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ use debug && append-flags -DO_DEBUG
+
+ 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-utils_src_configure
+}
+
+src_compile() {
+ XDG_CONFIG_DIRS="${HOME}" \
+ XDG_DATA_DIRS="${HOME}" \
+ cmake-utils_src_compile
+}
+
+src_test() {
+ USE_PUBLIC_NETWORK_TESTS=false \
+ USE_ODBC_TESTS=false \
+ cmake-utils_src_test -V
+}
diff --git a/dev-lang/swi-prolog/swi-prolog-8.3.3.ebuild b/dev-lang/swi-prolog/swi-prolog-8.3.3.ebuild
new file mode 100644
index 000000000000..2293c183ae1c
--- /dev/null
+++ b/dev-lang/swi-prolog/swi-prolog-8.3.3.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils eutils flag-o-matic multilib
+
+PATCHSET_VER="0"
+
+DESCRIPTION="versatile implementation of the Prolog programming language"
+HOMEPAGE="http://www.swi-prolog.org/"
+SRC_URI="http://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 ~x86-macos"
+IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-libs/ncurses:=
+ sys-libs/zlib
+ 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? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )
+ java? ( >=virtual/jdk-1.7:= )
+ 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* ) )"
+
+S="${WORKDIR}/swipl-${PV}"
+BUILD_DIR="${S}/build"
+CMAKE_USE_DIR="${S}"
+
+src_prepare() {
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ eapply "${WORKDIR}"/${PV}
+ fi
+ eapply_user
+
+ sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ use debug && append-flags -DO_DEBUG
+
+ 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-utils_src_configure
+}
+
+src_compile() {
+ XDG_CONFIG_DIRS="${HOME}" \
+ XDG_DATA_DIRS="${HOME}" \
+ cmake-utils_src_compile
+}
+
+src_test() {
+ USE_PUBLIC_NETWORK_TESTS=false \
+ USE_ODBC_TESTS=false \
+ cmake-utils_src_test -V
+}
diff --git a/dev-lang/swi-prolog/swi-prolog-8.3.4.ebuild b/dev-lang/swi-prolog/swi-prolog-8.3.4.ebuild
new file mode 100644
index 000000000000..2293c183ae1c
--- /dev/null
+++ b/dev-lang/swi-prolog/swi-prolog-8.3.4.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils eutils flag-o-matic multilib
+
+PATCHSET_VER="0"
+
+DESCRIPTION="versatile implementation of the Prolog programming language"
+HOMEPAGE="http://www.swi-prolog.org/"
+SRC_URI="http://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 ~x86-macos"
+IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-libs/ncurses:=
+ sys-libs/zlib
+ 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? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )
+ java? ( >=virtual/jdk-1.7:= )
+ 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* ) )"
+
+S="${WORKDIR}/swipl-${PV}"
+BUILD_DIR="${S}/build"
+CMAKE_USE_DIR="${S}"
+
+src_prepare() {
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ eapply "${WORKDIR}"/${PV}
+ fi
+ eapply_user
+
+ sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ use debug && append-flags -DO_DEBUG
+
+ 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-utils_src_configure
+}
+
+src_compile() {
+ XDG_CONFIG_DIRS="${HOME}" \
+ XDG_DATA_DIRS="${HOME}" \
+ cmake-utils_src_compile
+}
+
+src_test() {
+ USE_PUBLIC_NETWORK_TESTS=false \
+ USE_ODBC_TESTS=false \
+ cmake-utils_src_test -V
+}
diff --git a/dev-lang/tcl/Manifest b/dev-lang/tcl/Manifest
index 6f65d923b30a..02ea5f2b0bda 100644
--- a/dev-lang/tcl/Manifest
+++ b/dev-lang/tcl/Manifest
@@ -2,10 +2,11 @@ AUX tcl-8.5.13-multilib.patch 258 BLAKE2B ca0453e8e0f6fdc1302f024ff81a8a6e012d0b
AUX tcl-8.5.14-conf.patch 427 BLAKE2B c7d97bccebc45beec003bcf005fab6ed7f544744d81f08778a997b767ea0a60fd07f7b7cbc464ef8252e47717b34c0c42c871331a04740e23caeddbfb351de16 SHA512 e8097acb127966e6f2914c888278acdd9042d881b4d9436853ad7ed2361e8d67a372d4b0b0d5f0333e6bf90220e72df5c5eeffd4b44bc8e94ea9631ddc98cf16
AUX tcl-8.6.8-conf.patch 401 BLAKE2B 278502e983b8c831a2bfe5e61c31d32181558aaebccb2c7a64c52c387ce674ad1543dcedb7b73bfa748e8b40424a59e4696057e3a7f6d0e9f7ddbe838473995f SHA512 8524f80bb54851fc28f1994cbbd9c78756f9f9b1ca31a2f602e2cc557bbb22093bb6cce0ce5099cb90847f3c0ed20503a3d122abb400482869afd2469b3867b8
AUX tcl-8.6.8-libieee.patch 708 BLAKE2B ec8422ce98c68f2dd347bea807059fd8ee94fcd4540bdeb4c8d90cd7f028ff3dbe406ed26593ebd8815e611a1ae40390b4194bf8d3efd1863e8c15d04918681c SHA512 b25d2fbfc753296cef11b1943e19537aaf9f048f033078e516f36bc021107197f77b8f142fc7ace89ae6bdda037871ce7a5c45800ef0bebd04f77a5281bff457
+AUX tcl-8.6.9-include-spec.patch 488 BLAKE2B 06aa49163e8316b409238055d4b2ef67a3b37bdad69a190d39ce46a32dbd38320397b206036428c81e4a001ee0c01ee70f5970f584f919d0e5348000c7f93711 SHA512 ca4fc3ca2b3963d9c1b9b1c716e9c508d8c7aeaaad4b39c502472f3592c60907dbcda656369af371ec6c21f06a6dbc50fa02994a15284bedbdb22616ca9340ba
DIST tcl-core8.6.8-src.tar.gz 5887483 BLAKE2B 2b8428652e451b817fe63a811f910001929cdcbc8a8361cdf4f7df8e13cbf9b18c94a91c22c0f09cc46dc0174a66c44774b485539a8f24c14faee6658547b6b8 SHA512 36e6079b582c205e8c89435b361ef96550541357f473aea2ca4e6f01bd84e50ebd1474a75a1ae90640b9a5b392fb01ddfa71f0fa28e409b3569d88c32b4ddb69
DIST tcl-core8.6.9-src.tar.gz 5932010 BLAKE2B ddc0cff12aeeebbf8d1c799db9e154a9ecbe2a2e2afce97c6f15c408301b7a40119bd1c861aa724c178bd9abfe0616c7bcafd9cf6714ed49cf882c9085222cf3 SHA512 306a38a27729b764bae2eae6c4cdd8cd6aee5de6bd924d6a487c8691ee874e4459abc1fa785183c2f6ff4d2d57be98093dd7460c5a668cf994e8f1c31516ae67
DIST tcl8.5.17-src.tar.gz 4546317 BLAKE2B 27031dd3bd5790d03692e77edf91eb7fae8a40d8d193d8c8ce4e79b21f90e683bfc9d5b71764760223987fb163be844e6096d0aea1058b8ce255731d97e2a0ea SHA512 ad5ddb4cd6378fd6bbea8cd85ceb1cf90392b2e8c49fbfb3e4b35c81d3ae3e3f087697c41fcba8c8e06de1d9e7539397e26d58b864dc01ba65abe4ba4efa9568
EBUILD tcl-8.5.17-r1.ebuild 3744 BLAKE2B 29003c3f0cfa65053f5d5cf1edc0efdb715999bd9fd7bac626ed1c48a5d509a9d4f92b638ba7d9b6641d60420c0811a0183fcf60845c9c382e7954b4ae0aff68 SHA512 c7e8b858cbd6aa63d018cf6e7806c166524b32e8fc57ec43688329e8c803546a084d265f681360afd31aa4eebb5e71b47d5459b8beb0f1a643b1dd5960d4320d
EBUILD tcl-8.6.8.ebuild 3964 BLAKE2B d8c006d3404047dcb9f9ee120085bbe34889a5bf76dc38ba2ae511d353800ab06f93305d9f95426f3a4af2ab82dab2e15c25d95b81ed655a01790611496b1030 SHA512 715a16e0c5d846007e360fb67ed2168e5fa94411cd696c5ea55a59811499aefd3ec955406aba68447acb6f4f2ad4c64c9c80a80c77c92ae486356dbaab543a5e
-EBUILD tcl-8.6.9.ebuild 3883 BLAKE2B 69646211e8b0b956a07d6e055508b66c7d40978e98d565efc70ff1c36483124928695af43280f7f220188da52597c0f59b2b632560a01d07cfd5500f60b8ebdb SHA512 3229f3d64dfc8504af5efc91fe178098a19a8e8b56029c92e499ae94eb4a5a880a6704075e6188fa0933d8348639a1004bbafbe5cb5a53f6fc37e1fe2c8c0b1a
+EBUILD tcl-8.6.9-r1.ebuild 3942 BLAKE2B fb6c064cd1b8ef6043f0da8a1b7efa28faee2718c2245a1259207b27eef127d420b1088d0be0d2089d78162478d555ee41ef663f5c435a379d0bdc1c34d2f8ee SHA512 9125bcb8a24b10be93422b89c8e174f42b4b3876d61dac9e144ea4f047d33165c3a81852aa23692333f0a752db7d08ef86fa182b32053a7591975fdae8056e9c
MISC metadata.xml 318 BLAKE2B 7ea8e51656c255c3aea3bee8849423604a164efff556974f6032de44d33e38bb0378b69c18821cc76f0284064bc84a1a56e79f522f8d7fb0adc50e2e191b5fca SHA512 61f3feb8311f1babb8a4df8c9fcddaab009ffc6d69248f18cb9e001a1659dfcf47f2699008ab83fb563b3417f6ead8113af20db7e3893f488e8d75bb2a3483cf
diff --git a/dev-lang/tcl/files/tcl-8.6.9-include-spec.patch b/dev-lang/tcl/files/tcl-8.6.9-include-spec.patch
new file mode 100644
index 000000000000..4b3a1c66d431
--- /dev/null
+++ b/dev-lang/tcl/files/tcl-8.6.9-include-spec.patch
@@ -0,0 +1,12 @@
+This resolves https://bugs.gentoo.org/731120
+--- a/unix/configure.in
++++ b/unix/configure.in
+@@ -895,7 +895,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}"
+ TCL_STUB_LIB_PATH="${TCL_STUB_LIB_DIR}/${TCL_STUB_LIB_FILE}"
+
+ # Install time header dir can be set via --includedir
+-eval "TCL_INCLUDE_SPEC=\"-I${includedir}\""
++eval "TCL_INCLUDE_SPEC=\"\""
+
+ #------------------------------------------------------------------------
+ # tclConfig.sh refers to this by a different name
diff --git a/dev-lang/tcl/tcl-8.6.9.ebuild b/dev-lang/tcl/tcl-8.6.9-r1.ebuild
index 27b6a02f2715..824abc3e73df 100644
--- a/dev-lang/tcl/tcl-8.6.9.ebuild
+++ b/dev-lang/tcl/tcl-8.6.9-r1.ebuild
@@ -25,6 +25,7 @@ S="${SPARENT}"/unix
PATCHES=(
"${FILESDIR}"/${PN}-8.5.13-multilib.patch
"${FILESDIR}"/${PN}-8.6.8-conf.patch # Bug 125971
+ "${FILESDIR}"/${PN}-8.6.9-include-spec.patch # Bug 731120
)
src_prepare() {
diff --git a/dev-lang/tuprolog/Manifest b/dev-lang/tuprolog/Manifest
index 274db17ebabf..17c3cc4b7b23 100644
--- a/dev-lang/tuprolog/Manifest
+++ b/dev-lang/tuprolog/Manifest
@@ -1,15 +1,19 @@
AUX build-2.9.2.xml 2863 BLAKE2B f7c86965edbe1ba6d332b170caab1db5d872174b3b014d25dda12681e8183de1d5de9c3a3a2595d7e6ebd3f44528703f0f7478aa1e4f0fc6b24d182a51f3a88f SHA512 ca4dd0b76ae5a503a07f4c660f8715ff38b1c8e582de52928dad040f42a5fb7a9c774e039d9b7ca4b310b29241da6ab6b43115d741ed6dfbcc8538e384a05673
-AUX build-3.0.1.xml 2968 BLAKE2B e403d134a62504c396842f2fad71cf2aec1786c5d7902d7d08398894eb0dfe709617ae137b2249cf81d5c82f14707364b072990b1cc695b9deb49f6cffb96377 SHA512 4e65ba93141f8c47b2be9f534b05be3c4fa33428df73a23148b8f0f675f617071ad6c14c8aaa1f1ed6de03832f3e26b0b065b2f67834199244fbe55b398f0f20
-AUX build-3.1.0.xml 2968 BLAKE2B e403d134a62504c396842f2fad71cf2aec1786c5d7902d7d08398894eb0dfe709617ae137b2249cf81d5c82f14707364b072990b1cc695b9deb49f6cffb96377 SHA512 4e65ba93141f8c47b2be9f534b05be3c4fa33428df73a23148b8f0f675f617071ad6c14c8aaa1f1ed6de03832f3e26b0b065b2f67834199244fbe55b398f0f20
+AUX build-3.x.xml 2968 BLAKE2B e403d134a62504c396842f2fad71cf2aec1786c5d7902d7d08398894eb0dfe709617ae137b2249cf81d5c82f14707364b072990b1cc695b9deb49f6cffb96377 SHA512 4e65ba93141f8c47b2be9f534b05be3c4fa33428df73a23148b8f0f675f617071ad6c14c8aaa1f1ed6de03832f3e26b0b065b2f67834199244fbe55b398f0f20
AUX tuprolog-2.9.2-no-dynamic-object-test.patch 758 BLAKE2B 8e4ed5b4a5a12e6140c5bdf4074a02061cc82c50b29dfa7d09fc4b2b44b7a6b580abda565d1c1615ae864fcc7fc6a86b6d71e69e3eabec00e2bf92800da06ee8 SHA512 bbaef70b751fe049680826fb82dc46a339f88d7b8062df0865fddb15de2c991939e7e2fae0f889db0c72d802790287487f442316ad6c9e7fa7276b30083b7365
AUX tuprolog-2.9.2-no-ikvm.patch 3929 BLAKE2B 0a6ec1d96c71762fee02b5701e2c445b000fae37eb335ed2a3fecdaabd4f28fbe894b2768a0c01e298accc267ff233e413370e7e744009b364b8b4888635b71f SHA512 a90b55f74841271a6ae9f4143203a9920adee9f7ab32c814d41f8830b7310919fcf035361f87fcd1ba7f7f0f0efe0c0a29ddff704c0d4d14ed2a41b4f7574a74
AUX tuprolog-3.0.1-no-ikvm.patch 4844 BLAKE2B 6518c8821ef06f5b99de779d139b4d23e9e1458622edc267b237e7cb83d64164cd27a321d751423cbd0403a3666096322e80d0fdc6300df51a3ab54d4c1d9412 SHA512 c018d9028a9a4aea6c36057ac2d8b46d41da4961570fff491521c7b6bb816653db54a9e2a1049bd037aede7fa00262089f3787cad4a1e10836aa4f7442c727cd
AUX tuprolog-3.0.1-oolibrary-unit-test.patch 762 BLAKE2B 615eb657e9c40a4cec568ae1a8b1868eaaa94d7911386099b65f06dd8002f9d77bce675f79c03db0c900f4b7fb10149b95aa328c582674fefe94ec7af8996d9d SHA512 54e3e9ef7ecc5ff27e687067a057e0c66f37e4d5f268d670210df89435333f7e303e640e12a4afd3c7906e3c52cd2de2466dc81b6cd2113aeb2ee0c7b5ad7a88
AUX tuprolog-3.1.0-no-ikvm.patch 4862 BLAKE2B c5e49ecc13f923157a9287ece06b1ecf1c8a418e449cc9f73ca6a5c2f2bbc7ec567b76ba04a43c6f42fce381941c1f5ee3897a6df20d6600e8d00c550100f9f2 SHA512 ceb45121b4bec54cdd26683ce1e7a63baea9d5c899cd5993d51cbaf8fdbc4b9138f926e164e1dd96eafb2af6b2112c44bf15b1f79c6b9096ac028e02c2dab1a0
+AUX tuprolog-3.1.0-test-suite.patch 518 BLAKE2B 08cfea93b9675826bacb9f7a9970120a02fed2826d8edfa025dfaf4ee03f3bceba32cb197178a9edb1bf2d41354d6ca22c25e3a851578d61735c63c54cd5e6c2 SHA512 58d3ea5c0bb4606c72fa1bb7a1d92974fe9e5229e9674212f8fdbf53d09a345090fda96bf05dd867c01484577bd5f28a56813c8808e072c7c03282afc6d9933a
DIST tuprolog-2.9.2.tar.gz 6262268 BLAKE2B 39bbc4dcb2336a713f47252ff6f7d00f15aa0072c4864c2d3e453ec43b2c646f9cdc7a69444e21d9cc20ba283ddee5fd980855811f8f80ba4afe7c37cdd47317 SHA512 831c7390fe33fc57cb01d4b1d61485ac5df1aa8ebf386d5aae5c5d32f7677d46aa5aa6cc0eb1d3bb79989a54f8484ad8b97754b7f75fc21af6116ae170a28316
DIST tuprolog-3.0.1.tar.gz 6326591 BLAKE2B a051eb3f22c01e1c269b167fa7d1daec6e4818229e2035c1140401c38094c53451ea720638adaa6d6fda0ea70daf6f5f1bc9ea84f1e4ba9de9f00ca83529697c SHA512 56fa96f717b5c8e56fd2979f2953744964d844e5abf215456e31309d3d92bde142f9bff55e6442b6de55f219c7f143a275ccf89359ff2f2944459bbc94770afa
DIST tuprolog-3.1.0.tar.gz 7201383 BLAKE2B 9d8b610240611cd5b3d0dae104a44c72bb5e7c0512e4dbf3e178204d9d36e461219cd869ca1e16e3054ca3e1ee34d3b2c6fa5c659df16f54e3266c7c826af8d6 SHA512 1093e29a79964cb3991326da14f020cdc8ff64f2444c84dbb6b22aa5c4ecbf48f74dbc26af0af949ccc31020573ce5908684af794db4654fb475efa697a82cbf
+DIST tuprolog-3.2.0-gentoo-patchset-0.tar.gz 1813 BLAKE2B 4ed7ffbb752a821a2b2842cfdbc1f4ec92d14b35a1c5a722207b45ec9dbdc44588acc010fb6386e8ed2e7d30d3bc8d425f0f74e8cc953cb7afad8305904e1499 SHA512 454757fc01f3f697510426e7a2a41b57350c1e3f980e381e197616e10eaf88339155226096f1d417397b9bc6f4964a45b3d547c6794ad23a4a014b06212b08f0
+DIST tuprolog-3.2.0.tar.gz 6242286 BLAKE2B 77a3d3f886673aca72fffd9bb60657efcbe7ea5bb0f84eea7a72df513295d572c8116472f8d544240fac676ac9a6a0fcecfc3166e6426ef7d8af80eac4ba8d85 SHA512 e27bd989d66bae26c646cb69670fb75232ebdd18d1dbb9d600f9847921ecd56d17221736b3ec15c087857509272ce89af8bc44924130430db3860870a06bb499
EBUILD tuprolog-2.9.2.ebuild 1301 BLAKE2B 88be118553d16626a1c411017072614889f74b1b23636586c6ccae116cb5561e441c5403e84f606e8ada9cacb7ce2c6f63d3702e149f90e53d336501b33e99aa SHA512 1638295c84bc6c32b695f39b866c299b8375be07d48e061dd08b5d8b6b5763e42477971c6ec3e8bf3af61107997c332b41bf6e7ec24c7089c2ebc4efb6216cd2
-EBUILD tuprolog-3.0.1.ebuild 1349 BLAKE2B f3ef414ffe1e6d0fe734d46d96bda17d1f73ce22d055689dfec42451b1f6c85a51cfb7f6bd3cd5aaa838f06253b63de6aada7d6d2e359a49aafbc71936b6d2bb SHA512 0bb5c9c4e66f3880e2b8cc8822a113332f875f2b961ca2f04106ba91aa446e1a30651a9951ffec0e1707f5ca8528fb49c89b66fd76ea9977d9f40f26186662d1
-EBUILD tuprolog-3.1.0.ebuild 1296 BLAKE2B cc5bcfb25369e7eb60bf65911a0d4c49556eb9e9f1ac91985ac6e0bb4af0996fe35ce39d7b389919b8d801b64eb78647dc49f7afa0c2e858082ac6cc722ee036 SHA512 f4c2b018b1db61ac1447193a1e6964289b046f05a5309c1f2b63d859c25168835122d6cda3af17f310e4a784c2b9a32353bfb68011a37f98ea0710bf126599c5
+EBUILD tuprolog-3.0.1.ebuild 1347 BLAKE2B 93688d55fe1c777e78164da283c356b6371cd4036a6a8d1c917d9801bce70c8278cf0bbfedd9651364a425c7b56b42500cd6f0dd856fbc42742ca955ba630491 SHA512 8137b9e2b4371fc4f3a90a61e3febb4dc4c700db185d9d846f2671fc57353bd6527df8011086ebe6f49cb5ca9890ff9effc06e7c2e1b5689e273c84419f11fa2
+EBUILD tuprolog-3.1.0-r1.ebuild 1362 BLAKE2B a040ed06c1a9aaf8089214f6cdabed345a51d32d9eb259663b9fa590fc6a51232bd8db3f6d3d6f000212965a99d9b36516dade25c061e7cc46b344639062e7c9 SHA512 66a5c8d92a6fa9b0cd845378883524f14942adfcb1c2b817eb0a1c2f03bd2bac90dd2b9c4533c490ac95d36216ff74002a8c36c2da55849bd89ef35cbfbaeedb
+EBUILD tuprolog-3.1.0.ebuild 1294 BLAKE2B cd580a5297944c2c897b4adbec8d7e491b0aa44ac62f2413b433933c047f2c3e095d3e0233372919a471a5e662bd6031d79675341e5bf43ce96f286f39512058 SHA512 434ddf51d71489a18298eea3a695b22c8b4be18bec88094750b3822d01b1edb4287a4ff5f9627274dc851a54ce32d7a13800c38c540bfb5509b4bf8a37c74292
+EBUILD tuprolog-3.2.0.ebuild 1442 BLAKE2B b35cbdabc2f62bcf6da14417301b2d00724235478a10c2926d5cd7231af9a4f783ec8ea6ebe85057a18d27c176a21682c9b683ae1e047ff4b8209e3ff2f2a492 SHA512 953441a4b4a231a3aa9b237880a5e626b05ecf936266074a6760010ba858169c1bb7e71d8e8009f0c6eaa4ee46d07f54b5009836f5c1c821c24cb1fcf4095c7b
MISC metadata.xml 318 BLAKE2B bbdb9dc3b4feafc27fa6fae1b0740bde801196a214bb96f5815a2a274c89d6208c158c2616e40f17fbef4f8becd03b686410a3ee7b8253cceb70b80bc4b03c5f SHA512 6a43476b9ed9a343488c8a80908e8b4fcb96c75d9a3e6b6c05c22d8ffb87f5c8df8a3cfd2db5297f60236d6740ab0770e68e1acb4c457398a280df9dc4c266a9
diff --git a/dev-lang/tuprolog/files/build-3.1.0.xml b/dev-lang/tuprolog/files/build-3.1.0.xml
deleted file mode 100644
index 3b6f5818eaa6..000000000000
--- a/dev-lang/tuprolog/files/build-3.1.0.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" ?><project default="jar" name="tuprolog">
-
- <!-- some properties -->
- <property name="src.dir" value="src"/>
- <property name="build.dir" value="build"/>
- <property name="docs.dir" value="docs"/>
- <property name="dist.dir" value="dist"/>
- <property name="test.dir" value="test"/>
- <property name="test.build.dir" value="test.build"/>
- <property name="jarfile" value="${ant.project.name}.jar"/>
- <property file="build.properties"/>
-
- <path id="compile.classpath">
- <fileset dir="lib" includes="*.jar"/>
- <pathelement path="${gentoo.classpath}"/>
- </path>
-
- <!-- init -->
- <target name="init">
- <tstamp/>
- <mkdir dir="${dist.dir}"/>
- <mkdir dir="${build.dir}"/>
- <mkdir dir="${docs.dir}"/>
- <mkdir dir="${test.build.dir}"/>
- </target>
-
- <!-- compile everything -->
- <target depends="init" name="compile">
- <javac deprecation="off"
- destdir="${build.dir}"
- encoding="ISO-8859-1"
- srcdir="${src.dir}"
- source="1.8"
- target="1.8">
- <classpath>
- <path refid="compile.classpath"/>
- </classpath>
- </javac>
- <copy todir="${build.dir}">
- <fileset dir="${src.dir}">
- <exclude name="**/*.java"/>
- </fileset>
- </copy>
- </target>
-
- <!-- build the jar file -->
- <target depends="compile" name="jar">
- <jar basedir="${build.dir}" jarfile="${dist.dir}/${jarfile}"/>
- <jar basedir="${build.dir}" jarfile="${dist.dir}/2p.jar">
- <manifest>
- <attribute name="Main-Class" value="alice.tuprologx.ide.GUILauncher"/>
- <attribute name="Class-Path" value="."/>
- </manifest>
- <zipgroupfileset dir="lib" includes="*.jar"/>
- </jar>
- </target>
-
- <!-- generate javadocs -->
- <target depends="init" name="javadoc">
- <javadoc
- author="false"
- destdir="${docs.dir}"
- encoding="ISO-8859-1"
- breakiterator="yes"
- packagenames="alice.*"
- sourcepath="${src.dir}"
- use="true"
- version="true"
- verbose="no"
- windowtitle="${ant.project.name} API">
- <classpath>
- <path refid="compile.classpath"/>
- </classpath>
- </javadoc>
- </target>
-
- <!-- clean up -->
- <target name="clean">
- <delete dir="${build.dir}"/>
- <delete dir="${dist.dir}"/>
- <delete dir="${docs.dir}"/>
- <delete dir="${test.build.dir}"/>
- </target>
-
- <!-- run testsuite -->
- <target name="test">
- <path id="dist.classpath">
- <fileset dir="${dist.dir}">
- <include name="*.jar"/>
- </fileset>
- </path>
- <javac classpathref="dist.classpath"
- deprecation="off"
- destdir="${test.build.dir}"
- encoding="ISO-8859-1"
- srcdir="${test.dir}/unit"
- source="1.8"
- target="1.8"/>
- <junit fork="yes" failureproperty="test.failed" printsummary="yes">
- <classpath>
- <path refid="dist.classpath"/>
- <pathelement path="${test.build.dir}"/>
- </classpath>
- <formatter type="xml"/>
- <test name="alice.tuprolog.TuPrologTestSuite" todir="${test.build.dir}"/>
- <test name="alice.tuprolog.ExceptionsTestSuite" todir="${test.build.dir}"/>
- </junit>
- <fail message="Test failure(s) detected" if="test.failed" />
- </target>
-</project>
diff --git a/dev-lang/tuprolog/files/build-3.0.1.xml b/dev-lang/tuprolog/files/build-3.x.xml
index 3b6f5818eaa6..3b6f5818eaa6 100644
--- a/dev-lang/tuprolog/files/build-3.0.1.xml
+++ b/dev-lang/tuprolog/files/build-3.x.xml
diff --git a/dev-lang/tuprolog/files/tuprolog-3.1.0-test-suite.patch b/dev-lang/tuprolog/files/tuprolog-3.1.0-test-suite.patch
new file mode 100644
index 000000000000..5be70460b6d2
--- /dev/null
+++ b/dev-lang/tuprolog/files/tuprolog-3.1.0-test-suite.patch
@@ -0,0 +1,13 @@
+--- tuprolog-3.1.0.orig/test/unit/alice/tuprolog/TuPrologTestSuite.java 2020-07-18 15:41:48.236891336 +0200
++++ tuprolog-3.1.0/test/unit/alice/tuprolog/TuPrologTestSuite.java 2020-07-18 15:42:11.458890364 +0200
+@@ -22,10 +22,8 @@
+ ParserTestCase.class,
+ SpyEventTestCase.class,
+ VarTestCase.class,
+- TestVarIsEqual.class,
+ JavaDynamicClassLoaderTestCase.class,
+ ISOIOLibraryTestCase.class,
+- SocketLibTestCase.class,
+ ThreadLibraryTestCase.class
+ })
+ public class TuPrologTestSuite {}
diff --git a/dev-lang/tuprolog/tuprolog-3.0.1.ebuild b/dev-lang/tuprolog/tuprolog-3.0.1.ebuild
index 8ca8d7d6bb73..411a1f875b0e 100644
--- a/dev-lang/tuprolog/tuprolog-3.0.1.ebuild
+++ b/dev-lang/tuprolog/tuprolog-3.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -35,7 +35,7 @@ src_prepare() {
epatch "${FILESDIR}"/${P}-no-ikvm.patch
epatch "${FILESDIR}"/${P}-oolibrary-unit-test.patch
- cp "${FILESDIR}"/build-${PV}.xml "${S}"/build.xml || die
+ cp "${FILESDIR}"/build-3.x.xml "${S}"/build.xml || die
}
src_compile() {
diff --git a/dev-lang/tuprolog/tuprolog-3.1.0-r1.ebuild b/dev-lang/tuprolog/tuprolog-3.1.0-r1.ebuild
new file mode 100644
index 000000000000..4f6dd3c988e9
--- /dev/null
+++ b/dev-lang/tuprolog/tuprolog-3.1.0-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils java-pkg-2 java-ant-2
+
+DESCRIPTION="tuProlog is a light-weight Prolog for Internet applications and infrastructures"
+HOMEPAGE="http://tuprolog.unibo.it/"
+SRC_URI="https://dev.gentoo.org/~keri/distfiles/tuprolog/${P}.tar.gz"
+
+LICENSE="LGPL-3 BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=virtual/jdk-1.8:=
+ dev-java/javassist:3
+ dev-java/commons-lang:3.1"
+
+DEPEND="${RDEPEND}
+ dev-java/ant-core
+ test? (
+ dev-java/ant-junit4:0
+ dev-java/junit:4
+ dev-java/hamcrest-core:1.3
+ )"
+
+S="${WORKDIR}"/${P}
+
+EANT_GENTOO_CLASSPATH="javassist:3,commons-lang-3.1"
+
+src_prepare() {
+ eapply "${FILESDIR}"/${P}-no-ikvm.patch
+ eapply "${FILESDIR}"/${P}-test-suite.patch
+ eapply_user
+
+ cp "${FILESDIR}"/build-3.x.xml "${S}"/build.xml || die
+}
+
+src_compile() {
+ eant jar $(use_doc)
+}
+
+src_test() {
+ cd "${S}"/dist
+ java-pkg_jar-from junit:4
+ java-pkg_jar-from hamcrest-core:1.3
+ cd "${S}"
+ ANT_TASKS="ant-junit4" eant test || die "eant test failed"
+}
+
+src_install() {
+ java-pkg_dojar dist/${PN}.jar
+ java-pkg_dojar dist/2p.jar
+
+ if use doc ; then
+ java-pkg_dohtml -r docs/* || die
+ dodoc doc/tuprolog-guide.pdf
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc doc/examples/*.pl
+ fi
+}
diff --git a/dev-lang/tuprolog/tuprolog-3.1.0.ebuild b/dev-lang/tuprolog/tuprolog-3.1.0.ebuild
index d04f8f0fad18..d22edc7d11f3 100644
--- a/dev-lang/tuprolog/tuprolog-3.1.0.ebuild
+++ b/dev-lang/tuprolog/tuprolog-3.1.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -34,7 +34,7 @@ EANT_GENTOO_CLASSPATH="javassist:3,commons-lang-3.1"
src_prepare() {
epatch "${FILESDIR}"/${P}-no-ikvm.patch
- cp "${FILESDIR}"/build-${PV}.xml "${S}"/build.xml || die
+ cp "${FILESDIR}"/build-3.x.xml "${S}"/build.xml || die
}
src_compile() {
diff --git a/dev-lang/tuprolog/tuprolog-3.2.0.ebuild b/dev-lang/tuprolog/tuprolog-3.2.0.ebuild
new file mode 100644
index 000000000000..0dcda3ed7c64
--- /dev/null
+++ b/dev-lang/tuprolog/tuprolog-3.2.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils java-pkg-2 java-ant-2
+
+PATCHSET_VER="0"
+
+DESCRIPTION="tuProlog is a light-weight Prolog for Internet applications and infrastructures"
+HOMEPAGE="http://tuprolog.unibo.it/"
+SRC_URI="https://dev.gentoo.org/~keri/distfiles/tuprolog/${P}.tar.gz
+ https://dev.gentoo.org/~keri/distfiles/tuprolog/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
+
+LICENSE="LGPL-3 BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=virtual/jdk-1.8:=
+ dev-java/javassist:3
+ dev-java/commons-lang:3.1
+ dev-java/gson:2.6"
+
+DEPEND="${RDEPEND}
+ dev-java/ant-core
+ test? (
+ dev-java/ant-junit4:0
+ dev-java/junit:4
+ dev-java/hamcrest-core:1.3
+ )"
+
+S="${WORKDIR}"/${P}
+
+EANT_GENTOO_CLASSPATH="javassist:3,commons-lang:3.1,gson:2.6"
+
+PATCHES=( "${WORKDIR}/${PV}" )
+
+src_prepare() {
+ default
+
+ cp "${FILESDIR}"/build-3.x.xml "${S}"/build.xml || die
+}
+
+src_compile() {
+ eant jar $(use_doc)
+}
+
+src_test() {
+ cd "${S}"/dist
+ java-pkg_jar-from junit:4
+ java-pkg_jar-from hamcrest-core:1.3
+ cd "${S}"
+ ANT_TASKS="ant-junit4" eant test || die "eant test failed"
+}
+
+src_install() {
+ java-pkg_dojar dist/${PN}.jar
+ java-pkg_dojar dist/2p.jar
+
+ if use doc ; then
+ java-pkg_dohtml -r docs/* || die
+ dodoc doc/tuprolog-guide.pdf
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc doc/examples/*.pl
+ fi
+}
diff --git a/dev-lang/vala/Manifest b/dev-lang/vala/Manifest
index bcb16f345031..f11f8451cd13 100644
--- a/dev-lang/vala/Manifest
+++ b/dev-lang/vala/Manifest
@@ -6,13 +6,27 @@ DIST vala-0.40.20.tar.xz 3443256 BLAKE2B 4cb53448ffabd29ea2c1411d019aa3749be1133
DIST vala-0.40.23.tar.xz 3462092 BLAKE2B 49eb5f7205d59b0806e807fc0f99771ace4d188222be60f12ef2f503bf8da9116ee7eedb742a6e50400655ae86d1eeb383f3b8ac1832e82f2787b0162c2a4dc2 SHA512 9d5638d44d8a42124fefd02b66454d19cc5d24291ec1525e1fd9c1c8df814d55d2bdc6f5be0168639a8712766cb4828abf3ae70ebfc9e0a72393dd584c25853d
DIST vala-0.44.11.tar.xz 3370248 BLAKE2B c111b6175e6339148e30bedc77f62a9ef3ec912ad0621c9303fc5dba31694173b49ccc433d3681303d64a1e442ed9b7b064f27931369cb13fa028bfc25ffa3c9 SHA512 6111699039ed37084426d7603b82dfa9bd497c66ba7353ee22e8541bf15a2cbb634d315593c093f18c20bac877ae34884e5b570cd25237ce12aa73e941c4c540
DIST vala-0.46.10.tar.xz 3417400 BLAKE2B 2f78de3e198f994a148e7ed4c82ef2417b70c19af3ce1874ee80aa7d0160691a50db24ad4898a04520e91d67a41bb508d3854ac2f4d90d2507a5a6558854716c SHA512 ae3734036f6a1b7088bac45083b75a49eee76947219f530493f81aa4ee60807cfa5424cf1b982d8d8f28f56119d66f06a9150b67884d80dd4b6724e152e32e62
+DIST vala-0.46.11.tar.xz 3424380 BLAKE2B b4af8b8345ac14793ba4b67dd2785408aac7c59ee4ea491c6e83c645d25b0cd7b795cdc35edd7f94a7c36eb40acbea7a8d7e08b41370f386f231733a3185e188 SHA512 c2b61f88deb787622680e49078d4caaaf210c19818607ec5b0ccd4564c5127657eeeba24b98c48e78c093456170b7f8aeea232125d702c1d7e624b6af854cec9
+DIST vala-0.46.12.tar.xz 3430948 BLAKE2B ab04291fd1b46053aa3177504ddd954bbc655bfcdb869ffad21b5cbe60cadc2e96dcbe065eb14cfc668c5bc345d1b0509274ecc0b4abfce7b28b89c27b4221c0 SHA512 13a56583743e249724bb0b642e9f22576a16c195b8f61a5dd19d581071217fa73cd73d5db0b44552fe5a5de9710136dd9f0153d3f71377cc5239250a21178af6
+DIST vala-0.46.13.tar.xz 3434196 BLAKE2B 49b7e0b776e185653c1b8c00747a150ceb42cf89006fd55d37e3efd0824dace379d2c72cdb45d481b0545d0b4b37299bc6161b2d083d3221d2d8d8ca7c10d6dc SHA512 6d8d1acebf4706346d5dc986f5c900cfda929ca59ca3f3907cff56892a496bf524b1f74032ac6c8587b236a473124e15c6f83f949636e28141a55c8abeddf004
DIST vala-0.46.7.tar.xz 3402828 BLAKE2B c028875e2c6036a6657244bff62d3a2eec2104c06ec3c993f4d59371f2ec7947cfd36f577d41a2c4ba52f6dd7fb03251cad989e3b2787e2817bd988cc16030ca SHA512 609694c2b773abdd8f47d0e9dd8e1dabac2053f7e0321eac7232b3931b15df30e095541dbb02965fc74f3a29b7562b7a326c56ce7c570e6528f8cfa480363c76
DIST vala-0.48.6.tar.xz 3451004 BLAKE2B 9c880cff885b934e1d82d21285839e040addecb0b3ce81936d5be118a951bd219eea2b8381ea42f13e6e858a1937a3789a3dee6d067735e5ee21eaced38b4646 SHA512 220a916d42cbae3853afdd7c35a72afb446a92fca039d8c660a478fd793686a0c82cbaf90a7c94ae182c1f41eec6df1aedb804013ab38e6e4bcc6d26e40e5375
+DIST vala-0.48.7.tar.xz 3460968 BLAKE2B d2630c3695d3e3915751d74581ed85f493cb1f63c49ef8a2a36c396a86fefee4f9b608d5161f680eff9c4ebee0563fc158b3e1102dbe4ac56e2ab1c2bb938f2e SHA512 93ed6f98ff3be35d327794c5d81f30239c84838d49991b70dced1672f070e4675576da43b7555748d66ecae70102cd422e6af9b562f22bb34b40c07c73bac882
+DIST vala-0.48.8.tar.xz 3470240 BLAKE2B 753c1f4bd1619bb4671f74f3a82ed1919efd5bdfcbc7d2a0797303627214de1b9d22bb9bf4e5d8097773986bf95b27126061cf1ab862837d0ced49e0c860bb90 SHA512 a2a71313161154c3de73fa186728704b2d04ec27eb8cd95954dcfab6287e29c2ee21ecea17bc3e404fcef89c69d6440abca5ae3a526a43c05d3cbafef7ec6e99
+DIST vala-0.48.9.tar.xz 3472540 BLAKE2B 1c85b5d9a1f3819d5b26b521c7da423adee313b2acacb354e324abd9ccf24707dcfcd1a455bab867043f674c4daa5f1a62210847ac271dfce09a288651220f53 SHA512 076fcbea34dde1a84c15e4e2b6acd009c2fea578d48eb28a99a604eb4edc8bb53ac6883ca93ec906968d43d4b341707abc730d6ac8a7b3682a2fa5f0030d5256
+DIST vala-0.49.91.tar.xz 3506404 BLAKE2B 77a4e88d6718112747d6ceb0d70712db818fc175c2c4ef5755bc2c091469e32028d73467a7fda84748b3d29f87fc2f5af9601df8f59d96bcc55ce1bf01b25c7c SHA512 15817b032cce95a360b28a51509259b88e070a7ec6fd7a82452717ef98cd14b1fb60307a5bdd7f4b0627e59575a64c44fb41dad25327cecf8d9a56dbde01a820
EBUILD vala-0.36.20.ebuild 801 BLAKE2B 28a0b45feb749184a38652c09c10e4e10fa89e13ae613394fc89395244249783d5d66e63b9a808a3d2b6d0585f6f03c70d418874ab103032502df7830e64ef0f SHA512 fb5d44393b0ecb62098873f25f16ee9f9f2b268faa5524268923ba88258ada9b6e9d74f3ab4d0d9c11d1972d869ae1e97bae848f4005ebbe29069219a4078d47
EBUILD vala-0.40.20.ebuild 1188 BLAKE2B 9754e3990f8b9d97a9db2d475a8338dbad1ac0daa74118a4966d08709bbb8d713817ae4a163bdc79ef2ce26aad00e633418734a2333a4e2c72b8a10b6a53d814 SHA512 d55a8a950eda084f4d527d090fa768436808922b4adafbd756cdaed73fb7214d9a1f74c77fc1c0d232e3dc6bd7548ded04ff3fbe566c609c7c2677404e757636
EBUILD vala-0.40.23.ebuild 1191 BLAKE2B a82cacb22c6078bfe503634ce4b590600f8a4ca578a5e29dbfda07f5593a72145fb29f0085a357a18216597007e4bafe517a3d60e225db8e26a39efecd31ea81 SHA512 4175518ade299eb51423a7ccfd6011d3ee34b5b3e589059f8503ad0d2a7bb9d86cd6d97ea48ef5c8b3f78c94ea25d558a60d55bc6276cd384ac2ddf0b4563148
EBUILD vala-0.44.11.ebuild 1110 BLAKE2B caa359b186daa04e09b9f3c2185280dfedabd8428ad060304e78cad7fe106ec00c1ec023dcd2f0a7f4239ab5be705413667cfa9683fc30ac88ee2b0b1389e588 SHA512 e14b37221c39f2b50c788c31c28b929251db44e944bae83cb81907c2d304e4b6a9838c7173fc5c74f2ffdecc89d8d0f1ee3cb8d6ffea023491e8f7f92e25c79f
EBUILD vala-0.46.10.ebuild 1306 BLAKE2B c808af10340e1c711aa13fcfb1bfbfa0c2e7ef1883c476ae983b2b1a11c4485c4f67a2859dabfb04c02573777a931efb4be90fbc7a1a3992d9b2af2bdc25120a SHA512 761838034394585e4b36bf5ff07590b119dc98af38870357ec93078edf3d1ce9ea7b2098bae6f8da933b6e128cd5e4a18681c372ca98c2cdb1f27c6622972fa9
+EBUILD vala-0.46.11.ebuild 1312 BLAKE2B 4419e7f83b6eff1279058671fbe8ff62e2d1cf562a07f10d22d09e41c5dccf2b3a4b9694c7be6ce2c671efbb258d0e5caa66c5ce5b30edbc04ae534acc4d27b7 SHA512 3edde48c1cef97c1ef17b3c4587bf26763f14ca300017acb178e32fdf40b7dd25ba462b93b870859ec584e3a1ae1bbf935570c0f783df5871194d8ca033c5ae2
+EBUILD vala-0.46.12.ebuild 1312 BLAKE2B 4419e7f83b6eff1279058671fbe8ff62e2d1cf562a07f10d22d09e41c5dccf2b3a4b9694c7be6ce2c671efbb258d0e5caa66c5ce5b30edbc04ae534acc4d27b7 SHA512 3edde48c1cef97c1ef17b3c4587bf26763f14ca300017acb178e32fdf40b7dd25ba462b93b870859ec584e3a1ae1bbf935570c0f783df5871194d8ca033c5ae2
+EBUILD vala-0.46.13.ebuild 1312 BLAKE2B 4419e7f83b6eff1279058671fbe8ff62e2d1cf562a07f10d22d09e41c5dccf2b3a4b9694c7be6ce2c671efbb258d0e5caa66c5ce5b30edbc04ae534acc4d27b7 SHA512 3edde48c1cef97c1ef17b3c4587bf26763f14ca300017acb178e32fdf40b7dd25ba462b93b870859ec584e3a1ae1bbf935570c0f783df5871194d8ca033c5ae2
EBUILD vala-0.46.7.ebuild 1303 BLAKE2B 9eab2887ca949595c7673fb81cd9066bacdcec0a3a3608924ae7d42ce38f8c60609a7ea641d48e379ed882908743d4dd3b62401ec1f97ba12992b5a8ff755efa SHA512 a7d042b51962a8e9d921d2dd04bc4dc6a3e6db4061c894aad3eb60bd142c655f1982f3277224ed85107ee1b20f8d407c2c2f836885f446c9392203cb08b103de
EBUILD vala-0.48.6.ebuild 1306 BLAKE2B 7317fc4a69f4a18cdc05c7f8aff2b6f88db9a2d31f94f0166f98f2befe23e386e230b771c3d7f9437ec8bc531e1810ff8f8e791cdc4130507af924e70877faad SHA512 8de37289f6e80d0186ab7cfabce004ab62701f3dc146a433219520a32cd2159ae58066915d1701c84e083a550e57593dd6b8da6acf4532c0d90a9b1dbde8b595
+EBUILD vala-0.48.7.ebuild 1312 BLAKE2B 2a5c969f40a6f1ec8869e5de0e41e16ee78db748069bc0016e9b5b5ecb1dbc2be307995939134fe36a37b94e4a89284478d4704c04f32db9ae9c0a2786b875b8 SHA512 7354b9ffa72a263f0035b6803d6ab4071c7870cc90a1c9a57355ca637392420e78be6d5bedb866f327a522c0f852f1c78ea798ba66c62f8b5753fac9ec21a969
+EBUILD vala-0.48.8.ebuild 1312 BLAKE2B 2a5c969f40a6f1ec8869e5de0e41e16ee78db748069bc0016e9b5b5ecb1dbc2be307995939134fe36a37b94e4a89284478d4704c04f32db9ae9c0a2786b875b8 SHA512 7354b9ffa72a263f0035b6803d6ab4071c7870cc90a1c9a57355ca637392420e78be6d5bedb866f327a522c0f852f1c78ea798ba66c62f8b5753fac9ec21a969
+EBUILD vala-0.48.9.ebuild 1312 BLAKE2B 2a5c969f40a6f1ec8869e5de0e41e16ee78db748069bc0016e9b5b5ecb1dbc2be307995939134fe36a37b94e4a89284478d4704c04f32db9ae9c0a2786b875b8 SHA512 7354b9ffa72a263f0035b6803d6ab4071c7870cc90a1c9a57355ca637392420e78be6d5bedb866f327a522c0f852f1c78ea798ba66c62f8b5753fac9ec21a969
+EBUILD vala-0.49.91.ebuild 1312 BLAKE2B 507ce10645273e1b88b85552e019ac819425b5b483fb0ae2d711d8632e4d6c01da13b9a263455e876634aa9671713dc3b88ec7abe7c8187da3d7430ee75f7d29 SHA512 2d85349c7a4ad95d79e44f4c4fb259edbe4f83e44ceda05ad22d74f2fab9d5d745465537aa6f1a06e771f062a4f19d72f597ede88c4efa52bae9627d60c565e3
MISC metadata.xml 345 BLAKE2B de3110ae281a87f8cb8f6c10d93705f56f0cfed972cd893a063e66c2629150d491498a29b35b4efe19fa5b6baa740f1d989bad440924befc60ef56423096f108 SHA512 163aa55430a075974d504a5bbb71ad9a249cb215de12a82b3141de18bb05f1e0c2078c02c617cf7d98a97c7f8dd407077183754d8c82c77e80dd0d7b2ec38283
diff --git a/dev-lang/vala/vala-0.46.11.ebuild b/dev-lang/vala/vala-0.46.11.ebuild
new file mode 100644
index 000000000000..afe20bbc8ab5
--- /dev/null
+++ b/dev-lang/vala/vala-0.46.11.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2
+
+DESCRIPTION="Compiler for the GObject type system"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0.46"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-linux"
+IUSE="test valadoc"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.48.0:2
+ >=dev-libs/vala-common-${PV}
+ valadoc? ( >=media-gfx/graphviz-2.16 )
+ !<net-libs/libsoup-2.66.2[vala]
+" # Older libsoup generates a libsoup-2.4.vapi that isn't fine for vala:0.46 anymore
+# We block here, so libsoup[vala] consumers wouldn't have to >= it, which would be bad
+# as the newer is not required with older vala when those are picked instead of 0.46.
+# vala-0.45.91 ships a broken libsoup-2.4.vapi copy too, but that'll be fixed by 0.45.92
+DEPEND="${RDEPEND}
+ dev-libs/libxslt
+ sys-devel/flex
+ virtual/pkgconfig
+ virtual/yacc
+ test? (
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26:2
+ dev-libs/gobject-introspection )
+"
+
+src_configure() {
+ # weasyprint enables generation of PDF from HTML
+ gnome2_src_configure \
+ --disable-unversioned \
+ $(use_enable valadoc) \
+ VALAC=: \
+ WEASYPRINT=:
+}
+
+src_install() {
+ default
+ find "${D}" -name "*.la" -delete || die
+}
diff --git a/dev-lang/vala/vala-0.46.12.ebuild b/dev-lang/vala/vala-0.46.12.ebuild
new file mode 100644
index 000000000000..afe20bbc8ab5
--- /dev/null
+++ b/dev-lang/vala/vala-0.46.12.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2
+
+DESCRIPTION="Compiler for the GObject type system"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0.46"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-linux"
+IUSE="test valadoc"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.48.0:2
+ >=dev-libs/vala-common-${PV}
+ valadoc? ( >=media-gfx/graphviz-2.16 )
+ !<net-libs/libsoup-2.66.2[vala]
+" # Older libsoup generates a libsoup-2.4.vapi that isn't fine for vala:0.46 anymore
+# We block here, so libsoup[vala] consumers wouldn't have to >= it, which would be bad
+# as the newer is not required with older vala when those are picked instead of 0.46.
+# vala-0.45.91 ships a broken libsoup-2.4.vapi copy too, but that'll be fixed by 0.45.92
+DEPEND="${RDEPEND}
+ dev-libs/libxslt
+ sys-devel/flex
+ virtual/pkgconfig
+ virtual/yacc
+ test? (
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26:2
+ dev-libs/gobject-introspection )
+"
+
+src_configure() {
+ # weasyprint enables generation of PDF from HTML
+ gnome2_src_configure \
+ --disable-unversioned \
+ $(use_enable valadoc) \
+ VALAC=: \
+ WEASYPRINT=:
+}
+
+src_install() {
+ default
+ find "${D}" -name "*.la" -delete || die
+}
diff --git a/dev-lang/vala/vala-0.46.13.ebuild b/dev-lang/vala/vala-0.46.13.ebuild
new file mode 100644
index 000000000000..afe20bbc8ab5
--- /dev/null
+++ b/dev-lang/vala/vala-0.46.13.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2
+
+DESCRIPTION="Compiler for the GObject type system"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0.46"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-linux"
+IUSE="test valadoc"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.48.0:2
+ >=dev-libs/vala-common-${PV}
+ valadoc? ( >=media-gfx/graphviz-2.16 )
+ !<net-libs/libsoup-2.66.2[vala]
+" # Older libsoup generates a libsoup-2.4.vapi that isn't fine for vala:0.46 anymore
+# We block here, so libsoup[vala] consumers wouldn't have to >= it, which would be bad
+# as the newer is not required with older vala when those are picked instead of 0.46.
+# vala-0.45.91 ships a broken libsoup-2.4.vapi copy too, but that'll be fixed by 0.45.92
+DEPEND="${RDEPEND}
+ dev-libs/libxslt
+ sys-devel/flex
+ virtual/pkgconfig
+ virtual/yacc
+ test? (
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26:2
+ dev-libs/gobject-introspection )
+"
+
+src_configure() {
+ # weasyprint enables generation of PDF from HTML
+ gnome2_src_configure \
+ --disable-unversioned \
+ $(use_enable valadoc) \
+ VALAC=: \
+ WEASYPRINT=:
+}
+
+src_install() {
+ default
+ find "${D}" -name "*.la" -delete || die
+}
diff --git a/dev-lang/vala/vala-0.48.7.ebuild b/dev-lang/vala/vala-0.48.7.ebuild
new file mode 100644
index 000000000000..1f7c05bd15c1
--- /dev/null
+++ b/dev-lang/vala/vala-0.48.7.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2
+
+DESCRIPTION="Compiler for the GObject type system"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0.48"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-linux"
+IUSE="test valadoc"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.48.0:2
+ >=dev-libs/vala-common-${PV}
+ valadoc? ( >=media-gfx/graphviz-2.16 )
+ !<net-libs/libsoup-2.66.2[vala]
+" # Older libsoup generates a libsoup-2.4.vapi that isn't fine for vala:0.46 anymore
+# We block here, so libsoup[vala] consumers wouldn't have to >= it, which would be bad
+# as the newer is not required with older vala when those are picked instead of 0.46.
+# vala-0.45.91 ships a broken libsoup-2.4.vapi copy too, but that'll be fixed by 0.45.92
+DEPEND="${RDEPEND}
+ dev-libs/libxslt
+ sys-devel/flex
+ virtual/pkgconfig
+ virtual/yacc
+ test? (
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26:2
+ dev-libs/gobject-introspection )
+"
+
+src_configure() {
+ # weasyprint enables generation of PDF from HTML
+ gnome2_src_configure \
+ --disable-unversioned \
+ $(use_enable valadoc) \
+ VALAC=: \
+ WEASYPRINT=:
+}
+
+src_install() {
+ default
+ find "${D}" -name "*.la" -delete || die
+}
diff --git a/dev-lang/vala/vala-0.48.8.ebuild b/dev-lang/vala/vala-0.48.8.ebuild
new file mode 100644
index 000000000000..1f7c05bd15c1
--- /dev/null
+++ b/dev-lang/vala/vala-0.48.8.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2
+
+DESCRIPTION="Compiler for the GObject type system"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0.48"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-linux"
+IUSE="test valadoc"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.48.0:2
+ >=dev-libs/vala-common-${PV}
+ valadoc? ( >=media-gfx/graphviz-2.16 )
+ !<net-libs/libsoup-2.66.2[vala]
+" # Older libsoup generates a libsoup-2.4.vapi that isn't fine for vala:0.46 anymore
+# We block here, so libsoup[vala] consumers wouldn't have to >= it, which would be bad
+# as the newer is not required with older vala when those are picked instead of 0.46.
+# vala-0.45.91 ships a broken libsoup-2.4.vapi copy too, but that'll be fixed by 0.45.92
+DEPEND="${RDEPEND}
+ dev-libs/libxslt
+ sys-devel/flex
+ virtual/pkgconfig
+ virtual/yacc
+ test? (
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26:2
+ dev-libs/gobject-introspection )
+"
+
+src_configure() {
+ # weasyprint enables generation of PDF from HTML
+ gnome2_src_configure \
+ --disable-unversioned \
+ $(use_enable valadoc) \
+ VALAC=: \
+ WEASYPRINT=:
+}
+
+src_install() {
+ default
+ find "${D}" -name "*.la" -delete || die
+}
diff --git a/dev-lang/vala/vala-0.48.9.ebuild b/dev-lang/vala/vala-0.48.9.ebuild
new file mode 100644
index 000000000000..1f7c05bd15c1
--- /dev/null
+++ b/dev-lang/vala/vala-0.48.9.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2
+
+DESCRIPTION="Compiler for the GObject type system"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0.48"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-linux"
+IUSE="test valadoc"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.48.0:2
+ >=dev-libs/vala-common-${PV}
+ valadoc? ( >=media-gfx/graphviz-2.16 )
+ !<net-libs/libsoup-2.66.2[vala]
+" # Older libsoup generates a libsoup-2.4.vapi that isn't fine for vala:0.46 anymore
+# We block here, so libsoup[vala] consumers wouldn't have to >= it, which would be bad
+# as the newer is not required with older vala when those are picked instead of 0.46.
+# vala-0.45.91 ships a broken libsoup-2.4.vapi copy too, but that'll be fixed by 0.45.92
+DEPEND="${RDEPEND}
+ dev-libs/libxslt
+ sys-devel/flex
+ virtual/pkgconfig
+ virtual/yacc
+ test? (
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26:2
+ dev-libs/gobject-introspection )
+"
+
+src_configure() {
+ # weasyprint enables generation of PDF from HTML
+ gnome2_src_configure \
+ --disable-unversioned \
+ $(use_enable valadoc) \
+ VALAC=: \
+ WEASYPRINT=:
+}
+
+src_install() {
+ default
+ find "${D}" -name "*.la" -delete || die
+}
diff --git a/dev-lang/vala/vala-0.49.91.ebuild b/dev-lang/vala/vala-0.49.91.ebuild
new file mode 100644
index 000000000000..c1a73c907f81
--- /dev/null
+++ b/dev-lang/vala/vala-0.49.91.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2
+
+DESCRIPTION="Compiler for the GObject type system"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0.50"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-linux"
+IUSE="test valadoc"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.48.0:2
+ >=dev-libs/vala-common-${PV}
+ valadoc? ( >=media-gfx/graphviz-2.16 )
+ !<net-libs/libsoup-2.66.2[vala]
+" # Older libsoup generates a libsoup-2.4.vapi that isn't fine for vala:0.46 anymore
+# We block here, so libsoup[vala] consumers wouldn't have to >= it, which would be bad
+# as the newer is not required with older vala when those are picked instead of 0.46.
+# vala-0.45.91 ships a broken libsoup-2.4.vapi copy too, but that'll be fixed by 0.45.92
+DEPEND="${RDEPEND}
+ dev-libs/libxslt
+ sys-devel/flex
+ virtual/pkgconfig
+ virtual/yacc
+ test? (
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26:2
+ dev-libs/gobject-introspection )
+"
+
+src_configure() {
+ # weasyprint enables generation of PDF from HTML
+ gnome2_src_configure \
+ --disable-unversioned \
+ $(use_enable valadoc) \
+ VALAC=: \
+ WEASYPRINT=:
+}
+
+src_install() {
+ default
+ find "${D}" -name "*.la" -delete || die
+}
diff --git a/dev-lang/xsb/Manifest b/dev-lang/xsb/Manifest
index a9310e87300f..cc3c5910e7d7 100644
--- a/dev-lang/xsb/Manifest
+++ b/dev-lang/xsb/Manifest
@@ -1,8 +1,11 @@
DIST XSB360.tar.gz 12842882 BLAKE2B 734d17a05eb9cb79906a98a77a6562a9445603a884523689c1f2e5e5f9cd4ebfc7182e9ecde9bf9f97c18a90bc4d0d35a2344ac92193d9ee43eb733530571836 SHA512 2ac2f4d4c7501479648b7f618815d4cd996969791a617f2148ef7498cf08bacd67eab298136303b6804cb689129ae3365e1490ec693f2232f9c9f1ad515d9c6c
DIST XSB370.tar.gz 12322913 BLAKE2B 64db80704ce656bfaa402d161a94c7b1cd3119a363e848b2c7768665df580b25f1fc43b49b381960d9049d947590b7eb3c846c1a2d6b8a1233d8eb2c4de04f7e SHA512 e2c11b0e5fbbffc2fb6d493e39b7dd74de43509ea1c844f1b3e5d1002c116d6fb8b245905b7b512499e40765a6603d4bef883052bdeec4a3078011c305f85a9f
+DIST XSB38.tar.gz 13830570 BLAKE2B 60a6ab38435348d09e2d08bc65ca62c06b38495b72f40a6f3f10fe8d23949bfed0c580c9be0c8304d8a88a53b227bb695870b558d67f33a47543de6c1529180f SHA512 457c691450afcf3ed4e2fffc28deaef0949ef4bbf6fd69b504acc6507fbb144f2c6e427a25da2b6346b15b82e803c02d1b6962af698d16c1fcb9a3d56160ea30
DIST xsb-3.6.0-gentoo-patchset-4.tar.gz 7513 BLAKE2B cf846dc94e0f1194f5da381b888f4ce6476a4e861cb23e6dca87b0cd2c0ea24c4290ea080432d2c5440f7350cf0862c7fc34e303a8dfe824e2e3e06f29aa4815 SHA512 bb7ba7836fa2df7a54fd2837b4cb760f7ae0e9511bc0a4b2be8cba89ed4aeedda6712937a4748bd9e9ee16366d442fd962a121dbf83017e2199eb3a287efb1d5
DIST xsb-3.7.0-gentoo-patchset-3.tar.gz 5636 BLAKE2B f7b66131d3f02fd75e8b6019f8e64cb6f531155116364da432df41a8f7b3ba2b8d300f7b64bbcae7a755478c6aeb637b36457b491998c88457a96b64e5ecb46e SHA512 bee6d62b900c9ee3a373dfa0ad7362b18c748bb9e0559a878534ed517067d753e1fa79277b0588133a1eeceafcd56b4dcc9ff81892309f6c6666150baaaaf047
+DIST xsb-3.8.0-gentoo-patchset-3.tar.gz 7297 BLAKE2B b3da3b4458e6e97c32fc6318bfa95d9755398572b85fe10a00af327c7cf940e18b8ae49cd2543544b363daf39bdc9db3963487e134c3a1b3a31c05344ed927fd SHA512 96064c2a27c4570b213613b97386bed1dac8082881794b7e18e5ae9ee9c28af78412c793b1fe26a293664ba88236257fbb3804cdda63799fff6fb72ca498b4a4
EBUILD xsb-3.6.0-r1.ebuild 3719 BLAKE2B 3f9ad681420e551346f3d75172e5a1c1bafce0a232d3c5fe2eca73e2c39ed01e82768bac93b6ca79712fe362a9f4c48c4a44daf3461d0aa1a0658a521bd89494 SHA512 52d15ea7b41a1dfca4b12a559a90ba0dab170eb40ec9ac7f6f4cc290396ecb4276b85866fef9dc5fefe20b680a5f282193e876bf1f08ff713d29fbe31064b5d2
EBUILD xsb-3.6.0.ebuild 3701 BLAKE2B 4654f47cf403163d1893f8b2d7d7276d86fae58e15f77143b360787ab5dfd8769165c980cef1d1e4c4a12db3fbba0133bf134fb3db0975d6877367ec959ef8e9 SHA512 ccf6c318f3615a7efa28582c33a79bc27b039821fba01152873eb7e759ab271e8e5c6c3ee0ec335af96bcc6692f489294cd4ed4d990eeac12c366599105b8983
EBUILD xsb-3.7.0-r1.ebuild 3662 BLAKE2B 51219153887a0702feac12dae98ef326a65ec524a32395ec55576c3c1c1ba08031d068b268bf787863b1d2961a82ee15610d4d6dbdf1aa83a0b442c44a604c28 SHA512 146fc16485c95f4b4bcd7ee8735edec39ee76347b9f6b5b8d7690e545ebdfcac141b3cb1ee08067597f815fde6c3c4deee0faffc8e99431a253ab10802420010
+EBUILD xsb-3.8.0.ebuild 3686 BLAKE2B 6cbba76d040b1c7e2724d96ea88d31f2366b39930d0eba1bda145a221b71b73d45f3c4b75daa6d90902a2cf7a48e9c98692ecc7f96623ea07108f9d5a8ac30c1 SHA512 def1f002f37fb5e791ebf842e04b39b0091a23e0fe094fbb6457edb4e8195b96e103f26c878a6bf4d4c020bc09152a0350f1b43ba1616914eedbdf35359c2321
MISC metadata.xml 313 BLAKE2B e6feaeb68ae7144def50a0dff4671b3a9ff070be4d447d45e5b8fbab61940026a5ea9d13c54fb21a808ed67630debf2f55e44d9186e83ea094b26dccab3bf1e6 SHA512 e271dc66bb407abe43ebc5b1fc27c318cc8082b4b14f43f1c33f3453e4a248c83ba2fcc73ba32a63828e172093a00b507f81c629d022799c4cd5a14417fc5ef0
diff --git a/dev-lang/xsb/xsb-3.8.0.ebuild b/dev-lang/xsb/xsb-3.8.0.ebuild
new file mode 100644
index 000000000000..eed0e2a02330
--- /dev/null
+++ b/dev-lang/xsb/xsb-3.8.0.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PATCHSET_VER="3"
+
+inherit autotools java-pkg-opt-2
+
+DESCRIPTION="XSB is a logic programming and deductive database system"
+HOMEPAGE="http://xsb.sourceforge.net"
+SRC_URI="http://xsb.sourceforge.net/downloads/XSB38.tar.gz
+ https://dev.gentoo.org/~keri/distfiles/xsb/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="curl debug iodbc java mysql odbc pcre threads xml"
+
+RDEPEND="curl? ( net-misc/curl )
+ iodbc? ( dev-db/libiodbc )
+ java? ( >=virtual/jdk-1.4:= )
+ mysql? ( dev-db/mysql-connector-c:0= )
+ odbc? ( dev-db/unixODBC )
+ pcre? ( dev-libs/libpcre )
+ xml? ( dev-libs/libxml2 )"
+
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/XSB
+
+PATCHES=( "${WORKDIR}/${PV}" )
+
+src_prepare() {
+ default
+ cd "${S}"/build
+ eautoconf
+}
+
+src_configure() {
+ cd "${S}"/build
+
+ econf \
+ --prefix=/usr/$(get_libdir) \
+ --disable-optimization \
+ --disable-ccmpl \
+ --without-smodels \
+ $(use_with odbc) \
+ $(use_with iodbc) \
+ $(use_enable threads mt) \
+ $(use_enable debug)
+
+ if use curl ; then
+ cd "${S}"/packages/curl
+ econf
+ fi
+
+ if use mysql ; then
+ cd "${S}"/packages/dbdrivers/mysql
+ econf
+ fi
+
+ if use odbc ; then
+ cd "${S}"/packages/dbdrivers/odbc
+ econf
+ fi
+
+ if use pcre ; then
+ cd "${S}"/packages/pcre
+ econf
+ fi
+
+ if use xml ; then
+ cd "${S}"/packages/xpath
+ econf
+ fi
+}
+
+src_compile() {
+ cd "${S}"/build
+
+ default
+
+ # All XSB Packages are compiled using a single Prolog engine.
+ # Consequently they must all be compiled using a single make job.
+
+ cd "${S}"/packages
+ rm -f *.xwam
+ emake -j1
+
+ if use curl ; then
+ emake -j1 curl
+ emake -j1 sgml
+ if use xml ; then
+ emake -j1 xpath
+ fi
+ fi
+
+ if use mysql ; then
+ emake -j1 mysql
+ fi
+
+ if use odbc ; then
+ emake -j1 odbc
+ fi
+
+ if use pcre ; then
+ emake -j1 pcre
+ fi
+}
+
+src_install() {
+ cd "${S}"/build
+ default
+
+ local XSB_INSTALL_DIR=/usr/$(get_libdir)/xsb-${PV}
+ dosym ${XSB_INSTALL_DIR}/bin/xsb /usr/bin/xsb
+
+ cd "${S}"/packages
+ local PACKAGES=${XSB_INSTALL_DIR}/packages
+ insinto ${PACKAGES}
+ doins *.xwam
+
+ insinto ${PACKAGES}/chr
+ doins chr/*.xwam
+
+ insinto ${PACKAGES}/clpqr
+ doins clpqr/*.xwam
+
+ insinto ${PACKAGES}/gap
+ doins gap/*.xwam
+
+ insinto ${PACKAGES}/justify
+ doins justify/*.xwam
+ doins justify/*.H
+
+ insinto ${PACKAGES}/regmatch
+ doins regmatch/*.xwam
+ insinto ${PACKAGES}/regmatch/cc
+ doins regmatch/cc/*.H
+
+ insinto ${PACKAGES}/slx
+ doins slx/*.xwam
+
+ insinto ${PACKAGES}/wildmatch
+ doins wildmatch/*.xwam
+ insinto ${PACKAGES}/wildmatch/cc
+ doins wildmatch/cc/*.H
+
+ if use curl ; then
+ insinto ${PACKAGES}/curl
+ doins curl/*.xwam
+ insinto ${PACKAGES}/curl/cc
+ doins curl/cc/*.H
+ insinto ${PACKAGES}/sgml
+ doins sgml/*.xwam
+ insinto ${PACKAGES}/sgml/cc
+ doins sgml/cc/*.H
+ insinto ${PACKAGES}/sgml/cc/dtd
+ doins sgml/cc/dtd/*
+ if use xml ; then
+ insinto ${PACKAGES}/xpath
+ doins xpath/*xwam
+ insinto ${PACKAGES}/xpath/cc
+ doins xpath/cc/*.H
+ fi
+ fi
+
+ if use mysql || use odbc ; then
+ insinto ${PACKAGES}/dbdrivers
+ doins dbdrivers/*.xwam
+ doins dbdrivers/*.H
+ insinto ${PACKAGES}/dbdrivers/cc
+ doins dbdrivers/cc/*.H
+ if use mysql ; then
+ insinto ${PACKAGES}/dbdrivers/mysql
+ doins dbdrivers/mysql/*.xwam
+ insinto ${PACKAGES}/dbdrivers/mysql/cc
+ doins dbdrivers/mysql/cc/*.H
+ fi
+ if use odbc ; then
+ insinto ${PACKAGES}/dbdrivers/odbc
+ doins dbdrivers/odbc/*.xwam
+ insinto ${PACKAGES}/dbdrivers/odbc/cc
+ doins dbdrivers/odbc/cc/*.H
+ fi
+ fi
+
+ if use pcre ; then
+ insinto ${PACKAGES}/pcre
+ doins pcre/*.xwam
+ insinto ${PACKAGES}/pcre/cc
+ doins pcre/cc/*.H
+ fi
+
+ cd "${S}"
+ dodoc FAQ README
+}
diff --git a/dev-lang/yasm/Manifest b/dev-lang/yasm/Manifest
index aa0ccf2f9d69..027943ff1304 100644
--- a/dev-lang/yasm/Manifest
+++ b/dev-lang/yasm/Manifest
@@ -1,8 +1,5 @@
-AUX yasm-1.2.0-fix_cython_check.patch 790 BLAKE2B 7f3c64676a711c327e4fee6cf1acc75ff6e9d28ebd53e7a5688f85e98e467b6e33a950422ff82a522acd9ec163513b06083e2f7daaf155f6fd81860279bfd142 SHA512 5055949c13c5b4e24863f302f379831fcb26edbcfef48b3f3ee4fe742a95c0db85487a82d72a7e9fc96ad4c9fbeee0423d79032269900aeaf380cc9848ccb07b
-DIST yasm-1.2.0-x32.patch.xz 9656 BLAKE2B 61971f72941269e6f9eb30fe58978bdae546eedf8873111ee33f37d63e82135833d8787e23d1f7fb887bf205c1bc9035bb4c8c7f7f0ae13a0cf8b47a8ec9dc7d SHA512 93961d0690c0018a3645bc3d610b1f12172f5311609716fec0efcf8af5d70578a1fc74ab42fcc75f2b75ed8837fa03cbc66ddd6386baeb56a519e7639ff64874
-DIST yasm-1.2.0.tar.gz 1436502 BLAKE2B 7be4f0cb5bd687868451fa6051ce9a621847c4ec87281af2e8e9673a61653f1625b17d41c213b7559b947c3173f29c94c0e397e037e1b339055e06c19ee21fea SHA512 e80ace766e145f6486e76da1a5a9819221b7f406745a02529b4ad220ef7f51ddd67f23d0d8b187bffc9725d9f9742ae5f3a0bb23ee5b2a61153332fb3e286b77
DIST yasm-1.3.0.tar.gz 1492156 BLAKE2B e419a4f9912eb244e9503462dbf0c5e5c95bdfa49583ee205dc4708b42710df8dd2056b2e36e04de04474f4af900916cb64c14a623db1346c3e1cb46a8cc34a5 SHA512 572d3b45568b10f58e48f1188c2d6bcbdd16429c8afaccc8c6d37859b45635e106885d679e41d0bee78c23822108c7ae75aa7475eed5ba58057e0a6fe1b68645
-EBUILD yasm-1.2.0-r1.ebuild 1297 BLAKE2B 58304a9a89220672a1bbee4bf1dbc5e9a06d224aadfd57c6d8a6d76c4a8f446f1525c0e99fd028d1e89dcdf0e349a0105a59da6d41a50717a9c4c62adb55df79 SHA512 d2b6f99c3daae13679c27a5cac1d247b55d233edfb6b9e2105659f2f83ae688425c6b2454532c219b29fbe54bbdb5158d6c0b0f97967aaa58723d1317a7154da
+EBUILD yasm-1.3.0-r1.ebuild 1229 BLAKE2B ff9472b50f5a4c7d7d4d67fcff061234d29cf72d2682bc1192f249f2a4989d5a027650fb4d7e1af264a8ae410b6633861d90348f72ae0f846fcbbc1d4859774e SHA512 ffdd0066ec2f101881c248817464daa5dd3c3cab3f89f5eb8beff7f45b7a791484ecfece37fa079aac07c34d70bcf01d3c73fce91e6f768f28c1f163c27b47e5
EBUILD yasm-1.3.0.ebuild 1128 BLAKE2B c8afc041ff08d9cf748c6801b8e4469361c4eb71181f603aca185e154c7bdea3fe3c7de455d53bab6e6481220a07c97f53ea7af402e1e9762467fa21faf2a1f0 SHA512 e7a239a4b2ed31a3eff8ddd00cfa7af7a8abc7147624094d433b9ba409d9df8acf217388a7ec51382aa685b54cd93e93daa0aba2d6e2e91c771450117df8e810
-EBUILD yasm-9999.ebuild 1519 BLAKE2B 09dcf4de46a7015d90b6ebd3427afaed532a49d41c9c9158dd84b1334fece3c64e2e0aec79744b46e87fabf2f9f62553e62c8f8e6652bbe2b43c46eb288220d0 SHA512 a06e1eb56d5ec599be4c9d17c8bd0e439e9a11944e63b89c8c9b42360530d6623a8a1d8304caabdabbd1ad456ba9812b7537db4e6f21fcffb377b5ca2b5c883e
+EBUILD yasm-9999.ebuild 1229 BLAKE2B ff9472b50f5a4c7d7d4d67fcff061234d29cf72d2682bc1192f249f2a4989d5a027650fb4d7e1af264a8ae410b6633861d90348f72ae0f846fcbbc1d4859774e SHA512 ffdd0066ec2f101881c248817464daa5dd3c3cab3f89f5eb8beff7f45b7a791484ecfece37fa079aac07c34d70bcf01d3c73fce91e6f768f28c1f163c27b47e5
MISC metadata.xml 261 BLAKE2B c5880d50c9def415b65cade7de2e9f4d5f46c98e4d60cde4c85b45cd0c2b1c65b695b85c6533fb018dc545fbc562284485818cf0b2db3109b088310dc7be53f7 SHA512 d37f5f4f82ac36f200f1df58e8caf7e8bcad7f4d479ad37e0c059d657c50984f44463e765e9cb867c04a2081928f3d603d362930de1f9d326ed4c237a1b0bb0c
diff --git a/dev-lang/yasm/files/yasm-1.2.0-fix_cython_check.patch b/dev-lang/yasm/files/yasm-1.2.0-fix_cython_check.patch
deleted file mode 100644
index c894f821a2aa..000000000000
--- a/dev-lang/yasm/files/yasm-1.2.0-fix_cython_check.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-http://tortall.lighthouseapp.com/projects/78676-yasm/tickets/249
-
---- m4/cython.m4
-+++ m4/cython.m4
-@@ -2,13 +2,14 @@
- dnl be set before this function is called.
- dnl CYTHON_CHECK_VERSION([MIN-VERSION], [ACTION-IF-TRUE], [ACTION-IF-FALSE])
- AC_DEFUN([CYTHON_CHECK_VERSION],
-- [prog="import sys
-+ [prog="import re, sys
- from Cython.Compiler.Version import version
- def get_int(arg):
-- try:
-- return int(arg)
-- except ValueError:
-+ matched = re.match(r'\d+', arg)
-+ if matched is None:
- return 0
-+ else:
-+ return int(matched.group(0))
- # split strings by '.' and convert to numeric. Append some zeros
- # because we need at least 4 digits for the hex conversion.
- ver = map(get_int, version.rstrip('abcdefghijklmnopqrstuvwxyz').split('.')) + [[0, 0, 0]]
diff --git a/dev-lang/yasm/yasm-1.2.0-r1.ebuild b/dev-lang/yasm/yasm-1.2.0-r1.ebuild
deleted file mode 100644
index 9cd5c98942fb..000000000000
--- a/dev-lang/yasm/yasm-1.2.0-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit autotools eutils python-r1
-
-DESCRIPTION="An assembler for x86 and x86_64 instruction sets"
-HOMEPAGE="http://yasm.tortall.net/"
-SRC_URI="http://www.tortall.net/projects/yasm/releases/${P}.tar.gz
- mirror://gentoo/${P}-x32.patch.xz"
-
-LICENSE="BSD-2 BSD || ( Artistic GPL-2 LGPL-2 )"
-SLOT="0"
-KEYWORDS="-* amd64 ~arm64 x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
-IUSE="nls python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- nls? ( virtual/libintl )
- python? ( ${PYTHON_DEPS} )"
-DEPEND="
- ${RDEPEND}
- nls? ( sys-devel/gettext )
- python? ( >=dev-python/cython-0.14[${PYTHON_USEDEP}] )"
-
-src_prepare() {
- sed -i -e 's:xmlto:&dIsAbLe:' configure.ac || die #459940
- epatch "${WORKDIR}"/${P}-x32.patch #435838
- chmod a+rx modules/objfmts/elf/tests/{gas,}x32/*_test.sh
- epatch "${FILESDIR}/${P}-fix_cython_check.patch"
- # ksh doesn't grok $(xxx), makes aclocal fail
- sed -i -e '1c\#!/usr/bin/env sh' YASM-VERSION-GEN.sh || die
- eautoreconf
-}
-
-src_configure() {
- use python && python_setup
-
- econf \
- $(use_enable python) \
- $(use_enable python python-bindings) \
- $(use_enable nls)
-}
-
-src_test() {
- emake check
-}
diff --git a/dev-lang/yasm/yasm-1.3.0-r1.ebuild b/dev-lang/yasm/yasm-1.3.0-r1.ebuild
new file mode 100644
index 000000000000..ffd88e2bc667
--- /dev/null
+++ b/dev-lang/yasm/yasm-1.3.0-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+if [[ ${PV} == 9999* ]] ; then
+ EGIT_REPO_URI="https://github.com/yasm/yasm.git"
+ inherit autotools git-r3
+else
+ SRC_URI="http://www.tortall.net/projects/yasm/releases/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="An assembler for x86 and x86_64 instruction sets"
+HOMEPAGE="http://yasm.tortall.net/"
+
+LICENSE="BSD-2 BSD || ( Artistic GPL-2 LGPL-2 )"
+SLOT="0"
+IUSE="nls"
+
+BDEPEND="
+ nls? ( sys-devel/gettext )
+"
+DEPEND="
+ nls? ( virtual/libintl )
+"
+RDEPEND="${DEPEND}
+"
+
+if [[ ${PV} == 9999* ]]; then
+ BDEPEND+="
+ app-text/xmlto
+ app-text/docbook-xml-dtd:4.1.2
+ dev-lang/python
+ "
+fi
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999* ]]; then
+ eautoreconf
+ python modules/arch/x86/gen_x86_insn.py || die
+ fi
+}
+
+src_configure() {
+ local myconf=(
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+ CCLD_FOR_BUILD="$(tc-getBUILD_CC)"
+ --disable-warnerror
+ --disable-python
+ --disable-python-bindings
+ $(use_enable nls)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ # https://bugs.gentoo.org/718870
+ emake -j1 check
+}
diff --git a/dev-lang/yasm/yasm-9999.ebuild b/dev-lang/yasm/yasm-9999.ebuild
index ccd86bc00909..ffd88e2bc667 100644
--- a/dev-lang/yasm/yasm-9999.ebuild
+++ b/dev-lang/yasm/yasm-9999.ebuild
@@ -2,16 +2,15 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python2_7 )
-inherit python-single-r1 toolchain-funcs
+inherit toolchain-funcs
if [[ ${PV} == 9999* ]] ; then
EGIT_REPO_URI="https://github.com/yasm/yasm.git"
inherit autotools git-r3
else
SRC_URI="http://www.tortall.net/projects/yasm/releases/${P}.tar.gz"
- KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
+ KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="An assembler for x86 and x86_64 instruction sets"
@@ -19,52 +18,41 @@ HOMEPAGE="http://yasm.tortall.net/"
LICENSE="BSD-2 BSD || ( Artistic GPL-2 LGPL-2 )"
SLOT="0"
-IUSE="nls python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+IUSE="nls"
BDEPEND="
nls? ( sys-devel/gettext )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '>=dev-python/cython-0.14[${PYTHON_USEDEP}]')
- )
"
DEPEND="
nls? ( virtual/libintl )
"
RDEPEND="${DEPEND}
- python? ( ${PYTHON_DEPS} )
"
if [[ ${PV} == 9999* ]]; then
BDEPEND+="
app-text/xmlto
app-text/docbook-xml-dtd:4.1.2
+ dev-lang/python
"
fi
-pkg_setup() {
- : # Avoid python-single-r1_pkg_setup
-}
-
src_prepare() {
default
if [[ ${PV} == 9999* ]]; then
eautoreconf
- ./modules/arch/x86/gen_x86_insn.py || die
+ python modules/arch/x86/gen_x86_insn.py || die
fi
}
src_configure() {
- use python && python_setup
-
local myconf=(
- CC_FOR_BUILD=$(tc-getBUILD_CC) \
- CCLD_FOR_BUILD=$(tc-getBUILD_CC) \
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+ CCLD_FOR_BUILD="$(tc-getBUILD_CC)"
--disable-warnerror
- $(use_enable python)
- $(use_enable python python-bindings)
+ --disable-python
+ --disable-python-bindings
$(use_enable nls)
)
diff --git a/dev-lang/zig/Manifest b/dev-lang/zig/Manifest
index 9a2d25ad222f..1d679a0485ba 100644
--- a/dev-lang/zig/Manifest
+++ b/dev-lang/zig/Manifest
@@ -1,8 +1,4 @@
-AUX zig-0.4.0-r1-build-artifacts.patch 2149 BLAKE2B 7d2ac6a9d3cca4a13a4ad932f71d892b18e02e12387593f70ceab87b4ca66faf74bd1f2841ed89adbb4e1e69fe2ccb9fce2071ddcf39e4761aee248d853029f3 SHA512 5a7475eb72d32889db55f5e89a18ce25647ec7e43a716ab2606875fb77e806c05134ee2a482fcc63e152f459d2065635ae9fb75d9228c216b3541d363fd30961
-AUX zig-0.4.0-r1-suppress-warnings.patch 1106 BLAKE2B 3e4cac7325789a3ef954f35814a63e554710afd00d5d913c1ae597913df05409e475cea652b4219f7cf1a8c0233391cf4bd82fec19f98552f66df5dddbb5d4ae SHA512 a401c6c88ab3b1f8e5344502a53b9c2157ff310625735b54d9e91bbc4c726fc5e97ea3a1678cbe1fe6bf7ce3087f6ef68778900c40fb633daee96f2bdef3dc2f
-DIST zig-0.4.0.tar.gz 8924757 BLAKE2B 5ca3377f205694ff02360900b49eee7347cdf1cdaef90f1be071eff2610425ed453dfb35928fbe65b25f151b7153ab838c887d362ed3cd746f07833ae42510fd SHA512 423915730bc4ae9a67db3731a96471467826d16e59b87b3541f3e8ed2436f941939f22ccbebdb9a958a195b05360eb65f5be1658b32a01cc8db55c6e581eb039
DIST zig-0.5.0.tar.gz 15743912 BLAKE2B 1a28dffebc24200cf51e1d94ff7203c8de5641e1a299eff58e808a5a8f3257fc8ff771699a0f90733702b90e5536990adc5bf41b973b4ea642081ef788f7a83d SHA512 9fc2ef827421e54e8db98ce3474ba3bbe9119b0b9aa30b4edd78d73277d2384067b5c78f4ebbca350a97ac230131e7f71e6d54c1e75fc74e1833ce6c51c402df
-EBUILD zig-0.4.0-r1.ebuild 1250 BLAKE2B 43219ec7395eb7bb27a1d039c97773e76bb0d3b19656b692b804ad5bd991200b89bfd0af7c4b9bdc56f93886533243f3d0cbc411b2d5ce34f63906712a498665 SHA512 d61ca59a5205c8bdcf113ee0f317763808073b9e1480c551b1a71b34fa4e0bc3dc191e8961fdeb0b1ebe283b6f504c9403ca2c138f8afabbbf9200a7729e56f1
EBUILD zig-0.5.0.ebuild 1523 BLAKE2B 1e2d2d2aad86816165f85afb8f1bec72f3cd496506990fc6465959edb4181ebe817f677c31d2aeb192656a0f5bdd388d939757cd2f394e516927e799a134dec8 SHA512 0475818ef4c104fff9a57e197c96bf8423bc4f91d2d08ca80c0af7de0872793c2c07fab57f9d4338a328ab67ef2fe9366fdd7179acf7c44ee5d918fa46b47d42
EBUILD zig-9999.ebuild 1523 BLAKE2B 1e2d2d2aad86816165f85afb8f1bec72f3cd496506990fc6465959edb4181ebe817f677c31d2aeb192656a0f5bdd388d939757cd2f394e516927e799a134dec8 SHA512 0475818ef4c104fff9a57e197c96bf8423bc4f91d2d08ca80c0af7de0872793c2c07fab57f9d4338a328ab67ef2fe9366fdd7179acf7c44ee5d918fa46b47d42
MISC metadata.xml 549 BLAKE2B 1f79da87db9888bc7a1c12163f7ee36dcb37645f5bdeb61034144f76b03b7e464c05f62a8753b0b85fd0ed4fd33ea1066da552d29d28bdd2502918697b3d94a0 SHA512 5867cda8d47f181e93b4aa4763efa5e12d7a6bbf1001e496cd82cc892a43b144a2d8a0a4d26466ac171622acf3590866d9d75a16c8337ae06734d5d4f8b2e908
diff --git a/dev-lang/zig/files/zig-0.4.0-r1-build-artifacts.patch b/dev-lang/zig/files/zig-0.4.0-r1-build-artifacts.patch
deleted file mode 100644
index 11868e93a8a4..000000000000
--- a/dev-lang/zig/files/zig-0.4.0-r1-build-artifacts.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 81767a658d07219a402384f98a7553abcbbd2e70 Mon Sep 17 00:00:00 2001
-From: Marc Tiehuis <marctiehuis@gmail.com>
-Date: Thu, 18 Apr 2019 18:58:12 +1200
-Subject: [PATCH] Don't install stage2 artifacts
-
-Fixes #2220.
----
- CMakeLists.txt | 11 ++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1b017a881..047d538e8 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -58,6 +58,16 @@ endif()
-
- set(ZIG_CPP_LIB_DIR "${CMAKE_BINARY_DIR}/zig_cpp")
-
-+# Handle multi-config builds and place each into a common lib. The VS generator
-+# for example will append a Debug folder by default if not explicitly specified.
-+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${ZIG_CPP_LIB_DIR})
-+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${ZIG_CPP_LIB_DIR})
-+foreach(CONFIG_TYPE ${CMAKE_CONFIGURATION_TYPES})
-+ string(TOUPPER ${CONFIG_TYPE} CONFIG_TYPE)
-+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_TYPE} ${ZIG_CPP_LIB_DIR})
-+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPE} ${ZIG_CPP_LIB_DIR})
-+endforeach(CONFIG_TYPE CMAKE_CONFIGURATION_TYPES)
-+
- if(ZIG_FORCE_EXTERNAL_LLD)
- find_package(lld)
- include_directories(${LLVM_INCLUDE_DIRS})
-@@ -253,7 +263,6 @@ else()
- embedded_lld_wasm
- embedded_lld_lib
- )
-- install(TARGETS embedded_lld_elf embedded_lld_coff embedded_lld_mingw embedded_lld_wasm embedded_lld_lib DESTINATION "${ZIG_CPP_LIB_DIR}")
- endif()
-
- # No patches have been applied to SoftFloat-3e
-
-From 40fe6afdad1a8676b5d3a5dd23d6d50d6ea9f059 Mon Sep 17 00:00:00 2001
-From: Marc Tiehuis <marctiehuis@gmail.com>
-Date: Wed, 1 May 2019 17:39:23 +1200
-Subject: [PATCH] Don't install zig_cpp lib for stage2 target
-
-Missed in last commit. See #2220.
----
- CMakeLists.txt | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 047d538e8..9881ce1de 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -6671,6 +6681,5 @@
- endif()
- install(TARGETS zig DESTINATION bin)
--install(TARGETS zig_cpp DESTINATION "${ZIG_CPP_LIB_DIR}")
-
- foreach(file ${ZIG_C_HEADER_FILES})
- get_filename_component(file_dir "${C_HEADERS_DEST}/${file}" DIRECTORY)
diff --git a/dev-lang/zig/files/zig-0.4.0-r1-suppress-warnings.patch b/dev-lang/zig/files/zig-0.4.0-r1-suppress-warnings.patch
deleted file mode 100644
index 1dc92f88ecb2..000000000000
--- a/dev-lang/zig/files/zig-0.4.0-r1-suppress-warnings.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Don't attempt to look for static libraries that we're not going to use.
-The warnings are only triggered when building with portage.
-
---- a/cmake/Findllvm.cmake
-+++ b/cmake/Findllvm.cmake
-@@ -50,25 +50,6 @@
- endif()
- endfunction(NEED_TARGET)
-
--if(NOT(CMAKE_BUILD_TYPE STREQUAL "Debug") OR ZIG_STATIC)
-- execute_process(
-- COMMAND ${LLVM_CONFIG_EXE} --libfiles --link-static
-- OUTPUT_VARIABLE LLVM_LIBRARIES_SPACES
-- OUTPUT_STRIP_TRAILING_WHITESPACE)
-- string(REPLACE " " ";" LLVM_LIBRARIES "${LLVM_LIBRARIES_SPACES}")
--
-- execute_process(
-- COMMAND ${LLVM_CONFIG_EXE} --system-libs --link-static
-- OUTPUT_VARIABLE LLVM_SYSTEM_LIBS_SPACES
-- OUTPUT_STRIP_TRAILING_WHITESPACE)
-- string(REPLACE " " ";" LLVM_SYSTEM_LIBS "${LLVM_SYSTEM_LIBS_SPACES}")
--
-- execute_process(
-- COMMAND ${LLVM_CONFIG_EXE} --libdir --link-static
-- OUTPUT_VARIABLE LLVM_LIBDIRS_SPACES
-- OUTPUT_STRIP_TRAILING_WHITESPACE)
-- string(REPLACE " " ";" LLVM_LIBDIRS "${LLVM_LIBDIRS_SPACES}")
--endif()
- if(NOT LLVM_LIBRARIES)
- execute_process(
- COMMAND ${LLVM_CONFIG_EXE} --libs
diff --git a/dev-lang/zig/zig-0.4.0-r1.ebuild b/dev-lang/zig/zig-0.4.0-r1.ebuild
deleted file mode 100644
index bedd9d7ba9b7..000000000000
--- a/dev-lang/zig/zig-0.4.0-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils llvm
-
-DESCRIPTION="A robust, optimal, and maintainable programming language"
-HOMEPAGE="https://ziglang.org/"
-LICENSE="MIT"
-SLOT="0"
-IUSE="+experimental"
-
-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"
-fi
-
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 NVPTX
- PowerPC Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-# According to zig's author, zig builds that do not support all targets are not
-# supported by the upstream project.
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]}
-
-RDEPEND="
- sys-devel/llvm:8
- !experimental? ( sys-devel/llvm:8[${LLVM_TARGET_USEDEPS// /,}] )
-"
-
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}/zig-0.4.0-r1-build-artifacts.patch"
- "${FILESDIR}/zig-0.4.0-r1-suppress-warnings.patch"
-)
-
-LLVM_MAX_SLOT=8
-
-src_prepare() {
- if use experimental; then
- sed -i '/^NEED_TARGET(/d' cmake/Findllvm.cmake || die "unable to modify cmake/Findllvm.cmake"
- fi
-
- cmake-utils_src_prepare
-}