summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin18528 -> 18512 bytes
-rw-r--r--dev-lang/erlang/Manifest4
-rw-r--r--dev-lang/erlang/erlang-24.2.ebuild162
-rw-r--r--dev-lang/gdl/Manifest2
-rw-r--r--dev-lang/gdl/gdl-1.0.0_rc3-r1.ebuild (renamed from dev-lang/gdl/gdl-1.0.0_rc3.ebuild)4
-rw-r--r--dev-lang/gnat-gpl/Manifest11
-rw-r--r--dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch10
-rw-r--r--dev-lang/gnat-gpl/gnat-gpl-2019-r2.ebuild137
-rw-r--r--dev-lang/gnat-gpl/gnat-gpl-2021-r1.ebuild10
-rw-r--r--dev-lang/gnat-gpl/metadata.xml1
-rw-r--r--dev-lang/idris2/Manifest2
-rw-r--r--dev-lang/idris2/metadata.xml7
-rw-r--r--dev-lang/janet/Manifest4
-rw-r--r--dev-lang/janet/janet-1.19.2.ebuild (renamed from dev-lang/janet/janet-1.16.1.ebuild)49
-rw-r--r--dev-lang/jerryscript/Manifest4
-rw-r--r--dev-lang/jerryscript/files/jerryscript-2.4.0-python3-r4.patch236
-rw-r--r--dev-lang/jerryscript/files/jerryscript-2.4.0-python3.patch128
-rw-r--r--dev-lang/jerryscript/jerryscript-2.4.0-r4.ebuild (renamed from dev-lang/jerryscript/jerryscript-2.4.0-r3.ebuild)19
-rw-r--r--dev-lang/julia-bin/Manifest42
-rw-r--r--dev-lang/julia-bin/julia-bin-1.6.0.ebuild56
-rw-r--r--dev-lang/julia-bin/julia-bin-1.6.2.ebuild56
-rw-r--r--dev-lang/julia-bin/julia-bin-1.6.3.ebuild8
-rw-r--r--dev-lang/julia-bin/julia-bin-1.6.5.ebuild (renamed from dev-lang/julia-bin/julia-bin-1.5.3.ebuild)10
-rw-r--r--dev-lang/julia-bin/julia-bin-1.7.1.ebuild (renamed from dev-lang/julia-bin/julia-bin-1.5.2.ebuild)12
-rw-r--r--dev-lang/julia-bin/julia-bin-9999.ebuild7
-rw-r--r--dev-lang/julia/Manifest28
-rw-r--r--dev-lang/julia/files/julia-1.6.5-do_not_set_rpath.patch20
-rw-r--r--dev-lang/julia/files/julia-1.6.5-hardcoded-libs.patch76
-rw-r--r--dev-lang/julia/files/julia-1.6.5-lazy_artifacts_fix.patch30
-rw-r--r--dev-lang/julia/files/julia-1.6.5-llvm_13_compat_part_4.patch35
-rw-r--r--dev-lang/julia/files/julia-1.6.5-llvm_bad_perf_fix.patch33
-rw-r--r--dev-lang/julia/files/julia-1.7.0-do_not_set_rpath.patch29
-rw-r--r--dev-lang/julia/files/julia-1.7.0-hardcoded-libs.patch72
-rw-r--r--dev-lang/julia/files/julia-1.7.0-libgit-1.2.patch17
-rw-r--r--dev-lang/julia/files/julia-1.7.0-llvm_13_compat_part_1.patch172
-rw-r--r--dev-lang/julia/files/julia-1.7.0-llvm_13_compat_part_2.patch80
-rw-r--r--dev-lang/julia/files/julia-1.7.0-llvm_13_compat_part_3.patch375
-rw-r--r--dev-lang/julia/files/julia-1.7.0-make-install-no-build.patch17
-rw-r--r--dev-lang/julia/julia-1.5.3.ebuild215
-rw-r--r--dev-lang/julia/julia-1.6.5.ebuild183
-rw-r--r--dev-lang/julia/julia-1.7.0.ebuild (renamed from dev-lang/julia/julia-1.6.0-r2.ebuild)25
-rw-r--r--dev-lang/julia/julia-1.7.1.ebuild179
-rw-r--r--dev-lang/mujs/Manifest2
-rw-r--r--dev-lang/mujs/mujs-1.2.0.ebuild15
-rw-r--r--dev-lang/nim/Manifest4
-rw-r--r--dev-lang/nim/nim-1.4.8.ebuild12
-rw-r--r--dev-lang/nim/nim-1.6.2.ebuild9
-rw-r--r--dev-lang/perl/Manifest6
-rw-r--r--dev-lang/perl/perl-5.34.0-r3.ebuild5
-rw-r--r--dev-lang/perl/perl-5.34.0-r5.ebuild5
-rw-r--r--dev-lang/perl/perl-5.34.0-r6.ebuild7
-rw-r--r--dev-lang/php/Manifest20
-rw-r--r--dev-lang/php/php-7.3.32.ebuild4
-rw-r--r--dev-lang/php/php-7.3.33.ebuild4
-rw-r--r--dev-lang/php/php-7.4.25.ebuild4
-rw-r--r--dev-lang/php/php-7.4.26.ebuild4
-rw-r--r--dev-lang/php/php-7.4.27.ebuild745
-rw-r--r--dev-lang/php/php-8.0.12.ebuild4
-rw-r--r--dev-lang/php/php-8.0.13.ebuild4
-rw-r--r--dev-lang/php/php-8.0.14.ebuild758
-rw-r--r--dev-lang/php/php-8.1.0.ebuild4
-rw-r--r--dev-lang/php/php-8.1.1.ebuild759
-rw-r--r--dev-lang/polyml/Manifest4
-rw-r--r--dev-lang/polyml/polyml-5.8.2.ebuild4
-rw-r--r--dev-lang/polyml/polyml-5.8.ebuild4
-rw-r--r--dev-lang/python/Manifest10
-rw-r--r--dev-lang/python/python-2.7.18_p13.ebuild5
-rw-r--r--dev-lang/python/python-3.10.0_p1.ebuild2
-rw-r--r--dev-lang/python/python-3.10.1-r1.ebuild2
-rw-r--r--dev-lang/python/python-3.10.1.ebuild2
-rw-r--r--dev-lang/python/python-3.9.9.ebuild2
-rw-r--r--dev-lang/rust-bin/Manifest70
-rw-r--r--dev-lang/rust-bin/rust-bin-1.52.1.ebuild192
-rw-r--r--dev-lang/rust-bin/rust-bin-1.56.0.ebuild192
-rw-r--r--dev-lang/rust-bin/rust-bin-1.56.1.ebuild2
-rw-r--r--dev-lang/rust-bin/rust-bin-1.57.0.ebuild2
-rw-r--r--dev-lang/rust/Manifest49
-rw-r--r--dev-lang/rust/files/1.51.0-slow-doc-install.patch92
-rw-r--r--dev-lang/rust/rust-1.52.1.ebuild676
-rw-r--r--dev-lang/rust/rust-1.53.0.ebuild2
-rw-r--r--dev-lang/rust/rust-1.54.0.ebuild2
-rw-r--r--dev-lang/rust/rust-1.55.0.ebuild2
-rw-r--r--dev-lang/rust/rust-1.56.0-r1.ebuild682
-rw-r--r--dev-lang/rust/rust-1.56.1.ebuild2
-rw-r--r--dev-lang/rust/rust-1.57.0.ebuild2
-rw-r--r--dev-lang/scala/Manifest4
-rw-r--r--dev-lang/scala/scala-2.12.10.ebuild7
-rw-r--r--dev-lang/scala/scala-2.12.4.ebuild6
-rw-r--r--dev-lang/spark/Manifest2
-rw-r--r--dev-lang/spark/spark-2021.ebuild2
-rw-r--r--dev-lang/spidermonkey/Manifest19
-rw-r--r--dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild7
-rw-r--r--dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r6.ebuild7
-rw-r--r--dev-lang/spidermonkey/spidermonkey-78.10.1.ebuild454
-rw-r--r--dev-lang/spidermonkey/spidermonkey-78.11.0.ebuild454
-rw-r--r--dev-lang/spidermonkey/spidermonkey-78.12.0.ebuild454
-rw-r--r--dev-lang/spidermonkey/spidermonkey-78.13.0.ebuild454
-rw-r--r--dev-lang/spidermonkey/spidermonkey-78.14.0.ebuild454
-rw-r--r--dev-lang/tcc/Manifest4
-rw-r--r--dev-lang/tcc/tcc-0.9.27_p20211022.ebuild3
-rw-r--r--dev-lang/tcc/tcc-9999.ebuild3
-rw-r--r--dev-lang/tcl/Manifest4
-rw-r--r--dev-lang/tcl/tcl-8.6.11.ebuild4
-rw-r--r--dev-lang/tcl/tcl-8.6.12.ebuild6
-rw-r--r--dev-lang/tk/Manifest4
-rw-r--r--dev-lang/tk/tk-8.6.11.1.ebuild4
-rw-r--r--dev-lang/tk/tk-8.6.12.ebuild6
107 files changed, 4237 insertions, 5069 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 06988469b148..845969eaaaba 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 43a45299c582..f6f028d056f2 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -12,15 +12,19 @@ DIST erlang-23.3.4.tar.gz 56664814 BLAKE2B ef8aa8d5a6fd1efc02a35459d1cb15eecf5f9
DIST erlang-24.0.2.tar.gz 58878378 BLAKE2B c2ea65cac39b654d9037ea9fcb47eb6eea96dec2483378f414bc33475e850121c1adaa30ea880070624496be9779539f98c864b0dd6eb92d3c4badaa121353d1 SHA512 d85e3e6a4177ac8c696dd666183f624065a89d35aa7f031cd6a7b105e0d1f9007de8d413880df47daf8f695485d952a81a14a01313b52f66534c1e5bd050093b
DIST erlang-24.1.4.tar.gz 59009229 BLAKE2B 484ad90509a618098dc1c3fc2ae7d2b44dc7735399f3ba2138d3c755b337e7c513083724329581e72968f6a5c33c9767f0192a1f5d21d35a3a69d5b4e151def2 SHA512 b5cf4fbce07b26b97ec8af62d1b86315227ff369f27c996a6df08b322b76721539a55664dcd4ffec49ff77efadc8e4f0c967c064bb4e1f5cdfa2db2eaa02620f
DIST erlang-24.1.7.tar.gz 59014237 BLAKE2B e32e963911c574fb7927d870029912b8de2cdde8303ee12cdcca8d345eddaa76ee16862a07c6d5013a775c80db6abb744c6be3447dad8126d0aa26ac4d305043 SHA512 052758df429af0971c9d78a4f56e2f333379510db3efbb103e6b869584e54af438b2d43e5172412e0fc624ea68b1df6be84debdae51777a7f4aa327b39b2248f
+DIST erlang-24.2.tar.gz 59094451 BLAKE2B 4b1673570e97fe399dbdb5ab2095ba38f08b684c6a0cf7ad47f628d900802751c2db11d5de6f267aeb8c77d27634c2642f96045893acf9f1c32de3e4fe3f3ffb SHA512 88450f935579677eb0d43fd25e5f45b1e78ff8e9c6455d87198decbbb675f90c2e87757b3ee33b43fafb87fced20e984220be9b6b70f8cb8f6d84e4743764495
DIST erlang_doc_html_23.3.tar.gz 36224657 BLAKE2B 7e2a3e16f4cfa0f15c01074740e02af7a45b480b4a94e764463717658ab7e5d0281f928c3ec585582b10168645e3e06cfe72cf6a0ba1b88f539b80f2b7ad99be SHA512 8be4aae46839239604b875b39339e7b6b6c677c099b3d749d5f1041c4508c1c3b4aa8136a93df12b1e5cb6333ef907276f5965c9726ed2b9e77a6043c8ef53b1
DIST erlang_doc_html_24.0.tar.gz 39731398 BLAKE2B 8a9fe3acb4cc13691e16c477cf89e8298df1a99bbe6a6c9e59e3c34248ecdc21077835951087b5a5bbb23ddb28f3bd7ab8b058fe64ce56c342b825a6c0ef8948 SHA512 453f8a9cf779a4f43966615433afc3be3aae7a571acf45974947bd720a331ca05949bc310de5f3b33b72d274971103ede56875bbfe757ba17f903510f690d97e
DIST erlang_doc_html_24.1.tar.gz 39873142 BLAKE2B 5e4bea792be6332a2186a270466a61bda5f37b5a066638ae00545433bf5bd11f84fba7a0ac210a9104e5322fd372759e53d0abd63468c59a3a2c59a3eaddd5ca SHA512 6ace8d8ba4b74e3269e71880f73bd296769acd8778f13fd945b80e57a694d70929d3e7a3263ff3c154190679d88fbb9855e201212e504de4a261e4182662e99a
+DIST erlang_doc_html_24.2.tar.gz 36604264 BLAKE2B edc870e53cb89a42ec1022b4250942ab03d47d81dfa86d767c179ef89ec67e2ed7df2274acfe2e1469e5344691e9a0a33174c5237e48e2fc6203518c39978d19 SHA512 de3957676970419953043cbf130194b1bfcb0f2664e2a6148ccfdf7fbd3bc797fa76a19f2e8362e176afd81408b937c5b8b0b126703326b757cfaf396d5e3e79
DIST erlang_doc_man_23.3.tar.gz 1456501 BLAKE2B 414bedee0e316d97b26d9d6418b799a9434a22e9980e7d3a83e2478d184d63d1633c0e10d0e180d929a3cacd82b4d703be86cbc8e99996037f6b37ea122f7a8c SHA512 6c661c210ffec4752afe624fa46700a0f62cc6589b74b859ab1dfde77d289e992988ac8744f7b4126d7512cd6d0aab3321f710a6324552b259bd7acd5b54a05e
DIST erlang_doc_man_24.0.tar.gz 1666152 BLAKE2B aaef8165322f39f7410840eafe562ec5038d9c89b4fa99b3b1d5748ba70fe755ba732de403dd916328e1fdcec895e2a347db4fb8c8837b5e41155439c9c54ef6 SHA512 7251f6eeb0534cc8538236a2c4be9d732bf0a05ba6832f9b3859116f9148e469d004331924c7187b07204798afb66067bfd321c8905000c355775927e5841918
DIST erlang_doc_man_24.1.tar.gz 1673084 BLAKE2B 092c7870914e108e3fe06b68be6c54cff508cd938b5b510ca9a7c946b786e5725ffa1f2c87282a36480a9c1c7d7c899e8118546102a98136f813309a7f0bd334 SHA512 a11361811c5d58a431f4096866a45755f771f0519bbc992fc71e3c760d81bdc9cf636e189aee72c602a5f02cbf6c7bb6cc442cdb71fd06e0c4097bdf6ffe92ec
+DIST erlang_doc_man_24.2.tar.gz 1673926 BLAKE2B 17cf3c1e296c883e9c930cd540d439f7dd71a40048bbe80efd6f46dd5b4d9faf51177d2bb133f782742b0b367c8f54c27ed2b2cce277372a98dd55bb629f3b55 SHA512 359bfca20835eb2a6b6d199e2b108537c453369896b8bd4bd7db05c797421a734c31aea41ddf819b703718353f43186c5fd8f37d1a7d8624e767a41a922c01b9
EBUILD erlang-23.3.4.8.ebuild 4504 BLAKE2B 16b09bf6af1c223776b5cb2c55c32dbd5eb540cb9ae12496485f64bc1820c4118575a155440764144e10c6d50609db02ae5eb2c691a0bf82b63c0ec1454a4f41 SHA512 f4bf67b5b4bba5734893e67c50e46c7387c192455befea44eabf1ca5aa1f76dd05eeab1dd9eb7c34c230553ce0864493e81e3185fd5d6554a8cc239ecb49f441
EBUILD erlang-23.3.4.ebuild 4499 BLAKE2B 06891eb432ae12d43e860ce0773eb01768ea75ec4f16c365fbe16c22093039e5b18aaa4d3ca558f7a64cada0fc405ac0ba898065b80c778ad9253197302c5145 SHA512 09397c1f46fcf92ef160dee067b9dbf9e0a9125e112f28748180166ddd0394ad34f03e0ddcf32dccff101485927f41c1b1a4376a66bbfd52c8fb2f74bfac27d5
EBUILD erlang-24.0.2.ebuild 4685 BLAKE2B 4591f62978ee5d34cffa95b167e344a886ea3ac0e02cbe4ecabc29e145a67dcaaee61b057061249878285628addd053ee51e35738d93e3f7353c5734b7901083 SHA512 fc1aeb839c93cae56fe2729b82508f5908fb30e9891ff5b08755e11473985c91706b10b679c296aaa8256505ad1c0650f29854988dc51af206f70ea94f60bb68
EBUILD erlang-24.1.4.ebuild 4690 BLAKE2B 6f3f592d4fe976b84ec3ffaa322c92d44dd512c5001547dbe06529bdc7b6db4e034e92e80f4673614a4902f8dea1c791c6ef1067e8f3515e369de17b1eb6ae2e SHA512 d9eed3198a59e82ed5dd02593e802409ea886688f2eb29ddee16903999247bee458ae81641751168b0233788669a6ccb428af71a7d7b1d9a681f475572836881
EBUILD erlang-24.1.7.ebuild 4703 BLAKE2B bade70e5ac94cbcaa7cb60f10c076a1381ce399772f7a1946ad119d678d25fb3f0f9b5127b97197f373b48e28859ac5785d404202bcd89e40b3ff2693638e2ac SHA512 0140531da4fdb85386f137a7d420cd43a6d7b4c6eb1ba2a7e99645cbe887331271647000b73e5aef99f5dc2358d8a3ebd2deeb66fbca99e308c27c506603f58c
+EBUILD erlang-24.2.ebuild 4703 BLAKE2B bade70e5ac94cbcaa7cb60f10c076a1381ce399772f7a1946ad119d678d25fb3f0f9b5127b97197f373b48e28859ac5785d404202bcd89e40b3ff2693638e2ac SHA512 0140531da4fdb85386f137a7d420cd43a6d7b4c6eb1ba2a7e99645cbe887331271647000b73e5aef99f5dc2358d8a3ebd2deeb66fbca99e308c27c506603f58c
MISC metadata.xml 530 BLAKE2B ab1aa7227a38268bd3d5fcd0e7adb2e6014f987fd3d001739a6bcb9c704fd6570aaadd18ace444ba99ea06bc33d58b027f1d1ac82499326c21c8bfaa179a95d4 SHA512 c9127d3f6cd5a54b764614e2965e2967bbe001f595fc3e37a6ca464efab9aedc8623e926c9a64f5813580815653e9871ef5139600f11d546e6c2da4b4b3397d9
diff --git a/dev-lang/erlang/erlang-24.2.ebuild b/dev-lang/erlang/erlang-24.2.ebuild
new file mode 100644
index 000000000000..ae108c6fba5c
--- /dev/null
+++ b/dev-lang/erlang/erlang-24.2.ebuild
@@ -0,0 +1,162 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+WX_GTK_VER="3.0-gtk3"
+
+inherit elisp-common flag-o-matic java-pkg-opt-2 systemd toolchain-funcs wxwidgets
+
+# NOTE: If you need symlinks for binaries please tell maintainers or
+# open up a bug to let it be created.
+
+UPSTREAM_V="$(ver_cut 1-2)"
+
+DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
+HOMEPAGE="https://www.erlang.org/"
+SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
+ http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
+ doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
+
+LICENSE="Apache-2.0"
+# We use this subslot because Compiled HiPE Code can be loaded on the exact
+# same build of ERTS that was used when compiling the code. See
+# http://erlang.org/doc/system_principles/misc.html for more information.
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc emacs java +kpoll 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:* )
+ java? ( >=virtual/jdk-1.8:* )
+ odbc? ( dev-db/unixODBC )
+ sctp? ( net-misc/lksctp-tools )
+ ssl? ( >=dev-libs/openssl-0.9.7d:0= )
+ systemd? ( sys-apps/systemd )
+ wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
+"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+"
+
+S="${WORKDIR}/otp-OTP-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch
+ "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch
+)
+
+SITEFILE=50"${PN}"-gentoo.el
+
+src_prepare() {
+ default
+
+ tc-export AR CPP CXX LD
+
+ # bug #797886: erlang's VM does unsafe casts for ints
+ # to pointers and back. This breaks on gcc-11 -flto.
+ append-flags -fno-strict-aliasing
+}
+
+src_configure() {
+ use wxwidgets && setup-wxwidgets
+
+ local myconf=(
+ --disable-builtin-zlib
+
+ # don't search for static zlib
+ --with-ssl-zlib=no
+
+ $(use_enable kpoll kernel-poll)
+ $(use_with java javac)
+ $(use_enable sctp)
+ $(use_with ssl ssl)
+ $(use_enable ssl dynamic-ssl-lib)
+ $(use_enable systemd)
+ $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
+ )
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake
+
+ if use emacs ; then
+ pushd lib/tools/emacs &>/dev/null || die
+ elisp-compile *.el
+ popd &>/dev/null || die
+ fi
+}
+
+extract_version() {
+ local path="$1"
+ local var_name="$2"
+ sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed"
+}
+
+src_install() {
+ local erl_libdir_rel="$(get_libdir)/erlang"
+ local erl_libdir="/usr/${erl_libdir_rel}"
+ local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)"
+ local erl_erts_ver="$(extract_version erts VSN)"
+ local my_manpath="/usr/share/${PN}/man"
+
+ [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version"
+ [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version"
+
+ emake INSTALL_PREFIX="${D}" install
+
+ if use doc ; then
+ # Note: we explicitly install docs into:
+ # /usr/share/doc/${PF}/{doc,lib,erts-*}
+ # To maintain that layout we gather everything in 'html-docs'.
+ # See bug #684376.
+ mkdir html-docs || die
+ mv "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* html-docs/ || die
+ local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" html-docs/. )
+ docompress -x /usr/share/doc/${PF}
+ else
+ local DOCS=("README.md")
+ fi
+
+ einstalldocs
+
+ dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl
+ dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc
+ dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript
+ dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call
+ dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp
+
+ ## Clean up the no longer needed files
+ rm "${ED}/${erl_libdir}/Install" || die
+
+ insinto "${my_manpath}"
+ doins -r "${WORKDIR}"/man/*
+ # extend MANPATH, so the normal man command can find it
+ # see bug 189639
+ newenvd - "90erlang" <<-_EOF_
+ MANPATH="${my_manpath}"
+ _EOF_
+
+ if use emacs ; then
+ elisp-install erlang lib/tools/emacs/*.{el,elc}
+ sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \
+ "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die
+ elisp-site-file-install "${T}/${SITEFILE}"
+ fi
+
+ newinitd "${FILESDIR}"/epmd.init-r2 epmd
+ newconfd "${FILESDIR}"/epmd.confd-r2 epmd
+ use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-lang/gdl/Manifest b/dev-lang/gdl/Manifest
index f30334fff807..650891085a2e 100644
--- a/dev-lang/gdl/Manifest
+++ b/dev-lang/gdl/Manifest
@@ -1,4 +1,4 @@
AUX gdl-1.0.0_rc3-cmake.patch 3673 BLAKE2B 81ede9a3b1fc6147ab528f49efabb140ff505a687ac6a4c1c3f91f0d652b9d13b866ecaefc9d4106011207379afbf390ab1e395a45da63954fd25b0e80bc86f6 SHA512 b4407bf99154ad8e6ad5d7635273b51df6a49b62e06aa18ce420e046380bc27fda74c37e4559fa136d28b5b4723b23d325bfce1b3340208f4b79ee5e0ee6e9d1
DIST gdl-1.0.0_rc3.tar.gz 32650313 BLAKE2B cdecfe0646e2271e2389e0a04f8da1e8de4534faf743f233169bccf326198025eff7fd7a7b62ed8bd05fa4a0222c6fd30f9469e3edf0f5b2991ef3ef545e616b SHA512 3fde22c7e709b9cdc72a23d2317c043037379c7903418211a699c7e5caa2ed17e78e32e6d2f9b4aa89200e729fc21555821140dfdd58a5a636a858e2841f6335
-EBUILD gdl-1.0.0_rc3.ebuild 3725 BLAKE2B 3f295895e2ae13ef8547c5f7dbe447afb466b7608e8975f73cfed9ecda8182aeafcbe0f45cd2cfa497e566e3a59862344dd834daaa93e365c45e830e8f4438a6 SHA512 10133b5a68dd42ed221a120ba86f428388770e8c39687d3ec35997c9690082be6e3c2da27c4b6e8ef58a4f58366cd7966937aed319ff9d2d71281048c799fddb
+EBUILD gdl-1.0.0_rc3-r1.ebuild 3729 BLAKE2B 69a4bc43fe59e8e508312fed5756307065924677ea412ce8377f9a3140ff6e3d033e97039305c54c3847480bcbcedd41b1b889cd0262885b73d0bb6e5a0efb3d SHA512 e6e3467061d022ab3f05e6dadc1c4c6743aebd35030658635afd0eb949709ac220054d2f2a1cbe89de616f3c6a7b9461e2cafa6bb1414089b5fab2a2aa474eec
MISC metadata.xml 1119 BLAKE2B e36af053e5044d594aeed2e45026dc38722b3c6dab634def3d96a7036de988570128ca84b74d33e88654825ebdbe7967bc5f147f0a6023e7bc81f621bb92571e SHA512 511a21fac0e0105f6175715f0b2d50575b3bb4f986e4abf961317a6ea5d0e83c802eea71b2317d581d0f3fc5a156e67bc3541a3707b5d68d2576180fa27da623
diff --git a/dev-lang/gdl/gdl-1.0.0_rc3.ebuild b/dev-lang/gdl/gdl-1.0.0_rc3-r1.ebuild
index f87b63dfef64..8ad53af5da65 100644
--- a/dev-lang/gdl/gdl-1.0.0_rc3.ebuild
+++ b/dev-lang/gdl/gdl-1.0.0_rc3-r1.ebuild
@@ -45,8 +45,8 @@ RDEPEND="
!graphicsmagick? ( media-gfx/imagemagick:=[cxx] )
graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] )
)
- netcdf? ( sci-libs/netcdf )
- proj? ( sci-libs/proj )
+ netcdf? ( sci-libs/netcdf:= )
+ proj? ( sci-libs/proj:= )
postscript? ( dev-libs/pslib )
python? (
${PYTHON_DEPS}
diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index bc0de02f9cfa..61997703f4e6 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -2,22 +2,17 @@ AUX gcc-configure-LANG.patch 2052 BLAKE2B 28c36f4992e41305ee421dade5eaaac34e3bdc
AUX gcc-configure-texinfo.patch 341 BLAKE2B d2ea3b2ea08f5d3a498ba27d0fb95e325097e2104e55caa28b66515cb48662649140d90b639369aedc54b2b1178fa4b49cda442f5f504e09d88a2efa45a5057c SHA512 e8d34c5077409df5495cf0c5fbf5e77f841c5698108fa6a5fde33eb28202c685603bdefd8368918e55f30c4b995e895d71d64c715c1ec2b017e09eb2c54c09ff
AUX gnat-gpl-2019-gentoo.patch 1408 BLAKE2B 5234c542cc33af3c1bcb256fbe266613ec2e9f0b21d143029bf527ee03b4b363b2de7467eb79fadf4c8e8d3f39e589cfa3c0fadee1723e87938c74b8547d5ecf SHA512 2b9f0081d7aae5c71f73ebf43683fde033966288a937769e9b49e21805f31b5f0b4190e31431def58fcc93cd09f9b0e061096cffe61616073612f53d7e3e724b
AUX gnat-gpl-2020-gentoo.patch 2146 BLAKE2B 1abd27bece2366d89603b9152730ae9d4949e7298c90e2147bcad79e022fa42a64bb843aed8870a30fab121f03e5ef2c681d0423bcd1cc844078c7650e11ccf5 SHA512 29c06d359dc0603ec326d4ee5be493105e48269a576b364537012a512db0a9eb9e4609495efd6f9c3b82a7bc9974eec81978c36e1cfc1ff936b02492c18fd052
-AUX gnat-gpl-2021-gentoo.patch 1631 BLAKE2B 445343bcc5e12ada65090ba9f9a77bcf63f09f2a01eaad8732c645f3910e64068402ff01c16e6b17e6b78f2c764a1a03ec58c3cf3029b49a93c8f8ae6ba516d1 SHA512 04ae6351815c23f71e8164c5eb5cc9577303ae17331eda6282fd56d88ad2c824f7b3fae84050e1a87b2d3f081ea0dceb4128dd5d3a2fb464c363d1f2e3c08cc6
+AUX gnat-gpl-2021-gentoo.patch 2039 BLAKE2B 323255e2c0942788eed9a1ce2977a153ddb2e1693136c935f41f80ead4dccb756388e21255055e01f3a749f7a0988cfcf93b3ba02cbab454120c7c81b6e7a9d4 SHA512 cfdf1ec863c3df43a80f7cdb54faeff75d77780473b7a1d14ffa291c1905bfe27d05a907e15c1b31fa980d926e57352bd0b73221458e87260651cc6b092da3c6
DIST gcc-10-2021-20210519-19A74-src.tar.gz 109157702 BLAKE2B 8ec307e4fde35c8726bc7b9702717329695bad928d5222a7bb691cce47500de31a60bcfcbb925129a57cb81d3d7ea92e60599aa7383d5358e63cc087b0482550 SHA512 2e2cc0ec9a3a82816a5d399d2db261c356e106b82a44efd54a1ac882b96549ab8de79c69858127c4397de6e9e9463ce6fb9994fc2e426e7d3d2f98d5efa2edb6
DIST gcc-10.3.0-patches-3.tar.bz2 18935 BLAKE2B 13eaf1e055b5b63069aed1575ed93f6bc822b5e3f2181ddfc88f4e7ff801f58997cd131b2efd79b90469b1f861db994feb2adcaecacf165442078f76e233fd9a SHA512 c3d6a6f32863cc0ff7c877314ff0c00a892e473f64d16b82d46b4a77aa97c3e7a575492d27f0d423acb2621c86c9a49bca0e26e45bda9e697495444fcac85084
-DIST gcc-8-2019-20190517-18C94-src.tar.gz 95266904 BLAKE2B 8dc1983317517e9d7221ffd3d1c804367c98a7142b3964e6382ee037da2cfebc9e044640549c77905646727e97ba108445b00f36916a65c326e862230608a7dc SHA512 50933d7eab927a2d118e01c5cb85336203544f6fbc3f245a148e952320d6f8452fcd5d355019a144e8af03357d129bb145397506db0a62fddf1f746b6671e7fc
-DIST gcc-8.3.0-patches-4.tar.bz2 17095 BLAKE2B 449d83371bf5a70020f4caad38d7b8f79bc4b3aeb13b060d28b56506fdd33e15527ab38c41baa3134dc9a25208dadfafab5992e93b2e9719dda420f830e7a8bf SHA512 0dcc5ce887b5c1dd9977ca1b1d8760563edf7ce2d39644f6212397c55c325ee441e1e02aea623bff157d95827db25528791137edc24931a88baad6499d0d15d5
DIST gcc-9-2020-20200429-19AA7-src.tar.gz 101030094 BLAKE2B 843d7a92f206a08aa6c0fb41b8b93db494eee26c15872b8d8547685c1013559856cd83c5a4139d8ba68aa6737c0270502fd5547664b458cb8fd023f5ce9601e8 SHA512 2eaf999f4ef7f0216b7bab9963ce1cb9dd4be4d4645415183a0e0706ce0f0f119a5437c482d60db16ea152ebcb36186fc7900ec196fc7b8022d4d9cea2e5a631
DIST gcc-9.3.0-patches-5.tar.bz2 18336 BLAKE2B 8aefb94bfec041da69efdd751fe9df58cc2352e66afe7ec2090da698912e31de8a82ef588e393929f50dbc6d5967bb015f8e807f868ec19c7cf9813495fa4687 SHA512 0eedc2a33b7fa1a846a30055dcaf38ea9882d5c7b3d8a7d9145fe768d778747413b7822fc625135fa010e749fbbda51f7460e03c989dee8551c50b798a9d1aba
DIST gcc-interface-10-2021-20210519-19A75-src.tar.gz 359085 BLAKE2B 75f941a7635f2880cc0192acb49d8e7f567baca7530fb981be14dc6cb1bf46fda0e3c043c8703cdbeeb242b548894e0bc6787adfff0f27198354d150e6e36386 SHA512 0251a93d20c59cc4705963438880fe265e2e0bb94a35b7ddaaf03e9efae60e044e585a2204d0773a46f17b3b774e4d0c73adf852f5d06ba17373d26ed580ca8d
-DIST gcc-interface-8-2019-20190510-18F59-src.tar.gz 352408 BLAKE2B d08867737fd5a2e8aa87e61efff47757b587baff67810eb9193fe72b68578bcb130f0c1491599588d130663d908b9c6c9a604b1352aeccb79e9dd3bfef4b9f61 SHA512 c4a048725517e674cc43b7b72e3b1bdb4f1cf9d81fe3b84dd177a2fda8c7af11c3135e883072b640c8aa351625f49573727c859064683e8b5f096fdbd3990c38
DIST gcc-interface-9-2020-20200429-19B10-src.tar.gz 351113 BLAKE2B a786532194a5ac57dd91b5c207aaf4543e99a3305dccf175908bee80cc96d112b9c5531497516ad1edc33e9bcff62374dd473aed93bfb1d0aea13e017473d98e SHA512 445744a745eee5e3a686ec59f7880a3792d4fd30425a38090e40e5cc85379e6f877745d7ea61ffabb42ed177ee90f01e2309dfdd5f060027cfc86ac77fddebba
-DIST gnat-2019-20190517-18C94-src.tar.gz 8950160 BLAKE2B ce6b8ca0687b3d345db72a8b3216e67ba706cfd7f6ca98f45ec2ae356d9c5b3a42a4b3aac5e89285871157ddaca3aff1b970934de88f8190d84aff060bf1fc4b SHA512 4d57c97fc1f3d5274e0c4ffa536ec056e7c3f1619010affff008cd07a0bfa638d18fee1705a5dd76f12d168baef85677cc34ef40f5e52fd5292ac886c0d4c5ee
DIST gnat-2020-20200429-19B04-src.tar.gz 8485156 BLAKE2B 79683138873b236d832939602f084058723a908e1b709b4bab72e7ae5404336d0ad7b8417eca80e1e1e3a1c260d953ac8326da41429c95729129f88caa2dd3e7 SHA512 bf93a7b877b44422513a4658b29ddd9edcc320d8ac73d3044f4ce868f10be368993e915e710ed45be287e07e9d6c117e51fa73027ed311b04458c9cae1984253
DIST gnat-2021-20210519-19A70-src.tar.gz 8765762 BLAKE2B ef48f54c6109566e37bfa5dee9262305d0529b3dfd333ee28bc4e66f4709a0673f673d742bc04deb15dc145404f7618d350dbdf3f2a7ab37c861e57d011946fa SHA512 3cb79be024fdd9b738d99ffc8e224d32bb382b5da2d02b97b2061a5ea58456f33d4564c92e224af2713ce15fd5481edd715e5b9a52abc74fdc142f27e103c201
DIST gnat-gpl-2014-x86-linux-bin.tar.gz 233049287 BLAKE2B 2e8bab113f6a319533ec12fdf71c481f72aee227c22bd0cc42a53bd727b323caba1e7b6298053db8b4d3016236b31649b0b255f4ebcbb81a08a69f29f78f13fc SHA512 ac7f53fb4bd71b0e8fbd62abc45de76f7f8f2f405b80e9b60b4b65a6cef6ee98e3b06848e4b752af3c8268237e5a0529cf6145ebc5b33cd6e5cf4928d85f5be2
DIST gnat-gpl-2014-x86_64-linux-bin.tar.gz 236253400 BLAKE2B c1db70db9442ba24688b8e323d5a02e2e9707ba1f02835ea551038d0a09aafede93a224091e5186f2f2a9d0f96144027af2184ee05ca1c19cc997a6cf3902df7 SHA512 5e40a251baac3d0ace78352956ca21a7d294d902d344a9ed7a8d376e900468c283721ebfb773adfedbf4d623ace02536505c0147815a0c1908933ad611ea085e
-EBUILD gnat-gpl-2019-r2.ebuild 3578 BLAKE2B a2bb2a094b2c47620ca08156962425ec8210a27ad2ef712ab99f6e759a4a4f41a8b59c09230de8d12abebcce8b271c992c3a83a129b5ef93f1e8f71462f6c217 SHA512 7fccd20ad3b6cee151b8f7a4ea3b1d6b2d882aaac3a0903502f14df7d292ebf984fe72ebeffb8fda8f36288380669da5d4da6fceec795090a36eb01b9de2b833
EBUILD gnat-gpl-2020.ebuild 3828 BLAKE2B b0b04987c3cd4cf49b6f3d8ec61a1ed84d8cf422149bbc38c2a20e9d0e9c3ee2a05fe37e45cf992caf3b3bb954a30c1eb45ad9b61fb5b6ae97efb4a4382248f6 SHA512 c84506eca5fd33270ca19141a80f921c04817f8dd8694e57b6f43ba12c8f6b9535272828339474ac1d4b508936ca52cb167c754410210cfa7d21c1c7b64157a2
-EBUILD gnat-gpl-2021-r1.ebuild 3713 BLAKE2B 3efbe60620d792182bfab5564e68f6f97366b1d6cbb72fad708dd84d5292bb9a5ec428185460b614935e74bce72b41550b2491d52bba96aef1df03bea70bcb71 SHA512 9853648ddc70365c0976bb25d3abb07cfd414a2ae324cf68555ac52606c03f3a5f2fd63095b88d312b1ba72ba3228f7e1046e22026e922b3b0954a059f8ae065
-MISC metadata.xml 2046 BLAKE2B 298c38228f5798c4eaa1eb8437d1c900e4a9cca1bf37df4556dd425bbc67edef6c1e464e45c0ec78bfc6aa96cac5e7d7fcb8f532fae0ab767067262a2a3755d9 SHA512 774c48b6a6de22a14eb6fd3df2e4b5bedafa8a223b68f4cc764fc887a96b55d0abd76208e276126c6ee0878a12c81453e1922e51b0306a90885cca675eff37f3
+EBUILD gnat-gpl-2021-r1.ebuild 3973 BLAKE2B 699a613c9ae59a08f7d7e67adae5c9d00a54b4a5cc5d024921c7b42a1add9b876863bb0f14826ff381babef44a8fdac5d7b1074f1d14124189d0a22528185201 SHA512 4dd0dc5e997ee75dbd515bb0cdd8f6c3acf4fda524630769ce16ed59156c1e2a54c5cd3bf90fb8e8f77a4d97beb90e500944ad246a34088108c7b35b55ab9b25
+MISC metadata.xml 1960 BLAKE2B e06642a8ae69d163bd2450a4dbf2350399becc0fa933780cbf1378721ec127b033cb547c7aff22d4b89724aefe933c7c0eaac55eab4a223f45d138006dd3492e SHA512 81c3ceafdc0a4d73427d6b12c1bfa41d647e8c788e71e1de09e79de4795573e35e403fd03b981beb350a6e9b55b44fd0d8a2f7279e83c23273fc150a126f2b07
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch
index 3caa2a6d996e..2bfc54c551a9 100644
--- a/dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch
@@ -39,3 +39,13 @@
+ %{fdump-scos:-fpreserve-decisions-generic}\
%{fprofile-arcs|fprofile-generate*|coverage:\
- %{!fprofile-update=singel:\
+--- a/gcc-10-2021-20210519-19A74-src/config/cet.m4 2022-01-01 11:18:09.663425422 +0100
++++ b/gcc-10-2021-20210519-19A74-src/config/cet.m4 2022-01-01 11:18:14.809345911 +0100
+@@ -62,7 +62,6 @@
+ i[[34567]]86-*-linux* | x86_64-*-linux*)
+ may_have_cet=yes
+ save_CFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS -fcf-protection"
+ case "$enable_cet" in
+ auto)
+ # Check if target supports multi-byte NOPs
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2019-r2.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2019-r2.ebuild
deleted file mode 100644
index 173c640d4b94..000000000000
--- a/dev-lang/gnat-gpl/gnat-gpl-2019-r2.ebuild
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PATCH_GCC_VER=8.3.0
-PATCH_VER="4"
-
-TOOLCHAIN_GCC_PV=8.3.1
-
-REL=8
-MYP=gcc-${REL}-${PV}-20190517-18C94-src
-GNATDIR=gnat-${PV}-20190517-18C94-src
-INTFDIR=gcc-interface-${REL}-${PV}-20190510-18F59-src
-BTSTRP_X86=gnat-gpl-2014-x86-linux-bin
-BTSTRP_AMD64=gnat-gpl-2014-x86_64-linux-bin
-
-# we provide own tarball below
-GCC_TARBALL_SRC_URI="
- http://mirrors.cdn.adacore.com/art/5cdf865331e87aa2cdf16b49
- -> ${GNATDIR}.tar.gz
- http://mirrors.cdn.adacore.com/art/5cdf8a0731e87a8f1d425049
- -> ${MYP}.tar.gz
- http://mirrors.cdn.adacore.com/art/5cdf87cc31e87aa2cdf16b50
- -> ${INTFDIR}.tar.gz
- bootstrap? (
- amd64? (
- http://mirrors.cdn.adacore.com/art/564b3ebec8e196b040fbe66c ->
- ${BTSTRP_AMD64}.tar.gz
- )
- x86? (
- http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248 ->
- ${BTSTRP_X86}.tar.gz
- )
- )"
-
-inherit toolchain-funcs toolchain
-
-DESCRIPTION="GNAT Ada Compiler - GPL version"
-HOMEPAGE="http://libre.adacore.com/"
-
-LICENSE+=" GPL-2 GPL-3"
-KEYWORDS="amd64 x86"
-IUSE="+ada +bootstrap"
-RESTRICT="test"
-
-RDEPEND="!sys-devel/gcc:${TOOLCHAIN_GCC_PV}"
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.13 )
- >=sys-devel/binutils-2.20"
-
-S="${WORKDIR}"/${MYP}
-PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
-
-src_unpack() {
- if ! use bootstrap && [[ -z "$(type ${GNATMAKE} 2>/dev/null)" ]] ; then
- eerror "You need a gcc compiler that provides the Ada Compiler:"
- eerror "1) use gcc-config to select the right compiler or"
- eerror "2) set the bootstrap use flag"
- die "ada compiler not available"
- fi
-
- toolchain_src_unpack
-}
-
-src_prepare() {
- if use amd64; then
- BTSTRP=${BTSTRP_AMD64}
- else
- BTSTRP=${BTSTRP_X86}
- fi
-
- if use bootstrap; then
- GCC="${WORKDIR}"/${BTSTRP}/bin/gcc
- else
- GCC=${ADA:-$(tc-getCC)}
- fi
-
- gnatbase=$(basename ${GCC})
- gnatpath=$(dirname ${GCC})
-
- GNATMAKE=${gnatbase/gcc/gnatmake}
- if [[ ${gnatpath} != "." ]] ; then
- GNATMAKE="${gnatpath}/${GNATMAKE}"
- fi
- if use bootstrap; then
- rm "${WORKDIR}"/${BTSTRP}/libexec/gcc/*/4.7.4/ld || die
- fi
-
- CC=${GCC}
- CXX="${gnatbase/gcc/g++}"
- GNATBIND="${gnatbase/gcc/gnatbind}"
- GNATLINK="${gnatbase/gcc/gnatlink}"
- GNATLS="${gnatbase/gcc/gnatls}"
- if [[ ${gnatpath} != "." ]] ; then
- CXX="${gnatpath}/${CXX}"
- GNATBIND="${gnatpath}/${GNATBIND}"
- GNATLINK="${gnatpath}/${GNATLINK}"
- GNATLS="${gnatpath}/${GNATLS}"
- fi
- mkdir bin || die
- ln -s $(which ${GCC}) bin/gcc || die
- ln -s $(which ${CXX}) bin/g++ || die
- ln -s $(which ${GNATMAKE}) bin/gnatmake || die
- ln -s $(which ${GNATBIND}) bin/gnatbind || die
- ln -s $(which ${GNATLINK}) bin/gnatlink || die
- ln -s $(which ${GNATLS}) bin/gnatls || die
-
- cd ..
- mv ${GNATDIR}/src/ada ${MYP}/gcc/ || die
- mv ${INTFDIR} ${MYP}/gcc/ada/gcc-interface || die
- eapply "${FILESDIR}"/${P}-gentoo.patch
- rm patch/27*.patch || die
- rm patch/28*.patch || die
- cd -
- sed -i \
- -e 's:$(P) ::g' \
- gcc/ada/gcc-interface/Makefile.in \
- || die "sed failed"
- toolchain_src_prepare
-}
-
-src_configure() {
- export PATH=${PWD}/bin:${PATH}
- downgrade_arch_flags "$(gcc-version)"
- toolchain_src_configure
-}
-
-pkg_postinst() {
- toolchain_pkg_postinst
- einfo "This provide the GNAT compiler with gcc for ada/c/c++ and more"
- einfo "The compiler binary is ${CTARGET}-gcc-${TOOLCHAIN_GCC_PV}"
- einfo "Even if the c/c++ compilers are using almost the same patched"
- einfo "source as the sys-devel/gcc package its use is not extensively"
- einfo "tested, and not supported for updating your system, except for ada"
- einfo "related packages"
-}
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2021-r1.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2021-r1.ebuild
index 3502c2c009fd..e0bcd6f39fb2 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2021-r1.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2021-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -87,6 +87,11 @@ src_prepare() {
ln -s /usr/bin/$CHOST-ld \
"${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/ld \
|| die
+ rm "${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/as \
+ || die
+ ln -s /usr/bin/$CHOST-as \
+ "${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/as \
+ || die
fi
CC=${GCC}
@@ -114,6 +119,9 @@ src_prepare() {
eapply "${FILESDIR}"/${P}-gentoo.patch
cd -
sed -i \
+ -e 's:-fcf-protection":":' \
+ lto-plugin/configure || die
+ sed -i \
-e 's:$(P) ::g' \
gcc/ada/gcc-interface/Makefile.in \
|| die "sed failed"
diff --git a/dev-lang/gnat-gpl/metadata.xml b/dev-lang/gnat-gpl/metadata.xml
index 4587287c0bb6..31ab10903d16 100644
--- a/dev-lang/gnat-gpl/metadata.xml
+++ b/dev-lang/gnat-gpl/metadata.xml
@@ -15,7 +15,6 @@
<flag name="go">Build the GCC Go language frontend.</flag>
<flag name="graphite">Add support for the framework for loop
optimizations based on a polyhedral intermediate representation</flag>
- <flag name="mpx">Enable support for Intel Memory Protection Extensions (MPX)</flag>
<flag name="libssp">Build SSP support into a dedicated library rather
than use the code in the C library (DO NOT ENABLE THIS IF YOU DON'T
KNOW WHAT IT DOES)</flag>
diff --git a/dev-lang/idris2/Manifest b/dev-lang/idris2/Manifest
index 80686c458eef..90f8db27c613 100644
--- a/dev-lang/idris2/Manifest
+++ b/dev-lang/idris2/Manifest
@@ -1,3 +1,3 @@
DIST idris2-0.5.1_p20211112.tar.gz 6202861 BLAKE2B 189bf28c7a33281494edea9b2c0821a934000fe9ca6e929b3318fe33576553142e5ad8d81598249cc384c6e342491ccef0998f33a4f2940b80264f5a3e4b32b2 SHA512 3b419ddbdc4aa3a28d92bf204448090c168d6a844d570886f982129f9e650c7112bbf95b727baf6c9f0f2fd6200c75eb68b6b71fd8684e01365eaf964dea1ea1
EBUILD idris2-0.5.1_p20211112.ebuild 2513 BLAKE2B cdccbb2fc573524f2fa484c0601f427402055635a1f177a3417db2ce76bfc379380127dbe3a3105befebe4bd18d19d21030ebe527868cb256a5a2ad0346472fe SHA512 1bcb672978151e1d62ee6d057b6a7ee2a9e70988f346914a59375be96f0ca4fc126f32410d573fdb81be27c303bfc88e00475edf26c678621209c600251b5301
-MISC metadata.xml 1164 BLAKE2B d15ac3ae55a531d9f3c4f129206154a4bd5c1ab9adc2d070464d757d542c0a989a4911a9310ea6cfe91ea6016060b477c1de2f53e29b4e2a811c97e4edab6067 SHA512 7436fbad2a6fb17b3e54ddea5c5ddeecb30d8fb17903dd12422e5b463c6ada84840aa0cd4bbaaa4a565365c126843f5084f7ff41938f90411bb6f44e791955fb
+MISC metadata.xml 1254 BLAKE2B bda411bfd779d576f5c8fdc374f7289ee11d04edefe6308bc7c2c50c92c5d881c51475cf252e5402187779bb9317f1d47d66ea4d324f66db314ff7a7b9d493ab SHA512 4bda5aaf00c768e19b92f5e9f15bec2dcd2d8286d04016f2e30fa512fcb5f5842e735c86c61d38577c2530a67c0b0f70f7e801d57f3ae7b780161f83af50b0cd
diff --git a/dev-lang/idris2/metadata.xml b/dev-lang/idris2/metadata.xml
index b8e693b1cb86..aab9447eef4a 100644
--- a/dev-lang/idris2/metadata.xml
+++ b/dev-lang/idris2/metadata.xml
@@ -6,7 +6,7 @@
<email>scheme@gentoo.org</email>
<name>Gentoo Scheme Project</name>
</maintainer>
- <longdescription lang="en">
+ <longdescription>
Idris is a programming language designed to encourage Type-Driven
Development.
In type-driven development, types are tools for constructing programs.
@@ -16,7 +16,10 @@
the more confidence we can have that the resulting program will be correct.
</longdescription>
<upstream>
- <bugs-to>https://github.com/idris-lang/Idris2/issues</bugs-to>
+ <bugs-to>https://github.com/idris-lang/Idris2/issues/</bugs-to>
+ <changelog>
+ https://github.com/idris-lang/Idris2/blob/main/CHANGELOG.md
+ </changelog>
<remote-id type="github">idris-lang/Idris2</remote-id>
</upstream>
<use>
diff --git a/dev-lang/janet/Manifest b/dev-lang/janet/Manifest
index 81c5c24c258d..037dc832108a 100644
--- a/dev-lang/janet/Manifest
+++ b/dev-lang/janet/Manifest
@@ -1,6 +1,6 @@
AUX janet-1.16.1-make.patch 435 BLAKE2B a8d038c83a051e8d93dbdaa3456a9c93403a11dbe6b38cc2283c2b1884235ad76a42707d1c19bd5db2f66a86cdbacfd36196a12abea9fc66c4ac78fba5dcea50 SHA512 a9fab424e33d50e56c9ab3090a0b1a6c5b477e459128f1529deaf2452705345829c23d8a86b7e37bf1e7fc24fc37dffe293cc67550b24b065b439e0b5a9ead5e
-DIST janet-1.16.1.tar.gz 493490 BLAKE2B 7542644a647d9d2ddd73d8e284f749cdad1900b8df2797c99a2f176c93eca412427b7f571493cfe62f64dd9c90bd12d8506b0f4b6b485ab2d3633e989e735cd9 SHA512 f4be0703676acad8896e41b46d79c4f6d99990c487028f1fd1abd681f756db119a06a5d6a0653b9301afcd62f45d6f1bb7876b9613c0ea28d7199e310a52895d
DIST janet-1.17.2.tar.gz 488524 BLAKE2B 33e801eb10b46d44a36b95bd29ea318ab3daa88654f47e12303344d2362a2ecc0d0f2ab9371d9539e0787df08664f503ee268b7acf967bd74a929992bc3ea2be SHA512 608ae20992d90cd93a364239c967fef8fdd1c631f1777211d916c6dc16cac5f007f52565bdf24cc0f8af1f521a0977a7245a3c137fc3b61583c2900e26fee81c
-EBUILD janet-1.16.1.ebuild 1790 BLAKE2B 09702dccd44f59a809bb2e001d9197e83d7196b8cfe17e7659a931ba3b6d83920b68a102ff9289b23539c5be1cd470fc263fcda36186f47991cbef1a30888783 SHA512 c4343c4135e929d30d78e0f9f76573c3fabb11f5760343ab833e366e0b6089fcf70fd65783ad5b79570cb2d98f2ca64e304e96c6f74780c938cf5a0f949e5d62
+DIST janet-1.19.2.tar.gz 486633 BLAKE2B 420b98218cf6a592ab385f5d9432d9e8ae98fe0a4b9c294aa2783e3ee810d256ef1ccf17c3986d7e490e4fcc046cb9a25b2d0f09ada223c19104e49d703d5d33 SHA512 4181f15ad61bfba46ce87acd148166bd0ab3c5dd5fb608d8d8722b912ecfa435baa7d881d4a8163aabb1b06bca2983b108dfb7256efa854c12c136e4f24c1ef2
EBUILD janet-1.17.2.ebuild 1720 BLAKE2B 0b6f3478a950edd5475eae1041ae5f87bd50f640ddb53a4a053e92ffbfddd9b4919e25019d18999b0786f0672b885d71f32fe58c0114f7b9d92e9f007b32cebb SHA512 df830edb0c82a7edafc257b28cf6d11f33f461651bf02f11863800e679da68bb7bcfb78f0a909d498d575bb98000504ecde5a6c1eb4ced747fd7881e3a8b47b1
+EBUILD janet-1.19.2.ebuild 1720 BLAKE2B 0b6f3478a950edd5475eae1041ae5f87bd50f640ddb53a4a053e92ffbfddd9b4919e25019d18999b0786f0672b885d71f32fe58c0114f7b9d92e9f007b32cebb SHA512 df830edb0c82a7edafc257b28cf6d11f33f461651bf02f11863800e679da68bb7bcfb78f0a909d498d575bb98000504ecde5a6c1eb4ced747fd7881e3a8b47b1
MISC metadata.xml 991 BLAKE2B 07e892f19d1408eb2168385bb4f7e170a72221798710a4397f60500ba9b18c9ce743bbdcc79aa8868ab0ceccd19eed5d414ba743ffc76690ab4df41499457a7c SHA512 c326a2ccbf2c7a0e043d3d86cc9ccb887773708c919709156cb1117b1df13825bcf27dd06193e91bd035917049e3577b810064687c992fddc29e1aee1b555af6
diff --git a/dev-lang/janet/janet-1.16.1.ebuild b/dev-lang/janet/janet-1.19.2.ebuild
index 16f31087d1a9..540be0ac1f9c 100644
--- a/dev-lang/janet/janet-1.16.1.ebuild
+++ b/dev-lang/janet/janet-1.19.2.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-inherit flag-o-matic
+inherit flag-o-matic toolchain-funcs
DESCRIPTION="A dynamic Lisp dialect and bytecode vm"
HOMEPAGE="https://janet-lang.org https://github.com/janet-lang/janet/"
@@ -16,9 +16,9 @@ IUSE="static-libs"
MY_RELEASE="${PV::-2}"
-PATCHES="${FILESDIR}/janet-1.16.1-make.patch"
-
src_configure() {
+ tc-export CC
+
append-ldflags -Wl,-soname,libjanet.so.1.${MY_RELEASE}
append-cflags -fPIC
}
@@ -28,37 +28,46 @@ src_compile() {
# current release - it defines a constant which is then shown
# when starting janet
local janet_build='\"'${PV}'\"'
- emake LIBDIR="/usr/$(get_libdir)" PREFIX="/usr" JANET_BUILD="${janet_build}"
- emake LIBDIR="/usr/$(get_libdir)" PREFIX="/usr" build/janet.pc JANET_BUILD="${janet_build}"
- emake LIBDIR="/usr/$(get_libdir)" PREFIX="/usr" docs JANET_BUILD="${janet_build}"
- emake LIBDIR="/usr/$(get_libdir)" PREFIX="/usr" build/jpm JANET_BUILD="${janet_build}"
+
+ local target
+ for target in '' build/janet.pc docs ; do
+ einfo "Building: ${target:-main}"
+ emake \
+ LIBDIR="/usr/$(get_libdir)" \
+ PREFIX="/usr" \
+ JANET_BUILD="${janet_build}" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ ${target}
+ done
}
src_install() {
- dobin "build/janet"
- dobin "jpm"
- insinto "usr/include/janet"
- doheader "src/include/janet.h"
- doheader "src/conf/janetconf.h"
+ dobin build/janet
- dolib.so "build/libjanet.so"
+ 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.${MY_RELEASE}
dosym libjanet.so.${MY_RELEASE} /usr/$(get_libdir)/libjanet.so.${PV}
if use static-libs; then
- dolib.a "build/libjanet.a"
+ dolib.a build/libjanet.a
fi
- doman "janet.1"
- doman "jpm.1"
+
+ doman janet.1
insinto /usr/$(get_libdir)/pkgconfig/
- doins "build/janet.pc"
+ doins build/janet.pc
+
dodoc -r examples
- dodoc "build/doc.html"
- # required for jpm
- keepdir /usr/$(get_libdir)/janet/.cache
+ dodoc build/doc.html
}
pkg_postinst() {
+ elog "Note: jpm has been extracted to its own repository upstream."
+ elog "Follow the upstream instructions on how to install it."
elog "Enable use flag \"static-libs\" for building stand-alone executables with jpm"
}
diff --git a/dev-lang/jerryscript/Manifest b/dev-lang/jerryscript/Manifest
index 347d36f81fc4..05cfc0a5c593 100644
--- a/dev-lang/jerryscript/Manifest
+++ b/dev-lang/jerryscript/Manifest
@@ -1,4 +1,4 @@
-AUX jerryscript-2.4.0-python3.patch 5463 BLAKE2B ad2fdaf83a2be714194c3ee6e6703211792a8a1dbe4bbb13914f37e50c9ade6cbad915236fae3a74eb2bfed22a640c1daf0958570c2e792450dd5d59a2e5eacc SHA512 445dabde9b8c5c48b6ceb3663b234a0a7f26c2f310a4a0673bdb7301409cd6e76dbedc590bbd1a27814021e8917a7ec55487070b39c2508d061c156e408063a7
+AUX jerryscript-2.4.0-python3-r4.patch 9837 BLAKE2B 5758af36551b8ea75fe8719bf6bfaa41fc03cb32012af61b1747a1d7464038e2fb5ddd5523bd894dbd7e23d399f5e330f163e87d6b1d9a485f393706ef74e98f SHA512 5e490949df94120e077dab74998275b02d0edca63288f1358499981a664ddeff8b2947837cf3bec356072ce40634b0945bcedb9ae689f430ba943dd5cbedd1ca
DIST jerryscript-2.4.0.tar.gz 2802799 BLAKE2B 18a3f71e7d3e2fc43772cb94aa3b0d4d28d72c6cd174eb0195f09283c5da5140ef85e86c6ed7a82e672724563549294c26d870b55c8bd9d0a92251b1002c612a SHA512 e96e6c6a2207ff869474801a1f8bbd3ce453d4076e558736ebf6962ccab08540f57cf932ec43bcd40429e21f1c6453d77874dd0a467d91a15d8357257533c1ea
-EBUILD jerryscript-2.4.0-r3.ebuild 1740 BLAKE2B 519e56171297f4044fb34a40cc0a17580ff1dcb83cc9bb34e3e50aece4b2457a78daa01dfb84ff839f860257fc02325c981ed7db605195f0405c654ec5b3fa35 SHA512 f19ad96f5260bfa2eb4b69644efcd47b21438d5fcead63ae18b2f96e46de7ec5b963fed5f057024baf4e7e791be2b185d5458bd0f7cadc47666c0ad1329bdbc4
+EBUILD jerryscript-2.4.0-r4.ebuild 1861 BLAKE2B c8c4adb196c14fae623ead03f4d63170cb98b73b465fe917d613610132ae27873037c8ff90b7b1a3810c9622de3dd8f6704332297d8411caeb775438411d75ec SHA512 12ea0a863fe85a9868a6695fe318535bbb1990c38c50ba1d5e5e2c0bf100390b9accce5f4681350db97ce141a559b895ed83b2961df4fdac40a26226ad8726bb
MISC metadata.xml 489 BLAKE2B 7bfef37a187374e80e86e4015d2501d7b105f19e2c33e2ccbfd0c216da6d01abfe42816890d27f5691d81103365e87d8c74ca439cc2266e8e0ee4b37e6d9fff5 SHA512 ca4df019071b344c7326998bb7c5e1cd533a540f955c85b20bd1166c80941de134fe6d2772f97ac9dd72dd4ea45123ca7c12af2c714d5b144c3ca6b236a5aba5
diff --git a/dev-lang/jerryscript/files/jerryscript-2.4.0-python3-r4.patch b/dev-lang/jerryscript/files/jerryscript-2.4.0-python3-r4.patch
new file mode 100644
index 000000000000..92198f3901d4
--- /dev/null
+++ b/dev-lang/jerryscript/files/jerryscript-2.4.0-python3-r4.patch
@@ -0,0 +1,236 @@
+From 22d8b904d85e548aa06d2d665aeaaee510a2435a Mon Sep 17 00:00:00 2001
+From: Zac Medico <zmedico@gmail.com>
+Date: Sun, 23 May 2021 13:46:30 -0700
+Subject: [PATCH] Python debugger support for Python 3 (in addition to Python
+ 2)
+
+- Added safe_ord compatibility to pass through int arguments
+- Fixed JerryDebugger to decode bytes as utf8 strings when necessary
+- Fixed WebSocket send_message method to use packed_data[0:1] bytes slice
+
+JerryScript-DCO-1.0-Signed-off-by: Zac Medico <zmedico@gmail.com>
+---
+ jerry-debugger/jerry_client_main.py | 82 ++++++++++++++----------
+ jerry-debugger/jerry_client_rawpacket.py | 13 +++-
+ jerry-debugger/jerry_client_websocket.py | 15 ++++-
+ 3 files changed, 74 insertions(+), 36 deletions(-)
+
+diff --git a/jerry-debugger/jerry_client_main.py b/jerry-debugger/jerry_client_main.py
+index e65d0e14..ee3ffd26 100644
+--- a/jerry-debugger/jerry_client_main.py
++++ b/jerry-debugger/jerry_client_main.py
+@@ -151,2 +151,11 @@ def arguments_parse():
+
++if sys.version_info.major >= 3:
++ def safe_ord(c):
++ if isinstance(c, int):
++ return c
++ return ord(c)
++else:
++ safe_ord = ord
++
++
+ class JerryBreakpoint(object):
+@@ -309,8 +318,8 @@ class JerryDebugger(object):
+
+- if len(result) != config_size or ord(result[0]) != JERRY_DEBUGGER_CONFIGURATION:
++ if len(result) != config_size or safe_ord(result[0]) != JERRY_DEBUGGER_CONFIGURATION:
+ raise Exception("Unexpected configuration")
+
+- self.little_endian = ord(result[1]) & JERRY_DEBUGGER_LITTLE_ENDIAN
+- self.max_message_size = ord(result[6])
+- self.cp_size = ord(result[7])
++ self.little_endian = safe_ord(result[1]) & JERRY_DEBUGGER_LITTLE_ENDIAN
++ self.max_message_size = safe_ord(result[6])
++ self.cp_size = safe_ord(result[7])
+
+@@ -402,3 +411,3 @@ class JerryDebugger(object):
+ if args != "pending":
+- for i in self.active_breakpoint_list.values():
++ for i in list(self.active_breakpoint_list.values()):
+ breakpoint = self.active_breakpoint_list[i.active_index]
+@@ -563,2 +572,3 @@ class JerryDebugger(object):
+ def _send_string(self, args, message_type, index=0):
++ args = args.encode("utf8")
+
+@@ -686,3 +696,3 @@ class JerryDebugger(object):
+
+- buffer_type = ord(data[0])
++ buffer_type = safe_ord(data[0])
+ buffer_size = len(data) -1
+@@ -740,6 +750,6 @@ class JerryDebugger(object):
+ elif buffer_type == JERRY_DEBUGGER_EXCEPTION_STR:
+- self.exception_string += data[1:]
++ self.exception_string += data[1:].decode("utf8")
+
+ elif buffer_type == JERRY_DEBUGGER_EXCEPTION_STR_END:
+- self.exception_string += data[1:]
++ self.exception_string += data[1:].decode("utf8")
+
+@@ -810,3 +820,3 @@ class JerryDebugger(object):
+ elif buffer_type in [JERRY_DEBUGGER_SCOPE_VARIABLES, JERRY_DEBUGGER_SCOPE_VARIABLES_END]:
+- self.scope_vars += "".join(data[1:])
++ self.scope_vars += "".join(data[1:].decode("utf8"))
+
+@@ -866,5 +876,5 @@ class JerryDebugger(object):
+ def _parse_source(self, data):
+- source_code = ""
+- source_code_name = ""
+- function_name = ""
++ source_code = b""
++ source_code_name = b""
++ function_name = b""
+ stack = [{"line": 1,
+@@ -881,3 +891,3 @@ class JerryDebugger(object):
+
+- buffer_type = ord(data[0])
++ buffer_type = safe_ord(data[0])
+ buffer_size = len(data) - 1
+@@ -905,10 +915,10 @@ class JerryDebugger(object):
+
+- stack.append({"source": source_code,
+- "source_name": source_code_name,
++ stack.append({"source": source_code.decode("utf8"),
++ "source_name": source_code_name.decode("utf8"),
+ "line": position[0],
+ "column": position[1],
+- "name": function_name,
++ "name": function_name.decode("utf8"),
+ "lines": [],
+ "offsets": []})
+- function_name = ""
++ function_name = b""
+
+@@ -939,4 +949,4 @@ class JerryDebugger(object):
+ if not stack:
+- func_desc["source"] = source_code
+- func_desc["source_name"] = source_code_name
++ func_desc["source"] = source_code.decode("utf8")
++ func_desc["source_name"] = source_code_name.decode("utf8")
+
+@@ -991,3 +1001,3 @@ class JerryDebugger(object):
+
+- for breakpoint_index, breakpoint in bp_list.items():
++ for breakpoint_index, breakpoint in list(bp_list.items()):
+ source_lines = 0
+@@ -1134,3 +1144,3 @@ class JerryDebugger(object):
+ JERRY_DEBUGGER_OUTPUT_RESULT_END]:
+- subtype = ord(data[-1])
++ subtype = safe_ord(data[-1])
+ message += data[1:-1]
+@@ -1141,3 +1151,3 @@ class JerryDebugger(object):
+ data = self.channel.get_message(True)
+- buffer_type = ord(data[0])
++ buffer_type = safe_ord(data[0])
+ # Checks if the next frame would be an invalid data frame.
+@@ -1153,4 +1163,4 @@ class JerryDebugger(object):
+ message = self.current_out + message
+- lines = message.split("\n")
+- self.current_out = lines.pop()
++ lines = message.decode("utf8").split("\n")
++ self.current_out = lines.pop().encode("utf8")
+
+@@ -1162,4 +1172,4 @@ class JerryDebugger(object):
+ message = self.current_log + message
+- lines = message.split("\n")
+- self.current_log = lines.pop()
++ lines = message.decode("utf8").split("\n")
++ self.current_log = lines.pop().encode("utf8")
+
+@@ -1167,2 +1177,3 @@ class JerryDebugger(object):
+
++ message = message.decode("utf8")
+ if not message.endswith("\n"):
+@@ -1176,2 +1187,5 @@ class JerryDebugger(object):
+ return "%strace: %s%s" % (self.blue, self.nocolor, message)
++ else:
++ message = message.decode("utf8")
++
+
+@@ -1195,3 +1209,3 @@ class JerryDebugger(object):
+ # Process name
+- name_length = ord(self.scope_vars[buff_pos:buff_pos + 1])
++ name_length = safe_ord(self.scope_vars[buff_pos:buff_pos + 1])
+ buff_pos += 1
+@@ -1201,3 +1215,3 @@ class JerryDebugger(object):
+ # Process type
+- value_type = ord(self.scope_vars[buff_pos:buff_pos + 1])
++ value_type = safe_ord(self.scope_vars[buff_pos:buff_pos + 1])
+
+@@ -1205,3 +1219,3 @@ class JerryDebugger(object):
+
+- value_length = ord(self.scope_vars[buff_pos:buff_pos + 1])
++ value_length = safe_ord(self.scope_vars[buff_pos:buff_pos + 1])
+ buff_pos += 1
+@@ -1236,12 +1250,12 @@ class JerryDebugger(object):
+ for i, level in enumerate(self.scope_data):
+- if ord(level) == JERRY_DEBUGGER_SCOPE_WITH:
++ if safe_ord(level) == JERRY_DEBUGGER_SCOPE_WITH:
+ table.append([str(i), 'with'])
+- elif ord(level) == JERRY_DEBUGGER_SCOPE_GLOBAL:
++ elif safe_ord(level) == JERRY_DEBUGGER_SCOPE_GLOBAL:
+ table.append([str(i), 'global'])
+- elif ord(level) == JERRY_DEBUGGER_SCOPE_NON_CLOSURE:
++ elif safe_ord(level) == JERRY_DEBUGGER_SCOPE_NON_CLOSURE:
+ # Currently it is only marks the catch closure.
+ table.append([str(i), 'catch'])
+- elif ord(level) == JERRY_DEBUGGER_SCOPE_LOCAL:
++ elif safe_ord(level) == JERRY_DEBUGGER_SCOPE_LOCAL:
+ table.append([str(i), 'local'])
+- elif ord(level) == JERRY_DEBUGGER_SCOPE_CLOSURE:
++ elif safe_ord(level) == JERRY_DEBUGGER_SCOPE_CLOSURE:
+ table.append([str(i), 'closure'])
+diff --git a/jerry-debugger/jerry_client_rawpacket.py b/jerry-debugger/jerry_client_rawpacket.py
+index 5c3304ed..275be83c 100644
+--- a/jerry-debugger/jerry_client_rawpacket.py
++++ b/jerry-debugger/jerry_client_rawpacket.py
+@@ -17,2 +17,3 @@
+ import struct
++import sys
+
+@@ -20,2 +21,12 @@ MAX_BUFFER_SIZE = 256
+
++
++if sys.version_info.major >= 3:
++ def safe_ord(c):
++ if isinstance(c, int):
++ return c
++ return ord(c)
++else:
++ safe_ord = ord
++
++
+ class RawPacket(object):
+@@ -72,3 +83,3 @@ class RawPacket(object):
+ if len(self.data_buffer) >= 1:
+- size = ord(self.data_buffer[0])
++ size = safe_ord(self.data_buffer[0])
+ if size == 0:
+diff --git a/jerry-debugger/jerry_client_websocket.py b/jerry-debugger/jerry_client_websocket.py
+index fe2c761a..9c755966 100644
+--- a/jerry-debugger/jerry_client_websocket.py
++++ b/jerry-debugger/jerry_client_websocket.py
+@@ -17,2 +17,3 @@
+ import struct
++import sys
+
+@@ -22,2 +23,14 @@ WEBSOCKET_FIN_BIT = 0x80
+
++
++if sys.version_info.major >= 3:
++ # pylint: disable=invalid-name
++ _ord_orig = ord
++ def _ord_compat(c):
++ if isinstance(c, int):
++ return c
++ return _ord_orig(c)
++ # pylint: disable=redefined-builtin
++ ord = _ord_compat
++
++
+ class WebSocket(object):
+@@ -94,3 +107,3 @@ class WebSocket(object):
+ WEBSOCKET_BINARY_FRAME | WEBSOCKET_FIN_BIT,
+- WEBSOCKET_FIN_BIT + struct.unpack(byte_order + "B", packed_data[0])[0],
++ WEBSOCKET_FIN_BIT + struct.unpack(byte_order + "B", packed_data[0:1])[0],
+ 0) + packed_data[1:]
diff --git a/dev-lang/jerryscript/files/jerryscript-2.4.0-python3.patch b/dev-lang/jerryscript/files/jerryscript-2.4.0-python3.patch
deleted file mode 100644
index a7046b4b6453..000000000000
--- a/dev-lang/jerryscript/files/jerryscript-2.4.0-python3.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From 3f725c9a6e62048dcc7e1d0dd0f9c3e8d2e092f6 Mon Sep 17 00:00:00 2001
-From: Zac Medico <zmedico@gmail.com>
-Date: Sun, 23 May 2021 13:46:30 -0700
-Subject: [PATCH] Python debugger support for Python 3 (in addition to Python 2)
-
-https://github.com/jerryscript-project/jerryscript/pull/4678
-
-- Added ord builtin compatibility to pass through int arguments
-- Fixed JerryDebugger _parse_source method to decode bytes as utf8 strings
-- Fixed WebSocket send_message method to use packed_data[0:1] bytes slice
-
-JerryScript-DCO-1.0-Signed-off-by: Zac Medico <zmedico@gmail.com>
----
- jerry-debugger/jerry_client_main.py | 26 ++++++++++++++++--------
- jerry-debugger/jerry_client_websocket.py | 14 ++++++++++++-
- 2 files changed, 31 insertions(+), 9 deletions(-)
-
-diff --git a/jerry-debugger/jerry_client_main.py b/jerry-debugger/jerry_client_main.py
-index e65d0e14..b465955f 100644
---- a/jerry-debugger/jerry_client_main.py
-+++ b/jerry-debugger/jerry_client_main.py
-@@ -151,2 +151,13 @@ def arguments_parse():
-
-+if sys.version_info.major >= 3:
-+ # pylint: disable=invalid-name
-+ _ord_orig = ord
-+ def _ord_compat(c):
-+ if isinstance(c, int):
-+ return c
-+ return _ord_orig(c)
-+ # pylint: disable=redefined-builtin
-+ ord = _ord_compat
-+
-+
- class JerryBreakpoint(object):
-@@ -563,2 +574,3 @@ class JerryDebugger(object):
- def _send_string(self, args, message_type, index=0):
-+ args = args.encode("utf8")
-
-@@ -810,3 +822,3 @@ class JerryDebugger(object):
- elif buffer_type in [JERRY_DEBUGGER_SCOPE_VARIABLES, JERRY_DEBUGGER_SCOPE_VARIABLES_END]:
-- self.scope_vars += "".join(data[1:])
-+ self.scope_vars += "".join(data[1:].decode("utf8"))
-
-@@ -866,5 +878,5 @@ class JerryDebugger(object):
- def _parse_source(self, data):
-- source_code = ""
-- source_code_name = ""
-- function_name = ""
-+ source_code = b""
-+ source_code_name = b""
-+ function_name = b""
- stack = [{"line": 1,
-@@ -905,7 +917,7 @@ class JerryDebugger(object):
-
-- stack.append({"source": source_code,
-- "source_name": source_code_name,
-+ stack.append({"source": source_code.decode("utf8"),
-+ "source_name": source_code_name.decode("utf8"),
- "line": position[0],
- "column": position[1],
-- "name": function_name,
-+ "name": function_name.decode("utf8"),
- "lines": [],
-@@ -939,4 +951,4 @@ class JerryDebugger(object):
- if not stack:
-- func_desc["source"] = source_code
-- func_desc["source_name"] = source_code_name
-+ func_desc["source"] = source_code.decode("utf8")
-+ func_desc["source_name"] = source_code_name.decode("utf8")
-
-@@ -1153,4 +1165,4 @@ class JerryDebugger(object):
- message = self.current_out + message
-- lines = message.split("\n")
-- self.current_out = lines.pop()
-+ lines = message.decode("utf8").split("\n")
-+ self.current_out = lines.pop().encode("utf8")
-
-@@ -1162,4 +1174,4 @@ class JerryDebugger(object):
- message = self.current_log + message
-- lines = message.split("\n")
-- self.current_log = lines.pop()
-+ lines = message.decode("utf8").split("\n")
-+ self.current_log = lines.pop().encode("utf8")
-
-@@ -1171,7 +1183,7 @@ class JerryDebugger(object):
- if subtype == JERRY_DEBUGGER_OUTPUT_WARNING:
-- return "%swarning: %s%s" % (self.yellow, self.nocolor, message)
-+ return "%swarning: %s%s" % (self.yellow, self.nocolor, message.decode("utf8"))
- elif subtype == JERRY_DEBUGGER_OUTPUT_ERROR:
-- return "%serr: %s%s" % (self.red, self.nocolor, message)
-+ return "%serr: %s%s" % (self.red, self.nocolor, message.decode("utf8"))
- elif subtype == JERRY_DEBUGGER_OUTPUT_TRACE:
-- return "%strace: %s%s" % (self.blue, self.nocolor, message)
-+ return "%strace: %s%s" % (self.blue, self.nocolor, message.decode("utf8"))
-
-@@ -1180,2 +1192,3 @@ class JerryDebugger(object):
-
-+ message = message.decode("utf8")
- if not message.endswith("\n"):
-diff --git a/jerry-debugger/jerry_client_websocket.py b/jerry-debugger/jerry_client_websocket.py
-index fe2c761a..9c755966 100644
---- a/jerry-debugger/jerry_client_websocket.py
-+++ b/jerry-debugger/jerry_client_websocket.py
-@@ -17,2 +17,3 @@
- import struct
-+import sys
-
-@@ -22,2 +23,14 @@ WEBSOCKET_FIN_BIT = 0x80
-
-+
-+if sys.version_info.major >= 3:
-+ # pylint: disable=invalid-name
-+ _ord_orig = ord
-+ def _ord_compat(c):
-+ if isinstance(c, int):
-+ return c
-+ return _ord_orig(c)
-+ # pylint: disable=redefined-builtin
-+ ord = _ord_compat
-+
-+
- class WebSocket(object):
-@@ -94,3 +107,3 @@ class WebSocket(object):
- WEBSOCKET_BINARY_FRAME | WEBSOCKET_FIN_BIT,
-- WEBSOCKET_FIN_BIT + struct.unpack(byte_order + "B", packed_data[0])[0],
-+ WEBSOCKET_FIN_BIT + struct.unpack(byte_order + "B", packed_data[0:1])[0],
- 0) + packed_data[1:]
diff --git a/dev-lang/jerryscript/jerryscript-2.4.0-r3.ebuild b/dev-lang/jerryscript/jerryscript-2.4.0-r4.ebuild
index f7f6592c87ba..bc0002817e91 100644
--- a/dev-lang/jerryscript/jerryscript-2.4.0-r3.ebuild
+++ b/dev-lang/jerryscript/jerryscript-2.4.0-r4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=(python3_{7,8,9})
-inherit cmake python-any-r1
+PYTHON_COMPAT=(python3_{7,8,9,10})
+inherit cmake python-single-r1
DESCRIPTION="Ultra-lightweight JavaScript engine for the Internet of Things"
HOMEPAGE="https://github.com/jerryscript-project/jerryscript"
@@ -16,10 +16,11 @@ KEYWORDS="~amd64"
IUSE="debugger"
RDEPEND="debugger? ( ${PYTHON_DEPS} )"
BDEPEND="${RDEPEND}"
+REQUIRED_USE="debugger? ( ${PYTHON_REQUIRED_USE} )"
RESTRICT+=" test"
PATCHES=(
- "${FILESDIR}/jerryscript-2.4.0-python3.patch"
+ "${FILESDIR}/jerryscript-2.4.0-python3-r4.patch"
)
src_prepare() {
@@ -61,11 +62,13 @@ src_install() {
python_optimize "${ED}${jerry_debugger_dir}"
cat <<-EOF > "${T}/jerry-debugger"
- #!/bin/sh
- export PYTHONPATH=${EPREFIX}${jerry_debugger_dir}
- exec python "${jerry_debugger_dir}/jerry_client.py" "\$@"
+ #!/usr/bin/python
+ import sys
+ sys.path.insert(0, "${EPREFIX}${jerry_debugger_dir}")
+ with open("${jerry_debugger_dir}/jerry_client.py") as f:
+ exec(f.read())
EOF
- dobin "${T}"/jerry-debugger
+ python_doscript "${T}"/jerry-debugger
fi
}
diff --git a/dev-lang/julia-bin/Manifest b/dev-lang/julia-bin/Manifest
index 289d53ba0d77..e017b7040cd9 100644
--- a/dev-lang/julia-bin/Manifest
+++ b/dev-lang/julia-bin/Manifest
@@ -1,35 +1,21 @@
-DIST julia-1.5.2-freebsd-x86_64.tar.gz 95898744 BLAKE2B dddafa63acc943bfc06eeae3fa9a3ef9b7484b29b88d37bf064ded255c836678f5d02dec0f7fa788bb763894acae5c51937882ed0391dcf66792198fec7dbce7 SHA512 13e4d1a7e01cd759d64c8ec3d85501904439fde5a9e2cb394963a8977035cd33b241fab27bf0642b069f202ead1d6c84f633002df3b27c4aa60e7adf45a3a8b1
-DIST julia-1.5.2-linux-aarch64.tar.gz 97088109 BLAKE2B 01aa5337cd1fc15655b596959cef8e54b56d8bb11fbced728df301a197aad550f0113b50c0b9e3cab34ea1082e176ced0398cde4e1d7c6d14a72b9a9cab937ea SHA512 09ac5360faae81eb9c78da5831d20f1f2d2c7a93561f6f2857015b579796a059cdecf529c283c9c37dd55163ce3e7b6cd175ee02734f1e11aa12f1163bd6587c
-DIST julia-1.5.2-linux-i686.tar.gz 101473619 BLAKE2B a87cb4cb38236e87041fac1012841d5aed25383bfb212188f4c23f4a961654d8a3b03b85dd5563f83620aa98323e2d2692107eda47559cf9ae332006453a139d SHA512 2ceb56bcae051815d585d3f36b4ae323ad7a3e383e75c07d87cb555fc2463d1a6017fd120f52a1f7110b803bfa546a34e62e8958765b52124612782ac3daf403
-DIST julia-1.5.2-linux-x86_64.tar.gz 105324048 BLAKE2B 410db75cb5b7ed269fd0d8f827773f50ff127ded3346e2f5fe908a1f9c0dd0f00b7600c5343853aaa0dfec3a616f657c52c96290f9c6ea012efcbc2a2b72e701 SHA512 5d14369b6296aa5fa0f7a58ce6b85dc25612ef508ee8dc1dcce7fe3a64de62b77daf419ea5d3a0a78345345787cb3ed563717ecc04df0c4d68b6d60593750f62
-DIST julia-1.5.2-musl-x86_64.tar.gz 101730667 BLAKE2B 1b213a246779815b79f47e6c287f0c7eb438dce42bc9e3e39681dcc0818c7a8c81f7040443c06fd323adb693c96b61cc69099c5df375cae119020ba9d0bb11cd SHA512 5cfbf7938f50286077e132815e10ce4e1e5a589a772ae3b946488d3126713e72ba393e1a45b3bc38b5bc43fc183e7f99b622c8c0d9d939330b142cdee24fccb3
-DIST julia-1.5.3-freebsd-x86_64.tar.gz 95919875 BLAKE2B 620c295a3d0fa9a31ed01b936ddabd001cee621969f61a9165e03ebee05cd1384c62bccd95f4df15ba49f9d6feec16f05c367820c0907919f67809ca136b70bc SHA512 e767bfb3cef034262dc12e0da4006e80d20cc7c971906f5ad355c971e7c751830972a2f4aa47d18fc2a79eb5454f8f160c0c38d536510291690fa6e1da3c83a3
-DIST julia-1.5.3-linux-aarch64.tar.gz 97086173 BLAKE2B 5353a516f24c151d6213ed4c6e189a8ac68933012bcda06084b5e6c1f3a230ebca896b1e8dd29b345c312f323283b4f9045efcece655ef055a797cd5eefbd774 SHA512 0988e229dc9f44230af84796dfb059aa87809c6af5d0e8a7debc4b696e98c45ccc042f956f678819e71afe29d5619421106208c6dce5dfe47aea98482b22c1e3
-DIST julia-1.5.3-linux-i686.tar.gz 101362522 BLAKE2B aba1270fc85cc1afc19856768a39d1cf1c40fb32b676be5da47dc7747294299a044a5202c547d19ad8aa56060b04d7583d7e7c19176f2fdbcccb863593fffccb SHA512 0abaab22626cbd4da4a2389b2aca639f993aa442a8423cba2fda3d9693e0dab4f5b82592691ad74bb7ddf1ae48739406b61fe76b7da626a1f22fe01077b011d2
-DIST julia-1.5.3-linux-x86_64.tar.gz 105260711 BLAKE2B b132fbe090ca4a4cba518efcf2e475f0ceaebcbe2e5ef4eee33697909995ea58d97c3e5015b96eaf2ff23e5ff6b5b67eed62b94a34580961d5671c4f019d4847 SHA512 f0460da198797c92d39d361278be6959e90b2b3d08e070b705c1a5de3a17c0e6b0b010a397d0b02e613d060959fff14c074cf12fdeb956e8f8565989f084d86b
-DIST julia-1.5.3-musl-x86_64.tar.gz 101802400 BLAKE2B da69c1b4ff5bde8692c3fc9ed3d60fd655a32121a0e11a4d1f00b5e4494cc4bcdb0e323a2644cca3a291fa7f7604925d387204df90cc19fee89048c4ba83b2d5 SHA512 e98c74ce2a49532a491a46efe81a2edc85103f9ec04347fe6b052cffdaecadcecb48a02b15ad71853fff6ebb2281498000e89d44732f36d31b6252a1a88bd0a6
-DIST julia-1.6.0-freebsd-x86_64.tar.gz 107111472 BLAKE2B a5adcc4eda19249e82e2ab8e897d191b18d03169892e315afce33bf8daf9b12bbae8b7648feff1aacb746185822c504e2d9cfa33ab63cd0e5478a2b70d83d5b1 SHA512 3ac69aa22fb61df5c6a2a12013b07c01e4fa16867f092dae7eb6a22c90efd736e24b0e7f6d4599ec87c079e02e95548fbc2507de12ac386d19d23786280f8d31
-DIST julia-1.6.0-linux-aarch64.tar.gz 106139244 BLAKE2B cd6deda04a1ffa3a15300648bad6194d008ae43651601969fa30a53e97c3642dad316dd6f1934b64c61187921e990cca41f1466ed9c9aac355d4fdba02e6cb67 SHA512 ba6b8948189285e004d2c6aa6166df264c4a1713b18c80b3b9458b6964d8c13123fe271c409be7b626e500295314b162fdb70fe7cce27d285f792b4b4fc570fe
-DIST julia-1.6.0-linux-i686.tar.gz 109636279 BLAKE2B 905bf491935267ba53e14e29093c86125049be554fa778670196e38cde9b1e661869e858785ac0f116c57badb50ae8300b42cb405364424e1cdd9b85f9785f81 SHA512 8d4e6d770b1643f669046b453e8965a5373466f944ed6244a2c45687b2c7faba1bb1f725556f295ee7c18ecde8dae7ad08291c9be2414b95b66063b4a4b0703b
-DIST julia-1.6.0-linux-ppc64le.tar.gz 98427694 BLAKE2B 67a2d04f1ae9e8e8e2165c7dcb5c504729ed13772bcffe3e4fb259944f86fcb5c1e699fe077fcf9250941feb936434f555c17888cad3dd3c7f92787c5c7bdca1 SHA512 a1f691a22764764e97b9f8bd322bf3a141c06ab7ea60be5d393f4adb614ff6d284c095a870df5ac6c38614ad17dc85a82e12b5b35598146062916918183e6681
-DIST julia-1.6.0-linux-x86_64.tar.gz 112838927 BLAKE2B 991b91101e4556c36d1ac4c35f650cc42a2eb87f00fa1f0fad8f1f567cc77c3290df052e14a83aea610213a72b856a031c3a84e4f8f968b141818b96b7cd9fa4 SHA512 f007f9730ce01fb8dbbaaab1d1f029393c43ca075a626024b98d54b55e94dde7f7be4872e59244e89f4c4b7725cdb5a619b7576f832561c17c119db58a8be407
-DIST julia-1.6.0-musl-x86_64.tar.gz 111773706 BLAKE2B a812f3b323650f2d62756d94b4cb6bfac7d49fbbcaa0eff7da8fdcd5857473985b2985c127895c47b8ec8afac1c67e2297dd118604fb0e6638408491245cb442 SHA512 0773df79840b24f019337407e9330f4255994457380d48045c3972145125c4ca7475fde5ffd9c53e4350ec87bdbac5ba299527a9dbcbb1c9c531172edf35a688
-DIST julia-1.6.2-freebsd-x86_64.tar.gz 107102355 BLAKE2B 50c6c893d0786bae771051b96de499a6a7381c8ae435de55d933df999ff9113a8876d7c26c1eff136ae2f8eb5954a6ac3554c42fa18c3f31d0a0683116244865 SHA512 38441b9963115bc6f1bc14b05f680ef770a25dfed2768b06872f84f3ba7cd94f384b911d7453c91b34ddb4dc2d65874009388778ac2bdbcc93cbfc0031d941c2
-DIST julia-1.6.2-linux-aarch64.tar.gz 106265838 BLAKE2B 4754c868013888519df7bb219e661836ff6787d317ecda51be8d32c29f6b7568c9b3cef879460417817d5139b2a0f8480d3eef73dcb31a60c0d92c3eb4eb127d SHA512 267685f93cea93b047fdd9b359cd182a6c1a3e15a63fcea59133ee9cf527a12f6a84958eb5a57ec2c85f0ee82223164291b4fdf2d279b132571348ea0ab5e102
-DIST julia-1.6.2-linux-i686.tar.gz 109691286 BLAKE2B bcd37acabda002af798016d9029c415b39c4908624cd4760c2666359541832e389d8f15ee04437908e205080e2b8cc4e29ba85898fd43e5d4551aa51b521787f SHA512 f42d43109b922d79e34b7f593f2737d72688d92f293add773cf0eb33a5401637f19c96fafcb787be5935fa69249f739cd52dd5b6faa8b26f8e76e8e1ec57bd7d
-DIST julia-1.6.2-linux-ppc64le.tar.gz 98471545 BLAKE2B c9fb08a46adfcb243fccfe5d8aaa00bd2c1d43642e60993a70937ee88f8b4571d243b3b92c7b3cd10694d9bfe49f1f00acd473112b0c75bbd97ff38e7c90da99 SHA512 520890d3194598f89b8bab82ccfe7ef5986eac05ea676d71edba39e87f3f34e8c6c70907e2eb2928f0a9c449b5ef3a255b3d89d41b4d4726a14c5415212e9d8b
-DIST julia-1.6.2-linux-x86_64.tar.gz 112946671 BLAKE2B 30c83e5c29ea58ef49da904c297a017f42175c69976de1f61b2b88cddaa02147da008e2f8fb81140ee724e475425afa1d00ec9762625945d413875c1c5a6faf3 SHA512 29489615677f844881f29d639614ad69183cecb9eba793a3559434bde5aaf00b3571ac9654c05285d83486d28ad4aef9d541c77b25bee062a47a1e97407d996b
-DIST julia-1.6.2-musl-x86_64.tar.gz 111928203 BLAKE2B 6415bb8d8105ab4127ecc56259217ca062bdf050c6a6bcf7781dd3cc219c108e1ff265574c08b89111763be5a033a8a2def2ea8882b837fd258ca4162c4dae00 SHA512 42b3920fbf959eaf0f6a573f60f1da34d4631bd064a20185239e3af9e28aa1c2b81ce0b7eb2ee5816d8f833309a76cb214ea241ee03bdacd5541a1872ab9ec59
DIST julia-1.6.3-freebsd-x86_64.tar.gz 109341094 BLAKE2B 01f0f46a0fcfaf7bcb5b1d7c5a9aa2f8c6a4306e2b1e08cc4b1d17253ae972a14ff2231fc1a7661cd2d22b662ecc36c12fd6432226d9734b455eb99f3435f090 SHA512 c460c58696ea1afe13302f42d9170b119bb6e18d8eecfc873dc56fa1bcbc30cf16ca41b09857db8be5aed57846f8f8e33b3168ee1710b66e25cc6d9991f1ce48
DIST julia-1.6.3-linux-aarch64.tar.gz 106465939 BLAKE2B 8d4092157075ffd425b161188cecd4f71aed89c6c3e65b078e5d617025b4d414ab5267d5fb18253ed668551492340e3bc2fc19538c024b70a19ebda12934da97 SHA512 7ff665cbbf0f975252ba30375d1fbdaf7985d0983cfa1089f164e55c0035f1300cffe4506f5838cabf5afadf0b4fc69a82a04800dbe73c6fbd886b9eb0e8d5ee
DIST julia-1.6.3-linux-i686.tar.gz 110176346 BLAKE2B caf8d709cb772b59dfdd6a4c081685e078e37eb219ca825b2495a93b4fe76fa9d40af4951e9cbce8da8e176870f396728201a53606b2c8a4bccffe186f7163fa SHA512 722e9027c1330cb9d6d1e9ba4d3bc0df2a38251fc0fccc4d88967079e2f38533d750e4ce2b6190705cccb30dc997e27289f0ee18109c46c5c92854f9e32b55fa
DIST julia-1.6.3-linux-ppc64le.tar.gz 98825445 BLAKE2B 0dc2416ebac51c71c4a3e8fb3b36781f32e4578e43c88894ed35f6cc50698c72486e354952ae5e9badaf4a949c9a1b4bceeca999dde706d62de44e48efca4361 SHA512 19d61d8424b5ab543f37d74677b8dfdce857e45cdf7e0ec7b2d421a34f0e567a2db6de1f9c740a1069b30b2a4cb046c0230acece8f6788cc24d5cae375f3fdaf
DIST julia-1.6.3-linux-x86_64.tar.gz 113399344 BLAKE2B 513a6794c52043f1cb5c6bc957faab978c1ee6a96654dbc3d7393113f12efb5fb39aa0605b726b280bad3daf6363a314323804b99d37aaafff96fb28580c2f39 SHA512 b6faa72c6bddbce7b8a9dd1b2187bdb37525af41a62bdecbf61a7a9d9d4d6d5a51adc06f061fe5fdf17917200e06cf5db8aa9bb3e3db609ff83b0afc57574ca6
DIST julia-1.6.3-musl-x86_64.tar.gz 112357454 BLAKE2B 2a2f50935e078befed75e6f02c5a3266b14702a14f929d8e19ae35e242051e51290eb8306646e401a9c47282e69592b18973ce7643e46c2256e2bde7f2efbe39 SHA512 c054d4a147c424434ee1dfcfbabbdb865bff0740b8446d7c7884675b3ad4d77e68c5dcfff17c2df34a1c0dd7f9beae196a7e905e672160f191ba85e9fbfcddff
-EBUILD julia-bin-1.5.2.ebuild 1412 BLAKE2B 61edd4fc8374f7f6725f603899651e1cb8e7b806c9370d8b460f7f9a805e4c29e0e0dd823df83c378f32751648ef9dbffc54de2969f944b7b22ba4af2eca47e4 SHA512 62f2e741cd079f1e3241671565dc0cfce0360e7cabd66d9c6e41c4750d4eb3be135d9790479f2031ba7c976021299b17d724916037b0bfdfb5613e11dc652ab7
-EBUILD julia-bin-1.5.3.ebuild 1411 BLAKE2B 1229b41a0cf35ab622270776b750627ab05dfffefcfe5bd616ce6bf415515ed9429660a10fd18b83ffb3c0805693bb7291d08b37b582356ab7c1287982715f01 SHA512 ac8eed683574d6fe35f07d320201e121afc9a106c10f0d51adf9d9858a78e7461e00301028e8ac05c9370d6427dc3da395d5e6368dc724af2def1f7b5ce5271e
-EBUILD julia-bin-1.6.0.ebuild 1490 BLAKE2B 3831ab003e01e396e7c6e9c55f9bef1f2c2043ee8195f734671f6216a062ee5f00f5b3f45489c7b07671c8d0e131ca7cfc39c0b52b07890c805db7ff5e243f04 SHA512 5e3470c808dc5bdfb0a3d070e2817fab06b1cd3e9b7cac20b218eb2010555a0a985524d46b7d83f447cd7f6296f0295e3a70d23cdc6cf5ef2d736fdb4955fb11
-EBUILD julia-bin-1.6.2.ebuild 1490 BLAKE2B 3831ab003e01e396e7c6e9c55f9bef1f2c2043ee8195f734671f6216a062ee5f00f5b3f45489c7b07671c8d0e131ca7cfc39c0b52b07890c805db7ff5e243f04 SHA512 5e3470c808dc5bdfb0a3d070e2817fab06b1cd3e9b7cac20b218eb2010555a0a985524d46b7d83f447cd7f6296f0295e3a70d23cdc6cf5ef2d736fdb4955fb11
-EBUILD julia-bin-1.6.3.ebuild 1490 BLAKE2B 3831ab003e01e396e7c6e9c55f9bef1f2c2043ee8195f734671f6216a062ee5f00f5b3f45489c7b07671c8d0e131ca7cfc39c0b52b07890c805db7ff5e243f04 SHA512 5e3470c808dc5bdfb0a3d070e2817fab06b1cd3e9b7cac20b218eb2010555a0a985524d46b7d83f447cd7f6296f0295e3a70d23cdc6cf5ef2d736fdb4955fb11
-EBUILD julia-bin-9999.ebuild 1192 BLAKE2B 098e8f09ff23f3d86db7f72a1cfdb3cc1d2c032cfa957ef7ec25af3fde5f0b0020aae75a925c4bae9485e49cf930823094da1bc749206754efdd66a0d390f254 SHA512 2e9dc86409ce250c779bbd45b5bd7f9ada9231d4951ee80658dbe8469e2e0ea0534e366579457b442856829d2790e3ed19e53d2ec38c68dfbff88c4a4a21d6d5
+DIST julia-1.6.5-freebsd-x86_64.tar.gz 109273854 BLAKE2B 6d9c4515d40fe7eb4225be8a8e1bacdc26f4352d17a436a3e22be6bc41d398d32d75e3cb69e6b16fd2bf8096624cfd0df1cb299712fa6d0d735c78d75859575c SHA512 1c93fe06b47ded67e5acdbb3dc267da7f2ba2662125b5094b23f62797951452c55c9fb6d694bed98d3d65e2e8bc3a8b00a7bd69b79957c736445cc9f4a8b3e9c
+DIST julia-1.6.5-linux-aarch64.tar.gz 106463482 BLAKE2B eedd2475dd27fb5987d96a75099b25e0b5b30671a2fe6aa2f22da3ce98922dde1b02830a3dbd4d5665dce9a41dd2e50039fce9d00fc402566bd255ff33447590 SHA512 6674fbf6b959e999820342134bb1ce9ed09c26d1fc914de0a6323d8b9cf84b56f0e9e775ec20f9249c1537d4f770188a404c21c510fa5656d6d94c209dd0fa22
+DIST julia-1.6.5-linux-i686.tar.gz 110088848 BLAKE2B 69aca0e09829d7be2466fe1fa4e105d3c82bb7f045ee61e2c88b478c92dc3ed1193dcf9b12e4cbce1335b193d5499e917d0e4bc13fae5d05607f54b89d5c371e SHA512 1e4e4268ecc62e81a015d04ba493458380c075e8c97dd9e15256ec34357ac7862454fc9ea8de6bba8fb82da234131910e1d8d8f01cac032bea4e8a54c931bb88
+DIST julia-1.6.5-linux-x86_64.tar.gz 113278959 BLAKE2B d70755a03ef3afe801400a6d8cbd817a873628a6cc77601ee53fbc45adecbc43067fdca021d817562864413f5bac09d3e87dd22834923d33cb9db32e8375b643 SHA512 cb07b609cf0dd3c67facba29def9d40bd55c5e7d8163bfd32ee2486b39cb31db9a4fe751b21ac69ebb128c4a146a11ccb27701d7729b6e2f0c32a5e983f1229a
+DIST julia-1.6.5-musl-x86_64.tar.gz 112330991 BLAKE2B 08a63d36ccbe3a1548fd6d8f4e6d310ec0c4a292550232aaf41d9bec4b39f9a559d09a1eeb4112a9d5d2e60c8baa1f29e21c3b63eda468de81215ac9ee2c5266 SHA512 c7d4946884d1348a291946b7acfa5f10ef8552e33c78b953681417f4b56913c3f496d8e1ad9334aae2d8b13386b0e07beee57b5015811b57f4bfdafbed6ed177
+DIST julia-1.7.1-freebsd-x86_64.tar.gz 116482170 BLAKE2B 8cb3b70e6d7776f5259302cf174bf5fa1314463e677306ea6a29c46ab6e67cf2b5778afdd06a75a941806ba2ad61ae6f221413d11a9845950b4e365e3add2516 SHA512 156d7e1f0b0a03f5869b53c9ab85010b656db8c8b14d8de5a824181cc6cf89ab1930d5251da5393316e3b96a5cf58169e434a5ca09b2862a6e1ed7b07781c7c7
+DIST julia-1.7.1-linux-aarch64.tar.gz 116035373 BLAKE2B a031b50152fb330c6eaad935fd5a1dd10937e0744c1936146e19baa713ee63d29c43468c8ddb787b4e74a98f733995fd6cb718a96fa56613d60f49aba2530902 SHA512 6caf6df0128dcd3fe9cd4c42356dc53e918c920f286fcefd6518d8eb0e6a7e1b34099bd5ccddae89f5f74b78d33582ad6a33d57781578558cb8b9a97ea5eb900
+DIST julia-1.7.1-linux-i686.tar.gz 118868387 BLAKE2B a6681b32f78d3bd986819e88ac16058d13fb435b5cf781ad9251d736b60071f1f77b64ff2ea98c26bbe31efe704bb7baecdae766bde7d1c18c7b1554b8ed504c SHA512 d3eeeed36a4f84e380524820719e76f00721a982bdc7800bdb9eea3fddcfbba3aab7b56d020d3332a261e71516af524354619eb443c9e4b29a8db721287f5033
+DIST julia-1.7.1-linux-x86_64.tar.gz 123374573 BLAKE2B 66ec84784493682f7de2568bbf0fbdd99ec4fba7461057457fc3daf3bee1eae7fbe8649e64d2bba4f58bf83fc16cfa97d360374b1483c4032919bac204c7dc0b SHA512 9cd5393325e45f1e0250c50e786f326c97e17f63851a99b9a025f2b2a3bf1cac80c57bf58ef0df9bee877ba9c74d99c94b6fe9bd2152c6a0964f708a880872f8
+DIST julia-1.7.1-musl-x86_64.tar.gz 122327279 BLAKE2B d19992d803e8c0616d7a95501db7a73c0be6523f956a8c393f74c14825ea6b80d1ea86c9b9f136b4a225b230e74460584c5b0c64e7e872c77fbc5ccee5cde024 SHA512 23a0d791ddad386031131516c0ee5048e158931071c65c52a268c2a838a4378fd3a25f7df48c279f130d8941737c2bb52bbda290672fc076962217cd7300f099
+EBUILD julia-bin-1.6.3.ebuild 1451 BLAKE2B 25923a9954d5a4f49885cad7ca536fd29636f9fc828967a1dd76d696ce46b58a79deb0f4aff78fa9b7b5ab77dd8e120703fc7f733f72de5c5b6a280c40736785 SHA512 0fc40071dd0abe3dd8acf19221e895be81cf86d125de0608233fc5a9d83035a82bd6c1a2b5f06a26be3a54edce25c2df9727df73dec140ab1413bd1ea6e0fee7
+EBUILD julia-bin-1.6.5.ebuild 1371 BLAKE2B a2a666ae13e9fe1801ac3f7b7961649763134d397ec6b607d06dda94bfbefb84743fbc1ab4de0c805c59f64cbb18d73de23e49402cd3207dbb7cfedf970aa206 SHA512 b8689d02388427759105c232c3193345b6fa867f6b64e0eac76638138bec4e8cf36a523ebc4d43cc611ad0775f2c5b0af5a8e4b22e928ac9534bbfe4482ceb06
+EBUILD julia-bin-1.7.1.ebuild 1378 BLAKE2B 2d0b1e5f9bcde8be65e2f2c6a0a23092d7937191b6c695694944075e042a4f6ae39dc80b831ec477f2ed14bb6eea8ab612ec71a8ed15263b352113790f885244 SHA512 b40ad72a84e7cd8e85cef5fb388f04608e3518293c357f23ce5a916c522265e0f2c00444bfbe208a1935513576c27404469832b74747aa16c70fdb6ebdaf58ae
+EBUILD julia-bin-9999.ebuild 1141 BLAKE2B a0800ef858e50a8b35d75abeee304d40b5fef78aa57324401a96d9bad018dc51ea3e076c3e7009caa3851fc2e1ecc9a5db4491ec9616588a87bb1de216528f1e SHA512 4792b49e102f5f9e7cad2326dddab52ee0841827e077439ee7da2ea5c45c0808e90e9407ebafd2bcca91025ce74142099f9323a3cfc0cbef330e512ce5933a91
MISC metadata.xml 1183 BLAKE2B 06fa4e15a89622a77691ffe2bacfd57e3902e091897f5bfa8bf43dda86fe15c3b4c35ad3e551553d94ba523d040107f251b07c29452a06ac79872e7d64ee79db SHA512 0782c75afd623f863add71870b5a6a4b643bd720797c3ab02e02ffe47133dd64f29958cdda5421bcb6d98ce2c5c7227ad1afcdb83c03ac84f30a989883226667
diff --git a/dev-lang/julia-bin/julia-bin-1.6.0.ebuild b/dev-lang/julia-bin/julia-bin-1.6.0.ebuild
deleted file mode 100644
index 90228ad34be7..000000000000
--- a/dev-lang/julia-bin/julia-bin-1.6.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-MY_PN=${PN/-bin/}
-MY_P=${MY_PN}-${PV/_/-}
-MY_PV=$(ver_cut 1-2)
-BASE_SRC_URI="https://julialang-s3.julialang.org/bin"
-
-DESCRIPTION="High-performance programming language for technical computing"
-HOMEPAGE="https://julialang.org/"
-SRC_URI="
- x86? ( ${BASE_SRC_URI}/linux/x86/${MY_PV}/${MY_P}-linux-i686.tar.gz )
- amd64? (
- elibc_glibc? ( ${BASE_SRC_URI}/linux/x64/${MY_PV}/${MY_P}-linux-x86_64.tar.gz )
- elibc_musl? ( ${BASE_SRC_URI}/musl/x64/${MY_PV}/${MY_P}-musl-x86_64.tar.gz )
- )
- amd64-fbsd? ( ${BASE_SRC_URI}/freebsd/x64/${MY_PV}/${MY_P}-freebsd-x86_64.tar.gz )
- arm64? ( ${BASE_SRC_URI}/linux/aarch64/${MY_PV}/${MY_P}-linux-aarch64.tar.gz )
- ppc64? ( ${BASE_SRC_URI}/linux/ppc64le/${MY_PV}/${MY_P}-linux-ppc64le.tar.gz )
-"
-
-LICENSE="MIT"
-SLOT="${MY_PV}"
-KEYWORDS="-* ~amd64 ~x86"
-IUSE="elibc_glibc"
-
-RDEPEND="
- !dev-lang/julia
- app-arch/p7zip
-"
-DEPEND="${RDEPEND}"
-
-RESTRICT="strip"
-
-QA_PREBUILT="*"
-QA_SONAME="*"
-
-S="${WORKDIR}/${MY_P}"
-
-src_install() {
- insinto "/usr/$(get_libdir)/${MY_P}/"
- doins -r ./etc
- doins -r ./include
- doins -r ./lib
- doins -r ./share
-
- exeinto "/usr/$(get_libdir)/${MY_P}/bin"
- doexe "bin/${MY_PN}"
- dosym "../$(get_libdir)/${MY_P}/bin/${MY_PN}" "/usr/bin/${MY_PN}${SLOT}"
-
- local revord=$(( 9999 - $(ver_cut 1) * 100 - $(ver_cut 2) )) # 1.6 -> 106
- newenvd - 99${MY_PN}${revord} <<-EOF
- PATH="${EROOT}/usr/$(get_libdir)/${MY_P}/bin"
- EOF
-}
diff --git a/dev-lang/julia-bin/julia-bin-1.6.2.ebuild b/dev-lang/julia-bin/julia-bin-1.6.2.ebuild
deleted file mode 100644
index 90228ad34be7..000000000000
--- a/dev-lang/julia-bin/julia-bin-1.6.2.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-MY_PN=${PN/-bin/}
-MY_P=${MY_PN}-${PV/_/-}
-MY_PV=$(ver_cut 1-2)
-BASE_SRC_URI="https://julialang-s3.julialang.org/bin"
-
-DESCRIPTION="High-performance programming language for technical computing"
-HOMEPAGE="https://julialang.org/"
-SRC_URI="
- x86? ( ${BASE_SRC_URI}/linux/x86/${MY_PV}/${MY_P}-linux-i686.tar.gz )
- amd64? (
- elibc_glibc? ( ${BASE_SRC_URI}/linux/x64/${MY_PV}/${MY_P}-linux-x86_64.tar.gz )
- elibc_musl? ( ${BASE_SRC_URI}/musl/x64/${MY_PV}/${MY_P}-musl-x86_64.tar.gz )
- )
- amd64-fbsd? ( ${BASE_SRC_URI}/freebsd/x64/${MY_PV}/${MY_P}-freebsd-x86_64.tar.gz )
- arm64? ( ${BASE_SRC_URI}/linux/aarch64/${MY_PV}/${MY_P}-linux-aarch64.tar.gz )
- ppc64? ( ${BASE_SRC_URI}/linux/ppc64le/${MY_PV}/${MY_P}-linux-ppc64le.tar.gz )
-"
-
-LICENSE="MIT"
-SLOT="${MY_PV}"
-KEYWORDS="-* ~amd64 ~x86"
-IUSE="elibc_glibc"
-
-RDEPEND="
- !dev-lang/julia
- app-arch/p7zip
-"
-DEPEND="${RDEPEND}"
-
-RESTRICT="strip"
-
-QA_PREBUILT="*"
-QA_SONAME="*"
-
-S="${WORKDIR}/${MY_P}"
-
-src_install() {
- insinto "/usr/$(get_libdir)/${MY_P}/"
- doins -r ./etc
- doins -r ./include
- doins -r ./lib
- doins -r ./share
-
- exeinto "/usr/$(get_libdir)/${MY_P}/bin"
- doexe "bin/${MY_PN}"
- dosym "../$(get_libdir)/${MY_P}/bin/${MY_PN}" "/usr/bin/${MY_PN}${SLOT}"
-
- local revord=$(( 9999 - $(ver_cut 1) * 100 - $(ver_cut 2) )) # 1.6 -> 106
- newenvd - 99${MY_PN}${revord} <<-EOF
- PATH="${EROOT}/usr/$(get_libdir)/${MY_P}/bin"
- EOF
-}
diff --git a/dev-lang/julia-bin/julia-bin-1.6.3.ebuild b/dev-lang/julia-bin/julia-bin-1.6.3.ebuild
index 90228ad34be7..3e5e33082b9a 100644
--- a/dev-lang/julia-bin/julia-bin-1.6.3.ebuild
+++ b/dev-lang/julia-bin/julia-bin-1.6.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -23,12 +23,8 @@ SRC_URI="
LICENSE="MIT"
SLOT="${MY_PV}"
KEYWORDS="-* ~amd64 ~x86"
-IUSE="elibc_glibc"
-RDEPEND="
- !dev-lang/julia
- app-arch/p7zip
-"
+RDEPEND="app-arch/p7zip"
DEPEND="${RDEPEND}"
RESTRICT="strip"
diff --git a/dev-lang/julia-bin/julia-bin-1.5.3.ebuild b/dev-lang/julia-bin/julia-bin-1.6.5.ebuild
index 08f329907e4f..9a4fdcacbe04 100644
--- a/dev-lang/julia-bin/julia-bin-1.5.3.ebuild
+++ b/dev-lang/julia-bin/julia-bin-1.6.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -22,12 +22,8 @@ SRC_URI="
LICENSE="MIT"
SLOT="${MY_PV}"
KEYWORDS="-* ~amd64 ~x86"
-IUSE="elibc_glibc"
-RDEPEND="
- !dev-lang/julia
- app-arch/p7zip
-"
+RDEPEND="app-arch/p7zip"
DEPEND="${RDEPEND}"
RESTRICT="strip"
@@ -49,7 +45,7 @@ src_install() {
dosym "../$(get_libdir)/${MY_P}/bin/${MY_PN}" "/usr/bin/${MY_PN}${SLOT}"
local revord=$(( 9999 - $(ver_cut 1) * 100 - $(ver_cut 2) )) # 1.6 -> 106
- newenvd - "99${MY_PN}{revord}" <<-EOF
+ newenvd - 99${MY_PN}${revord} <<-EOF
PATH="${EROOT}/usr/$(get_libdir)/${MY_P}/bin"
EOF
}
diff --git a/dev-lang/julia-bin/julia-bin-1.5.2.ebuild b/dev-lang/julia-bin/julia-bin-1.7.1.ebuild
index e7e4a6d130de..d9847a3c745b 100644
--- a/dev-lang/julia-bin/julia-bin-1.5.2.ebuild
+++ b/dev-lang/julia-bin/julia-bin-1.7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -21,13 +21,9 @@ SRC_URI="
LICENSE="MIT"
SLOT="${MY_PV}"
-KEYWORDS="-* ~amd64 ~x86"
-IUSE="elibc_glibc"
+KEYWORDS="-* ~amd64 ~arm64 ~x86"
-RDEPEND="
- !dev-lang/julia
- app-arch/p7zip
-"
+RDEPEND="app-arch/p7zip"
DEPEND="${RDEPEND}"
RESTRICT="strip"
@@ -49,7 +45,7 @@ src_install() {
dosym "../$(get_libdir)/${MY_P}/bin/${MY_PN}" "/usr/bin/${MY_PN}${SLOT}"
local revord=$(( 9999 - $(ver_cut 1) * 100 - $(ver_cut 2) )) # 1.6 -> 106
- newenvd - "99${MY_PN}${revord}" <<-EOF
+ newenvd - 99${MY_PN}${revord} <<-EOF
PATH="${EROOT}/usr/$(get_libdir)/${MY_P}/bin"
EOF
}
diff --git a/dev-lang/julia-bin/julia-bin-9999.ebuild b/dev-lang/julia-bin/julia-bin-9999.ebuild
index 4076300d1b29..6bbced1a966e 100644
--- a/dev-lang/julia-bin/julia-bin-9999.ebuild
+++ b/dev-lang/julia-bin/julia-bin-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,11 +13,8 @@ SRC_URI=""
LICENSE="MIT"
SLOT="9999"
-IUSE="elibc_glibc elibc_FreeBSD"
-RDEPEND="!dev-lang/julia
- app-arch/p7zip
-"
+RDEPEND="app-arch/p7zip"
DEPEND="${RDEPEND}"
RESTRICT="strip"
diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest
index 09e71a82e43d..e7d3decb2066 100644
--- a/dev-lang/julia/Manifest
+++ b/dev-lang/julia/Manifest
@@ -4,19 +4,27 @@ AUX julia-1.4.0-no_symlink_llvm.patch 335 BLAKE2B 0df56ed45619df80b669bc790e0f93
AUX julia-1.6.0-fix-hardcoded-libs.patch 1524 BLAKE2B 65e07624f908faeced4b90bc74bf67c8c21e36e172590d071f5bd1d2b74f50ce9f948eff41e9048a776d12d840b36a6f0e40c37972716ab5ab515c02da395d52 SHA512 acd51d0e61eb4241a5d8095f53fc28bd790990664df247027123d5602d7bf1b71b6aed10974087698d1e0d7d70c59a4e30f3565b8cf897f6f5028c8a9af560e0
AUX julia-1.6.0-fix-system-csl.patch 11191 BLAKE2B 224ce4e2abe11c2b4d91b63e6f717080150baf45219d2c94f31d78d962db5b139d791ce8d2761b7ac4e22201d4b5770ac9211d354b24285da3ca7e0b78f00baf SHA512 bb32848b96b7933f11c9db2d52494576e4b669c375721e7715654370413733762077a670a1102cb27d177b6ee798e312c7388febfef98948bcb39fad67d815b9
AUX julia-1.6.3-glibc-2.34.patch 1111 BLAKE2B 739af8b2b8c07113f7d5c6d0eaa92dc4bb9f6fc7968c6df00ef671ed89011bbb4ca232f3428fb3427067b28cceef350c1b42fb40b6eaca38304fbe2978f0ad99 SHA512 f09ff9e3ff163c9dc84c0b875b1caa74ccbf2fcc78719389e15dbd5b3fbac10f27f472e5d1f72890f8adb429b78e5ddff825a8637c5195e1952f497d8f5ea895
-DIST julia-1.5.3.tar.gz 6949901 BLAKE2B 08f8496980a9bbb9effc0c72cb6b7a5ce1dbd1774735caa366ddc1bb5404117111c624a639f6eb48360061f9fc597a7b37dff24f8555f03ebc4a22524cbeb3b8 SHA512 9e644a64fd6e2caf0390a2bc470084406c078244e65b70a2e3b031d5806c1dff780273ccccfe4bccfd8c03778b7d3a44de7a84bd13f3512afe6864efa5a730fc
-DIST julia-1.6.0.tar.gz 7711314 BLAKE2B 135862347a7f3a954acb8d8e17350fbdda84b4813d8498b862e107836a0d29d6e70a26c39c0c29655e6348a5a3afd5b4d7e9824cb88c9e8d31c4515468f46d5b SHA512 41dea60c08882a8f8f9024eb2285c30dbbc68e2256ed6afd5bf956a1828239128b2f39b4ce733a438eafe3b2324ff06dec5c1eb7c9b0f838b2daa972f587d909
+AUX julia-1.6.5-do_not_set_rpath.patch 1052 BLAKE2B 4f25a12c9cd6e345ecb1551c52ced8671984732fd673c88176bce8c4b9057785cd806987f60bd8c756c7c486ba80dafbc3f0b4314ab29c3156c22e7c508d1a60 SHA512 49e60f32bbc0e6d2df77f2f732b5a8bf23cfa7392eb5eac2eba70d85b07cfde19b3f4b0c41542d69bc71526f99401e6fc7ee78fc1cc15738e1145876786b0d1a
+AUX julia-1.6.5-hardcoded-libs.patch 2704 BLAKE2B 253d67a5de0278abf17d05f8e9a7f000f89f91d44779e4e93aa8b1a6388283af31e902913892a48ac4d587a6e009b69a4e81358cdd66b9e5471fdd7594482b85 SHA512 a498df49722f53cd598504fea47d54ec25d31f625342d47fb5f810e26ae73781597f6d008ce0f2978dd36c6bfb986c5ab4ce92ef1b6d01f31be8fa4add90553d
+AUX julia-1.6.5-lazy_artifacts_fix.patch 992 BLAKE2B 427a6b69fd07aed3bffc360e0ebd9fe9a15628ea0d2b5d3ac9821ebf2b029446f48f3cafb68a040c1f0deaec874a8350b791598a45794ee83d4ea55d8d16a511 SHA512 e21d53fa24db24966e536d342a0ebb4d6872df0968e4868db704a9d8398b6a1064fc7b00e395048143a4f55740fd1cf1b1c0bae9e53492041820ed54b86f320a
+AUX julia-1.6.5-llvm_13_compat_part_4.patch 1176 BLAKE2B 929f811f68f327b65a4e0505cc9ffb161c889873084d84ff2f1967fccc2e66a49889c8d7786179be0cf0d1072646fbd24575d98d890c47cee4128fb28e746fd0 SHA512 a56d53afef18c2f7af5088f60085d83592204ebf53670571bd76a4dfb07f286eb7d46f23c54176a8148dd8665ec3ba3419429ab435bc037841daf3084b065df6
+AUX julia-1.6.5-llvm_bad_perf_fix.patch 1261 BLAKE2B 2cd62550b5de1bbe81dbad29dd04d9316dc811db124056afc45505f33d38139a903a05e91457e58039f8f9a06673cbe5fe971c1e0d4c73d47018a6123b4c20ff SHA512 a9ce3f1a7a6f88c5e6afd6a024aa9c9cf938a003220d1adb986840da7f9ac5ff8d54c6539cd64beef108c688592e3a7fe20cc2bc86aaf0b92d5534463ca5246a
+AUX julia-1.7.0-do_not_set_rpath.patch 1432 BLAKE2B aa4cbe505b8c26da05cab44f09c6457e978ce7e54b57d4e5065bb75eeb378d27e7bbd68cf64e8f1b2f31ec68172b80e08c825fb53e8319c4a66e1d00e7176e7c SHA512 9e5b71b773a1d64f369ae5002800d5291209b9b4cc16587550b013b2dfaa1311b0016f76862565575bba6a9989cbc7d2fa8dbe6d4925e25b20f7ae75f97a2a25
+AUX julia-1.7.0-hardcoded-libs.patch 2548 BLAKE2B fa09f79826ba95c4bbbf094e19789aa670c980a936705b2904fda1615174814a13b7f8d128f969dcaa9f7e976c949bfff15aff2ce7008847e19080cc291d56c8 SHA512 934b4e147e25f003944da64feeae971164aed055d7442f80f4598f5c714cc431dad79d9504d60ca09bd0974ec1dfac8eb7db028af441ce6e2095d9acae6ab370
+AUX julia-1.7.0-libgit-1.2.patch 800 BLAKE2B 669c30ae7c00c69feb7edb34d87c3c19ab7015d8634cd3c052a8f6ee2a28be7c7314e01298e95f9d4b00851feb6bab48c44d15eb425f912050f31b26db57c912 SHA512 a4facb24520d8bfe4486291e3537bb5d56ce5fd1aebd9c1ebe657306d0e4a9cfa8cc235c2d715c1b9f4ecb3359cf3ea1dc0b4ff68d4c9a29ff578b4c667d09a2
+AUX julia-1.7.0-llvm_13_compat_part_1.patch 6957 BLAKE2B 581076ba652db52a3948c9bb42c5a2481b5fffa92fb1dcbcd007f2edb3a950ac49ec015f7571c29b50ae243d5e8e9e25952b7cbac9a3b5ec8bd94769104e2891 SHA512 5a7d8202ede9daed2149f3bc30dcf76d0d25f1734b91df3780b405fbd493f4a6f75c851f97a8d27e9ea5753f5003af3c5eb8193ee61cf5808acf56dca1ebb0ba
+AUX julia-1.7.0-llvm_13_compat_part_2.patch 2897 BLAKE2B 7896e392fb8c2364fa10921f7396206fb6785dc430256646a537dcfb0c05a7d8faaa33feab7dad61c6c6e57c33f89eb0ce1eea85c3148622e61b3f0ce83c2164 SHA512 f8a7060236afd28da260e8dff5d69b2562d9cd204f090e1868592aa9d59df015a3a6d0bb19e1dfbaaa3825a8b81152f0e154e06cd31c87e89916269bbef68203
+AUX julia-1.7.0-llvm_13_compat_part_3.patch 13351 BLAKE2B 76a72595a104ce290bce7a37ca6f3f29754753ac20ed3c2beeb9fce92d5aeda2b1396e523f70c0fb2eb16d4dc9cc888ebb5e78bc22f2689335cfca11f6b77630 SHA512 128896ab9bf161d7b596a0330977a598f57c19e34066281e7aa2d512e66f1a9d2bbff537af5b5b99198bef7a02e17a32eaafcff6f1ac2bfeef525e0763bf96b7
+AUX julia-1.7.0-make-install-no-build.patch 691 BLAKE2B 4f36445f2067c4b983f3ece17cd3866adc1df39ef6b02714dffe10df8febd326cba9f7a1b85f52bef739d4e15a906e9d1990315f974b981c5ecc8b4c7a487113 SHA512 4be8de4913b58a3a84782f08a569b96741f8c9c7ff3378e34624ad9b250c7c7f2dbed9a1d2a8227f105802a89e589ef4abd3d512793d90741dd35c56a8fff75f
DIST julia-1.6.3.tar.gz 7734900 BLAKE2B 679851ee159ac83f49e54f1d71068d4abde919a0da39475dccaecc97e705b87db70c38a55fbc7a0cfacc774291013b189fb516817d6c6e67ca5ccfbb515c3f90 SHA512 a622fddc9e9f3f47037053a1e722153a567c065723f99a97912f8c5a6c2a22c3be0be674325361dd1b04601bbe6c6f204c66004ce887f3f7822e8204fd6855de
-DIST julia-Pkg-49908bffe83790bc7cf3c5d46faf3667f8902ad4.tar.gz 389738 BLAKE2B 1ed9201badf0a1db5142e0566bfe085b364e4681670937ac5fa53c15312ff8eb29d5e783b75fe3f4f379b041ba38c66ce94962fa7d98fcfd0b7b49acd1749d69 SHA512 a85aa80b3080794a8e3ae5ce54856e63457c461659c12fde5dde1b5ec33176ea06af49ee516d01ccd7b78d8358de2fe0ffcd5c6a6d5a5088cdcd76a0133780eb
-DIST julia-UnicodeData-13.0.0.txt 1851767 BLAKE2B 72bbcf352f2f6a004abb3f351fe5da160e83644feea8de0ca154b5a1aa78f36cb04b252d0c7b64a5eeca388e600b2875bb76bc2746ee799a1a6eff97c1fe8b06 SHA512 1a4a662e2ab33469976bf5f91aa6933ed9b73f6d4179a2daffb349e1869d7d6cfa885b164e82d15dcdad7458cd451c81add58d875eb0c70de854589dc97b2055
-DIST julia-dsfmt-2.2.3.tar.gz 291773 BLAKE2B 6ffae90494d72527920c80fc0fb005da1c7b84f8a03a7ecb0789434c0fff97359e5098e85431896dffccc7d5148c414e847aaba5feef648b8788421a466ff65e SHA512 6d8ddcd01aab3f9039f4f0288a8af53e290cc2f293ed8c4a8c9f3b3f12398e7eedfce8016117b425766ba89c61c86c13b3e420035b5f9bf91315b8b814c03662
-DIST julia-libuv-1fcc6d66f9df74189c74d3d390f02202bb7db953.tar.gz 1590342 BLAKE2B eca658f74421587aec78cb38f5a712033afb072e6425a6ce28fd5d4bac61e41cacbd5a850c1f2b29c386b944d1d9c4f16b7d090f7d2dd6b963b5dbc94ae18981 SHA512 70b0c738a60b4e476750b7de8d120e735359e2c36fcb3a8a38628a0ae326210ed3b15d793dfd5443d7aa5603e83e7d99f567aa4c1696846d950df9f83648669c
+DIST julia-1.6.5-full.tar.gz 153795029 BLAKE2B b86d3ad8dbc4ce486cc0d5e3c25f40c0bedf38cab5b29f1aac4dd527650e78c2e0e462f4eb13fde787adf48a2de9f8eee9cfb8f4aaafbae6ee5e76d7d9608995 SHA512 f057a913f4579280d757c0a97a7cd800fb335be8ec83a27a577d2bee0c9736d49715c7861f7bc1e6461966634bd82890f1f69fd0167f21903ad614e8f70e0dcc
+DIST julia-1.7.0-full.tar.gz 255670801 BLAKE2B e7c5be50ab9e7014f028cf7d0530b269e78dd798dc3d4a88af2ed9fa1331694e39fbcae26d2cae6f15aaf1087656384c9872f344f99121406abdf2902a200176 SHA512 00e1bfe354010f5d900476e46b471c4425b711fff5a2aa0ac9e5dbe6ff02245011d4297e4703f2d46f7d4e7b6d97ffaf1bc63170edbfec440196c5ec75c984ce
+DIST julia-1.7.1-full.tar.gz 255682275 BLAKE2B 923cd1ed735f1ff5537ff8655ba5b63cc8d27a9b36ba05f3942447bea67034ad771ca8f69192ca7718ab3aace5d12c0e08961eafead9aedb9af35e2d212e8e97 SHA512 df6c9d33ed69c1b53a7f77f95954d4ed5fadb176ebf9f490e7721bc036109edfaa5873ce9041620af1d5c3731db7acc5af932b4173ce54bcc7ae3d7c9c393638
DIST julia-libuv-fb3e3364c33ae48c827f6b103e05c3f0e78b79a9.tar.gz 1643008 BLAKE2B b2a121e0b94cd1f5d40e292fc2356e8940bf8dfe1e6a200b50caf60def1982b705d1d42dd234e9e8b0aa70439bf34a5bce71761424623cbfcd20c9131ce09c25 SHA512 29947c236aef8931be4767df1cd8404ee9b036ee107b31cbce6fad9a97743df57d068b15bc4bd00320b9b81cd879258a9ec9dc675853e424ccdb8d6bdd226240
DIST julia-libwhich-81e9723c0273d78493dc8c8ed570f68d9ce7e89e.tar.gz 4183 BLAKE2B c932e23b1b476d3fd16cf6f451efd5fc6d9c1ec2c53e8ac086340a100817d9b30dae3eff50b284a42c09b2bbae30b9e2fd38b2881f8cbf4974a89f3bd0c87599 SHA512 6fb77b715d70d9bc95a8546c3bf97bd3677c7ea344b88bb5bc3bbfac9dceabe8a8cde7a0f64dec884cde802e4a3000e30837d3f824b5a9242348c4fe061526a3
-DIST julia-utf8proc-0890a538bf8238cded9be0c81171f57e43f2c755.tar.gz 155521 BLAKE2B 32dc1a8fb641e89057d317e579f1802b7f7dfbdbea7f91c01b282b9a88c2fc6143743d5e45f46d6d465857cfe1b28bd39e9a0da19e80516536c57cb62b139d27 SHA512 95d6dba2bbdfc5003f6d21fd02c926c7db9661895010041aacee55fa11dc2524bcffaa90965e2a9a8f2a9e49e93ec7572d6a4de6d5d9f9e075b787537864ea20
DIST llvm-11.0.1.src.tar.xz 38914796 BLAKE2B ccdec0632c9cf5fae8e6947c266136e04dc8c609e2ca9c1efb1205767d9181301e0de14601d11e2f27ec0ebc0749858a5f1089d8a40a9ae3f22582cbf6abef6e SHA512 b42c67ef88e09dd94171f85cdf49a421a15cfc82ff715c7ce6de22f98cefbe6c7cdf6bf4af7ca017d56ecf6aa3e36df3d823a78cf2dd5312de4301b54b43dbe8
-DIST llvm-9.0.1.src.tar.xz 33035112 BLAKE2B 5ae7ac42507cb14983eec0785dfc9b9c788cae75d5493ddf6734da55d3733cc90e35634aa39aa536654d4b68c3ccb7c2f989746f21c634c8989a57d9d32a15b2 SHA512 bfb6960a4dd1e18f4005f324f478a781c69e8ec7c20569d9b243fcb9372dc7733b254f26c683373537990cc9c109c78eaf0f65449629ee17caca1bce9b9ccccd
-EBUILD julia-1.5.3.ebuild 6132 BLAKE2B 3b810ee69e088d3efc193644b0aadd4d1cc9c92ebe86ae9e9aea4551b37b28868c228b96baf7007dd703db7ea1ea70003c33fa69812795afbcea48c546ea8d5b SHA512 30a16c894ac50cb763eaa97a4148dd105f61563d119ccaf47bbb36f0d2a392c5e10bbd2096bb19e8ed9022543adc861b57a1cf9718797e0bdfc953fc20f7ca6a
-EBUILD julia-1.6.0-r2.ebuild 4608 BLAKE2B 7d6c844e51454236b5f349fb70c6a40eb32bc2271c25fbe4c1fc15f7d70f0b926f8b054de2b86a0b5bf085ab034361920965f8dc608c320ce41958454f4d983d SHA512 b24280f4830169ce907868c6bf63e4560adc3ea7160c44f161b74088bdf3c7d40dc6e70894fe826c4dc5c4b1c37c7d16034de3314f05ec4ceb9346c022a0d28a
EBUILD julia-1.6.3.ebuild 4604 BLAKE2B 8e5a273feaf93fa44aaf5f4e37ba429125006566184f65af6309e118799d9087a523317322dea5282c39c919a492fa28b24c8fedec5290bee6265cd50e145718 SHA512 2f06acbc40b6d081e15433d374ce268d0a4a290f1f720a690ee0d5bb94b6f99688ba996989b340f0b4801a70574c942ba93ea0ccd381cfe4cf0e5df75e3e89c7
+EBUILD julia-1.6.5.ebuild 4693 BLAKE2B 71714cd0cd3e05fddc25fbd29210b9e1f3e1b4d7381a15958d337785018f75c104bd70637137dc89c803f71aae221e6f03aec09d92c10eea89386cef0fcd8bf9 SHA512 70ef664f044b03f704343b0517b83f978e61be25a335ba8211dd7ebe2fc57a6e4dc66b03aab6df1770bb24e07b5ecf22947d614b962cea0030c75ded3fca0987
+EBUILD julia-1.7.0.ebuild 4496 BLAKE2B e35e93a9084ac3708ab28c42cee312534d498213cff1c93fe5bd38cd89fd2d09cda66406fbdaa490e0598724f90b7e565b8d8d2988f1b25b2abc1e961dc1f2c2 SHA512 3d1d621f65954bee0cb0aae9a2799769abd784f292d7909d5bb506c0d89094dc934ddb16343b5fcba714a4a0228fed8f237d15eb10d25cad9ed323f6e25ad46e
+EBUILD julia-1.7.1.ebuild 4496 BLAKE2B b7694f1cc0d4e98ec94f5e625e1b9c52016fcda626b0d0f45edceabef3d9b9f8a517a974f95d1008cfaba5e400f524a350741e22c5a98e9703dc5db55f4e6349 SHA512 e925d620de4a833fb0322a97d725b31df3ddbab116a925a2d303fae0bfda8a96b14fd1ceb7c1cc9a6c5387ed854136b3a5cc93d5e90f1f33e889a806a16a7c6b
MISC metadata.xml 1530 BLAKE2B 776f8e2eaaebf6a0429b9019ec606c76f80828c5d27ec07f6503e855d44f681a476d9fe0631de0eb0f609b0256e063c172e8fbfacd3e37118e66c07ade2cb42d SHA512 d172e00e631a7a4e4b61c0f3ad90849b189c8b8aa8586fceb63c26ca407c4e477339f51b05d48681be37d06b873d6c2fce62b61efb4b9874323d92022d570288
diff --git a/dev-lang/julia/files/julia-1.6.5-do_not_set_rpath.patch b/dev-lang/julia/files/julia-1.6.5-do_not_set_rpath.patch
new file mode 100644
index 000000000000..c0c05cc649a0
--- /dev/null
+++ b/dev-lang/julia/files/julia-1.6.5-do_not_set_rpath.patch
@@ -0,0 +1,20 @@
+--- a/Makefile 2021-12-21 09:38:26.782829864 +0100
++++ b/Makefile 2021-12-21 10:52:40.760565902 +0100
+@@ -336,7 +336,7 @@
+ install_name_tool -add_rpath @executable_path/$(build_libdir_rel) @executable_path/$(libdir_rel) $(DESTDIR)$(bindir)/$$j; \
+ done
+ endif
+-else ifneq (,$(findstring $(OS),Linux FreeBSD))
++else ifneq (,$(findstring $(OS),FreeBSD))
+ for j in $(JL_TARGETS) ; do \
+ $(PATCHELF) --set-rpath '$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j; \
+ done
+@@ -357,7 +357,7 @@
+ endif
+
+ # Set rpath for libjulia-internal, which is moving from `../lib` to `../lib/julia`. We only need to do this for Linux/FreeBSD
+-ifneq (,$(findstring $(OS),Linux FreeBSD))
++ifneq (,$(findstring $(OS),FreeBSD))
+ $(PATCHELF) --set-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-internal.$(SHLIB_EXT)
+ ifeq ($(BUNDLE_DEBUG_LIBS),1)
+ $(PATCHELF) --set-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-internal-debug.$(SHLIB_EXT)
diff --git a/dev-lang/julia/files/julia-1.6.5-hardcoded-libs.patch b/dev-lang/julia/files/julia-1.6.5-hardcoded-libs.patch
new file mode 100644
index 000000000000..fcbc42cd18e6
--- /dev/null
+++ b/dev-lang/julia/files/julia-1.6.5-hardcoded-libs.patch
@@ -0,0 +1,76 @@
+This pacth is very similar to julia-hardcoded-libs-1.7.0.patch,
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-hardcoded-libs.patch
+with changed line
+ const libLLVM = "libLLVM-11jl.so"
+to the line
+ const libLLVM = "libLLVM-12jl.so"
+
+diff --git a/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl b/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl
+index a7ca666b23..b84a42f4e7 100644
+--- a/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl
++++ b/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl
+@@ -31,9 +31,9 @@ elseif Sys.isapple()
+ const libmbedtls = "@rpath/libmbedtls.13.dylib"
+ const libmbedx509 = "@rpath/libmbedx509.1.dylib"
+ else
+- const libmbedcrypto = "libmbedcrypto.so.5"
+- const libmbedtls = "libmbedtls.so.13"
+- const libmbedx509 = "libmbedx509.so.1"
++ const libmbedcrypto = "libmbedcrypto.so"
++ const libmbedtls = "libmbedtls.so"
++ const libmbedx509 = "libmbedx509.so"
+ end
+
+ function __init__()
+diff --git a/stdlib/libLLVM_jll/src/libLLVM_jll.jl b/stdlib/libLLVM_jll/src/libLLVM_jll.jl
+index fa45e754e5..b51812e3a8 100644
+--- a/stdlib/libLLVM_jll/src/libLLVM_jll.jl
++++ b/stdlib/libLLVM_jll/src/libLLVM_jll.jl
+@@ -23,7 +23,7 @@ if Sys.iswindows()
+ elseif Sys.isapple()
+ const libLLVM = "@rpath/libLLVM.dylib"
+ else
+- const libLLVM = "libLLVM-11jl.so"
++ const libLLVM = "libLLVM.so"
+ end
+
+ function __init__()
+diff --git a/stdlib/nghttp2_jll/src/nghttp2_jll.jl b/stdlib/nghttp2_jll/src/nghttp2_jll.jl
+index 8b98c76ac5..77ad9e3800 100644
+--- a/stdlib/nghttp2_jll/src/nghttp2_jll.jl
++++ b/stdlib/nghttp2_jll/src/nghttp2_jll.jl
+@@ -22,7 +22,7 @@ if Sys.iswindows()
+ elseif Sys.isapple()
+ const libnghttp2 = "@rpath/libnghttp2.14.dylib"
+ else
+- const libnghttp2 = "libnghttp2.so.14"
++ const libnghttp2 = "libnghttp2.so"
+ end
+
+ function __init__()
+diff --git a/stdlib/LibGit2_jll/src/LibGit2_jll.jl b/stdlib/LibGit2_jll/src/LibGit2_jll.jl
+index f0d4b5dda6..2ed3017b51 100644
+--- a/stdlib/LibGit2_jll/src/LibGit2_jll.jl
++++ b/stdlib/LibGit2_jll/src/LibGit2_jll.jl
+@@ -23,7 +23,7 @@ if Sys.iswindows()
+ elseif Sys.isapple()
+ const libgit2 = "@rpath/libgit2.1.1.dylib"
+ else
+- const libgit2 = "libgit2.so.1.1"
++ const libgit2 = "libgit2.so"
+ end
+
+ function __init__()
+diff --git a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl
+index 215de8aed6..918d1ffdc2 100644
+--- a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl
++++ b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl
+@@ -22,7 +22,7 @@ if Sys.iswindows()
+ elseif Sys.isapple()
+ const libopenlibm = "@rpath/libopenlibm.3.dylib"
+ else
+- const libopenlibm = "libopenlibm.so.3"
++ const libopenlibm = "libopenlibm.so"
+ end
+
+ function __init__()
diff --git a/dev-lang/julia/files/julia-1.6.5-lazy_artifacts_fix.patch b/dev-lang/julia/files/julia-1.6.5-lazy_artifacts_fix.patch
new file mode 100644
index 000000000000..9e0d5ecf1a32
--- /dev/null
+++ b/dev-lang/julia/files/julia-1.6.5-lazy_artifacts_fix.patch
@@ -0,0 +1,30 @@
+Patch from
+https://github.com/JuliaLang/julia/commit/d6a655bc.patch
+ Fix LazyArtifacts tests
+
+From d6a655bcfb610130626470e1aa5e2fc28a014b4a Mon Sep 17 00:00:00 2001
+From: Jameson Nash <vtjnash@gmail.com>
+Date: Thu, 24 Dec 2020 00:29:37 -0500
+Subject: [PATCH] codegen: use new freeze intrinsics to avoid poison UB
+ (#38977)
+
+LLVM would likely be required to insert this anyways to make hoisting
+legal (converting branches to and/or), so might as well add it
+ourselves, so that users can legally write that code directly.
+---
+ src/intrinsics.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/intrinsics.cpp b/src/intrinsics.cpp
+index ada6166c1ceb..b5160bbc39c0 100644
+--- a/src/intrinsics.cpp
++++ b/src/intrinsics.cpp
+@@ -542,6 +542,8 @@ static jl_cgval_t generic_cast(
+ #endif
+ }
+ Value *ans = ctx.builder.CreateCast(Op, from, to);
++ if (f == fptosi || f == fptoui)
++ ans = ctx.builder.CreateFreeze(ans);
+ return mark_julia_type(ctx, ans, false, jlto);
+ }
+
diff --git a/dev-lang/julia/files/julia-1.6.5-llvm_13_compat_part_4.patch b/dev-lang/julia/files/julia-1.6.5-llvm_13_compat_part_4.patch
new file mode 100644
index 000000000000..839dd4ba39a0
--- /dev/null
+++ b/dev-lang/julia/files/julia-1.6.5-llvm_13_compat_part_4.patch
@@ -0,0 +1,35 @@
+Patch from
+ https://github.com/JuliaLang/julia/commit/a2d85f6d.patch
+
+
+From a2d85f6dc63439aea9f973bacb55006596fdb2b8 Mon Sep 17 00:00:00 2001
+From: Fangrui Song <i@maskray.me>
+Date: Tue, 4 May 2021 11:53:40 -0700
+Subject: [PATCH] Replace llvm::sys::fs::F_None with llvm::sys::fs::OF_None
+ (#40666)
+
+The former is deprecated.
+OF_None has been available in LLVM since 2018-06.
+---
+ src/codegen.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/codegen.cpp b/src/codegen.cpp
+index ee5ec4dce0c1..bc60798220d5 100644
+--- a/src/codegen.cpp
++++ b/src/codegen.cpp
+@@ -8092,12 +8092,12 @@ extern "C" void jl_dump_llvm_mfunction(void *v)
+
+ extern void jl_write_bitcode_func(void *F, char *fname) {
+ std::error_code EC;
+- raw_fd_ostream OS(fname, EC, sys::fs::F_None);
++ raw_fd_ostream OS(fname, EC, sys::fs::OF_None);
+ llvm::WriteBitcodeToFile(*((llvm::Function*)F)->getParent(), OS);
+ }
+
+ extern void jl_write_bitcode_module(void *M, char *fname) {
+ std::error_code EC;
+- raw_fd_ostream OS(fname, EC, sys::fs::F_None);
++ raw_fd_ostream OS(fname, EC, sys::fs::OF_None);
+ llvm::WriteBitcodeToFile(*(llvm::Module*)M, OS);
+ }
diff --git a/dev-lang/julia/files/julia-1.6.5-llvm_bad_perf_fix.patch b/dev-lang/julia/files/julia-1.6.5-llvm_bad_perf_fix.patch
new file mode 100644
index 000000000000..f38c26bfd52e
--- /dev/null
+++ b/dev-lang/julia/files/julia-1.6.5-llvm_bad_perf_fix.patch
@@ -0,0 +1,33 @@
+Patch from
+ https://github.com/JuliaLang/julia/commit/7df16be0.patch
+fixes bad performance with LLVM 12
+
+From 7df16be0bfafee6d304ee0690366fa33845cc8d6 Mon Sep 17 00:00:00 2001
+From: Valentin Churavy <v.churavy@gmail.com>
+Date: Wed, 12 May 2021 18:44:40 -0400
+Subject: [PATCH] [LLVM] add correlated value propagation after jump threading
+
+---
+ src/aotcompile.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/aotcompile.cpp b/src/aotcompile.cpp
+index db3f9f4b0e22..4cc22d127528 100644
+--- a/src/aotcompile.cpp
++++ b/src/aotcompile.cpp
+@@ -692,6 +692,7 @@ void addOptimizationPasses(legacy::PassManagerBase *PM, int opt_level,
+ PM->add(createSROAPass());
+ PM->add(createInstSimplifyLegacyPass());
+ PM->add(createJumpThreadingPass());
++ PM->add(createCorrelatedValuePropagationPass());
+
+ PM->add(createReassociatePass());
+
+@@ -743,6 +744,7 @@ void addOptimizationPasses(legacy::PassManagerBase *PM, int opt_level,
+ // loops over Union-typed arrays to vectorize.
+ PM->add(createInstructionCombiningPass());
+ PM->add(createJumpThreadingPass());
++ PM->add(createCorrelatedValuePropagationPass());
+ PM->add(createDeadStoreEliminationPass());
+
+ // More dead allocation (store) deletion before loop optimization
diff --git a/dev-lang/julia/files/julia-1.7.0-do_not_set_rpath.patch b/dev-lang/julia/files/julia-1.7.0-do_not_set_rpath.patch
new file mode 100644
index 000000000000..24f12d261053
--- /dev/null
+++ b/dev-lang/julia/files/julia-1.7.0-do_not_set_rpath.patch
@@ -0,0 +1,29 @@
+--- a/Makefile 2021-12-21 09:38:26.782829864 +0100
++++ b/Makefile 2021-12-21 10:52:40.760565902 +0100
+@@ -336,7 +336,7 @@
+ install_name_tool -add_rpath @executable_path/$(build_libdir_rel) @executable_path/$(libdir_rel) $(DESTDIR)$(bindir)/$$j; \
+ done
+ endif
+-else ifneq (,$(findstring $(OS),Linux FreeBSD))
++else ifneq (,$(findstring $(OS),FreeBSD))
+ for j in $(JL_TARGETS) ; do \
+ $(PATCHELF) --set-rpath '$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j; \
+ done
+@@ -357,7 +357,7 @@
+ endif
+
+ # Set rpath for libjulia-internal, which is moving from `../lib` to `../lib/julia`. We only need to do this for Linux/FreeBSD
+-ifneq (,$(findstring $(OS),Linux FreeBSD))
++ifneq (,$(findstring $(OS),FreeBSD))
+ $(PATCHELF) --set-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-internal.$(SHLIB_EXT)
+ ifeq ($(BUNDLE_DEBUG_LIBS),1)
+ $(PATCHELF) --set-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-internal-debug.$(SHLIB_EXT)
+@@ -365,7 +365,7 @@
+ endif
+
+ # Set rpath for LLVM.so which is `$ORIGIN/../lib` moving from `../lib` to `../lib/julia`. We only need to do this for Linux/FreeBSD
+-ifneq (,$(findstring $(OS),Linux FreeBSD))
++ifneq (,$(findstring $(OS),FreeBSD))
+ $(PATCHELF) --set-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libLLVM.$(SHLIB_EXT)
+ endif
+
diff --git a/dev-lang/julia/files/julia-1.7.0-hardcoded-libs.patch b/dev-lang/julia/files/julia-1.7.0-hardcoded-libs.patch
new file mode 100644
index 000000000000..be7d20368f6d
--- /dev/null
+++ b/dev-lang/julia/files/julia-1.7.0-hardcoded-libs.patch
@@ -0,0 +1,72 @@
+This pacth comes from:
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-hardcoded-libs.patch
+
+diff --git a/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl b/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl
+index a7ca666b23..b84a42f4e7 100644
+--- a/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl
++++ b/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl
+@@ -31,9 +31,9 @@ elseif Sys.isapple()
+ const libmbedtls = "@rpath/libmbedtls.13.dylib"
+ const libmbedx509 = "@rpath/libmbedx509.1.dylib"
+ else
+- const libmbedcrypto = "libmbedcrypto.so.5"
+- const libmbedtls = "libmbedtls.so.13"
+- const libmbedx509 = "libmbedx509.so.1"
++ const libmbedcrypto = "libmbedcrypto.so"
++ const libmbedtls = "libmbedtls.so"
++ const libmbedx509 = "libmbedx509.so"
+ end
+
+ function __init__()
+diff --git a/stdlib/libLLVM_jll/src/libLLVM_jll.jl b/stdlib/libLLVM_jll/src/libLLVM_jll.jl
+index fa45e754e5..b51812e3a8 100644
+--- a/stdlib/libLLVM_jll/src/libLLVM_jll.jl
++++ b/stdlib/libLLVM_jll/src/libLLVM_jll.jl
+@@ -23,7 +23,7 @@ if Sys.iswindows()
+ elseif Sys.isapple()
+ const libLLVM = "@rpath/libLLVM.dylib"
+ else
+- const libLLVM = "libLLVM-12jl.so"
++ const libLLVM = "libLLVM.so"
+ end
+
+ function __init__()
+diff --git a/stdlib/nghttp2_jll/src/nghttp2_jll.jl b/stdlib/nghttp2_jll/src/nghttp2_jll.jl
+index 8b98c76ac5..77ad9e3800 100644
+--- a/stdlib/nghttp2_jll/src/nghttp2_jll.jl
++++ b/stdlib/nghttp2_jll/src/nghttp2_jll.jl
+@@ -22,7 +22,7 @@ if Sys.iswindows()
+ elseif Sys.isapple()
+ const libnghttp2 = "@rpath/libnghttp2.14.dylib"
+ else
+- const libnghttp2 = "libnghttp2.so.14"
++ const libnghttp2 = "libnghttp2.so"
+ end
+
+ function __init__()
+diff --git a/stdlib/LibGit2_jll/src/LibGit2_jll.jl b/stdlib/LibGit2_jll/src/LibGit2_jll.jl
+index f0d4b5dda6..2ed3017b51 100644
+--- a/stdlib/LibGit2_jll/src/LibGit2_jll.jl
++++ b/stdlib/LibGit2_jll/src/LibGit2_jll.jl
+@@ -23,7 +23,7 @@ if Sys.iswindows()
+ elseif Sys.isapple()
+ const libgit2 = "@rpath/libgit2.1.1.dylib"
+ else
+- const libgit2 = "libgit2.so.1.1"
++ const libgit2 = "libgit2.so"
+ end
+
+ function __init__()
+diff --git a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl
+index 215de8aed6..918d1ffdc2 100644
+--- a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl
++++ b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl
+@@ -22,7 +22,7 @@ if Sys.iswindows()
+ elseif Sys.isapple()
+ const libopenlibm = "@rpath/libopenlibm.3.dylib"
+ else
+- const libopenlibm = "libopenlibm.so.3"
++ const libopenlibm = "libopenlibm.so"
+ end
+
+ function __init__()
diff --git a/dev-lang/julia/files/julia-1.7.0-libgit-1.2.patch b/dev-lang/julia/files/julia-1.7.0-libgit-1.2.patch
new file mode 100644
index 000000000000..f0abc7b8f60d
--- /dev/null
+++ b/dev-lang/julia/files/julia-1.7.0-libgit-1.2.patch
@@ -0,0 +1,17 @@
+This patch comes from
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-libgit-1.2.patch
+
+diff --git a/stdlib/LibGit2/src/types.jl b/stdlib/LibGit2/src/types.jl
+index 9ffcaa3646..5f571e7b26 100644
+--- a/stdlib/LibGit2/src/types.jl
++++ b/stdlib/LibGit2/src/types.jl
+@@ -230,6 +230,9 @@ Matches the [`git_remote_callbacks`](https://libgit2.org/libgit2/#HEAD/type/git_
+ push_update_reference::Ptr{Cvoid} = C_NULL
+ push_negotiation::Ptr{Cvoid} = C_NULL
+ transport::Ptr{Cvoid} = C_NULL
++ @static if LibGit2.VERSION >= v"1.2.0"
++ remote_ready::Ptr{Cvoid} = C_NULL
++ end
+ payload::Any = nothing
+ @static if LibGit2.VERSION >= v"0.99.0"
+ resolve_url::Ptr{Cvoid} = C_NULL
diff --git a/dev-lang/julia/files/julia-1.7.0-llvm_13_compat_part_1.patch b/dev-lang/julia/files/julia-1.7.0-llvm_13_compat_part_1.patch
new file mode 100644
index 000000000000..1398be7ec873
--- /dev/null
+++ b/dev-lang/julia/files/julia-1.7.0-llvm_13_compat_part_1.patch
@@ -0,0 +1,172 @@
+This patch is from the julialang repository:
+ https://github.com/JuliaLang/julia/commit/677ce6d3.patch
+but reference comes form ARCH Linux juia package
+ https://github.com/archlinux/svntogit-community/tree/packages/julia/trunk
+
+From 677ce6d3adc2f70886f72795b0e5c739e75730ee Mon Sep 17 00:00:00 2001
+From: Valentin Churavy <v.churavy@gmail.com>
+Date: Sat, 28 Aug 2021 16:48:32 +0200
+Subject: [PATCH] [LLVM] Adapt to LLVM 13 changes
+
+---
+ src/cgutils.cpp | 8 +++++++-
+ src/codegen.cpp | 2 +-
+ src/disasm.cpp | 8 ++++++++
+ src/jitlayers.cpp | 7 +++++++
+ src/llvm-late-gc-lowering.cpp | 5 +++--
+ src/llvm-multiversioning.cpp | 5 +++++
+ src/llvm-remove-addrspaces.cpp | 8 ++++++++
+ 7 files changed, 39 insertions(+), 4 deletions(-)
+
+diff --git a/src/cgutils.cpp b/src/cgutils.cpp
+index 4e9917b6b078..928e1a07b2f1 100644
+--- a/src/cgutils.cpp
++++ b/src/cgutils.cpp
+@@ -2757,8 +2757,14 @@ static jl_value_t *static_constant_instance(Constant *constant, jl_value_t *jt)
+ size_t nargs;
+ if (const auto *CC = dyn_cast<ConstantAggregate>(constant))
+ nargs = CC->getNumOperands();
+- else if (const auto *CAZ = dyn_cast<ConstantAggregateZero>(constant))
++ else if (const auto *CAZ = dyn_cast<ConstantAggregateZero>(constant)) {
++#if JL_LLVM_VERSION >= 130000
++ // SVE: Elsewhere we use `getMinKownValue`
++ nargs = CAZ->getElementCount().getFixedValue();
++#else
+ nargs = CAZ->getNumElements();
++#endif
++ }
+ else if (const auto *CDS = dyn_cast<ConstantDataSequential>(constant))
+ nargs = CDS->getNumElements();
+ else
+diff --git a/src/codegen.cpp b/src/codegen.cpp
+index 5cc9f66ffaef..9000513151fe 100644
+--- a/src/codegen.cpp
++++ b/src/codegen.cpp
+@@ -7394,7 +7394,7 @@ static std::pair<std::unique_ptr<Module>, jl_llvm_functions_t>
+ #endif
+ continue;
+ }
+- assert(find(pred_begin(PhiBB), pred_end(PhiBB), FromBB) != pred_end(PhiBB)); // consistency check
++ assert(std::find(pred_begin(PhiBB), pred_end(PhiBB), FromBB) != pred_end(PhiBB)); // consistency check
+ TerminatorInst *terminator = FromBB->getTerminator();
+ if (!terminator->getParent()->getUniqueSuccessor()) {
+ // Can't use `llvm::SplitCriticalEdge` here because
+diff --git a/src/disasm.cpp b/src/disasm.cpp
+index 6157873ad71c..589f618396ea 100644
+--- a/src/disasm.cpp
++++ b/src/disasm.cpp
+@@ -857,8 +857,16 @@ static void jl_dump_asm_internal(
+ assert(MRI && "Unable to create target register info!");
+
+ std::unique_ptr<MCObjectFileInfo> MOFI(new MCObjectFileInfo());
++#if JL_LLVM_VERSION >= 130000
++ MCSubtargetInfo *MSTI = TheTarget->createMCSubtargetInfo(TheTriple.str(), cpu, features);
++ assert(MSTI && "Unable to create subtarget info!");
++
++ MCContext Ctx(TheTriple, MAI.get(), MRI.get(), MSTI, &SrcMgr);
++ MOFI->initMCObjectFileInfo(Ctx, /* PIC */ false, /* LargeCodeModel */ false);
++#else
+ MCContext Ctx(MAI.get(), MRI.get(), MOFI.get(), &SrcMgr);
+ MOFI->InitMCObjectFileInfo(TheTriple, /* PIC */ false, Ctx);
++#endif
+
+ // Set up Subtarget and Disassembler
+ std::unique_ptr<MCSubtargetInfo>
+diff --git a/src/jitlayers.cpp b/src/jitlayers.cpp
+index 60b1903aaa80..12497cadf491 100644
+--- a/src/jitlayers.cpp
++++ b/src/jitlayers.cpp
+@@ -10,6 +10,9 @@
+ #include <llvm/Analysis/TargetTransformInfo.h>
+ #include <llvm/ExecutionEngine/Orc/CompileUtils.h>
+ #include <llvm/ExecutionEngine/Orc/ExecutionUtils.h>
++#if JL_LLVM_VERSION >= 130000
++#include <llvm/ExecutionEngine/Orc/ExecutorProcessControl.h>
++#endif
+ #include <llvm/Support/DynamicLibrary.h>
+ #include <llvm/Support/FormattedStream.h>
+ #include <llvm/Support/SmallVectorMemoryBuffer.h>
+@@ -654,7 +657,11 @@ JuliaOJIT::JuliaOJIT(TargetMachine &TM, LLVMContext *LLVMCtx)
+ MemMgr(createRTDyldMemoryManager()),
+ JuliaListener(CreateJuliaJITEventListener()),
+ TSCtx(std::unique_ptr<LLVMContext>(LLVMCtx)),
++#if JL_LLVM_VERSION >= 130000
++ ES(cantFail(orc::SelfExecutorProcessControl::Create())),
++#else
+ ES(),
++#endif
+ GlobalJD(ES.createBareJITDylib("JuliaGlobals")),
+ JD(ES.createBareJITDylib("JuliaOJIT")),
+ ObjectLayer(
+diff --git a/src/llvm-late-gc-lowering.cpp b/src/llvm-late-gc-lowering.cpp
+index 0aac7638be0d..db8b19bacea5 100644
+--- a/src/llvm-late-gc-lowering.cpp
++++ b/src/llvm-late-gc-lowering.cpp
+@@ -709,7 +709,7 @@ void LateLowerGCFrame::LiftSelect(State &S, SelectInst *SI) {
+ else
+ Numbers[i] = Number;
+ }
+- if (auto VTy = dyn_cast<VectorType>(SI->getType())) {
++ if (auto VTy = dyn_cast<FixedVectorType>(SI->getType())) {
+ if (NumRoots != Numbers.size()) {
+ // broadcast the scalar root number to fill the vector
+ assert(NumRoots == 1);
+@@ -736,11 +736,12 @@ void LateLowerGCFrame::LiftPhi(State &S, PHINode *Phi) {
+ SmallVector<PHINode *, 2> lifted;
+ std::vector<int> Numbers;
+ unsigned NumRoots = 1;
+- if (auto VTy = dyn_cast<VectorType>(Phi->getType())) {
++ if (auto VTy = dyn_cast<FixedVectorType>(Phi->getType())) {
+ NumRoots = VTy->getNumElements();
+ Numbers.resize(NumRoots);
+ }
+ else {
++ // TODO: SVE
+ assert(isa<PointerType>(Phi->getType()) && "unimplemented");
+ }
+ for (unsigned i = 0; i < NumRoots; ++i) {
+diff --git a/src/llvm-multiversioning.cpp b/src/llvm-multiversioning.cpp
+index 68081eb53d3a..a82600162fa9 100644
+--- a/src/llvm-multiversioning.cpp
++++ b/src/llvm-multiversioning.cpp
+@@ -403,7 +403,12 @@ void CloneCtx::clone_function(Function *F, Function *new_f, ValueToValueMapTy &v
+ vmap[&*J] = &*DestI++;
+ }
+ SmallVector<ReturnInst*,8> Returns;
++#if JL_LLVM_VERSION >= 130000
++ // We are cloning into the same module
++ CloneFunctionInto(new_f, F, vmap, CloneFunctionChangeType::GlobalChanges, Returns);
++#else
+ CloneFunctionInto(new_f, F, vmap, true, Returns);
++#endif
+ }
+
+ // Clone all clone_all targets. Makes sure that the base targets are all available.
+diff --git a/src/llvm-remove-addrspaces.cpp b/src/llvm-remove-addrspaces.cpp
+index ada10c8d5f1f..7c6ef093fbce 100644
+--- a/src/llvm-remove-addrspaces.cpp
++++ b/src/llvm-remove-addrspaces.cpp
+@@ -345,7 +345,11 @@ bool RemoveAddrspacesPass::runOnModule(Module &M)
+ for (auto MD : MDs)
+ NGV->addMetadata(
+ MD.first,
++#if JL_LLVM_VERSION >= 130000
++ *MapMetadata(MD.second, VMap));
++#else
+ *MapMetadata(MD.second, VMap, RF_MoveDistinctMDs));
++#endif
+
+ copyComdat(NGV, GV);
+
+@@ -372,7 +376,11 @@ bool RemoveAddrspacesPass::runOnModule(Module &M)
+ NF,
+ F,
+ VMap,
++#if JL_LLVM_VERSION >= 130000
++ CloneFunctionChangeType::GlobalChanges,
++#else
+ /*ModuleLevelChanges=*/true,
++#endif
+ Returns,
+ "",
+ nullptr,
diff --git a/dev-lang/julia/files/julia-1.7.0-llvm_13_compat_part_2.patch b/dev-lang/julia/files/julia-1.7.0-llvm_13_compat_part_2.patch
new file mode 100644
index 000000000000..5a8c2cde93d5
--- /dev/null
+++ b/dev-lang/julia/files/julia-1.7.0-llvm_13_compat_part_2.patch
@@ -0,0 +1,80 @@
+This patch is from julialang repository:
+ https://github.com/JuliaLang/julia/commit/47f9139e.patch
+but reference comes form ARCH Linux juia package
+ https://github.com/archlinux/svntogit-community/tree/packages/julia/trunk
+
+From 47f9139e88917813cb7beee5e690c48c2ac65de4 Mon Sep 17 00:00:00 2001
+From: Xuanda Yang <th3charlie@gmail.com>
+Date: Wed, 9 Jun 2021 22:35:14 +0800
+Subject: [PATCH] codegen: replace deprecated llvm::VectorType::getNumElements
+ with new APIs (#41144)
+
+---
+ src/llvm-late-gc-lowering.cpp | 29 ++++++++++++++++++++++++++---
+ 1 file changed, 26 insertions(+), 3 deletions(-)
+
+diff --git a/src/llvm-late-gc-lowering.cpp b/src/llvm-late-gc-lowering.cpp
+index 50015045151b..4df303462d96 100644
+--- a/src/llvm-late-gc-lowering.cpp
++++ b/src/llvm-late-gc-lowering.cpp
+@@ -396,8 +396,14 @@ CountTrackedPointers::CountTrackedPointers(Type *T) {
+ }
+ if (isa<ArrayType>(T))
+ count *= cast<ArrayType>(T)->getNumElements();
+- else if (isa<VectorType>(T))
++ else if (isa<VectorType>(T)) {
++#if JL_LLVM_VERSION >= 120000
++ ElementCount EC = cast<VectorType>(T)->getElementCount();
++ count *= EC.getKnownMinValue();
++#else
+ count *= cast<VectorType>(T)->getNumElements();
++#endif
++ }
+ }
+ if (count == 0)
+ all = false;
+@@ -408,8 +414,14 @@ unsigned getCompositeNumElements(Type *T) {
+ return ST->getNumElements();
+ else if (auto *AT = dyn_cast<ArrayType>(T))
+ return AT->getNumElements();
+- else
++ else {
++#if JL_LLVM_VERSION >= 120000
++ ElementCount EC = cast<VectorType>(T)->getElementCount();
++ return EC.getKnownMinValue();
++#else
+ return cast<VectorType>(T)->getNumElements();
++#endif
++ }
+ }
+
+ // Walk through a Type, and record the element path to every tracked value inside
+@@ -625,8 +637,14 @@ void LateLowerGCFrame::LiftSelect(State &S, SelectInst *SI) {
+ }
+ std::vector<int> Numbers;
+ unsigned NumRoots = 1;
+- if (auto VTy = dyn_cast<VectorType>(SI->getType()))
++ if (auto VTy = dyn_cast<VectorType>(SI->getType())) {
++#if JL_LLVM_VERSION >= 120000
++ ElementCount EC = VTy->getElementCount();
++ Numbers.resize(EC.getKnownMinValue(), -1);
++#else
+ Numbers.resize(VTy->getNumElements(), -1);
++#endif
++ }
+ else
+ assert(isa<PointerType>(SI->getType()) && "unimplemented");
+ assert(!isTrackedValue(SI));
+@@ -686,7 +704,12 @@ void LateLowerGCFrame::LiftSelect(State &S, SelectInst *SI) {
+ assert(NumRoots == 1);
+ int Number = Numbers[0];
+ Numbers.resize(0);
++#if JL_LLVM_VERSION >= 120000
++ ElementCount EC = VTy->getElementCount();
++ Numbers.resize(EC.getKnownMinValue(), Number);
++#else
+ Numbers.resize(VTy->getNumElements(), Number);
++#endif
+ }
+ }
+ if (!isa<PointerType>(SI->getType()))
diff --git a/dev-lang/julia/files/julia-1.7.0-llvm_13_compat_part_3.patch b/dev-lang/julia/files/julia-1.7.0-llvm_13_compat_part_3.patch
new file mode 100644
index 000000000000..43b7925a9ce7
--- /dev/null
+++ b/dev-lang/julia/files/julia-1.7.0-llvm_13_compat_part_3.patch
@@ -0,0 +1,375 @@
+This patch is from:
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/julia-llvm13.patch
+
+From 9daa25a5f331a7e1c0f0b222373a853c2ce1462d Mon Sep 17 00:00:00 2001
+From: Valentin Churavy <v.churavy@gmail.com>
+Date: Tue, 12 Oct 2021 11:56:19 -0400
+Subject: [PATCH 2/6] WIP: add Type to ByVal attribute
+
+---
+ src/abi_aarch64.cpp | 2 +-
+ src/abi_arm.cpp | 2 +-
+ src/abi_llvm.cpp | 2 +-
+ src/abi_ppc64le.cpp | 6 +++++-
+ src/abi_win32.cpp | 6 +++++-
+ src/abi_win64.cpp | 9 +++++++--
+ src/abi_x86.cpp | 8 ++++++--
+ src/abi_x86_64.cpp | 11 ++++++++++-
+ src/ccall.cpp | 4 ++--
+ 9 files changed, 38 insertions(+), 12 deletions(-)
+
+diff --git a/src/abi_aarch64.cpp b/src/abi_aarch64.cpp
+index ce94cc66f0..7ffe107d61 100644
+--- a/src/abi_aarch64.cpp
++++ b/src/abi_aarch64.cpp
+@@ -194,7 +194,7 @@ Type *isHFAorHVA(jl_datatype_t *dt, size_t &nele) const
+ return NULL;
+ }
+
+-bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab) override
++bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab, Type *Ty) override
+ {
+ // B.2
+ // If the argument type is an HFA or an HVA, then the argument is used
+diff --git a/src/abi_arm.cpp b/src/abi_arm.cpp
+index 1a5d3d0651..ed846dfafb 100644
+--- a/src/abi_arm.cpp
++++ b/src/abi_arm.cpp
+@@ -23,7 +23,7 @@
+
+ struct ABI_ARMLayout : AbiLayout {
+
+-bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab) override
++bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab, Type *Ty) override
+ {
+ return false;
+ }
+diff --git a/src/abi_llvm.cpp b/src/abi_llvm.cpp
+index 1ab30da1b2..dba8f4aa8a 100644
+--- a/src/abi_llvm.cpp
++++ b/src/abi_llvm.cpp
+@@ -45,7 +45,7 @@ bool use_sret(jl_datatype_t *ty) override
+ return false;
+ }
+
+-bool needPassByRef(jl_datatype_t *ty, AttrBuilder &ab) override
++bool needPassByRef(jl_datatype_t *ty, AttrBuilder &ab, Type *Ty) override
+ {
+ return false;
+ }
+diff --git a/src/abi_ppc64le.cpp b/src/abi_ppc64le.cpp
+index dd6f927d9c..35e444ef77 100644
+--- a/src/abi_ppc64le.cpp
++++ b/src/abi_ppc64le.cpp
+@@ -101,12 +101,16 @@ bool use_sret(jl_datatype_t *dt) override
+ return false;
+ }
+
+-bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab) override
++bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab, Type *Ty) override
+ {
+ jl_datatype_t *ty0 = NULL;
+ bool hva = false;
+ if (jl_datatype_size(dt) > 64 && isHFA(dt, &ty0, &hva) > 8) {
++#if JL_LLVM_VERSION < 120000
+ ab.addAttribute(Attribute::ByVal);
++#else
++ ab.addByValAttr(Ty);
++#endif
+ return true;
+ }
+ return false;
+diff --git a/src/abi_win32.cpp b/src/abi_win32.cpp
+index af16a0310b..0b34f840e4 100644
+--- a/src/abi_win32.cpp
++++ b/src/abi_win32.cpp
+@@ -49,11 +49,15 @@ bool use_sret(jl_datatype_t *dt) override
+ return true;
+ }
+
+-bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab) override
++bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab, Type *Ty) override
+ {
+ // Use pass by reference for all structs
+ if (dt->layout->nfields > 0) {
++#if JL_LLVM_VERSION < 120000
+ ab.addAttribute(Attribute::ByVal);
++#else
++ ab.addByValAttr(Ty);
++#endif
+ return true;
+ }
+ return false;
+diff --git a/src/abi_win64.cpp b/src/abi_win64.cpp
+index 16e46a9703..f47802edf1 100644
+--- a/src/abi_win64.cpp
++++ b/src/abi_win64.cpp
+@@ -56,14 +56,19 @@ bool use_sret(jl_datatype_t *dt) override
+ return true;
+ }
+
+-bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab) override
++bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab, Type *Ty) override
+ {
+ nargs++;
+ size_t size = jl_datatype_size(dt);
+ if (win64_reg_size(size))
+ return false;
+- if (nargs <= 4)
++ if (nargs <= 4) {
++#if JL_LLVM_VERSION < 120000
+ ab.addAttribute(Attribute::ByVal);
++#else
++ ab.addByValAttr(Ty);
++#endif
++ }
+ return true;
+ }
+
+diff --git a/src/abi_x86.cpp b/src/abi_x86.cpp
+index 7a65de028e..c6c0282602 100644
+--- a/src/abi_x86.cpp
++++ b/src/abi_x86.cpp
+@@ -67,12 +67,16 @@ bool use_sret(jl_datatype_t *dt) override
+ return true;
+ }
+
+-bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab) override
++bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab, Type *Ty) override
+ {
+ size_t size = jl_datatype_size(dt);
+ if (is_complex64(dt) || is_complex128(dt) || (jl_is_primitivetype(dt) && size <= 8))
+ return false;
+- ab.addAttribute(Attribute::ByVal);
++#if JL_LLVM_VERSION < 120000
++ ab.addAttribute(Attribute::ByVal);
++#else
++ ab.addByValAttr(Ty);
++#endif
+ return true;
+ }
+
+diff --git a/src/abi_x86_64.cpp b/src/abi_x86_64.cpp
+index ac28af3011..5f8256dee4 100644
+--- a/src/abi_x86_64.cpp
++++ b/src/abi_x86_64.cpp
+@@ -178,11 +178,15 @@ bool use_sret(jl_datatype_t *dt) override
+ return sret;
+ }
+
+-bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab) override
++bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab, Type *Ty) override
+ {
+ Classification cl = classify(dt);
+ if (cl.isMemory) {
++#if JL_LLVM_VERSION < 120000
+ ab.addAttribute(Attribute::ByVal);
++#else
++ ab.addByValAttr(Ty);
++#endif
+ return true;
+ }
+
+@@ -202,7 +206,12 @@ bool needPassByRef(jl_datatype_t *dt, AttrBuilder &ab) override
+ else if (jl_is_structtype(dt)) {
+ // spill to memory even though we would ordinarily pass
+ // it in registers
++#if JL_LLVM_VERSION < 120000
+ ab.addAttribute(Attribute::ByVal);
++#else
++ Type* Ty = preferred_llvm_type(dt, false);
++ ab.addByValAttr(Ty);
++#endif
+ return true;
+ }
+ return false;
+diff --git a/src/ccall.cpp b/src/ccall.cpp
+index 66ab84c264..e21c717d41 100644
+--- a/src/ccall.cpp
++++ b/src/ccall.cpp
+@@ -291,7 +291,7 @@ class AbiLayout {
+ public:
+ virtual ~AbiLayout() {}
+ virtual bool use_sret(jl_datatype_t *ty) = 0;
+- virtual bool needPassByRef(jl_datatype_t *ty, AttrBuilder&) = 0;
++ virtual bool needPassByRef(jl_datatype_t *ty, AttrBuilder&, Type* llvm_t) = 0;
+ virtual Type *preferred_llvm_type(jl_datatype_t *ty, bool isret) const = 0;
+ };
+
+@@ -1077,7 +1077,7 @@ std::string generate_func_sig(const char *fname)
+ }
+
+ // Whether or not LLVM wants us to emit a pointer to the data
+- bool byRef = abi->needPassByRef((jl_datatype_t*)tti, ab);
++ bool byRef = abi->needPassByRef((jl_datatype_t*)tti, ab, t);
+
+ if (jl_is_cpointer_type(tti)) {
+ pat = t;
+
+From 1fe19a197ebbe33c9e60b2ca7d30c2573772b476 Mon Sep 17 00:00:00 2001
+From: Valentin Churavy <v.churavy@gmail.com>
+Date: Thu, 21 Oct 2021 20:32:39 -0400
+Subject: [PATCH 4/6] [LLVM/Win32] Force stack alignment on module
+
+---
+ src/aotcompile.cpp | 3 +++
+ src/ccall.cpp | 3 +++
+ src/codegen.cpp | 11 ++++++++++-
+ 3 files changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/src/aotcompile.cpp b/src/aotcompile.cpp
+index ffd43ee8d48d..d3dfc744fcd0 100644
+--- a/src/aotcompile.cpp
++++ b/src/aotcompile.cpp
+@@ -550,6 +550,9 @@ void jl_dump_native_impl(void *native_code,
+ std::unique_ptr<Module> sysimage(new Module("sysimage", Context));
+ sysimage->setTargetTriple(data->M->getTargetTriple());
+ sysimage->setDataLayout(data->M->getDataLayout());
++#if JL_LLVM_VERSION >= 130000
++ sysimage->setOverrideStackAlignment(data->M->getOverrideStackAlignment());
++#endif
+ data->M.reset(); // free memory for data->M
+
+ if (sysimg_data) {
+diff --git a/src/ccall.cpp b/src/ccall.cpp
+index fb70e53e2814..dd7626c918d0 100644
+--- a/src/ccall.cpp
++++ b/src/ccall.cpp
+@@ -891,6 +891,9 @@ static jl_cgval_t emit_llvmcall(jl_codectx_t &ctx, jl_value_t **args, size_t nar
+ // copy module properties that should always match
+ Mod->setTargetTriple(jl_Module->getTargetTriple());
+ Mod->setDataLayout(jl_Module->getDataLayout());
++#if JL_LLVM_VERSION >= 130000
++ Mod->setOverrideStackAlignment(jl_Module->getOverrideStackAlignment());
++#endif
+
+ // verify the definition
+ Function *def = Mod->getFunction(ir_name);
+diff --git a/src/codegen.cpp b/src/codegen.cpp
+index b09eb8db04e0..bc4ea7711a04 100644
+--- a/src/codegen.cpp
++++ b/src/codegen.cpp
+@@ -1707,6 +1707,14 @@ static void jl_setup_module(Module *m, const jl_cgparams_t *params = &jl_default
+ llvm::DEBUG_METADATA_VERSION);
+ m->setDataLayout(jl_data_layout);
+ m->setTargetTriple(jl_TargetMachine->getTargetTriple().str());
++
++#if defined(_OS_WINDOWS_) && !defined(_CPU_X86_64_) && JL_LLVM_VERSIOn >= 130000
++ // tell Win32 to assume the stack is always 16-byte aligned,
++ // and to ensure that it is 16-byte aligned for out-going calls,
++ // to ensure compatibility with GCC codes
++ m->setOverrideStackAlignment(16;)
++#endif
++
+ }
+
+ Module *jl_create_llvm_module(StringRef name)
+@@ -8235,10 +8243,11 @@ extern "C" void jl_init_llvm(void)
+
+ TargetOptions options = TargetOptions();
+ //options.PrintMachineCode = true; //Print machine code produced during JIT compiling
+-#if defined(_OS_WINDOWS_) && !defined(_CPU_X86_64_)
++#if defined(_OS_WINDOWS_) && !defined(_CPU_X86_64_) && JL_LLVM_VERSION <= 120000
+ // tell Win32 to assume the stack is always 16-byte aligned,
+ // and to ensure that it is 16-byte aligned for out-going calls,
+ // to ensure compatibility with GCC codes
++ // In LLVM 13 and onwards this has turned into a module option
+ options.StackAlignmentOverride = 16;
+ #endif
+ #ifdef JL_DEBUG_BUILD
+
+From 7a320647976eb97fdd169b5e85397b9e493e4569 Mon Sep 17 00:00:00 2001
+From: Valentin Churavy <v.churavy@gmail.com>
+Date: Fri, 22 Oct 2021 15:35:38 -0400
+Subject: [PATCH 5/6] StackProtector is now a module flag
+
+---
+ src/aotcompile.cpp | 1 +
+ src/ccall.cpp | 1 +
+ src/codegen.cpp | 6 ++++--
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/aotcompile.cpp b/src/aotcompile.cpp
+index d3dfc744fcd0..05fcca50c4ee 100644
+--- a/src/aotcompile.cpp
++++ b/src/aotcompile.cpp
+@@ -551,6 +551,7 @@ void jl_dump_native_impl(void *native_code,
+ sysimage->setTargetTriple(data->M->getTargetTriple());
+ sysimage->setDataLayout(data->M->getDataLayout());
+ #if JL_LLVM_VERSION >= 130000
++ sysimage->setStackProtectorGuard(data->M->getStackProtectorGuard());
+ sysimage->setOverrideStackAlignment(data->M->getOverrideStackAlignment());
+ #endif
+ data->M.reset(); // free memory for data->M
+diff --git a/src/ccall.cpp b/src/ccall.cpp
+index dd7626c918d0..647735edb37d 100644
+--- a/src/ccall.cpp
++++ b/src/ccall.cpp
+@@ -892,6 +892,7 @@ static jl_cgval_t emit_llvmcall(jl_codectx_t &ctx, jl_value_t **args, size_t nar
+ Mod->setTargetTriple(jl_Module->getTargetTriple());
+ Mod->setDataLayout(jl_Module->getDataLayout());
+ #if JL_LLVM_VERSION >= 130000
++ Mod->setStackProtectorGuard(jl_Module->getStackProtectorGuard());
+ Mod->setOverrideStackAlignment(jl_Module->getOverrideStackAlignment());
+ #endif
+
+diff --git a/src/codegen.cpp b/src/codegen.cpp
+index bc4ea7711a04..1a7017d3aeb7 100644
+--- a/src/codegen.cpp
++++ b/src/codegen.cpp
+@@ -1714,7 +1714,9 @@ static void jl_setup_module(Module *m, const jl_cgparams_t *params = &jl_default
+ // to ensure compatibility with GCC codes
+ m->setOverrideStackAlignment(16;)
+ #endif
+-
++#if defined(JL_DEBUG_BUILD) && JL_LLVM_VERSION >= 130000
++ m->setStackProtectorGuard("global");
++#endif
+ }
+
+ Module *jl_create_llvm_module(StringRef name)
+
+From e323fc8f7be4ce053dec613076d7dd7517515134 Mon Sep 17 00:00:00 2001
+From: Valentin Churavy <v.churavy@gmail.com>
+Date: Sun, 24 Oct 2021 15:18:23 -0400
+Subject: [PATCH 6/6] Cleanup MachineObjectFileInfo handling in disassembly
+
+---
+ src/disasm.cpp | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/src/disasm.cpp b/src/disasm.cpp
+index 73b394b77d0b..25e7841bde85 100644
+--- a/src/disasm.cpp
++++ b/src/disasm.cpp
+@@ -860,21 +860,21 @@ static void jl_dump_asm_internal(
+ std::unique_ptr<MCRegisterInfo> MRI(TheTarget->createMCRegInfo(TheTriple.str()));
+ assert(MRI && "Unable to create target register info!");
+
+- std::unique_ptr<MCObjectFileInfo> MOFI(new MCObjectFileInfo());
+-#if JL_LLVM_VERSION >= 130000
+- MCSubtargetInfo *MSTI = TheTarget->createMCSubtargetInfo(TheTriple.str(), cpu, features);
+- assert(MSTI && "Unable to create subtarget info!");
++ std::unique_ptr<llvm::MCSubtargetInfo> STI(
++ TheTarget->createMCSubtargetInfo(TheTriple.str(), cpu, features));
++ assert(STI && "Unable to create subtarget info!");
+
+- MCContext Ctx(TheTriple, MAI.get(), MRI.get(), MSTI, &SrcMgr);
+- MOFI->initMCObjectFileInfo(Ctx, /* PIC */ false, /* LargeCodeModel */ false);
++#if JL_LLVM_VERSION >= 130000
++ MCContext Ctx(TheTriple, MAI.get(), MRI.get(), STI.get(), &SrcMgr);
++ std::unique_ptr<MCObjectFileInfo> MOFI(
++ TheTarget->createMCObjectFileInfo(Ctx, /*PIC=*/false, /*LargeCodeModel=*/ false));
++ Ctx.setObjectFileInfo(MOFI.get());
+ #else
++ std::unique_ptr<MCObjectFileInfo> MOFI(new MCObjectFileInfo());
+ MCContext Ctx(MAI.get(), MRI.get(), MOFI.get(), &SrcMgr);
+ MOFI->InitMCObjectFileInfo(TheTriple, /* PIC */ false, Ctx);
+ #endif
+
+- // Set up Subtarget and Disassembler
+- std::unique_ptr<MCSubtargetInfo>
+- STI(TheTarget->createMCSubtargetInfo(TheTriple.str(), cpu, features));
+ std::unique_ptr<MCDisassembler> DisAsm(TheTarget->createMCDisassembler(*STI, Ctx));
+ if (!DisAsm) {
+ rstream << "ERROR: no disassembler for target " << TheTriple.str();
diff --git a/dev-lang/julia/files/julia-1.7.0-make-install-no-build.patch b/dev-lang/julia/files/julia-1.7.0-make-install-no-build.patch
new file mode 100644
index 000000000000..0632a6e726f7
--- /dev/null
+++ b/dev-lang/julia/files/julia-1.7.0-make-install-no-build.patch
@@ -0,0 +1,17 @@
+This pacth comes from
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/julia/trunk/make-install-no-build.patch
+
+--- julia-1.3.0/Makefile.orig 2019-12-06 12:54:23.879790955 +0000
++++ julia-1.3.0/Makefile 2019-12-06 12:54:36.329952953 +0000
+@@ -277,11 +277,6 @@
+
+
+ install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html
+-ifeq ($(BUNDLE_DEBUG_LIBS),1)
+- @$(MAKE) $(QUIET_MAKE) all
+-else
+- @$(MAKE) $(QUIET_MAKE) release
+-endif
+ @for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir) $(libexecdir); do \
+ mkdir -p $(DESTDIR)$$subdir; \
+ done
diff --git a/dev-lang/julia/julia-1.5.3.ebuild b/dev-lang/julia/julia-1.5.3.ebuild
deleted file mode 100644
index 48dc63f19255..000000000000
--- a/dev-lang/julia/julia-1.5.3.ebuild
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit llvm pax-utils toolchain-funcs
-
-# correct versions for stdlibs are in deps/checksums
-# for everything else, run with network-sandbox and wait for the crash
-
-MY_PV="${PV//_rc/-rc}"
-MY_DSFMT_V="2.2.3"
-MY_LIBUV_V="1fcc6d66f9df74189c74d3d390f02202bb7db953"
-MY_LIBWHICH_V="81e9723c0273d78493dc8c8ed570f68d9ce7e89e"
-MY_LLVM_V="9.0.1"
-MY_PKG_V="49908bffe83790bc7cf3c5d46faf3667f8902ad4"
-MY_UNICODE_V="13.0.0"
-MY_UTF8PROC_V="0890a538bf8238cded9be0c81171f57e43f2c755"
-
-DESCRIPTION="High-performance programming language for technical computing"
-HOMEPAGE="https://julialang.org/"
-SRC_URI="
- https://github.com/JuliaLang/${PN}/releases/download/v${MY_PV}/${PN}-${MY_PV}.tar.gz
- https://api.github.com/repos/JuliaLang/libuv/tarball/${MY_LIBUV_V} -> ${PN}-libuv-${MY_LIBUV_V}.tar.gz
- https://api.github.com/repos/JuliaLang/utf8proc/tarball/${MY_UTF8PROC_V} -> ${PN}-utf8proc-${MY_UTF8PROC_V}.tar.gz
- https://api.github.com/repos/vtjnash/libwhich/tarball/${MY_LIBWHICH_V} -> ${PN}-libwhich-${MY_LIBWHICH_V}.tar.gz
- http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${MY_DSFMT_V}.tar.gz -> ${PN}-dsfmt-${MY_DSFMT_V}.tar.gz
- http://www.unicode.org/Public/${MY_UNICODE_V}/ucd/UnicodeData.txt -> ${PN}-UnicodeData-${MY_UNICODE_V}.txt
- https://dev.gentoo.org/~tamiko/distfiles/Pkg-${MY_PKG_V}.tar.gz -> ${PN}-Pkg-${MY_PKG_V}.tar.gz
- !system-llvm? ( https://github.com/llvm/llvm-project/releases/download/llvmorg-${MY_LLVM_V}/llvm-${MY_LLVM_V}.src.tar.xz )
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="system-llvm"
-
- # llvm:9 has been removed from the tree USE=-system-llvm force in
- # profiles
- #system-llvm? ( sys-devel/llvm:9=[llvm_targets_NVPTX(-)] )
-RDEPEND="
-"
-LLVM_MAX_SLOT=9
-
-# Silence some QA warnings. The julia build system does not use user
-# defined CFLAGS for some of the generated binary modules.
-QA_FLAGS_IGNORED='.*'
-
-RDEPEND+="
- dev-libs/double-conversion:0=
- dev-libs/gmp:0=
- dev-libs/libgit2:0
- >=dev-libs/libpcre2-10.23:0=[jit,unicode]
- dev-libs/mpfr:0=
- dev-libs/openspecfun
- net-libs/libssh2
- >=net-libs/mbedtls-2.2
- sci-libs/amd:0=
- sci-libs/arpack:0=
- sci-libs/camd:0=
- sci-libs/ccolamd:0=
- sci-libs/cholmod:0=
- sci-libs/colamd:0=
- sci-libs/fftw:3.0=[threads]
- sci-libs/openlibm:0=
- sci-libs/spqr:0=
- sci-libs/umfpack:0=
- sci-mathematics/glpk:0=
- sci-mathematics/z3
- >=sys-libs/libunwind-1.1:0=
- sys-libs/readline:0=
- sys-libs/zlib:0=
- >=virtual/blas-3.6
- virtual/lapack"
-
-DEPEND="${RDEPEND}
- dev-util/patchelf
- virtual/pkgconfig
- !system-llvm? ( dev-util/cmake )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1.0-fix_build_system.patch
- "${FILESDIR}"/${PN}-1.1.0-fix_llvm_install.patch
- "${FILESDIR}"/${PN}-1.4.0-no_symlink_llvm.patch
-)
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-pkg_setup() {
- use system-llvm && llvm_pkg_setup
-}
-
-src_unpack() {
- tounpack=(${A})
- # the main source tree, followed by deps
- unpack "${A/%\ */}"
-
- mkdir -p "${S}/deps/srccache/"
- for i in "${tounpack[@]:1}"; do
- if [[ $i == *Pkg* ]] || [[ $i = *Statistics* ]]; then
- # Bundled Pkg and Statistics packages go into ./stdlib
- local tarball="${i#julia-}"
- cp "${DISTDIR}/${i}" "${S}/stdlib/srccache/${tarball}" || die
- # and we have to fix up the sha1sum
- local name="${tarball%-*}"
- local sha1="${tarball#*-}"
- sha1="${sha1%.tar*}"
- einfo "using patched stdlib package \"${name}\""
- sed -i -e "s/PKG_SHA1 = .*/PKG_SHA1 = ${sha1}/" "${S}/stdlib/${name}.version" || die
- else
- cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die
- fi
- done
-}
-
-src_prepare() {
- default
-
- # Sledgehammer:
- # - prevent fetching of bundled stuff in compile and install phase
- # - respect CFLAGS
- # - respect EPREFIX and Gentoo specific paths
-
- sed -i \
- -e "s|GENTOOCFLAGS|${CFLAGS}|g" \
- -e "s|/usr/include|${EPREFIX}/usr/include|g" \
- deps/Makefile || die
-
- sed -i \
- -e "s|GENTOOCFLAGS|${CFLAGS}|g" \
- -e "s|GENTOOLIBDIR|$(get_libdir)|" \
- Make.inc || die
-
- sed -i \
- -e "s|,lib)|,$(get_libdir))|g" \
- -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|g" \
- Makefile || die
-
- sed -i \
- -e "s|ar -rcs|$(tc-getAR) -rcs|g" \
- src/Makefile || die
-
- # disable doc install starting git fetching
- sed -i -e 's~install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html~install: $(build_depsbindir)/stringreplace~' Makefile || die
-}
-
-src_configure() {
- # julia does not play well with the system versions of dsfmt, libuv,
- # and utf8proc
-
- use system-llvm && ewarn "You have enabled system-llvm. This is unsupported by upstream and may not work."
-
- # USE_SYSTEM_LIBM=0 implies using external openlibm
- cat <<-EOF > Make.user
- USE_BINARYBUILDER:=0
- USE_SYSTEM_LLVM:=$(usex system-llvm 1 0)
- USE_SYSTEM_LIBUNWIND:=1
- USE_SYSTEM_PCRE:=1
- USE_SYSTEM_LIBM:=0
- USE_SYSTEM_OPENLIBM:=1
- USE_SYSTEM_DSFMT:=0
- USE_SYSTEM_BLAS:=1
- USE_SYSTEM_LAPACK:=1
- USE_SYSTEM_GMP:=1
- USE_SYSTEM_MPFR:=1
- USE_SYSTEM_SUITESPARSE:=1
- USE_SYSTEM_LIBUV:=0
- USE_SYSTEM_UTF8PROC:=0
- USE_SYSTEM_MBEDTLS:=1
- USE_SYSTEM_LIBSSH2:=1
- USE_SYSTEM_CURL:=1
- USE_SYSTEM_LIBGIT2:=1
- USE_SYSTEM_PATCHELF:=1
- USE_SYSTEM_ZLIB:=1
- USE_SYSTEM_P7ZIP:=1
- VERBOSE=1
- libdir="${EROOT}/usr/$(get_libdir)"
- EOF
-}
-
-src_compile() {
-
- # Julia accesses /proc/self/mem on Linux
- addpredict /proc/self/mem
-
- emake \
- prefix="${EPREFIX}/usr" \
- CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)"
- pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')"
-}
-
-src_install() {
- emake install \
- prefix="${EPREFIX}/usr" DESTDIR="${D}" \
- CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" \
- BUNDLE_DEBUG_LIBS=0
-
- if ! use system-llvm ; then
- cp "${S}/usr/lib/libLLVM"-?jl.so "${ED}/usr/$(get_libdir)/julia/" || die
- fi
-
- dodoc README.md
-
- mv "${ED}"/usr/etc/julia "${ED}"/etc || die
- rmdir "${ED}"/usr/etc || die
- mv "${ED}"/usr/share/doc/julia/html "${ED}"/usr/share/doc/"${PF}" || die
- rmdir "${ED}"/usr/share/doc/julia || die
-
- # The appdata directory is deprecated.
- mv "${ED}"/usr/share/{appdata,metainfo}/ || die
-}
-
-pkg_postinst() {
- elog "To use Plots, you will need to install sci-visualization/gr."
-}
diff --git a/dev-lang/julia/julia-1.6.5.ebuild b/dev-lang/julia/julia-1.6.5.ebuild
new file mode 100644
index 000000000000..e7bcae84ca7a
--- /dev/null
+++ b/dev-lang/julia/julia-1.6.5.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit llvm pax-utils toolchain-funcs
+
+# correct versions for stdlibs are in deps/checksums
+# for everything else, run with network-sandbox and wait for the crash
+
+#MY_LIBUV_V="fb3e3364c33ae48c827f6b103e05c3f0e78b79a9"
+#MY_LIBWHICH_V="81e9723c0273d78493dc8c8ed570f68d9ce7e89e"
+MY_LLVM_V="13.0.1"
+
+DESCRIPTION="High-performance programming language for technical computing"
+HOMEPAGE="https://julialang.org/"
+
+SRC_URI="
+ https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+system-llvm"
+
+RDEPEND="
+ system-llvm? ( sys-devel/llvm:13=[llvm_targets_NVPTX(-)] )
+"
+LLVM_MAX_SLOT=13
+
+RDEPEND+="
+ app-arch/p7zip
+ dev-libs/gmp:0=
+ dev-libs/libgit2:0
+ >=dev-libs/libpcre2-10.23:0=[jit,unicode]
+ dev-libs/mpfr:0=
+ dev-libs/libutf8proc:0=[-cjk]
+ dev-util/patchelf
+ >=net-libs/mbedtls-2.2
+ net-misc/curl[http2,ssh]
+ sci-libs/amd:0=
+ sci-libs/arpack:0=
+ sci-libs/camd:0=
+ sci-libs/ccolamd:0=
+ sci-libs/cholmod:0=
+ sci-libs/colamd:0=
+ sci-libs/fftw:3.0=[threads]
+ sci-libs/openlibm:0=
+ sci-libs/spqr:0=
+ sci-libs/umfpack:0=
+ >=sci-mathematics/dsfmt-2.2.4
+ >=sys-libs/libunwind-1.1:0=
+ sys-libs/zlib:0=
+ >=virtual/blas-3.6
+ virtual/lapack"
+
+DEPEND="${RDEPEND}
+ dev-util/patchelf
+ virtual/pkgconfig
+ !system-llvm? ( dev-util/cmake )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}"-1.1.0-fix_llvm_install.patch
+ "${FILESDIR}/${PN}"-1.4.0-no_symlink_llvm.patch
+ "${FILESDIR}/${PN}"-1.6.5-llvm_bad_perf_fix.patch
+ "${FILESDIR}/${PN}"-1.7.0-llvm_13_compat_part_1.patch
+ "${FILESDIR}/${PN}"-1.7.0-llvm_13_compat_part_2.patch
+ "${FILESDIR}/${PN}"-1.7.0-llvm_13_compat_part_3.patch
+ "${FILESDIR}/${PN}"-1.6.5-llvm_13_compat_part_4.patch
+ "${FILESDIR}/${PN}"-1.7.0-libgit-1.2.patch
+ "${FILESDIR}/${PN}"-1.7.0-make-install-no-build.patch
+ "${FILESDIR}/${PN}"-1.6.5-hardcoded-libs.patch
+ "${FILESDIR}/${PN}"-1.6.5-do_not_set_rpath.patch
+ "${FILESDIR}/${PN}"-1.6.5-lazy_artifacts_fix.patch
+)
+
+pkg_setup() {
+ use system-llvm && llvm_pkg_setup
+}
+
+src_unpack() {
+ local tounpack=(${A})
+ # the main source tree, followed by deps
+ unpack "${tounpack[0]}"
+
+ mkdir -p "${S}/deps/srccache/"
+ for i in "${tounpack[@]:1}"; do
+ cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die
+ done
+}
+
+src_prepare() {
+ default
+
+ # Sledgehammer:
+ # - prevent fetching of bundled stuff in compile and install phase
+ # - respect CFLAGS
+ # - respect EPREFIX and Gentoo specific paths
+
+ sed -i \
+ -e "\|SHIPFLAGS :=|c\\SHIPFLAGS := ${CFLAGS}" \
+ Make.inc || die
+
+ sed -i \
+ -e "s|ar -rcs|$(tc-getAR) -rcs|g" \
+ src/Makefile || die
+
+ # disable doc install starting git fetching
+ sed -i -e 's~install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html~install: $(build_depsbindir)/stringreplace~' Makefile || die
+}
+
+src_configure() {
+ use system-llvm && ewarn "You have enabled system-llvm. This is unsupported by upstream and may not work."
+
+ # julia does not play well with the system versions of libuv
+ # USE_SYSTEM_LIBM=0 implies using external openlibm
+ cat <<-EOF > Make.user
+ LOCALBASE:="${EPREFIX}/usr"
+ override prefix:="${EPREFIX}/usr"
+ override libdir:="\$(prefix)/$(get_libdir)"
+ override CC:=$(tc-getCC)
+ override CXX:=$(tc-getCXX)
+ override AR:=$(tc-getAR)
+
+ BUNDLE_DEBUG_LIBS:=0
+ USE_BINARYBUILDER:=0
+ USE_SYSTEM_CSL:=1
+ USE_SYSTEM_LLVM:=$(usex system-llvm 1 0)
+ USE_SYSTEM_LIBUNWIND:=1
+ USE_SYSTEM_PCRE:=1
+ USE_SYSTEM_LIBM:=0
+ USE_SYSTEM_OPENLIBM:=1
+ USE_SYSTEM_DSFMT:=1
+ USE_SYSTEM_BLAS:=1
+ USE_SYSTEM_LAPACK:=1
+ USE_SYSTEM_GMP:=1
+ USE_SYSTEM_MPFR:=1
+ USE_SYSTEM_SUITESPARSE:=1
+ USE_SYSTEM_LIBUV:=0
+ USE_SYSTEM_UTF8PROC:=1
+ USE_SYSTEM_MBEDTLS:=1
+ USE_SYSTEM_LIBSSH2:=1
+ USE_SYSTEM_NGHTTP2:=1
+ USE_SYSTEM_CURL:=1
+ USE_SYSTEM_LIBGIT2:=1
+ USE_SYSTEM_PATCHELF:=1
+ USE_SYSTEM_ZLIB:=1
+ USE_SYSTEM_P7ZIP:=1
+ VERBOSE:=1
+ EOF
+}
+
+src_compile() {
+ # Julia accesses /proc/self/mem on Linux
+ addpredict /proc/self/mem
+
+ default
+ pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')"
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+
+ if ! use system-llvm ; then
+ local llvmslot=$(ver_cut 1 ${MY_LLVM_V})
+ cp "${S}/usr/lib/libLLVM-${llvmslot}jl.so" "${ED}/usr/$(get_libdir)/julia/" || die
+ fi
+
+ dodoc README.md
+
+ mv "${ED}"/usr/etc/julia "${ED}"/etc || die
+ rmdir "${ED}"/usr/etc || die
+ mv "${ED}"/usr/share/doc/julia/html "${ED}"/usr/share/doc/"${PF}" || die
+ rmdir "${ED}"/usr/share/doc/julia || die
+
+ # The appdata directory is deprecated.
+ mv "${ED}"/usr/share/{appdata,metainfo}/ || die
+}
+
+pkg_postinst() {
+ elog "To use Plots, you will need to install sci-visualization/gr."
+}
diff --git a/dev-lang/julia/julia-1.6.0-r2.ebuild b/dev-lang/julia/julia-1.7.0.ebuild
index 2a26d027f3e6..57c446a0e3ab 100644
--- a/dev-lang/julia/julia-1.6.0-r2.ebuild
+++ b/dev-lang/julia/julia-1.7.0.ebuild
@@ -8,18 +8,13 @@ inherit llvm pax-utils toolchain-funcs
# correct versions for stdlibs are in deps/checksums
# for everything else, run with network-sandbox and wait for the crash
-MY_LIBUV_V="fb3e3364c33ae48c827f6b103e05c3f0e78b79a9"
-MY_LIBWHICH_V="81e9723c0273d78493dc8c8ed570f68d9ce7e89e"
-MY_LLVM_V="11.0.1"
+MY_LLVM_V="13.0.1"
DESCRIPTION="High-performance programming language for technical computing"
HOMEPAGE="https://julialang.org/"
SRC_URI="
- https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}.tar.gz
- https://api.github.com/repos/JuliaLang/libuv/tarball/${MY_LIBUV_V} -> ${PN}-libuv-${MY_LIBUV_V}.tar.gz
- https://api.github.com/repos/vtjnash/libwhich/tarball/${MY_LIBWHICH_V} -> ${PN}-libwhich-${MY_LIBWHICH_V}.tar.gz
- !system-llvm? ( https://github.com/llvm/llvm-project/releases/download/llvmorg-${MY_LLVM_V}/llvm-${MY_LLVM_V}.src.tar.xz )
+ https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz
"
LICENSE="MIT"
@@ -28,9 +23,9 @@ KEYWORDS="~amd64 ~x86"
IUSE="+system-llvm"
RDEPEND="
- system-llvm? ( sys-devel/llvm:11=[llvm_targets_NVPTX(-)] )
+ system-llvm? ( sys-devel/llvm:13=[llvm_targets_NVPTX(-)] )
"
-LLVM_MAX_SLOT=11
+LLVM_MAX_SLOT=13
RDEPEND+="
app-arch/p7zip
@@ -64,11 +59,17 @@ DEPEND="${RDEPEND}
!system-llvm? ( dev-util/cmake )"
PATCHES=(
- "${FILESDIR}/${PN}"-1.1.0-fix_llvm_install.patch
"${FILESDIR}/${PN}"-1.4.0-no_symlink_llvm.patch
- "${FILESDIR}/${PN}"-1.6.0-fix-system-csl.patch
- "${FILESDIR}/${PN}"-1.6.0-fix-hardcoded-libs.patch
+ "${FILESDIR}/${PN}"-1.7.0-llvm_13_compat_part_1.patch
+ "${FILESDIR}/${PN}"-1.7.0-llvm_13_compat_part_2.patch
+ "${FILESDIR}/${PN}"-1.7.0-llvm_13_compat_part_3.patch
+ "${FILESDIR}/${PN}"-1.7.0-libgit-1.2.patch
+ "${FILESDIR}/${PN}"-1.7.0-make-install-no-build.patch
+ "${FILESDIR}/${PN}"-1.7.0-hardcoded-libs.patch
+ "${FILESDIR}/${PN}"-1.7.0-do_not_set_rpath.patch
)
+ # just remove patchelf from linux ?? just my own solution to sigsegv error ??
+ #"${FILESDIR}/${PN}"-turnoff-patchelf.patch
pkg_setup() {
use system-llvm && llvm_pkg_setup
diff --git a/dev-lang/julia/julia-1.7.1.ebuild b/dev-lang/julia/julia-1.7.1.ebuild
new file mode 100644
index 000000000000..fad64a3a369e
--- /dev/null
+++ b/dev-lang/julia/julia-1.7.1.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit llvm pax-utils toolchain-funcs
+
+# correct versions for stdlibs are in deps/checksums
+# for everything else, run with network-sandbox and wait for the crash
+
+MY_LLVM_V="13.0.1"
+
+DESCRIPTION="High-performance programming language for technical computing"
+HOMEPAGE="https://julialang.org/"
+
+SRC_URI="
+ https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}-full.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+system-llvm"
+
+RDEPEND="
+ system-llvm? ( sys-devel/llvm:13=[llvm_targets_NVPTX(-)] )
+"
+LLVM_MAX_SLOT=13
+
+RDEPEND+="
+ app-arch/p7zip
+ dev-libs/gmp:0=
+ dev-libs/libgit2:0
+ >=dev-libs/libpcre2-10.23:0=[jit,unicode]
+ dev-libs/mpfr:0=
+ dev-libs/libutf8proc:0=[-cjk]
+ dev-util/patchelf
+ >=net-libs/mbedtls-2.2
+ net-misc/curl[http2,ssh]
+ sci-libs/amd:0=
+ sci-libs/arpack:0=
+ sci-libs/camd:0=
+ sci-libs/ccolamd:0=
+ sci-libs/cholmod:0=
+ sci-libs/colamd:0=
+ sci-libs/fftw:3.0=[threads]
+ sci-libs/openlibm:0=
+ sci-libs/spqr:0=
+ sci-libs/umfpack:0=
+ >=sci-mathematics/dsfmt-2.2.4
+ >=sys-libs/libunwind-1.1:0=
+ sys-libs/zlib:0=
+ >=virtual/blas-3.6
+ virtual/lapack"
+
+DEPEND="${RDEPEND}
+ dev-util/patchelf
+ virtual/pkgconfig
+ !system-llvm? ( dev-util/cmake )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}"-1.4.0-no_symlink_llvm.patch
+ "${FILESDIR}/${PN}"-1.7.0-llvm_13_compat_part_1.patch
+ "${FILESDIR}/${PN}"-1.7.0-llvm_13_compat_part_2.patch
+ "${FILESDIR}/${PN}"-1.7.0-llvm_13_compat_part_3.patch
+ "${FILESDIR}/${PN}"-1.7.0-libgit-1.2.patch
+ "${FILESDIR}/${PN}"-1.7.0-make-install-no-build.patch
+ "${FILESDIR}/${PN}"-1.7.0-hardcoded-libs.patch
+ "${FILESDIR}/${PN}"-1.7.0-do_not_set_rpath.patch
+)
+ # just remove patchelf from linux ?? just my own solution to sigsegv error ??
+ #"${FILESDIR}/${PN}"-turnoff-patchelf.patch
+
+pkg_setup() {
+ use system-llvm && llvm_pkg_setup
+}
+
+src_unpack() {
+ local tounpack=(${A})
+ # the main source tree, followed by deps
+ unpack "${tounpack[0]}"
+
+ mkdir -p "${S}/deps/srccache/"
+ for i in "${tounpack[@]:1}"; do
+ cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die
+ done
+}
+
+src_prepare() {
+ default
+
+ # Sledgehammer:
+ # - prevent fetching of bundled stuff in compile and install phase
+ # - respect CFLAGS
+ # - respect EPREFIX and Gentoo specific paths
+
+ sed -i \
+ -e "\|SHIPFLAGS :=|c\\SHIPFLAGS := ${CFLAGS}" \
+ Make.inc || die
+
+ sed -i \
+ -e "s|ar -rcs|$(tc-getAR) -rcs|g" \
+ src/Makefile || die
+
+ # disable doc install starting git fetching
+ sed -i -e 's~install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html~install: $(build_depsbindir)/stringreplace~' Makefile || die
+}
+
+src_configure() {
+ use system-llvm && ewarn "You have enabled system-llvm. This is unsupported by upstream and may not work."
+
+ # julia does not play well with the system versions of libuv
+ # USE_SYSTEM_LIBM=0 implies using external openlibm
+ cat <<-EOF > Make.user
+ LOCALBASE:="${EPREFIX}/usr"
+ override prefix:="${EPREFIX}/usr"
+ override libdir:="\$(prefix)/$(get_libdir)"
+ override CC:=$(tc-getCC)
+ override CXX:=$(tc-getCXX)
+ override AR:=$(tc-getAR)
+
+ BUNDLE_DEBUG_LIBS:=0
+ USE_BINARYBUILDER:=0
+ USE_SYSTEM_CSL:=1
+ USE_SYSTEM_LLVM:=$(usex system-llvm 1 0)
+ USE_SYSTEM_LIBUNWIND:=1
+ USE_SYSTEM_PCRE:=1
+ USE_SYSTEM_LIBM:=0
+ USE_SYSTEM_OPENLIBM:=1
+ USE_SYSTEM_DSFMT:=1
+ USE_SYSTEM_BLAS:=1
+ USE_SYSTEM_LAPACK:=1
+ USE_SYSTEM_GMP:=1
+ USE_SYSTEM_MPFR:=1
+ USE_SYSTEM_SUITESPARSE:=1
+ USE_SYSTEM_LIBUV:=0
+ USE_SYSTEM_UTF8PROC:=1
+ USE_SYSTEM_MBEDTLS:=1
+ USE_SYSTEM_LIBSSH2:=1
+ USE_SYSTEM_NGHTTP2:=1
+ USE_SYSTEM_CURL:=1
+ USE_SYSTEM_LIBGIT2:=1
+ USE_SYSTEM_PATCHELF:=1
+ USE_SYSTEM_ZLIB:=1
+ USE_SYSTEM_P7ZIP:=1
+ VERBOSE:=1
+ EOF
+}
+
+src_compile() {
+ # Julia accesses /proc/self/mem on Linux
+ addpredict /proc/self/mem
+
+ default
+ pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')"
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+
+ if ! use system-llvm ; then
+ local llvmslot=$(ver_cut 1 ${MY_LLVM_V})
+ cp "${S}/usr/lib/libLLVM-${llvmslot}jl.so" "${ED}/usr/$(get_libdir)/julia/" || die
+ fi
+
+ dodoc README.md
+
+ mv "${ED}"/usr/etc/julia "${ED}"/etc || die
+ rmdir "${ED}"/usr/etc || die
+ mv "${ED}"/usr/share/doc/julia/html "${ED}"/usr/share/doc/"${PF}" || die
+ rmdir "${ED}"/usr/share/doc/julia || die
+
+ # The appdata directory is deprecated.
+ mv "${ED}"/usr/share/{appdata,metainfo}/ || die
+}
+
+pkg_postinst() {
+ elog "To use Plots, you will need to install sci-visualization/gr."
+}
diff --git a/dev-lang/mujs/Manifest b/dev-lang/mujs/Manifest
index 221f6d97b026..108852263583 100644
--- a/dev-lang/mujs/Manifest
+++ b/dev-lang/mujs/Manifest
@@ -7,5 +7,5 @@ DIST mujs-1.2.0.tar.xz 99108 BLAKE2B 3661fb56a3c316f529251e93b50e18ae1835077af10
EBUILD mujs-1.1.0.ebuild 1365 BLAKE2B 4f940033e75d77ae741f68a915efef418cabc9f15ae3ecf4c388a0d2020cc7fbe8c003327653b3fdee4b8b7f591be929d19c77bf017f03811c037087130c4fb2 SHA512 cb79454936f47f9442ecaae261eeb1ad62635430ce416845cac82e14d24be7e7b86d07c2cccae0a83166f29e2e805d0458ef0ba98bb1d0da7f96bdc8027edfb1
EBUILD mujs-1.1.2.ebuild 1891 BLAKE2B 4022b431b28790f8b73996d2769ffe3d9095b48564afaa0f99068b55434e600a6be763402b31abbce4e244e54c9083d441c5a46dd83aa5819c5d33261ada88ad SHA512 3faa64cf406c803c63937cdb47ccdb2272daa3f7bc08892dfc7aad849042ea958e0cff759c57cdc4cdd9869d667e16167a8f3753af7a75284bce16d964b22775
EBUILD mujs-1.1.3.ebuild 1898 BLAKE2B c4a225d6e301b169c0f945e3ad2550cb61b235c1c0431b575a3128fdbcd08a5ba4d9929bb150877164166e29dc0e018f3dde2f6dce78053feaf37d91e23c958f SHA512 4b4b8232baad6b2305d8423f8e4f8a8f2badcbbbd1911c3763b19d0d8e11c0375c6324ca6a6c59f10fe6e677ad5f1793bec58aa4449980fe4a63843f6bdb3987
-EBUILD mujs-1.2.0.ebuild 1820 BLAKE2B 1b7794aecadecee67932bb9fca40b081b6ccb28bdc073bf572858281c7974813619696bd41a04af32aa9f60a5b767f01f57c0e1d5d0c1e93926cb8089873a123 SHA512 6b98083ba44308faa2206db5a80b13211bb177c2fab64d8e3622d319118f0d7c4d6c5fc2530b59a64ef7769f01ffae0328a3b88a33931a79ebaf5e943eab2662
+EBUILD mujs-1.2.0.ebuild 1647 BLAKE2B f41e22293713fb9af8338558f1b801bf5093a28cabcbaf76e8435ef89bedb0b62fd0b2052ae746ef863d393c94174f1dc24b51a20fcac36c653b5b109efac4e6 SHA512 a9a631fc865ef19edd39d8a61ddfbe6033d64e5fea747a553bc10c7e275b59a1f4d47662d6769f538e2c96a743804cf01fcd0c6da4e8ce046ee111a87321e50d
MISC metadata.xml 713 BLAKE2B 854afbc1219508e2b29aad5f4b83d0a869f1a70c9380fd624ce844be2d4ac3001ad0fe406b8a96c244d2d4837d8921ffd68bb424cf997d804fb426da0d2888b9 SHA512 36d958686ead6fa0cb13dfd8048f036ed833146fe786da0f2ce4f829343925472846d4164c3bbdd1ad4a9e04e8be5fd9b68e44cfef5139194f1aa7359250ed21
diff --git a/dev-lang/mujs/mujs-1.2.0.ebuild b/dev-lang/mujs/mujs-1.2.0.ebuild
index e25bff9dec49..53c9edbaa46a 100644
--- a/dev-lang/mujs/mujs-1.2.0.ebuild
+++ b/dev-lang/mujs/mujs-1.2.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit flag-o-matic toolchain-funcs
+inherit flag-o-matic multilib toolchain-funcs
DESCRIPTION="An embeddable JavaScript interpreter written in C"
HOMEPAGE="https://mujs.com/ https://github.com/ccxvii/mujs"
@@ -55,14 +55,7 @@ src_install() {
prefix=/usr \
install-shared
- # TODO: Tidy up this logic, improve readability
- if [[ ${CHOST} == *-darwin* ]] ; then
- mv -v "${ED}"/usr/$(get_libdir)/lib${PN}.so "${ED}"/usr/$(get_libdir)/lib${PN}.${PV}.dylib || die
- dosym lib${PN}.${PV}.dylib /usr/$(get_libdir)/lib${PN}.dylib
- dosym lib${PN}.${PV}.dylib /usr/$(get_libdir)/lib${PN}.${PV:0:1}.dylib
- else
- mv -v "${ED}"/usr/$(get_libdir)/lib${PN}.so{,.${PV}} || die
- dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so
- dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so.${PV:0:1}
- fi
+ mv -v "${ED}"/usr/$(get_libdir)/lib${PN}$(get_libname) "${ED}"/usr/$(get_libdir)/lib${PN}$(get_libname ${PV}) || die "Failed adding version suffix to mujs shared library"
+ dosym lib${PN}$(get_libname ${PV}) /usr/$(get_libdir)/lib${PN}$(get_libname)
+ dosym lib${PN}$(get_libname ${PV}) /usr/$(get_libdir)/lib${PN}$(get_libname ${PV:0:1})
}
diff --git a/dev-lang/nim/Manifest b/dev-lang/nim/Manifest
index 355814bbd2b5..5cf0bb8d6c9e 100644
--- a/dev-lang/nim/Manifest
+++ b/dev-lang/nim/Manifest
@@ -1,6 +1,6 @@
AUX nim-0.20.0-paths.patch 934 BLAKE2B 6a4e44c5656cde6d5127bf6a6b8db92cdf8aada0892c27d536d0c1030ed7da8dc97138a8941030101918021f2a301fa683169c8a656fefc6fb7d0fcdb24029d4 SHA512 bf8dbc3e3861ec3ea2718092b981e495194ead5b547e69d01d5d842d128dc4b96b0ba3e95c78afd8fd822d594199315a01de370851ed8f594c091231b9a10ee9
DIST nim-1.4.8.tar.xz 4786360 BLAKE2B 961b38275c4f9de87ac522c5b47368ce7f5543811a2dfd7b4f3fd79a104bcd0458caaaaab1705f99eb42c64735ca5f71d5018f8a8275a430d883233b28b1d412 SHA512 e6b245271495880f0eea271c46b4f5ce9168a421716a9a22367b6be3c2a9822937aad1f48eb61c151b040ac961728a89c8a6d143c8300057c0d8c1f2d66f3dd3
DIST nim-1.6.2.tar.xz 5181616 BLAKE2B adedbcaad1b135b6f99459894856190103e2d2b678849e0418f77c02a54fde44224456ea13949f3fe9f5f020a90adde46593497895674bd9ae892b17708df292 SHA512 052b62c987035f7633f965356993cd4eec686f4f4f5c675cf966d82cb30fcf574045887a4402bcc20e487299fb5e8f65a921951c2dc21ac334e695e31d95d992
-EBUILD nim-1.4.8.ebuild 1908 BLAKE2B c7e267e92cda81ae16e1dba7a82baaec77c12b7b7a3a4dccec994d868bef4cf7558562fe3d6f80ec5542f8195dacf0d291fce5d3ac3cabf1172bc887870ccae1 SHA512 70b3b578fc1ca1450fd02d31e865a1d7a2805d9c26c31ceba26076d9eb21100df1357645eee62f68b25f0a434f3bbd07479cbd661ec19b78af6cf253b7dc2438
-EBUILD nim-1.6.2.ebuild 2119 BLAKE2B b4c2954c990fd7c3a42e122ff7e98427a7a51a1b9468dcb2de46f0cfa47e6de66838ff7f74b94f63d9e00e5f880ed7c0adafe2b8346a53b92c6d0138f53e7754 SHA512 c385fb10fd13f8b9c31df16eabced9aaeb27824634d3f2eeaafcf9b37bdb441546a1ac3a7b789dd3f4bd5bcdacf8980a305541243c30cb23360010be3a797fcf
+EBUILD nim-1.4.8.ebuild 2077 BLAKE2B 4b7c5e23e6c97fa7af2de1a51ddcc5a63302c3fb6ada26255e80e76b42b6013adcf98d1f9a02a58ef435e2fd23777d172e9891b88c9e9caab370f07d7b4141ba SHA512 5d893a6d79c7d72019033e0755c60e18d0194a75e1772d708f358892d6259973eebbc6663e5ba23c22e4858c4c75672384221d3aec3526f4eb236ef0106d31bd
+EBUILD nim-1.6.2.ebuild 2138 BLAKE2B 788b1f95410760f1bb885eb2ac529d465cf914470f48a45114fc09130b05d58b4acac8b8717ab4ca4285edc1c778c5698119ea363a0dd0a717f6fa58eaee96d0 SHA512 aa39f4489821deab10aae2cc7e8bde91a248dd4c29cd43868f7f9d716d677fc4cbfd1809378fbb24060902e75183985ed5e3694b07f38c4eb56a6943caf0f9a9
MISC metadata.xml 1894 BLAKE2B 8ba43a558af584b0c455e16f6d710a2482fbd3d8a4ae80817ee0080165227e931f40b2269d6316ca4fc8773cea0e6d941feafcc30d8a2eb5eb0843d8f7e7df71 SHA512 6fbc92e65c8a85c82cba372aba12133acc626c2a33ec35aff4a02246e70f64dd06c51af121f17fb5cbab48df1aafa3e9af9375a1ccbd769590e26078a7dacf88
diff --git a/dev-lang/nim/nim-1.4.8.ebuild b/dev-lang/nim/nim-1.4.8.ebuild
index 3c52ea807c23..512bc61b2ef0 100644
--- a/dev-lang/nim/nim-1.4.8.ebuild
+++ b/dev-lang/nim/nim-1.4.8.ebuild
@@ -28,6 +28,18 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.20.0-paths.patch
)
+# Generated by nim
+QA_FLAGS_IGNORED="
+usr/bin/atlas
+usr/bin/nim
+usr/bin/nim_dbg
+usr/bin/nimble
+usr/bin/nimgrep
+usr/bin/nimpretty
+usr/bin/nimsuggest
+usr/bin/testament
+"
+
_run() {
echo "$@"
"$@" || die "'$*' failed"
diff --git a/dev-lang/nim/nim-1.6.2.ebuild b/dev-lang/nim/nim-1.6.2.ebuild
index 6e066c0a612d..51069ac3166b 100644
--- a/dev-lang/nim/nim-1.6.2.ebuild
+++ b/dev-lang/nim/nim-1.6.2.ebuild
@@ -21,6 +21,7 @@ DEPEND="${DEPEND}"
PATCHES=( "${FILESDIR}"/${PN}-0.20.0-paths.patch )
+# Generated by nim
QA_FLAGS_IGNORED="
usr/bin/atlas
usr/bin/nim
@@ -70,6 +71,10 @@ src_compile() {
_run ./koch tools ${NIM_OPTS[@]}
}
+src_test() {
+ _run ./koch test
+}
+
src_install() {
_run ./koch install "${ED}"
@@ -85,7 +90,3 @@ src_install() {
newbashcomp tools/nim.bash-completion nim
newbashcomp dist/nimble/nimble.bash-completion nimble
}
-
-src_test() {
- _run ./koch test
-}
diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest
index 006b42eeffc0..7b02208f80eb 100644
--- a/dev-lang/perl/Manifest
+++ b/dev-lang/perl/Manifest
@@ -4,7 +4,7 @@ AUX perl-5.34.0-gdbm-1.20.patch 1627 BLAKE2B 9cbe976f43134022aab2aca203ee6590af5
DIST perl-5.34.0-patches-1.tar.xz 20360 BLAKE2B e60074c49f357d4841708f58b5165a44201783238ff33ee81580bb83ba07d3d2dda447edd30a71ce8c9bafe5e5e0235b68e31a79081c3482bdd589231f0e898e SHA512 909e1fb22cda4ca769b51645b51a64df81b92210cfee388ac57834406bc13e404f0a1e6bad0888fafc73fc34b7fb224801fd02e87fb4c2f9145482ad74374e7b
DIST perl-5.34.0.tar.xz 12881416 BLAKE2B 4139e77fbb38b2b72671c0b130233cf5ed35112bbba3301b8ed724739c7ff96b041752aa505b938e257ef6ebf98a9b6dad1858e00f756c841a0520688d974e9a SHA512 691b4b31eacec357191fba777612b4e3eae59e946a22998a50766697c0d61db1d42a9b3bc1e41abf0d1ca1893e4a7c06d7bf3290480cf03d7f79befd7a8a3267
DIST perl-cross-1.3.6.tar.gz 110210 BLAKE2B 39074d6f4a526f59de2b1c40432936552e625a5a4e44fbb7ce3c1c3828b12c5298d1ab49b7d34ea92e2a4c8c88f8bbef8cc0c582a3fbbed975cf46d331e89c08 SHA512 d394fbd75d890442aa599eae8893a26540c8b7af966583ad1c3213c3fe0e074415cfed8814de8f397830833fd78267bdc55adc5267168198f269634c2ef3b982
-EBUILD perl-5.34.0-r3.ebuild 26141 BLAKE2B 9eb33f6777b266b9a617a06d14b89ec29ca7e3a0a3596d5955f1b5f9e10a05db45eb2883b782329317065f2e92fee4378e75faebcbf49ad83d13f7714d036dcd SHA512 f0a140c3536192d0198e54b7d2f7b2316eae2b065627fe96df8949d97e0e61c37406e0cac7c827a58002251235c2b21f75d5b32f4cdf874596e6ec0fcbbe7295
-EBUILD perl-5.34.0-r5.ebuild 25333 BLAKE2B b4ba8ef137c8b63648044bdf958346cce5577391673a0deef33f5ed9a322847fac5bad647c031a1b11ce2c186e729aeb5e143c16464b0cb98d6a31aca04cc23f SHA512 0cb2560fab5060333a5306086d6a9a9b356dbdc579e7da3eeb091b229cc510be8196f8a94ae8bd6d791e59aeb009f4b1c8e7ee776c9f9dd0d93634a37a119fe9
-EBUILD perl-5.34.0-r6.ebuild 25763 BLAKE2B 5008d3d3b3d17b432b08387a6c5e28f847af73516847bf630aebe0c034b9ca182e75fdb1a4e9fa01d27401fc287f990afd31d62914269283c83dc74976e91a0d SHA512 e1b72d3681eb6f567c6b4d93c52bd0e91984f4b63ddbd205b602f3fb3da4b6392f6204400ecca84fb8dd9956b7634ce7e23f8e3c7e466614028dce48476a0965
+EBUILD perl-5.34.0-r3.ebuild 26076 BLAKE2B b3bb0bea66cbabfe90855823671eb6faa72e72fbf9ec86dfa7279a028e34aeb8734e80bf7563138b4003500ed25d40d76a7f987c017c0f77122cb2df8f8851e4 SHA512 7d9e8755a050030c7d4df0614609c909b5ed5eaab05e84764fa86ad024edadcbf13e41f9326f4247f0f7c7735f3f67b718e5e35c88023358d562239e0d6aa5d6
+EBUILD perl-5.34.0-r5.ebuild 25268 BLAKE2B 0c65f2c0a8e779414e173d4ab989e9b520d8dea63339c3a8578ceed6e07246451014ebc77258c5a7dc74657036a210c6b856d3827999a494f065c2d010c5defc SHA512 076a03cae039e5df49defef09de5c3869d87d7bd85e03adb71099f64428a78371f5758e43193e0e29928b3490941ded376de34008613800fd67537279dde5554
+EBUILD perl-5.34.0-r6.ebuild 25691 BLAKE2B dece7bd6639994cc0a5a7eca3cc6c790f2f9302526cc1a09181f61ae9d9d0914aca223ba1c76943c8b5904f4e67edf19ba7588e8c33714807c3960120bc54b23 SHA512 012343f382ba6cc20b0016fcfb0fd5d159c76cf8cec44bdad7d7df76d895feca3dcc2a476f642c6a31d5e908ab01577ea820fd4d762c2ad08403fd259bbba71e
MISC metadata.xml 431 BLAKE2B 89471506c7b258c1806338a5850ee9337f48b8e7497a3cad8b1e8bf18811152071d416732e0267e7d0c13386097990d1ca12bb0051deb7cb70403ab2e9bdb367 SHA512 87d2a0c6a10f71b243b1e9a79306ed0d440a7f447d84fe37f2bd3c40c60e8749fd9d7e97ad482e286153587b57d7db5d6a8df7cef94f332de7175f053dc843e1
diff --git a/dev-lang/perl/perl-5.34.0-r3.ebuild b/dev-lang/perl/perl-5.34.0-r3.ebuild
index 4f15c0a9e41f..8f3eb1ad8b3f 100644
--- a/dev-lang/perl/perl-5.34.0-r3.ebuild
+++ b/dev-lang/perl/perl-5.34.0-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -533,7 +533,7 @@ src_configure() {
[[ ${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"
+ 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
@@ -742,7 +742,6 @@ src_test() {
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"
}
diff --git a/dev-lang/perl/perl-5.34.0-r5.ebuild b/dev-lang/perl/perl-5.34.0-r5.ebuild
index e066689b21b8..effe3c01df9a 100644
--- a/dev-lang/perl/perl-5.34.0-r5.ebuild
+++ b/dev-lang/perl/perl-5.34.0-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -518,7 +518,7 @@ src_configure() {
[[ ${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"
+ 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
@@ -727,7 +727,6 @@ src_test() {
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"
}
diff --git a/dev-lang/perl/perl-5.34.0-r6.ebuild b/dev-lang/perl/perl-5.34.0-r6.ebuild
index 10a8bdee8bdb..f3c4092ef4d6 100644
--- a/dev-lang/perl/perl-5.34.0-r6.ebuild
+++ b/dev-lang/perl/perl-5.34.0-r6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -52,7 +52,7 @@ LICENSE="|| ( Artistic GPL-1+ )"
SLOT="0/${SUBSLOT}"
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
IUSE="berkdb debug doc gdbm ithreads minimal"
@@ -525,7 +525,7 @@ src_configure() {
[[ ${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"
+ 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
@@ -736,7 +736,6 @@ src_test() {
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"
}
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index 40109e33dcbd..6a089ca486b4 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -9,14 +9,20 @@ DIST php-7.3.32.tar.xz 12142436 BLAKE2B 375092f7fade8b93d2fbf409552cda42a6852672
DIST php-7.3.33.tar.xz 12143820 BLAKE2B 77b5ada50169b308b42dbf2c69b5aebd6e9ab9663be8de5bd26391e42015d856631f12b0268b98889f2c3058564a6c71ad298b725b8afff920e277aa3e787422 SHA512 b05edb3e87775c0b2d7bd5990e47751279076e6ef2356f59dc917f4a1447d95894f596cd8de711f03278650ff74ff9f2687ed96cec69d2d669a6af563a455e25
DIST php-7.4.25.tar.xz 10376304 BLAKE2B 75682840a9e978d2ce350892bb8d743238f1ca86d4e1bb549637ad259541264c911128d3fbb2a89768acaa366eac91e66b26f8411f6b9f6d55475b139f5ae95a SHA512 7fcb236f6d2a92514059b2e107c2b592e6139e3c65046566ae98fb9d2c09eb3e9ca1a41ea6535fc814bc7127d8fd9f8bb5a80bd86eec32120eb150a34b9b5c34
DIST php-7.4.26.tar.xz 10420236 BLAKE2B d4675ecf3632bb63e24d2f3cdef10c01fbf4a7a28384abc1e2eeb9ae7dc4ecfe341b95d946e182647837f4e082f0261e2ba921822ec5844b7fe833bf639197b7 SHA512 36cd493c9c95aabb1ee47e82cb0c20b2be99fe7ebd98743355139064590d0b9a1746d71e31dd47f164df34ebe3f8366a75f3efc149262e1391b43d83d3045c6e
+DIST php-7.4.27.tar.xz 10419380 BLAKE2B e62218f54f0455377f085499b3fa75d9d9a33c81d621ac4303cee59e70565a3cd9bfa6372ebb3492a4093eb22bf101653b6e8b3804cb8795db5d5ac2845de2f5 SHA512 2401f19d738a511c20efdf199fed7a6bdd02b51d91abf68a410f760cf846df87fce4bbf71acdf209926877cf3e8f8f39f045f1f03755862d09491f6ab6c9cfc8
DIST php-8.0.12.tar.xz 10713980 BLAKE2B ce8ca0d671e8613a81744a55cf94ff43254482a08dec365c05eb4ca22c1b31732e5ef93a51d383d2e8daf0cf332ed7946e79ba3b385386ca0773fc673fe58307 SHA512 927b15c4443f3741a5325ec7bf387987b405cd5e64e40fd81f1945bf073adda30eeede8e1f98185f505cb61f969cf1abe05b8dad57a3c4e87971e8037bb16b23
DIST php-8.0.13.tar.xz 10854284 BLAKE2B 7f232dcfc89f0803cf1f1eff664fa9e16436d6b3c5a22c0454432a546e848a8e962057820866a85cb2af1234a0c0fa38f813c62be90526dbeab483f0e9095fd3 SHA512 cb00482b74146670c4644f4b5da63b40d9afd111e198cdf1e67bfcf4280501a657b4fbad8fd7580f4e3f537db3c8a9db5f4115d3a466392cefac9866e233fa49
+DIST php-8.0.14.tar.xz 10860176 BLAKE2B e63e8e4446c1e1ee0bdf6faf38ce95a793107e582bd74677555d6f3576184af73d454111f14cd680086b11f288222d1ad5fb0e5ee38df53cd476fab6015b7fa7 SHA512 1fb96dd7e229dd71d0e872c8450e18bdefadebaf0b6b6429bd5d054be1b940cd2d53f132ba2d166d454b89374e79e4ea02d483320792e983d572df68ef769788
DIST php-8.1.0.tar.xz 11737524 BLAKE2B 1c1bd664628343f1a0d502a009ab01cccc4cb3cb8239c1882ae1a9c1795db9cf382d5b5648cc83bc4a929a892e637324555cc59a6379118cb04f477d35cfabff SHA512 0f8667ec888dff2f1b7354ff3bd3def4130b1b7145258deb65e4529982383a90c1a7412f298d566f889b4f2c19a72d145ad150501881f8483a07fc9610c9ae49
-EBUILD php-7.3.32.ebuild 22600 BLAKE2B 31fd95f1072edc863731528f80a3035918c5dbdb60e12f8444df46a903d7123ecb8c3e090781c4f1a0e47913b80f0ea2b2b0447292875102e5cabaa43781b814 SHA512 7c82e8912218f69a38991227325979f47d129a2999bbb0c93e878c57c0eaef175510081eca7a00d1c9b37d160c6e9c11bcc1aea8c6b325ed03271fbc9297755d
-EBUILD php-7.3.33.ebuild 22607 BLAKE2B d6784f9f2153db5410c99a4ae552483a23280b95afe7202d422489a3ad5a05ca5e372e1e8d43482cd91d68c9ab850b6936770be9385b3dddeeaca4647cb6e4d8 SHA512 60363d05305f11d49e2951110b7c4ed241d236d5c412a8c45f3266990cd556f1498924cdf3b771681504f20848fe190935b8efb6e30628144c46f292c9092123
-EBUILD php-7.4.25.ebuild 21318 BLAKE2B 8a653a64d62795b438393366e21a56c983a9ce343326f6bd59fb008d661ce41b09dfd128f957e9c5e52f3578871eb1f1ef537d31c04f5641c21c7039a2b46cde SHA512 890d493a508b5ac9861a12606fafc7626c1d04571532f56458b1a31fa61e9d888e2adaa992feb360b6efd772f27c3d97fffdf63d6cf88dee78972249615a1043
-EBUILD php-7.4.26.ebuild 21293 BLAKE2B b3aaacd0cd683dbad0f543e5314f51249dc59acd7b07bf7c1f539acbbacaf0d8a1a4ccfcabce768c359e4ba1257165b44e8d2dc2dadc374323995b5c688f12a3 SHA512 eb1b5ae100704c8295b081feda8ae1fef30378034766577b4c1a8260b3aac60da3b029104b64397258c1909da9b6f6c5f31014b4bc59de6246944942f74ff53b
-EBUILD php-8.0.12.ebuild 21336 BLAKE2B 7e0bde025f774aa1060530b424362663478f4a88d7ee2b9bd94f9ab5c3c56b7103108a30d56dc655c5ee5bef88e891a32a1f97c8ae907118504d4c33fc4d7073 SHA512 bf5f54d11df48aaf5c9c261abcd0e444cd5fa8534fba3fdd3c5de48a8351f425524bfc88f3eef08a60f67af7379601f12060ce504eb428e5b5897e9d33a8a86e
-EBUILD php-8.0.13.ebuild 21845 BLAKE2B 003941057c8d1917e41d008565f2e0c5565701c10e00b27c574b4a1a066d0f2ffc49e6fcb6e8ddb7616be7fb532f336349047ad90745082c2705b1d936d31b81 SHA512 fc561b8836fbdcac191ea19a28a9ea74b387ca07ad5646c74586d2e13ba44d2516be53b8bf4288565e7cb93c8f8b94eede314e8b10a847303f65f138e019d7a7
-EBUILD php-8.1.0.ebuild 21858 BLAKE2B c2628d993511e6a70ccdcddac13c35e4e82eca46988518c6ae441d48e8180a9996fd330bf281f9987e87c0d07eca3581ab49140a396deafca7628fd63ff92fc5 SHA512 02757179ad22bdc21d976eee321e02fa716ec1526940bd13470254ca74f5d6ce35851b71ba849744bc8786fa5fd2ba3f6f5f6188b46bee2aa2088ec38c7f48e2
+DIST php-8.1.1.tar.xz 11728680 BLAKE2B a9a6dd380efea7637e92707dfc3f8b0705efdfd6cb2639a69e43fa4d7ac17ba80d12086840d4b7118e8f132c1f7e1638d9df79e03190c1fd9647ffe553003980 SHA512 ab1cca08eb49fc2316f19d9e136a2d6462fe5b33967ecb671564dd9def2a765cc1b864a764c9cfbb8e7853936fb2d4939e7ed4f97220ca30eaf08c3badeb44da
+EBUILD php-7.3.32.ebuild 22579 BLAKE2B 77061c8803da1468dfe09bda3a1d87e4d307980e41990f149a62306e92de66ed9a665c319b49de0f6655fa0073ca94f26de220592d197854b6d9fda9cab76e47 SHA512 9fada7c73de015edb07719368a4f02642c7b8b395d7d240459f952f75b424441c4aa6f2d088cd4632c56eeef0b44a02faf7a4f8e8ca403cd8178fc8a60ea38e4
+EBUILD php-7.3.33.ebuild 22586 BLAKE2B 68c91b62746fb125ef2921100ef02549b7e9b6c7e01431b29269135dde94c8288db7af28988f9f5debeb1509c49d583fd19adbb2edde103b7de6f3b3bbd3a939 SHA512 879d25a58261d66c4b90da4447a15eb54407bec51cd71364fbd15a7c8b60b6cbb853a6af1f286bef1c15e2ba59a7fe65ece4babd69277e1322d5fab38b2fb529
+EBUILD php-7.4.25.ebuild 21297 BLAKE2B b9c8400af5d83f2d366bc427690a7e454c507f41fbeb746c483a75eaa2aa7df89d7d13b71ceb14fbbc354f48cbd7b21509f8cce32f13f05504a5a802d37b1d48 SHA512 5a88de0728f8f76e1ffb16202c47e07910ec28187dfc7c8ae77e33a61838888c3aaad8e2c42c091788ccf4ec36204fd52f13f207d4485d3fe5ab423ba3e1991f
+EBUILD php-7.4.26.ebuild 21272 BLAKE2B 81120abe77f073de480514d21a02f48316cc2c01ba5863a9079c542cfc5a402d354d870233d2e98d4af929ebea83f8269793e76f0724c9efd175b83b66265240 SHA512 4c70d22f64134d902ad8069dfa61dcbd92d06cd1cce0ee2db6135fc0c6417de32ead2cba225c15cb4376af4ae23a7f40736a9b077d7994f617e6df72b22e9b98
+EBUILD php-7.4.27.ebuild 21272 BLAKE2B 81120abe77f073de480514d21a02f48316cc2c01ba5863a9079c542cfc5a402d354d870233d2e98d4af929ebea83f8269793e76f0724c9efd175b83b66265240 SHA512 4c70d22f64134d902ad8069dfa61dcbd92d06cd1cce0ee2db6135fc0c6417de32ead2cba225c15cb4376af4ae23a7f40736a9b077d7994f617e6df72b22e9b98
+EBUILD php-8.0.12.ebuild 21315 BLAKE2B c10ae3e2ce97b40a08b4ba4cc583986d545e1beffef93e5dbd95e6c657b8a99ce8551f6f115a59dc362915ef2f0a02d1abd93bc21aa2e0be3dab96a8cd72e037 SHA512 8d4b47550819953532357c82de4d60be4fbcb98484ccb8079d8258beabe000ccc01748b091344d026b5369529af919f4ead94e33dfcb83339a56214a510f9107
+EBUILD php-8.0.13.ebuild 21824 BLAKE2B b92ffb2a9de196b84614fb8622369727522d8543b141209a8d7b95344ef19a284e21a094098a73d948d9e83a82bded6ebaf6ae82ee53cfcfedb577c7be179c09 SHA512 6b5e9ba1423994a86cf864102c0fcb82a6ac364af76716cb533ce85f89308a26d80a1053860d684d7de708d19c8bd83446ee402e53ff6fed1f4fb813836a5321
+EBUILD php-8.0.14.ebuild 21824 BLAKE2B b92ffb2a9de196b84614fb8622369727522d8543b141209a8d7b95344ef19a284e21a094098a73d948d9e83a82bded6ebaf6ae82ee53cfcfedb577c7be179c09 SHA512 6b5e9ba1423994a86cf864102c0fcb82a6ac364af76716cb533ce85f89308a26d80a1053860d684d7de708d19c8bd83446ee402e53ff6fed1f4fb813836a5321
+EBUILD php-8.1.0.ebuild 21837 BLAKE2B 709917a9d2745045903624ad66e74c57d55e770df24c33c3f05cce1e42fc4d6f3903fa165b6bdd829ba779ab4e160fc6f9e48b39ca76ca27a172b573057ce997 SHA512 53d028a0d79221154a890bbdadb4a08b067546710575edecea1e2e0a242511d274c24d31d8529add654908e797c193f1b752c97dd3475a15715a888186ee0f39
+EBUILD php-8.1.1.ebuild 21837 BLAKE2B 709917a9d2745045903624ad66e74c57d55e770df24c33c3f05cce1e42fc4d6f3903fa165b6bdd829ba779ab4e160fc6f9e48b39ca76ca27a172b573057ce997 SHA512 53d028a0d79221154a890bbdadb4a08b067546710575edecea1e2e0a242511d274c24d31d8529add654908e797c193f1b752c97dd3475a15715a888186ee0f39
MISC metadata.xml 3378 BLAKE2B 4ea64ce2404205f33be7d0be217ad8eeef2b82bc50700664dd89db5bd6c3aabfe2b0ab72497493bdb1214d3c30d9fdabe0e8790938aa68fd3cff8bb25249057b SHA512 21fc30b50fe9d5fdbd63c19e1bc7856bc2e7d96ff8fbd05aff4fc07bddae68cbe8dffecb1854de233031257dcd40da265463887259f95ed886dac8bc2b6cc535
diff --git a/dev-lang/php/php-7.3.32.ebuild b/dev-lang/php/php-7.3.32.ebuild
index eb176b40cd3d..e4451e5cc637 100644
--- a/dev-lang/php/php-7.3.32.ebuild
+++ b/dev-lang/php/php-7.3.32.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -269,7 +269,7 @@ src_configure() {
$(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 elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl intl)
$(use_enable ipv6 ipv6)
$(use_enable json json)
diff --git a/dev-lang/php/php-7.3.33.ebuild b/dev-lang/php/php-7.3.33.ebuild
index e1ab493e57a6..8877e1d31eb4 100644
--- a/dev-lang/php/php-7.3.33.ebuild
+++ b/dev-lang/php/php-7.3.33.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -269,7 +269,7 @@ src_configure() {
$(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 elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl intl)
$(use_enable ipv6 ipv6)
$(use_enable json json)
diff --git a/dev-lang/php/php-7.4.25.ebuild b/dev-lang/php/php-7.4.25.ebuild
index ea60a2d13396..2cc434eedb4d 100644
--- a/dev-lang/php/php-7.4.25.ebuild
+++ b/dev-lang/php/php-7.4.25.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -262,7 +262,7 @@ src_configure() {
$(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 elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl)
$(use_enable ipv6)
$(use_enable json)
diff --git a/dev-lang/php/php-7.4.26.ebuild b/dev-lang/php/php-7.4.26.ebuild
index 2ef10fa15f96..cee27f7d4134 100644
--- a/dev-lang/php/php-7.4.26.ebuild
+++ b/dev-lang/php/php-7.4.26.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -261,7 +261,7 @@ src_configure() {
$(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 elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl)
$(use_enable ipv6)
$(use_enable json)
diff --git a/dev-lang/php/php-7.4.27.ebuild b/dev-lang/php/php-7.4.27.ebuild
new file mode 100644
index 000000000000..cee27f7d4134
--- /dev/null
+++ b/dev-lang/php/php-7.4.27.ebuild
@@ -0,0 +1,745 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+WANT_AUTOMAKE="none"
+
+inherit flag-o-matic systemd autotools
+
+MY_PV=${PV/_rc/RC}
+DESCRIPTION="The PHP language runtime engine"
+HOMEPAGE="https://www.php.net/"
+SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
+
+LICENSE="PHP-3.01
+ BSD
+ Zend-2.0
+ bcmath? ( LGPL-2.1+ )
+ fpm? ( BSD-2 )
+ gd? ( gd )
+ unicode? ( BSD-2 LGPL-2.1 )"
+
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+# We can build the following SAPIs in the given order
+SAPIS="embed cli cgi fpm apache2 phpdbg"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+ ${SAPIS/cli/+cli}
+ threads"
+
+IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
+ coverage +ctype curl debug
+ enchant exif ffi +fileinfo +filter firebird
+ +flatfile ftp gd gdbm gmp +iconv imap inifile
+ intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
+ mhash mssql mysql mysqli nls
+ oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+ readline selinux +session session-mm sharedmem
+ +simplexml snmp soap sockets sodium spell sqlite ssl
+ sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+ +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
+
+# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+# The Oracle instant client provides its own incompatible ldap library.
+REQUIRED_USE="
+ || ( cli cgi fpm apache2 embed phpdbg )
+ cli? ( ^^ ( readline libedit ) )
+ !cli? ( ?? ( readline libedit ) )
+ truetype? ( gd zlib )
+ webp? ( gd zlib )
+ cjk? ( gd zlib )
+ exif? ( gd zlib )
+ xpm? ( gd zlib )
+ gd? ( zlib )
+ simplexml? ( xml )
+ soap? ( xml )
+ xmlrpc? ( xml iconv )
+ xmlreader? ( xml )
+ xmlwriter? ( xml )
+ xslt? ( xml )
+ ldap-sasl? ( ldap )
+ oci8-instant-client? ( !ldap )
+ qdbm? ( !gdbm )
+ session-mm? ( session !threads )
+ mysql? ( || ( mysqli pdo ) )
+ firebird? ( pdo )
+ mssql? ( pdo )
+"
+
+RESTRICT="!test? ( test )"
+
+# The supported (that is, autodetected) versions of BDB are listed in
+# the ./configure script. Other versions *work*, but we need to stick to
+# the ones that can be detected to avoid a repeat of bug #564824.
+COMMON_DEPEND="
+ >=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
+ >=dev-libs/libpcre2-10.30[jit?,unicode]
+ fpm? ( acl? ( sys-apps/acl ) )
+ apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
+ argon2? ( app-crypt/argon2:= )
+ berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) )
+ bzip2? ( app-arch/bzip2:0= )
+ cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
+ coverage? ( dev-util/lcov )
+ curl? ( >=net-misc/curl-7.10.5 )
+ enchant? ( <app-text/enchant-2.0:0 )
+ ffi? ( >=dev-libs/libffi-3.0.11:= )
+ firebird? ( dev-db/firebird )
+ gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
+ gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
+ gmp? ( dev-libs/gmp:0= )
+ iconv? ( virtual/libiconv )
+ imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
+ intl? ( dev-libs/icu:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( >=net-nds/openldap-1.2.11 )
+ ldap-sasl? ( dev-libs/cyrus-sasl )
+ libedit? ( dev-libs/libedit )
+ lmdb? ( dev-db/lmdb:= )
+ mssql? ( dev-db/freetds[mssql] )
+ nls? ( sys-devel/gettext )
+ oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
+ odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
+ postgres? ( dev-db/postgresql:* )
+ qdbm? ( dev-db/qdbm )
+ readline? ( sys-libs/readline:0= )
+ session-mm? ( dev-libs/mm )
+ snmp? ( >=net-analyzer/net-snmp-5.2 )
+ sodium? ( dev-libs/libsodium:=[-minimal] )
+ spell? ( >=app-text/aspell-0.50 )
+ sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+ ssl? ( >=dev-libs/openssl-1.0.1:0= )
+ tidy? ( app-text/htmltidy )
+ tokyocabinet? ( dev-db/tokyocabinet )
+ truetype? ( =media-libs/freetype-2* )
+ unicode? ( dev-libs/oniguruma:= )
+ webp? ( media-libs/libwebp:0= )
+ xml? ( >=dev-libs/libxml2-2.7.6 )
+ xpm? ( x11-libs/libXpm )
+ xslt? ( dev-libs/libxslt )
+ zip? ( >=dev-libs/libzip-1.2.0:= )
+ zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
+"
+
+RDEPEND="${COMMON_DEPEND}
+ virtual/mta
+ fpm? (
+ selinux? ( sec-policy/selinux-phpfpm )
+ systemd? ( sys-apps/systemd ) )"
+
+# Bison isn't actually needed when building from a release tarball
+# However, the configure script will warn if it's absent or if you
+# have an incompatible version installed. See bug 593278.
+DEPEND="${COMMON_DEPEND}
+ app-arch/xz-utils
+ >=sys-devel/bison-3.0.1"
+
+BDEPEND="virtual/pkgconfig"
+
+PHP_MV="$(ver_cut 1)"
+
+PATCHES=(
+ "${FILESDIR}"/php-iodbc-header-location.patch
+)
+
+php_install_ini() {
+ local phpsapi="${1}"
+
+ # work out where we are installing the ini file
+ php_set_ini_dir "${phpsapi}"
+
+ # Always install the production INI file, bug 611214.
+ local phpinisrc="php.ini-production-${phpsapi}"
+ cp php.ini-production "${phpinisrc}" || die
+
+ # default to /tmp for save_path, bug #282768
+ sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
+
+ # Set the extension dir
+ sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
+ -i "${phpinisrc}" || die
+
+ # Set the include path to point to where we want to find PEAR packages
+ sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
+
+ insinto "${PHP_INI_DIR#${EPREFIX}}"
+ newins "${phpinisrc}" php.ini
+
+ elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
+ elog
+
+ dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
+ dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
+
+ if use opcache; then
+ elog "Adding opcache to $PHP_EXT_INI_DIR"
+ echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
+ "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
+ dosym "../ext/opcache.ini" \
+ "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
+ fi
+
+ # SAPI-specific handling
+ if [[ "${sapi}" == "fpm" ]] ; then
+ einfo "Installing FPM config files php-fpm.conf and www.conf"
+ insinto "${PHP_INI_DIR#${EPREFIX}}"
+ doins sapi/fpm/php-fpm.conf
+ insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
+ doins sapi/fpm/www.conf
+ fi
+
+ dodoc php.ini-{development,production}
+}
+
+php_set_ini_dir() {
+ PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
+ PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
+ PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
+}
+
+src_prepare() {
+ default
+
+ # In php-7.x, the FPM pool configuration files have been split off
+ # of the main config. By default the pool config files go in
+ # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
+ # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
+ # we'll install the pool configuration file "www.conf" there.
+ php_set_ini_dir fpm
+ sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
+ sapi/fpm/php-fpm.conf.in \
+ || die 'failed to move the include directory in php-fpm.conf'
+
+ # Emulate buildconf to support cross-compilation
+ rm -fr aclocal.m4 autom4te.cache config.cache \
+ configure main/php_config.h.in || die
+ eautoconf --force
+ eautoheader
+}
+
+src_configure() {
+ addpredict /usr/share/snmp/mibs/.index #nowarn
+ addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+ PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
+
+ # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
+ # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
+ local our_conf=(
+ --prefix="${PHP_DESTDIR}"
+ --mandir="${PHP_DESTDIR}/man"
+ --infodir="${PHP_DESTDIR}/info"
+ --libdir="${PHP_DESTDIR}/lib"
+ --with-libdir="$(get_libdir)"
+ --localstatedir="${EPREFIX}/var"
+ --without-pear
+ $(use_enable threads maintainer-zts)
+ )
+
+ our_conf+=(
+ $(use_with argon2 password-argon2 "${EPREFIX}/usr")
+ $(use_enable bcmath)
+ $(use_with bzip2 bz2 "${EPREFIX}/usr")
+ $(use_enable calendar)
+ $(use_enable coverage gcov)
+ $(use_enable ctype)
+ $(use_with curl)
+ $(use_enable xml dom)
+ $(use_with enchant)
+ $(use_enable exif)
+ $(use_with ffi)
+ $(use_enable fileinfo)
+ $(use_enable filter)
+ $(use_enable ftp)
+ $(use_with nls gettext "${EPREFIX}/usr")
+ $(use_with gmp gmp "${EPREFIX}/usr")
+ $(use_with mhash mhash "${EPREFIX}/usr")
+ $(use_with iconv iconv \
+ $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
+ $(use_enable intl)
+ $(use_enable ipv6)
+ $(use_enable json)
+ $(use_with kerberos)
+ $(use_with xml libxml)
+ $(use_enable unicode mbstring)
+ $(use_with ssl openssl)
+ $(use_enable pcntl)
+ $(use_enable phar)
+ $(use_enable pdo)
+ $(use_enable opcache)
+ $(use_with postgres pgsql "${EPREFIX}/usr")
+ $(use_enable posix)
+ $(use_with spell pspell "${EPREFIX}/usr")
+ $(use_enable simplexml)
+ $(use_enable sharedmem shmop)
+ $(use_with snmp snmp "${EPREFIX}/usr")
+ $(use_enable soap)
+ $(use_enable sockets)
+ $(use_with sodium)
+ $(use_with sqlite sqlite3)
+ $(use_enable sysvipc sysvmsg)
+ $(use_enable sysvipc sysvsem)
+ $(use_enable sysvipc sysvshm)
+ $(use_with tidy tidy "${EPREFIX}/usr")
+ $(use_enable tokenizer)
+ $(use_enable xml)
+ $(use_enable xmlreader)
+ $(use_enable xmlwriter)
+ $(use_with xmlrpc)
+ $(use_with xslt xsl)
+ $(use_with zip)
+ $(use_with zlib zlib "${EPREFIX}/usr")
+ $(use_enable debug)
+ )
+
+ # DBA support
+ if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
+ || use qdbm || use lmdb || use tokyocabinet ; then
+ our_conf+=( "--enable-dba" )
+ fi
+
+ # DBA drivers support
+ our_conf+=(
+ $(use_with cdb)
+ $(use_with berkdb db4 "${EPREFIX}/usr")
+ $(use_enable flatfile)
+ $(use_with gdbm gdbm "${EPREFIX}/usr")
+ $(use_enable inifile)
+ $(use_with qdbm qdbm "${EPREFIX}/usr")
+ $(use_with tokyocabinet tcadb "${EPREFIX}/usr")
+ $(use_with lmdb lmdb "${EPREFIX}/usr")
+ )
+
+ # Support for the GD graphics library
+ our_conf+=(
+ $(use_with truetype freetype)
+ $(use_enable cjk gd-jis-conv)
+ $(use_with gd jpeg)
+ $(use_with xpm)
+ $(use_with webp)
+ )
+ # enable gd last, so configure can pick up the previous settings
+ our_conf+=( $(use_enable gd) )
+
+ # IMAP support
+ if use imap ; then
+ our_conf+=(
+ $(use_with imap imap "${EPREFIX}/usr")
+ $(use_with ssl imap-ssl "${EPREFIX}/usr")
+ )
+ fi
+
+ # LDAP support
+ if use ldap ; then
+ our_conf+=(
+ $(use_with ldap ldap "${EPREFIX}/usr")
+ $(use_with ldap-sasl)
+ )
+ fi
+
+ # MySQL support
+ local mysqllib="mysqlnd"
+ local mysqlilib="mysqlnd"
+
+ our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
+
+ local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ if use mysql || use mysqli ; then
+ our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
+ fi
+
+ # ODBC support
+ if use odbc && use iodbc ; then
+ our_conf+=(
+ --without-unixODBC
+ --with-iodbc
+ $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
+ )
+ elif use odbc ; then
+ our_conf+=(
+ --with-unixODBC="${EPREFIX}/usr"
+ --without-iodbc
+ $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
+ )
+ else
+ our_conf+=(
+ --without-unixODBC
+ --without-iodbc
+ --without-pdo-odbc
+ )
+ fi
+
+ # Oracle support
+ our_conf+=( $(use_with oci8-instant-client oci8) )
+
+ # PDO support
+ if use pdo ; then
+ our_conf+=(
+ $(use_with mssql pdo-dblib "${EPREFIX}/usr")
+ $(use_with mysql pdo-mysql "${mysqllib}")
+ $(use_with postgres pdo-pgsql)
+ $(use_with sqlite pdo-sqlite)
+ $(use_with firebird pdo-firebird "${EPREFIX}/usr")
+ $(use_with oci8-instant-client pdo-oci)
+ )
+ fi
+
+ # readline/libedit support
+ our_conf+=(
+ $(use_with readline readline "${EPREFIX}/usr")
+ $(use_with libedit)
+ )
+
+ # Session support
+ if use session ; then
+ our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
+ else
+ our_conf+=( $(use_enable session) )
+ fi
+
+ # Use pic for shared modules such as apache2's mod_php
+ our_conf+=( --with-pic )
+
+ # we use the system copy of pcre
+ # --with-external-pcre affects ext/pcre
+ our_conf+=(
+ --with-external-pcre
+ $(use_with jit pcre-jit)
+ )
+
+ # Catch CFLAGS problems
+ # Fixes bug #14067.
+ # Changed order to run it in reverse for bug #32022 and #12021.
+ replace-cpu-flags "k6*" "i586"
+
+ # Cache the ./configure test results between SAPIs.
+ our_conf+=( --cache-file="${T}/config.cache" )
+
+ # Support user-passed configuration parameters
+ our_conf+=( ${EXTRA_ECONF:-} )
+
+ # Support the Apache2 extras, they must be set globally for all
+ # SAPIs to work correctly, especially for external PHP extensions
+
+ local one_sapi
+ local sapi
+ mkdir -p "${WORKDIR}/sapis-build" || die
+ for one_sapi in $SAPIS ; do
+ use "${one_sapi}" || continue
+ php_set_ini_dir "${one_sapi}"
+
+ # The BUILD_DIR variable is used to determine where to output
+ # the files that autotools creates. This was all originally
+ # based on the autotools-utils eclass.
+ BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
+ cp -a "${S}" "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+
+ local sapi_conf=(
+ --with-config-file-path="${PHP_INI_DIR}"
+ --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
+ )
+
+ for sapi in $SAPIS ; do
+ case "$sapi" in
+ cli|cgi|embed|fpm|phpdbg)
+ if [[ "${one_sapi}" == "${sapi}" ]] ; then
+ sapi_conf+=( "--enable-${sapi}" )
+ if [[ "fpm" == "${sapi}" ]] ; then
+ sapi_conf+=(
+ $(use_with acl fpm-acl)
+ $(use_with systemd fpm-systemd)
+ )
+ fi
+ else
+ sapi_conf+=( "--disable-${sapi}" )
+ fi
+ ;;
+
+ apache2)
+ if [[ "${one_sapi}" == "${sapi}" ]] ; then
+ sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
+ else
+ sapi_conf+=( --without-apxs2 )
+ fi
+ ;;
+ esac
+ done
+
+ # Construct the $myeconfargs array by concatenating $our_conf
+ # (the common args) and $sapi_conf (the SAPI-specific args).
+ local myeconfargs=( "${our_conf[@]}" )
+ myeconfargs+=( "${sapi_conf[@]}" )
+
+ pushd "${BUILD_DIR}" > /dev/null || die
+ econf "${myeconfargs[@]}"
+ popd > /dev/null || die
+ done
+}
+
+src_compile() {
+ # snmp seems to run during src_compile, too (bug #324739)
+ addpredict /usr/share/snmp/mibs/.index #nowarn
+ addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+ local sapi
+ for sapi in ${SAPIS} ; do
+ if use "${sapi}"; then
+ cd "${WORKDIR}/sapis-build/$sapi" || \
+ die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
+ emake
+ fi
+ done
+}
+
+src_install() {
+ # see bug #324739 for what happens when we don't have that
+ addpredict /usr/share/snmp/mibs/.index #nowarn
+
+ # grab the first SAPI that got built and install common files from there
+ local first_sapi="", sapi=""
+ for sapi in $SAPIS ; do
+ if use $sapi ; then
+ first_sapi=$sapi
+ break
+ fi
+ done
+
+ # Makefile forgets to create this before trying to write to it...
+ dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
+
+ # Install php environment (without any sapis)
+ cd "${WORKDIR}/sapis-build/$first_sapi" || die
+ emake INSTALL_ROOT="${D}" \
+ install-build install-headers install-programs
+
+ local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
+
+ # Create the directory where we'll put version-specific php scripts
+ keepdir "/usr/share/php${PHP_MV}"
+
+ local file=""
+ local sapi_list=""
+
+ for sapi in ${SAPIS}; do
+ if use "${sapi}" ; then
+ einfo "Installing SAPI: ${sapi}"
+ cd "${WORKDIR}/sapis-build/${sapi}" || die
+
+ if [[ "${sapi}" == "apache2" ]] ; then
+ # We're specifically not using emake install-sapi as libtool
+ # may cause unnecessary relink failures (see bug #351266)
+ insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
+ newins ".libs/libphp${PHP_MV}$(get_libname)" \
+ "libphp${PHP_MV}$(get_libname)"
+ keepdir "/usr/$(get_libdir)/apache2/modules"
+ else
+ # needed each time, php_install_ini would reset it
+ local dest="${PHP_DESTDIR#${EPREFIX}}"
+ into "${dest}"
+ case "$sapi" in
+ cli)
+ source="sapi/cli/php"
+ # Install the "phar" archive utility.
+ if use phar ; then
+ emake INSTALL_ROOT="${D}" install-pharcmd
+ dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
+ fi
+ ;;
+ cgi)
+ source="sapi/cgi/php-cgi"
+ ;;
+ fpm)
+ source="sapi/fpm/php-fpm"
+ ;;
+ embed)
+ source="libs/libphp${PHP_MV}$(get_libname)"
+ ;;
+ phpdbg)
+ source="sapi/phpdbg/phpdbg"
+ ;;
+ *)
+ die "unhandled sapi in src_install"
+ ;;
+ esac
+
+ if [[ "${source}" == *"$(get_libname)" ]]; then
+ dolib.so "${source}"
+ else
+ dobin "${source}"
+ local name="$(basename ${source})"
+ dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
+ fi
+ fi
+
+ php_install_ini "${sapi}"
+
+ # construct correct SAPI string for php-config
+ # thanks to ferringb for the bash voodoo
+ if [[ "${sapi}" == "apache2" ]]; then
+ sapi_list="${sapi_list:+${sapi_list} }apache2handler"
+ else
+ sapi_list="${sapi_list:+${sapi_list} }${sapi}"
+ fi
+ fi
+ done
+
+ # Installing opcache module
+ if use opcache ; then
+ into "${PHP_DESTDIR#${EPREFIX}}"
+ dolib.so "modules/opcache$(get_libname)"
+ fi
+
+ # Install env.d files
+ newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
+ sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+ sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+
+ # set php-config variable correctly (bug #278439)
+ sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
+ "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
+
+ if use fpm ; then
+ if use systemd; then
+ systemd_newunit "${FILESDIR}/php-fpm_at.service" \
+ "php-fpm@${SLOT}.service"
+ else
+ systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
+ "php-fpm@${SLOT}.service"
+ fi
+ fi
+}
+
+src_test() {
+ echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+ PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
+ if [[ ! -x "${PHP_BIN}" ]] ; then
+ ewarn "Test phase requires USE=cli, skipping"
+ return
+ else
+ export TEST_PHP_EXECUTABLE="${PHP_BIN}"
+ fi
+
+ if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
+ export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
+ fi
+
+ if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
+ export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
+ fi
+
+ REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
+ "session.save_path=${T}" \
+ "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
+ "session.save_path=${T}"
+
+ for name in ${EXPECTED_TEST_FAILURES}; do
+ mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
+ done
+
+ local failed="$(find -name '*.out')"
+ if [[ ${failed} != "" ]] ; then
+ ewarn "The following test cases failed unexpectedly:"
+ for name in ${failed}; do
+ ewarn " ${name/.out/}"
+ done
+ else
+ einfo "No unexpected test failures, all fine"
+ fi
+
+ if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
+ local passed=""
+ for name in ${EXPECTED_TEST_FAILURES}; do
+ [[ -f "${name}.diff" ]] && continue
+ passed="${passed} ${name}"
+ done
+ if [[ ${passed} != "" ]] ; then
+ einfo "The following test cases passed unexpectedly:"
+ for name in ${passed}; do
+ ewarn " ${passed}"
+ done
+ else
+ einfo "None of the known-to-fail tests passed, all fine"
+ fi
+ fi
+}
+
+pkg_postinst() {
+ # Output some general info to the user
+ if use apache2 ; then
+ elog
+ elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
+ elog "your apache2 command. OpenRC users can append that string to"
+ elog "APACHE2_OPTS in /etc/conf.d/apache2."
+ elog
+ elog "The apache module configuration file 70_mod_php.conf is"
+ elog "provided (and maintained) by eselect-php."
+ elog
+ fi
+
+ # Create the symlinks for php
+ local m
+ for m in ${SAPIS}; do
+ [[ ${m} == 'embed' ]] && continue;
+ if use $m ; then
+ local ci=$(eselect php show $m)
+ if [[ -z $ci ]]; then
+ eselect php set $m php${SLOT} || die
+ einfo "Switched ${m} to use php:${SLOT}"
+ einfo
+ elif [[ $ci != "php${SLOT}" ]] ; then
+ elog "To switch $m to use php:${SLOT}, run"
+ elog " eselect php set $m php${SLOT}"
+ elog
+ fi
+ fi
+ done
+
+ # Remove dead symlinks for SAPIs that were just disabled. For
+ # example, if the user has the cgi SAPI enabled, then he has an
+ # eselect-php symlink for it. If he later reinstalls PHP with
+ # USE="-cgi", that symlink will break. This call to eselect is
+ # supposed to remove that dead link per bug 572436.
+ eselect php cleanup || die
+
+ if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
+ elog "To build extensions for this version of PHP, you will need to"
+ elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
+ elog
+ fi
+
+ # Warn about the removal of PHP_INI_VERSION if the user has it set.
+ if [[ -n "${PHP_INI_VERSION}" ]]; then
+ ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
+ ewarn 'remove it from your configuration at your convenience. See'
+ ewarn
+ ewarn ' https://bugs.gentoo.org/611214'
+ ewarn
+ ewarn 'for more information.'
+ fi
+
+ elog "For details on how version slotting works, please see"
+ elog "the wiki:"
+ elog
+ elog " https://wiki.gentoo.org/wiki/PHP"
+ elog
+}
+
+pkg_postrm() {
+ # This serves two purposes. First, if we have just removed the last
+ # installed version of PHP, then this will remove any dead symlinks
+ # belonging to eselect-php. Second, if a user upgrades slots from
+ # (say) 5.6 to 7.0 and depcleans the old slot, then this will update
+ # his existing symlinks to point to the new 7.0 installation. The
+ # latter is bug 432962.
+ #
+ # Note: the eselect-php package may not be installed at this point,
+ # so we can't die() if this command fails.
+ eselect php cleanup
+}
diff --git a/dev-lang/php/php-8.0.12.ebuild b/dev-lang/php/php-8.0.12.ebuild
index fa6e96581f24..44a21e552771 100644
--- a/dev-lang/php/php-8.0.12.ebuild
+++ b/dev-lang/php/php-8.0.12.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -263,7 +263,7 @@ src_configure() {
$(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 elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl)
$(use_enable ipv6)
$(use_with kerberos)
diff --git a/dev-lang/php/php-8.0.13.ebuild b/dev-lang/php/php-8.0.13.ebuild
index c02305618bfb..76be376118a8 100644
--- a/dev-lang/php/php-8.0.13.ebuild
+++ b/dev-lang/php/php-8.0.13.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -276,7 +276,7 @@ src_configure() {
$(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 elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl)
$(use_enable ipv6)
$(use_with kerberos)
diff --git a/dev-lang/php/php-8.0.14.ebuild b/dev-lang/php/php-8.0.14.ebuild
new file mode 100644
index 000000000000..76be376118a8
--- /dev/null
+++ b/dev-lang/php/php-8.0.14.ebuild
@@ -0,0 +1,758 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+WANT_AUTOMAKE="none"
+
+inherit flag-o-matic systemd autotools
+
+MY_PV=${PV/_rc/rc}
+DESCRIPTION="The PHP language runtime engine"
+HOMEPAGE="https://www.php.net/"
+SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
+
+LICENSE="PHP-3.01
+ BSD
+ Zend-2.0
+ bcmath? ( LGPL-2.1+ )
+ fpm? ( BSD-2 )
+ gd? ( gd )
+ unicode? ( BSD-2 LGPL-2.1 )"
+
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+# We can build the following SAPIs in the given order
+SAPIS="embed cli cgi fpm apache2 phpdbg"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+ ${SAPIS/cli/+cli}
+ threads"
+
+IUSE="${IUSE} acl apparmor argon2 bcmath berkdb bzip2 calendar cdb cjk
+ coverage +ctype curl debug
+ enchant exif ffi +fileinfo +filter firebird
+ +flatfile ftp gd gdbm gmp +iconv imap inifile
+ intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb
+ mhash mssql mysql mysqli nls
+ oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+ readline selinux +session session-mm sharedmem
+ +simplexml snmp soap sockets sodium spell sqlite ssl
+ sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+ +xml xmlreader xmlwriter xpm xslt zip zlib"
+
+# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+# The Oracle instant client provides its own incompatible ldap library.
+REQUIRED_USE="
+ || ( cli cgi fpm apache2 embed phpdbg )
+ cli? ( ^^ ( readline libedit ) )
+ !cli? ( ?? ( readline libedit ) )
+ truetype? ( gd zlib )
+ webp? ( gd zlib )
+ cjk? ( gd zlib )
+ exif? ( gd zlib )
+ xpm? ( gd zlib )
+ gd? ( zlib )
+ simplexml? ( xml )
+ soap? ( xml )
+ xmlreader? ( xml )
+ xmlwriter? ( xml )
+ xslt? ( xml )
+ ldap-sasl? ( ldap )
+ oci8-instant-client? ( !ldap )
+ qdbm? ( !gdbm )
+ session-mm? ( session !threads )
+ mysql? ( || ( mysqli pdo ) )
+ firebird? ( pdo )
+ mssql? ( pdo )
+"
+
+RESTRICT="!test? ( test )"
+
+# The supported (that is, autodetected) versions of BDB are listed in
+# the ./configure script. Other versions *work*, but we need to stick to
+# the ones that can be detected to avoid a repeat of bug #564824.
+COMMON_DEPEND="
+ >=app-eselect/eselect-php-0.9.7[apache2?,fpm?]
+ >=dev-libs/libpcre2-10.30[jit?,unicode]
+ fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) )
+ apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
+ argon2? ( app-crypt/argon2:= )
+ berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) )
+ bzip2? ( app-arch/bzip2:0= )
+ cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
+ coverage? ( dev-util/lcov )
+ curl? ( >=net-misc/curl-7.29.0 )
+ enchant? ( app-text/enchant:2 )
+ ffi? ( >=dev-libs/libffi-3.0.11:= )
+ firebird? ( dev-db/firebird )
+ gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
+ gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
+ gmp? ( dev-libs/gmp:0= )
+ iconv? ( virtual/libiconv )
+ imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
+ intl? ( dev-libs/icu:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( >=net-nds/openldap-1.2.11 )
+ ldap-sasl? ( dev-libs/cyrus-sasl )
+ libedit? ( dev-libs/libedit )
+ lmdb? ( dev-db/lmdb:= )
+ mssql? ( dev-db/freetds[mssql] )
+ nls? ( sys-devel/gettext )
+ oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
+ odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
+ postgres? ( >=dev-db/postgresql-9.1:* )
+ qdbm? ( dev-db/qdbm )
+ readline? ( sys-libs/readline:0= )
+ session-mm? ( dev-libs/mm )
+ snmp? ( >=net-analyzer/net-snmp-5.2 )
+ sodium? ( dev-libs/libsodium:=[-minimal] )
+ spell? ( >=app-text/aspell-0.50 )
+ sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+ ssl? ( >=dev-libs/openssl-1.0.1:0= )
+ tidy? ( app-text/htmltidy )
+ tokyocabinet? ( dev-db/tokyocabinet )
+ truetype? ( =media-libs/freetype-2* )
+ unicode? ( dev-libs/oniguruma:= )
+ webp? ( media-libs/libwebp:0= )
+ xml? ( >=dev-libs/libxml2-2.9.0 )
+ xpm? ( x11-libs/libXpm )
+ xslt? ( dev-libs/libxslt )
+ zip? ( >=dev-libs/libzip-1.2.0:= )
+ zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
+"
+
+RDEPEND="${COMMON_DEPEND}
+ virtual/mta
+ fpm? (
+ selinux? ( sec-policy/selinux-phpfpm )
+ systemd? ( sys-apps/systemd ) )"
+
+# Bison isn't actually needed when building from a release tarball
+# However, the configure script will warn if it's absent or if you
+# have an incompatible version installed. See bug 593278.
+DEPEND="${COMMON_DEPEND}
+ app-arch/xz-utils
+ >=sys-devel/bison-3.0.1"
+
+BDEPEND="virtual/pkgconfig"
+
+PHP_MV="$(ver_cut 1)"
+
+PATCHES=(
+ "${FILESDIR}/php-iodbc-header-location.patch"
+ "${FILESDIR}/php80-firebird-warnings.patch"
+)
+
+php_install_ini() {
+ local phpsapi="${1}"
+
+ # work out where we are installing the ini file
+ php_set_ini_dir "${phpsapi}"
+
+ # Always install the production INI file, bug 611214.
+ local phpinisrc="php.ini-production-${phpsapi}"
+ cp php.ini-production "${phpinisrc}" || die
+
+ # default to /tmp for save_path, bug #282768
+ sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
+
+ # Set the extension dir
+ sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
+ -i "${phpinisrc}" || die
+
+ # Set the include path to point to where we want to find PEAR packages
+ sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
+
+ insinto "${PHP_INI_DIR#${EPREFIX}}"
+ newins "${phpinisrc}" php.ini
+
+ elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
+ elog
+
+ dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
+ dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
+
+ if use opcache; then
+ elog "Adding opcache to $PHP_EXT_INI_DIR"
+ echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
+ "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
+ dosym "../ext/opcache.ini" \
+ "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
+ fi
+
+ # SAPI-specific handling
+ if [[ "${sapi}" == "fpm" ]] ; then
+ einfo "Installing FPM config files php-fpm.conf and www.conf"
+ insinto "${PHP_INI_DIR#${EPREFIX}}"
+ doins sapi/fpm/php-fpm.conf
+ insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
+ doins sapi/fpm/www.conf
+ fi
+
+ dodoc php.ini-{development,production}
+}
+
+php_set_ini_dir() {
+ PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
+ PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
+ PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
+}
+
+src_prepare() {
+ default
+
+ # In php-7.x, the FPM pool configuration files have been split off
+ # of the main config. By default the pool config files go in
+ # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
+ # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
+ # we'll install the pool configuration file "www.conf" there.
+ php_set_ini_dir fpm
+ sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
+ sapi/fpm/php-fpm.conf.in \
+ || die 'failed to move the include directory in php-fpm.conf'
+
+ # Emulate buildconf to support cross-compilation
+ rm -fr aclocal.m4 autom4te.cache config.cache \
+ configure main/php_config.h.in || die
+ eautoconf --force
+ eautoheader
+
+ # Remove false positive test failures
+ # stream_isatty fails due to portage redirects
+ # curl tests here fail for network sandbox issues
+ # session tests here fail because we set the session directory to $T
+ rm tests/output/stream_isatty_err.phpt \
+ tests/output/stream_isatty_out-err.phpt \
+ tests/output/stream_isatty_out.phpt \
+ ext/curl/tests/bug76675.phpt \
+ ext/curl/tests/bug77535.phpt \
+ ext/curl/tests/curl_error_basic.phpt \
+ ext/session/tests/bug74514.phpt \
+ ext/session/tests/bug74936.phpt || die
+
+}
+
+src_configure() {
+ addpredict /usr/share/snmp/mibs/.index #nowarn
+ addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+ PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
+
+ # 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 zts)
+ )
+
+ our_conf+=(
+ $(use_with apparmor fpm-apparmor)
+ $(use_with argon2 password-argon2 "${EPREFIX}/usr")
+ $(use_enable bcmath)
+ $(use_with bzip2 bz2 "${EPREFIX}/usr")
+ $(use_enable calendar)
+ $(use_enable coverage gcov)
+ $(use_enable ctype)
+ $(use_with curl)
+ $(use_enable xml dom)
+ $(use_with enchant)
+ $(use_enable exif)
+ $(use_with ffi)
+ $(use_enable fileinfo)
+ $(use_enable filter)
+ $(use_enable ftp)
+ $(use_with nls gettext "${EPREFIX}/usr")
+ $(use_with gmp gmp "${EPREFIX}/usr")
+ $(use_with mhash mhash "${EPREFIX}/usr")
+ $(use_with iconv iconv \
+ $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
+ $(use_enable intl)
+ $(use_enable ipv6)
+ $(use_with kerberos)
+ $(use_with xml libxml)
+ $(use_enable unicode mbstring)
+ $(use_with ssl openssl)
+ $(use_enable pcntl)
+ $(use_enable phar)
+ $(use_enable pdo)
+ $(use_enable opcache)
+ $(use_with postgres pgsql "${EPREFIX}/usr")
+ $(use_enable posix)
+ $(use_with spell pspell "${EPREFIX}/usr")
+ $(use_enable simplexml)
+ $(use_enable sharedmem shmop)
+ $(use_with snmp snmp "${EPREFIX}/usr")
+ $(use_enable soap)
+ $(use_enable sockets)
+ $(use_with sodium)
+ $(use_with sqlite sqlite3)
+ $(use_enable sysvipc sysvmsg)
+ $(use_enable sysvipc sysvsem)
+ $(use_enable sysvipc sysvshm)
+ $(use_with tidy tidy "${EPREFIX}/usr")
+ $(use_enable tokenizer)
+ $(use_enable xml)
+ $(use_enable xmlreader)
+ $(use_enable xmlwriter)
+ $(use_with xslt xsl)
+ $(use_with zip)
+ $(use_with zlib zlib "${EPREFIX}/usr")
+ $(use_enable debug)
+ )
+
+ # DBA support
+ if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
+ || use qdbm || use lmdb || use tokyocabinet ; then
+ our_conf+=( "--enable-dba" )
+ fi
+
+ # DBA drivers support
+ our_conf+=(
+ $(use_with cdb)
+ $(use_with berkdb db4 "${EPREFIX}/usr")
+ $(use_enable flatfile)
+ $(use_with gdbm gdbm "${EPREFIX}/usr")
+ $(use_enable inifile)
+ $(use_with qdbm qdbm "${EPREFIX}/usr")
+ $(use_with tokyocabinet tcadb "${EPREFIX}/usr")
+ $(use_with lmdb lmdb "${EPREFIX}/usr")
+ )
+
+ # Support for the GD graphics library
+ our_conf+=(
+ $(use_with truetype freetype)
+ $(use_enable cjk gd-jis-conv)
+ $(use_with gd jpeg)
+ $(use_with xpm)
+ $(use_with webp)
+ )
+ # enable gd last, so configure can pick up the previous settings
+ our_conf+=( $(use_enable gd) )
+
+ # IMAP support
+ if use imap ; then
+ our_conf+=(
+ $(use_with imap imap "${EPREFIX}/usr")
+ $(use_with ssl imap-ssl "${EPREFIX}/usr")
+ )
+ fi
+
+ # LDAP support
+ if use ldap ; then
+ our_conf+=(
+ $(use_with ldap ldap "${EPREFIX}/usr")
+ $(use_with ldap-sasl)
+ )
+ fi
+
+ # MySQL support
+ local mysqllib="mysqlnd"
+ local mysqlilib="mysqlnd"
+
+ our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
+
+ local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ if use mysql || use mysqli ; then
+ our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
+ fi
+
+ # ODBC support
+ if use odbc && use iodbc ; then
+ our_conf+=(
+ --without-unixODBC
+ --with-iodbc
+ $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
+ )
+ elif use odbc ; then
+ our_conf+=(
+ --with-unixODBC="${EPREFIX}/usr"
+ --without-iodbc
+ $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
+ )
+ else
+ our_conf+=(
+ --without-unixODBC
+ --without-iodbc
+ --without-pdo-odbc
+ )
+ fi
+
+ # Oracle support
+ our_conf+=( $(use_with oci8-instant-client oci8) )
+
+ # PDO support
+ if use pdo ; then
+ our_conf+=(
+ $(use_with mssql pdo-dblib "${EPREFIX}/usr")
+ $(use_with mysql pdo-mysql "${mysqllib}")
+ $(use_with postgres pdo-pgsql)
+ $(use_with sqlite pdo-sqlite)
+ $(use_with firebird pdo-firebird "${EPREFIX}/usr")
+ $(use_with oci8-instant-client pdo-oci)
+ )
+ fi
+
+ # readline/libedit support
+ our_conf+=(
+ $(use_with readline readline "${EPREFIX}/usr")
+ $(use_with libedit)
+ )
+
+ # Session support
+ if use session ; then
+ our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
+ else
+ our_conf+=( $(use_enable session) )
+ fi
+
+ # Use pic for shared modules such as apache2's mod_php
+ our_conf+=( --with-pic )
+
+ # we use the system copy of pcre
+ # --with-external-pcre affects ext/pcre
+ our_conf+=(
+ --with-external-pcre
+ $(use_with jit pcre-jit)
+ )
+
+ # Catch CFLAGS problems
+ # Fixes bug #14067.
+ # Changed order to run it in reverse for bug #32022 and #12021.
+ replace-cpu-flags "k6*" "i586"
+
+ # Cache the ./configure test results between SAPIs.
+ our_conf+=( --cache-file="${T}/config.cache" )
+
+ # Support user-passed configuration parameters
+ our_conf+=( ${EXTRA_ECONF:-} )
+
+ # Support the Apache2 extras, they must be set globally for all
+ # SAPIs to work correctly, especially for external PHP extensions
+
+ local one_sapi
+ local sapi
+ mkdir -p "${WORKDIR}/sapis-build" || die
+ for one_sapi in $SAPIS ; do
+ use "${one_sapi}" || continue
+ php_set_ini_dir "${one_sapi}"
+
+ # The BUILD_DIR variable is used to determine where to output
+ # the files that autotools creates. This was all originally
+ # based on the autotools-utils eclass.
+ BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
+ cp -a "${S}" "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+
+ local sapi_conf=(
+ --with-config-file-path="${PHP_INI_DIR}"
+ --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
+ )
+
+ for sapi in $SAPIS ; do
+ case "$sapi" in
+ cli|cgi|embed|fpm|phpdbg)
+ if [[ "${one_sapi}" == "${sapi}" ]] ; then
+ sapi_conf+=( "--enable-${sapi}" )
+ if [[ "fpm" == "${sapi}" ]] ; then
+ sapi_conf+=(
+ $(use_with acl fpm-acl)
+ $(use_with systemd fpm-systemd)
+ )
+ fi
+ else
+ sapi_conf+=( "--disable-${sapi}" )
+ fi
+ ;;
+
+ apache2)
+ if [[ "${one_sapi}" == "${sapi}" ]] ; then
+ sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
+ else
+ sapi_conf+=( --without-apxs2 )
+ fi
+ ;;
+ esac
+ done
+
+ # Construct the $myeconfargs array by concatenating $our_conf
+ # (the common args) and $sapi_conf (the SAPI-specific args).
+ local myeconfargs=( "${our_conf[@]}" )
+ myeconfargs+=( "${sapi_conf[@]}" )
+
+ pushd "${BUILD_DIR}" > /dev/null || die
+ econf "${myeconfargs[@]}"
+ popd > /dev/null || die
+ done
+}
+
+src_compile() {
+ # snmp seems to run during src_compile, too (bug #324739)
+ addpredict /usr/share/snmp/mibs/.index #nowarn
+ addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+ local sapi
+ for sapi in ${SAPIS} ; do
+ if use "${sapi}"; then
+ cd "${WORKDIR}/sapis-build/$sapi" || \
+ die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
+ emake
+ fi
+ done
+}
+
+src_install() {
+ # see bug #324739 for what happens when we don't have that
+ addpredict /usr/share/snmp/mibs/.index #nowarn
+
+ # grab the first SAPI that got built and install common files from there
+ local first_sapi="", sapi=""
+ for sapi in $SAPIS ; do
+ if use $sapi ; then
+ first_sapi=$sapi
+ break
+ fi
+ done
+
+ # Makefile forgets to create this before trying to write to it...
+ dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
+
+ # Install php environment (without any sapis)
+ cd "${WORKDIR}/sapis-build/$first_sapi" || die
+ emake INSTALL_ROOT="${D}" \
+ install-build install-headers install-programs
+
+ local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
+
+ # Create the directory where we'll put version-specific php scripts
+ keepdir "/usr/share/php${PHP_MV}"
+
+ local file=""
+ local sapi_list=""
+
+ for sapi in ${SAPIS}; do
+ if use "${sapi}" ; then
+ einfo "Installing SAPI: ${sapi}"
+ cd "${WORKDIR}/sapis-build/${sapi}" || die
+
+ if [[ "${sapi}" == "apache2" ]] ; then
+ # We're specifically not using emake install-sapi as libtool
+ # may cause unnecessary relink failures (see bug #351266)
+ insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
+ newins ".libs/libphp$(get_libname)" \
+ "libphp${PHP_MV}$(get_libname)"
+ keepdir "/usr/$(get_libdir)/apache2/modules"
+ else
+ # needed each time, php_install_ini would reset it
+ local dest="${PHP_DESTDIR#${EPREFIX}}"
+ into "${dest}"
+ case "$sapi" in
+ cli)
+ source="sapi/cli/php"
+ # Install the "phar" archive utility.
+ if use phar ; then
+ emake INSTALL_ROOT="${D}" install-pharcmd
+ dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
+ fi
+ ;;
+ cgi)
+ source="sapi/cgi/php-cgi"
+ ;;
+ fpm)
+ source="sapi/fpm/php-fpm"
+ ;;
+ embed)
+ source="libs/libphp$(get_libname)"
+ ;;
+ phpdbg)
+ source="sapi/phpdbg/phpdbg"
+ ;;
+ *)
+ die "unhandled sapi in src_install"
+ ;;
+ esac
+
+ if [[ "${source}" == *"$(get_libname)" ]]; then
+ dolib.so "${source}"
+ else
+ dobin "${source}"
+ local name="$(basename ${source})"
+ dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
+ fi
+ fi
+
+ php_install_ini "${sapi}"
+
+ # construct correct SAPI string for php-config
+ # thanks to ferringb for the bash voodoo
+ if [[ "${sapi}" == "apache2" ]]; then
+ sapi_list="${sapi_list:+${sapi_list} }apache2handler"
+ else
+ sapi_list="${sapi_list:+${sapi_list} }${sapi}"
+ fi
+ fi
+ done
+
+ # Installing opcache module
+ if use opcache ; then
+ into "${PHP_DESTDIR#${EPREFIX}}"
+ dolib.so "modules/opcache$(get_libname)"
+ fi
+
+ # Install env.d files
+ newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
+ sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+ sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+
+ # set php-config variable correctly (bug #278439)
+ sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
+ "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
+
+ if use fpm ; then
+ if use systemd; then
+ systemd_newunit "${FILESDIR}/php-fpm_at.service" \
+ "php-fpm@${SLOT}.service"
+ else
+ systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
+ "php-fpm@${SLOT}.service"
+ fi
+ fi
+}
+
+src_test() {
+ echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+ PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
+ if [[ ! -x "${PHP_BIN}" ]] ; then
+ ewarn "Test phase requires USE=cli, skipping"
+ return
+ else
+ export TEST_PHP_EXECUTABLE="${PHP_BIN}"
+ fi
+
+ if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
+ export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
+ fi
+
+ if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
+ export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
+ fi
+
+ REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
+ "session.save_path=${T}" \
+ "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
+ "session.save_path=${T}"
+
+ for name in ${EXPECTED_TEST_FAILURES}; do
+ mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
+ done
+
+ local failed="$(find -name '*.out')"
+ if [[ ${failed} != "" ]] ; then
+ ewarn "The following test cases failed unexpectedly:"
+ for name in ${failed}; do
+ ewarn " ${name/.out/}"
+ done
+ else
+ einfo "No unexpected test failures, all fine"
+ fi
+
+ if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
+ local passed=""
+ for name in ${EXPECTED_TEST_FAILURES}; do
+ [[ -f "${name}.diff" ]] && continue
+ passed="${passed} ${name}"
+ done
+ if [[ ${passed} != "" ]] ; then
+ einfo "The following test cases passed unexpectedly:"
+ for name in ${passed}; do
+ ewarn " ${passed}"
+ done
+ else
+ einfo "None of the known-to-fail tests passed, all fine"
+ fi
+ fi
+}
+
+pkg_postinst() {
+ # Output some general info to the user
+ if use apache2 ; then
+ elog
+ elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
+ elog "your apache2 command. OpenRC users can append that string to"
+ elog "APACHE2_OPTS in /etc/conf.d/apache2."
+ elog
+ elog "The apache module configuration file 70_mod_php.conf is"
+ elog "provided (and maintained) by eselect-php."
+ elog
+ fi
+
+ # Create the symlinks for php
+ local m
+ for m in ${SAPIS}; do
+ [[ ${m} == 'embed' ]] && continue;
+ if use $m ; then
+ local ci=$(eselect php show $m)
+ if [[ -z $ci ]]; then
+ eselect php set $m php${SLOT} || die
+ einfo "Switched ${m} to use php:${SLOT}"
+ einfo
+ elif [[ $ci != "php${SLOT}" ]] ; then
+ elog "To switch $m to use php:${SLOT}, run"
+ elog " eselect php set $m php${SLOT}"
+ elog
+ fi
+ fi
+ done
+
+ # Remove dead symlinks for SAPIs that were just disabled. For
+ # example, if the user has the cgi SAPI enabled, then he has an
+ # eselect-php symlink for it. If he later reinstalls PHP with
+ # USE="-cgi", that symlink will break. This call to eselect is
+ # supposed to remove that dead link per bug 572436.
+ eselect php cleanup || die
+
+ if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
+ elog "To build extensions for this version of PHP, you will need to"
+ elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
+ elog
+ fi
+
+ # Warn about the removal of PHP_INI_VERSION if the user has it set.
+ if [[ -n "${PHP_INI_VERSION}" ]]; then
+ ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
+ ewarn 'remove it from your configuration at your convenience. See'
+ ewarn
+ ewarn ' https://bugs.gentoo.org/611214'
+ ewarn
+ ewarn 'for more information.'
+ fi
+
+ elog "For details on how version slotting works, please see"
+ elog "the wiki:"
+ elog
+ elog " https://wiki.gentoo.org/wiki/PHP"
+ elog
+}
+
+pkg_postrm() {
+ # This serves two purposes. First, if we have just removed the last
+ # installed version of PHP, then this will remove any dead symlinks
+ # belonging to eselect-php. Second, if a user upgrades slots from
+ # (say) 5.6 to 7.0 and depcleans the old slot, then this will update
+ # his existing symlinks to point to the new 7.0 installation. The
+ # latter is bug 432962.
+ #
+ # Note: the eselect-php package may not be installed at this point,
+ # so we can't die() if this command fails.
+ eselect php cleanup
+}
diff --git a/dev-lang/php/php-8.1.0.ebuild b/dev-lang/php/php-8.1.0.ebuild
index 06528d5bb928..423e9f806689 100644
--- a/dev-lang/php/php-8.1.0.ebuild
+++ b/dev-lang/php/php-8.1.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -277,7 +277,7 @@ src_configure() {
$(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 elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl)
$(use_enable ipv6)
$(use_with kerberos)
diff --git a/dev-lang/php/php-8.1.1.ebuild b/dev-lang/php/php-8.1.1.ebuild
new file mode 100644
index 000000000000..423e9f806689
--- /dev/null
+++ b/dev-lang/php/php-8.1.1.ebuild
@@ -0,0 +1,759 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+WANT_AUTOMAKE="none"
+
+inherit flag-o-matic systemd autotools
+
+MY_PV=${PV/_rc/RC}
+DESCRIPTION="The PHP language runtime engine"
+HOMEPAGE="https://www.php.net/"
+SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
+
+LICENSE="PHP-3.01
+ BSD
+ Zend-2.0
+ bcmath? ( LGPL-2.1+ )
+ fpm? ( BSD-2 )
+ gd? ( gd )
+ unicode? ( BSD-2 LGPL-2.1 )"
+
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+# We can build the following SAPIs in the given order
+SAPIS="embed cli cgi fpm apache2 phpdbg"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+ ${SAPIS/cli/+cli}
+ threads"
+
+IUSE="${IUSE} acl apparmor argon2 bcmath berkdb bzip2 calendar cdb cjk
+ coverage +ctype curl debug
+ enchant exif ffi +fileinfo +filter firebird
+ +flatfile ftp gd gdbm gmp +iconv imap inifile
+ intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb
+ mhash mssql mysql mysqli nls
+ oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+ readline selinux +session session-mm sharedmem
+ +simplexml snmp soap sockets sodium spell sqlite ssl
+ sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+ +xml xmlreader xmlwriter xpm xslt zip zlib"
+
+# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+# The Oracle instant client provides its own incompatible ldap library.
+REQUIRED_USE="
+ || ( cli cgi fpm apache2 embed phpdbg )
+ cli? ( ^^ ( readline libedit ) )
+ !cli? ( ?? ( readline libedit ) )
+ truetype? ( gd zlib )
+ webp? ( gd zlib )
+ cjk? ( gd zlib )
+ exif? ( gd zlib )
+ xpm? ( gd zlib )
+ gd? ( zlib )
+ simplexml? ( xml )
+ soap? ( xml )
+ xmlreader? ( xml )
+ xmlwriter? ( xml )
+ xslt? ( xml )
+ ldap-sasl? ( ldap )
+ oci8-instant-client? ( !ldap )
+ qdbm? ( !gdbm )
+ session-mm? ( session !threads )
+ mysql? ( || ( mysqli pdo ) )
+ firebird? ( pdo )
+ mssql? ( pdo )
+"
+
+RESTRICT="!test? ( test )"
+
+# The supported (that is, autodetected) versions of BDB are listed in
+# the ./configure script. Other versions *work*, but we need to stick to
+# the ones that can be detected to avoid a repeat of bug #564824.
+COMMON_DEPEND="
+ >=app-eselect/eselect-php-0.9.7[apache2?,fpm?]
+ >=dev-libs/libpcre2-10.30[jit?,unicode]
+ fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) )
+ apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
+ argon2? ( app-crypt/argon2:= )
+ berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) )
+ bzip2? ( app-arch/bzip2:0= )
+ cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
+ coverage? ( dev-util/lcov )
+ curl? ( >=net-misc/curl-7.29.0 )
+ enchant? ( app-text/enchant:2 )
+ ffi? ( >=dev-libs/libffi-3.0.11:= )
+ firebird? ( dev-db/firebird )
+ gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
+ gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
+ gmp? ( dev-libs/gmp:0= )
+ iconv? ( virtual/libiconv )
+ imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
+ intl? ( dev-libs/icu:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( >=net-nds/openldap-1.2.11 )
+ ldap-sasl? ( dev-libs/cyrus-sasl )
+ libedit? ( dev-libs/libedit )
+ lmdb? ( dev-db/lmdb:= )
+ mssql? ( dev-db/freetds[mssql] )
+ nls? ( sys-devel/gettext )
+ oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
+ odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
+ postgres? ( >=dev-db/postgresql-9.1:* )
+ qdbm? ( dev-db/qdbm )
+ readline? ( sys-libs/readline:0= )
+ session-mm? ( dev-libs/mm )
+ snmp? ( >=net-analyzer/net-snmp-5.2 )
+ sodium? ( dev-libs/libsodium:=[-minimal] )
+ spell? ( >=app-text/aspell-0.50 )
+ sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+ ssl? ( >=dev-libs/openssl-1.0.2:0= )
+ tidy? ( app-text/htmltidy )
+ tokyocabinet? ( dev-db/tokyocabinet )
+ truetype? ( =media-libs/freetype-2* )
+ unicode? ( dev-libs/oniguruma:= )
+ webp? ( media-libs/libwebp:0= )
+ xml? ( >=dev-libs/libxml2-2.9.0 )
+ xpm? ( x11-libs/libXpm )
+ xslt? ( dev-libs/libxslt )
+ zip? ( >=dev-libs/libzip-1.2.0:= )
+ zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
+"
+
+IDEPEND=">=app-eselect/eselect-php-0.9.7[apache2?,fpm?]"
+
+RDEPEND="${COMMON_DEPEND}
+ virtual/mta
+ fpm? (
+ selinux? ( sec-policy/selinux-phpfpm )
+ systemd? ( sys-apps/systemd ) )"
+
+# Bison isn't actually needed when building from a release tarball
+# However, the configure script will warn if it's absent or if you
+# have an incompatible version installed. See bug 593278.
+DEPEND="${COMMON_DEPEND}
+ app-arch/xz-utils
+ >=sys-devel/bison-3.0.1"
+
+BDEPEND="virtual/pkgconfig"
+
+PHP_MV="$(ver_cut 1)"
+
+PATCHES=(
+ "${FILESDIR}/php-iodbc-header-location.patch"
+)
+
+php_install_ini() {
+ local phpsapi="${1}"
+
+ # work out where we are installing the ini file
+ php_set_ini_dir "${phpsapi}"
+
+ # Always install the production INI file, bug 611214.
+ local phpinisrc="php.ini-production-${phpsapi}"
+ cp php.ini-production "${phpinisrc}" || die
+
+ # default to /tmp for save_path, bug #282768
+ sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
+
+ # Set the extension dir
+ sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
+ -i "${phpinisrc}" || die
+
+ # Set the include path to point to where we want to find PEAR packages
+ sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
+
+ insinto "${PHP_INI_DIR#${EPREFIX}}"
+ newins "${phpinisrc}" php.ini
+
+ elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
+ elog
+
+ dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
+ dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
+
+ if use opcache; then
+ elog "Adding opcache to $PHP_EXT_INI_DIR"
+ echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
+ "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
+ dosym "../ext/opcache.ini" \
+ "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
+ fi
+
+ # SAPI-specific handling
+ if [[ "${sapi}" == "fpm" ]] ; then
+ einfo "Installing FPM config files php-fpm.conf and www.conf"
+ insinto "${PHP_INI_DIR#${EPREFIX}}"
+ doins sapi/fpm/php-fpm.conf
+ insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
+ doins sapi/fpm/www.conf
+ fi
+
+ dodoc php.ini-{development,production}
+}
+
+php_set_ini_dir() {
+ PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
+ PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
+ PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
+}
+
+src_prepare() {
+ default
+
+ # In php-7.x, the FPM pool configuration files have been split off
+ # of the main config. By default the pool config files go in
+ # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
+ # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
+ # we'll install the pool configuration file "www.conf" there.
+ php_set_ini_dir fpm
+ sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
+ sapi/fpm/php-fpm.conf.in \
+ || die 'failed to move the include directory in php-fpm.conf'
+
+ # Emulate buildconf to support cross-compilation
+ rm -fr aclocal.m4 autom4te.cache config.cache \
+ configure main/php_config.h.in || die
+ eautoconf --force
+ eautoheader
+
+ # Remove false positive test failures
+ # stream_isatty fails due to portage redirects
+ # curl tests here fail for network sandbox issues
+ # session tests here fail because we set the session directory to $T
+ rm tests/output/stream_isatty_err.phpt \
+ tests/output/stream_isatty_out-err.phpt \
+ tests/output/stream_isatty_out.phpt \
+ ext/curl/tests/bug76675.phpt \
+ ext/curl/tests/bug77535.phpt \
+ ext/curl/tests/curl_error_basic.phpt \
+ ext/session/tests/bug74514.phpt \
+ ext/session/tests/bug74936.phpt || die
+
+}
+
+src_configure() {
+ addpredict /usr/share/snmp/mibs/.index #nowarn
+ addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+ PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
+
+ # 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 zts)
+ )
+
+ our_conf+=(
+ $(use_with apparmor fpm-apparmor)
+ $(use_with argon2 password-argon2 "${EPREFIX}/usr")
+ $(use_enable bcmath)
+ $(use_with bzip2 bz2 "${EPREFIX}/usr")
+ $(use_enable calendar)
+ $(use_enable coverage gcov)
+ $(use_enable ctype)
+ $(use_with curl)
+ $(use_enable xml dom)
+ $(use_with enchant)
+ $(use_enable exif)
+ $(use_with ffi)
+ $(use_enable fileinfo)
+ $(use_enable filter)
+ $(use_enable ftp)
+ $(use_with nls gettext "${EPREFIX}/usr")
+ $(use_with gmp gmp "${EPREFIX}/usr")
+ $(use_with mhash mhash "${EPREFIX}/usr")
+ $(use_with iconv iconv \
+ $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
+ $(use_enable intl)
+ $(use_enable ipv6)
+ $(use_with kerberos)
+ $(use_with xml libxml)
+ $(use_enable unicode mbstring)
+ $(use_with ssl openssl)
+ $(use_enable pcntl)
+ $(use_enable phar)
+ $(use_enable pdo)
+ $(use_enable opcache)
+ $(use_with postgres pgsql "${EPREFIX}/usr")
+ $(use_enable posix)
+ $(use_with spell pspell "${EPREFIX}/usr")
+ $(use_enable simplexml)
+ $(use_enable sharedmem shmop)
+ $(use_with snmp snmp "${EPREFIX}/usr")
+ $(use_enable soap)
+ $(use_enable sockets)
+ $(use_with sodium)
+ $(use_with sqlite sqlite3)
+ $(use_enable sysvipc sysvmsg)
+ $(use_enable sysvipc sysvsem)
+ $(use_enable sysvipc sysvshm)
+ $(use_with tidy tidy "${EPREFIX}/usr")
+ $(use_enable tokenizer)
+ $(use_enable xml)
+ $(use_enable xmlreader)
+ $(use_enable xmlwriter)
+ $(use_with xslt xsl)
+ $(use_with zip)
+ $(use_with zlib zlib "${EPREFIX}/usr")
+ $(use_enable debug)
+ )
+
+ # DBA support
+ if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
+ || use qdbm || use lmdb || use tokyocabinet ; then
+ our_conf+=( "--enable-dba" )
+ fi
+
+ # DBA drivers support
+ our_conf+=(
+ $(use_with cdb)
+ $(use_with berkdb db4 "${EPREFIX}/usr")
+ $(use_enable flatfile)
+ $(use_with gdbm gdbm "${EPREFIX}/usr")
+ $(use_enable inifile)
+ $(use_with qdbm qdbm "${EPREFIX}/usr")
+ $(use_with tokyocabinet tcadb "${EPREFIX}/usr")
+ $(use_with lmdb lmdb "${EPREFIX}/usr")
+ )
+
+ # Support for the GD graphics library
+ our_conf+=(
+ $(use_with truetype freetype)
+ $(use_enable cjk gd-jis-conv)
+ $(use_with gd jpeg)
+ $(use_with xpm)
+ $(use_with webp)
+ )
+ # enable gd last, so configure can pick up the previous settings
+ our_conf+=( $(use_enable gd) )
+
+ # IMAP support
+ if use imap ; then
+ our_conf+=(
+ $(use_with imap imap "${EPREFIX}/usr")
+ $(use_with ssl imap-ssl "${EPREFIX}/usr")
+ )
+ fi
+
+ # LDAP support
+ if use ldap ; then
+ our_conf+=(
+ $(use_with ldap ldap "${EPREFIX}/usr")
+ $(use_with ldap-sasl)
+ )
+ fi
+
+ # MySQL support
+ local mysqllib="mysqlnd"
+ local mysqlilib="mysqlnd"
+
+ our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
+
+ local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ if use mysql || use mysqli ; then
+ our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
+ fi
+
+ # ODBC support
+ if use odbc && use iodbc ; then
+ our_conf+=(
+ --without-unixODBC
+ --with-iodbc
+ $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
+ )
+ elif use odbc ; then
+ our_conf+=(
+ --with-unixODBC="${EPREFIX}/usr"
+ --without-iodbc
+ $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
+ )
+ else
+ our_conf+=(
+ --without-unixODBC
+ --without-iodbc
+ --without-pdo-odbc
+ )
+ fi
+
+ # Oracle support
+ our_conf+=( $(use_with oci8-instant-client oci8) )
+
+ # PDO support
+ if use pdo ; then
+ our_conf+=(
+ $(use_with mssql pdo-dblib "${EPREFIX}/usr")
+ $(use_with mysql pdo-mysql "${mysqllib}")
+ $(use_with postgres pdo-pgsql)
+ $(use_with sqlite pdo-sqlite)
+ $(use_with firebird pdo-firebird "${EPREFIX}/usr")
+ $(use_with oci8-instant-client pdo-oci)
+ )
+ fi
+
+ # readline/libedit support
+ our_conf+=(
+ $(use_with readline readline "${EPREFIX}/usr")
+ $(use_with libedit)
+ )
+
+ # Session support
+ if use session ; then
+ our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
+ else
+ our_conf+=( $(use_enable session) )
+ fi
+
+ # Use pic for shared modules such as apache2's mod_php
+ our_conf+=( --with-pic )
+
+ # we use the system copy of pcre
+ # --with-external-pcre affects ext/pcre
+ our_conf+=(
+ --with-external-pcre
+ $(use_with jit pcre-jit)
+ )
+
+ # Catch CFLAGS problems
+ # Fixes bug #14067.
+ # Changed order to run it in reverse for bug #32022 and #12021.
+ replace-cpu-flags "k6*" "i586"
+
+ # Cache the ./configure test results between SAPIs.
+ our_conf+=( --cache-file="${T}/config.cache" )
+
+ # Support user-passed configuration parameters
+ our_conf+=( ${EXTRA_ECONF:-} )
+
+ # Support the Apache2 extras, they must be set globally for all
+ # SAPIs to work correctly, especially for external PHP extensions
+
+ local one_sapi
+ local sapi
+ mkdir -p "${WORKDIR}/sapis-build" || die
+ for one_sapi in $SAPIS ; do
+ use "${one_sapi}" || continue
+ php_set_ini_dir "${one_sapi}"
+
+ # The BUILD_DIR variable is used to determine where to output
+ # the files that autotools creates. This was all originally
+ # based on the autotools-utils eclass.
+ BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
+ cp -a "${S}" "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+
+ local sapi_conf=(
+ --with-config-file-path="${PHP_INI_DIR}"
+ --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
+ )
+
+ for sapi in $SAPIS ; do
+ case "$sapi" in
+ cli|cgi|embed|fpm|phpdbg)
+ if [[ "${one_sapi}" == "${sapi}" ]] ; then
+ sapi_conf+=( "--enable-${sapi}" )
+ if [[ "fpm" == "${sapi}" ]] ; then
+ sapi_conf+=(
+ $(use_with acl fpm-acl)
+ $(use_with systemd fpm-systemd)
+ )
+ fi
+ else
+ sapi_conf+=( "--disable-${sapi}" )
+ fi
+ ;;
+
+ apache2)
+ if [[ "${one_sapi}" == "${sapi}" ]] ; then
+ sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
+ else
+ sapi_conf+=( --without-apxs2 )
+ fi
+ ;;
+ esac
+ done
+
+ # Construct the $myeconfargs array by concatenating $our_conf
+ # (the common args) and $sapi_conf (the SAPI-specific args).
+ local myeconfargs=( "${our_conf[@]}" )
+ myeconfargs+=( "${sapi_conf[@]}" )
+
+ pushd "${BUILD_DIR}" > /dev/null || die
+ econf "${myeconfargs[@]}"
+ popd > /dev/null || die
+ done
+}
+
+src_compile() {
+ # snmp seems to run during src_compile, too (bug #324739)
+ addpredict /usr/share/snmp/mibs/.index #nowarn
+ addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+ local sapi
+ for sapi in ${SAPIS} ; do
+ if use "${sapi}"; then
+ cd "${WORKDIR}/sapis-build/$sapi" || \
+ die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
+ emake
+ fi
+ done
+}
+
+src_install() {
+ # see bug #324739 for what happens when we don't have that
+ addpredict /usr/share/snmp/mibs/.index #nowarn
+
+ # grab the first SAPI that got built and install common files from there
+ local first_sapi="", sapi=""
+ for sapi in $SAPIS ; do
+ if use $sapi ; then
+ first_sapi=$sapi
+ break
+ fi
+ done
+
+ # Makefile forgets to create this before trying to write to it...
+ dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
+
+ # Install php environment (without any sapis)
+ cd "${WORKDIR}/sapis-build/$first_sapi" || die
+ emake INSTALL_ROOT="${D}" \
+ install-build install-headers install-programs
+
+ local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
+
+ # Create the directory where we'll put version-specific php scripts
+ keepdir "/usr/share/php${PHP_MV}"
+
+ local file=""
+ local sapi_list=""
+
+ for sapi in ${SAPIS}; do
+ if use "${sapi}" ; then
+ einfo "Installing SAPI: ${sapi}"
+ cd "${WORKDIR}/sapis-build/${sapi}" || die
+
+ if [[ "${sapi}" == "apache2" ]] ; then
+ # We're specifically not using emake install-sapi as libtool
+ # may cause unnecessary relink failures (see bug #351266)
+ insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
+ newins ".libs/libphp$(get_libname)" \
+ "libphp${PHP_MV}$(get_libname)"
+ keepdir "/usr/$(get_libdir)/apache2/modules"
+ else
+ # needed each time, php_install_ini would reset it
+ local dest="${PHP_DESTDIR#${EPREFIX}}"
+ into "${dest}"
+ case "$sapi" in
+ cli)
+ source="sapi/cli/php"
+ # Install the "phar" archive utility.
+ if use phar ; then
+ emake INSTALL_ROOT="${D}" install-pharcmd
+ dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
+ fi
+ ;;
+ cgi)
+ source="sapi/cgi/php-cgi"
+ ;;
+ fpm)
+ source="sapi/fpm/php-fpm"
+ ;;
+ embed)
+ source="libs/libphp$(get_libname)"
+ ;;
+ phpdbg)
+ source="sapi/phpdbg/phpdbg"
+ ;;
+ *)
+ die "unhandled sapi in src_install"
+ ;;
+ esac
+
+ if [[ "${source}" == *"$(get_libname)" ]]; then
+ dolib.so "${source}"
+ else
+ dobin "${source}"
+ local name="$(basename ${source})"
+ dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
+ fi
+ fi
+
+ php_install_ini "${sapi}"
+
+ # construct correct SAPI string for php-config
+ # thanks to ferringb for the bash voodoo
+ if [[ "${sapi}" == "apache2" ]]; then
+ sapi_list="${sapi_list:+${sapi_list} }apache2handler"
+ else
+ sapi_list="${sapi_list:+${sapi_list} }${sapi}"
+ fi
+ fi
+ done
+
+ # Installing opcache module
+ if use opcache ; then
+ into "${PHP_DESTDIR#${EPREFIX}}"
+ dolib.so "modules/opcache$(get_libname)"
+ fi
+
+ # Install env.d files
+ newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
+ sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+ sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+
+ # set php-config variable correctly (bug #278439)
+ sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
+ "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
+
+ if use fpm ; then
+ if use systemd; then
+ systemd_newunit "${FILESDIR}/php-fpm_at.service" \
+ "php-fpm@${SLOT}.service"
+ else
+ systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
+ "php-fpm@${SLOT}.service"
+ fi
+ fi
+}
+
+src_test() {
+ echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+ PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
+ if [[ ! -x "${PHP_BIN}" ]] ; then
+ ewarn "Test phase requires USE=cli, skipping"
+ return
+ else
+ export TEST_PHP_EXECUTABLE="${PHP_BIN}"
+ fi
+
+ if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
+ export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
+ fi
+
+ if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
+ export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
+ fi
+
+ 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/polyml/Manifest b/dev-lang/polyml/Manifest
index 29679e6a4256..d8c07e5a3e2a 100644
--- a/dev-lang/polyml/Manifest
+++ b/dev-lang/polyml/Manifest
@@ -5,7 +5,7 @@ AUX polyml-5.8.2-glibc234.patch 1259 BLAKE2B 118aa993d37e15dde23754b217fa3dd5116
DIST polyml-5.8.2.tar.gz 8819392 BLAKE2B 28abec92f8372779ca2b431a069f43a38f0560056edc37b615d5ddc48a9d5b17f2d56c35de3e8f38a1449873d2a7cfc419f6305c790ab77590a8b785f7cfc092 SHA512 c1bac59b837762b500496eb8bf0294db76e3707b77984e5a31860b96a2fb2f406db610da5241c6ec2c00f623d76c16957e811cc808f60a3d220c15fa70440282
DIST polyml-5.8.tar.gz 9817105 BLAKE2B 93992c8baa78017bfda6c2151d1f48805829b77c0b7ed9bec87c951fc4a4236459ed59aab1eca88ed4a1d7aa10eb9734f93324583e012b18bb7d8cce84b5a35b SHA512 50baed79b50b14bd87acc637de93fd6d0f05e61fe0f03682a12a1d2c5f382313488d48f84b49ad915b01acc5a3a5769fb05fcaa7b24499c56402ddd3ba393930
DIST polyml-5.9.tar.gz 3764115 BLAKE2B ae0ca0dcac2c1b5b54e4e4c4c7362a9ba99846ff7a1358a2332a8b887eb9c21e83851c9ecde44df3bebeef5cdfe3d4b73c09776a08cfc2db6ec70024ffedc50d SHA512 e996cbe820216e854a50ba214f2a2a0291ee3279eb35be4126b6558bc1582732a236156fb8d0f548b31fca4a496db62ece83d902b6f5e72de64507fdef602e45
-EBUILD polyml-5.8.2.ebuild 1141 BLAKE2B 604c086ae8731d0e038243407f8e72fa4ff200d733ae28325d5b9453665941b605271d074dbf8dcfbb6a3f9a71594c5091c415fd20dfeef893239d09e6ece9c9 SHA512 b91bd08b49a42c7d9d1bf4f9817e9c271e8ebd1293b1444e41284aafdc2b2748f921c22a28f49982c4f19789fec8575a4c3a20a6e008b2688fe6974b018a2118
-EBUILD polyml-5.8.ebuild 1222 BLAKE2B 303ce107ff8f8131ea957ed8cf871a979529cd1bd51032f4b032a0dc1757535253a4085c8f4bed274a533be6f51b554525267171ea41ad5217e8aeee442ee15e SHA512 6773ac8ab453edc3a2e6dd4091881c7c8719a6806e270f64ef35027527fd362cabe52555c46f692b3d5bf0ef5364ab3c06fe01ab221c5f71fbca11f33ac2e3b0
+EBUILD polyml-5.8.2.ebuild 1129 BLAKE2B c9abfe7fa6abc5d1cadcdbf1799610713195e017a102e0a79122e6c0424e94b42ed9971b14377f6ca260a1d1703d94d9323ce33fd48e4f5f43bbf0667f6a1e60 SHA512 8bcc7bf4c5cbd850f25d0def5bfbaa98dadb3ad2218e6a1fb4c741546d6f3b59faecbd5bbaf5dd5a30baf87d148ce2e634414405c82c72f2cf6843a0af1d6b8d
+EBUILD polyml-5.8.ebuild 1210 BLAKE2B 00f42ae7d8afbd7e986099385c868ff9a6e65d1fc624c928c53df6a6a7eec5e2e106899a2af41c21fd023f4fbdd4bc00b85ac8e0093fe5ef44786122f0b88830 SHA512 4c86e7b1b59139a67456e69118855660e6a3a7acee3d9bcba2fe66ee4fb925b7ed73347f01dcdd3e11784e1b50c7a113580762f601388963dae9c4e3593de495
EBUILD polyml-5.9-r1.ebuild 807 BLAKE2B c616394bfa5d939e4fa0b38b5998c523df00bd17db96df53b65eb0887899d71b7e5bab0177388c2b2b37bd39ed775c64962dfb5cb7a52d334b7c99ea6b7195a0 SHA512 9c7aee31eb2f090c7d4aeeccc6fd5c2710f67cfc87ed02d7332c30a41506b9eac53956a39d689c73349130c33475b461b2fd5e6426a8a1b1fafba69ce326a36f
MISC metadata.xml 476 BLAKE2B 1ae157cea19be5c640cddb49ed167f4bd2f3f76b224f42ad1eec260cf4a10418e90cf0d9cd7deae8710910aa141a7dcea912533dfc3aba51b587a8babde0f1e5 SHA512 93c0da7fa36a0ff2215f22a114b995c0f3cbb8762807090203e25e011236324585dc7af1246a881cdd5d2b41b6d69a00c9965507f8b467481e65679bbf87dd59
diff --git a/dev-lang/polyml/polyml-5.8.2.ebuild b/dev-lang/polyml/polyml-5.8.2.ebuild
index 2f9102e07372..81e526fa0fbd 100644
--- a/dev-lang/polyml/polyml-5.8.2.ebuild
+++ b/dev-lang/polyml/polyml-5.8.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -12,7 +12,7 @@ SRC_URI="https://codeload.github.com/polyml/polyml/tar.gz/v${PV} -> ${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
-IUSE="X elibc_glibc +gmp portable test"
+IUSE="X +gmp portable test"
RESTRICT="!test? ( test )"
RDEPEND="X? ( x11-libs/motif:0 )
diff --git a/dev-lang/polyml/polyml-5.8.ebuild b/dev-lang/polyml/polyml-5.8.ebuild
index 266856a8de2e..eb2c706f99a2 100644
--- a/dev-lang/polyml/polyml-5.8.ebuild
+++ b/dev-lang/polyml/polyml-5.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -12,7 +12,7 @@ SRC_URI="https://codeload.github.com/polyml/polyml/tar.gz/v${PV} -> ${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
-IUSE="X elibc_glibc +gmp portable test +threads"
+IUSE="X +gmp portable test +threads"
RESTRICT="!test? ( test )"
RDEPEND="X? ( x11-libs/motif:0 )
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index 8c2bedd871cb..0a5472f8b8e2 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -27,14 +27,14 @@ DIST python-gentoo-patches-3.6.15.tar.xz 15300 BLAKE2B f49fd96f6ad1a1c94fea6b83a
DIST python-gentoo-patches-3.7.12_p1.tar.xz 19112 BLAKE2B e9964244af3db544dd6e96d85ca4bc24d7131b48eda85df5bafa3fb36474a024cecbbf4b27324e1f35f76ae6a1aed31dd7896e831b79b574b45a4371afcc7e5b SHA512 9ec996c2904f99bd6651ed1b700eabd91f2b82b1e9e0f3d9572243886a9c7139bf8ac2af04169485d3ca6339e1a87044cba203f6f0aee9609d2a1d53c812548d
DIST python-gentoo-patches-3.8.12_p1.tar.xz 16632 BLAKE2B cce7a41d020af1ffc55a01ef67b20bcb16c68adbccc1e44ef166d1707e817ed6c3bae70f84c56553f27bca449015e273014c0be73bc2f9b4e25844ddce385486 SHA512 4621727c2e9cc1c5519e021210e16a97e7167ea831445dfdd07f5b0ed642b5919834244111708a971ce098b10b439797e1c76827eccab803f801052c671f1ae6
DIST python-gentoo-patches-3.9.9.tar.xz 13200 BLAKE2B 672e3b79094cbc791988639a5dde4c9e5622e91bef4310d26838716c65763ca69a12c6afef2f19487f4389974af009896e452c19783b0a491072d13f893af7e9 SHA512 3cd4ddd070ab48d9978e1136d237fc24030fd3ce6704371ce99815702a45d839ee26c7e9552b004661827759edd30222434e4166f9ee16f873ad4783c83f723f
-EBUILD python-2.7.18_p13.ebuild 10096 BLAKE2B 41cd128afc51e7544278dac4c2c1ed06990d5371435c9d3f99ee8187c18c24e11c60b95f153557422fbc987b58811cb65ecaeeb621285cedd56e4cec7689031c SHA512 1cd634b8ee1ca4c3e96029484ce6ea71606ba37c1967b37dafe0d56fad0ce0f4ebecdd969ff2db3a0a48010c1b1b4c064ab90ba034323a9eca4cc45681d9b053
-EBUILD python-3.10.0_p1.ebuild 10591 BLAKE2B 4c654db582d54d15ba2776a985dc8fe34a0b39d7f4f29fd590dd7f047c0df406edf60f50fb81bc363a6bed1955c49e481a9f264ef960986d8e3dad433d2eee08 SHA512 9c873630a0eb45641361d1e1fb37aa38012f969dc2f171ed7de5e4b2717cf0a186075e3595c7992a8f96c725a7db93d185a21c8da4b475d5e7ac80d958cc5bc5
-EBUILD python-3.10.1-r1.ebuild 11043 BLAKE2B c8a795964f5940f52b23f5a1de61bb503daa7fef8b57ab0bfef4d1c578e16e98e35d2d40bdf868bcf3f6ad5f8ffd4c347ebca1d2e961a00b0d0f447c429bb12c SHA512 61c69d05768873729098dfa86b9f8f0c97f60f8d05ca278e9968e7b3b1f4916a2a4e110277c6e2b088305ff9ef8125c8e544d84ce0d6645fa37d76fe908ed5f4
-EBUILD python-3.10.1.ebuild 10916 BLAKE2B 2ee690f4d49df0af7092a593e08a09219aea97793f3aedf059bd0f478ce1339d0375c5d5653cc1ccbd5e276133c7edd60ee2d77e58244426fa34f05480468d04 SHA512 2c1b5752a8256fefcd4432eefeef2613d551595d19c95258c50a00241fce942c43881f70ad923e7b7d720ef8529f423e34d8e0eafc1de7a608f37c69fe5e5da2
+EBUILD python-2.7.18_p13.ebuild 10025 BLAKE2B cc54d332d175b7b47c6cd016a2b97bbb4382c3a3ae23c2997a6a880b214479bde90fe64c532d206001d6ae4191d692f4dfcd00e417480f69e1f5beea3f8ba845 SHA512 992f7ea5c67d5f45773ffad8fde7fd9599d1c1a854804e1b2ad1ea85affc95ddd27af11e28f246aab46ef72629c94000960ee326db6df9bca63cea5f15cafbb5
+EBUILD python-3.10.0_p1.ebuild 10597 BLAKE2B 6cc74526955f33fc1005f999930650384b4ca46c3abde728fb93762f1be458e01d62fcf2c5352cc5f340fcb9afb749f870f0266e9bba848479a44681c608a704 SHA512 b9e7e51ac1d09dc6326bb1a717417c6ee67902192e727394a89e0b3538344d0810b4ce31d0c65d8516ed27c59dde71249ba603fbd397a70181fcdd0502c42082
+EBUILD python-3.10.1-r1.ebuild 11049 BLAKE2B f5db91edb7795462270e4cf8ead2a5b0f5b06aeaaec5cd46042394fe671c4f932066df29785a5e755937efc90e48d0a9dc26212925059f2daf6d15537c41bbe5 SHA512 3d07b3d2190c9fc1c0b61a6aa89c15f5c21245cbbef04b4a829cf916c4e72c751c8542b3b661575ef533825948d447b8c21ab917b3504577570ab1b60cf3129f
+EBUILD python-3.10.1.ebuild 10922 BLAKE2B 88c752e45468c925ae388377a97cad10d5b57c36ccc67005888b9054c7fba80592649626a2c324b77b8acdb6ecdea82699f0385fe63737e4ff8ac3a27d03fccb SHA512 9411c518ecdcc87ae1a8fe6442444ac3cdf0758b700a86f78021e8aa32f7a4b27bec6cb01fda922b691c9baea6730b3998ab25fd52594f692bd807ac735fd955
EBUILD python-3.11.0_alpha2.ebuild 11160 BLAKE2B f69ccbf9e125b0f51720c8fc8a14ee8a85739bf52d2eecc03821631a769efdf690fa1bae1041bcd0b247a7343424f74ff6139ee1f8eefe1650ae6b2353fad53b SHA512 ead1cf529955567c8cc03ace677a49c559c83ea05226cd3bdc97de9bcdc00271ee10a587cc2471cfb48fa3d80cb3818acd850f81578e6cde10a2d1276595b654
EBUILD python-3.11.0_alpha3.ebuild 10942 BLAKE2B 0d18b729ce09e49d5162b0e8afdbd4ef33cb74948368aff42e3b7c8d8db170d0861a85e02d62fc0cdb3afe687d2c257ff303d6357106e655ef32ec48bfee06fd SHA512 668f939bf2edba9851be6e978becda8acfbfec3047a0f54a00bc6d38e702fa31909aaa69eaad2b36ae336956466ed4f6b8271b5b6b75e6c7d1fcce2d5e948c7c
EBUILD python-3.6.15.ebuild 9714 BLAKE2B ca1cb4650ccf1e564686da9390ff985b92715a3cb3bd628d9fb53bc5a69985bf9d7dd506cef94fc7d4e36c8c9f8d98b8ceffec27c90b15c85bb886e1caf58078 SHA512 386be71366010a967f6ecc145ef3eb72672a5bace83a619a6e04e57f630816d12a151796a0e06ac397954af1e6ee99b546912b202070a9b032c53937a8e89bc6
EBUILD python-3.7.12_p1.ebuild 9609 BLAKE2B d2598e603fe9c2401f96b1c5aaa37bf77ee8905a8c70b4ae7eade2d1bde9e119840cd87de27b9d80319b0a84a1aaafd3536adda705cdc2b6bc65c53697e91872 SHA512 e4592afe10027dee719a026d51b6d3ab9cf6ec21049313c4c43cccdc935affbf1931bd7fd72747b47d0a392b292142371ef7a4699d6f98657bec9318d052c190
EBUILD python-3.8.12_p1.ebuild 9887 BLAKE2B 1f757ab013eb19a02f4ad1afcb1654678fbe6361989c55d5460085027b979eae41ada56eaf14818c95666d678ffcceb1d34803448331ef46a9b3dab33b1f3e53 SHA512 19856fa64dc085329303d7f8a0dc13b8ed05da6faab62c1bc9999950dcdd71c5de06ad1ea856652ab5890d7212824c6f85fff38d59ea822399fe34bafaced1c5
-EBUILD python-3.9.9.ebuild 10839 BLAKE2B 1d44e7a43ebbdbd7d86e95e85a1dacd609a7fa5269df77fc3ba97dcfeb8101a513aa9f957cbcbefabdff8efff3308c88cc2d121df4019c39eaa1137c20ccb59d SHA512 79ee46901388b23ff7378c43f87bea2796c89864a288ef040d42ec8b0ce3852dee3ef88578bf9749e598c7590296453f6813c57692914e421748577a2b3efcce
+EBUILD python-3.9.9.ebuild 10845 BLAKE2B cd01be64de7caf094c924428d53c894a908e74e2bb1d6c584ffe6b48c2d3c596e70978c980d2f0f7a3d698cc62fafcbda625d01e9fb08e92d8dc9a37e230252f SHA512 afdbb929d4987d5b3682ebf62cb02c3078b048f543df2cd54d6206bcd2f693bf83a11d1d53bd7de53b65adbc7722251f5abe6d3c0de2535cddc02cae619272e3
MISC metadata.xml 740 BLAKE2B 31abd8d03440517adf39f29f36e87f821dbf029602f40d4b252b1ec8e6a52955ad9325fe66a9a3bd2e9c4436e6c6865853f75c3169016c7a44327a06b07694df SHA512 b601a773d5fe4e29d43e9ce5d857bb525b706b95745056a74a2476a37f182075363cb44814f9d6f73b8be08a63d75ec322b608463796c6eef7aa8d636a2350b8
diff --git a/dev-lang/python/python-2.7.18_p13.ebuild b/dev-lang/python/python-2.7.18_p13.ebuild
index 20372374686c..c5ca53a4ed2c 100644
--- a/dev-lang/python/python-2.7.18_p13.ebuild
+++ b/dev-lang/python/python-2.7.18_p13.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -23,7 +23,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"
-IUSE="berkdb bluetooth build elibc_uclibc examples gdbm hardened +ncurses +readline +sqlite +ssl tk wininst +xml"
+IUSE="berkdb bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl tk wininst +xml"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
@@ -292,7 +292,6 @@ src_install() {
use berkdb || rm -r "${libdir}/"{bsddb,dbhash.py*,test/test_bsddb*} || die
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,lib-tk} || die
- use elibc_uclibc && rm -fr "${libdir}/"{bsddb/test,test}
use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
diff --git a/dev-lang/python/python-3.10.0_p1.ebuild b/dev-lang/python/python-3.10.0_p1.ebuild
index 37a2ec7f55b4..78b9824d8ede 100644
--- a/dev-lang/python/python-3.10.0_p1.ebuild
+++ b/dev-lang/python/python-3.10.0_p1.ebuild
@@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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 lto +ncurses pgo +readline +sqlite +ssl test tk wininst +xml"
RESTRICT="!test? ( test )"
diff --git a/dev-lang/python/python-3.10.1-r1.ebuild b/dev-lang/python/python-3.10.1-r1.ebuild
index 1aa94cae0a26..8182158f8060 100644
--- a/dev-lang/python/python-3.10.1-r1.ebuild
+++ b/dev-lang/python/python-3.10.1-r1.ebuild
@@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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 libedit lto +ncurses pgo +readline +sqlite +ssl test tk wininst +xml"
RESTRICT="!test? ( test )"
diff --git a/dev-lang/python/python-3.10.1.ebuild b/dev-lang/python/python-3.10.1.ebuild
index c29e93d5b698..35b7d94f0870 100644
--- a/dev-lang/python/python-3.10.1.ebuild
+++ b/dev-lang/python/python-3.10.1.ebuild
@@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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 lto +ncurses pgo +readline +sqlite +ssl test tk wininst +xml"
RESTRICT="!test? ( test )"
diff --git a/dev-lang/python/python-3.9.9.ebuild b/dev-lang/python/python-3.9.9.ebuild
index cd4cc9ae614a..0802a4fb109e 100644
--- a/dev-lang/python/python-3.9.9.ebuild
+++ b/dev-lang/python/python-3.9.9.ebuild
@@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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 lto +ncurses pgo +readline +sqlite +ssl test tk wininst +xml"
RESTRICT="!test? ( test )"
diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
index 614c53e02f05..7bed0484f882 100644
--- a/dev-lang/rust-bin/Manifest
+++ b/dev-lang/rust-bin/Manifest
@@ -1,35 +1,3 @@
-DIST rust-1.52.1-aarch64-unknown-linux-gnu.tar.xz 216242676 BLAKE2B b3cf721872b615a62b0f3bdcc71227d8c861993fac6b65ddf9743dac70fde1794a20722919b1ed4dcd423ffc09e7727afa69e2731a74058e062024d1c6c764b2 SHA512 8af898b98ceb211e75b0d55d6f7c0b99bff26878d4f252604f9417e3e2e73ba84cb94f6aad331bbb13731c852b30eb82e3864e474dad7a74112086987418dbfe
-DIST rust-1.52.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 90fec815c774dfbbb5c83a7aad8359645e4b1b0b0ab26b58252986f17e6f97b82cb7523e8037bd69a82e0121cc4ab03454c822f56d073905341a4a8bdbf2bbb1 SHA512 139632e6d57310e8db71be37637ec61a69133da697a0513d5a82520a83dcb589d0c406d67ac7fc43e7a28311577750183089fcdce5d71eb5b320e6137fbfa570
-DIST rust-1.52.1-aarch64-unknown-linux-musl.tar.xz 212054292 BLAKE2B 3e4e52a6d5d81fb06c1f06928aad422d75a4510db6d391346a788193c84cd5ac1beac50dc97a0e8b4640fb68c074336b38af9e751541b38de64df2683e8b9515 SHA512 2ad652286e22c06a8befa86d7aad30369d1146b8e3dcc42fbae55103db12b6b4ac7f135ed237400a2a3841b17a58398d810abe36a412b891a3662371bd736d6e
-DIST rust-1.52.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 1d1a1ca2aab9966997d40309465c5e00814bb6ef3542d8454133464ff6b7381d70aab2028dc184bd80049ed9e51498189095157488a802c7e345f67d7aa7888b SHA512 6bc36f111ce80c39c5da50ae2edb4d9ddb4924c2079a1513a207bc7148e52cddf8d1c8f663ffc45dfae36a984f8c66e6da5a5787d5c6eb2a0eae47255847fe07
-DIST rust-1.52.1-arm-unknown-linux-gnueabi.tar.xz 194953624 BLAKE2B 99428362cd1c92335e285d12e66c68c834f0fd3edd6e7cfbd2c050e03cd9b6a25c793d3b42898c2332acbea6a9fd1b15d02f839430a7f9bf412bf0a55222f08d SHA512 5d878609b40b67df94b6cf3d748e7964f8e33b77ac46397bc1414fd49da013c7b67c2b6424cebc8006b0f478f3467256b41f75eb1eb978535e50ef153188f448
-DIST rust-1.52.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 89f60f2e73ebc48070a433eb136bfdb7cb6a9d2d2e6dcaf9b40418e38d5097f067afb382d9c07e31160924cdf7850fcae97a9b80a2f789eafc8b0cb130f91dc1 SHA512 cc365dbc08ac3263649209a94eb096ea3036784cf1c651da82face84ee893e653208818166fe1a52fb699484bfd613b7acf94a653e0de3fc4bb5a30623597848
-DIST rust-1.52.1-arm-unknown-linux-gnueabihf.tar.xz 198712624 BLAKE2B f02f3c38c66315870d7c77e5deb9c0fc96261dd3ac4e10e03cdf46c423372e0f0c9604d2fb450e237b8bdb4495407546cb9a7973c90bf11b44dba600cdafa63d SHA512 23d47c0df503e8a12bad2dffd7da80f8194f27d9f52fc52af996f75d97a8925f7f7f9e267f9c05a0e7f4538b83a446e206a35a943530c29f1c7917c471537026
-DIST rust-1.52.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 0cad42498556a1320b1698628f01efb7bec50df97e50e8028e570ad3b0db4af9796b240caaaad9ec7b8a8cb1e151b52023ba3c8987ffda837dd52ff6afe52e6a SHA512 ecbd3665dcd26b38249d5e4363962f96201ca8038bc3341d35f84f47f6e448f0637ee81ff03d1c5d3d1d576e031fb9c983f20fa4b58900dd12870f423353650b
-DIST rust-1.52.1-armv7-unknown-linux-gnueabihf.tar.xz 199226972 BLAKE2B 02bd33e9d9dd5c4e2b63258505ccda5971d27d381fab18569c69df72a4d418090a35522cbcd51d74acdb106db56cbff846cd90e2d6c3e029e7aa43c17b4799f4 SHA512 a03653a09f23b00339d6bce0198a9e82174223598337c9319463f15fb000eb8d2cb5aa0b95d496da2e1f63a7898e38b2f4bddf56e0bd9abafc05ce1c17f25836
-DIST rust-1.52.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 6fbdb413f47e4cf703af26b53e393c8d1ee93d695c61f074e6b09c622e7e51b52ff13eeac1b8b6c67972e8f3b9be355a2b25b6e89f5b5174946f89df87d6b6f4 SHA512 50bc989ee940c98c59751e67400c62c97a25b8a330b1007014eddca6c585df9aa47a13ec652c6da4b546f805612981e136aae6dc40e6404ae7943f007c8bf2d3
-DIST rust-1.52.1-i686-unknown-linux-gnu.tar.xz 217842204 BLAKE2B f18452249927168fc5097781936db5d62cda8d9ea83bf2f411c59e56bd7a178ffd4709d877ad87f80e7947048d9919a8cefb964bcdf7b78a22aee9703ec72d6c SHA512 4e5b75744290add5152a8f6edfea18552f3947bb7d7900e5dc222b7f54231bd2e72b5e20360de92e384eff05baaea1c883d8ff0686533b84c26c633ebad42705
-DIST rust-1.52.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5a58cf12f8ad6b82ea8eb54b55d3f37b0164a57bf184740c09093978f03045fe355ac9c7b7b194ec61bb41f4d8ab5312792cb859979506d076c57bb2ce21090b SHA512 854a111a62e28f7a4b6bca1beb6b708ce8f20de0ea920d7a1b1ccb26d6c5b394e21d178d585902ea25cb64a2ff492780a8cd25d3e738b5a65ffe2ac076c243a2
-DIST rust-1.52.1-mips-unknown-linux-gnu.tar.xz 157633640 BLAKE2B 7d62d79d6c3b374a53f5336652a035364bc807a50776d3b41aac52ec2c946fc149b713e19d1618c22ad4fd8ad6d6240014f1d7cb4521a702d191d6c49cc67104 SHA512 67ab50013640f857aabc9ca4a8ed714aa5c1c1063bc5d1e78fe15f7c00952c7acf651a95461fb3005c457d0e47118e569d257e9378de54835ef92e7a707b9cac
-DIST rust-1.52.1-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ebf80e7afa84da6bf11fe00aff4b1830efb1f7a05f488fae742dad0449418218adc5c3d94325719faa369a4a039cb6c1562b7c2689e5deb2bbfd44a702093f50 SHA512 4c41299bae38ba7cb8f96c1fe582e9512ceecaa173f11172d4006564750a6104abf9ec2fddc0b863bdf462c864522c2965bc7215218420c368c866776d5a4afe
-DIST rust-1.52.1-mips64-unknown-linux-gnuabi64.tar.xz 165017648 BLAKE2B b175623b20c6bed98bd4140735339fc678c879e191c7f8ff49038092344ba544ff628d0bf9fa02185a326a8754344cfa5cc6c75cda96d13805eb3c92dc2f0812 SHA512 97834c53a3dde19976244a0d9d8d356762a5a7e171f43c336bf3103fb3ad2048bbd687ae8fb15a85188962ad37deee0e04b115a71a86bfa3581b218907e5f859
-DIST rust-1.52.1-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 23bdfcdf4c9700c015417fc44286c059dae5dfe11b21f181f63613c15fec31c50de7f41806dceda85f084f573d97fb69bee9eddc29df312e120c3a7e2dbb1723 SHA512 cc2fbf18cd7b2b7bc35f0d4d68672a8dc61d54fd58c0b583697bd221e5470ff2d044a71c6d9117367a4e1993181df21ee6fea199175eac0dc354df2421afdb84
-DIST rust-1.52.1-mipsel-unknown-linux-gnu.tar.xz 158493160 BLAKE2B 07ad000debdde4eccce21d21cc55c10eba0dbfa880207a0da4d449a7a44d30e228e1d2d3217bd1dbf0639d7248dad71dfd7cc63db4c4da5285bd430fbcf42741 SHA512 1011cb0f9e46826ef4f13fce1e5304af94fd9ea442c9eb84db140a93920407e2b835aa2223181f10f777fc1a39a64a682dc3c8f9c6e2f1d0f782f6f316a29fff
-DIST rust-1.52.1-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e0f00997d25fa6c92b8e41a78ccfb57d15d12dfc5188c8f2afdec2e713e02eb4eb7a0ef257296e795afca66ad94b75d93f1dcdfe0d3971d546078d64e1cc7be4 SHA512 1937f9250c0076797daf77931f837a3527486279f20643cac6573cf6fc4dace9518a6dac8305a909e160632142b732b02bfcb43592bb71a71f2068bfded270af
-DIST rust-1.52.1-powerpc-unknown-linux-gnu.tar.xz 170807776 BLAKE2B fd06f6932146fe813e57ea30b898c98675def8323e59cf6d275ce95818977b7c5e4e86361a6a4718681974cf84c8983fad3cb71015b3f7971aabb6f00ff6dfbf SHA512 26343fed8c4f33bb68bbc40385945f3ae40a21d084d193e4fd3e7884bf68a342f4d9e0c76fcf4c664963f6055972f6b43c1838abbdbabb1b9c6ef592679d0afb
-DIST rust-1.52.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 84b80b50e809f30409f14372449f9c67771f367a7098c259bd97761a5adf06d0a89119529b74340d224bb51c65fe12a353129a01ff19b3e2bb6f5db1637b23fa SHA512 ec6e49ae70476a89631cd721436e57af412e35e09f1eb45e0968f42ede7587b8923d72c90d8b8c0ba0438edfa9a8fa76eba60d13e17433c99ef1c894616ae9a5
-DIST rust-1.52.1-powerpc64-unknown-linux-gnu.tar.xz 185066924 BLAKE2B 990b9fb32b72c68c659ac767dfaec4a67c40f7cce3e100b04becb7817917f1e0fb36f7bfb06dc255022c7a94cd1e56fb6ca4712ed411ec0e1afcffa63f591306 SHA512 5da5d06b05e65d5ae12f378e225f880e723182fc8a58c490d17336be841bfd91759143a97f82cd743db1b9331f0bf7bc0234bde22689b6ff33024cf3dd63da26
-DIST rust-1.52.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b9a051228baaaef85826d958944e597a9dd5750b4d418bbcedf86b4617036c2d90c27bb67e95cb388b8b80e2e74baf9c1fa98fee88fdc8a3b63810d556bb23b0 SHA512 9b9a1161a9c88d9b3c9035906f4be66a2fe6b2fa51f89cb740bcfca14e1956ce218435b9b99caa6cd65407db5cdb8eb9427ce1dcb485e6164c85d41fb1429b40
-DIST rust-1.52.1-powerpc64le-unknown-linux-gnu.tar.xz 194463736 BLAKE2B 509179480571e918c08048b5d54120f090458f4f5ef8e376589943c7c13f23b054381f2b85fc75dc8c068ead73b1d38aba14b5125156ea92d2c5cbec4a8a849d SHA512 04bb5310fd78bd1cdd40e778d5a590111f405d6508c41fbf7ebd23549b90eef69b52fb07d204879747f10c2a7a5a55b4bd8cf48bb82ef3624c5b880fd2b923eb
-DIST rust-1.52.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 130f0731128afba6c0ac5b98251bc7d1f7378b667031d6cf8c2c92e48ff120f1f2a1d621bbe558adf65ec921c2309c4eb12b0fe239b3098005ca5f186606564c SHA512 a86c119e384a23d7319182c752cc85811dd12d292310a1d76e5d2e053293fa09d05810314f401113578d26ec8f4149ca3cdb1690cc72981892de6aafee99a3a6
-DIST rust-1.52.1-riscv64gc-unknown-linux-gnu.tar.xz 180847392 BLAKE2B 06fb6eabeefe2d58c641a81d0a8ded26bd684141210fae312f23d38dc93a03746416b7014356643d77c69b3b323246b75614e79f5abec94e377eaaa0710e4ebd SHA512 71c3ac3a1cb5d60754fbd528bfd3fcf422cdf654bafcb2b3db73b3a01114f711a3d0f6a0547f170ea72c209477235a4ab1d45010fe018c64ac95b7e7726496f2
-DIST rust-1.52.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ab20f91222fead475ad0e0b12801cb39da8bcf5a3a39a5ff6ccf9b282676e989a10dfa845be02aec4d7b9f924c60bbf67f37e83ae4485278f5851feadc5dcc2c SHA512 f251408c3bcff12615f2fd33f61c291745ddb1d3aab80c46e17592db02bfac52a9baa880c7e59b9716f69eeadb445f0592bc2bf3fa236ba7659b35dbd4db9b4e
-DIST rust-1.52.1-s390x-unknown-linux-gnu.tar.xz 194805300 BLAKE2B 64305850ed1f362ac8d80ff3bd1f084ac84f2b8788f89c0fb67ff5c4835ba630e6f760608b4867d501eb8fa1de8f11da3fc5b44dd17e80da755990dc53e074bc SHA512 13405aaf093f6b09cb964d8af241095f252323cb6fe9479243e75945483daac5e7a853c815fa6f4e2bd8f8819ee2a9eb8ba6f5245ada0515d3107d5a441c67fe
-DIST rust-1.52.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e27a24d02d2d42d394a29177a99f8149d45075a537eeb3551fdcb811086ba97c0ec64e776549b0310587357be2e420715988261ae686832630f0496b224721f0 SHA512 1f31c0e0c74ff4010c529775f1c527b5ef14a4676eb67930939dc199e6d029d235af8931a06cdadd5a3fd266c302eb7645002d85cf634f76e439d8de66d746c6
-DIST rust-1.52.1-x86_64-unknown-linux-gnu.tar.xz 142761092 BLAKE2B 1edd915373f09d32cf32311650636c73e934257aeeaea806fe9a9084f4d954989db909ca2a85c4c19209b8667fb16681c476b53e45564ca3b6d5ac378d772e6f SHA512 9ba98a509bf8820f0900d31821ddab02f85eb1df927c171258b39140e846c195b4b23ac733f0a9738ef068d0c1c5832efa0f8915c9fae57a561711c0878aea0f
-DIST rust-1.52.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e013c0fdfb4f9d90997763e9842dddfa4d707818a2a606893be9bcb199c54aba191e34a37decb7d15edaa1bfe14a228eb9ce8acc27f3d1f701676ec97a65ee33 SHA512 cc7956699f102de534ea69b3a620f2d937f1824424742722d5fad0e7f3009626edb95ed4036a8de44e41b429d584bed0f57baebde72970bd42e45e865194507a
-DIST rust-1.52.1-x86_64-unknown-linux-musl.tar.xz 239386548 BLAKE2B 404e8afe160b8d3e03ab31d04439f1b19a106864882398d2a2fbe31287db7ef60869e5d91d80591e7eeaced24a5d04b552e0fee1ddce37c09fe8679945d83dfd SHA512 3bf62ff12da190b0025c4ddc906d1212bf82db6936d724f81d3f289b005126c83c365226a94928db2bc8e878e974b4ecdd0f173b1873f4a55ac4d5087407b141
-DIST rust-1.52.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B a9c7e7ae792f05a4078d97bb165d6a2a12c39386ac5ee5cbdd005eae8f6b7d9e7da3dd13d495f5370d86cfa917f090c7d426c7ac3ca479750665bf4f89322e04 SHA512 343727431af8ad88e961997bf15b31eac65b8235befdd0f841a1ce98b8dc89a70d517f4ef499a7b366630ea2374810635334694b51ca05da370456875d718191
DIST rust-1.53.0-aarch64-unknown-linux-gnu.tar.xz 216240932 BLAKE2B a63eacafe8c9194095cb3ee0856b22c66b210746c208ecbc6495800eca9b480d31d84ebde29ffbb7dc8464dcee164f4da96d7479f73facee6352a74488073c1a SHA512 aed515e60e5eb22478b864f7e9aa74b99b9843afe6d1fcc9d0ad78bfd48a39b0d9c8ee7b785f273c3bf5d3a173c169fd6dcd5c64fa67c49285803ff4598d9f59
DIST rust-1.53.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 15822fc4762caa2086cb4b4300d1eff2c8401932fe5ca8d12926b7ccd8b950940d4aa43daf288765d55da8a19db781129e4e3f83ea5297fca28f814738826dab SHA512 49e4c27f498faf1e95c5061786771e5008043e4b030fb91b3c1cc406f424a541ddaac435c7065659e27ce379d46ca78cf4f10073c8dc2148be715b621b824981
DIST rust-1.53.0-aarch64-unknown-linux-musl.tar.xz 213585000 BLAKE2B db26a6d09645b7feded883bdc81d233ff3319a10c42bcf1b4fbc82c499f0099ec83c2de8f175f141daf1d3ea15ac13b835c9e0bdd92edb25fc0e4d91642e96ab SHA512 fc72513ce66784b5f9aa5797bfd6ce35f50e9494d0515371599e94f72bd784fc40357a540d23ef29f08d1733be240ad1c11d68d21550d1ddd55642d2770b06ca
@@ -126,38 +94,6 @@ DIST rust-1.55.0-x86_64-unknown-linux-gnu.tar.xz 139040728 BLAKE2B 1d7905411b556
DIST rust-1.55.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d454086c93147737c7c144af288394512528e4ce759dc221d7371b62724857fe16e391949b5b4dac436bdcaef8bf817f577e8d951e1f4bae098d687b4a7bdbb5 SHA512 b175e3ddefd036fce29c80c65a86565583167f7859f0941dee6718fd71baa8596f1788a6bed5d992096959e1deda98dc9c10e8cbc896114b7938a05951c29f02
DIST rust-1.55.0-x86_64-unknown-linux-musl.tar.xz 267291288 BLAKE2B b96e8fa1c8d2e55c07781db37ddd33ec7180cde29c84f5020f2ba0fbf6aa83f9db32723e191c15df765f965d1314a57d12d80e73d20deaab1333afca65bdfac7 SHA512 6fb700d5d17c084fa520b29f3012ac565eaf891705a27c7738a61bb9899bc952f679987ef3790875b5a7adae836c602b394c7e19103f30bbdf5ec82cf3e86567
DIST rust-1.55.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 5ccf03518eae6406ff66bff108b26988a6a859e5cf88ca44327f9826d880ea26d6e115fb3e63f6a40d1cb15adc25d6f1c056438466095b7223269fb0d74540fe SHA512 8d84a976d9922d28a5ddac0f47258759a4c7542df02fb9ffede4a3e98ceecc6415229f3eb676a22536ffff842c6e7ee35d50d1507f2d818301493ee3a7db9bb5
-DIST rust-1.56.0-aarch64-unknown-linux-gnu.tar.xz 223490136 BLAKE2B 29085e44fbc7337a11d396e452e53c43c0ea2ef53d2bfd6e294c837f890ce4400e9274705764ab40680226010ab502798131b1d717d7a4a1cc590313ec65f8d2 SHA512 858a28c6d74848bed5e731cd785995b095b78375d6b10834b2cca97778d571a9bed2bc2104a924d099297eebe91f9e829d7558acba0a46b31d7cfffad520bc44
-DIST rust-1.56.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7b6bd9c532801b1759524007ea1aa7037303a94cc0571cc3265f4be867d4f69d5a3c732598db01c43716ceaa19717c418ca7d5df6ca030ef014618b849cf72e4 SHA512 d8d05fc573f93a7063bbe54a6785305171b096b8348a44b0e72753a5500d97cd1b903394c0e8fea601e33892592cda6dc667285bb095e4d4fe0c4fff8cf12b46
-DIST rust-1.56.0-aarch64-unknown-linux-musl.tar.xz 219878296 BLAKE2B 5f7b0670820f2ecf8499c47d5731ec371234be923dad2abd261cbb4cb6da39d27a813d7ceaef22aa75f9ffce3067500e6f02c157a517951a0377073847919a6b SHA512 9a1445794558352005921c92d64a454b3270a1052dbd6dc1ff5e407057403b232dea5183920459fd2c9a6f22423c28af60b427c2edcd3f19565e036f918570fa
-DIST rust-1.56.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B fbab4bc200ec56df82cceb8511d5e11c94a64cf2202eac7fd9eb32857ef4f7acd441482ebaea24fa04d4df6709f14852d937b6b62e500609f678044507f3ce68 SHA512 796365d5bbff1f39b46df8353a0ce282c368e649569a202c50e13e1bdf8e280630d38630a752f18dc8da545561675fd5112cefac207cd98adfaf556029514d5d
-DIST rust-1.56.0-arm-unknown-linux-gnueabi.tar.xz 202166060 BLAKE2B 1e73ce9ad86bc9f4f7a920a822829ce12c991e763f09cfdf16d1118ca16ba8f8ef217232eae303fdcfa0eccf5b913b80f771d8236a2fc0bcefa9c9e30f5cb92e SHA512 31ba5c7a8aca7f42789b606775145ef776d03a5b06c46e4336aabdd38f92633e2bc206ad74c28676c52387dd979acf742f56ea49c3de8bab868c98f18242e8b9
-DIST rust-1.56.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B ee433953b9fc732f1e8606b4070d379dfe373b94b702316f10ae5d0802baa7bd6ed19d01c6a4eeb206066a6cfbab7329f76c175c7b76023adacef030ad666f80 SHA512 d64bc0635f9d87323cbce77dfa779a3d360df76ca161cd4b175e5aa63e2a4cfe1c8609b38d678d7ef8bccc011326bc4851dd81b55836223ff84fb85e29cc6364
-DIST rust-1.56.0-arm-unknown-linux-gnueabihf.tar.xz 198940944 BLAKE2B 651932afcf232292611b20ca43a034e2b54060a15b6c4bf0c37c40b2864e59d9ef3ad865cc6a0729b02de34abe23a09e758029860d3d196080fef43268fd2546 SHA512 6e5edb3df13fcd0b4501e78ae55d2b62bca2c696e938f3e913cd15dd1e3fa802bbc813fbe5696cf5bfecf1e9fed99e6c83b23be423a467b084f6f66cf08646cb
-DIST rust-1.56.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 94363ce80bc31d867583484eab662c3a3012019c9e90205959b71df6a8893a92524673246e1c1831b3a228fc75233184bdcea13cb28ed1dafb3b8a0764fc8161 SHA512 2eff4a8d702c88a1e283139a9a435d845a1ba30fd2f2857f8c19c0d19fc94698ad6b6ac87be0b1d3ca4a78a6ad658bc57357c9c84e8983505dc29d080a4041f1
-DIST rust-1.56.0-armv7-unknown-linux-gnueabihf.tar.xz 204645860 BLAKE2B 4d1bcbb704954aa09fe89d0e2d15e886dc5e25c91c24a2239caeae228ebeb94fa40ccd7bacdf67a3b9ecb5aa0cb5b1d54306642d879591675380496142699acc SHA512 952edc69bd1747bcb711ea81c58c580b8b2128722edf851cb0a20e6b85674e9bba0e234e6eacd5e3052480a72d896f2792f1a281ed8e99b23dfe1c51b467e3dd
-DIST rust-1.56.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B be71c4cc8ee6e64e8850cf4c95b6f34c115fc1bfb62890c7f1794a229656fc3be1b54321db1174e7804540ca307360c49d07e45e418bd0ce7e1b1db20bb83da8 SHA512 2e9b2d38beb4199062f87c40875622ea2d914023d0fae2cd631db5f04b423c868089084e8731c3260a180d2d5aed531714ddd3c383f06703cae720942c90ef6f
-DIST rust-1.56.0-i686-unknown-linux-gnu.tar.xz 215611688 BLAKE2B 759781d0e5771cf058eb47ef6f5aa2cf5bc2c692d71ddad6bccf37af62a587cb38f70d23c7ba2ba0bdc07635b6516d2ed63a99497bdd03433bdab16a611e46aa SHA512 6e19d19ec3aa00262c90e66a7be46805b36601f8e13ff3b026479c589965c6006d045c92bc56a063fb284e830220af1124a80df1a2e7850bdfe1cc0fdd149f3b
-DIST rust-1.56.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c416bfa472174a38631022988de8b6294585a797b764766a9547564e5099f9fe24d46f27d734eb81c82156ccd135fd60c97aa9e13f69dc2a84b9a8554407ebaa SHA512 04a040802634f42fd2d9ea62a26b89d10c44426eb7f00ea4532859903fa89c7dec6dbe37fc572b6986653fb862236ca0d48be87c6febc7983a670c452c145ac5
-DIST rust-1.56.0-mips-unknown-linux-gnu.tar.xz 160762656 BLAKE2B 74a98ca534020c1beea16ed0aae5d55087e52e80743ecb5d4e23861cfa3e39c9f3eb216c948095f76be25a5fe89c47f2e1c7354b5b4f56acdd3532ae3874ee49 SHA512 a6e33f557faa842f3c5fd49223216516c012d4af9b3c5efb3f53778a38f02138e1b522b98ec91bfe523f507ebc932f6966d329f23b36fad6a3d105d4020bce3b
-DIST rust-1.56.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B fd9cf1b07e64c4196e25c023dbd7b5dd9ecc346c3590f8dd4e5d3ed3b03b6b04da90a8549178eed0db0cee2acd5efa4be300da6907cdfa5424acc52ed047696b SHA512 a7278ed6ffa56025257c70e77f5dff3aabed699282e05b01f7f3eba8ca1a813f43f0ee07357518dde78df11fd3600cfd6dbc45757a20850694a0bdd2c079cd20
-DIST rust-1.56.0-mips64-unknown-linux-gnuabi64.tar.xz 165953860 BLAKE2B f02278555bbc3c8169bb4dff02383b8736fea8ca8dbf395aae5d62a10c0a9e25088d1d56b7d6b0fba6d4384f988f55d1d82153ec0038bbef0044fc8316cb7786 SHA512 fec707ddb8ee51700716ec6283f3ecdb910f7ddbd8ad4fef7882595afe5b55b1c8f862240172ed20cc8e07bc8db9682184fcc10ad58d2ef7e4eddb3e54a14dc3
-DIST rust-1.56.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B a1509f1799555bc84ba43eafff55c4e6e62821c3eef27280682210823cfafb627ec28d0b3faf1cf624f88c9bd2e83af1438b8659acdf3d33413d7e95a2271a53 SHA512 6a39541d53229f432090a1304797c1f2c2d203c72ee266a07e408907ed56a1dba15f644a074235dd56058f77bafeb27bde32087546db2a86b64a65bc7bbbd41d
-DIST rust-1.56.0-mipsel-unknown-linux-gnu.tar.xz 164590680 BLAKE2B a5c7c7e1ecb0a6cb079677b1a72c17fb0b141588a6003ec5ad01c54ecfc2d5e1f928246f978e7606b166e8a60c2defa375287931e04fb28da341037cd226040c SHA512 3b05f8f0e624e75608f94cb51be5c032b7ad56c9ee99220cac73a7f8f6c40cc35c3b5f846c2c930398eabdff2622c1d447720063b831006615c1ec4d2c25e01a
-DIST rust-1.56.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5ef21a9b209ec1b88df8cde1444bb5704656d3b435b1a4749ab65a13d0352392030c4ab4b59d71c2c03e554136c55fe44614b65d09fea644b7de572d357ccfdf SHA512 fd9efde43ae9d3427a56cab3128481733e0ee51d14365b8b5e65dbb5173bb11a564a4fdf68ad23ec443ab3371267399aba3ba704f3da41ded038a2d2ee898b46
-DIST rust-1.56.0-powerpc-unknown-linux-gnu.tar.xz 172592208 BLAKE2B 54016cd5f94e2fdba36329e5af7eb161de0485adc4f0e7b7933694bceffde8b101fc778880eb66156851f38cee66303b24095a6928f668d08bcba4277e2f6e92 SHA512 dd5e5a0f073c3de04a605cdfadb19538884ce1a715946e60fdc85408fa09a45d230eb3141ad999c5edb469a789151d5e6c7565743e162f7ce9add99021cb32ec
-DIST rust-1.56.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 56f2c613dcf42d969da0734f7c5d6d544d1a2883b4435e941c0779f9406c9b02a9eb8eeb4d8393cf7abc389ba2df78f05b78dad56848c24df1023971101a9a92 SHA512 a5a933921e9670b3b55a9ffb01d8eb5b7520a7e73bec987a161a7f37d07f9024266566a7059b47592e66f6c1926934ef2306b1e7283e88329e68a124255f07d5
-DIST rust-1.56.0-powerpc64-unknown-linux-gnu.tar.xz 186235644 BLAKE2B 13754e77299dd432adba0773586910a215a8916399ea827a6b5ab5d8866b731ec0af2a0772a8ef83ad897c491add7c513c4f3f06c41c61bd600f2ff742610b3e SHA512 1ad3c1b7da0cb4a697c8bbe8a0580a3a8f01e1a8e415b75ab4798f5425098855ca9c95ec636a36e796d919464f3ed3ca651e8d3811f3adb9b040976422fecaab
-DIST rust-1.56.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 62277bf7ee93ff6ad847cd9c69e89a2bd58f31efd235eafc7c4814c2e465ec24390c4a9fd99fc2c4c53fd994be159720b03ee169486f0c7af31da50b91cec2b0 SHA512 fab2896c285dd6641b5a7e6c8d1a9e96c084b65fe05cb519cc20abef7d5d42dfc0aaa2c61c137c89db26d0701fd4b32dee6453e98651f98b2d63ee34c8627dcd
-DIST rust-1.56.0-powerpc64le-unknown-linux-gnu.tar.xz 195350800 BLAKE2B 2ceeb04ae5a5482ee3908f07dc50e306426fac09aaab154c6235392ca9e403ed36f492dbf23b3f6172e964d2ce7360fc0d19f345ea39cc28874d812e21e22b8f SHA512 bcddee74d0c7c52e7ec17b4b808b0caca764bd6f4ce6235cceed5c93983673c768981cd8403b2a7cb993eb5055625af2679c8635955d4765acd871643eabb6b4
-DIST rust-1.56.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e4085f8f853cfd50e44b0bb8ca70a73fe2cb14827261aef40c98fe399ed2aaee9d29acaabe2d85d51d77ec1ccf6eeb263aba1042c4e06c2b0ff7539ace11368c SHA512 6d21afed2e7eebc11d1713774feb662abaf84d1ad524edd506efb0910654b84828017db6c07248156514a37c176dde48088cf387aebccf6476ecdbdfc961c0dd
-DIST rust-1.56.0-riscv64gc-unknown-linux-gnu.tar.xz 192792856 BLAKE2B 85af51b16ef1f749b1903cf98d4cb5d92d26bb17d5b5c2d493862feb8d21316a2d4aad73f3f9c8e2ef1436544a592d8a8378f3671c4c099b39e6e24f597bd4ba SHA512 ff9959be93e6d4049030d9e07fe6dc8be67fc635698ac37630b0cd8e1e446e6909879a4aaac4b0b08b93dcc2ce7650986d961ae1001fb683b235efc101b7e470
-DIST rust-1.56.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B da4e11a82df51283edc6066d5a54b1f2c5937e1f8a9e45ecc10d1509a7377c630a63c141b413123b01d6df67c0be6c63b0017bfae20b13c654d3a5de98981410 SHA512 2fa854448aa07f2c23bfc6145bab5973e73f0c444dbde8f0f823b6a843f2125773115fd91660906e7dbede25d44bee2ae3873d299ebf75a8123c618afd07fb4d
-DIST rust-1.56.0-s390x-unknown-linux-gnu.tar.xz 194222748 BLAKE2B 4cc8ac554f85ccf0963da9935da46d51640f37346fec2486fea50afabdd881c331c54af6ea15ef76a53d850dc9cbd8cfab8f4125b4749045d985393ead77b1b9 SHA512 8b00ed11f12604c377cafe7c206f8db10980a4c73bfe4b4d1d628ca6fcbb3df0553decd89a9ef775c06e62f446b817d4d51ed7b55bba5f1826e9d384fca7a26d
-DIST rust-1.56.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 443228e6dc0fcf1da9a33a89938710efef0881f835daa2af1b7593e32f90403992b752bcaa321d5241f233faee3773f205a9afa44f12b59978cc84c261b85ba6 SHA512 608a7062e93e7ada52fe9688f2efe1e3caa4d768f0e7be31cf47b8665a8dc550e9287d339da6712366cb68a14868e07e5b68c4a25b86c2bac1fe738f77815b3f
-DIST rust-1.56.0-x86_64-unknown-linux-gnu.tar.xz 147894784 BLAKE2B 6cbdb8a82aba4715d07c41497443a90cbe2bbed32ca95b3a8ca4bfd048334f1158b30f221bdec10bbef2d07344e8a35d4320ba8b991006263a6b764932cdc7e4 SHA512 bfc3a7493c208b35b42f40867286a6b3d97bda1c45983379d4223df31291e046a1214df1f88df2cb6558cafd8912cb8f0bab99a45899321b128e729ad03b9493
-DIST rust-1.56.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e0ed39db46b40631f69fa379a04ec37ba314587a4f081aa1f3251e01b7221ee8732b668cfcc4c24c1a3950f3f8dcfd542a1a73c603cea545b812d5d3a9527055 SHA512 3e9d0b159684a496e29c9e40af11f16f5ef5cadd8bc4852018a953310e77a4e29db6c14ffcc86198908aa4998550c83cfd3f2cc42e007122d56167d664776c44
-DIST rust-1.56.0-x86_64-unknown-linux-musl.tar.xz 255010720 BLAKE2B 286e91cbf001de6f888bd82139e6711b32f03d45c599f26b01f60222d98c3521a1933b3b9b7f8c46fa79d481780dc8dc47e5e24985b721a6998d620b446c38b4 SHA512 fb5a914a25ef3cb39393207a75c40f1313740167062feb4cda4084e738f4e93a51624a8a9591acc18553cfd6e2e232984c8c84acc3dfd77fbe38b17085850881
-DIST rust-1.56.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B bb7cfc775c1c44569276e687028e9a7ffac31577310052d9c354179a541ee13b0ca00a025e994e03ab17086d0abe6dda6845ed1cb10879425439c7651bdc9269 SHA512 cb23d98cfb1b59fcccaec575145b6f38846f3f49b16a3be199b06d6198b1db13720157ca65a01f6ef76abf742507bba39776d130f0fd03aa228acf5917457f7d
DIST rust-1.56.1-aarch64-unknown-linux-gnu.tar.xz 223440940 BLAKE2B 9b4256943c4f5c8be83a81bbeb5f61d80b97c9925a2a2a47d8952530253f0e3e85363357a3cef9c425217a8b9572d4f55df3839640a24bf5b1e3c1dc8323f2b0 SHA512 1e612617206f0cb49ddc24352b8c8d344ac4613a71c59532e8df78189fd2ff13d71e4b1fa433e06e4af9b50292558b00f2118ffb8efff31359c28ac2fd5f5044
DIST rust-1.56.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 008a4eebe92b3403f863ab7bbb023292d267c6084513104ed1d6f401a806abbe3c97a4346d2b01c2c78ea0efd44292fe563f5a7cde959e23b309f492d388d04f SHA512 09180d201ed196105651d7fbe009df96a333ef2326309428db0b10b2c7e0a8fd3e013a63b287e27e7a04441f70cd5ff8abb8a32ac109495d9c4aa4f80ba777f3
DIST rust-1.56.1-aarch64-unknown-linux-musl.tar.xz 220094692 BLAKE2B b70936cfe4af636cee40bac700f043b1839bdd6f547eb3e9c781b51fb6ab426dded80ecd0c347a9c13d6930041a674f6b53a335a1be538d801eeebee0d98b3fd SHA512 ad9e0725bf570e04f5f439b231480b26a1cbd75eb770397ce2872895ff5705a5025eca06bfe6a60247b7071b0bc810bebe30f2ff99a68a252452e058c72d535e
@@ -224,11 +160,9 @@ DIST rust-1.57.0-x86_64-unknown-linux-musl.tar.xz 260333980 BLAKE2B 75342ae86373
DIST rust-1.57.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 506400c3ea70469cbda0e492e85d41b7f94fba790ec19d1c3491bf4a00d283f97c8fb37319ad6c4a43b22a2195c21d1b9e3c16a5b2a9a82833ff61ad49bdc793 SHA512 793369dc7a854c48a72d81446a0c8eb9d83a071af77758e0bcbb8e4d518fb87c5a23c085202b9b427a02bdd772ad9c82724b34295b851f26f384c3e801bf9a04
DIST rust-src-1.56.1.tar.xz 2456408 BLAKE2B 19cd9ac0c0c57d077e2a62e6ef202cf8f349582870d0acf28b105278da611e3e3884b1db59cb43c1a13c8f0ff546f83f8ac30783e46f99233a0a81df04dfd359 SHA512 6ebcb7e641031b269af244f0a14ef23c5a6c324d8c9f8f9ffe3b1802fb2aad522b10544f6c29789950dd2a9fe7cbbdb6587f793ec8f53881e707734bbaf3a3d6
DIST rust-src-1.57.0.tar.xz 2536924 BLAKE2B bdc8bfcf6ee3fbd0be3b9bf1ea8faa34bb45247d35bad5a7c5684f74ce061de3399d05209cabd18d01c7f73703c5e11cc49765fd7a0230e95484922e96e187de SHA512 24d86a7e1f8cd63b9571003604374cc251c575ce351253cf5ce676f34fa8aff574bc9e305de0d62b42a0d699e792fc072867981908ceebcd75b2bd6aa71a0867
-EBUILD rust-bin-1.52.1.ebuild 5663 BLAKE2B 7d8c925c990e172264fd491b937c29b2760fd83931e5078fe91a4d3f2cf71d958bd5c6032aef48d38e5d7cded9d82f8f7629ac561ffb967ed329c06440576da4 SHA512 8e97bfbbfad8aa0cf30e8aed0630135e246de7af9c2a2ae3eec581bfcf6bd51031e7c34916e8eb05c71f7526465529af357ec184c12df430e252b70c09152a31
EBUILD rust-bin-1.53.0.ebuild 5663 BLAKE2B 7d8c925c990e172264fd491b937c29b2760fd83931e5078fe91a4d3f2cf71d958bd5c6032aef48d38e5d7cded9d82f8f7629ac561ffb967ed329c06440576da4 SHA512 8e97bfbbfad8aa0cf30e8aed0630135e246de7af9c2a2ae3eec581bfcf6bd51031e7c34916e8eb05c71f7526465529af357ec184c12df430e252b70c09152a31
EBUILD rust-bin-1.54.0.ebuild 5668 BLAKE2B 50f3bb8ee1fdf8de437a23417d505fa70df8caefc344f0f5cebe65206a59e8d0ff9c5855a852d9fa37c68294888f8f6ec1f1ca2d302d605c74c059dca9feffdc SHA512 5f54a746eb812df5659115f23b82488f7797177afef6e8b8047527f4ebee6862a5f5e83fcd9b9eea04f953bb773025fe6028d170077a2fa6e4e5519959faefbf
EBUILD rust-bin-1.55.0.ebuild 5668 BLAKE2B 50f3bb8ee1fdf8de437a23417d505fa70df8caefc344f0f5cebe65206a59e8d0ff9c5855a852d9fa37c68294888f8f6ec1f1ca2d302d605c74c059dca9feffdc SHA512 5f54a746eb812df5659115f23b82488f7797177afef6e8b8047527f4ebee6862a5f5e83fcd9b9eea04f953bb773025fe6028d170077a2fa6e4e5519959faefbf
-EBUILD rust-bin-1.56.0.ebuild 5668 BLAKE2B 50f3bb8ee1fdf8de437a23417d505fa70df8caefc344f0f5cebe65206a59e8d0ff9c5855a852d9fa37c68294888f8f6ec1f1ca2d302d605c74c059dca9feffdc SHA512 5f54a746eb812df5659115f23b82488f7797177afef6e8b8047527f4ebee6862a5f5e83fcd9b9eea04f953bb773025fe6028d170077a2fa6e4e5519959faefbf
-EBUILD rust-bin-1.56.1.ebuild 6400 BLAKE2B 6480726b29ffef33d23861b33247570f762be534a26fac6a2cec980aa134ff80db856fec5e60c16fa4b29338ecb2b75292522bbf2614be14a97b4c87707b3019 SHA512 35ffcd88fac18078b133b06c1707c8d91a6f063e7014cf3a372a473b6640d03aa9001337eb20fa7235372517652f27c725cb343684bc43f2d2aee9aa0f3cf909
-EBUILD rust-bin-1.57.0.ebuild 6405 BLAKE2B ad5c2a9ea2b11351473669d6c63a35d45cb75474fac186c251978afe787fd565f21cce1222f1522daf53f1418050409914c25b7be927a5d0bce509d499e4138c SHA512 44cef4e4832c276335185dbe05a71e1bf1470d6c3464ff845538fa3a5b8e6388ecbf7404b75553ba86aaa3ab9df62b074bf1ae1b5dae36aa52554419be95e1ed
+EBUILD rust-bin-1.56.1.ebuild 6409 BLAKE2B bdd041bb43b53a2d2f736c8286527d544239ba129f95723422511e11f807421a7d635c4baabf462252374ab683439196d4ac18b0e1586f87ece8a9be27c00002 SHA512 b29523f0cc6f8de14f7c673dd6f68b7145370452d8f0f67da192684100440e3e9a7eba9120ae483a561df5e8240caac5351607f581b172ca37f6599fc6a57c0f
+EBUILD rust-bin-1.57.0.ebuild 6414 BLAKE2B 2c95a0d1bba830639ae54a4ab39122c9f2494d25d1beec97fce75f319f1ed6c512c02631a92337eb3fbe384f91febd16b3238b5038173002ffe1b97cbf1c7878 SHA512 f066243ca6394fce096fe054a8579149de2ef4b33f6918519ae5cd476e48f45bca61efee343a69cf5d9e90e980d4ab864eb2502ddf24a53213251889c931a839
MISC metadata.xml 591 BLAKE2B 6f9d494e400400b8b957eaa3c242b5f096808cc8372360eac0d9ae4bffcd2aa75b35bad4acc7248543b08466d8616b0145ae8a9b1534db1ad5ee838f07f9dc51 SHA512 9f59ea60d8ec9b748eac0789fa6750f32e4867e1c2cbe106ce270acdb7306d40fe8754315f8c65a924af43d5b3e88f4f50dec6361299de80ef1a25665aa03182
diff --git a/dev-lang/rust-bin/rust-bin-1.52.1.ebuild b/dev-lang/rust-bin/rust-bin-1.52.1.ebuild
deleted file mode 100644
index 840d1de084b9..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.52.1.ebuild
+++ /dev/null
@@ -1,192 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1 prefix rust-toolchain toolchain-funcs verify-sig 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 ~ppc ppc64 ~riscv x86"
-IUSE="clippy cpu_flags_x86_sse2 doc prefix rls rustfmt"
-
-DEPEND=""
-RDEPEND=">=app-eselect/eselect-rust-20190311"
-BDEPEND="
- prefix? ( dev-util/patchelf )
- verify-sig? ( sec-keys/openpgp-keys-rust )
-"
-
-REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
-
-QA_PREBUILT="
- opt/${P}/bin/.*
- opt/${P}/lib/.*.so
- opt/${P}/libexec/.*
- opt/${P}/lib/rustlib/.*/bin/.*
- opt/${P}/lib/rustlib/.*/lib/.*
-"
-
-# An rmeta file is custom binary format that contains the metadata for the crate.
-# rmeta files do not support linking, since they do not contain compiled object files.
-# so we can safely silence the warning for this QA check.
-QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
-
-pkg_pretend() {
- if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
- die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
- fi
-}
-
-src_unpack() {
- verify-sig_src_unpack
- mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
-}
-
-patchelf_for_bin() {
- local filetype=$(file -b ${1})
- if [[ ${filetype} == *ELF*interpreter* ]]; then
- einfo "${1}'s interpreter changed"
- patchelf ${1} --set-interpreter ${2} || die
- elif [[ ${filetype} == *script* ]]; then
- hprefixify ${1}
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
-
- # start native abi install
- pushd "${S}" >/dev/null || die
- local analysis std
- analysis="$(grep 'analysis' ./components)"
- std="$(grep 'std' ./components)"
- local components="rustc,cargo,${std}"
- use doc && components="${components},rust-docs"
- use clippy && components="${components},clippy-preview"
- use rls && components="${components},rls-preview,${analysis}"
- use rustfmt && components="${components},rustfmt-preview"
- ./install.sh \
- --components="${components}" \
- --disable-verify \
- --prefix="${ED}/opt/${P}" \
- --mandir="${ED}/opt/${P}/man" \
- --disable-ldconfig \
- || die
-
- if use prefix; then
- local interpreter=$(patchelf --print-interpreter ${EPREFIX}/bin/bash)
- ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin"
- find "${ED}/opt/${P}/bin" -type f -print0 | \
- while IFS= read -r -d '' filename; do
- patchelf_for_bin ${filename} ${interpreter} \; || die
- done
- eend $?
- fi
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-gdb
- rust-gdbgui
- rust-lldb
- )
-
- use clippy && symlinks+=( clippy-driver cargo-clippy )
- use rls && symlinks+=( rls )
- use rustfmt && symlinks+=( rustfmt cargo-fmt )
-
- einfo "installing eselect-rust symlinks and paths"
- local i
- for i in "${symlinks[@]}"; do
- # we need realpath on /usr/bin/* symlink return version-appended binary path.
- # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver>
- local ver_i="${i}-bin-${PV}"
- ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}"
- dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}"
- done
-
- # symlinks to switch components to active rust in eselect
- dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}"
- dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}"
- dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}"
- dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}"
-
- # musl logic can be improved a bit, but fine as is for now
- cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib"
- MANPATH="${EPREFIX}/usr/lib/rust/man"
- $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
- $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
- _EOF_
- doenvd "${T}/50${P}"
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-_EOF_ > "${T}/provider-${P}"
- /usr/bin/cargo
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- /usr/lib/rustlib
- /usr/lib/rust/lib
- /usr/lib/rust/man
- /usr/share/doc/rust
- _EOF_
-
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
- echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
- fi
- if use rls; then
- echo /usr/bin/rls >> "${T}/provider-${P}"
- fi
- if use rustfmt; then
- echo /usr/bin/rustfmt >> "${T}/provider-${P}"
- echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
- fi
-
- insinto /etc/env.d/rust
- doins "${T}/provider-${P}"
- popd >/dev/null || die
- #end native abi install
-
- else
- local rust_target
- rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
- dodir "/opt/${P}/lib/rustlib"
- cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
- "${ED}/opt/${P}/lib/rustlib" || die
- fi
-
- # BUG: installs x86_64 binary on other arches
- rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die
-}
-
-pkg_postinst() {
- eselect rust update
-
- elog "Rust installs a helper script for calling GDB now,"
- elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}."
-
- if has_version app-editors/emacs; then
- elog "install app-emacs/rust-mode to get emacs support for rust."
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- elog "install app-vim/rust-vim to get vim support for rust."
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust-bin/rust-bin-1.56.0.ebuild b/dev-lang/rust-bin/rust-bin-1.56.0.ebuild
deleted file mode 100644
index ba15f9c018bb..000000000000
--- a/dev-lang/rust-bin/rust-bin-1.56.0.ebuild
+++ /dev/null
@@ -1,192 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1 prefix rust-toolchain toolchain-funcs verify-sig 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 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="clippy cpu_flags_x86_sse2 doc prefix rls rustfmt"
-
-DEPEND=""
-RDEPEND=">=app-eselect/eselect-rust-20190311"
-BDEPEND="
- prefix? ( dev-util/patchelf )
- verify-sig? ( sec-keys/openpgp-keys-rust )
-"
-
-REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
-
-QA_PREBUILT="
- opt/${P}/bin/.*
- opt/${P}/lib/.*.so
- opt/${P}/libexec/.*
- opt/${P}/lib/rustlib/.*/bin/.*
- opt/${P}/lib/rustlib/.*/lib/.*
-"
-
-# An rmeta file is custom binary format that contains the metadata for the crate.
-# rmeta files do not support linking, since they do not contain compiled object files.
-# so we can safely silence the warning for this QA check.
-QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
-
-pkg_pretend() {
- if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
- die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
- fi
-}
-
-src_unpack() {
- verify-sig_src_unpack
- mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
-}
-
-patchelf_for_bin() {
- local filetype=$(file -b ${1})
- if [[ ${filetype} == *ELF*interpreter* ]]; then
- einfo "${1}'s interpreter changed"
- patchelf ${1} --set-interpreter ${2} || die
- elif [[ ${filetype} == *script* ]]; then
- hprefixify ${1}
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
-
- # start native abi install
- pushd "${S}" >/dev/null || die
- local analysis std
- analysis="$(grep 'analysis' ./components)"
- std="$(grep 'std' ./components)"
- local components="rustc,cargo,${std}"
- use doc && components="${components},rust-docs"
- use clippy && components="${components},clippy-preview"
- use rls && components="${components},rls-preview,${analysis}"
- use rustfmt && components="${components},rustfmt-preview"
- ./install.sh \
- --components="${components}" \
- --disable-verify \
- --prefix="${ED}/opt/${P}" \
- --mandir="${ED}/opt/${P}/man" \
- --disable-ldconfig \
- || die
-
- if use prefix; then
- local interpreter=$(patchelf --print-interpreter ${EPREFIX}/bin/bash)
- ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin"
- find "${ED}/opt/${P}/bin" -type f -print0 | \
- while IFS= read -r -d '' filename; do
- patchelf_for_bin ${filename} ${interpreter} \; || die
- done
- eend $?
- fi
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-gdb
- rust-gdbgui
- rust-lldb
- )
-
- use clippy && symlinks+=( clippy-driver cargo-clippy )
- use rls && symlinks+=( rls )
- use rustfmt && symlinks+=( rustfmt cargo-fmt )
-
- einfo "installing eselect-rust symlinks and paths"
- local i
- for i in "${symlinks[@]}"; do
- # we need realpath on /usr/bin/* symlink return version-appended binary path.
- # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver>
- local ver_i="${i}-bin-${PV}"
- ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}"
- dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}"
- done
-
- # symlinks to switch components to active rust in eselect
- dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}"
- dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}"
- dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}"
- dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}"
-
- # musl logic can be improved a bit, but fine as is for now
- cat <<-_EOF_ > "${T}/50${P}"
- LDPATH="${EPREFIX}/usr/lib/rust/lib"
- MANPATH="${EPREFIX}/usr/lib/rust/man"
- $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
- $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
- _EOF_
- doenvd "${T}/50${P}"
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-_EOF_ > "${T}/provider-${P}"
- /usr/bin/cargo
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- /usr/lib/rustlib
- /usr/lib/rust/lib
- /usr/lib/rust/man
- /usr/share/doc/rust
- _EOF_
-
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
- echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
- fi
- if use rls; then
- echo /usr/bin/rls >> "${T}/provider-${P}"
- fi
- if use rustfmt; then
- echo /usr/bin/rustfmt >> "${T}/provider-${P}"
- echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
- fi
-
- insinto /etc/env.d/rust
- doins "${T}/provider-${P}"
- popd >/dev/null || die
- #end native abi install
-
- else
- local rust_target
- rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
- dodir "/opt/${P}/lib/rustlib"
- cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
- "${ED}/opt/${P}/lib/rustlib" || die
- fi
-
- # BUG: installs x86_64 binary on other arches
- rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die
-}
-
-pkg_postinst() {
- eselect rust update
-
- elog "Rust installs a helper script for calling GDB now,"
- elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}."
-
- if has_version app-editors/emacs; then
- elog "install app-emacs/rust-mode to get emacs support for rust."
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- elog "install app-vim/rust-vim to get vim support for rust."
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust-bin/rust-bin-1.56.1.ebuild b/dev-lang/rust-bin/rust-bin-1.56.1.ebuild
index d5275329d2bc..d427cda829c7 100644
--- a/dev-lang/rust-bin/rust-bin-1.56.1.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.56.1.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-inherit prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
+inherit multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
MY_P="rust-${PV}"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
diff --git a/dev-lang/rust-bin/rust-bin-1.57.0.ebuild b/dev-lang/rust-bin/rust-bin-1.57.0.ebuild
index 4607e5e109e4..b6a3773b9871 100644
--- a/dev-lang/rust-bin/rust-bin-1.57.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.57.0.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-inherit prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
+inherit multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
MY_P="rust-${PV}"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index fbfdfb947be5..e3378414e725 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -1,43 +1,10 @@
AUX 1.47.0-ignore-broken-and-non-applicable-tests.patch 2862 BLAKE2B 96363bfcaf3634185160d54f475711409c5af1e31b8deb3f1cb8650629eed6f4db6b8d758b84055c9ebe2983a213485f9d4d6de4f551ea1e3d122f7c3baad77e SHA512 4a2c7eab2d3930ba6d8bc042f52c993683a3e21bf023ae609bfb4db65df8c5750ce94264d6ee9196e4dfd3b3e204f10c70d6f3a2e752d0b373fee4ada4c5fe53
AUX 1.49.0-gentoo-musl-target-specs.patch 6377 BLAKE2B 07e037353210292bc576ebbbda2afc489efeb696dffb34b4c5edffbb512b0ba5944cf641e625dd8a158cc7234b70d49d377397aab8cb9a86b4ec6f5a50a6cba6 SHA512 e166d4ed3e321257cef03655be98915badef432de10aa2bde2a4b9f1913dbb774a29a72d7d2861f69d02a37fd9f7c753c551a3e65fb7da4dfa78a8601eab8d38
-AUX 1.51.0-slow-doc-install.patch 3408 BLAKE2B b4fc3512a942e5425ebc9fdef5a23ea1d5c9515a8f00fc4a4f54af8c978bb81ab64d44650cb1a48e7cb87d87bc43905e4d7165b6f2b49614cf3c3d5e627b7c76 SHA512 5f2dc4968cde7ec7c47dea5c0db4d603def69dc81fdad051fd175813f2496cf96b6d042076641d170bb544fcd64b73197f4afbfa2603b27448790680afc2da6e
AUX 1.53.0-miri-vergen.patch 1962 BLAKE2B 0ee4adaf3e7dd85da66a9b2de0acaf430ee1143e6be07ebcb544e631429ee8e3bc757904a7e70cfad01d396c11588e557496120ab7e281b9d028921278662471 SHA512 e2dc727f32963fb1a67727dfc9f3142d458b4c39df492446c5793092e033a2851e0a68a3d9e1066a284822efb3ce0d8d6b604bd18e05e81d361dcec623524ed1
AUX 1.53.0-rustversion-1.0.5.patch 13732 BLAKE2B af345fb7fc8bb3ab139ed0e14819b0e000a1a525703c11535594695151640fe360a089c460a7f1219f0b8010979d73de55fbdd223f32ba7ba296ed16b048ec13 SHA512 ec748dd5a0dbebadae3e98bbef40338cc945180560586ae9aee7a1ec7e94e7a061ba3f3760f11e8061accfab908128d048aa834da5e34387dd0bb0fc16e82af2
AUX 1.54.0-parallel-miri.patch 1707 BLAKE2B 131daebf9a1a1c454adfb61ce781204cb3f78f1bd2d0985fb76a9743a5f74ba8504845110a8fa624ebb9fc03bfede6bf3b115d706788af76d4baf2234056c006 SHA512 934bc8edb46d4367328a522fb83f020e2fac09a6a373482e8b2110383725f4733c500045bcb6119d4fdcc5367401a5ca787fb2491f6bb5b25c41897adf66fd88
AUX 1.55.0-ignore-broken-and-non-applicable-tests.patch 2895 BLAKE2B cd2fd9b237786f187afe8d60e0ee6b9d1451233d554ca168e2f9d2a58f775c707d4d0a04899f8884152c3064689fa3fa31716f3b77e0002136ca7348c63e415e SHA512 993028842080ebc158ffe08f78315caaefa28958d890147286b53965eccff4d21f2edfcee153a2ceba03875d6bb03a2af7acaeb2deb8ccb7a5dc17cdffe73f0f
AUX 1.57.0-selfbootstrap.patch 1855 BLAKE2B ae532dd452011f00c1d5fbae7187a487a1f485576e11e548c5940f81f0e27822f1f566a42099e264ab43f01aaa0326e3f46db9d85d788b9b0607850cd2ff8c35 SHA512 bb0ad6d022bdb9c28faa9d1b059b45cd5c958e4a368b68c9720ba4207c257156f6243397b2493873bbd646ceb260216a0ae630e34f92928c305fe4ea87e4e7d4
-DIST rust-1.51.0-aarch64-unknown-linux-gnu.tar.xz 208849064 BLAKE2B 1570536f63237ce04222f78c8c1d0592b3d0bacb62e2a1e2b87f9cd74c8d304837f9259c154e6ddfc5d0fc36c1d69aba34cb27d41346d4e7400ad1950ff19f8f SHA512 2af31290e1065a4611f34e6cc8c62ee494c222becfb21ec6707059c119069b0adf0eec23e56bad4a3cc8690b2556309ec58cbd9003a959983689cc46c7c63361
-DIST rust-1.51.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B cc2cef574740ea5eb632235dca2889a7c6a6941169ac011d3a888cdefb8e5a5af5bb9ade93207ccb6adc82eb6ae1b5ed605954cea2561163c538fcbbcdb647f8 SHA512 43abb6e19c1ca905cb2d047503f4473584e06b8daecff3b6e45ac93dadc2c7f37118e3b66124180a9951b2f5eedf212174a37c661a7775600bd200eb089801f9
-DIST rust-1.51.0-aarch64-unknown-linux-musl.tar.xz 209607568 BLAKE2B 8a8d677fac5aa68be8b689bd999894f0b51910d50d86d70db4cc9b60695703dd74b68578b72d9d410d2d163aebd3fbab0993ebf79486a103ef588cb849dc2038 SHA512 d7ca480f4e07f88a49b475d2fcd132126defff21c26a665d1b444b97ce5e44404f9106bb844a5e35d4933a51c2d8a5aabc8ee42a2515c02a559c81937920be4d
-DIST rust-1.51.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 0759b58a1647b0c0a29fc295edb31e793a0688d6a4b6eb8febe4364421f53cd1f4c0555abf7c8d4fb25bd7c15c9aeaa8d520390d8d3b61c213a591ccee7b9887 SHA512 bc2135b94f9c4e7b2616d886e84a268f52404abed2b827bdca5ab8f98071801e171234f18aa27a367b5dbd0df0e207b0aac8a30be59fff807ff70f21279614e2
-DIST rust-1.51.0-arm-unknown-linux-gnueabi.tar.xz 194362256 BLAKE2B 20c1559d3b1f32c9ca6f5e9740dff0d9fd859be33ca58d59733fff1566ed0b75dd398facbcd15c8d7c862bee945198b0235973d5f683fd78f82cca52429b269c SHA512 fadb5084152b6fa148c1d584c8ba766201012c0a70bdf273f5d4b89b249d7f520997b12809a0db68c9d1d76283fee892f83b6ef687cbb025c08960ffff7e5eea
-DIST rust-1.51.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 546fad9428e7261ef78e92d6542ebcd2b1b11c54bb4dc1fbcb7ca622551e6b4fc443f16305f9f37572ff2f24e5dfab491fadf3a128e009c77aa0218b271bbe5e SHA512 580954dde6e5a89a9a16d0b93570275e81f488f0a77952cd4e3878894f9865f2a128bac2aaf0567ffc9e7cf9809808088a819bf7b0e54d8fa6224abe677d1732
-DIST rust-1.51.0-arm-unknown-linux-gnueabihf.tar.xz 193918308 BLAKE2B 6799652205422d96c95949a4afa8a321a8a4e0cd42543f321898fdba5b27bb645f9eeb50edb63a43902cc74026a786c12a22af67313bc6ac0843b1e638077d64 SHA512 cd0dba1ebdff9692aef0026d94da38ba7856b64004404b75d0d385b8f9f53eed1ddd0e900e49cda60fc5190fe305d96f6f00d0053f4409479ab991fafa90338c
-DIST rust-1.51.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 41cad50cdebc0cb4e59f6c914b30b071dd7a70b6278c03a7349eb51a9ec6976fbaeacaea96f13e8ad91a283a3de4f548cf8e352179359f5697520813bc47e274 SHA512 d74a183dba390ea053ee746575788481e3970572e61b7b55acff521c8f4a9da5a3f4e3feff5c3b26162acdc00eed1c4240a4fbdcac3fa117455ac49d8ce62985
-DIST rust-1.51.0-armv7-unknown-linux-gnueabihf.tar.xz 197028040 BLAKE2B 801526d0fc9cdfc25a63227afdfc1bf9e0e6fa0b80f6306d86b68ca16adf4996b755b6ade1a4e898bfaf25565b5b49a358a9ed364bfe5d67c308744814a843de SHA512 c602dcc7fd1343b310f5e3074bf63f2428ca7c15cdce8999fa4655de5a4bda5a13255fc12bee3d0632f6cb93220a883fb36d24061dca6795d23afa9f8fdae57f
-DIST rust-1.51.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B dd94fb91fb6dba9788b178ea74b73c0df78f496d6f57382969836ade9aacda1696f363c4cef8126426040620ef934a2f2681d89d5e3a703d9114d8d152abb6f8 SHA512 40a3f61341ec996650b6e4e8552007b822b7990b2154483a7d7a7dcbae4eb2913d4ffb5319037256ff5931ee01320d1c3ce307aa7c9fd90a782646de4edcd2e9
-DIST rust-1.51.0-i686-unknown-linux-gnu.tar.xz 213348860 BLAKE2B bd6c1d5ce9f20b961e3db8c69b022402acbdf06029e0802863292bcac89b0f88e6e6d02f625be52e8753d772aad8ac01125ff6832072b5d3d41a9ec7bf5c6a6f SHA512 05d08e44827dcba8197667deb9a7f3584465085ce1b79a38deb138849a07c716646a70f1cc2cee02b41c45ec7c3a3b7800a3fae62ebe04d6f72f017a5d722bab
-DIST rust-1.51.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c09c5ce8df8834758cf8049872142104023af24f31a2efc97ee201e6b2db56c1b7dd1baccd608ca1f3de416efd162408a01170fff9b7070cac80df32fa30012d SHA512 6aad34b773cfe0ec30f80dacb7482247515ed1e7025a322d22ce7a2b1a6dc49929f71b9c3a6bd05622b70dd8f37fde5cc809ac32c4724b98098630158dddcfdf
-DIST rust-1.51.0-mips-unknown-linux-gnu.tar.xz 155944968 BLAKE2B ab9ad78f147b439beec9e92e643cc48814666c5e8fa244981d0919237844006aa2879a4058145d0bdafe89793402e65982d9fd3f0c6253f6a1805bf3381b4caf SHA512 378cfacfc66f1e8a4aeeb3715db9d3cefb4582db8a3b8fc62f05ac50a16db302b250c1696605c17cebe75923010b361b3a9883f7567a26cdcd60fc8379d2d7b3
-DIST rust-1.51.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d072b66f210244c3cb534a040679ee5c5433703fe309a05565a91b4cc8fd50b0e09320067dc48a7255aa0561ca6029fcab3ef4b782f40097a9646c5c77727344 SHA512 c7f1789e577c89397c59e288d2351fdb08bb9626df9d2a4d15c13a1474b67f8474be27d9f8a13fb55c53f9a17e47825b84473f487fa3866a8e30e4141b26aaa6
-DIST rust-1.51.0-mips64-unknown-linux-gnuabi64.tar.xz 161859704 BLAKE2B a60484b7d009633763f10be8affc33715992f6eee5643d147078840675c900be0ff7f9bd985680836dc7d8467d7d118863cb5bed0f85bb135f0e352318946f32 SHA512 e99437a1b79e8821f6c1eaea92a8c5348e6fb4aa1a4fecbfecc950bf71fd7cd58712d336a67e00f95554bb01565f1daa1221699e142e9e673d8ce2cbb8910008
-DIST rust-1.51.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 85aca04845291448d9ec9c5b37f556e890155574982496d8967829b56b3c4caab1aa40c71e007392a05337ca917a70aa107007cf5c73c8eb8fa95bbcb6f7debf SHA512 4ebd8e0bad5c66a12bfb606f6b28aa63430af5e6344ce91d2be958f1f479fad0d5af6a53006999a321cacfea50fc623629f633f95ff747790c2702aa8dfe9c76
-DIST rust-1.51.0-mipsel-unknown-linux-gnu.tar.xz 159164156 BLAKE2B ccccc1e8abf529f9f023cd793dd78c9bfece359a770e03cfae808ac017ae0171ca0dbabb870c5ad57670a9ec562c393d2ffef3490e46423420be6a9a20cc8937 SHA512 31aecea3016e30dd610b610b86ec23f9832061abfbc55c7e43d942d4b0e8e521aecb37306bdb4a810ddcfc4e9d9a6cf057d6802d053ce9abf1cad401b6440d67
-DIST rust-1.51.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e61e17518d7d326f188b84855b771c7bc2d7f23347dfadaf0783b4fcbb7dfd233ed2262c6ffa75b55baee7e83e94b5c47d24b937e540c6a2892b20d320fcefbb SHA512 e0ffb031f600a58a2f7a76b1b26f5453e9de4d4edf6652d75d0cdd92e4495844601d56b521482e172c72b7463ab667ea65e610baa4f68c5f59333dd8f3cf1155
-DIST rust-1.51.0-powerpc-unknown-linux-gnu.tar.xz 167534676 BLAKE2B 5c74ebaf5d5e736bbfb8d963faff6d0fa5725017c738c4a5adf4b4e8c812ff8234b9e03e1a6ba2b6ab718469541e8c398e095ae22f155ccf9290e50ae0595a52 SHA512 9984e464a4e7d18042a8a2d99d26c4436a0ae2b2d281d5c8a42aedb0b78ab5e72f2392ea96e84b2f5892d772d28ee2feb89636f8d1a060a30098faa4e7f259eb
-DIST rust-1.51.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c8ee6ea39b19cb160527145aeb32206eef6665df1e2c3ce690a136ead20b8114a5806b209a926da7608ffce94e6d65910b7a282cb353345a83a8e2b589df489f SHA512 886c62e4592568ad7b966f933641236ce59a037b65a00e0bfab6d2d6bb62cf994cdd8e392dd2f51b9c958e4e3c0c3763b9dec6be5a4faf27aac5d8d0a225abe2
-DIST rust-1.51.0-powerpc64-unknown-linux-gnu.tar.xz 182726600 BLAKE2B d9051eea2d9486b6b4d858a3f6730210de5aac958853de82b3f822b3e0decd1b8a9a9b371b250ffde9ac19be4ccbe09e58c51a78b7e1fb2dd48e61c8a902e5b5 SHA512 4c1864a81d4c32bd95e0381454beae2a1d5b4cb47196821e64fc261133acfa2fa1e514dd6cdb68551559c4da2a2483edf5c6c14246adbea85c3027f88d401e06
-DIST rust-1.51.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e1fe8c5764cb11f722893c7efcfb76d5f17ee80a104ede360fedbc8cd1e2996246e0a770959398a524ae55bdfb075dedb2c2583816bd3de28034dddbf248a54c SHA512 3b7e3f15f5a2a4876175a26d7b4332d4a6847a565d5de4c2cb67c52cf26308215286777ea9d89366543ddd1ce353d6a920153549b6641ffeae8e9954470aecfc
-DIST rust-1.51.0-powerpc64le-unknown-linux-gnu.tar.xz 192084372 BLAKE2B d127c1827956c7594da5b69346168504b22726e176f03172b599e0a0fae2400e273684090f1d0fd05c33f193b3918c98ccd64c3647b0577b51431c3409083b2f SHA512 b53a741d1d75637fb31ddb0364e1f91427c3818ca145f819b906d13c32c638ae77fbaa567a6220b6bf69f38cc00d2b95615778a86f4acadd63efe2e62b1b01ef
-DIST rust-1.51.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f79f8e1ad8cb0dbc6e1cb45fab2bd19a03d1939518529841155e7a00d9a42e3eb2539ae424c68af7140399a2b37c6ff5a00c55f0467ce4acf6fd7b1ddf525a63 SHA512 785ab118197d53b5f4512cdb07e6277c9ff58b9e53610dcce1c9f928cac8a20b1fbaaa7acad8cbe4370a3fe6dda5f726e8021e8987688a9ec242f73ed8d12adb
-DIST rust-1.51.0-riscv64gc-unknown-linux-gnu.tar.xz 179131092 BLAKE2B 1d8cc335cfc434871e1916793974eabd14fa96f49ee9b0f9ae004326c405dbadccd0249ff28dddfecb9921cae4e886f4114a8221e09fd7944f2d2e96bdb12bd2 SHA512 7fb76c3ddc952b43320bf3497d890ff79aa5634df22f38958835cd1d4044bef44257af22d7473675afb42a7c2fc9ac713f210d6bfe1e61ed56d5265f58add540
-DIST rust-1.51.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b0cbee67d6bc37ccdcdf2c563667f3b3e4ec7377e5c86b627cfbbd7385425508778bd67887f46067476ffbf3b5f2719d6b5490d2fe5261db5e7f4da4bbc94be1 SHA512 fdf1ed20eec719435a557be8e6bf6766b0b56e27fa49c65b2c412875a1c76919ff6d6a4d8d14bafa8aa96eb42deca65869db6ca5d2b61a84a0af07dbeb1e9ae9
-DIST rust-1.51.0-s390x-unknown-linux-gnu.tar.xz 191632144 BLAKE2B d1690825f59e8ed1ed4855556ff36c05efbc941097744e31fd9207309087d53880d418f737aa0cb9371b973c9c3d56f05ed03533df04402242194ef13b8d608d SHA512 a72ad31c6306f939c4f963133ddc0b3fabc9e506bdff5e318f5275658b7271a675a51d208d306d94fb01739cbcf0f62f018fc7490ca6db54b301852202749d16
-DIST rust-1.51.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 355e753ddca453ca36a8c1e4f361e9655bdb54f856a642be3d4024772266ed1771a2673ab1026c64bbf7ac8d1fc30fb1924a939cc3ea290e98b137edb48bbf6a SHA512 89bf145b8e620eac99b0fe4a79ee205a04550c664bba1e22a7611ef37736cca3cb911ac89659126e0c6fa60e4dbfdf0dd54a8693e496d4c37e4f7d3f518e2740
-DIST rust-1.51.0-x86_64-unknown-linux-gnu.tar.xz 147543532 BLAKE2B 44ac97f6b650e65de257b362121091176e02fac60aa534ec83ddbc4e16eb32f7a4a7999cc28eac446f5790572552fee5c2589350cb6d159a946d90007d85c7db SHA512 9f95045119bcd5ef7be54f5b5bdc9ebc6bd6c48437d90762a1cfbc03281882f81087e1877eecae9573ba5e7cd7c11ef5fed979034c57f45b6547cbfeb11eef6d
-DIST rust-1.51.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 033c41c165cf50a63479d1352a33abe94a63d9730f02016d09bf2e8a8804587d4fc802c047e7417e0befca2d5df5ca8c79a714ec1c1fb389240b6e8931fb9e9b SHA512 e314a7db9aaff445b67f828bf9a98705032071928e2102524c0c720a3b8feb292b8c6766838b92da2d213e93bf53fb780fc856b0370238fbb7e20431d2de6d5c
-DIST rust-1.51.0-x86_64-unknown-linux-musl.tar.xz 233773068 BLAKE2B cc9de90b967cc81005ce5c897d3fd6dc4e3880be96ac82c41382d19a8aca0244845830db7a33eaef85b6bdef0c00ae02c0390db932fa49f76e362af2c68edb56 SHA512 d8df3c4c3de435629986e21bc6b31edfb73cba394e76cf87ee98d2936f73aef60c988d020da7ec1188f6448eacad9d5aefed073f4f88ffa2eaac54ac7e3cb3f7
-DIST rust-1.51.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 2e2c20fe99b33e5361b1945f54b77d5e8acad34d1be9cadfd1971b2882e38bc4403a5a67769a74fdd7ab21434784f03084780ef827e26318168bf5d531f9e9bd SHA512 42392e8283a28d58d4874dbf97caa0377f27c6599c272c715fcdefee48551004d491f0509f2894f5696a2820f11dbb333e3bf878cbdf24b0c58add4a493acecc
DIST rust-1.52.0-aarch64-unknown-linux-gnu.tar.xz 215549836 BLAKE2B d4179cc67772cd6b92085d68f4bb9de006fca7d8470a56766ac5d94a0379ae675d18c5275ec2ed1eab71274ce4f416a77f3ce74d849a1d4118b5a7ddec205a3c SHA512 7a26e14be6b27c7084c7c85b312341ab991c2df91ea53128f14707a4c725dd03ba7df30b9e9fcef39a509ab4f5d5feb028b99d6d9ffcc059996ed29b83eb90b9
DIST rust-1.52.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e66afc44186f48548dffcd7c6d7d92b4fbecea48bf3f7970d211844b5401a2556a138993517d049265109146a48856c7106616100ed63a5fa3f263d7023af6b6 SHA512 75ff89cd071641b01f4d483aca5997f6b3857d477b6fb40e6fdf11ff2ecdca74618cc59a9f0d1d2f942bde2d9a8738ac6f821d21d79f3ed85830ef530636a607
DIST rust-1.52.0-aarch64-unknown-linux-musl.tar.xz 214159336 BLAKE2B 1b2afb80df6bf75d516127f07d57d12d876f12879c1d87059ab1c40ee1325ddb4e0c22f2fa185dab72f7633bce7d2ff5ed92ce4e88d4e118ac80630a061ec0c4 SHA512 9461c7272ac3e2c854e8e5f24cd57e5d648a3f923a9413eebd9f45a143d27378bc09c4d30ee7a1773a56baa31066dcc9f955b0805ce9f47d81b52e47a3a3e369
@@ -198,25 +165,19 @@ DIST rust-1.56.0-x86_64-unknown-linux-gnu.tar.xz 147894784 BLAKE2B 6cbdb8a82aba4
DIST rust-1.56.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e0ed39db46b40631f69fa379a04ec37ba314587a4f081aa1f3251e01b7221ee8732b668cfcc4c24c1a3950f3f8dcfd542a1a73c603cea545b812d5d3a9527055 SHA512 3e9d0b159684a496e29c9e40af11f16f5ef5cadd8bc4852018a953310e77a4e29db6c14ffcc86198908aa4998550c83cfd3f2cc42e007122d56167d664776c44
DIST rust-1.56.0-x86_64-unknown-linux-musl.tar.xz 255010720 BLAKE2B 286e91cbf001de6f888bd82139e6711b32f03d45c599f26b01f60222d98c3521a1933b3b9b7f8c46fa79d481780dc8dc47e5e24985b721a6998d620b446c38b4 SHA512 fb5a914a25ef3cb39393207a75c40f1313740167062feb4cda4084e738f4e93a51624a8a9591acc18553cfd6e2e232984c8c84acc3dfd77fbe38b17085850881
DIST rust-1.56.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B bb7cfc775c1c44569276e687028e9a7ffac31577310052d9c354179a541ee13b0ca00a025e994e03ab17086d0abe6dda6845ed1cb10879425439c7651bdc9269 SHA512 cb23d98cfb1b59fcccaec575145b6f38846f3f49b16a3be199b06d6198b1db13720157ca65a01f6ef76abf742507bba39776d130f0fd03aa228acf5917457f7d
-DIST rustc-1.52.1-src.tar.xz 115109508 BLAKE2B c5d73f5884037d287d88ba9fdaf63a36678b692e1b510920045797ab29f1660f05cda901e19411ff83ec3084c4130034c269976b1056220f3e629cff116d07f0 SHA512 55f5053ce40d4eba4663052817aef6a6275139ca229c89cd1ec44711458b412720203301d8c7975aac5720a91fcaf21847f8184f641cbb0004f722520283c73c
-DIST rustc-1.52.1-src.tar.xz.asc 801 BLAKE2B ea2f89289b4d9cf90a0d10148bf3494805c00e7822cc98addf0b602c35e4635bb1963d79168b395a5f7c7bd024070284fccd19757982daa0d554dcac166fd4d7 SHA512 0d692a085c017b03b8a135a28f7e6f1d7e05642d2e99f0f1fbc397e766bb8fed4b4c6b4c9157b79d9bb0c4229607dbc35711cd463c62a9966a4efb6f197de7d3
DIST rustc-1.53.0-src.tar.xz 115686332 BLAKE2B fa068f89d42f927fdc79ee31aad1386eaf2aa596a060e059c5a1a73fe48c48d008fc952cd6c7912b743e41d77a94b205639eed0f728b2539b62f18a772cabfe3 SHA512 70485cf7a0f7fc36ee31644e546374079dc387a85b44e5e793707fd0a4d7ca05d311291e78b86db955485d8f21c47ff9e1908acc4da68ba04929287213a40c24
DIST rustc-1.53.0-src.tar.xz.asc 801 BLAKE2B 75d3aa4122968f10a119f7a04df897f496588c7a1a2ddf1ea2222099c9efb0e320f5677a26c3271f86e7f500120664485f54c6025ae3c6df30d2b0fe758f5826 SHA512 e337579b9ab4febca4594c2c5d42c279b51cfc745c383be9a430204188311a25319c04c73fde34fdb2bb98a88bfd8daaddc67765834330e6c279a6e5a5648247
DIST rustc-1.54.0-src.tar.xz 116286856 BLAKE2B 5ac47822646a0b6205f09282168b4d4ddcace9f6bc8f242c890327ca4074626f129514f8bcae5c5556015745f718990cce490658076f5cd3526623439540416b SHA512 5162f85b43ca2c5af93fdbfb2597d75df8a838f7fcc025a5298499ce1043db50f1ea2fbba753e47ce5daad3d80d4b612acf6527ef902c34117763e687fdbbcfa
DIST rustc-1.54.0-src.tar.xz.asc 801 BLAKE2B 5ee9166eaa00e4ffec10fb82b18946d403bc2030c6e04de6449311cbccc2ef1b017044f451a1c19be3a0a9640c4a9a9e4bd22d28e2115509f333ae38eb25e9d4 SHA512 5ad91f43515de14114964db0348cd28c08adc6dc935f110bf339053414b8eab8a40f1074ceffa44ed2df61254f8368d867479400618c44efaa0333642ab49d07
DIST rustc-1.55.0-src.tar.xz 117197580 BLAKE2B 8d9739ce7571146aee0e07c6287de9a8c4f1a914606cd47819eb1ef118b15772ecf22d0d43d7732f03c234a013fa54a4a7f0578a3f136af518f71bf64a03305d SHA512 7522f2fa95d5af92472404ecc97d7d9e745e88c933196a83fa373ce1efff6db3c295e0e2afdbfa1ff00644554efa0c3c7f6c11f9119ecf9010cb440b3f27c2da
DIST rustc-1.55.0-src.tar.xz.asc 801 BLAKE2B 5b4ba951ed7ed56c7bd9c71df89cc1e966485d77411016ad71a811ad8e21b88295deec08f24f65afdb163e69ee0fe19288bcc64d18fe272bea51319caddb66b2 SHA512 9bc858ce26cc069cafaefe6165cb15a07e144ad6d6312bcbe115a0a51fec6e281d3e8a7977e958d7fa10e77139548d57396b1552a2802ec74b7bc6ac641e7ae4
-DIST rustc-1.56.0-src.tar.xz 121802340 BLAKE2B aa471fd0785d6ceb75d4b661d466a450c960f6df19018a74732f2bab6ec176ea95e247e7cd44d550345bfa723bfc1b6088f0436287bed3752558654198856003 SHA512 2daa365524b47dcc48e49a0e9c8c45988af44c0845e2695dc5053f18e768e49acf3dbdd77f808dbf260546ef608eb47c593544012dd05675cb7e6b6223900315
-DIST rustc-1.56.0-src.tar.xz.asc 801 BLAKE2B 75bd829e457b6cefb2fcdfd04ef835487c295420d9d9c8fd7af800b405fe1113c14be01ad3540fea7ed7c743397e337ce1d3b0e757c73292d7f342f352e89791 SHA512 e81cf3d8b1c97803138d4487c32c1463526d53513112b4fa170a81ba947280613fb3260b43d0629a45c859519ea094e467ce0cc0def722577febc3cc34ce5ed8
DIST rustc-1.56.1-src.tar.xz 121798264 BLAKE2B 09677b0332022f28a0d80949a6735929dbf64276f7eb57195d8c33e6c80f13c903432ff77d8834093ab551677618fb1d385f2300e2b1b4c064f9c245c696be32 SHA512 193468e211cde9ebc5f6e30b8e3733b79bd8710fe6dd45c7ed8d4392f91010d30466787afd4d0b2041cd7dd994924fee8ad111048824e248bd994959e55bf15f
DIST rustc-1.56.1-src.tar.xz.asc 801 BLAKE2B 70ed1c26971e864aa6cc9b05eb52c4a140d0d0cccb3ff66d4a13e1b1dbac958c5369f76524c4702311566ed26aff635f5e3d35d9da71d96e070f5f0e978dc2ba SHA512 f997e7962ef8b283c19c97d8b898f3642f1a58c89a9cc5470cf88682263a42e2054d670c12bf93c41e81edf8324a5b51453f402a74bccb7744c7f463cf689aa8
DIST rustc-1.57.0-src.tar.xz 122681768 BLAKE2B 739fe2c34b01bb0c6beeb7717badeb2ba12f00b91831977bf0d8782d806071f8ed696e94bf51d53509ae6e5c5773544b2dcf4187e81682c2f765d0975c64ca7d SHA512 7903bcfc7c1db208da5d5991bd5b7f55dbe5917d4814274a8badf0d3b767211e81f8626c355ea93142f236abf116d5921c0b542ef309fbe84ece1ce84e5af30f
DIST rustc-1.57.0-src.tar.xz.asc 801 BLAKE2B e5c2e91999d8d2bcb5be36ddc8559a59fc53445f639bd179239489f9fd2a2f00f2191cdbb2000b73866fbb332b51be090e95e348a3573676dc24e00cdbb071fa SHA512 fcf1393a1be3c585447e08078b804e7ffcddcb47d87877c13526592e317b889b15ad1786baef5d6adf020631a6773a9dd31c04779f475a528b28871920a4641f
-EBUILD rust-1.52.1.ebuild 20494 BLAKE2B 484c936cb27336bfa7741521322b7bc1d03d89dbf4e0c1f70a1a2188d97f815f776e8002d39902d9c11d93da59d6cc68490a5ce76189deb5462aa7b4778a0dcc SHA512 d6f34fc35513bf4de76074fb623a092d45ee9ac8ad61eda274066684e82598d1bedab2e2187d6eacff632e69d2a3f287fede6d67d5aefbda99f89b1f2eaf560d
-EBUILD rust-1.53.0.ebuild 20776 BLAKE2B 3c04bda7df5ce047b0e569a21cccf4b16a3a13557bd426b9ae2f4de36fa3fc7babd53fb749065750650f499b211491d7f8c8890a306b549e237daa1fd2a1ea2f SHA512 a4ed9caab6b7863a29d49e958efeee3266dc5b1c3e64163911ff7dce0e59b31fa308ee0439372c6f360c8d3a78ee0221d137731cc27c80597c5c81b820dde220
-EBUILD rust-1.54.0.ebuild 20780 BLAKE2B e786398c5cdb7e4baee057b839e0a2de42df1915109d92854f3c853eccb379edbcd89c109c43231370804b297912943b1ece1ada33bf3f0c6b24f9916c314512 SHA512 5e72f7e734727a853dcfe6773321f88ebf8369fda3e426d4e96a202c25cc5731173b13469fdd2b360e95e0fd59c12b30b1d934e156689bbc92e764b43b7d4ca5
-EBUILD rust-1.55.0.ebuild 20687 BLAKE2B 1c462932adf84ff79b890f46672733c32ecb86428837ac7eeb0eea2a9d8d9ebb11ee04d46bbf6618b427952546d28912712d7d64772521338ccb0dbcebbf6d7c SHA512 ea19c5e506712421c139b8f72f55c28d993310fdd4223992c683ca4c74ed36ee87f31d24d52b2902dae9522189b45a4c61f8c7c68047587137c01d86fb06be06
-EBUILD rust-1.56.0-r1.ebuild 20599 BLAKE2B 074ec32e12d0000c231e919071fa27f5e330eb046ed403cb0c3750aba23e90e9be9f6e1414795d1f76fe4dfe6ddedfb9de6f1685de1dd284b86a5272cd6d2616 SHA512 6598340e6dea370db70da26a22fb8c3f1b19cbe2c5c858e24b4d0e7aeb01c49c3f26cf79bee5cdcc0797d88971fcba4922c4747aa61971dc3d14d5f7c2ede938
-EBUILD rust-1.56.1.ebuild 20667 BLAKE2B c3b7766a905df6bef5c7d8125e867a51cd41e1efdb7b57ce1db1ecbe5284dd9ca603b3f6f4eb0f4ef8d0afca02620ee6111ebafec058d864f93d9bbafdb19010 SHA512 64db6e53c51a8e7a63066a5aaa660d8c11c9930a0ef3c07a1907e999ad07a22d5d9c3f210baee9543854c60996e86b877449c22d821e978c872868905cf52d65
-EBUILD rust-1.57.0.ebuild 20714 BLAKE2B 3f1d96513ace033bf24e9301e87cd7f85086b201a05cc4fd6caffa9bf8979773a3fb1d7a75a19f204fdb2e445270a5be2388f4a57328f7710d56e579ce234c9e SHA512 a8bc5f1210cdc48a5ab79b1f277c470d7d16aad0f58e39e0bc1ea391fc7cfdf28d08e797b0da7cac498b23cba9d715a5edd8595747af1279e857cee2e2c800f9
+EBUILD rust-1.53.0.ebuild 20785 BLAKE2B 9ea68bb024924e49be1cd88a8db199b1d41fde63d5542344d8838d5e69878e1b88c4e6db194d5e830db1f4a4ac814bab48bb2cc727d3418fdf3ddf86c869a68c SHA512 3d1759bfd92afc0f07d97bb49bd849d06ac2085d4d17d9f9ef4272ea83a7241535e7949ed7e813bf441171467bc5d35cb84c3797c9873393f0a50d91b3e368f0
+EBUILD rust-1.54.0.ebuild 20789 BLAKE2B 32726066b47f161b357fba0ba00b7c4c2f58f417d45c664f713fb0f058d1b4ae6292b8da405497b4a73ec880ed16a71a4cd5a634cc730b005332b900ba67cc9f SHA512 d25ed067a7ea7264e4f22e11816d163b9cac99b33e8a8a7a143909863bf8b63d41911d5fc16beaa34e0feaef8c47e9332db6d2c762314fe4ce4166fe841c627e
+EBUILD rust-1.55.0.ebuild 20696 BLAKE2B a91b9a4996d26593d5e21d6db34c6187cee9bb629fb7a50ba39440d94f2b2fc4fab7b5ce7d4b0320bd254df395fceba461137ea14ae1c4ea904088157235985b SHA512 a9b602a600d64a88e4f2975b4dc0195a72af887894274af18e696b89557c4bbc95fe8ce3103a120a4f2dfa12e3e7dfade185f599650afd374d6c9182bc263bf3
+EBUILD rust-1.56.1.ebuild 20676 BLAKE2B 3ea40ca6610607d1d046a0a76917076c20cbbfeae9f42b8ce4bce398cb98d95ecf849eb9f619cb73a58b87428d73f4da84cb42ca7c896634d191848514e349a6 SHA512 6adda6696aed06306d700683aee1d251b7c6535c84b1042f9d568fa0c15fb3a9a6c5f04132d78894481387724c04bca0e256a009f1badb970273850a0f10dd4e
+EBUILD rust-1.57.0.ebuild 20723 BLAKE2B c2c877fdbfe16223c6b93d050737c8137e3d90ee71c2de828ee200a97092687c775a58b3d4942241579b96a8b3c28da1db6b6a0cbf1dca026ac97c24541b05a2 SHA512 0778f871cd857f9b9324e25645bd84b47832ba2d97b054ce9c885e03c2a24b66cc5da31928f6d707909a970bc4bc082674e3ab8dd053bfbabead2cde9a501c03
MISC metadata.xml 1224 BLAKE2B 90bfe107b31b32d18f23514ff47013976e2b754860491f7e190d5023acfa93bc0eeee9456cd048bb4bdef4e40911d90cc14f831454c45cf550319c42c65b701d SHA512 6524001cbfb59c94e7fb7df5a995de327fc193d18353363c4a0126f6c78ef92866f995cf592923aabc7cb2caebc6728f95badcd5c8c777ad7bb60cbbe6b20f07
diff --git a/dev-lang/rust/files/1.51.0-slow-doc-install.patch b/dev-lang/rust/files/1.51.0-slow-doc-install.patch
deleted file mode 100644
index 4aa7a714795f..000000000000
--- a/dev-lang/rust/files/1.51.0-slow-doc-install.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 6dfd700c595a8853fd58349c38c4768b922a2e85 Mon Sep 17 00:00:00 2001
-From: Anders Kaseorg <andersk@mit.edu>
-Date: Sat, 17 Apr 2021 22:20:36 -0700
-Subject: [PATCH] bootstrap: Restore missing --bulk-dirs for rust-docs,
- rustc-docs
-
-The --bulk-dirs argument was removed for rust-docs in commit
-c768ce138427b1844c1f6594daba9c0e33928032 and rustc-docs in commit
-8ca46fc7a83734c9622f11f25d16b82316f44bcc (#79788), presumably by
-mistake; that slowed down installation of rust-docs from under a
-second to some twenty *minutes*. Restoring --bulk-dirs reverses this
-slowdown.
-
-Fixes #80684.
-
-Signed-off-by: Anders Kaseorg <andersk@mit.edu>
----
- src/bootstrap/dist.rs | 4 ++--
- src/bootstrap/tarball.rs | 17 +++++++++++++++++
- 2 files changed, 19 insertions(+), 2 deletions(-)
-
-diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
-index 38ebe0e52083d..aee3c8324bc11 100644
---- a/src/bootstrap/dist.rs
-+++ b/src/bootstrap/dist.rs
-@@ -74,7 +74,7 @@ impl Step for Docs {
-
- let mut tarball = Tarball::new(builder, "rust-docs", &host.triple);
- tarball.set_product_name("Rust Documentation");
-- tarball.add_dir(&builder.doc_out(host), dest);
-+ tarball.add_bulk_dir(&builder.doc_out(host), dest);
- tarball.add_file(&builder.src.join("src/doc/robots.txt"), dest, 0o644);
- Some(tarball.generate())
- }
-@@ -107,7 +107,7 @@ impl Step for RustcDocs {
-
- let mut tarball = Tarball::new(builder, "rustc-docs", &host.triple);
- tarball.set_product_name("Rustc Documentation");
-- tarball.add_dir(&builder.compiler_doc_out(host), "share/doc/rust/html/rustc");
-+ tarball.add_bulk_dir(&builder.compiler_doc_out(host), "share/doc/rust/html/rustc");
- Some(tarball.generate())
- }
- }
-diff --git a/src/bootstrap/tarball.rs b/src/bootstrap/tarball.rs
-index b02d7e062a524..9ff5c2327e0f7 100644
---- a/src/bootstrap/tarball.rs
-+++ b/src/bootstrap/tarball.rs
-@@ -99,6 +99,7 @@ pub(crate) struct Tarball<'a> {
- temp_dir: PathBuf,
- image_dir: PathBuf,
- overlay_dir: PathBuf,
-+ bulk_dirs: Vec<PathBuf>,
-
- include_target_in_component_name: bool,
- is_preview: bool,
-@@ -137,6 +138,7 @@ impl<'a> Tarball<'a> {
- temp_dir,
- image_dir,
- overlay_dir,
-+ bulk_dirs: Vec::new(),
-
- include_target_in_component_name: false,
- is_preview: false,
-@@ -201,6 +203,11 @@ impl<'a> Tarball<'a> {
- self.builder.cp_r(src.as_ref(), &dest);
- }
-
-+ pub(crate) fn add_bulk_dir(&mut self, src: impl AsRef<Path>, dest: impl AsRef<Path>) {
-+ self.bulk_dirs.push(dest.as_ref().to_path_buf());
-+ self.add_dir(src, dest);
-+ }
-+
- pub(crate) fn generate(self) -> GeneratedTarball {
- let mut component_name = self.component.clone();
- if self.is_preview {
-@@ -221,6 +228,16 @@ impl<'a> Tarball<'a> {
- .arg("--image-dir")
- .arg(&this.image_dir)
- .arg(format!("--component-name={}", &component_name));
-+
-+ if let Some((dir, dirs)) = this.bulk_dirs.split_first() {
-+ let mut arg = dir.as_os_str().to_os_string();
-+ for dir in dirs {
-+ arg.push(",");
-+ arg.push(dir);
-+ }
-+ cmd.arg("--bulk-dirs").arg(&arg);
-+ }
-+
- this.non_bare_args(cmd);
- })
- }
diff --git a/dev-lang/rust/rust-1.52.1.ebuild b/dev-lang/rust/rust-1.52.1.ebuild
deleted file mode 100644
index 548ea542ecbd..000000000000
--- a/dev-lang/rust/rust-1.52.1.ebuild
+++ /dev/null
@@ -1,676 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
- multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
-
-if [[ ${PV} = *beta* ]]; then
- betaver=${PV//*beta}
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
- MY_P="rustc-beta"
- SLOT="beta/${PV}"
- SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz"
-else
- ABI_VER="$(ver_cut 1-2)"
- SLOT="stable/${ABI_VER}"
- MY_P="rustc-${PV}"
- SRC="${MY_P}-src.tar.xz"
- KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86"
-fi
-
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-
-SRC_URI="
- https://static.rust-lang.org/dist/${SRC}
- verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc )
- !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
-"
-
-# keep in sync with llvm ebuild of the same version as bundled one.
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
-
-IUSE="clippy cpu_flags_x86_sse2 debug doc miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling more than one slot
-# simultaneously.
-
-# How to use it:
-# List all the working slots in LLVM_VALID_SLOTS, newest first.
-LLVM_VALID_SLOTS=( 12 )
-LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}"
-
-# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
-# (-) usedep needed because we may build with older llvm without that target
-LLVM_DEPEND="|| ( "
-for _s in ${LLVM_VALID_SLOTS[@]}; do
- LLVM_DEPEND+=" ( "
- for _x in ${ALL_LLVM_TARGETS[@]}; do
- LLVM_DEPEND+="
- ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )"
- done
- LLVM_DEPEND+=" )"
-done
-unset _s _x
-LLVM_DEPEND+=" )
- <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):=
- wasm? ( sys-devel/lld )
-"
-
-# to bootstrap we need at least exactly previous version, or same.
-# most of the time previous versions fail to bootstrap with newer
-# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok,
-# but it fails to bootstrap with 1.48.x
-# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt
-BOOTSTRAP_DEPEND="||
- (
- =dev-lang/rust-$(ver_cut 1).$(($(ver_cut 2) - 1))*
- =dev-lang/rust-bin-$(ver_cut 1).$(($(ver_cut 2) - 1))*
- =dev-lang/rust-$(ver_cut 1).$(ver_cut 2)*
- =dev-lang/rust-bin-$(ver_cut 1).$(ver_cut 2)*
- )
-"
-
-BDEPEND="${PYTHON_DEPS}
- app-eselect/eselect-rust
- || (
- >=sys-devel/gcc-4.7
- >=sys-devel/clang-3.5
- )
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
- !system-llvm? (
- >=dev-util/cmake-3.13.4
- dev-util/ninja
- )
- test? ( sys-devel/gdb )
- verify-sig? ( sec-keys/openpgp-keys-rust )
-"
-
-DEPEND="
- >=app-arch/xz-utils-5.2
- net-misc/curl:=[http2,ssl]
- sys-libs/zlib:=
- dev-libs/openssl:0=
- elibc_musl? ( sys-libs/libunwind:= )
- system-llvm? ( ${LLVM_DEPEND} )
-"
-
-# we need to block older versions due to layout changes.
-RDEPEND="${DEPEND}
- app-eselect/eselect-rust
- !<dev-lang/rust-1.47.0-r1
- !<dev-lang/rust-bin-1.47.0-r1
-"
-
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
- miri? ( nightly )
- parallel-compiler? ( nightly )
- test? ( ${ALL_LLVM_TARGETS[*]} )
- wasm? ( llvm_targets_WebAssembly )
- x86? ( cpu_flags_x86_sse2 )
-"
-
-# we don't use cmake.eclass, but can get a warnings
-CMAKE_WARN_UNUSED_CLI=no
-
-QA_FLAGS_IGNORED="
- usr/lib/${PN}/${PV}/bin/.*
- usr/lib/${PN}/${PV}/libexec/.*
- usr/lib/${PN}/${PV}/lib/lib.*.so
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.*
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_SONAME="
- usr/lib/${PN}/${PV}/lib/lib.*.so.*
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
-"
-
-# An rmeta file is custom binary format that contains the metadata for the crate.
-# rmeta files do not support linking, since they do not contain compiled object files.
-# so we can safely silence the warning for this QA check.
-QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta"
-
-# causes double bootstrap
-RESTRICT="test"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
-
-PATCHES=(
- "${FILESDIR}"/1.47.0-ignore-broken-and-non-applicable-tests.patch
- "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch
- "${FILESDIR}"/1.51.0-slow-doc-install.patch
-)
-
-S="${WORKDIR}/${MY_P}-src"
-
-toml_usex() {
- usex "${1}" true false
-}
-
-bootstrap_rust_version_check() {
- # never call from pkg_pretend. eselect-rust may be not installed yet.
- [[ ${MERGE_TYPE} == binary ]] && return
- local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))"
- local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))"
- local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
- rustc_version=${rustc_version[0]#rust-bin-}
- rustc_version=${rustc_version#rust-}
-
- [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
-
- if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then
- eerror "Rust >=${rustc_wanted} is required"
- eerror "please run 'eselect rust' and set correct rust version"
- die "selected rust version is too old"
- elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then
- eerror "Rust <${rustc_toonew} is required"
- eerror "please run 'eselect rust' and set correct rust version"
- die "selected rust version is too new"
- else
- einfo "Using rust ${rustc_version} to build"
- fi
-}
-
-pre_build_checks() {
- local M=8192
- # multiply requirements by 1.5 if we are doing x86-multilib
- if use amd64; then
- M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 ))
- fi
- M=$(( $(usex clippy 128 0) + ${M} ))
- M=$(( $(usex miri 128 0) + ${M} ))
- M=$(( $(usex rls 512 0) + ${M} ))
- M=$(( $(usex rustfmt 256 0) + ${M} ))
- # add 2G if we compile llvm and 256M per llvm_target
- if ! use system-llvm; then
- M=$(( 2048 + ${M} ))
- local ltarget
- for ltarget in ${ALL_LLVM_TARGETS[@]}; do
- M=$(( $(usex ${ltarget} 256 0) + ${M} ))
- done
- fi
- M=$(( $(usex wasm 256 0) + ${M} ))
- M=$(( $(usex debug 2 1) * ${M} ))
- eshopts_push -s extglob
- if is-flagq '-g?(gdb)?([1-9])'; then
- M=$(( 15 * ${M} / 10 ))
- fi
- eshopts_pop
- M=$(( $(usex system-bootstrap 0 1024) + ${M} ))
- M=$(( $(usex doc 256 0) + ${M} ))
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-llvm_check_deps() {
- has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
-}
-
-pkg_pretend() {
- pre_build_checks
-}
-
-pkg_setup() {
- pre_build_checks
- python-any-r1_pkg_setup
-
- export LIBGIT2_NO_PKG_CONFIG=1 #749381
-
- use system-bootstrap && bootstrap_rust_version_check
-
- if use system-llvm; then
- llvm_pkg_setup
-
- local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
- export LLVM_LINK_SHARED=1
- export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
- fi
-}
-
-src_prepare() {
- if ! use system-bootstrap; then
- local rust_stage0_root="${WORKDIR}"/rust-stage0
- local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
-
- "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
- --without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die
- fi
-
- default
-}
-
-src_configure() {
- local rust_target="" rust_targets="" arch_cflags
-
- # Collect rust target names to compile standard libs for all ABIs.
- for v in $(multilib_get_enabled_abi_pairs); do
- rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
- done
- if use wasm; then
- rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
- if use system-llvm; then
- # un-hardcode rust-lld linker for this target
- # https://bugs.gentoo.org/715348
- sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm32_base.rs || die
- fi
- fi
- rust_targets="${rust_targets#,}"
-
- local tools="\"cargo\","
- if use clippy; then
- tools="\"clippy\",$tools"
- fi
- if use miri; then
- tools="\"miri\",$tools"
- fi
- if use rls; then
- tools="\"rls\",\"analysis\",\"src\",$tools"
- fi
- if use rustfmt; then
- tools="\"rustfmt\",$tools"
- fi
-
- local rust_stage0_root
- if use system-bootstrap; then
- local printsysroot
- printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")"
- rust_stage0_root="${printsysroot}"
- else
- rust_stage0_root="${WORKDIR}"/rust-stage0
- fi
- # in case of prefix it will be already prefixed, as --print sysroot returns full path
- [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory"
-
- rust_target="$(rust_abi)"
-
- cat <<- _EOF_ > "${S}"/config.toml
- [llvm]
- download-ci-llvm = false
- optimize = $(toml_usex !debug)
- release-debuginfo = $(toml_usex debug)
- assertions = $(toml_usex debug)
- ninja = true
- targets = "${LLVM_TARGETS// /;}"
- experimental-targets = ""
- link-shared = $(toml_usex system-llvm)
- [build]
- build = "${rust_target}"
- host = ["${rust_target}"]
- target = [${rust_targets}]
- cargo = "${rust_stage0_root}/bin/cargo"
- rustc = "${rust_stage0_root}/bin/rustc"
- rustfmt = "${rust_stage0_root}/bin/rustfmt"
- docs = $(toml_usex doc)
- compiler-docs = false
- submodules = false
- python = "${EPYTHON}"
- locked-deps = true
- vendor = true
- extended = true
- tools = [${tools}]
- verbose = 2
- sanitizers = false
- profiler = false
- cargo-native-static = false
- [install]
- prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
- sysconfdir = "etc"
- docdir = "share/doc/rust"
- bindir = "bin"
- libdir = "lib"
- mandir = "share/man"
- [rust]
- # https://github.com/rust-lang/rust/issues/54872
- codegen-units-std = 1
- optimize = true
- debug = $(toml_usex debug)
- debug-assertions = $(toml_usex debug)
- debug-assertions-std = $(toml_usex debug)
- debuginfo-level = $(usex debug 2 0)
- debuginfo-level-rustc = $(usex debug 2 0)
- debuginfo-level-std = $(usex debug 2 0)
- debuginfo-level-tools = $(usex debug 2 0)
- debuginfo-level-tests = 0
- backtrace = true
- incremental = false
- default-linker = "$(tc-getCC)"
- parallel-compiler = $(toml_usex parallel-compiler)
- channel = "$(usex nightly nightly stable)"
- description = "gentoo"
- rpath = false
- verbose-tests = true
- optimize-tests = $(toml_usex !debug)
- codegen-tests = true
- dist-src = false
- remap-debuginfo = true
- lld = $(usex system-llvm false $(toml_usex wasm))
- # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it
- # https://github.com/rust-lang/rust/issues/74976
- # https://github.com/rust-lang/rust/issues/76526
- deny-warnings = $(usex wasm $(usex doc false true) true)
- backtrace-on-ice = true
- jemalloc = false
- [dist]
- src-tarball = false
- compression-formats = ["gz"]
- _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
-
- if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below
- # experimental cross support
- # discussion: https://bugs.gentoo.org/679878
- # TODO: c*flags, clang, system-llvm, cargo.eclass target support
- # it would be much better if we could split out stdlib
- # complilation to separate ebuild and abuse CATEGORY to
- # just install to /usr/lib/rustlib/<target>
-
- # extra targets defined as a bash array
- # spec format: <LLVM target>:<rust-target>:<CTARGET>
- # best place would be /etc/portage/env/dev-lang/rust
- # Example:
- # RUST_CROSS_TARGETS=(
- # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu"
- # )
- # no extra hand holding is done, no target transformations, all
- # values are passed as-is with just basic checks, so it's up to user to supply correct values
- # valid rust targets can be obtained with
- # rustc --print target-list
- # matching cross toolchain has to be installed
- # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one)
- # only gcc toolchains installed with crossdev are checked for now.
-
- # BUG: we can't pass host flags to cross compiler, so just filter for now
- # BUG: this should be more fine-grained.
- filter-flags '-mcpu=*' '-march=*' '-mtune=*'
-
- local cross_target_spec
- for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do
- # extracts first element form <LLVM target>:<rust-target>:<CTARGET>
- local cross_llvm_target="${cross_target_spec%%:*}"
- # extracts toolchain triples, <rust-target>:<CTARGET>
- local cross_triples="${cross_target_spec#*:}"
- # extracts first element after before : separator
- local cross_rust_target="${cross_triples%%:*}"
- # extracts last element after : separator
- local cross_toolchain="${cross_triples##*:}"
- use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled"
- command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain"
-
- cat <<- _EOF_ >> "${S}"/config.toml
- [target.${cross_rust_target}]
- cc = "${cross_toolchain}-gcc"
- cxx = "${cross_toolchain}-g++"
- linker = "${cross_toolchain}-gcc"
- ar = "${cross_toolchain}-ar"
- _EOF_
- if use system-llvm; then
- cat <<- _EOF_ >> "${S}"/config.toml
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
- _EOF_
- fi
- if [[ "${cross_toolchain}" == *-musl* ]]; then
- cat <<- _EOF_ >> "${S}"/config.toml
- musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr"
- _EOF_
- fi
-
- # append cross target to "normal" target list
- # example 'target = ["powerpc64le-unknown-linux-gnu"]'
- # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]'
-
- rust_targets="${rust_targets},\"${cross_rust_target}\""
- sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die
-
- ewarn
- ewarn "Enabled ${cross_rust_target} rust target"
- ewarn "Using ${cross_toolchain} cross toolchain"
- ewarn
- if ! has_version -b 'sys-devel/binutils[multitarget]' ; then
- ewarn "'sys-devel/binutils[multitarget]' is not installed"
- ewarn "'strip' will be unable to strip cross libraries"
- ewarn "cross targets will be installed with full debug information"
- ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files"
- ewarn
- ewarn "Alternatively llvm-strip can be used, it supports stripping any target"
- ewarn "define STRIP=\"llvm-strip\" to use it (experimental)"
- ewarn
- fi
- done
- fi # I_KNOW_WHAT_I_AM_DOING_CROSS
-
- einfo "Rust configured with the following flags:"
- echo
- echo "RUSTFLAGS=\"${RUSTFLAGS:-}\""
- echo "RUSTFLAGS_BOOTSTRAP=\"${RUSTFLAGS_BOOTSTRAP:-}\""
- echo "RUSTFLAGS_NOT_BOOTSTRAP=\"${RUSTFLAGS_NOT_BOOTSTRAP:-}\""
- cat "${S}"/config.env || die
- echo
- einfo "config.toml contents:"
- cat "${S}"/config.toml || die
- echo
-}
-
-src_compile() {
- # we need \n IFS to have config.env with spaces loaded properly. #734018
- (
- IFS=$'\n'
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
- "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
- )
-}
-
-src_test() {
- # https://rustc-dev-guide.rust-lang.org/tests/intro.html
-
- # those are basic and codegen tests.
- local tests=(
- codegen
- codegen-units
- compile-fail
- incremental
- mir-opt
- pretty
- run-make
- )
-
- # fails if llvm is not built with ALL targets.
- # and known to fail with system llvm sometimes.
- use system-llvm || tests+=( assembly )
-
- # fragile/expensive/less important tests
- # or tests that require extra builds
- # TODO: instead of skipping, just make some nonfatal.
- if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
- tests+=(
- rustdoc
- rustdoc-js
- rustdoc-js-std
- rustdoc-ui
- run-make-fulldeps
- ui
- ui-fulldeps
- )
- fi
-
- local i failed=()
- einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
- for i in "${tests[@]}"; do
- local t="src/test/${i}"
- einfo "rust_src_test: running ${t}"
- if ! (
- IFS=$'\n'
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \
- "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \
- -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}"
- )
- then
- failed+=( "${t}" )
- eerror "rust_src_test: ${t} failed"
- fi
- done
-
- if [[ ${#failed[@]} -ne 0 ]]; then
- eerror "rust_src_test: failure summary: ${failed[@]}"
- die "aborting due to test failures"
- fi
-}
-
-src_install() {
- (
- IFS=$'\n'
- env $(cat "${S}"/config.env) DESTDIR="${D}" \
- "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
- )
-
- # bug #689562, #689160
- rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
- rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
- newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-gdb
- rust-gdbgui
- rust-lldb
- )
-
- use clippy && symlinks+=( clippy-driver cargo-clippy )
- use miri && symlinks+=( miri cargo-miri )
- use rls && symlinks+=( rls )
- use rustfmt && symlinks+=( rustfmt cargo-fmt )
-
- einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}"
- local i
- for i in "${symlinks[@]}"; do
- # we need realpath on /usr/bin/* symlink return version-appended binary path.
- # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver>
- # need to fix eselect-rust to remove this hack.
- local ver_i="${i}-${PV}"
- if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then
- einfo "Installing ${i} symlink"
- ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
- else
- ewarn "${i} symlink requested, but source file not found"
- ewarn "please report this"
- fi
- dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
- done
-
- # symlinks to switch components to active rust in eselect
- dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
- dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}"
- dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
- dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
- dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
-
- newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib"
- MANPATH="${EPREFIX}/usr/lib/rust/man"
- $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
- $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
- _EOF_
-
- rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
- rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-_EOF_ > "${T}/provider-${P}"
- /usr/bin/cargo
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- /usr/lib/rustlib
- /usr/lib/rust/lib
- /usr/lib/rust/libexec
- /usr/lib/rust/man
- /usr/share/doc/rust
- _EOF_
-
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
- echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
- fi
- if use miri; then
- echo /usr/bin/miri >> "${T}/provider-${P}"
- echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
- fi
- if use rls; then
- echo /usr/bin/rls >> "${T}/provider-${P}"
- fi
- if use rustfmt; then
- echo /usr/bin/rustfmt >> "${T}/provider-${P}"
- echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
- fi
-
- insinto /etc/env.d/rust
- doins "${T}/provider-${P}"
-}
-
-pkg_postinst() {
- eselect rust update
-
- if has_version sys-devel/gdb || has_version dev-util/lldb; then
- elog "Rust installs a helper script for calling GDB and LLDB,"
- elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
- fi
-
- if has_version app-editors/emacs; then
- elog "install app-emacs/rust-mode to get emacs support for rust."
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- elog "install app-vim/rust-vim to get vim support for rust."
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust/rust-1.53.0.ebuild b/dev-lang/rust/rust-1.53.0.ebuild
index ae41a9889869..d17441423822 100644
--- a/dev-lang/rust/rust-1.53.0.ebuild
+++ b/dev-lang/rust/rust-1.53.0.ebuild
@@ -6,7 +6,7 @@ EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
- multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
+ multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *beta* ]]; then
betaver=${PV//*beta}
diff --git a/dev-lang/rust/rust-1.54.0.ebuild b/dev-lang/rust/rust-1.54.0.ebuild
index 24c5d2f5489a..893af8bad162 100644
--- a/dev-lang/rust/rust-1.54.0.ebuild
+++ b/dev-lang/rust/rust-1.54.0.ebuild
@@ -6,7 +6,7 @@ EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
- multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
+ multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *beta* ]]; then
betaver=${PV//*beta}
diff --git a/dev-lang/rust/rust-1.55.0.ebuild b/dev-lang/rust/rust-1.55.0.ebuild
index c0f8b94fbba7..2cb07abe8789 100644
--- a/dev-lang/rust/rust-1.55.0.ebuild
+++ b/dev-lang/rust/rust-1.55.0.ebuild
@@ -6,7 +6,7 @@ EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
- multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
+ multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *beta* ]]; then
betaver=${PV//*beta}
diff --git a/dev-lang/rust/rust-1.56.0-r1.ebuild b/dev-lang/rust/rust-1.56.0-r1.ebuild
deleted file mode 100644
index 029ca3b0c76b..000000000000
--- a/dev-lang/rust/rust-1.56.0-r1.ebuild
+++ /dev/null
@@ -1,682 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
- multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
-
-if [[ ${PV} = *beta* ]]; then
- betaver=${PV//*beta}
- BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
- MY_P="rustc-beta"
- SLOT="beta/${PV}"
- SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz"
-else
- ABI_VER="$(ver_cut 1-2)"
- SLOT="stable/${ABI_VER}"
- MY_P="rustc-${PV}"
- SRC="${MY_P}-src.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-fi
-
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/"
-
-SRC_URI="
- https://static.rust-lang.org/dist/${SRC}
- verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc )
- !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
-"
-
-# keep in sync with llvm ebuild of the same version as bundled one.
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
- NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
-
-IUSE="clippy cpu_flags_x86_sse2 debug doc miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling more than one slot
-# simultaneously.
-
-# How to use it:
-# List all the working slots in LLVM_VALID_SLOTS, newest first.
-LLVM_VALID_SLOTS=( 13 )
-LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}"
-
-# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
-# (-) usedep needed because we may build with older llvm without that target
-LLVM_DEPEND="|| ( "
-for _s in ${LLVM_VALID_SLOTS[@]}; do
- LLVM_DEPEND+=" ( "
- for _x in ${ALL_LLVM_TARGETS[@]}; do
- LLVM_DEPEND+="
- ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )"
- done
- LLVM_DEPEND+=" )"
-done
-unset _s _x
-LLVM_DEPEND+=" )
- <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):=
- wasm? ( sys-devel/lld )
-"
-
-# to bootstrap we need at least exactly previous version, or same.
-# most of the time previous versions fail to bootstrap with newer
-# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok,
-# but it fails to bootstrap with 1.48.x
-# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt
-RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*"
-RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*"
-BOOTSTRAP_DEPEND="||
- (
- =dev-lang/rust-"${RUST_DEP_PREV}"
- =dev-lang/rust-bin-"${RUST_DEP_PREV}"
- =dev-lang/rust-"${RUST_DEP_CURR}"
- =dev-lang/rust-bin-"${RUST_DEP_CURR}"
- )
-"
-
-BDEPEND="${PYTHON_DEPS}
- app-eselect/eselect-rust
- || (
- >=sys-devel/gcc-4.7
- >=sys-devel/clang-3.5
- )
- system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
- !system-llvm? (
- >=dev-util/cmake-3.13.4
- dev-util/ninja
- )
- test? ( sys-devel/gdb )
- verify-sig? ( sec-keys/openpgp-keys-rust )
-"
-
-DEPEND="
- >=app-arch/xz-utils-5.2
- net-misc/curl:=[http2,ssl]
- sys-libs/zlib:=
- dev-libs/openssl:0=
- elibc_musl? ( sys-libs/libunwind:= )
- system-llvm? ( ${LLVM_DEPEND} )
-"
-
-# we need to block older versions due to layout changes.
-RDEPEND="${DEPEND}
- app-eselect/eselect-rust
- !<dev-lang/rust-1.47.0-r1
- !<dev-lang/rust-bin-1.47.0-r1
-"
-
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
- miri? ( nightly )
- parallel-compiler? ( nightly )
- test? ( ${ALL_LLVM_TARGETS[*]} )
- wasm? ( llvm_targets_WebAssembly )
- x86? ( cpu_flags_x86_sse2 )
-"
-
-# we don't use cmake.eclass, but can get a warnings
-CMAKE_WARN_UNUSED_CLI=no
-
-QA_FLAGS_IGNORED="
- usr/lib/${PN}/${PV}/bin/.*
- usr/lib/${PN}/${PV}/libexec/.*
- usr/lib/${PN}/${PV}/lib/lib.*.so
- usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.*
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
-"
-
-QA_SONAME="
- usr/lib/${PN}/${PV}/lib/lib.*.so.*
- usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
-"
-
-# An rmeta file is custom binary format that contains the metadata for the crate.
-# rmeta files do not support linking, since they do not contain compiled object files.
-# so we can safely silence the warning for this QA check.
-QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta"
-
-# causes double bootstrap
-RESTRICT="test"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
-
-PATCHES=(
- "${FILESDIR}"/1.55.0-ignore-broken-and-non-applicable-tests.patch
- "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch
-)
-
-S="${WORKDIR}/${MY_P}-src"
-
-toml_usex() {
- usex "${1}" true false
-}
-
-bootstrap_rust_version_check() {
- # never call from pkg_pretend. eselect-rust may be not installed yet.
- [[ ${MERGE_TYPE} == binary ]] && return
- local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))"
- local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))"
- local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
- rustc_version=${rustc_version[0]#rust-bin-}
- rustc_version=${rustc_version#rust-}
-
- [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
-
- if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then
- eerror "Rust >=${rustc_wanted} is required"
- eerror "please run 'eselect rust' and set correct rust version"
- die "selected rust version is too old"
- elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then
- eerror "Rust <${rustc_toonew} is required"
- eerror "please run 'eselect rust' and set correct rust version"
- die "selected rust version is too new"
- else
- einfo "Using rust ${rustc_version} to build"
- fi
-}
-
-pre_build_checks() {
- local M=4096
- # multiply requirements by 1.5 if we are doing x86-multilib
- if use amd64; then
- M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 ))
- fi
- M=$(( $(usex clippy 128 0) + ${M} ))
- M=$(( $(usex miri 128 0) + ${M} ))
- M=$(( $(usex rls 512 0) + ${M} ))
- M=$(( $(usex rustfmt 256 0) + ${M} ))
- # add 2G if we compile llvm and 256M per llvm_target
- if ! use system-llvm; then
- M=$(( 2048 + ${M} ))
- local ltarget
- for ltarget in ${ALL_LLVM_TARGETS[@]}; do
- M=$(( $(usex ${ltarget} 256 0) + ${M} ))
- done
- fi
- M=$(( $(usex wasm 256 0) + ${M} ))
- M=$(( $(usex debug 2 1) * ${M} ))
- eshopts_push -s extglob
- if is-flagq '-g?(gdb)?([1-9])'; then
- M=$(( 15 * ${M} / 10 ))
- fi
- eshopts_pop
- M=$(( $(usex system-bootstrap 0 1024) + ${M} ))
- M=$(( $(usex doc 256 0) + ${M} ))
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-llvm_check_deps() {
- has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
-}
-
-pkg_pretend() {
- pre_build_checks
-}
-
-pkg_setup() {
- pre_build_checks
- python-any-r1_pkg_setup
-
- export LIBGIT2_NO_PKG_CONFIG=1 #749381
-
- use system-bootstrap && bootstrap_rust_version_check
-
- if use system-llvm; then
- llvm_pkg_setup
-
- local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
- export LLVM_LINK_SHARED=1
- export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
- fi
-}
-
-src_prepare() {
- if ! use system-bootstrap; then
- local rust_stage0_root="${WORKDIR}"/rust-stage0
- local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
-
- "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
- --without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die
- fi
-
- default
-}
-
-src_configure() {
- local rust_target="" rust_targets="" arch_cflags
-
- # Collect rust target names to compile standard libs for all ABIs.
- for v in $(multilib_get_enabled_abi_pairs); do
- rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
- done
- if use wasm; then
- rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
- if use system-llvm; then
- # un-hardcode rust-lld linker for this target
- # https://bugs.gentoo.org/715348
- sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die
- fi
- fi
- rust_targets="${rust_targets#,}"
-
- local tools="\"cargo\","
- if use clippy; then
- tools="\"clippy\",$tools"
- fi
- if use miri; then
- tools="\"miri\",$tools"
- fi
- if use rls; then
- tools="\"rls\",\"analysis\",\"src\",$tools"
- fi
- if use rustfmt; then
- tools="\"rustfmt\",$tools"
- fi
-
- local rust_stage0_root
- if use system-bootstrap; then
- local printsysroot
- printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")"
- rust_stage0_root="${printsysroot}"
- else
- rust_stage0_root="${WORKDIR}"/rust-stage0
- fi
- # in case of prefix it will be already prefixed, as --print sysroot returns full path
- [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory"
-
- rust_target="$(rust_abi)"
-
- cat <<- _EOF_ > "${S}"/config.toml
- changelog-seen = 2
- [llvm]
- download-ci-llvm = false
- optimize = $(toml_usex !debug)
- release-debuginfo = $(toml_usex debug)
- assertions = $(toml_usex debug)
- ninja = true
- targets = "${LLVM_TARGETS// /;}"
- experimental-targets = ""
- link-shared = $(toml_usex system-llvm)
- [build]
- build-stage = 2
- test-stage = 2
- doc-stage = 2
- build = "${rust_target}"
- host = ["${rust_target}"]
- target = [${rust_targets}]
- cargo = "${rust_stage0_root}/bin/cargo"
- rustc = "${rust_stage0_root}/bin/rustc"
- rustfmt = "${rust_stage0_root}/bin/rustfmt"
- docs = $(toml_usex doc)
- compiler-docs = false
- submodules = false
- python = "${EPYTHON}"
- locked-deps = true
- vendor = true
- extended = true
- tools = [${tools}]
- verbose = 2
- sanitizers = false
- profiler = false
- cargo-native-static = false
- [install]
- prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
- sysconfdir = "etc"
- docdir = "share/doc/rust"
- bindir = "bin"
- libdir = "lib"
- mandir = "share/man"
- [rust]
- # https://github.com/rust-lang/rust/issues/54872
- codegen-units-std = 1
- optimize = true
- debug = $(toml_usex debug)
- debug-assertions = $(toml_usex debug)
- debug-assertions-std = $(toml_usex debug)
- debuginfo-level = $(usex debug 2 0)
- debuginfo-level-rustc = $(usex debug 2 0)
- debuginfo-level-std = $(usex debug 2 0)
- debuginfo-level-tools = $(usex debug 2 0)
- debuginfo-level-tests = 0
- backtrace = true
- incremental = false
- default-linker = "$(tc-getCC)"
- parallel-compiler = $(toml_usex parallel-compiler)
- channel = "$(usex nightly nightly stable)"
- description = "gentoo"
- rpath = false
- verbose-tests = true
- optimize-tests = $(toml_usex !debug)
- codegen-tests = true
- dist-src = false
- remap-debuginfo = true
- lld = $(usex system-llvm false $(toml_usex wasm))
- # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it
- # https://github.com/rust-lang/rust/issues/74976
- # https://github.com/rust-lang/rust/issues/76526
- deny-warnings = $(usex wasm $(usex doc false true) true)
- backtrace-on-ice = true
- jemalloc = false
- [dist]
- src-tarball = false
- compression-formats = ["gz"]
- _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
-
- if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below
- # experimental cross support
- # discussion: https://bugs.gentoo.org/679878
- # TODO: c*flags, clang, system-llvm, cargo.eclass target support
- # it would be much better if we could split out stdlib
- # complilation to separate ebuild and abuse CATEGORY to
- # just install to /usr/lib/rustlib/<target>
-
- # extra targets defined as a bash array
- # spec format: <LLVM target>:<rust-target>:<CTARGET>
- # best place would be /etc/portage/env/dev-lang/rust
- # Example:
- # RUST_CROSS_TARGETS=(
- # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu"
- # )
- # no extra hand holding is done, no target transformations, all
- # values are passed as-is with just basic checks, so it's up to user to supply correct values
- # valid rust targets can be obtained with
- # rustc --print target-list
- # matching cross toolchain has to be installed
- # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one)
- # only gcc toolchains installed with crossdev are checked for now.
-
- # BUG: we can't pass host flags to cross compiler, so just filter for now
- # BUG: this should be more fine-grained.
- filter-flags '-mcpu=*' '-march=*' '-mtune=*'
-
- local cross_target_spec
- for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do
- # extracts first element form <LLVM target>:<rust-target>:<CTARGET>
- local cross_llvm_target="${cross_target_spec%%:*}"
- # extracts toolchain triples, <rust-target>:<CTARGET>
- local cross_triples="${cross_target_spec#*:}"
- # extracts first element after before : separator
- local cross_rust_target="${cross_triples%%:*}"
- # extracts last element after : separator
- local cross_toolchain="${cross_triples##*:}"
- use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled"
- command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain"
-
- cat <<- _EOF_ >> "${S}"/config.toml
- [target.${cross_rust_target}]
- cc = "${cross_toolchain}-gcc"
- cxx = "${cross_toolchain}-g++"
- linker = "${cross_toolchain}-gcc"
- ar = "${cross_toolchain}-ar"
- _EOF_
- if use system-llvm; then
- cat <<- _EOF_ >> "${S}"/config.toml
- llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
- _EOF_
- fi
- if [[ "${cross_toolchain}" == *-musl* ]]; then
- cat <<- _EOF_ >> "${S}"/config.toml
- musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr"
- _EOF_
- fi
-
- # append cross target to "normal" target list
- # example 'target = ["powerpc64le-unknown-linux-gnu"]'
- # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]'
-
- rust_targets="${rust_targets},\"${cross_rust_target}\""
- sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die
-
- ewarn
- ewarn "Enabled ${cross_rust_target} rust target"
- ewarn "Using ${cross_toolchain} cross toolchain"
- ewarn
- if ! has_version -b 'sys-devel/binutils[multitarget]' ; then
- ewarn "'sys-devel/binutils[multitarget]' is not installed"
- ewarn "'strip' will be unable to strip cross libraries"
- ewarn "cross targets will be installed with full debug information"
- ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files"
- ewarn
- ewarn "Alternatively llvm-strip can be used, it supports stripping any target"
- ewarn "define STRIP=\"llvm-strip\" to use it (experimental)"
- ewarn
- fi
- done
- fi # I_KNOW_WHAT_I_AM_DOING_CROSS
-
- einfo "Rust configured with the following flags:"
- echo
- echo RUSTFLAGS="${RUSTFLAGS:-}"
- echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}"
- echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}"
- env | grep "CARGO_TARGET_.*_RUSTFLAGS="
- cat "${S}"/config.env || die
- echo
- einfo "config.toml contents:"
- cat "${S}"/config.toml || die
- echo
-}
-
-src_compile() {
- # we need \n IFS to have config.env with spaces loaded properly. #734018
- (
- IFS=$'\n'
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
- "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
- )
-}
-
-src_test() {
- # https://rustc-dev-guide.rust-lang.org/tests/intro.html
-
- # those are basic and codegen tests.
- local tests=(
- codegen
- codegen-units
- compile-fail
- incremental
- mir-opt
- pretty
- run-make
- )
-
- # fails if llvm is not built with ALL targets.
- # and known to fail with system llvm sometimes.
- use system-llvm || tests+=( assembly )
-
- # fragile/expensive/less important tests
- # or tests that require extra builds
- # TODO: instead of skipping, just make some nonfatal.
- if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
- tests+=(
- rustdoc
- rustdoc-js
- rustdoc-js-std
- rustdoc-ui
- run-make-fulldeps
- ui
- ui-fulldeps
- )
- fi
-
- local i failed=()
- einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
- for i in "${tests[@]}"; do
- local t="src/test/${i}"
- einfo "rust_src_test: running ${t}"
- if ! (
- IFS=$'\n'
- env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \
- "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \
- -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}"
- )
- then
- failed+=( "${t}" )
- eerror "rust_src_test: ${t} failed"
- fi
- done
-
- if [[ ${#failed[@]} -ne 0 ]]; then
- eerror "rust_src_test: failure summary: ${failed[@]}"
- die "aborting due to test failures"
- fi
-}
-
-src_install() {
- (
- IFS=$'\n'
- env $(cat "${S}"/config.env) DESTDIR="${D}" \
- "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
- )
-
- # bug #689562, #689160
- rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
- rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
- newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
-
- local symlinks=(
- cargo
- rustc
- rustdoc
- rust-gdb
- rust-gdbgui
- rust-lldb
- )
-
- use clippy && symlinks+=( clippy-driver cargo-clippy )
- use miri && symlinks+=( miri cargo-miri )
- use rls && symlinks+=( rls )
- use rustfmt && symlinks+=( rustfmt cargo-fmt )
-
- einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}"
- local i
- for i in "${symlinks[@]}"; do
- # we need realpath on /usr/bin/* symlink return version-appended binary path.
- # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver>
- # need to fix eselect-rust to remove this hack.
- local ver_i="${i}-${PV}"
- if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then
- einfo "Installing ${i} symlink"
- ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
- else
- ewarn "${i} symlink requested, but source file not found"
- ewarn "please report this"
- fi
- dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
- done
-
- # symlinks to switch components to active rust in eselect
- dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
- dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}"
- dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
- dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
- dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
-
- newenvd - "50${P}" <<-_EOF_
- LDPATH="${EPREFIX}/usr/lib/rust/lib"
- MANPATH="${EPREFIX}/usr/lib/rust/man"
- $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
- $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
- _EOF_
-
- rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
- rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
-
- # note: eselect-rust adds EROOT to all paths below
- cat <<-_EOF_ > "${T}/provider-${P}"
- /usr/bin/cargo
- /usr/bin/rustdoc
- /usr/bin/rust-gdb
- /usr/bin/rust-gdbgui
- /usr/bin/rust-lldb
- /usr/lib/rustlib
- /usr/lib/rust/lib
- /usr/lib/rust/libexec
- /usr/lib/rust/man
- /usr/share/doc/rust
- _EOF_
-
- if use clippy; then
- echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
- echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
- fi
- if use miri; then
- echo /usr/bin/miri >> "${T}/provider-${P}"
- echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
- fi
- if use rls; then
- echo /usr/bin/rls >> "${T}/provider-${P}"
- fi
- if use rustfmt; then
- echo /usr/bin/rustfmt >> "${T}/provider-${P}"
- echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
- fi
-
- insinto /etc/env.d/rust
- doins "${T}/provider-${P}"
-}
-
-pkg_postinst() {
- eselect rust update
-
- if has_version sys-devel/gdb || has_version dev-util/lldb; then
- elog "Rust installs a helper script for calling GDB and LLDB,"
- elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
- fi
-
- if has_version app-editors/emacs; then
- elog "install app-emacs/rust-mode to get emacs support for rust."
- fi
-
- if has_version app-editors/gvim || has_version app-editors/vim; then
- elog "install app-vim/rust-vim to get vim support for rust."
- fi
-}
-
-pkg_postrm() {
- eselect rust cleanup
-}
diff --git a/dev-lang/rust/rust-1.56.1.ebuild b/dev-lang/rust/rust-1.56.1.ebuild
index 553d52f0fdb9..c9a8ac4881ee 100644
--- a/dev-lang/rust/rust-1.56.1.ebuild
+++ b/dev-lang/rust/rust-1.56.1.ebuild
@@ -6,7 +6,7 @@ EAPI=7
PYTHON_COMPAT=( python3_{7..10} )
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
- multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
+ multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *beta* ]]; then
betaver=${PV//*beta}
diff --git a/dev-lang/rust/rust-1.57.0.ebuild b/dev-lang/rust/rust-1.57.0.ebuild
index ce838e966d1b..39b05b5407cd 100644
--- a/dev-lang/rust/rust-1.57.0.ebuild
+++ b/dev-lang/rust/rust-1.57.0.ebuild
@@ -6,7 +6,7 @@ EAPI=7
PYTHON_COMPAT=( python3_{7..10} )
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
- multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
+ multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *beta* ]]; then
betaver=${PV//*beta}
diff --git a/dev-lang/scala/Manifest b/dev-lang/scala/Manifest
index a7cf8c51caa8..4034a8c5b4e0 100644
--- a/dev-lang/scala/Manifest
+++ b/dev-lang/scala/Manifest
@@ -22,6 +22,6 @@ DIST scala-2.12.4-nest.jar 2920 BLAKE2B 3c48a2ea7501be03ede0fd9c1f907508491299cd
DIST scala-2.12.4-sbt-deps.tar.xz 34841672 BLAKE2B 0f1577bba65eb5863013014b16627c28934f13e84a6ed0a52748e2007417ae074bcb4b68650993d870f4ada872248d489f84ea02ee19521dd9ce8faae963e221 SHA512 74455451e77f0d935c8027e67b898e5eec9e984158292a37a4362072f4922eb53dfe9ddd5d52da8066fb8949c6469bff70405df8581633a49a37c8b900c6885e
DIST scala-2.12.4-vizant.jar 15910 BLAKE2B 393ddd38ff2528b9c54fbb2b79111858a2dfeab66e4b10daf4e23d113963edb3002db8c9415fe47557736a63ecef4b198bd90b87a54240a9a43823fdab0f3082 SHA512 4464d7349016f4999199e227e8eaf7bb3ef6b7e38ad0e8e710faad55df2e1243d99b53b9a789a1ffd3c39aef0d979dffc543f4691feae68cfa743e51bcf61390
DIST scala-2.12.4.tar.gz 5999529 BLAKE2B 5dfeadb9ac9562dd825f6a41f9cabdd353f669a58dc3aaec714d6155e9e598296c1e31dcc8956a24a97103e3449fb8f8c3a9ebe5e52dd405572d59ccae89c5e6 SHA512 cad6d54777a3ad4d26df5b4d5cecbbdb4a91ecb17cbf791fe259735221d33f9dd17a14e86f5e3520464078ad9ef68581e722e3c0d7494436bf356c79a9d31697
-EBUILD scala-2.12.10.ebuild 5507 BLAKE2B fec89b83fb26559234edbe20e0d03e7d7bf07fca48385c783cc5326f2262740fc04df70a798bd2967540ffaac7d387583eb65ab8ba7a8800d8b3f8cfd312873e SHA512 7ebb583765d0040e0d75ea6dec0d0684924aa7556aea79e00960133ff2d0e336de9b326491b648c35f197185150dc89309874544a0d87fb7522d1c3a9fe67f51
-EBUILD scala-2.12.4.ebuild 7248 BLAKE2B fbb18e8246d2a584ea768268437e18503e929f1fc714f8c7493caddadce15b357585be99416d78142cf497390444780a5fc0f08b9cbdd697684c4fa75658301f SHA512 4ba07f182a2490156286528d598871854498c1ee2c81779261b987cb728f0d14bb9e815648060863b638e0b0e1d62a16e31765d48a03003eb53b0cdd2bbc6e86
+EBUILD scala-2.12.10.ebuild 5482 BLAKE2B 4cbee8a9c95f285fb839faac50b503f11af08b5beabb2747551a8460c98969ff56bb99e8ddc3c83a92ff76f766fcfdb88547335edc9ff42f610ab5c309ff05c8 SHA512 f0aa1879e8a825a250fd7c24173f0708469b83ba00fc7c885f21b78de15a92abbbd26f3cfcb8a662e3e5b8c8d7a267315e450c03fbefe8b470bd09ea4b263063
+EBUILD scala-2.12.4.ebuild 7245 BLAKE2B ad043af82810eec37776ec3a771e3a0805ac145062cbfbb0ec1b155432b6e2152debfb617772bbc98aba3d68c78f841405f7060ac49dcaab9c3d8a6453d3992e SHA512 6fecc048fa89edda91673c6686eecf9d7f30857a7cd5791144623794154956aae7e99b721947b991122ceff390359205fe5f4225488deb8c70c8d0c20cd09283
MISC metadata.xml 479 BLAKE2B 8927ad38cb58fcc55fef40f95a1e57c2172a8ca8b6994f71a92fe0e10065b80ece596696afe93595e7f6c27959d4025d5670a41bd7dfece649faaf4f7dd7ed8d SHA512 f8ed5a95195ac7d96c22d0e8b7e65e0e5d624fae245b976b1486a93910ef9b9a9cc20b9c31363085868bf120589247ddc607f22b583ba65b247b84acd4e0763f
diff --git a/dev-lang/scala/scala-2.12.10.ebuild b/dev-lang/scala/scala-2.12.10.ebuild
index 466ca0b73817..55b8c7fa565a 100644
--- a/dev-lang/scala/scala-2.12.10.ebuild
+++ b/dev-lang/scala/scala-2.12.10.ebuild
@@ -57,13 +57,10 @@ COMMON_DEP="dev-java/ant-core:0
DEPEND="${COMMON_DEP}
!binary? (
- >=virtual/jdk-1.8:*
>=dev-java/sbt-${SBTV}:0
media-gfx/graphviz
)
- binary? (
- >=virtual/jdk-1.8:*
- )
+ >=virtual/jdk-1.8:*
app-arch/xz-utils:0"
RDEPEND="${COMMON_DEP}
@@ -130,7 +127,7 @@ src_prepare() {
gjl_package=sbt
gjl_jar="sbt-launch.jar"
gjl_java_args="-Dsbt.version=${SBT_PVR} -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -Duser.home="${WORKDIR}""
- source /usr/share/java-config-2/launcher/launcher.bash
+ source "${EPREFIX}"/usr/share/java-config-2/launcher/launcher.bash
EOF
chmod u+x "${S}/sbt" || die
diff --git a/dev-lang/scala/scala-2.12.4.ebuild b/dev-lang/scala/scala-2.12.4.ebuild
index 99b7b67f1135..fc66541405ac 100644
--- a/dev-lang/scala/scala-2.12.4.ebuild
+++ b/dev-lang/scala/scala-2.12.4.ebuild
@@ -83,9 +83,7 @@ DEPEND="${COMMON_DEP}
>=dev-java/sbt-0.13.13
media-gfx/graphviz
)
- binary? (
- >=virtual/jdk-1.8
- )
+ >=virtual/jdk-1.8
app-arch/xz-utils:0"
RDEPEND="${COMMON_DEP}
@@ -146,7 +144,7 @@ src_prepare() {
gjl_package=sbt
gjl_jar="sbt-launch.jar"
gjl_java_args="-Dsbt.version=0.13.13 -Dfile.encoding=UTF8 -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -Duser.home="${WORKDIR}""
- source /usr/share/java-config-2/launcher/launcher.bash
+ source "${EPREFIX}"/usr/share/java-config-2/launcher/launcher.bash
EOF
chmod u+x "${S}/sbt" || die
diff --git a/dev-lang/spark/Manifest b/dev-lang/spark/Manifest
index d2523c52263d..e24eca4cf84b 100644
--- a/dev-lang/spark/Manifest
+++ b/dev-lang/spark/Manifest
@@ -1,5 +1,5 @@
AUX spark-2021-gentoo.patch 860 BLAKE2B 6eb65c19b604a8d9370bf4da87899c1b8471c52763c17b97322856ddb701e46f6d5c5de03df204c287c728413e5ab8de2f320c75d9c3acb049abad62360037da SHA512 ac636251eb45868430e46d0f5566ab655dc5a223bd44fa4b76bd75c679779cc037bf6ef376f9f4ec22a90b1347bf302d382e1d540b448acb6308c1b3e33036ec
DIST gnat-2021-20210519-19A70-src.tar.gz 8765762 BLAKE2B ef48f54c6109566e37bfa5dee9262305d0529b3dfd333ee28bc4e66f4709a0673f673d742bc04deb15dc145404f7618d350dbdf3f2a7ab37c861e57d011946fa SHA512 3cb79be024fdd9b738d99ffc8e224d32bb382b5da2d02b97b2061a5ea58456f33d4564c92e224af2713ce15fd5481edd715e5b9a52abc74fdc142f27e103c201
DIST spark-2021-2021-20210519-19A1A-src.tar.gz 11361491 BLAKE2B 67f8d27ae68ef4929aafaf96c470394e093883619c5c778e804f1ff62c297d5a3f628e04e987fb06741cb824710599928a7ec3b94fa6d7af029cff35be0898c3 SHA512 b595516892f6054d3c856c30c4296be9cd61adca3ea2cffe3c9060fbab249d36ce1b8fff6f80e1e8173ef6e232dd9c2da8a581ae9964845120c03d09896b635c
-EBUILD spark-2021.ebuild 2398 BLAKE2B b0c6a6de5f743893d9b2e352d2a8fda3c9e1e868a2a4a9e22c525650360159f988094e7ed2d9d518a75165fd5637bdd4050735abc818f4b2250fe007676c9640 SHA512 723bffa8d6a920d9a8e8888d6ead585deaf651247e6a988ec199adddb6c796cc9d6092cb45aad23a2e8953bc3bf0054fd1a73c4917972448df80aa62bd1d55d4
+EBUILD spark-2021.ebuild 2397 BLAKE2B 53662e441b8e8d8b85f5be564d9ca2c31dc559a0f6f59125855b6b9f53101f6b2ea99838e718a859184df5ddcd4c408a8c204f0c9c6c339d38ac50a65b51962d SHA512 8ae3218a3e4504166b8827618c82d1c59f695ea54e365acb498db387ed359e8860fac9a358d9ed2ac5b8fb362e6178732c3451a163e0d459fe47099daa08b41d
MISC metadata.xml 671 BLAKE2B b4bbfa26668fcec46cc224b60c1c62ac09f5e11314a32ea1288614b12029f989aa234305f0dbbb66f63b15a809d3f17261ef1155c0b72ea87bc29e3ccdf2c56f SHA512 e804dcad5593c98c9e4d5624be0e6dfa78545a48e46510b5d76c21da59dbe2c632495d96244dbaca91105a3b09efcafc759f1866311a365744887733c1a60670
diff --git a/dev-lang/spark/spark-2021.ebuild b/dev-lang/spark/spark-2021.ebuild
index a2e41c04602f..9e53597a8dc3 100644
--- a/dev-lang/spark/spark-2021.ebuild
+++ b/dev-lang/spark/spark-2021.ebuild
@@ -14,7 +14,7 @@ MYP=${P}-2021-20210519-19A1A-src
GNATID=005d2b2eff627177986d2517eb31e1959bec6f3a
GNATDIR=gnat-${PV}-20210519-19A70-src
-DESCRIPTION="Software development for high-reliability applications."
+DESCRIPTION="Software development for high-reliability applications"
HOMEPAGE="http://libre.adacore.com"
SRC_URI="${ADA_MIRROR}/${ID}?filename=${MYP}.tar.gz -> ${MYP}.tar.gz
${ADA_MIRROR}/${GNATID}?filename=${GNATDIR}.tar.gz -> ${GNATDIR}.tar.gz"
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index dc941f22fa80..f354df79ba0a 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -8,17 +8,7 @@ AUX spidermonkey-68.0-add-riscv-support.patch 4328 BLAKE2B 64ef005bff60ce3cc3e69
AUX spidermonkey-perl-defined-array-check.patch 341 BLAKE2B e11a74cc2afbea5e39ec5f3fb4c108278a8b71b57ce71644184bc4e19188059f6cb9c164ab87877605028241ed0b68a1447414f1aa0f5453fa26a603ecd4f6a6 SHA512 5d178b68cf0744da874624da79cd31555bd882aed205e697a3f0bfc3cb91a149d74da79b7af5883ea5a23e1d1692753ebfda0d83e7a25ac000105849db5c1548
DIST firefox-68.0-patches-15.tar.xz 16060 BLAKE2B f9e6cd58ea51bed1af90a9d30fd551dc7e939afcd1b4d00de1271bd4bda94021c6f1799fd9945962c14ffa1fd0b6a6429369c4e45efc2000f179b9b2e46971e7 SHA512 9cb2479637dd8b84e0ab68dc0fe144acd2dc74feca282fd3c4b485ca6f0de8190244587622713a5421b243ccda153f738e9a8f463e87e15e93e9b725d943e128
DIST firefox-68.12.0esr.source.tar.xz 313856956 BLAKE2B eeaa4acc9fabf15ec1b313170a30cee8e1fc10a8b08512b915b83b7d6a81c09b365733ed94638bd434864fd7b0cb8cbf1bc2e43441be69e31117e8e6a099234c SHA512 839b02422e4c87bdb12e0995cd35ca8c1996f3fba00bbb46b419e46b67df5ec48a264cb14632db777ce29166ee4fdcb06e2ee3ce847e64328c58c9a2f9129f4c
-DIST firefox-78.10.1esr.source.tar.xz 334444960 BLAKE2B 76f9bae7f9fddbf3ab14293d1ec9e51b173961d0d5e0e1ef98b65328294f520369b89fb300a91d9f502b93215a15c228925a469b7b14ec576c9a9be874a6561a SHA512 a22773d9b3f0dca253805257f358a906769d23f15115e3a8851024f701e27dee45f056f7d34ebf1fcde0a3f91ec299639c2a12556e938a232cdea9e59835fde1
-DIST firefox-78.11.0esr.source.tar.xz 333002576 BLAKE2B a8268886f86afb41b86d227f8a8f642674ea9c0a85365acb517c6997099dbddad9779efa772cce645da6443a78d6e94c89a750152386f8dff7bbbf31bf5df129 SHA512 d02fc2eda587155b1c54ca12a6c5cde220a29f41f154f1c9b71ae8f966d8cc9439201a5b241e03fc0795b74e2479f7aa5d6b69f70b7639432e5382f321f7a6f4
-DIST firefox-78.12.0esr.source.tar.xz 333737488 BLAKE2B 775a55511a48f4210807d2648833bca6f95d9f4cd48b5d0de8cf0bf2609590c1615fca7ff855ae3643a25466d131e15dc293e6a57aa05e1d91d2cf819b0b89ca SHA512 646eb803e0d0e541773e3111708c7eaa85e784e4bae6e4a77dcecdc617ee29e2e349c9ef16ae7e663311734dd7491aebd904359124dda62672dbc18bfb608f0a
-DIST firefox-78.13.0esr.source.tar.xz 333506484 BLAKE2B 1922e2f6b2ada46e581e4eaaa388873d31c6a922e5165ba225eeaccde5c1c6d7369a57ecf8e89371a34f692dca5754a461abb7d1c9bfda9cbc4f021d39549439 SHA512 78a5dc8713ab879ebfc3b8fd7a8219844d06f0d897342fdf9a11471633d98e148ff85cf10e561899df4910b94a33b57709b64788df4621a8c0b83eb9a7102cef
-DIST firefox-78.14.0esr.source.tar.xz 340771180 BLAKE2B 7b83bf081138fbf2367116099839c6d05ec5ade58f183ba033c5167d503a2a1f40976f88bdba680a7a8df7c66ac32449004e58a5211f16086b792a2b41e27c67 SHA512 5d5e4b1197f87b458a8ab14a62701fa0f3071e9facbb4fba71a64ef69abf31edbb4c5efa6c20198de573216543b5289270b5929c6e917f01bb165ce8c139c1ac
DIST firefox-78.15.0esr.source.tar.xz 330819568 BLAKE2B dc8785613c2f72c55d484642c89c2545765a9efbd609bc7c2cf57b4a3a06a2ea22e6959e42b5b8af867db782e8b2097a67dec858796b744e47008a8e575e2316 SHA512 ac3de735b246ce4f0e1619cd2664321ffa374240ce6843e785d79a350dc30c967996bbcc5e3b301cb3d822ca981cbea116758fc4122f1738d75ddfd1165b6378
-DIST firefox-78esr-patches-13.tar.xz 83664 BLAKE2B 92250d5bc3821ee1ff032236bd00e01a53e0af4f9e39696a634edb39f0a182bf5ff74b7fc0f107c9c53136c64485c398391e3a857c8b2b904115fd13d17e2a4f SHA512 96739811bea833a6a9cb09075dfe49c6fa7f613e8bd41e1d830d6ae6851ce8e2f5d27c87d0035b6f3a099340dfd7eebe6ecb930ff25079e76cea92a7610293ca
-DIST firefox-78esr-patches-14.tar.xz 82976 BLAKE2B 08cc3618c8069f4169b7647e7eb699153d558bb89f8a4f1ed74d5ccd339f77119cd8f253df011f0c2f255ad889b65e843171d7559f469788463ca7e9aa2e96aa SHA512 1611c6f9d2c7d586e7b53810c1cfdb2682f5d289b1b019b71694b1ab2d8bbdfe827a73cfaf59f7e4808c0b90409ca4fa57e27655d8cdf0c578ffdbad33659f26
-DIST firefox-78esr-patches-15.tar.xz 65604 BLAKE2B 86e421e555ffd5f7f201d0f1a1c446c649739c67cdf8dca536efa115e09d9c357ce1551b7270c77e8bfe7dd53e0f3e6386496283879cf5e0c59b3c864951ebb3 SHA512 b229e895f083a0404cda1da0d8ae937429d5975ac52ab20e8b15611d9c737381a1076ebfa8c8a127dacac0e12a2a905ffd579facde2d80c6facc911e5739e34b
-DIST firefox-78esr-patches-16.tar.xz 55964 BLAKE2B 79d3a465c69656bb55ee7c1e9060606464b6404435b92f534db275521ac2343e045feae1fff6166fde9e2599a82cd982b0b2395271b1033f0f784e745e2c6965 SHA512 3aa971c726646cbf37a14a0dba6c4ac966b88db655cd8b730c5572543bfbf682991ee7c139889541e4f6936c13f27233dc1837fbdb9ee340b33ebb2cec59b01f
-DIST firefox-78esr-patches-17.tar.xz 56004 BLAKE2B 01d2ded2658c24176a3d13d0267d1c4df4ef0113c5c40b1002acd39a0f04db35b773bc617afed1c681df3ec38120621a5c3753ba2d36688d7d5926233bfb8501 SHA512 43b372b848c1f30e02505d06bbb11f5b80d976fe7ee39c0d2aacf60d48bc1d3e378c325f4e2fd4730b971e88c3bd902539a7b81874f53b8b92369f876e05be5e
DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a695f52c4712f3b28733648fcd7dac5a599613f4c3d2cfa169266dc62b65619b7f28c0e06d32317adb8ec0056ca79c87e9f6 SHA512 3c81dadc9bf74207c4e361605127ef6141d77700c5c54f1f9cd5ad3be13df9f73c6eec2f51d779558e4bdad1e7395c6aa8943a93415bd1786d461042bc03550a
DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718
DIST mozjs-52.9.1pre1.tar.bz2 30178574 BLAKE2B 0920432b5140e78297a9bcbccb54268d75a223d5e75e4ff90b3b01aab4f7736b4a4e05c47b3a925ff0a74607a0abad3b6583c75d070ef5142009b20ebaf6e4bf SHA512 187b231b246a5ae09e55c0fef77866b316d75f38f4c2e066d5d4325d8da63433027020c929439cab46af3253ac63ab2f780223a8fd2c6ff535b3409bb6c4aa0f
@@ -29,13 +19,8 @@ DIST spidermonkey-68.6.0-patches-04.tar.xz 5956 BLAKE2B b1250391a5173e676272d592
DIST spidermonkey-78-patches-04.tar.xz 3408 BLAKE2B f2fdd4882e1e4de1908c458dc8dfedd5665ef7118f19704dabf2b2a80e2fae48813e9bc3d0c3410287e32c21e3f9d09233d8e5d15917f53aa2f60e6190cd9cdb SHA512 87ac83c0ccc05f482913b1fbf043db1878536f935f934362a47283809c0cbfdeff040206a9c18c687384b606ba8a7bd9a7c1fc3c0bcfdd620987990a33ca1fe2
DIST spidermonkey-slot0-patches-02.tar.xz 10952 BLAKE2B fb7bf5cdac6c821a48d407ff172fe0ec7297e047d3b3bab952f226f413b83ea70325175b41c1680725ff588111b424efc97a0c66e392989da510c43d38528ff1 SHA512 cd62890c4b58658d99fc1b52f05ccb35c07da835b168bb9d5e6b219de5021122c199cc2255c5b0be01ef582f53dd51c9975921e6bde9f14e9b43536e2bee85f2
EBUILD spidermonkey-1.8.5-r10.ebuild 4000 BLAKE2B c150d2215de328dc57f3868db23b74135e63ed278edff61ff28663a6ea7556c03bc47bd62fc16dffbda697dd7b5f1d2d30b72f0ba1cb919bd0b84da39abf5508 SHA512 951d6daf23ae5ce5f5f900ef452e1e5d928584cc20f28d9d30ac234cc2047b3d79b19ca54dbd5722dc133f34f0605780e973e62612cfee0a42051cd357738905
-EBUILD spidermonkey-52.9.1_pre1-r4.ebuild 4596 BLAKE2B c6fc6d671fb6d3cedc6cb07f57fc98770c0fb20f3552cd8a88f8bcde57563cfe352757c8684a6026aaae3db588ad11b3ce3de27b4ade858690e13340cd2fa839 SHA512 8f43d1c741e57939e6b3e8a93ec46598a927bbf3ac6f0cbf33176cc0418ef2b44dc89540f37e83122e3bae27dcf95ffc8b0af373f41b6432ae6efa2f723e8297
-EBUILD spidermonkey-60.5.2_p0-r6.ebuild 4243 BLAKE2B 241ddff023bd60a1541a9e1681cbd1b233cf64fe22e39d91363ed0b0f5cf723f8812f8fa46e8c7e8e5ae1ec0b7e5b590404185bdae10cf46715bf1823da27426 SHA512 1a01517a201ad105bed700a24a60e9d91ef729ae22aa497a044c68dfdaa3e21612e74fdab388ae0f5d3f4acf21c72e55d2d2b3752a95e5bd88edd6ef3d321a63
+EBUILD spidermonkey-52.9.1_pre1-r4.ebuild 4391 BLAKE2B 2802f20473c1f6855a3f0580f10c0d78f3f6207d293b4146d26a275f8bdc7691339d3de626add2f9cc4a3732e1005613bba8cec2faff906d703fa71ec48a6944 SHA512 dd395c788a1ee98f5a5bb88bade6cd0784d377dc6f5ed983ca85ce1ae7815315e75301430850983ebfbe74cdc866e681389665b49142a375da8d183baf50a4b4
+EBUILD spidermonkey-60.5.2_p0-r6.ebuild 4038 BLAKE2B a448286bcfeb5d264b7ab1aac7a817576a85d5db187d56f6a4353ea8bbd08579fe8d9db72429255ea0fffa429ab3892e4d7478f9bec3911bec9fc98ce21bc49a SHA512 9f72e297efdb74e780916e63453ad391aeab44540cb4150bfecb18a512b85be9dc3f5e0af4fa83f2debad35187ba83c3b91396a3959d42fdf947a061f93beddf
EBUILD spidermonkey-68.12.0.ebuild 7485 BLAKE2B 03281a3cd04a3fb9e54175da6063047e9fa7bbde08689cf31295f4a839e5db74582824904cef5bc501090c4402a6b0f6d3bf85c4d6fe4a51049f8d6f3bf529ba SHA512 e33931bae78420f7ebcec2e59e8ae16094fb473c6248de96ae6a23fcb86ef10e4c0bae3b6407a4c8df4acc09b1bf1d5d2c6a1a1246ee7da417e6c7914c131f5d
-EBUILD spidermonkey-78.10.1.ebuild 13020 BLAKE2B 1df644878ca6ced6f09412392dcf44a09226e8d7d436c5ead8e94d332d931aa3dd734565ca2e4c670871cf04c755b3b271640db34bbbcfdeb334187adb0d9e6f SHA512 c95d1e675d3c7822b5df2373c45e5535ea6ab7b0141a855c9a3d593edd9544de4faf975dbdc9bab276b5cdef8d96a736781aa24ac84574414eb08f66d9fab059
-EBUILD spidermonkey-78.11.0.ebuild 13023 BLAKE2B 5c6ac236be68d84fa31d433f425f3298ca114abd206312da92098284478a4e8f40b8358b8298cd3e7f340fb3ce7cc6e7c5609da87a3f2b7f123b2c09a0ac0779 SHA512 7f55e7770c7e3e7bb6ebb7bccf432934e0cdd585b04ed7d0612ddf667eda0bed8c6102dc7d687c9afc5b44cb693c51989766e1c42523e6372471b0001b9719f1
-EBUILD spidermonkey-78.12.0.ebuild 13021 BLAKE2B e0c048fc9845d7b24e72df1efb67764bfc9570efc2a40e753bd3d222ebfe297168a229242a5439e6922bad5b6d4f6275b6b6df52ca50a173049f394d6f8e41d1 SHA512 1748dd580ef80259e81586b24a07495ffd43ca94d6f794e2cd36849396e04e421cb2a40d1c17cf6a9cf7ef215adf31af9cb4de74a31edef7f6c8d60f3f098e3b
-EBUILD spidermonkey-78.13.0.ebuild 13025 BLAKE2B eaaf4df87e0497daeb4bfb2a554f9f2009a64d94e02d94c9a852e3db4047d419132abc671898ce7beb239ee88721eac8be8ce794a5e9abaa2840ae4e87eadd6e SHA512 a8223fb84b0174b24845e8c226662823d196019d10989b08cf4c3c2975609799510edc3b25bb922d86b23bf58c8f6f4c1051cac14e9281ed90942dc926b4069d
-EBUILD spidermonkey-78.14.0.ebuild 13021 BLAKE2B a321dbcb5856cf9f86c462f06c26c2f004f2bf0a9fce72392a4f8ead7b06e7f617eb362274ad8f9bb324d447f45ac735da0d52fd88321558faa44a6dcffb13e7 SHA512 1f32f4747a6fc2e66f256db53f5db502c75cab0c6f2ed31bf6aafc265155c1bd0d66cfdccdf17ab6272ef01f00523960eed885777b13089b0ee6f90a21cecf2c
EBUILD spidermonkey-78.15.0.ebuild 13143 BLAKE2B 04dc5b1b40f225ea4bd81b8c57af14310508622f6ac9a65e057555b4437bda5afbd760a904ddb390a5daecb059f8810f2f15dd2aa7507ed7e2a2ffce4b9945f1 SHA512 14d7769b69e36fba632c3bce629dddfdb7df23144465e21057fb5b00c8f16ee8be8fdf89a3f8298dd848bd741e875f057de7e1e0faa1c45efd2f655c83a7cb8a
MISC metadata.xml 869 BLAKE2B 79d6ea91e84e3bb666797cde6b2993282ff1b4266dfa835eaf02d8aa65d5d000729b149a49c9fa5c8dbf12e4b97b46d976243c888834db9df73a8a5c814aa610 SHA512 f78399a1ad88583c50ad1e967f5ba293cdfff7d58cf26b87bd8888c7102b62d42ef1982d1b8462f3d31f0806b6cead8db28b7f0c7b12c08d3871607b5a4c63cc
diff --git a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild
index ac001314d8a5..0c0d352f3bd5 100644
--- a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -56,11 +56,6 @@ src_prepare() {
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
diff --git a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r6.ebuild b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r6.ebuild
index b0ea339891c7..57b7d6d43d40 100644
--- a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r6.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -54,11 +54,6 @@ src_prepare() {
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
diff --git a/dev-lang/spidermonkey/spidermonkey-78.10.1.ebuild b/dev-lang/spidermonkey/spidermonkey-78.10.1.ebuild
deleted file mode 100644
index 3e0a2584eef4..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-78.10.1.ebuild
+++ /dev/null
@@ -1,454 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-# Patch version
-FIREFOX_PATCHSET="firefox-78esr-patches-13.tar.xz"
-SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-04.tar.xz"
-
-LLVM_MAX_SLOT=12
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-WANT_AUTOCONF="2.1"
-
-inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
-
-MY_PN="mozjs"
-MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
-
-MY_MAJOR=$(ver_cut 1)
-
-MOZ_ESR=yes
-
-MOZ_PV=${PV}
-MOZ_PV_SUFFIX=
-if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
- MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
-
- # Convert the ebuild version to the upstream Mozilla version
- MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
- MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
- MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
-fi
-
-if [[ -n ${MOZ_ESR} ]] ; then
- # ESR releases have slightly different version numbers
- MOZ_PV="${MOZ_PV}esr"
-fi
-
-MOZ_PN="firefox"
-MOZ_P="${MOZ_PN}-${MOZ_PV}"
-MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
-MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
-
-MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
-
-if [[ ${PV} == *_rc* ]] ; then
- MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
-fi
-
-PATCH_URIS=(
- https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET}
- https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
-)
-
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
- ${PATCH_URIS[@]}"
-
-DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-
-KEYWORDS="amd64 arm arm64 ~mips ppc64 ~riscv ~s390 x86"
-
-SLOT="78"
-LICENSE="MPL-2.0"
-IUSE="clang cpu_flags_arm_neon debug +jit lto test"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
- >=virtual/rust-1.41.0
- virtual/pkgconfig
- || (
- (
- sys-devel/llvm:12
- clang? (
- sys-devel/clang:12
- lto? ( =sys-devel/lld-12* )
- )
- )
- (
- sys-devel/llvm:11
- clang? (
- sys-devel/clang:11
- lto? ( =sys-devel/lld-11* )
- )
- )
- (
- sys-devel/llvm:10
- clang? (
- sys-devel/clang:10
- lto? ( =sys-devel/lld-10* )
- )
- )
- )
- lto? (
- !clang? ( sys-devel/binutils[gold] )
- )"
-
-CDEPEND=">=dev-libs/icu-67.1:=
- >=dev-libs/nspr-4.25
- sys-libs/readline:0=
- >=sys-libs/zlib-1.2.3"
-
-DEPEND="${CDEPEND}
- test? (
- $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
- )"
-
-RDEPEND="${CDEPEND}"
-
-S="${WORKDIR}/firefox-${MY_PV}/js/src"
-
-llvm_check_deps() {
- if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
- ewarn "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if use clang ; then
- if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
- ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if use lto ; then
- if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
- ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
- fi
- fi
-
- einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
-}
-
-python_check_deps() {
- if use test ; then
- has_version "dev-python/six[${PYTHON_USEDEP}]"
- fi
-}
-
-pkg_pretend() {
- if use test ; then
- CHECKREQS_DISK_BUILD="7600M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use test ; then
- CHECKREQS_DISK_BUILD="7600M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_setup
-
- llvm_pkg_setup
-
- if use clang && use lto ; then
- local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
- [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
- [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
- fi
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- python-any-r1_pkg_setup
-
- # Build system is using /proc/self/oom_score_adj, bug #604394
- addpredict /proc/self/oom_score_adj
-
- if ! mountpoint -q /dev/shm ; then
- # If /dev/shm is not available, configure is known to fail with
- # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
- ewarn "/dev/shm is not mounted -- expect build failures!"
- fi
-
- # Ensure we use C locale when building, bug #746215
- export LC_ALL=C
- fi
-}
-
-src_prepare() {
- pushd ../.. &>/dev/null || die
-
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
-
- eapply "${WORKDIR}"/firefox-patches
- eapply "${WORKDIR}"/spidermonkey-patches
-
- default
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- # use prefix shell in wrapper linker scripts, bug #789660
- hprefixify "${S}"/../../build/cargo-{,host-}linker
-
- einfo "Removing pre-built binaries ..."
- find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- MOZJS_BUILDDIR="${WORKDIR}/build"
- mkdir "${MOZJS_BUILDDIR}" || die
-
- popd &>/dev/null || die
- eautoconf
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current CFLAGS: ${CFLAGS}"
- einfo "Current CXXFLAGS: ${CXXFLAGS}"
- einfo "Current LDFLAGS: ${LDFLAGS}"
- einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
-
- local have_switched_compiler=
- if use clang && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- elif ! use clang && ! tc-is-gcc ; then
- # Force gcc
- have_switched_compiler=yes
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if [[ -n "${have_switched_compiler}" ]] ; then
- # Because we switched active compiler we have to ensure
- # that no unsupported flags are set
- strip-unsupported-flags
- fi
-
- # Ensure we use correct toolchain
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- cd "${MOZJS_BUILDDIR}" || die
-
- # ../python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- local -a myeconfargs=(
- --host="${CBUILD:-${CHOST}}"
- --target="${CHOST}"
- --disable-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)
- $(use_enable test tests)
- )
-
- if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- myeconfargs+=( --enable-rust-simd )
- fi
-
- # Modifications to better support ARM, bug 717344
- if use cpu_flags_arm_neon ; then
- myeconfargs+=( --with-fpu=neon )
-
- if ! tc-is-clang ; then
- # thumb options aren't supported when using clang, bug 666966
- myeconfargs+=( --with-thumb=yes )
- myeconfargs+=( --with-thumb-interwork=no )
- fi
- fi
-
- # Tell build system that we want to use LTO
- if use lto ; then
- myeconfargs+=( --enable-lto )
-
- if use clang ; then
- myeconfargs+=( --enable-linker=lld )
- else
- myeconfargs+=( --enable-linker=gold )
- fi
- fi
-
- # LTO flag was handled via configure
- filter-flags '-flto*'
-
- if tc-is-gcc ; then
- if ver_test $(gcc-fullversion) -ge 10 ; then
- einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
- append-cxxflags -fno-tree-loop-vectorize
- fi
- fi
-
- # Show flags we will use
- einfo "Build CFLAGS: ${CFLAGS}"
- einfo "Build CXXFLAGS: ${CXXFLAGS}"
- einfo "Build LDFLAGS: ${LDFLAGS}"
- einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
- # Forcing system-icu allows us to skip patching bundled ICU for PPC
- # and other minor arches
- ECONF_SOURCE="${S}" \
- econf \
- ${myeconfargs[@]} \
- XARGS="${EPREFIX}/usr/bin/xargs"
-}
-
-src_compile() {
- cd "${MOZJS_BUILDDIR}" || die
- default
-}
-
-src_test() {
- if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
- einfo "Smoke-test successful, continuing with full test suite"
- else
- die "Smoke-test failed: did interpreter initialization fail?"
- fi
-
- local -a KNOWN_TESTFAILURES
- KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js )
- KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js )
- KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleString_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleDateString_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/language.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/region.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags-generated.js )
- KNOWN_TESTFAILURES+=( test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js )
-
- if use x86 ; then
- KNOWN_TESTFAILURES+=( non262/Date/timeclip.js )
- KNOWN_TESTFAILURES+=( test262/built-ins/Number/prototype/toPrecision/return-values.js )
- KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.1.js )
- KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.2.js )
- fi
-
- if [[ $(tc-endian) == "big" ]] ; then
- KNOWN_TESTFAILURES+=( test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js )
- fi
-
- 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/spidermonkey/spidermonkey-78.11.0.ebuild b/dev-lang/spidermonkey/spidermonkey-78.11.0.ebuild
deleted file mode 100644
index 0a3d1f9ef6ae..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-78.11.0.ebuild
+++ /dev/null
@@ -1,454 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-# Patch version
-FIREFOX_PATCHSET="firefox-78esr-patches-14.tar.xz"
-SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-04.tar.xz"
-
-LLVM_MAX_SLOT=12
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-WANT_AUTOCONF="2.1"
-
-inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
-
-MY_PN="mozjs"
-MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
-
-MY_MAJOR=$(ver_cut 1)
-
-MOZ_ESR=yes
-
-MOZ_PV=${PV}
-MOZ_PV_SUFFIX=
-if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
- MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
-
- # Convert the ebuild version to the upstream Mozilla version
- MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
- MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
- MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
-fi
-
-if [[ -n ${MOZ_ESR} ]] ; then
- # ESR releases have slightly different version numbers
- MOZ_PV="${MOZ_PV}esr"
-fi
-
-MOZ_PN="firefox"
-MOZ_P="${MOZ_PN}-${MOZ_PV}"
-MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
-MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
-
-MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
-
-if [[ ${PV} == *_rc* ]] ; then
- MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
-fi
-
-PATCH_URIS=(
- https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET}
- https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
-)
-
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
- ${PATCH_URIS[@]}"
-
-DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-
-KEYWORDS="amd64 ~arm ~arm64 ~mips ~ppc64 ~riscv ~s390 x86"
-
-SLOT="78"
-LICENSE="MPL-2.0"
-IUSE="clang cpu_flags_arm_neon debug +jit lto test"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
- >=virtual/rust-1.41.0
- virtual/pkgconfig
- || (
- (
- sys-devel/llvm:12
- clang? (
- sys-devel/clang:12
- lto? ( =sys-devel/lld-12* )
- )
- )
- (
- sys-devel/llvm:11
- clang? (
- sys-devel/clang:11
- lto? ( =sys-devel/lld-11* )
- )
- )
- (
- sys-devel/llvm:10
- clang? (
- sys-devel/clang:10
- lto? ( =sys-devel/lld-10* )
- )
- )
- )
- lto? (
- !clang? ( sys-devel/binutils[gold] )
- )"
-
-CDEPEND=">=dev-libs/icu-67.1:=
- >=dev-libs/nspr-4.25
- sys-libs/readline:0=
- >=sys-libs/zlib-1.2.3"
-
-DEPEND="${CDEPEND}
- test? (
- $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
- )"
-
-RDEPEND="${CDEPEND}"
-
-S="${WORKDIR}/firefox-${MY_PV}/js/src"
-
-llvm_check_deps() {
- if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
- ewarn "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if use clang ; then
- if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
- ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if use lto ; then
- if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
- ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
- fi
- fi
-
- einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
-}
-
-python_check_deps() {
- if use test ; then
- has_version "dev-python/six[${PYTHON_USEDEP}]"
- fi
-}
-
-pkg_pretend() {
- if use test ; then
- CHECKREQS_DISK_BUILD="7600M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use test ; then
- CHECKREQS_DISK_BUILD="7600M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_setup
-
- llvm_pkg_setup
-
- if use clang && use lto ; then
- local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
- [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
- [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
- fi
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- python-any-r1_pkg_setup
-
- # Build system is using /proc/self/oom_score_adj, bug #604394
- addpredict /proc/self/oom_score_adj
-
- if ! mountpoint -q /dev/shm ; then
- # If /dev/shm is not available, configure is known to fail with
- # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
- ewarn "/dev/shm is not mounted -- expect build failures!"
- fi
-
- # Ensure we use C locale when building, bug #746215
- export LC_ALL=C
- fi
-}
-
-src_prepare() {
- pushd ../.. &>/dev/null || die
-
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
-
- eapply "${WORKDIR}"/firefox-patches
- eapply "${WORKDIR}"/spidermonkey-patches
-
- default
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- # use prefix shell in wrapper linker scripts, bug #789660
- hprefixify "${S}"/../../build/cargo-{,host-}linker
-
- einfo "Removing pre-built binaries ..."
- find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- MOZJS_BUILDDIR="${WORKDIR}/build"
- mkdir "${MOZJS_BUILDDIR}" || die
-
- popd &>/dev/null || die
- eautoconf
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current CFLAGS: ${CFLAGS}"
- einfo "Current CXXFLAGS: ${CXXFLAGS}"
- einfo "Current LDFLAGS: ${LDFLAGS}"
- einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
-
- local have_switched_compiler=
- if use clang && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- elif ! use clang && ! tc-is-gcc ; then
- # Force gcc
- have_switched_compiler=yes
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if [[ -n "${have_switched_compiler}" ]] ; then
- # Because we switched active compiler we have to ensure
- # that no unsupported flags are set
- strip-unsupported-flags
- fi
-
- # Ensure we use correct toolchain
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- cd "${MOZJS_BUILDDIR}" || die
-
- # ../python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- local -a myeconfargs=(
- --host="${CBUILD:-${CHOST}}"
- --target="${CHOST}"
- --disable-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)
- $(use_enable test tests)
- )
-
- if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- myeconfargs+=( --enable-rust-simd )
- fi
-
- # Modifications to better support ARM, bug 717344
- if use cpu_flags_arm_neon ; then
- myeconfargs+=( --with-fpu=neon )
-
- if ! tc-is-clang ; then
- # thumb options aren't supported when using clang, bug 666966
- myeconfargs+=( --with-thumb=yes )
- myeconfargs+=( --with-thumb-interwork=no )
- fi
- fi
-
- # Tell build system that we want to use LTO
- if use lto ; then
- myeconfargs+=( --enable-lto )
-
- if use clang ; then
- myeconfargs+=( --enable-linker=lld )
- else
- myeconfargs+=( --enable-linker=gold )
- fi
- fi
-
- # LTO flag was handled via configure
- filter-flags '-flto*'
-
- if tc-is-gcc ; then
- if ver_test $(gcc-fullversion) -ge 10 ; then
- einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
- append-cxxflags -fno-tree-loop-vectorize
- fi
- fi
-
- # Show flags we will use
- einfo "Build CFLAGS: ${CFLAGS}"
- einfo "Build CXXFLAGS: ${CXXFLAGS}"
- einfo "Build LDFLAGS: ${LDFLAGS}"
- einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
- # Forcing system-icu allows us to skip patching bundled ICU for PPC
- # and other minor arches
- ECONF_SOURCE="${S}" \
- econf \
- ${myeconfargs[@]} \
- XARGS="${EPREFIX}/usr/bin/xargs"
-}
-
-src_compile() {
- cd "${MOZJS_BUILDDIR}" || die
- default
-}
-
-src_test() {
- if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
- einfo "Smoke-test successful, continuing with full test suite"
- else
- die "Smoke-test failed: did interpreter initialization fail?"
- fi
-
- local -a KNOWN_TESTFAILURES
- KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js )
- KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js )
- KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleString_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleDateString_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/language.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/region.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags-generated.js )
- KNOWN_TESTFAILURES+=( test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js )
-
- if use x86 ; then
- KNOWN_TESTFAILURES+=( non262/Date/timeclip.js )
- KNOWN_TESTFAILURES+=( test262/built-ins/Number/prototype/toPrecision/return-values.js )
- KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.1.js )
- KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.2.js )
- fi
-
- if [[ $(tc-endian) == "big" ]] ; then
- KNOWN_TESTFAILURES+=( test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js )
- fi
-
- 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/spidermonkey/spidermonkey-78.12.0.ebuild b/dev-lang/spidermonkey/spidermonkey-78.12.0.ebuild
deleted file mode 100644
index 76c829403fa0..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-78.12.0.ebuild
+++ /dev/null
@@ -1,454 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-# Patch version
-FIREFOX_PATCHSET="firefox-78esr-patches-15.tar.xz"
-SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-04.tar.xz"
-
-LLVM_MAX_SLOT=12
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-WANT_AUTOCONF="2.1"
-
-inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
-
-MY_PN="mozjs"
-MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
-
-MY_MAJOR=$(ver_cut 1)
-
-MOZ_ESR=yes
-
-MOZ_PV=${PV}
-MOZ_PV_SUFFIX=
-if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
- MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
-
- # Convert the ebuild version to the upstream Mozilla version
- MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
- MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
- MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
-fi
-
-if [[ -n ${MOZ_ESR} ]] ; then
- # ESR releases have slightly different version numbers
- MOZ_PV="${MOZ_PV}esr"
-fi
-
-MOZ_PN="firefox"
-MOZ_P="${MOZ_PN}-${MOZ_PV}"
-MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
-MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
-
-MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
-
-if [[ ${PV} == *_rc* ]] ; then
- MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
-fi
-
-PATCH_URIS=(
- https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET}
- https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
-)
-
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
- ${PATCH_URIS[@]}"
-
-DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-
-KEYWORDS="amd64 arm arm64 ~mips ~ppc64 ~riscv ~s390 x86"
-
-SLOT="78"
-LICENSE="MPL-2.0"
-IUSE="clang cpu_flags_arm_neon debug +jit lto test"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
- >=virtual/rust-1.41.0
- virtual/pkgconfig
- || (
- (
- sys-devel/llvm:12
- clang? (
- sys-devel/clang:12
- lto? ( =sys-devel/lld-12* )
- )
- )
- (
- sys-devel/llvm:11
- clang? (
- sys-devel/clang:11
- lto? ( =sys-devel/lld-11* )
- )
- )
- (
- sys-devel/llvm:10
- clang? (
- sys-devel/clang:10
- lto? ( =sys-devel/lld-10* )
- )
- )
- )
- lto? (
- !clang? ( sys-devel/binutils[gold] )
- )"
-
-CDEPEND=">=dev-libs/icu-67.1:=
- >=dev-libs/nspr-4.25
- sys-libs/readline:0=
- >=sys-libs/zlib-1.2.3"
-
-DEPEND="${CDEPEND}
- test? (
- $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
- )"
-
-RDEPEND="${CDEPEND}"
-
-S="${WORKDIR}/firefox-${MY_PV}/js/src"
-
-llvm_check_deps() {
- if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
- einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if use clang ; then
- if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
- einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if use lto ; then
- if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
- einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
- fi
- fi
-
- einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
-}
-
-python_check_deps() {
- if use test ; then
- has_version "dev-python/six[${PYTHON_USEDEP}]"
- fi
-}
-
-pkg_pretend() {
- if use test ; then
- CHECKREQS_DISK_BUILD="7600M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use test ; then
- CHECKREQS_DISK_BUILD="7600M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_setup
-
- llvm_pkg_setup
-
- if use clang && use lto ; then
- local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
- [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
- [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
- fi
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- python-any-r1_pkg_setup
-
- # Build system is using /proc/self/oom_score_adj, bug #604394
- addpredict /proc/self/oom_score_adj
-
- if ! mountpoint -q /dev/shm ; then
- # If /dev/shm is not available, configure is known to fail with
- # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
- ewarn "/dev/shm is not mounted -- expect build failures!"
- fi
-
- # Ensure we use C locale when building, bug #746215
- export LC_ALL=C
- fi
-}
-
-src_prepare() {
- pushd ../.. &>/dev/null || die
-
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
-
- eapply "${WORKDIR}"/firefox-patches
- eapply "${WORKDIR}"/spidermonkey-patches
-
- default
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- # use prefix shell in wrapper linker scripts, bug #789660
- hprefixify "${S}"/../../build/cargo-{,host-}linker
-
- einfo "Removing pre-built binaries ..."
- find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- MOZJS_BUILDDIR="${WORKDIR}/build"
- mkdir "${MOZJS_BUILDDIR}" || die
-
- popd &>/dev/null || die
- eautoconf
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current CFLAGS: ${CFLAGS}"
- einfo "Current CXXFLAGS: ${CXXFLAGS}"
- einfo "Current LDFLAGS: ${LDFLAGS}"
- einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
-
- local have_switched_compiler=
- if use clang && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- elif ! use clang && ! tc-is-gcc ; then
- # Force gcc
- have_switched_compiler=yes
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if [[ -n "${have_switched_compiler}" ]] ; then
- # Because we switched active compiler we have to ensure
- # that no unsupported flags are set
- strip-unsupported-flags
- fi
-
- # Ensure we use correct toolchain
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- cd "${MOZJS_BUILDDIR}" || die
-
- # ../python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- local -a myeconfargs=(
- --host="${CBUILD:-${CHOST}}"
- --target="${CHOST}"
- --disable-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)
- $(use_enable test tests)
- )
-
- if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- myeconfargs+=( --enable-rust-simd )
- fi
-
- # Modifications to better support ARM, bug 717344
- if use cpu_flags_arm_neon ; then
- myeconfargs+=( --with-fpu=neon )
-
- if ! tc-is-clang ; then
- # thumb options aren't supported when using clang, bug 666966
- myeconfargs+=( --with-thumb=yes )
- myeconfargs+=( --with-thumb-interwork=no )
- fi
- fi
-
- # Tell build system that we want to use LTO
- if use lto ; then
- myeconfargs+=( --enable-lto )
-
- if use clang ; then
- myeconfargs+=( --enable-linker=lld )
- else
- myeconfargs+=( --enable-linker=gold )
- fi
- fi
-
- # LTO flag was handled via configure
- filter-flags '-flto*'
-
- if tc-is-gcc ; then
- if ver_test $(gcc-fullversion) -ge 10 ; then
- einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
- append-cxxflags -fno-tree-loop-vectorize
- fi
- fi
-
- # Show flags we will use
- einfo "Build CFLAGS: ${CFLAGS}"
- einfo "Build CXXFLAGS: ${CXXFLAGS}"
- einfo "Build LDFLAGS: ${LDFLAGS}"
- einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
- # Forcing system-icu allows us to skip patching bundled ICU for PPC
- # and other minor arches
- ECONF_SOURCE="${S}" \
- econf \
- ${myeconfargs[@]} \
- XARGS="${EPREFIX}/usr/bin/xargs"
-}
-
-src_compile() {
- cd "${MOZJS_BUILDDIR}" || die
- default
-}
-
-src_test() {
- if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
- einfo "Smoke-test successful, continuing with full test suite"
- else
- die "Smoke-test failed: did interpreter initialization fail?"
- fi
-
- local -a KNOWN_TESTFAILURES
- KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js )
- KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js )
- KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleString_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleDateString_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/language.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/region.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags-generated.js )
- KNOWN_TESTFAILURES+=( test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js )
-
- if use x86 ; then
- KNOWN_TESTFAILURES+=( non262/Date/timeclip.js )
- KNOWN_TESTFAILURES+=( test262/built-ins/Number/prototype/toPrecision/return-values.js )
- KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.1.js )
- KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.2.js )
- fi
-
- if [[ $(tc-endian) == "big" ]] ; then
- KNOWN_TESTFAILURES+=( test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js )
- fi
-
- 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/spidermonkey/spidermonkey-78.13.0.ebuild b/dev-lang/spidermonkey/spidermonkey-78.13.0.ebuild
deleted file mode 100644
index 338d24073e22..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-78.13.0.ebuild
+++ /dev/null
@@ -1,454 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-# Patch version
-FIREFOX_PATCHSET="firefox-78esr-patches-16.tar.xz"
-SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-04.tar.xz"
-
-LLVM_MAX_SLOT=12
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-WANT_AUTOCONF="2.1"
-
-inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
-
-MY_PN="mozjs"
-MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
-
-MY_MAJOR=$(ver_cut 1)
-
-MOZ_ESR=yes
-
-MOZ_PV=${PV}
-MOZ_PV_SUFFIX=
-if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
- MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
-
- # Convert the ebuild version to the upstream Mozilla version
- MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
- MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
- MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
-fi
-
-if [[ -n ${MOZ_ESR} ]] ; then
- # ESR releases have slightly different version numbers
- MOZ_PV="${MOZ_PV}esr"
-fi
-
-MOZ_PN="firefox"
-MOZ_P="${MOZ_PN}-${MOZ_PV}"
-MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
-MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
-
-MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
-
-if [[ ${PV} == *_rc* ]] ; then
- MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
-fi
-
-PATCH_URIS=(
- https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET}
- https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
-)
-
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
- ${PATCH_URIS[@]}"
-
-DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc64 ~riscv ~s390 ~x86"
-
-SLOT="78"
-LICENSE="MPL-2.0"
-IUSE="clang cpu_flags_arm_neon debug +jit lto test"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
- >=virtual/rust-1.41.0
- virtual/pkgconfig
- || (
- (
- sys-devel/llvm:12
- clang? (
- sys-devel/clang:12
- lto? ( =sys-devel/lld-12* )
- )
- )
- (
- sys-devel/llvm:11
- clang? (
- sys-devel/clang:11
- lto? ( =sys-devel/lld-11* )
- )
- )
- (
- sys-devel/llvm:10
- clang? (
- sys-devel/clang:10
- lto? ( =sys-devel/lld-10* )
- )
- )
- )
- lto? (
- !clang? ( sys-devel/binutils[gold] )
- )"
-
-CDEPEND=">=dev-libs/icu-67.1:=
- >=dev-libs/nspr-4.25
- sys-libs/readline:0=
- >=sys-libs/zlib-1.2.3"
-
-DEPEND="${CDEPEND}
- test? (
- $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
- )"
-
-RDEPEND="${CDEPEND}"
-
-S="${WORKDIR}/firefox-${MY_PV}/js/src"
-
-llvm_check_deps() {
- if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
- einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if use clang ; then
- if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
- einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if use lto ; then
- if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
- einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
- fi
- fi
-
- einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
-}
-
-python_check_deps() {
- if use test ; then
- has_version "dev-python/six[${PYTHON_USEDEP}]"
- fi
-}
-
-pkg_pretend() {
- if use test ; then
- CHECKREQS_DISK_BUILD="7600M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use test ; then
- CHECKREQS_DISK_BUILD="7600M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_setup
-
- llvm_pkg_setup
-
- if use clang && use lto ; then
- local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
- [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
- [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
- fi
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- python-any-r1_pkg_setup
-
- # Build system is using /proc/self/oom_score_adj, bug #604394
- addpredict /proc/self/oom_score_adj
-
- if ! mountpoint -q /dev/shm ; then
- # If /dev/shm is not available, configure is known to fail with
- # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
- ewarn "/dev/shm is not mounted -- expect build failures!"
- fi
-
- # Ensure we use C locale when building, bug #746215
- export LC_ALL=C
- fi
-}
-
-src_prepare() {
- pushd ../.. &>/dev/null || die
-
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
-
- eapply "${WORKDIR}"/firefox-patches
- eapply "${WORKDIR}"/spidermonkey-patches
-
- default
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- # use prefix shell in wrapper linker scripts, bug #789660
- hprefixify "${S}"/../../build/cargo-{,host-}linker
-
- einfo "Removing pre-built binaries ..."
- find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- MOZJS_BUILDDIR="${WORKDIR}/build"
- mkdir "${MOZJS_BUILDDIR}" || die
-
- popd &>/dev/null || die
- eautoconf
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current CFLAGS: ${CFLAGS}"
- einfo "Current CXXFLAGS: ${CXXFLAGS}"
- einfo "Current LDFLAGS: ${LDFLAGS}"
- einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
-
- local have_switched_compiler=
- if use clang && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- elif ! use clang && ! tc-is-gcc ; then
- # Force gcc
- have_switched_compiler=yes
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if [[ -n "${have_switched_compiler}" ]] ; then
- # Because we switched active compiler we have to ensure
- # that no unsupported flags are set
- strip-unsupported-flags
- fi
-
- # Ensure we use correct toolchain
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- cd "${MOZJS_BUILDDIR}" || die
-
- # ../python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- local -a myeconfargs=(
- --host="${CBUILD:-${CHOST}}"
- --target="${CHOST}"
- --disable-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)
- $(use_enable test tests)
- )
-
- if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- myeconfargs+=( --enable-rust-simd )
- fi
-
- # Modifications to better support ARM, bug 717344
- if use cpu_flags_arm_neon ; then
- myeconfargs+=( --with-fpu=neon )
-
- if ! tc-is-clang ; then
- # thumb options aren't supported when using clang, bug 666966
- myeconfargs+=( --with-thumb=yes )
- myeconfargs+=( --with-thumb-interwork=no )
- fi
- fi
-
- # Tell build system that we want to use LTO
- if use lto ; then
- myeconfargs+=( --enable-lto )
-
- if use clang ; then
- myeconfargs+=( --enable-linker=lld )
- else
- myeconfargs+=( --enable-linker=gold )
- fi
- fi
-
- # LTO flag was handled via configure
- filter-flags '-flto*'
-
- if tc-is-gcc ; then
- if ver_test $(gcc-fullversion) -ge 10 ; then
- einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
- append-cxxflags -fno-tree-loop-vectorize
- fi
- fi
-
- # Show flags we will use
- einfo "Build CFLAGS: ${CFLAGS}"
- einfo "Build CXXFLAGS: ${CXXFLAGS}"
- einfo "Build LDFLAGS: ${LDFLAGS}"
- einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
- # Forcing system-icu allows us to skip patching bundled ICU for PPC
- # and other minor arches
- ECONF_SOURCE="${S}" \
- econf \
- ${myeconfargs[@]} \
- XARGS="${EPREFIX}/usr/bin/xargs"
-}
-
-src_compile() {
- cd "${MOZJS_BUILDDIR}" || die
- default
-}
-
-src_test() {
- if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
- einfo "Smoke-test successful, continuing with full test suite"
- else
- die "Smoke-test failed: did interpreter initialization fail?"
- fi
-
- local -a KNOWN_TESTFAILURES
- KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js )
- KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js )
- KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleString_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleDateString_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/language.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/region.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags-generated.js )
- KNOWN_TESTFAILURES+=( test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js )
-
- if use x86 ; then
- KNOWN_TESTFAILURES+=( non262/Date/timeclip.js )
- KNOWN_TESTFAILURES+=( test262/built-ins/Number/prototype/toPrecision/return-values.js )
- KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.1.js )
- KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.2.js )
- fi
-
- if [[ $(tc-endian) == "big" ]] ; then
- KNOWN_TESTFAILURES+=( test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js )
- fi
-
- 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/spidermonkey/spidermonkey-78.14.0.ebuild b/dev-lang/spidermonkey/spidermonkey-78.14.0.ebuild
deleted file mode 100644
index 7fadab5b2ac9..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-78.14.0.ebuild
+++ /dev/null
@@ -1,454 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-# Patch version
-FIREFOX_PATCHSET="firefox-78esr-patches-17.tar.xz"
-SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-04.tar.xz"
-
-LLVM_MAX_SLOT=12
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-WANT_AUTOCONF="2.1"
-
-inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
-
-MY_PN="mozjs"
-MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
-
-MY_MAJOR=$(ver_cut 1)
-
-MOZ_ESR=yes
-
-MOZ_PV=${PV}
-MOZ_PV_SUFFIX=
-if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
- MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
-
- # Convert the ebuild version to the upstream Mozilla version
- MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
- MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
- MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
-fi
-
-if [[ -n ${MOZ_ESR} ]] ; then
- # ESR releases have slightly different version numbers
- MOZ_PV="${MOZ_PV}esr"
-fi
-
-MOZ_PN="firefox"
-MOZ_P="${MOZ_PN}-${MOZ_PV}"
-MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
-MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
-
-MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
-
-if [[ ${PV} == *_rc* ]] ; then
- MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
-fi
-
-PATCH_URIS=(
- https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET}
- https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
-)
-
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
- ${PATCH_URIS[@]}"
-
-DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-
-KEYWORDS="amd64 arm arm64 ~mips ~ppc64 ~riscv ~s390 x86"
-
-SLOT="78"
-LICENSE="MPL-2.0"
-IUSE="clang cpu_flags_arm_neon debug +jit lto test"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
- >=virtual/rust-1.41.0
- virtual/pkgconfig
- || (
- (
- sys-devel/llvm:12
- clang? (
- sys-devel/clang:12
- lto? ( =sys-devel/lld-12* )
- )
- )
- (
- sys-devel/llvm:11
- clang? (
- sys-devel/clang:11
- lto? ( =sys-devel/lld-11* )
- )
- )
- (
- sys-devel/llvm:10
- clang? (
- sys-devel/clang:10
- lto? ( =sys-devel/lld-10* )
- )
- )
- )
- lto? (
- !clang? ( sys-devel/binutils[gold] )
- )"
-
-CDEPEND=">=dev-libs/icu-67.1:=
- >=dev-libs/nspr-4.25
- sys-libs/readline:0=
- >=sys-libs/zlib-1.2.3"
-
-DEPEND="${CDEPEND}
- test? (
- $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
- )"
-
-RDEPEND="${CDEPEND}"
-
-S="${WORKDIR}/firefox-${MY_PV}/js/src"
-
-llvm_check_deps() {
- if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
- einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if use clang ; then
- if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
- einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if use lto ; then
- if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
- einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
- fi
- fi
-
- einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
-}
-
-python_check_deps() {
- if use test ; then
- has_version "dev-python/six[${PYTHON_USEDEP}]"
- fi
-}
-
-pkg_pretend() {
- if use test ; then
- CHECKREQS_DISK_BUILD="7600M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use test ; then
- CHECKREQS_DISK_BUILD="7600M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_setup
-
- llvm_pkg_setup
-
- if use clang && use lto ; then
- local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
- [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
- [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
- fi
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- python-any-r1_pkg_setup
-
- # Build system is using /proc/self/oom_score_adj, bug #604394
- addpredict /proc/self/oom_score_adj
-
- if ! mountpoint -q /dev/shm ; then
- # If /dev/shm is not available, configure is known to fail with
- # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
- ewarn "/dev/shm is not mounted -- expect build failures!"
- fi
-
- # Ensure we use C locale when building, bug #746215
- export LC_ALL=C
- fi
-}
-
-src_prepare() {
- pushd ../.. &>/dev/null || die
-
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
-
- eapply "${WORKDIR}"/firefox-patches
- eapply "${WORKDIR}"/spidermonkey-patches
-
- default
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- # use prefix shell in wrapper linker scripts, bug #789660
- hprefixify "${S}"/../../build/cargo-{,host-}linker
-
- einfo "Removing pre-built binaries ..."
- find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- MOZJS_BUILDDIR="${WORKDIR}/build"
- mkdir "${MOZJS_BUILDDIR}" || die
-
- popd &>/dev/null || die
- eautoconf
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current CFLAGS: ${CFLAGS}"
- einfo "Current CXXFLAGS: ${CXXFLAGS}"
- einfo "Current LDFLAGS: ${LDFLAGS}"
- einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
-
- local have_switched_compiler=
- if use clang && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- elif ! use clang && ! tc-is-gcc ; then
- # Force gcc
- have_switched_compiler=yes
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if [[ -n "${have_switched_compiler}" ]] ; then
- # Because we switched active compiler we have to ensure
- # that no unsupported flags are set
- strip-unsupported-flags
- fi
-
- # Ensure we use correct toolchain
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- cd "${MOZJS_BUILDDIR}" || die
-
- # ../python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- local -a myeconfargs=(
- --host="${CBUILD:-${CHOST}}"
- --target="${CHOST}"
- --disable-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)
- $(use_enable test tests)
- )
-
- if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- myeconfargs+=( --enable-rust-simd )
- fi
-
- # Modifications to better support ARM, bug 717344
- if use cpu_flags_arm_neon ; then
- myeconfargs+=( --with-fpu=neon )
-
- if ! tc-is-clang ; then
- # thumb options aren't supported when using clang, bug 666966
- myeconfargs+=( --with-thumb=yes )
- myeconfargs+=( --with-thumb-interwork=no )
- fi
- fi
-
- # Tell build system that we want to use LTO
- if use lto ; then
- myeconfargs+=( --enable-lto )
-
- if use clang ; then
- myeconfargs+=( --enable-linker=lld )
- else
- myeconfargs+=( --enable-linker=gold )
- fi
- fi
-
- # LTO flag was handled via configure
- filter-flags '-flto*'
-
- if tc-is-gcc ; then
- if ver_test $(gcc-fullversion) -ge 10 ; then
- einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
- append-cxxflags -fno-tree-loop-vectorize
- fi
- fi
-
- # Show flags we will use
- einfo "Build CFLAGS: ${CFLAGS}"
- einfo "Build CXXFLAGS: ${CXXFLAGS}"
- einfo "Build LDFLAGS: ${LDFLAGS}"
- einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
- # Forcing system-icu allows us to skip patching bundled ICU for PPC
- # and other minor arches
- ECONF_SOURCE="${S}" \
- econf \
- ${myeconfargs[@]} \
- XARGS="${EPREFIX}/usr/bin/xargs"
-}
-
-src_compile() {
- cd "${MOZJS_BUILDDIR}" || die
- default
-}
-
-src_test() {
- if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
- einfo "Smoke-test successful, continuing with full test suite"
- else
- die "Smoke-test failed: did interpreter initialization fail?"
- fi
-
- local -a KNOWN_TESTFAILURES
- KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js )
- KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js )
- KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleString_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleDateString_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/language.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/region.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags-generated.js )
- KNOWN_TESTFAILURES+=( test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js )
-
- if use x86 ; then
- KNOWN_TESTFAILURES+=( non262/Date/timeclip.js )
- KNOWN_TESTFAILURES+=( test262/built-ins/Number/prototype/toPrecision/return-values.js )
- KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.1.js )
- KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.2.js )
- fi
-
- if [[ $(tc-endian) == "big" ]] ; then
- KNOWN_TESTFAILURES+=( test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js )
- fi
-
- 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/tcc/Manifest b/dev-lang/tcc/Manifest
index cca317187310..0fd20c640036 100644
--- a/dev-lang/tcc/Manifest
+++ b/dev-lang/tcc/Manifest
@@ -1,6 +1,6 @@
DIST tcc-0.9.27.tar.bz2 634999 BLAKE2B 9a76dac9f54fa0b64a72e874cfec9a4bd9b938d244d064b2e76bd31acfb9e48fdbdb8895132634be1dee4302293405bf75606a6804c8178afa8fd30daa53b73a SHA512 835184292d97c07f0ff7b36ec550e855e649b04e23c7e2a1c706d223409eb60708dc1ae969f28eba45e56c8b96ae56936b93caf9d8a13ac5adf119014d5367a7
DIST tcc-0.9.27_p20211022.tar.gz 893631 BLAKE2B f1a82498db65a9944f04a6c35897db6ceeea0e5d14ac383acc6b334fb2aa921a0e7b4badf647c101d064ceae1ee8d79ab91674a2d0faa2899b831a57e6148174 SHA512 5f40a0d31d63e876d1fb233758d9f58be2f14807bbc0847b7df3eb6bb8df0946100b58edb5a29caea8770201d02275daf0a3ca7668141151e931204ad7100fb3
EBUILD tcc-0.9.27.ebuild 1507 BLAKE2B 463216d8345068c8852fc76571f7db26722813c05efbfaad2372b950d8344ece98c3452ff87899ff4e8616ed51c3df76a6fd6aa0ff53f40f2b363393eec50c67 SHA512 94bd0fe005b456f96e8c8da642d02a1cb6d2005aca0e1e1530e3167f85c50cb017c9849b391dfdc870da1e72da14206cecd6897833cd68cc111543014b06e8ce
-EBUILD tcc-0.9.27_p20211022.ebuild 2040 BLAKE2B 4c7ba161c9fc674a69ff15137ff92ceb5a8410f31e203f9783762751a06bf86dfedcd1eed91b582323e1a7b4d02342d74778da2773a0fc09f6046332b72de1b5 SHA512 aee75cbede5d69917c9ddbe1a55990d76f458cf06db6cbb60e96fa9e3f876a734535630503a62e86a901d32ba90652d3883d09075cb824875230d476ecd8abbc
-EBUILD tcc-9999.ebuild 2040 BLAKE2B 4c7ba161c9fc674a69ff15137ff92ceb5a8410f31e203f9783762751a06bf86dfedcd1eed91b582323e1a7b4d02342d74778da2773a0fc09f6046332b72de1b5 SHA512 aee75cbede5d69917c9ddbe1a55990d76f458cf06db6cbb60e96fa9e3f876a734535630503a62e86a901d32ba90652d3883d09075cb824875230d476ecd8abbc
+EBUILD tcc-0.9.27_p20211022.ebuild 2007 BLAKE2B 7b1b313b68d691c8c2ef3858aad9a2c9a997d0bf599cc3bc5866225f55153cd1fc7096f98b0814deaf14c5ab2b19020296c93b37208dfb076afa0e981ae5b511 SHA512 f6bb17a06beae9bfee1535f0b8e515cffc34408f816e6b5118f096ae7415b22e3aea78a55a77a45442ebef18c98e629f82afb4db58c7fbf2f72acdbcab4071f2
+EBUILD tcc-9999.ebuild 2007 BLAKE2B 7b1b313b68d691c8c2ef3858aad9a2c9a997d0bf599cc3bc5866225f55153cd1fc7096f98b0814deaf14c5ab2b19020296c93b37208dfb076afa0e981ae5b511 SHA512 f6bb17a06beae9bfee1535f0b8e515cffc34408f816e6b5118f096ae7415b22e3aea78a55a77a45442ebef18c98e629f82afb4db58c7fbf2f72acdbcab4071f2
MISC metadata.xml 241 BLAKE2B ac22a6a72982cebf268e9d367947dc556420370c70b1f6e26531950f7f2c89734cd293fad93dfea0345fd020a97b8f9304c1362a2ccd6225b22aac1f7b674b17 SHA512 b59cc421f52bc545bc8667dcbf6b4891e29180ef1984596ccc20886071e5f080bed259026c2831c6418131802b93ad945137fe4406d042feb02d9bfdc14c431c
diff --git a/dev-lang/tcc/tcc-0.9.27_p20211022.ebuild b/dev-lang/tcc/tcc-0.9.27_p20211022.ebuild
index 6d4133762683..ebcf4086791e 100644
--- a/dev-lang/tcc/tcc-0.9.27_p20211022.ebuild
+++ b/dev-lang/tcc/tcc-0.9.27_p20211022.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -57,7 +57,6 @@ src_configure() {
# better fixes welcome, it feels wrong to hack the env like this
use elibc_musl && libc=musl
- use elibc_uclibc && libc=uClibc
# not autotools, so call configure directly
./configure --cc="$(tc-getCC)" \
diff --git a/dev-lang/tcc/tcc-9999.ebuild b/dev-lang/tcc/tcc-9999.ebuild
index 6d4133762683..ebcf4086791e 100644
--- a/dev-lang/tcc/tcc-9999.ebuild
+++ b/dev-lang/tcc/tcc-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -57,7 +57,6 @@ src_configure() {
# better fixes welcome, it feels wrong to hack the env like this
use elibc_musl && libc=musl
- use elibc_uclibc && libc=uClibc
# not autotools, so call configure directly
./configure --cc="$(tc-getCC)" \
diff --git a/dev-lang/tcl/Manifest b/dev-lang/tcl/Manifest
index 405bb227d974..886788b39392 100644
--- a/dev-lang/tcl/Manifest
+++ b/dev-lang/tcl/Manifest
@@ -3,6 +3,6 @@ AUX tcl-8.6.8-conf.patch 401 BLAKE2B 278502e983b8c831a2bfe5e61c31d32181558aaebcc
AUX tcl-8.6.9-include-spec.patch 488 BLAKE2B 06aa49163e8316b409238055d4b2ef67a3b37bdad69a190d39ce46a32dbd38320397b206036428c81e4a001ee0c01ee70f5970f584f919d0e5348000c7f93711 SHA512 ca4fc3ca2b3963d9c1b9b1c716e9c508d8c7aeaaad4b39c502472f3592c60907dbcda656369af371ec6c21f06a6dbc50fa02994a15284bedbdb22616ca9340ba
DIST tcl-core8.6.11-src.tar.gz 6041050 BLAKE2B 9c41d5ae5d22627b903d18c5ca607d4a2647d7af65d3029a463cf571d3fbe0bd48e15fef643e81de94296777985a36530a83718d4eb7befca4bc107ab860cc0d SHA512 fe3556c37305e3856743e9a202a320d44b1b3cbc926a1b7a4449ae5baf2f8df92214a9aa06f0a87645d032857fb71458fc864ff007fd73da60463ae5001f2d3f
DIST tcl-core8.6.12-src.tar.gz 6064625 BLAKE2B 30dc780562aa6955e2c417798cc96fabd23e947cee81146dc192156598e3c43f588864aab4392d62901b8964cf59bedb6cad1f064e32b03dd9733b3a0a7b5c8a SHA512 7144a50d19d3855edbda14b538cc94fe26c0dd357b979676c3fe02d599dab61ba777bf14f6aaebb63e238aeff1d0bad25ea7b0ff31b2398468f67fc0a305b9f3
-EBUILD tcl-8.6.11.ebuild 4039 BLAKE2B 2c143dcff6f19bfcd1e0cf34f51f894f55ea0133b64f7e0c30d3b7c2a13ab516c3ce67d6ba79b97c8b5e315159d97dcfb52d1cecc524838f15f9b960e69b9dd6 SHA512 5d049c7a161fe264f6c91b0e0e651d6d3cc58aa7793effa15d3de023d41c892e76c7991f42cfd7cd78cdd36ffe86bffcd2ac237226c15c6b3b262160c98eb5fa
-EBUILD tcl-8.6.12.ebuild 3529 BLAKE2B 91e0b380da43a8d0916022629fe3d9c7168cde0a6fdfbd1e7f61f35a52d28baeee503bdf1cb2b4bc137354554c81e5d18c0fd9e613a27f820e2ded0582f1a74a SHA512 7563ad59d3db3012ebbb273640c43282afc8c7c3035c7920142767232b409f56cf7fc815255585eb48e810f3182ca5bfec4e2896183e1a44f7d5a96acf62e4b9
+EBUILD tcl-8.6.11.ebuild 4016 BLAKE2B 761335036c4f86499dea605a7659b5b4d7d95d1c8ab78bc0aab0edc2bf23e42eea316251b6a6a92e1ec504955b19fafaeb4722230f7e1dc9ec04ef6b3ccb7684 SHA512 0e8bbf84e92819348121919dc625d410b5be4d921230ec11d4bdf14d1debc6e2f39517a2c53c02fbc95127b1347e0e53ab6fe3f0efdbe9cdad5c7b5bd4eebb48
+EBUILD tcl-8.6.12.ebuild 3539 BLAKE2B c4ee40c24904b49ccdc7fd04f11c3b22f5aa4a6d077f9843e1a2184f4756746735b841f6f5ba8c13aaf02e4ab019eb84b02eff24090ccfc2bfdb7607986b4d77 SHA512 66df8c4bffa9867b6f4533597c9c84eda63961994ca83ec835e2f03ae82885a0bacca40a626f024983bc964551174934bc947a26614936b4ee86e59e92015159
MISC metadata.xml 319 BLAKE2B 0deb5e21e559ee13f3778e4f3aa453b868fe4686b77addfc925cc8d1be32648b8ecb47cda1e0bd7ec8601141c83b7edbf9cd64de4f26c9a66a3e44d2e8726191 SHA512 1987cf2e51de189cb14098bde54fd1372dd1b790eee68bdf3f7f2854b41602e649eae98c0b1699eac71a6106abd293802596652b90775294e4f74ddaf1039b84
diff --git a/dev-lang/tcl/tcl-8.6.11.ebuild b/dev-lang/tcl/tcl-8.6.11.ebuild
index af62f470c51a..371bc4bb27da 100644
--- a/dev-lang/tcl/tcl-8.6.11.ebuild
+++ b/dev-lang/tcl/tcl-8.6.11.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -96,7 +96,7 @@ multilib_src_install() {
-e "/^TCL_BUILD_STUB_LIB_PATH=/s:$(pwd):${EPREFIX}/usr/${mylibdir}:g" \
-e "/^TCL_LIBW_FILE=/s:'libtcl${v1}..TCL_DBGX..so':\"libtcl${v1}\$\{TCL_DBGX\}.so\":g" \
-i "${ED}"/usr/${mylibdir}/tclConfig.sh || die
- if use prefix && [[ ${CHOST} != *-darwin* && ${CHOST} != *-mint* ]] ; then
+ if use prefix && [[ ${CHOST} != *-darwin* ]] ; then
sed \
-e "/^TCL_CC_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|g" \
-e "/^TCL_LD_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|" \
diff --git a/dev-lang/tcl/tcl-8.6.12.ebuild b/dev-lang/tcl/tcl-8.6.12.ebuild
index 12ec6c9aac3d..c4ca98785823 100644
--- a/dev-lang/tcl/tcl-8.6.12.ebuild
+++ b/dev-lang/tcl/tcl-8.6.12.ebuild
@@ -1,8 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+# Please bump with dev-lang/tk!
+
inherit autotools flag-o-matic multilib-minimal multilib toolchain-funcs
MY_P="${PN}${PV}"
@@ -96,7 +98,7 @@ multilib_src_install() {
-e "/^TCL_BUILD_STUB_LIB_PATH=/s:$(pwd):${EPREFIX}/usr/${mylibdir}:g" \
-e "/^TCL_LIBW_FILE=/s:'libtcl${v1}..TCL_DBGX..so':\"libtcl${v1}\$\{TCL_DBGX\}.so\":g" \
-i "${ED}"/usr/${mylibdir}/tclConfig.sh || die
- if use prefix && [[ ${CHOST} != *-darwin* && ${CHOST} != *-mint* ]] ; then
+ if use prefix && [[ ${CHOST} != *-darwin* ]] ; then
sed \
-e "/^TCL_CC_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|g" \
-e "/^TCL_LD_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|" \
diff --git a/dev-lang/tk/Manifest b/dev-lang/tk/Manifest
index 698498981d0b..cbc512c410c1 100644
--- a/dev-lang/tk/Manifest
+++ b/dev-lang/tk/Manifest
@@ -5,6 +5,6 @@ AUX tk-8.6.12-test.patch 1394 BLAKE2B 08cb947cb2ce6cc86543c0e025656726ac0469964e
AUX tk-8.6.9-conf.patch 407 BLAKE2B 13662318b4c5029802f74551a6a194e27ddb6dbf2e5ceeecc45c98b27a5386a9b9443af7c329fc422c5249c3da6308552d5c879b5629ae47b705c0d2ddac5534 SHA512 10447a13d597c0917d15089dcfab64165927589ea0fbec7073699788f5ba003e561a6af6562b2ee3e3b40df2f9dc0719c2ca4209a927e506710a390c7a67eb70
DIST tk8.6.11.1-src.tar.gz 4496008 BLAKE2B d7bae2fa535411ad8620ec81cdc0b34a1206fed82f50dbd98d3977af46ac43f794166cb7029f274f7903228c62ce83dfbd56cea06669ff1e382b185d733b0792 SHA512 e2a1d27ba63601731d43c4c4e2b658771a14afd97ef8231f8bc7854e762b83a42f23b8db600e4b4a4a14ae6fc97378d0b9a9a180ae09308b9d12436ec2b176c4
DIST tk8.6.12-src.tar.gz 4515393 BLAKE2B 328522b7e1b4d291863db01ac93e18630f3984459d145a11d742f912a40d5634ffe4608760ce45f444903d45fb707bb48ecc3586913f0c2fde4664a402f6b862 SHA512 afe51eb3e2071640ebc57f9ee6979fe91ee7856df8d3c9d55ae70c470cdae2306d2feeb791f46258f529a5c4a07b53974a7574cf3594818cd4e99077b30c697b
-EBUILD tk-8.6.11.1.ebuild 4092 BLAKE2B 5e844af9ee28322c1b65db8dca5b443a75521b081111e42ec59ec5b33a90e4cfa8df467183908849621ff19b4450b9a974d659e8292d43fa8a29ae66bd0fb281 SHA512 b0074356aa664b5e9157aa231b32f4f41c02ec04eaf7bd204eac723ae6b2bca23f5a59acbe8a45354d8414b86b76b6a0ad024f0f325a1df005ab89d846f1e9c2
-EBUILD tk-8.6.12.ebuild 4099 BLAKE2B ad82a410581ed6290424060ba0c62da9c92a5b9e769c1564b3227eaeab0e8cce52d55af8112cd4c47a0eaf2e97676f12e5f6a83c1048d28b8f06fee09eb8ae8d SHA512 ef972669e1a87b95d27684cffc8ee76a0bc010a39f0b561ed32dcd683c30096314f03c08ce6173adb552faee5ec5cd9ee6a6c7964004ccadc34c2442998274d9
+EBUILD tk-8.6.11.1.ebuild 4069 BLAKE2B ffc55876d1aa46ecbec1dc7a603c628f31a9d34ef56c7f5b0a25250dfd52a7fed4aa85280401540c26515b43fa1cb2ff9d69da6e31c1a42f0eeb89662d061b83 SHA512 7843c36f36b60b98d1dc6bf145eaa429ac96b177a4fa1a2ec3aa01d33a4e5ecd9a59f5506ce310432ea3c2286bc81383ba4abc30c7505e3761b3055da27b8b36
+EBUILD tk-8.6.12.ebuild 4110 BLAKE2B 4828de1829433a2ea046eeb16ee369ee28f993dc674d4f10b4cfd5100d786e4c2d99128740325fd49f090b8a8dcf7b68415fb0304daf0b94d13984d3fdcae1bf SHA512 597be41b72469d932939f870aa5a01f95fd4b0a2b3201e9cac8fc00a66a2c5da5abab5d9047a3e04cd8ab4dc395f1f0c831d0eacc7d89e8ca5c01f559776ec14
MISC metadata.xml 327 BLAKE2B 9c6750d70cbc24484b08b3c432ebf81c509deec9a90dc165ac4a105f674fec41534ee4a1fa86906fa12a1827a5e74fd3f643d4074f7b460602fbf8c6e5d45aa4 SHA512 be62251113a18474869742b647b76847f4974782c8023e016941a80c43596b0a6044787576c2813b8ac7f76d9577238dbd041a42818e906e09d51613c85112a0
diff --git a/dev-lang/tk/tk-8.6.11.1.ebuild b/dev-lang/tk/tk-8.6.11.1.ebuild
index 7b82065a4053..3bb8dae7d832 100644
--- a/dev-lang/tk/tk-8.6.11.1.ebuild
+++ b/dev-lang/tk/tk-8.6.11.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -121,7 +121,7 @@ multilib_src_install() {
-e "/^TK_BUILD_STUB_LIB_PATH=/s:${S}-\w*\.\w*:${EPREFIX}/usr/${mylibdir}:g" \
-e "/^TK_LIB_FILE=/s:'libtk${v1}..TK_DBGX..so':\"libk${v1}\$\{TK_DBGX\}.so\":g" \
-i "${ED}"/usr/${mylibdir}/tkConfig.sh || die
- if use prefix && [[ ${CHOST} != *-darwin* && ${CHOST} != *-mint* ]] ; then
+ if use prefix && [[ ${CHOST} != *-darwin* ]] ; then
sed \
-e "/^TK_CC_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|g" \
-e "/^TK_LD_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|" \
diff --git a/dev-lang/tk/tk-8.6.12.ebuild b/dev-lang/tk/tk-8.6.12.ebuild
index 1a56e674c79b..16ce56d5cee9 100644
--- a/dev-lang/tk/tk-8.6.12.ebuild
+++ b/dev-lang/tk/tk-8.6.12.ebuild
@@ -1,8 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+# Please bump with dev-lang/tcl!
+
inherit autotools multilib-minimal multilib prefix toolchain-funcs virtualx
MY_P="${PN}${PV/_beta/b}"
@@ -121,7 +123,7 @@ multilib_src_install() {
-e "/^TK_BUILD_STUB_LIB_PATH=/s:${S}-\w*\.\w*:${EPREFIX}/usr/${mylibdir}:g" \
-e "/^TK_LIB_FILE=/s:'libtk${v1}..TK_DBGX..so':\"libk${v1}\$\{TK_DBGX\}.so\":g" \
-i "${ED}"/usr/${mylibdir}/tkConfig.sh || die
- if use prefix && [[ ${CHOST} != *-darwin* && ${CHOST} != *-mint* ]] ; then
+ if use prefix && [[ ${CHOST} != *-darwin* ]] ; then
sed \
-e "/^TK_CC_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|g" \
-e "/^TK_LD_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|" \