From 185fa19bbf68a4d4dca534d2b46729207a177f16 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 11 May 2021 19:55:43 +0100 Subject: gentoo resync : 11.05.2021 --- dev-lang/Manifest.gz | Bin 16834 -> 16827 bytes dev-lang/erlang/Manifest | 8 +- dev-lang/erlang/erlang-23.2.7.ebuild | 155 ---- dev-lang/erlang/erlang-23.3.2.ebuild | 155 ---- dev-lang/erlang/erlang-23.3.4.ebuild | 155 ++++ dev-lang/ferite/Manifest | 4 +- dev-lang/ferite/ferite-1.1.17-r1.ebuild | 27 +- dev-lang/ferite/files/ferite-1.1.17-bool.patch | 62 ++ dev-lang/ferite/files/ferite-1.1.17-slibtool.patch | 569 ++++++++++++++ dev-lang/gnat-gpl/Manifest | 8 +- dev-lang/gnat-gpl/files/gnat-gpl-2020-gentoo.patch | 41 ++ dev-lang/gnat-gpl/gnat-gpl-2020.ebuild | 140 ++++ dev-lang/gnat-gpl/metadata.xml | 2 + dev-lang/mozart-stdlib/Manifest | 2 +- dev-lang/mozart-stdlib/mozart-stdlib-2.0.1.ebuild | 11 +- dev-lang/mozart/Manifest | 2 +- dev-lang/mozart/mozart-2.0.1.ebuild | 38 +- dev-lang/perl/Manifest | 2 + dev-lang/perl/perl-5.34.0_rc1.ebuild | 816 +++++++++++++++++++++ dev-lang/php/Manifest | 8 +- dev-lang/php/php-7.3.28.ebuild | 2 +- dev-lang/php/php-7.4.19.ebuild | 2 +- dev-lang/php/php-8.0.5.ebuild | 748 ------------------- dev-lang/php/php-8.0.6.ebuild | 748 +++++++++++++++++++ dev-lang/python/Manifest | 22 - dev-lang/python/python-2.7.18_p8.ebuild | 355 --------- dev-lang/python/python-3.10.0_alpha7.ebuild | 347 --------- dev-lang/python/python-3.6.13_p1.ebuild | 338 --------- dev-lang/python/python-3.7.10_p1.ebuild | 330 --------- dev-lang/python/python-3.8.8_p1.ebuild | 336 --------- dev-lang/python/python-3.8.9.ebuild | 336 --------- dev-lang/python/python-3.9.2_p1.ebuild | 345 --------- dev-lang/python/python-3.9.4.ebuild | 345 --------- dev-lang/qu-prolog/Manifest | 2 +- dev-lang/qu-prolog/qu-prolog-10.6.ebuild | 6 +- dev-lang/rust-bin/Manifest | 62 +- dev-lang/rust-bin/rust-bin-1.52.0.ebuild | 187 ----- dev-lang/rust-bin/rust-bin-1.52.1.ebuild | 187 +++++ dev-lang/rust/Manifest | 6 +- dev-lang/rust/rust-1.52.0.ebuild | 662 ----------------- dev-lang/rust/rust-1.52.1.ebuild | 662 +++++++++++++++++ dev-lang/spidermonkey/Manifest | 4 +- dev-lang/spidermonkey/spidermonkey-78.10.0.ebuild | 439 ----------- dev-lang/spidermonkey/spidermonkey-78.10.1.ebuild | 451 ++++++++++++ dev-lang/swi-prolog/Manifest | 15 +- dev-lang/swi-prolog/swi-prolog-8.2.2.ebuild | 104 --- dev-lang/swi-prolog/swi-prolog-8.2.3.ebuild | 16 +- dev-lang/swi-prolog/swi-prolog-8.2.4.ebuild | 122 +++ dev-lang/swi-prolog/swi-prolog-8.3.20.ebuild | 103 --- dev-lang/swi-prolog/swi-prolog-8.3.21.ebuild | 34 +- dev-lang/swi-prolog/swi-prolog-8.3.22.ebuild | 122 +++ dev-lang/swi-prolog/swi-prolog-8.3.23.ebuild | 122 +++ dev-lang/xsb/Manifest | 9 +- dev-lang/xsb/metadata.xml | 3 + dev-lang/xsb/xsb-3.8.0.ebuild | 2 +- dev-lang/xsb/xsb-4.0.0.ebuild | 212 ++++++ 56 files changed, 4541 insertions(+), 5450 deletions(-) delete mode 100644 dev-lang/erlang/erlang-23.2.7.ebuild delete mode 100644 dev-lang/erlang/erlang-23.3.2.ebuild create mode 100644 dev-lang/erlang/erlang-23.3.4.ebuild create mode 100644 dev-lang/ferite/files/ferite-1.1.17-bool.patch create mode 100644 dev-lang/ferite/files/ferite-1.1.17-slibtool.patch create mode 100644 dev-lang/gnat-gpl/files/gnat-gpl-2020-gentoo.patch create mode 100644 dev-lang/gnat-gpl/gnat-gpl-2020.ebuild create mode 100644 dev-lang/perl/perl-5.34.0_rc1.ebuild delete mode 100644 dev-lang/php/php-8.0.5.ebuild create mode 100644 dev-lang/php/php-8.0.6.ebuild delete mode 100644 dev-lang/python/python-2.7.18_p8.ebuild delete mode 100644 dev-lang/python/python-3.10.0_alpha7.ebuild delete mode 100644 dev-lang/python/python-3.6.13_p1.ebuild delete mode 100644 dev-lang/python/python-3.7.10_p1.ebuild delete mode 100644 dev-lang/python/python-3.8.8_p1.ebuild delete mode 100644 dev-lang/python/python-3.8.9.ebuild delete mode 100644 dev-lang/python/python-3.9.2_p1.ebuild delete mode 100644 dev-lang/python/python-3.9.4.ebuild delete mode 100644 dev-lang/rust-bin/rust-bin-1.52.0.ebuild create mode 100644 dev-lang/rust-bin/rust-bin-1.52.1.ebuild delete mode 100644 dev-lang/rust/rust-1.52.0.ebuild create mode 100644 dev-lang/rust/rust-1.52.1.ebuild delete mode 100644 dev-lang/spidermonkey/spidermonkey-78.10.0.ebuild create mode 100644 dev-lang/spidermonkey/spidermonkey-78.10.1.ebuild delete mode 100644 dev-lang/swi-prolog/swi-prolog-8.2.2.ebuild create mode 100644 dev-lang/swi-prolog/swi-prolog-8.2.4.ebuild delete mode 100644 dev-lang/swi-prolog/swi-prolog-8.3.20.ebuild create mode 100644 dev-lang/swi-prolog/swi-prolog-8.3.22.ebuild create mode 100644 dev-lang/swi-prolog/swi-prolog-8.3.23.ebuild create mode 100644 dev-lang/xsb/xsb-4.0.0.ebuild (limited to 'dev-lang') diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz index 6163d88b636a..e7c586d424b4 100644 Binary files a/dev-lang/Manifest.gz and b/dev-lang/Manifest.gz differ diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index e6aa0f58583a..474f67919e59 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -6,16 +6,12 @@ AUX epmd.init-r2 388 BLAKE2B cf8f1b3bfaf5c0bb1a7acebf41e1c1138b880e91a5c732cf3f8 AUX epmd.service 138 BLAKE2B f56c907ec51bb85c437235334cf01c6a43ccf2316be3b226ab557e3f71cab48baf59b5a9533a4dccb2cb61a4434e3a51d44eae06010718dbf9a732d605c40f73 SHA512 405740f8f9cd55d4ecd7420748399ab3f374b7cb09e53605f44ba49d0af86b70e4a1baf1fde05a703fb90c8a83dbcdd5cfbbf09185e9d7b58ff9612aefc2dd28 AUX epmd.service-r1 159 BLAKE2B ec50e4bfd89dc2d35fc2e549c695f9aae163d3df4d3c7a0d3f85f0f747c13a8aed9c8e9e57f3898ab31aec6795d7cd0565a7c563dc77f3f6154e53be88ec326d SHA512 4b99b2092fe447fa01e3badfce261bca6400ebda70f890efbacc40570019adfe9fc349a6d024955e2f1909c9068f37415b64d0a104399f2696eff6ccf6ad06ab AUX erlang-22.0-dont-ignore-LDFLAGS.patch 1174 BLAKE2B 64900c6b934ecbd11238e604f907e6f8b1ec2730d2b98aad5405383742563e050bc6ffaae22d55a22998658460109fac9f6628458f5e976e9fbfe71cc26f1d64 SHA512 0fd7cbef64a9a54e0959d49b50096f9abc6fcede4360c153631c7f649f5c41b35ffb1f2d06f80964bf49421464bcc43c96147c227d60cf413c51b3e89ae9ad24 -DIST erlang-23.2.7.tar.gz 56600356 BLAKE2B 84daf8810716ac02b50527805b834f9f2ae83fc7ebd89a22e4cba34133a52347f53a72ba65614b492bf1932d0dc47eb68c9ce8731cdfaeecdf57b9f20bde32e8 SHA512 1e94b641644edb1edc3d15679222dd5d198abf1cae6daa4b91304317f8df21514029971f208767396625c0a0be7107c357c9ef80974c9865113a760aa2655220 DIST erlang-23.3.1.tar.gz 56654422 BLAKE2B b1ccd870d4a47f12d1a65b424d6c6b0f59a4654c0779c595fb28fdc2d3e179bb9b12d2473770b239b65665b2f6a3281d239f9fb3d6b86548df3ee69fce8fe5ed SHA512 03d4be9b25a14359e9f8db52d8e7d8edff1e8c53686a189caae15373c7e15d03f05e1138c549b8b41b8e6b7c55ab154cea47356f6fe79f7b72d5fb4ce759c4b0 -DIST erlang-23.3.2.tar.gz 56662450 BLAKE2B 70ead26fe6a416c1b89bc9f8ad8d368bd38d994f9aa9967c916ccbef25aac7a059d89422e0d3b03397b08f1376c9e2eef4e827ecaa9d1114c453771e51acb490 SHA512 bb3dc1d827314b71f7e4da2082681e449859a69589d566a810baf554131e239ad3fe0555f352d69506467162016d6c6864abb20926843ee4da5876b26650810e DIST erlang-23.3.3.tar.gz 56671339 BLAKE2B 19455670d411adfb6a34a42e27ee8ff9eda052c9e096404f1d1061376ffecb136b912cb89a21cb84a7758c925ccccee5bbbb4ca31ac6b164af4813b0a5e9e747 SHA512 191243df10e0ee03db1a16c94253fefd4b008915464b2966f6fbe93faae3053b2a8950297054a6a8554c180fd3fcc18eda16e2f87e0c1a7a73570e753ec557d4 -DIST erlang_doc_html_23.2.tar.gz 36537148 BLAKE2B b19d3fb5836b50512db6913ccb9116bc06ef4677c9514db89714ac72a9e7569b2c52612c357ccbf9a12610000885cbc8a43cc17f80c533a3c65af89c1b592ba6 SHA512 0d334dfe46ecffd6ff720d176c4514e2d49ba1b5feccd80f8392a8335100a6c289207431d2c0da02043c923de083290f9fd23726a1d1481508acdd7596f67ea4 +DIST erlang-23.3.4.tar.gz 56664814 BLAKE2B ef8aa8d5a6fd1efc02a35459d1cb15eecf5f948127266bf782544e1da9a59765aca15070ea92df5558a4de017cc810e3542e2393e9470243fc6d9be13e9f37b6 SHA512 c8c5a9676163058276c703a0db0373508fad0ed9dff0aa9806ce59115ca766ff1d343c5a3917a920b249655fe188b974482ff378e9173c9fe00ea3907e618da5 DIST erlang_doc_html_23.3.tar.gz 36224657 BLAKE2B 7e2a3e16f4cfa0f15c01074740e02af7a45b480b4a94e764463717658ab7e5d0281f928c3ec585582b10168645e3e06cfe72cf6a0ba1b88f539b80f2b7ad99be SHA512 8be4aae46839239604b875b39339e7b6b6c677c099b3d749d5f1041c4508c1c3b4aa8136a93df12b1e5cb6333ef907276f5965c9726ed2b9e77a6043c8ef53b1 -DIST erlang_doc_man_23.2.tar.gz 1386417 BLAKE2B 91fb2646461330c2f3793e7819e4c77ba9259366098b710fd102ffbcbcf38fa84ad720613313e3c59c1d419aaddd5a1a85d26c5d41a71d6692d428a494f57012 SHA512 464fa2c3608a6c096a241e5fc2cee710ef51394b169e3b3ce3ab5f69d847437c54780d4afc1a799d13f88ea88ac64056b19bff4d927e1e6bbe54a773b0ccd89d DIST erlang_doc_man_23.3.tar.gz 1456501 BLAKE2B 414bedee0e316d97b26d9d6418b799a9434a22e9980e7d3a83e2478d184d63d1633c0e10d0e180d929a3cacd82b4d703be86cbc8e99996037f6b37ea122f7a8c SHA512 6c661c210ffec4752afe624fa46700a0f62cc6589b74b859ab1dfde77d289e992988ac8744f7b4126d7512cd6d0aab3321f710a6324552b259bd7acd5b54a05e -EBUILD erlang-23.2.7.ebuild 4499 BLAKE2B 06891eb432ae12d43e860ce0773eb01768ea75ec4f16c365fbe16c22093039e5b18aaa4d3ca558f7a64cada0fc405ac0ba898065b80c778ad9253197302c5145 SHA512 09397c1f46fcf92ef160dee067b9dbf9e0a9125e112f28748180166ddd0394ad34f03e0ddcf32dccff101485927f41c1b1a4376a66bbfd52c8fb2f74bfac27d5 EBUILD erlang-23.3.1.ebuild 4499 BLAKE2B 06891eb432ae12d43e860ce0773eb01768ea75ec4f16c365fbe16c22093039e5b18aaa4d3ca558f7a64cada0fc405ac0ba898065b80c778ad9253197302c5145 SHA512 09397c1f46fcf92ef160dee067b9dbf9e0a9125e112f28748180166ddd0394ad34f03e0ddcf32dccff101485927f41c1b1a4376a66bbfd52c8fb2f74bfac27d5 -EBUILD erlang-23.3.2.ebuild 4504 BLAKE2B 16b09bf6af1c223776b5cb2c55c32dbd5eb540cb9ae12496485f64bc1820c4118575a155440764144e10c6d50609db02ae5eb2c691a0bf82b63c0ec1454a4f41 SHA512 f4bf67b5b4bba5734893e67c50e46c7387c192455befea44eabf1ca5aa1f76dd05eeab1dd9eb7c34c230553ce0864493e81e3185fd5d6554a8cc239ecb49f441 EBUILD erlang-23.3.3.ebuild 4504 BLAKE2B 16b09bf6af1c223776b5cb2c55c32dbd5eb540cb9ae12496485f64bc1820c4118575a155440764144e10c6d50609db02ae5eb2c691a0bf82b63c0ec1454a4f41 SHA512 f4bf67b5b4bba5734893e67c50e46c7387c192455befea44eabf1ca5aa1f76dd05eeab1dd9eb7c34c230553ce0864493e81e3185fd5d6554a8cc239ecb49f441 +EBUILD erlang-23.3.4.ebuild 4504 BLAKE2B 16b09bf6af1c223776b5cb2c55c32dbd5eb540cb9ae12496485f64bc1820c4118575a155440764144e10c6d50609db02ae5eb2c691a0bf82b63c0ec1454a4f41 SHA512 f4bf67b5b4bba5734893e67c50e46c7387c192455befea44eabf1ca5aa1f76dd05eeab1dd9eb7c34c230553ce0864493e81e3185fd5d6554a8cc239ecb49f441 MISC metadata.xml 864 BLAKE2B fb20217a05650be9d9f454a7ffe45aeb7e41ad4f9b1616efa94f5609db4d8de1b5848268e6224c256c2ff86b0d3bad578d6e4f0e43c4e8bf433e7a7e9210ae98 SHA512 c4aae8e974789ce095eeaf7d7517da16351b1ebb60cc98abdeebc41147be4bce084081d4f7a03727f9070434a9e1347c0ebf809a99931bc7177525726cb9c161 diff --git a/dev-lang/erlang/erlang-23.2.7.ebuild b/dev-lang/erlang/erlang-23.2.7.ebuild deleted file mode 100644 index fd509078eb66..000000000000 --- a/dev-lang/erlang/erlang-23.2.7.ebuild +++ /dev/null @@ -1,155 +0,0 @@ -# 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 java-pkg-opt-2 systemd wxwidgets - -# NOTE: If you need symlinks for binaries please tell maintainers or -# open up a bug to let it be created. - -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 +hipe 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}"/18.2.1-wx3.0.patch - "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch -) - -SITEFILE=50"${PN}"-gentoo.el - -src_prepare() { - default - - ./otp_build autoconf || die -} - -src_configure() { - use wxwidgets && setup-wxwidgets - - local myconf=( - --disable-builtin-zlib - $(use_enable hipe) - $(use_enable kpoll kernel-poll) - $(use_with java javac) - $(use_enable sctp) - $(use_with ssl ssl "${EPREFIX}"/usr) - $(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/erlang/erlang-23.3.2.ebuild b/dev-lang/erlang/erlang-23.3.2.ebuild deleted file mode 100644 index 257dbb6d4a2c..000000000000 --- a/dev-lang/erlang/erlang-23.3.2.ebuild +++ /dev/null @@ -1,155 +0,0 @@ -# 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 java-pkg-opt-2 systemd wxwidgets - -# NOTE: If you need symlinks for binaries please tell maintainers or -# open up a bug to let it be created. - -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 +hipe 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}"/18.2.1-wx3.0.patch - "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch -) - -SITEFILE=50"${PN}"-gentoo.el - -src_prepare() { - default - - ./otp_build autoconf || die -} - -src_configure() { - use wxwidgets && setup-wxwidgets - - local myconf=( - --disable-builtin-zlib - $(use_enable hipe) - $(use_enable kpoll kernel-poll) - $(use_with java javac) - $(use_enable sctp) - $(use_with ssl ssl "${EPREFIX}"/usr) - $(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/erlang/erlang-23.3.4.ebuild b/dev-lang/erlang/erlang-23.3.4.ebuild new file mode 100644 index 000000000000..257dbb6d4a2c --- /dev/null +++ b/dev-lang/erlang/erlang-23.3.4.ebuild @@ -0,0 +1,155 @@ +# 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 java-pkg-opt-2 systemd wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +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 +hipe 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}"/18.2.1-wx3.0.patch + "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch +) + +SITEFILE=50"${PN}"-gentoo.el + +src_prepare() { + default + + ./otp_build autoconf || die +} + +src_configure() { + use wxwidgets && setup-wxwidgets + + local myconf=( + --disable-builtin-zlib + $(use_enable hipe) + $(use_enable kpoll kernel-poll) + $(use_with java javac) + $(use_enable sctp) + $(use_with ssl ssl "${EPREFIX}"/usr) + $(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/ferite/Manifest b/dev-lang/ferite/Manifest index 547f902169a6..940e6739ba30 100644 --- a/dev-lang/ferite/Manifest +++ b/dev-lang/ferite/Manifest @@ -1,4 +1,6 @@ +AUX ferite-1.1.17-bool.patch 1935 BLAKE2B dc926f716e3abfefe48d74e638a35451ec856188e71d76797252b65d2024047543a25739c6bef81133bec0533c480b651dcea845db5dcd76eea70d1c49ed58d3 SHA512 6366d3388185541506c1adc8387c0f6fe91851c257cd4cc2d03afcae3c867e03718885f6e142812c66f429dff493b7e033288b47af54af1eede2a589ba0c1064 +AUX ferite-1.1.17-slibtool.patch 23689 BLAKE2B 838b3629fa75a652144da2dd9fbce2a075ddd877c78b206b929985453e2988f56c4263006ef9a9450726dd40e08782ca29fd052835ce8111473d6d679a9aa145 SHA512 64e05b7509d357a697eab255c92af61a61c02937dbcabd1306ecbff079565ddc7a239a7c9fe22f7392c81b8b3c7ad224c986f2bf2556f1384a4f848d575345b0 AUX ferite-pcre.patch 1356 BLAKE2B f2c3669e33d12dce6e00d22b5884f0770021eb77297997bd94e777b114f8ae24f7ed23b10d7c877a7bffb61fe9ff0e126bd717ea8c8a8fb8186da89178ba4926 SHA512 e867c4b2fc993963bdf17d992d3dd007f636c85b0c13388480cec0f0ff70b6596274c19cd46b0e3ee11064f607b381f7f76888819ef6fb3bdd0804b07b5087fc DIST ferite-1.1.17.tar.gz 2174774 BLAKE2B 5e55ed4101bc5a9c031afef0d9bfcafdc0c498c4ddc712eb17e3059ebd55b925e6b0343113853b946a31a428e5f71c17a2365e629447bb504453b6a7d61358d8 SHA512 475983b865fba492661e59b7470b7e46889f29ed8ba829b112354963fafcbed6ab4d4677579337c1c4ed730c6fe02897743f56edae335ceda6277da975d1098f -EBUILD ferite-1.1.17-r1.ebuild 2475 BLAKE2B 6ef8ff0b6b56819240856cd563a7a967972a8bcf552fef6b37c1cf2de74a8e7d155f8fcb837d71689fd5e09c8dd97cd623d603df37a8cd22ea701717ba5ffa83 SHA512 eb816581a69c0ffea72cb3dddd1f7164e86a2523a9980f9da091dd0b87918531f91d455d3ea827f9eed9f3cd07e3b96b228018da0e88111aab24abd33a60f051 +EBUILD ferite-1.1.17-r1.ebuild 2000 BLAKE2B e17ae71d2d7aabc08aded70d852169e086d9e0f7da54f19653d7d43dd24703f5737f3a3d7e5f45683ccf81fa5d5d51e66f79931be2cdb0d9f22a01613b593fea SHA512 d729a192c0ab752fbb408656fc8bc0156ffa524c39852dcf6bb85535b77de6f7b1d6f4f6c336c24ed38235167b9316ff5ddcfa66ca27d072c2cf4ba511f76e1b MISC metadata.xml 243 BLAKE2B fc4ef3433d84176432ef31abd4960ce0e2dcd4979228bf565712a1e574451b34689a8fff3dab4142e3997f084729bba1bc3d2c38d6ddf10d95a11e0b4412e03a SHA512 e3315331fae1a640778867a807694dc624ac88e4dbae2546780534a629d65d054cc6e376245fd31432d663775121cf07d74b2f1cd65d9d2d9cf9137d6598897a diff --git a/dev-lang/ferite/ferite-1.1.17-r1.ebuild b/dev-lang/ferite/ferite-1.1.17-r1.ebuild index 89bf1582aa04..25c134b1f337 100644 --- a/dev-lang/ferite/ferite-1.1.17-r1.ebuild +++ b/dev-lang/ferite/ferite-1.1.17-r1.ebuild @@ -20,11 +20,15 @@ RDEPEND=" " DEPEND="${RDEPEND}" +PATCHES=( + "${FILESDIR}"/${PN}-pcre.patch + "${FILESDIR}"/${P}-bool.patch + "${FILESDIR}"/${P}-slibtool.patch +) + src_prepare() { default - eapply "${FILESDIR}"/ferite-pcre.patch - # use docsdir variable, install to DESTDIR sed \ -e '/docsdir =/!s:$(prefix)/share/doc/ferite:$(DESTDIR)$(docsdir):' \ @@ -38,23 +42,6 @@ src_prepare() { scripts/test/Makefile.am \ scripts/test/rmi/Makefile.am || die - # Don't override the user's LDFLAGS - sed \ - -e 's:_LDFLAGS = :&$(AM_LDFLAGS) :' \ - -e '/^LDFLAGS/s:^:AM_:' \ - -i modules/*/Makefile.am \ - libs/{aphex,triton}/src/Makefile.am \ - src/Makefile.am || die - - # Only build/install shared libs for modules (can't use static anyway) - sed -i -e '/_LDFLAGS/s:-module:& -shared:' modules/*/Makefile.am || die - - # use LIBADD to ensure proper deps (fix parallel build) - sed \ - -e '/^stream_la_LDFLAGS/s:-L\. -lferitestream::' \ - -e '/^stream_la_LIBADD/s:$:libferitestream.la:' \ - -i modules/stream/Makefile.am || die - # Make sure we install in $(get_libdir), not lib sed -i -e "s|\$prefix/lib|\$prefix/$(get_libdir)|g" configure.ac || die @@ -67,7 +54,7 @@ src_prepare() { } src_configure() { - econf --libdir="${EPREFIX}/usr/$(get_libdir)" + econf --libdir="${EPREFIX}/usr/$(get_libdir)" --disable-static } src_install() { diff --git a/dev-lang/ferite/files/ferite-1.1.17-bool.patch b/dev-lang/ferite/files/ferite-1.1.17-bool.patch new file mode 100644 index 000000000000..ef92a2b41517 --- /dev/null +++ b/dev-lang/ferite/files/ferite-1.1.17-bool.patch @@ -0,0 +1,62 @@ +commit 797ba18741a03c6a1ccd8070b5f2629bcd6cf87f +Author: orbea +Date: Tue May 11 07:13:35 2021 -0700 + + modules/xml: Rename the bool variable. + + This fixes compilation failures under some environments. + + xml_XML_TreeParser.c: In function ‘ferite_xml_XML_TreeParser_keepBlanks_b’: + xml_XML_TreeParser.c:10:9: error: two or more data types in declaration specifiers + 10 | char bool = FE_FALSE; + | ^~~~ + xml_XML_TreeParser.c:10:14: error: expected identifier or ‘(’ before ‘=’ token + + Signed-off-by: orbea + +diff --git a/modules/xml/xml_XML_TreeParser.c b/modules/xml/xml_XML_TreeParser.c +index 886a901..25a2105 100644 +--- a/modules/xml/xml_XML_TreeParser.c ++++ b/modules/xml/xml_XML_TreeParser.c +@@ -7,17 +7,17 @@ + + FE_NATIVE_FUNCTION( ferite_xml_XML_TreeParser_keepBlanks_b ) + { +- char bool = FE_FALSE; ++ char fe_bool = FE_FALSE; + FeriteObject *self = FE_CONTAINER_TO_OBJECT; + FeriteObject *super = FE_CONTAINER_TO_OBJECT; + +- ferite_get_parameters( params, 1, &bool ); ++ ferite_get_parameters( params, 1, &fe_bool ); + + { /* Main function body. */ + #line 417 "xml.fec" + + XMLDoc *tree = (XMLDoc*)self->odata; +- tree->keepBlanks = bool; ++ tree->keepBlanks = fe_bool; + + } + FE_RETURN_VOID; +@@ -151,17 +151,17 @@ FE_NATIVE_FUNCTION( ferite_xml_XML_TreeParser_saveToFile_s ) + + FE_NATIVE_FUNCTION( ferite_xml_XML_TreeParser_validation_b ) + { +- char bool = FE_FALSE; ++ char fe_bool = FE_FALSE; + FeriteObject *self = FE_CONTAINER_TO_OBJECT; + FeriteObject *super = FE_CONTAINER_TO_OBJECT; + +- ferite_get_parameters( params, 1, &bool ); ++ ferite_get_parameters( params, 1, &fe_bool ); + + { /* Main function body. */ + #line 403 "xml.fec" + + +- if( bool == FE_FALSE ) ++ if( fe_bool == FE_FALSE ) + xmlDoValidityCheckingDefaultValue = 0; + else + xmlDoValidityCheckingDefaultValue = 1; diff --git a/dev-lang/ferite/files/ferite-1.1.17-slibtool.patch b/dev-lang/ferite/files/ferite-1.1.17-slibtool.patch new file mode 100644 index 000000000000..4a6fc15de6e8 --- /dev/null +++ b/dev-lang/ferite/files/ferite-1.1.17-slibtool.patch @@ -0,0 +1,569 @@ +commit 3cbead845f607628a44d78583534e6c0a74e9af1 +Author: orbea +Date: Mon May 10 09:38:47 2021 -0700 + + Fix the build with -no-undefined. + + This adds correct usage of LDFLAGS and LIBADD. + + Signed-off-by: orbea + +diff --git a/builder/builder.h b/builder/builder.h +index e92b410..fa0055a 100644 +--- a/builder/builder.h ++++ b/builder/builder.h +@@ -51,10 +51,6 @@ typedef struct __builder_module { + "MAINTAINERCLEANFILES = %s*.h %s*.c %s*~\n\n" \ + "CLEANFILES = \n" \ + "\n" \ +- "if NEED_FERITE_LIB\n" \ +- "libferite = -L${top_builddir}/src -lferite\n" \ +- "endif\n\n" \ +- "LDFLAGS = $(libferite) -L${libdir} @%s_LIBS@\n" \ + "INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @%s_CFLAGS@\n" \ + "DEFS = @thread_defs@\n" \ + "\nscripts_DATA = %s\nscriptsdir = @FE_XPLAT_LIBRARY_PATH@\n\n" \ +@@ -65,7 +61,7 @@ typedef struct __builder_module { + "\n" \ + "%s_la_SOURCES = %s %s\n" \ + "%s_la_LDFLAGS = -no-undefined -module -avoid-version\n" \ +- "%s_la_LIBADD =\n" \ ++ "%s_la_LIBADD = ${top_builddir}/src/libferite.la\n" \ + "\n" \ + "%s_core.c: %s\n" \ + "\t%s -m %s %s/%s/%s\n\n%s" +diff --git a/configure.ac b/configure.ac +index 5b2f644..d5e713d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -78,8 +78,6 @@ AC_DEFINE_UNQUOTED([PLATFORM], "$platform", [The Platform on which we exist]) + CFLAGS="-DHAVE_CONFIG_HEADER -L$prefix/lib $CFLAGS" + CCFLAGS="-DHAVE_CONFIG_HEADER -L$prefix/lib $CCFLAGS" + +-AM_CONDITIONAL(NEED_FERITE_LIB, test "$system" = "Darwin" -o "$system" = "CYGWIN" -o "$system" = "SunOS" -o "$system" = "MINGW") +- + AC_PROG_INSTALL + AC_PROG_MAKE_SET + +diff --git a/libs/aphex/src/Makefile.am b/libs/aphex/src/Makefile.am +index 2b14cb7..57a8311 100644 +--- a/libs/aphex/src/Makefile.am ++++ b/libs/aphex/src/Makefile.am +@@ -6,8 +6,6 @@ AUTOMAKE_OPTIONS = no-dependencies foreign + + MAINTAINERCLEANFILES = Makefile.in + +-LDFLAGS = -L${prefix}/lib +- + INCLUDES = -I${top_srcdir}/libs/aphex/include -I${top_srcdir}/include -I${prefix}/include -I$(includedir) @aphex_INCS@ + + +@@ -18,7 +16,7 @@ noinst_LTLIBRARIES = libaphex.la + include_HEADERS = + + libaphex_la_DEPENDENCIES = $(top_builddir)/config.h +-libaphex_la_LDFLAGS = -no-undefined $(LDFLAGS) -m @aphex_LDFLAGS@ ++libaphex_la_LDFLAGS = -no-undefined -m @aphex_LDFLAGS@ + libaphex_la_LIBADD = @thread_libs@ @gc_libs@ + + libaphex_la_SOURCES = aphex_file.c aphex_directory.c aphex_config.c aphex_match.c aphex_thread.c aphex_notify.c poll.c poll.h +diff --git a/libs/triton/src/Makefile.am b/libs/triton/src/Makefile.am +index 0572996..0b25ba3 100644 +--- a/libs/triton/src/Makefile.am ++++ b/libs/triton/src/Makefile.am +@@ -6,8 +6,6 @@ AUTOMAKE_OPTIONS = no-dependencies foreign + + MAINTAINERCLEANFILES = Makefile.in + +-LDFLAGS = -L/usr/local/lib +- + INCLUDES = -I${top_srcdir} -I${top_srcdir}/libs/triton/include -I${top_srcdir}/include -I${prefix}/include -I$(includedir) @TRITON_INCS@ + + DEFS = @debugdefs@ +@@ -23,6 +21,6 @@ CLEANFILES = libltdl.la libltdlc.la + include_HEADERS = + + libtriton_la_DEPENDENCIES = $(top_builddir)/config.h +-libtriton_la_LDFLAGS = -no-undefined $(LDFLAGS) -m @TRITON_LDFLAGS@ ++libtriton_la_LDFLAGS = -no-undefined -m @TRITON_LDFLAGS@ + + libtriton_la_SOURCES = triton_core.c triton_loader_dlfcn.c triton_loader_ltdl.c triton_loader_darwin.c triton_loader_win32.c +diff --git a/modules/array/Makefile.am b/modules/array/Makefile.am +index 9f0475d..8bef2b8 100644 +--- a/modules/array/Makefile.am ++++ b/modules/array/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = array*.h array*.c array*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @array_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @array_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = array.la + + array_la_SOURCES = array_core.c array_misc.c array_Array.c array_header.h util.c util.h + array_la_LDFLAGS = -no-undefined -module -avoid-version +-array_la_LIBADD = ++array_la_LIBADD = ${top_builddir}/src/libferite.la + + array_core.c: @MODULE_SRC_PREFIX@/array/array.fec + @BUILDER@ -m array @MODULE_SRC_PREFIX@/array/array.fec +diff --git a/modules/date/Makefile.am b/modules/date/Makefile.am +index ab646b4..976baa0 100644 +--- a/modules/date/Makefile.am ++++ b/modules/date/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = date*.h date*.c date*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite -L${top_builddir}/modules/stream -lferitestream +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @date_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @date_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = date.la + + date_la_SOURCES = date_core.c date_header.h date_misc.c date_Alarm.c date_Date.c util_date.c util_date.h strptime.c + date_la_LDFLAGS = -no-undefined -module -avoid-version +-date_la_LIBADD = ++date_la_LIBADD = ${top_builddir}/modules/stream/libferitestream.la + + date_core.c: @MODULE_SRC_PREFIX@/date/date.fec + @BUILDER@ -m date @MODULE_SRC_PREFIX@/date/date.fec +diff --git a/modules/filesystem/Makefile.am b/modules/filesystem/Makefile.am +index ac5b5e9..227a5ab 100644 +--- a/modules/filesystem/Makefile.am ++++ b/modules/filesystem/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = filesystem*.h filesystem*.c filesystem*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite -L${top_builddir}/modules/stream -lferitestream +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @filesystem_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @filesystem_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = filesystem.la + + filesystem_la_SOURCES = filesystem_core.c filesystem_misc.c filesystem_FileSystem.c filesystem_Directory.c filesystem_File.c filesystem_header.h + filesystem_la_LDFLAGS = -no-undefined -module -avoid-version +-filesystem_la_LIBADD = ++filesystem_la_LIBADD = ${top_builddir}/modules/stream/libferitestream.la + + filesystem_core.c: @MODULE_SRC_PREFIX@/filesystem/filesystem.fec + @BUILDER@ -m filesystem @MODULE_SRC_PREFIX@/filesystem/filesystem.fec +diff --git a/modules/ipc/Makefile.am b/modules/ipc/Makefile.am +index 3367aa2..18f9593 100644 +--- a/modules/ipc/Makefile.am ++++ b/modules/ipc/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = ipc*.h ipc*.c ipc*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @ipc_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @ipc_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = ipc.la + + ipc_la_SOURCES = ipc_core.c ipc_misc.c ipc_IPCObject.c ipc_header.h + ipc_la_LDFLAGS = -no-undefined -module -avoid-version +-ipc_la_LIBADD = ++ipc_la_LIBADD = ${top_builddir}/src/libferite.la + + ipc_core.c: @MODULE_SRC_PREFIX@/ipc/ipc.fec + @BUILDER@ -m ipc @MODULE_SRC_PREFIX@/ipc/ipc.fec +diff --git a/modules/math/Makefile.am b/modules/math/Makefile.am +index 21a2ebc..f3a7f09 100644 +--- a/modules/math/Makefile.am ++++ b/modules/math/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = math*.h math*.c math*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @math_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @math_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = math.la + + math_la_SOURCES = math_core.c math_misc.c math_Math.c math_Math_Complex.c math_header.h + math_la_LDFLAGS = -no-undefined -module -avoid-version +-math_la_LIBADD = ++math_la_LIBADD = ${top_builddir}/src/libferite.la + + math_core.c: @MODULE_SRC_PREFIX@/math/complex.fec @MODULE_SRC_PREFIX@/math/math.fec + @BUILDER@ -m math @MODULE_SRC_PREFIX@/math/math.fec +diff --git a/modules/network/Makefile.am b/modules/network/Makefile.am +index 91aff1a..d753ed7 100644 +--- a/modules/network/Makefile.am ++++ b/modules/network/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = network*.h network*.c network*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite -L${top_builddir}/modules/stream -lferitestream +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @network_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @network_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = network.la + + network_la_SOURCES = network_core.c network_misc.c network_Network.c network_Network_TCP.c network_Network_TCP_Stream.c network_Network_Host.c network_Network_UDP.c network_Network_UDP_Stream.c network_Network_Service.c network_header.h util_network.c util_network.h + network_la_LDFLAGS = -no-undefined -module -avoid-version +-network_la_LIBADD = ++network_la_LIBADD = ${top_builddir}/modules/stream/libferitestream.la + + network_core.c: @MODULE_SRC_PREFIX@/network/network.fec + @BUILDER@ -m network @MODULE_SRC_PREFIX@/network/network.fec +diff --git a/modules/number/Makefile.am b/modules/number/Makefile.am +index 6a39962..1203c68 100644 +--- a/modules/number/Makefile.am ++++ b/modules/number/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = number*.h number*.c number*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @number_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @number_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = number.la + + number_la_SOURCES = number_core.c number_misc.c number_Number.c number_header.h + number_la_LDFLAGS = -no-undefined -module -avoid-version +-number_la_LIBADD = ++number_la_LIBADD = ${top_builddir}/src/libferite.la + + number_core.c: @MODULE_SRC_PREFIX@/number/number.fec + @BUILDER@ -m number @MODULE_SRC_PREFIX@/number/number.fec +diff --git a/modules/posix/Makefile.am b/modules/posix/Makefile.am +index 8c5d8e9..bfd96fa 100644 +--- a/modules/posix/Makefile.am ++++ b/modules/posix/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = posix*.h posix*.c posix*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite -L${top_builddir}/modules/stream -lferitestream +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @posix_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @posix_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = posix.la + + posix_la_SOURCES = posix_core.c posix_misc.c posix_Posix.c posix_Posix_Uname.c posix_Posix_Rlimit.c posix_Posix_User.c posix_Posix_Pipe.c posix_Posix_Rusage.c posix_Posix_ProcessStream.c posix_Posix_Stat.c posix_Posix_SelectResult.c posix_Posix_Group.c posix_header.h util_posix.c util_posix.h util_user.c util_user.h util_signal.c util_signal.h + posix_la_LDFLAGS = -no-undefined -module -avoid-version +-posix_la_LIBADD = ++posix_la_LIBADD = ${top_builddir}/modules/stream/libferitestream.la + + posix_core.c: @MODULE_SRC_PREFIX@/posix/posix.fec @MODULE_SRC_PREFIX@/posix/posix_consts.fec + @BUILDER@ -m posix @MODULE_SRC_PREFIX@/posix/posix.fec +diff --git a/modules/reflection/Makefile.am b/modules/reflection/Makefile.am +index 8d02b47..0509819 100644 +--- a/modules/reflection/Makefile.am ++++ b/modules/reflection/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = reflection*.h reflection*.c reflection*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @reflection_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @reflection_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = reflection.la + + reflection_la_SOURCES = reflection_core.c reflection_misc.c reflection_Reflection.c reflection_Namespace.c reflection_Function.c reflection_Class.c reflection_Variable.c reflection_Object.c reflection_header.h utility.c + reflection_la_LDFLAGS = -no-undefined -module -avoid-version +-reflection_la_LIBADD = ++reflection_la_LIBADD = ${top_builddir}/src/libferite.la + + reflection_core.c: @MODULE_SRC_PREFIX@/reflection/reflection.fec + @BUILDER@ -m reflection @MODULE_SRC_PREFIX@/reflection/reflection.fec +diff --git a/modules/regexp/Makefile.am b/modules/regexp/Makefile.am +index 9bf9df6..4bf74be 100644 +--- a/modules/regexp/Makefile.am ++++ b/modules/regexp/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = regexp*.h regexp*.c regexp*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @regexp_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @regexp_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = regexp.la + + regexp_la_SOURCES = regexp_core.c regexp_misc.c regexp_MatchObject.c regexp_Regexp.c regexp_header.h + regexp_la_LDFLAGS = -no-undefined -module -avoid-version +-regexp_la_LIBADD = ++regexp_la_LIBADD = ${top_builddir}/src/libferite.la + + regexp_core.c: @MODULE_SRC_PREFIX@/regexp/regexp.fec + @BUILDER@ -m regexp @MODULE_SRC_PREFIX@/regexp/regexp.fec +diff --git a/modules/serialize/Makefile.am b/modules/serialize/Makefile.am +index 0d40c38..ac58c8a 100644 +--- a/modules/serialize/Makefile.am ++++ b/modules/serialize/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = serialize*.h serialize*.c serialize*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @serialize_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @serialize_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = serialize.la + + serialize_la_SOURCES = serialize_core.c serialize_misc.c serialize_Serialize.c serialize_header.h utility.c utility.h + serialize_la_LDFLAGS = -no-undefined -module -avoid-version +-serialize_la_LIBADD = ++serialize_la_LIBADD = ${top_builddir}/src/libferite.la + + serialize_core.c: @MODULE_SRC_PREFIX@/serialize/serialize.fec + @BUILDER@ -m serialize @MODULE_SRC_PREFIX@/serialize/serialize.fec +diff --git a/modules/stream/Makefile.am b/modules/stream/Makefile.am +index 5f6adf1..1ed7e61 100644 +--- a/modules/stream/Makefile.am ++++ b/modules/stream/Makefile.am +@@ -7,18 +7,12 @@ MAINTAINERCLEANFILES = stream*.h stream*.c stream*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @stream_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @stream_CFLAGS@ + DEFS = @thread_defs@ + + lib_LTLIBRARIES = libferitestream.la + libferitestream_la_SOURCES = util_stream.c +-libferitestream_la_LIBADD = $(LDFLAGS) +-libferitestream_la_DEPENDENCIES = ++libferitestream_la_LIBADD = ${top_builddir}/src/libferite.la + libferitestream_la_LDFLAGS = -version-info 1:0:0 -export-dynamic -no-undefined + + fsl_DATA = util_stream.h +@@ -36,7 +30,7 @@ pkg_LTLIBRARIES = stream.la + + stream_la_SOURCES = stream_core.c stream_misc.c stream_Stream.c stream_Stream_Stream.c stream_Stream_StdioStream.c stream_Stream_StringStream.c stream_Stream_PointerObject.c stream_header.h util_stream.c util_stream.h + stream_la_LDFLAGS = -no-undefined -module -avoid-version -L. -lferitestream +-stream_la_LIBADD = ++stream_la_LIBADD = libferitestream.la + + stream_core.c: @MODULE_SRC_PREFIX@/stream/stream.fec + @BUILDER@ -m stream @MODULE_SRC_PREFIX@/stream/stream.fec +diff --git a/modules/string/Makefile.am b/modules/string/Makefile.am +index 851d2ff..ff83887 100644 +--- a/modules/string/Makefile.am ++++ b/modules/string/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = string*.h string*.c string*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @string_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @string_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = string.la + + string_la_SOURCES = string_core.c string_misc.c string_String.c string_header.h + string_la_LDFLAGS = -no-undefined -module -avoid-version +-string_la_LIBADD = ++string_la_LIBADD = ${top_builddir}/src/libferite.la + + string_core.c: @MODULE_SRC_PREFIX@/string/string.fec + @BUILDER@ -m string @MODULE_SRC_PREFIX@/string/string.fec +diff --git a/modules/sys/Makefile.am b/modules/sys/Makefile.am +index ac60b56..01c7e8f 100644 +--- a/modules/sys/Makefile.am ++++ b/modules/sys/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = sys*.h sys*.c sys*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite -L${top_builddir}/modules/stream -lferitestream +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @sys_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @sys_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = sys.la + + sys_la_SOURCES = sys_core.c sys_misc.c sys_Sys.c sys_Sys_env.c sys_header.h + sys_la_LDFLAGS = -no-undefined -module -avoid-version +-sys_la_LIBADD = ++sys_la_LIBADD = ${top_builddir}/modules/stream/libferitestream.la + + sys_core.c: @MODULE_SRC_PREFIX@/sys/env.fec @MODULE_SRC_PREFIX@/sys/std.fec @MODULE_SRC_PREFIX@/sys/sys.fec + @BUILDER@ -m sys @MODULE_SRC_PREFIX@/sys/sys.fec +diff --git a/modules/test/Makefile.am b/modules/test/Makefile.am +index aeb7940..b99b0de 100644 +--- a/modules/test/Makefile.am ++++ b/modules/test/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = test*.h test*.c test*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @test_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @test_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = test.la + + test_la_SOURCES = test_core.c test_misc.c test_Test.c test_header.h utility.c utility.h + test_la_LDFLAGS = -no-undefined -module -avoid-version +-test_la_LIBADD = ++test_la_LIBADD = ${top_builddir}/src/libferite.la + + test_core.c: @MODULE_SRC_PREFIX@/test/test.fec + @BUILDER@ -m test @MODULE_SRC_PREFIX@/test/test.fec +diff --git a/modules/thread/Makefile.am b/modules/thread/Makefile.am +index 3d6cfb2..c5438e4 100644 +--- a/modules/thread/Makefile.am ++++ b/modules/thread/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = thread*.h thread*.c thread*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @thread_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @thread_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = thread.la + + thread_la_SOURCES = thread_core.c thread_misc.c thread_Thread.c thread_Mutex.c thread_Event.c thread_header.h utility.c + thread_la_LDFLAGS = -no-undefined -module -avoid-version +-thread_la_LIBADD = ++thread_la_LIBADD = ${top_builddir}/src/libferite.la + + thread_core.c: @MODULE_SRC_PREFIX@/thread/thread.fec + @BUILDER@ -m thread @MODULE_SRC_PREFIX@/thread/thread.fec +diff --git a/modules/unix/Makefile.am b/modules/unix/Makefile.am +index 7999784..8fea3e7 100644 +--- a/modules/unix/Makefile.am ++++ b/modules/unix/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = unix*.h unix*.c unix*~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite -L${top_builddir}/modules/stream -lferitestream +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @unix_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @unix_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = unix.la + + unix_la_SOURCES = unix_core.c unix_misc.c unix_Unix.c unix_Unix_SyslogStream.c unix_Network.c unix_Network_Unix.c unix_Network_Unix_Stream.c unix_header.h + unix_la_LDFLAGS = -no-undefined -module -avoid-version +-unix_la_LIBADD = ++unix_la_LIBADD = ${top_builddir}/modules/stream/libferitestream.la + + unix_core.c: @MODULE_SRC_PREFIX@/unix/unix.fec @MODULE_SRC_PREFIX@/unix/syslog.fec @MODULE_SRC_PREFIX@/unix/unixsocket.fec + @BUILDER@ -m unix @MODULE_SRC_PREFIX@/unix/unix.fec +diff --git a/modules/xml/Makefile.am b/modules/xml/Makefile.am +index 71a88a9..26c7cbb 100644 +--- a/modules/xml/Makefile.am ++++ b/modules/xml/Makefile.am +@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = xml*.h xml*.c xml*~~ + + CLEANFILES = + +-if NEED_FERITE_LIB +-libferite = -L${top_builddir}/src -lferite +-endif +- +-LDFLAGS = $(libferite) -L${libdir} @xml_LIBS@ + INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @xml_CFLAGS@ + DEFS = @thread_defs@ + +@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = xml.la + + xml_la_SOURCES = xml_core.c xml_misc.c xml_XML.c xml_XML_SAXParser.c xml_XML_TreeParser.c xml_header.h sax_handlers.c sax_handlers.h tree_handlers.c tree_handlers.h xpath_handlers.c xpath_handlers.h xml_XML_Element.c + xml_la_LDFLAGS = -no-undefined -module -avoid-version +-xml_la_LIBADD = ++xml_la_LIBADD = ${top_builddir}/src/libferite.la @xml_LIBS@ + + xml_core.c: @MODULE_SRC_PREFIX@/xml/xml.fec + @BUILDER@ -m xml @MODULE_SRC_PREFIX@/xml/xml.fec +diff --git a/src/Makefile.am b/src/Makefile.am +index 01c8649..fa2e41e 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -8,8 +8,6 @@ MAINTAINERCLEANFILES = Makefile.in + + CLEANFILES = *~ + +-LDFLAGS = -L${prefix}/lib -lm +- + INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/libs/aphex/include -I$(top_srcdir)/libs/triton/include -I${top_srcdir}/include -I${prefix}/include -I$(includedir) -I${top_srcdir}/include/ferite/ @pcre_cflags@ + + DEFS = @debugdefs@ @thread_defs@ @gc_defs@ +@@ -69,6 +67,6 @@ EXTRA_DIST = ferite_parser.y ferite_scanner.l + + libferite_la_LIBADD = $(top_builddir)/libs/triton/src/libtriton.la \ + $(top_builddir)/libs/aphex/src/libaphex.la \ +- -lm @pcre_libs@ @thread_libs@ @gc_libs@ $(LDFLAGS) ++ -lm @pcre_libs@ @thread_libs@ @gc_libs@ + libferite_la_DEPENDENCIES = $(top_builddir)/config.h $(top_builddir)/libs/triton/src/libtriton.la $(top_builddir)/libs/aphex/src/libaphex.la + libferite_la_LDFLAGS = -version-info 1:1:0 -export-dynamic -no-undefined diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest index 581ca724769e..d1dc98344816 100644 --- a/dev-lang/gnat-gpl/Manifest +++ b/dev-lang/gnat-gpl/Manifest @@ -14,6 +14,7 @@ AUX gnat-gpl-2018-gentoo.patch 634 BLAKE2B ad330b625cb495a294a6fecc57ae097c1d19b AUX gnat-gpl-2018-libsanitizer-p1.patch 1268 BLAKE2B ee6fef473572eeea162eaac8e4726c51f82034a07cc9cf3b3717b0d77149325108113da4e589ca30d4fb178bd55afbab8e2fe3e7c704d2f9f25a9815c9f4d088 SHA512 e4e68e1cccd3c20aa7e69b30d47f2eca89d39ba6cc966bab51635a01f3e2b787863ccf3a28f251921636e2693e06360ac15602d9dad5727ea0ad1bb2133880a1 AUX gnat-gpl-2018-libsanitizer-p2.patch 2162 BLAKE2B 31fd332aaf66bd6b1a9675792744940c33d1e44743d0e3b4c07c8c0037acc7a728538dfe92a4599850426c255c774b65e90953c7dad45d9aac7f5114cd8ac57a SHA512 67bbd9bda8ec8bd7b44b81474dbf3601156cbebb5a0f0948553786bec979294c2786d8fc3cfad3c898b0561414b5bc15d5da0fdfa29bbfd7c9401237fd70bf56 AUX gnat-gpl-2019-gentoo.patch 1408 BLAKE2B 5234c542cc33af3c1bcb256fbe266613ec2e9f0b21d143029bf527ee03b4b363b2de7467eb79fadf4c8e8d3f39e589cfa3c0fadee1723e87938c74b8547d5ecf SHA512 2b9f0081d7aae5c71f73ebf43683fde033966288a937769e9b49e21805f31b5f0b4190e31431def58fcc93cd09f9b0e061096cffe61616073612f53d7e3e724b +AUX gnat-gpl-2020-gentoo.patch 1629 BLAKE2B 76d67a7c39c1f578c25f2a15ed05145f7997f2232d79dc767f1a2c7b4f00a11d23ed86383756fabde39f13c570d46a1804344ed1a3ad2e9df256e70132f3a7d3 SHA512 98be1f33755cd26896f7398305b0e2decb3830a0abe84de89307620288e81b1ba7db9eb8e2aa59bf80e7191e1b65b7d1c41f57fead78c951891e1bb45ded28b2 DIST ecj-4.5.jar 1470676 BLAKE2B 793c10ba09fd8040c0e1181204141aea16780c9c9088e07126e00da2b510af2ad6f58d876357d7e98cbb02d783a3be434469d5de1df134ccb8cc508e45028d80 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e DIST gcc-4.4.3-specs-0.2.0.tar.bz2 2004 BLAKE2B 96f5ba2028bc6e0ef71e009857c37118a54d13d30de24d697c85e5772f9f2b7853615648cf2e4ee81d8385f6518c64588c0b56675c00f95ef39fca2a808f075e SHA512 779ecb0a064d2138b54569c8ae501975b8a6b72e5a3acbf8597619a8db77ee42ef9b0e62608d5192a15e4393e7dfc009bb50b994782236faa744b2c46b5fe517 DIST gcc-4.9-gpl-2016-src.tar.gz 76361760 BLAKE2B 681aac3dd2e04110f58637cc9fe1eb663ce55af16a929a446eb59ce338bec9357e65517890f7fa01d61eec9c5041336722b2b94a5fea27a55ade686fe1fe9fbc SHA512 da1e26b4dbbe0ec634eab4e64d1cdb2632300c24f0885bc72fb57edba6ce29ab92b04eaedd8f8077ea623f1ef1428f53616e8c8d6630328d9790d968b60c67cf @@ -27,11 +28,15 @@ DIST gcc-7-gpl-2018-src.tar.gz 90302033 BLAKE2B 2f79137e176bff04c4fb17ab86330294 DIST gcc-7.3.0-patches-1.8.tar.bz2 14435 BLAKE2B 3e5c1abad56ccd6e0aa7739cb7cd651ec07ef9bf25be554343f1fa0444f251de41bde5fe6f8bb9e85e3f7a5cf8b2b83515647d93d62f338fa7843581fcaff2f8 SHA512 4d9d76b3d47f1af4f23cae15278d165b22065a3d1512323d1e31b5e0cb47e4654733dc43fa11906a3bd18e827621c9a5ec62b73563f8e5ead663c29f7d0d7345 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-4.tar.bz2 15474 BLAKE2B b06fdfce4402850bb1c6c211ace4c3a07ad2114ffa48eac58d1624124d5d1bddd6d2b4faa18be3291a340272c022bea26dfcaf17929828ceb6474a5211401389 SHA512 54904a4a1c4a784f1a707cbdd9f6f498457e4aa550dc6f3d6eff71ed05a75685e23e6b71c2a614b1dea7e506b9f42fb0109ecfde00ef00373275bbc0409cb7e0 DIST gcc-interface-4.9-gpl-2016-src.tar.gz 339037 BLAKE2B 8218ea3a3e3ddb11febb5f2fbcfad69ec25251d3ed6bf4f9c70dc9b3720cc2fb3310d704db40bd0c749be89b17a2b3766ddae3d6158313480073856057ad4bcf SHA512 507df314d1890c228c19f458bd51197377deaaa2d6082fe1e71b62b683252ee5fba4adfe2386246e14618b1c77288e0dcb5bf501e2daaca249b6299462c2f6bd DIST gcc-interface-6-gpl-2017-src.tar.gz 347016 BLAKE2B 934c6dac491abece9a6868d28fe9d2a6a1109238fe25c9b94abe83dfc22a1085489f0e0384626da0a3abeebe7537c5715df49a7e2d40577c96eb7ac897b84fd8 SHA512 5833303fce5bf812ccbc71f3d3726c0cb877937d75327edb15097c0b7dba58024a52688392906695ab92fb4e5d7a6623671eac9a05d17937dc0270bafcde920a DIST gcc-interface-7-gpl-2018-src.tar.gz 339461 BLAKE2B e6009c0b287b1cd8f055226e6919c12f2ba08f8ef24101608691b05b70a7fb0ca708e2ecd126499fb84a126436d3841f1a13be0b6d3442ef3bd3871391f8e1d5 SHA512 9dc942a39dd983778756be2951b4c66ac3835bf456dc389f80ffbafdacde4ebcb80720ac9eca8fef8734d6d052c061db37c88dba642d85add10940164d120381 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-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 DIST gnat-gpl-2016-src.tar.gz 8857249 BLAKE2B 3ff0fe247990e2a612ac989aa389e9ccae2e29c16177975c327b53ae1471030d0a70e5a2e3af219ad9a3288c241f2d18da349d0650f7fde01d439f4e4720de88 SHA512 4a5cb58ede5b4ae2887e64f0f2e12e0e06470d320796f06d02f7ddd932ff0d3b40e6d3e98a81138fff6906548a55153c2a186ff4a6e3d23b9dbe01ca582da1f8 @@ -41,4 +46,5 @@ EBUILD gnat-gpl-2016-r4.ebuild 4309 BLAKE2B d09b887127874269dae21ef5befa8643b497 EBUILD gnat-gpl-2017-r1.ebuild 3895 BLAKE2B 2f9e145372267d9ecc971bb4de65bacb13eceb79cdda9c425d6e1b9dcec301daecbb605b2333cbaaf13a7eb68b1e97ebe7d2feb6a13103edebf41da04d5039fb SHA512 f646e5a21721ee83f21e7801f3693880b78907bc5985473349a6a22c9eac30bfeaed2d69cedcb3d165566525a26a8989df05a6e51372e6d4293e272a3c3f6bf0 EBUILD gnat-gpl-2018-r3.ebuild 3858 BLAKE2B 4f3e1f2d5ae63df871f8037b223b13c0dedba5f4ce2440dd443d9cd8a9de4931e14ebad13a2f8f1fb00d8a3f62b3afb8e990d3ae7089b6d3b8164d9c5793049f SHA512 419f760f4ba7c2bfa394cdfb5b3406867cef2ea8887a4372692d6d35d022ab4e23872c79395f9a5337e23cfd201545062a2dd7318e861a3f3454ef02c4f45fa7 EBUILD gnat-gpl-2019-r2.ebuild 3603 BLAKE2B 2df7cbc37b3080ae88c911fa75c977f48ba69e8f8d52ddfe8bca7f2f558a4a8362bfc1ab9285806a004ef70ea11dd89747214094caa8ad9aa48db89af33107bf SHA512 3c05ab26066429d83dd6efff65fdeb3e91f05446a83d8b4fc68b3d534a4c5e7ef6769f16b5d02b00747e68cc617a5b7035fd011721b9b4916b52245419405cec -MISC metadata.xml 2217 BLAKE2B 3862fbb5ca8625a16c4031de574ff280c9aef0522dee6a8578615d5161daefaf636c8564cb4995e0096ff74728c9bb68e61af93c799c736c1f0fb69b34a4d1d3 SHA512 5880952bc0f2de368250178859059204fc527dd8e3b178ef689e5f1cebae90dd65840658afeda3f1ac18115ef6023b9ebea45a485e56dcfec719ce091f36c274 +EBUILD gnat-gpl-2020.ebuild 3724 BLAKE2B bd397eceee1743af5c252c7725223f82fd163b37917d1ba8b53730c5488444eb209fee8440e40f7304b739f88eda2619a0470b6d5190e684ffbbff8847ccff05 SHA512 2460938c302ad267fa1be1705d1a7b74b576528c6a9df9f186b01bebf4c296b0fccb50a663c7aaccee8562aea07f38bd4520d5a1095295578f48fbfca1b7f088 +MISC metadata.xml 2355 BLAKE2B 636a4b15afd94397bc6593691e65b4c6d0b5711a58d710225acaed13aa2c6d170d26ee7a316415ccdc407cb8cdb9456da39212b6ea88dd19da227e525f7403fb SHA512 2e84d7deba26724ee438adbdff8d99c61116ad91e9abc1ecea3343f7278cef8061ab89040bb33d832bd53fe66ab30fac1852f7c6d49700b3b9bcb33000ac50e6 diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2020-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2020-gentoo.patch new file mode 100644 index 000000000000..878b4f82cf55 --- /dev/null +++ b/dev-lang/gnat-gpl/files/gnat-gpl-2020-gentoo.patch @@ -0,0 +1,41 @@ +--- a/gcc-9-2020-20200429-19AA7-src/gcc/ada/osint.adb 2017-03-10 21:58:02.600710156 +0100 ++++ b/gcc-9-2020-20200429-19AA7-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100 +@@ -2229,14 +2229,11 @@ + for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop + if Name_Buffer (J .. J + Prog'Length - 1) = Prog then + End_Of_Prefix := J - 1; ++ Start_Of_Suffix := J + Prog'Length; + exit; + end if; + end loop; + +- if End_Of_Prefix > 1 then +- Start_Of_Suffix := End_Of_Prefix + Prog'Length + 1; +- end if; +- + -- Create the new program name + + return new String' +--- a/patch/04_all_nossp-on-nostdlib.patch 2021-05-10 21:37:05.733985417 +0200 ++++ b/patch/04_all_nossp-on-nostdlib.patch 2021-05-10 21:38:02.925029050 +0200 +@@ -4,7 +4,7 @@ + --- a/gcc/gcc.c 2017-07-04 09:15:57.740793000 +0200 + +++ b/gcc/gcc.c 2018-03-02 13:58:44.387741114 +0100 + @@ -857,6 +857,12 @@ proper position among the other output f +- #define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G" ++ #define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}" + #endif + + +#ifdef ENABLE_DEFAULT_SSP +@@ -19,9 +19,9 @@ + @@ -1131,7 +1148,7 @@ static const char *cc1_options = + %{-version:--version}\ + %{-help=*:--help=%*}\ +- %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\ ++ %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %w%b.s}}}\ + - %{fsyntax-only:-o %j} %{-param*}\ + + %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\ + %{coverage:-fprofile-arcs -ftest-coverage}\ ++ %{fdump-scos:-fpreserve-decisions-generic}\ + %{fprofile-arcs|fprofile-generate*|coverage:\ +- %{!fprofile-update=singel:\ diff --git a/dev-lang/gnat-gpl/gnat-gpl-2020.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2020.ebuild new file mode 100644 index 000000000000..1e59a7091c9f --- /dev/null +++ b/dev-lang/gnat-gpl/gnat-gpl-2020.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PATCH_GCC_VER=9.3.0 +PATCH_VER="4" + +TOOLCHAIN_GCC_PV=9.3.1 + +REL=9 +MYP=gcc-${REL}-${PV}-20200429-19AA7-src +GNATDIR=gnat-${PV}-20200429-19B04-src +INTFDIR=gcc-interface-${REL}-${PV}-20200429-19B10-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=" + https://community.download.adacore.com/v1/649a561ec6de9e476c54b02715b79f7503600ce5?filename=${GNATDIR}.tar.gz + -> ${GNATDIR}.tar.gz + https://community.download.adacore.com/v1/e6b6a3e318e13248456bd37b758435e602b367da?filename=${MYP}.tar.gz + -> ${MYP}.tar.gz + https://community.download.adacore.com/v1/c7a97636b31f3575df85f1eb0965462a353630dd?filename=${INTFDIR}.tar.gz + -> ${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 )" + +pkg_setup() { + toolchain_pkg_setup + + 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 +} + +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 + if use bootstrap; then + rm ${BTSTRP}/libexec/gcc/*/4.7.4/ld || die + fi +} + +src_prepare() { + 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/32*.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/metadata.xml b/dev-lang/gnat-gpl/metadata.xml index d3aadec0e515..d22ee4a1f672 100644 --- a/dev-lang/gnat-gpl/metadata.xml +++ b/dev-lang/gnat-gpl/metadata.xml @@ -10,6 +10,7 @@ Window Toolkit (AWT) peer support on top of GTK+ Used to bootstrap gnat-gpl Support the Cilk Plus language (C/C++ based languages for parallel programming) + Enable support for the D programming language Enable fixed-point arithmetic support for MIPS targets in gcc (Warning: significantly increases compile time!) @@ -21,6 +22,7 @@ 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) + Build using Link Time Optimizations (LTO) Disable PIE support (NOT FOR GENERAL USE) Disable SSP support (NOT FOR GENERAL USE) Enable support for Native POSIX Threads Library, the new threading module (requires linux-2.6 or better usually) diff --git a/dev-lang/mozart-stdlib/Manifest b/dev-lang/mozart-stdlib/Manifest index 2e4a6d6b8524..4cad6be958e7 100644 --- a/dev-lang/mozart-stdlib/Manifest +++ b/dev-lang/mozart-stdlib/Manifest @@ -1,4 +1,4 @@ DIST mozart-stdlib-2.0.1-gentoo-patchset-0.tar.gz 1237 BLAKE2B c18fbaba2860faed1ab1b53cc9ead90af338da8fc673c08e167463c784e1b31ec9b6edadb1a55cf70d25f545e88fa226ccec313df09f1ecaa16eb619f9242b8d SHA512 84f2c44124901f63ee11706cdd573b2f6a4eb8427d12560be8f0772bb872ca9f5a14ad3f047ce64da8060188f21ccf774b1866ecc439381294822c6d9a41f2eb DIST mozart2-stdlib-2.0.1.tar.gz 1315353 BLAKE2B b2bd25634dc9194af6dc5e23da369515b3a55e0b23bf6d1bf312d0b8eb9f92eee732ea9cf14ebd659e0e296f77c1b1cffa13a74885279bfc5fc0be5d583fd8c3 SHA512 8bb481b00cd9b62aef348dba9e905b3210d1a2fd219cf561d7d243dc0ead135d3ca53378a5945deedfc67ae076ca72008dd098f4a326f00992764123b682f79c -EBUILD mozart-stdlib-2.0.1.ebuild 739 BLAKE2B 7e73317154eecb560728711fdbeba17ac936f20f87ba62cdd00ec04ca16fdb1123dc3b9a458bd7698ea3f9ce59db24b70a10bbfd40d8011c7627ceedc20e26ee SHA512 89e5763fd96dc6b09ba06f8c22dc834a3edc5cec2984f0a18e412c451e39e3052a568c31546968a25d3050a3df5a7cae980fd08d9794d428379c114b6b9a0b6e +EBUILD mozart-stdlib-2.0.1.ebuild 668 BLAKE2B 4fbfefe88fe9f31b3ed9f61e8a310f1bb3fad97945723373867acf7044d0f6e37e53616c64a3ade0ed57d98e733348ec7cf76a4c267f5bf068fc09b3d450ea47 SHA512 39dd2f56b6efc755abd81ddf791637387d1359bb444bb5ad68dace51b6d1c7abcd23fedab31a9b78186ded1234ae123b20ba2278509f48a5f64e1213ae3fb502 MISC metadata.xml 240 BLAKE2B 6b5ab0d76c5748af7bd1800d11864869d7365b8d53e2fd2ec66c1092dd1fdac8461b20c029ffe835357542ca69f789ce867988d64c43019e02fe9e3691f0f9bd SHA512 7cd99ce62ca4f9307fa7dfdbfd0ff9d8ff7485c58cd08cd684065aca4b570f8655587425f6a240453a9e86452de41f26f8b82aa81c023764d0beb47daa1b15d3 diff --git a/dev-lang/mozart-stdlib/mozart-stdlib-2.0.1.ebuild b/dev-lang/mozart-stdlib/mozart-stdlib-2.0.1.ebuild index 024329f0def8..c9826227a597 100644 --- a/dev-lang/mozart-stdlib/mozart-stdlib-2.0.1.ebuild +++ b/dev-lang/mozart-stdlib/mozart-stdlib-2.0.1.ebuild @@ -1,11 +1,10 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit cmake-utils - MY_PN=mozart2-stdlib +inherit cmake PATCHSET_VER="0" @@ -23,14 +22,10 @@ RDEPEND=">=dev-lang/mozart-2.0.1" DEPEND="${RDEPEND}" S="${WORKDIR}/${MY_PN}" -BUILD_DIR="${S}/build" -CMAKE_USE_DIR="${S}" src_prepare() { if [[ -d "${WORKDIR}"/${PV} ]] ; then eapply "${WORKDIR}"/${PV} fi - eapply_user - - cmake-utils_src_prepare + cmake_src_prepare } diff --git a/dev-lang/mozart/Manifest b/dev-lang/mozart/Manifest index 96462d02d9bf..6b945cb75b64 100644 --- a/dev-lang/mozart/Manifest +++ b/dev-lang/mozart/Manifest @@ -1,4 +1,4 @@ DIST mozart-2.0.1-gentoo-patchset-1.tar.gz 39069 BLAKE2B 7490d13665314b3a998fb21bd8a342f262d92a395c3b0bbfa9a7813c044220c82ac02eb0103409127862c9bb4e4c44765b1228a7bdea2cb247492c94264f4fe0 SHA512 ce3cdb8ffebd95d6065439432905ad68b9cd8b86f58478092ab55df7ae7c72498a3e29bda462f3305aff6c99d010c45d786f905e2e906550ee61656ba122bbc6 DIST mozart-2.0.1.tar.gz 2281261 BLAKE2B 7f071e9ec130a0b482b299f4dac15d64f632702d6ecf55b7af0993087064e533b4de80f77520a725f69f68648a9ce763c8c8826bb24e52af49eda8c3ccfba0b5 SHA512 a72a6fa68296d06af72327fd11310b3be152e5ad9a56f1fc4200ac7b89cd177e9a23a38c6721e1885d4f2ed0870065e919fb9fe3c9a2833fcd8e4ac0fd43aeb4 -EBUILD mozart-2.0.1.ebuild 1796 BLAKE2B 0b0e456f623a221e77364b2b1de40d42d020c705a7adeb44615d723d5dcf35c5d1df25645c06d3e303e9ce4217d9debe109b5ebe75783c61d394f5c3c52fea5b SHA512 1d553df0698717a4b7e78c24c161118f8702b041068ce45a9a3d17bf8ad56e21896a6b1af12ecaab68666cc345e90c6c885fc62cf8f5318ef9b1b5fe861e3764 +EBUILD mozart-2.0.1.ebuild 1724 BLAKE2B 7c7e64baaecc2f7c06b54ec818ba723c9b9bf1e22f44db7868a3d6024aa86e6e0f328f2c07e876c46854a93f4537244ec275b14726ede5dbb206090d438b9155 SHA512 17a9fe7d8980dbb54d2e3a666192e2138b00a05fd0f9c8b5bcab33a7168a817ec9571b50f2dbf9fb02302380e540f2378621a48479126f80b6fbcf33d5c7057c MISC metadata.xml 248 BLAKE2B 15dcca8e423036aaf3d73f9557507d39f7a22a6fa36d83405d8180df441adc50b9d61f8dd720a9d0045f5b3e6ebc9785fcf8f1340c253b2d277404672d395c1b SHA512 b296da55efb17a1040203bc1f5f3bfa8160711fdb72f0543739e6efe48b75427c082eb6c405d99b3256e8d536d3d29f71fdd0fd8d281cb9a9967060ea467a034 diff --git a/dev-lang/mozart/mozart-2.0.1.ebuild b/dev-lang/mozart/mozart-2.0.1.ebuild index 09d87b133828..d469901f25b6 100644 --- a/dev-lang/mozart/mozart-2.0.1.ebuild +++ b/dev-lang/mozart/mozart-2.0.1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit cmake-utils java-pkg-2 java-ant-2 +inherit cmake java-pkg-2 java-ant-2 PATCHSET_VER="1" @@ -31,50 +31,46 @@ DEPEND="${RDEPEND} test? ( dev-cpp/gtest:= )" S="${WORKDIR}/${PN}2-${PV}" -BUILD_DIR="${S}/build" -CMAKE_USE_DIR="${S}" src_prepare() { if [[ -d "${WORKDIR}"/${PV} ]] ; then eapply "${WORKDIR}"/${PV} fi - eapply_user - touch "${S}"/stdlib/CMakeLists.txt - touch "${S}"/vm/vm/test/gtest/CMakeLists.txt + touch stdlib/CMakeLists.txt || die + touch vm/vm/test/gtest/CMakeLists.txt || die - cmake-utils_src_prepare + cmake_src_prepare } src_configure() { - mycmakeargs=( + local mycmakeargs=( -DMOZART_BOOST_USE_STATIC_LIBS=OFF - -DEMACS=$(if use emacs; then echo /usr/bin/emacs; fi) - ) + -DEMACS=$(usex emacs "/usr/bin/emacs" "") + ) - cmake-utils_src_configure + cmake_src_configure } src_compile() { EANT_GENTOO_CLASSPATH="scala:2.12" - cd "${S}"/bootcompiler + pushd bootcompiler > /dev/null || die ANT_OPTS="-Xss2M" eant jar + popd > /dev/null || die - cd "${S}" - cmake-utils_src_compile + cmake_src_compile } src_test() { - cmake-utils_src_compile vmtest platform-test - cmake-utils_src_test -V + cmake_build vmtest platform-test + cmake_src_test -V } src_install() { - cmake-utils_src_install + cmake_src_install - cd "${BUILD_DIR}" - dolib.so vm/vm/main/libmozartvm.so - dolib.so vm/boostenv/main/libmozartvmboost.so + dolib.so "${BUILD_DIR}"/vm/vm/main/libmozartvm.so + dolib.so "${BUILD_DIR}"/vm/boostenv/main/libmozartvmboost.so } pkg_postinst() { diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index ab905d2fd380..de068d30dd5c 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -6,6 +6,7 @@ DIST perl-5.30.3.tar.xz 12375128 BLAKE2B ff0668c896e46ea35a1b8bd4a7d800c8668d699 DIST perl-5.32.0-patches-1.tar.xz 20220 BLAKE2B 46ebca5c74f59aa935ceec2a5807426c0e653ad7ba27de441d26e049e62dc67b17d58dfe5755f31bdd157e349d47fd46a98699207729f8f4f747930ed1064ba2 SHA512 42ed00f5f6be40af59e02691ff439a048cccd96fb970cca0976209faa921af98a773cc4cb1466e164328350d58cb46950ffa8c6f2fddabbeb3e8819349b06849 DIST perl-5.32.0.tar.xz 12717336 BLAKE2B 4abad9f1ddabaad5f2bbfe8ab6d061aeb8c558e458d4bf1bcf737a8ecc1cf20f7dffaddd0bc867578b457787ec284fa81be3fae1edd7f72d58aeec7b5cd744e5 SHA512 1540247415893bbd94dfeede7b4fba6052688dc0bf27ced817f448246fcdc6e9a6486abc34577dec5b00bf02ed607b2d24ccd4977c3b3c51e8e6edfc0b81c760 DIST perl-5.32.1.tar.xz 12610988 BLAKE2B 9f89bcf9cffb245a0f2cb0afa17c25f092c84cc2f29bb1c744294c2f0393c72dc3beb9fcbe256cf252677b33bc594b294b3f6a4774ad9e30b771aceed1f4f147 SHA512 3443c75aea91f0fe3712fee576239f1946d2301b8f7390b690e2f5d070fe71af8f9fa7769e42086c2d33d5f84370f80368fa9350b4f10cc0ac3e6c1f6209d8f9 +DIST perl-5.34.0-RC1.tar.xz 12881680 BLAKE2B acb26d65b3a439676cb7cf9477d2590e33f24bc4d0f7af6b2069c81aab2c74b047ceae349ef58fa49ce2ed8668cf7eec1922498bd2db144d08968a4fd1b7d9a3 SHA512 fdf686349c00f637eb95691efadb5042f15bce8ec1174595869815761e779f616504d19d01d52a6d13ec444974e7d90bfdb15a83aa36d2acb840bf1ff7dc97d6 DIST perl-cross-1.3.2.tar.gz 108350 BLAKE2B ddb352fdbec66a04de62425f5cae1aaa3bc7251b9d6f4837b66a0bd79c53c60212fad3997dad4c38055774a2769d45b5b83927bf48b0fb00a130fee429eba702 SHA512 d61d25066a8d87c34aeacc5b9bd86fab964b33c4c65e84a89e4077fe1d8011c0bdf810a304631af44fae32edcffd6c99fc17b0c584ea83d1ce5ce492aaedfea5 DIST perl-cross-1.3.4.tar.gz 108461 BLAKE2B 28f207d235f51ebf681598cf85f7f16923574aafb593426a59d67578135ee3632efb12b9e1a672759195a79f80e49f5c929ec42b2b4571b1d36f5d8c8dceadc2 SHA512 7e1fc7b2b19d8c2e2fb8615e074e218b2e1a4d276b563ffabccfd0c7398bc8680fca96da89cc61d611993f38a2c67dfbb0201c58658e05437395ad8c00d31874 EBUILD perl-5.30.3-r1.ebuild 20690 BLAKE2B 036c53922ed6247d01828cf6ce7f47be06877c0e9d63158e37a9aba1f35c3e717c3f0cbe6fffadceb513a1d34f2ef300cce7e4a98ec601e359d9414dce882c14 SHA512 17793920606af30aab84d2300dabf07a60147f94865124ccbb7feae94a309768492364ac5b26ca8b0e99d1860856d6be54ab9a0812aa59180c28ffbebbad1d6f @@ -13,4 +14,5 @@ EBUILD perl-5.30.3-r2.ebuild 26146 BLAKE2B e0756d8250acfd3dbbdeac414f2515270820a EBUILD perl-5.30.3.ebuild 20132 BLAKE2B a244f590c7be7a1f078e8117d3b2745c4118c8a7ec264caf950a0e4c051090b38d4fae431187486fa4b527b7a5ba1cf7000134e9cc2a25bc1a8397b72bd882ac SHA512 d32292624e29ad20f41a9c688b663297246c868455bc4c3d079b12ff90f4fd89f88623e3ca270c58e92ffefe1fcdd6a38910da18efee5954fc1d24de0c104a87 EBUILD perl-5.32.0-r1.ebuild 25913 BLAKE2B a97f41da180ee9e0beeb163ffbbc1c1f944d8dae32954603c9a3a9bf24d9623db6146b8440917dc891ce24ddb41c6c782e04630e4cfa68649f526d7a3e57def3 SHA512 1223ca91df30ccdc247f8a9659376e4407920c1223753b00da91859935117f5361c128b3b1f5d38596f70a4d0ec0e6e6fda58f1b135525c67183fe906bbb2cd4 EBUILD perl-5.32.1.ebuild 25766 BLAKE2B fdb6aa92e7f88c273d918cc11ddf964ce9baa4b832c5dc7f6f2d68d1cfc6ee5121ba665747f6550192ddb4d3fe4c76be67809db333ccf6a4ace34b1022fe0048 SHA512 21b9d98f4166472dc869f8ef680fd09635e78a5b6e69fe5d042430e362ec25852e045e615dfced0e3fdf3328ee5445c337eb06050e55356b7410a4a8ed6892a0 +EBUILD perl-5.34.0_rc1.ebuild 25682 BLAKE2B b8ef0beb80ecc1c9f561cf0ff5ed183bd354815789117a51c5a4b8f13ddd8841e06a3e96d5a53aef5e671efcf37a55e5dbff3112d35d5d4ae75d70a0406851ce SHA512 80b072dd3805b832321c4b56758899ef72cdd664f389aa7f4111eef0a7c4c2f829d689019a4d3347f8ea42abcb9137a6ee6373fe40907d028388ad4640900299 MISC metadata.xml 430 BLAKE2B 65949096d565c5754b25bb708f80ab17e95d21b252f6a3b7a1104b01bed26db1f9351c100d1cc59cbf4161d662bba6fb17d232d146165e97f82681c410feb98d SHA512 b3aaad1820fb62287c8da2806ad385e1ced8d8d2a05fbcd2448214120a4682d503c3dcba60d03a5d02cd8e1b4f5b13568759a096a5d8a3a5ecc5c35c5680b670 diff --git a/dev-lang/perl/perl-5.34.0_rc1.ebuild b/dev-lang/perl/perl-5.34.0_rc1.ebuild new file mode 100644 index 000000000000..c9b82bfa8462 --- /dev/null +++ b/dev-lang/perl/perl-5.34.0_rc1.ebuild @@ -0,0 +1,816 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing + +PATCH_VER=1 +CROSS_VER=1.3.4 +PATCH_BASE="perl-5.32.0-patches-${PATCH_VER}" +PATCH_DEV=kentnl + +DIST_AUTHOR=XSAWYERX + +# Greatest first, don't include yourself +# Devel point-releases are not ABI-intercompatible, but stable point releases are +# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions +PERL_BIN_OLDVERSEN="" + +# Yes we can. +PERL_SINGLE_SLOT=y + +if [[ "${PV##*.}" == "9999" ]]; then + DIST_VERSION=5.30.0 +else + DIST_VERSION="${PV/_rc/-RC}" +fi +SHORT_PV="${DIST_VERSION%.*}" +# Even numbered major versions are ABI intercompatible +# Odd numbered major versions are not +if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then + SUBSLOT="${DIST_VERSION%-RC*}" +else + SUBSLOT="${DIST_VERSION%.*}" +fi +# Used only in tar paths +MY_P="perl-${DIST_VERSION}" +# Used in library paths +MY_PV="${DIST_VERSION%-RC*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/5.0/${MY_P}.tar.xz + mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz + https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz + https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz +" +HOMEPAGE="https://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1+ )" +SLOT="0/${SUBSLOT}" + +if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then +#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="" +fi + +IUSE="berkdb debug doc gdbm ithreads minimal" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( >=sys-libs/gdbm-1.8.3:= ) + app-arch/bzip2 + sys-libs/zlib + virtual/libcrypt:= +" +DEPEND="${RDEPEND}" +BDEPEND="${RDEPEND}" + +PDEPEND=" + !minimal? ( + >=app-admin/perl-cleaner-2.5 + >=virtual/perl-File-Temp-0.230.400-r2 + >=virtual/perl-Data-Dumper-2.154.0 + virtual/perl-Test-Harness + ) +" +# bug 390719, bug 523624 +# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual perl-core/Archive-Tar 2.360.0 ptar ptardiff ptargrep + src_remove_dual perl-core/CPAN 2.270.0 cpan + src_remove_dual perl-core/Digest-SHA 6.20.0 shasum + src_remove_dual perl-core/Encode 3.60.0 enc2xs piconv + src_remove_dual perl-core/ExtUtils-MakeMaker 7.440.0 instmodsh + src_remove_dual perl-core/ExtUtils-ParseXS 3.400.0 xsubpp + src_remove_dual perl-core/IO-Compress 2.93.0 zipdetails + src_remove_dual perl-core/JSON-PP 4.40.0 json_pp + src_remove_dual perl-core/Module-CoreList 5.202.101.23 corelist + src_remove_dual perl-core/Pod-Checker 1.730.0 podchecker + src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc + src_remove_dual perl-core/Pod-Usage 1.690.0 pod2usage + src_remove_dual perl-core/Test-Harness 3.420.0 prove + src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text + src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1 +} + +check_rebuild() { + # Fresh install + if [[ -z "${REPLACING_VERSIONS}" ]]; then + return 0; + # Major Upgrade + # doesn't matter if there's multiple copies, it still needs a rebuild + # if the string is anything other than "5.CURRENTMAJOR" + elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl the installed Perl modules" + ewarn "have to be re-installed. In most cases, this is done automatically" + ewarn "by the package manager, but subsequent steps are still recommended" + ewarn "to ensure system consistency." + ewarn + ewarn "You should start with a depclean to remove any unused perl dependencies" + ewarn "that may confuse portage in future. Regular depcleans are also encouraged" + ewarn "as part of your regular update cycle, as that will keep perl upgrades working." + ewarn "Recommended: emerge --depclean -va" + ewarn + ewarn "You should then call perl-cleaner to clean up any old files and trigger any" + ewarn "remaining rebuilds portage may have missed." + ewarn "Use: perl-cleaner --all" + return 0; + + # Reinstall w/ USE Change + elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use debug && ! has_version dev-lang/perl[debug] ) || \ + ( ! use debug && has_version dev-lang/perl[debug] ) ; then + echo "" + ewarn "TOGGLED USE-FLAGS WARNING:" + ewarn "You changed one of the use-flags ithreads or debug." + ewarn "You must rebuild all perl-modules installed." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + fi +} + +pkg_setup() { + case ${CHOST} in + *-freebsd*) osname="freebsd" ;; + *-dragonfly*) osname="dragonfly" ;; + *-netbsd*) osname="netbsd" ;; + *-openbsd*) osname="openbsd" ;; + *-darwin*) osname="darwin" ;; + *-solaris*) osname="solaris" ;; + *-cygwin*) osname="cygwin" ;; + *) osname="linux" ;; + esac + + myarch="${CHOST%%-*}-${osname}" + if use debug ; then + myarch+="-debug" + fi + if use ithreads ; then + mythreading="-multi" + myarch+="-thread" + fi + + PRIV_BASE="/usr/$(get_libdir)/perl5" + SITE_BASE="/usr/local/$(get_libdir)/perl5" + VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl" + + LIBPERL="libperl$(get_libname ${MY_PV} )" + + # This ENV var tells perl to build with a directory like "5.30" + # regardless of its patch version. This is for experts only + # at this point. + if [[ -z "${PERL_SINGLE_SLOT}" ]]; then + PRIV_LIB="${PRIV_BASE}/${MY_PV}" + ARCH_LIB="${PRIV_BASE}/${MY_PV}/${myarch}${mythreading}" + SITE_LIB="${SITE_BASE}/${MY_PV}" + SITE_ARCH="${SITE_BASE}/${MY_PV}/${myarch}${mythreading}" + VENDOR_LIB="${VENDOR_BASE}/${MY_PV}" + VENDOR_ARCH="${VENDOR_BASE}/${MY_PV}/${myarch}${mythreading}" + else + PRIV_LIB="${PRIV_BASE}/${SUBSLOT}" + ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}" + SITE_LIB="${SITE_BASE}/${SUBSLOT}" + SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}" + VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}" + VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}" + fi + + dual_scripts +} + +src_remove_dual_file() { + local i pkg ver + pkg="$1" + ver="$2" + shift 2 + case "${EBUILD_PHASE:-none}" in + postinst|postrm) + for i in "$@" ; do + alternatives_auto_makesym "${i}" "${i}-[0-9]*" + done + ;; + setup) + for i in "$@" ; do + if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then + has_version ${pkg} && ewarn "You must reinstall ${pkg} !" + break + fi + done + ;; + install) + for i in "$@" ; do + if ! [[ -f "${ED}"${i} ]] ; then + ewarn "${i} does not exist!" + continue + fi + mv "${ED}"${i}{,-${ver}-${P}} || die + done + ;; + esac +} + +src_remove_dual_man() { + local i pkg ver ff + pkg="$1" + ver="$2" + shift 2 + case "${EBUILD_PHASE:-none}" in + postinst|postrm) + for i in "$@" ; do + ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*` + ff=${ff##*${i#${i%.[0-9]}}} + alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*" + done + ;; + install) + for i in "$@" ; do + if ! [[ -f "${ED}"${i} ]] ; then + ewarn "${i} does not exist!" + continue + fi + mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die + done + ;; + esac +} + +src_remove_dual() { + local i pkg ver + pkg="$1" + ver="$2" + shift 2 + for i in "$@" ; do + src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}" + src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1" + done +} + +src_prepare_perlcross() { + cp -a ../perl-cross-${CROSS_VER}/* . || die + + # bug 604072 + MAKEOPTS+=" -j1" + export MAKEOPTS +} +src_prepare_dynamic() { + ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die + ln -s ${LIBPERL} libperl$(get_libname ) || die +} + +# Copy a patch into the patch series +# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug'] +# - description is optional, but recommended +# - all arguments after descriptions are bug URLs +add_patch() { + local patchdir="${WORKDIR}/patches" + local infodir="${WORKDIR}/patch-info" + local src_name dest_name desc + src_name="$1" + dest_name="$2" + desc="$3" + shift; shift; shift; + einfo "Adding ${dest_name} to patch bundle" + cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}" + if [[ -n "${desc}" ]]; then + printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc" + fi + if [[ $# -gt 0 ]]; then + # Note: when $@ is more than one element, this emits a + # line for each element + printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs" + fi +} +# Remove a patch using a glob expr +# eg: +# rm_patch *-darin-Use-CC* +# +rm_patch() { + local patchdir="${WORKDIR}/patches" + local expr="$1" + local patch="$( cd "${patchdir}"; echo $expr )" + einfo "Removing $patch ($expr) from patch bundle" + if [[ -e "${patchdir}/${patch}" ]]; then + rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )" + else + ewarn "No ${expr} found in ${patchdir} to remove" + fi +} +# Yes, this is a reasonable amount of code for something seemingly simple +# but this is far easier to debug when things go wrong, and things went wrong +# multiple times while I was getting the exact number of slashes right, which +# requires circumnavigating both bash and sed escape mechanisms. +c_escape_string() { + local slash dquote + slash='\' + dquote='"' + re_slash="${slash}${slash}" + re_dquote="${slash}${dquote}" + + # Convert \ to \\, + # " to \" + echo "$1" |\ + sed "s|${re_slash}|${re_slash}${re_slash}|g" |\ + sed "s|${re_dquote}|${re_slash}${re_dquote}|g" +} +c_escape_file() { + c_escape_string "$(cat "$1")" +} + +apply_patchdir() { + local patchdir="${WORKDIR}/patches" + local infodir="${WORKDIR}/patch-info" + local patchoutput="patchlevel-gentoo.h" + + # Inject Patch-Level info into description for patchlevel.h patch + # to show in -V + local patch_expr="*List-packaged-patches*" + local patch="$( cd "${patchdir}"; echo $patch_expr )"; + einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )" + + if [[ -e "${patchdir}/${patch}" ]]; then + printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\ + >"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc" + else + eerror "No $patch_expr found in ${patchdir}" + fi + + # Compute patch list to apply + # different name other than PATCHES to stop default + # reapplying it + # Single depth is currently only supported, as artifacts can reside + # from the old layout being multiple-directories, as well as it grossly + # simplifying the patchlevel_gentoo.h generation. + local PERL_PATCHES=($( + find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\ + grep -E '[.](diff|patch)$' |\ + sort -n + )) + + for patch in "${PERL_PATCHES[@]}"; do + eapply "${WORKDIR}"/patches/${patch} + done + + einfo "Generating $patchoutput" + + # This code creates a header file, each iteration + # creates one-or-more-lines for each entry found in PERL_PATCHES + # and STDOUT is redirected to the .h file + for patch in "${PERL_PATCHES[@]}"; do + local desc_f="${infodir}/${patch}.desc" + local bugs_f="${infodir}/${patch}.bugs" + + printf ',"%s"\n' "${patch}" + if [[ ! -e "${desc_f}" ]]; then + ewarn "No description provided for ${patch} (expected: ${desc_f} )" + else + local desc="$(c_escape_file "${desc_f}")" + printf ',"- %s"\n' "${desc}" + fi + if [[ -e "${bugs_f}" ]]; then + while read -d $'\n' -r line; do + local esc_line="$(c_escape_string "${line}")" + printf ',"- Bug: %s"\n' "${esc_line}" + done <"${bugs_f}" + fi + done > "${S}/${patchoutput}" + printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST" + +} +src_prepare() { + local patchdir="${WORKDIR}/patches" + + # Prepare Patch dir with additional patches / remove unwanted patches + # Inject bug/desc entries for perl -V + if use hppa ; then + # bug 634162 + add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\ + "Fix broken miniperl on hppa"\ + "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162" + fi + if [[ ${CHOST} == *-solaris* ]] ; then + # do NOT mess with nsl, on Solaris this is always necessary, + # when -lsocket is used e.g. to get h_errno + rm_patch "*-nsl-and-cl*" + fi + + apply_patchdir + + tc-is-cross-compiler && src_prepare_perlcross + + tc-is-static-only || src_prepare_dynamic + + if use gdbm; then + sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \ + ext/NDBM_File/Makefile.PL || die + fi + + # Use errno.h from prefix rather than from host system, bug #645804 + if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then + sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # set a soname, fix linking against just built libperl + sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die + fi + + if [[ ${CHOST} == *-darwin* ]] ; then + # fix install_name (soname) not to reference $D + sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die + fi + + default +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +# Outputs a list of versions which have been seen in any of the +# primary perl @INC prefix paths, such as: +# /usr/lib64/perl5/ +# /usr/local/lib64/perl5/ +# /usr/lib64/perl5/vendor_perl/ +# +# All values of NUMBER must be like "5.x.y", unless PERL_SUPPORT_SINGLE_SLOT +# is enabled, where it will also allow numbers like "5.x" +# +# PERL_SUPPORT_SINGLE_SLOT should only be used to transition *away* from PERL_SINGLE_SLOT +# if you used that. +find_candidate_inc_versions() { + local regex='.*/5[.][0-9]+[.][0-9]+$'; + if [[ ! -z "${PERL_SUPPORT_SINGLE_SLOT}" || ! -z "${PERL_SINGLE_SLOT}" ]]; then + regex='.*/5[.][0-9]+\([.][0-9]+\|\)$' + fi + local dirs=( + "${EROOT}${PRIV_BASE}" + "${EROOT}${SITE_BASE}" + "${EROOT}${VENDOR_BASE}" + ) + for dir in "${dirs[@]}"; do + if [[ ! -e "${dir}" ]]; then + continue + fi + # Without access to readdir() on these dirs, find will not be able + # to reveal any @INC directories inside them, and will subsequently prune + # them from the built perl's @INC support, breaking our compatiblity options + # entirely. + if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then + eerror "Bad permissions on ${dir}, this will probably break things" + eerror "Ensure ${dir} is +rx for at least uid=$EUID" + eerror "Recommended permission is +rx for all" + eerror "> chmod o+rx ${dir}" + fi + done + einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}" + find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null +} +# Sort versions passed versiony-ly, remove self-version if present +# dedup. Takes each version as an argument +sanitize_inc_versions() { + local vexclude="${DIST_VERSION%-RC}" + if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then + vexclude="${SUBSLOT}" + fi + einfo "Normalizing/Sorting candidate list: $*" + einfo " to remove '${vexclude}'" + # Note, general numeric sort has to be used + # for the last component, or unique will convert + # 5.30.0 + 5.30 into just 5.30 + printf "%s\n" "$@" |\ + grep -vxF "${vexclude}" |\ + sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg +} + +versions_to_inclist() { + local oldv="${PERL_BIN_OLDVERSEN}" + if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then + oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + fi + for v; do + has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ "; + echo -n "${v}/ "; + done +} +versions_to_gentoolibdirs() { + local oldv="${PERL_BIN_OLDVERSEN}" + local root + local v + if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then + oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + fi + for v; do + for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do + local fullpath="${EROOT}${root}/${v}" + if [[ -e "${fullpath}" ]]; then + has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}"; + printf "%s:" "${fullpath}" + fi + done + done +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # Perl has problems compiling with -Os in your flags with glibc + use elibc_uclibc || replace-flags "-Os" "-O2" + + # xlocale.h is going away in glibc-2.26, so it's counterproductive + # if we use it and include it in CORE/perl.h ... Perl builds just + # fine with glibc and locale.h only. + # However, the darwin prefix people have no locale.h ... + use elibc_glibc && myconf -Ui_xlocale + + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + + # Generic LTO broken since 5.28, triggers EUMM failures + filter-flags "-flto" + + use sparc && myconf -Ud_longdbl + + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=${EROOT}/usr/include + export BZIP2_LIB=${EROOT}/usr/$(get_libdir) + + export BUILD_ZLIB=False + export ZLIB_INCLUDE=${EROOT}/usr/include + export ZLIB_LIB=${EROOT}/usr/$(get_libdir) + + # allow either gdbm to provide ndbm (in ) or db1 + myndbm='U' + mygdbm='U' + mydb='U' + if use gdbm ; then + mygdbm='D' + if use berkdb ; then + myndbm='D' + fi + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." + myconf -Ui_db -Ui_ndbm + fi + + use ithreads && myconf -Dusethreads + + if use debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + # Autodiscover all old version directories, some of them will even be newer + # if you downgrade + if [[ -z ${PERL_OLDVERSEN} ]]; then + PERL_OLDVERSEN="$( find_candidate_inc_versions )" + fi + + # Fixup versions, removing self match, fixing order and dupes + PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )" + + # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string + if [[ -n "${PERL_OLDVERSEN// }" ]]; then + local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )" + einfo "This version of perl may partially support modules previously" + einfo "installed in any of the following paths:" + for incpath in ${inclist}; do + [[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}" + [[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}" + [[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}" + done + einfo "This is a temporary measure and you should aim to cleanup these paths" + einfo "via world updates and perl-cleaner" + # myconf -Dinc_version_list="${inclist}" + myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + # Make sure we can do the final link #523730, need to set deployment + # target to override hardcoded 10.3 which breaks on modern OSX + [[ ${CHOST} == *-darwin* ]] && \ + myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)" + + # Older macOS with non-Apple GCC chokes on inline in system headers + # using c89 mode as injected by cflags.SH + [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ + append-cflags -Dinline=__inline__ + + # flock on 32-bit sparc Solaris is broken, fall back to fcntl + [[ ${CHOST} == sparc-*-solaris* ]] && \ + myconf -Ud_flock + + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in + # Prefix itself we don't do multilib either, so make sure perl can find + # something compatible. + if use prefix ; then + # Set a hook to check for each detected library whether it actually works. + export libscheck=" + ( echo 'main(){}' > '${T}'/conftest.c && + $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null + ) || xxx=/dev/null" + + # Use all host paths that might contain useful stuff, the hook above will filter out bad choices. + local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib" + myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}" + elif [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + # don't try building ODBM, bug #354453 + disabled_extensions="ODBM_File" + + if ! use gdbm ; then + # workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm" + disabled_extensions="${disabled_extensions} GDBM_File NDBM_File" + fi + + myconf -Dnoextensions="${disabled_extensions}" + + [[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly + + [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF} + # allow fiddling via EXTRA_ECONF, bug 558070 + eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})" + + # setting -Dld= to tc-getLD breaks perl and all perl things + # https://github.com/Perl/perl5/issues/17791#issuecomment-630145202 + myconf \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dcc="$(tc-getCC)" \ + -Dar="$(tc-getAR)" \ + -Dnm="$(tc-getNM)" \ + -Dcpp="$(tc-getCPP)" \ + -Dranlib="$(tc-getRANLIB)" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix="${EPREFIX}"'/usr' \ + -Dsiteprefix="${EPREFIX}"'/usr/local' \ + -Dvendorprefix="${EPREFIX}"'/usr' \ + -Dscriptdir="${EPREFIX}"'/usr/bin' \ + -Dprivlib="${EPREFIX}${PRIV_LIB}" \ + -Darchlib="${EPREFIX}${ARCH_LIB}" \ + -Dsitelib="${EPREFIX}${SITE_LIB}" \ + -Dsitearch="${EPREFIX}${SITE_ARCH}" \ + -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \ + -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \ + -Dman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \ + -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \ + -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth="${EPREFIX}"'/usr/include ' \ + -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Ud_csh \ + -Dsh="${EPREFIX}"/bin/sh \ + -Dtargetsh="${EPREFIX}"/bin/sh \ + -Uusenm \ + "${myconf[@]}" \ + "${EXTRA_ECONF[@]}" + + if tc-is-cross-compiler; then + ./configure \ + --target="${CHOST}" \ + --build="${CBUILD}" \ + -Dinstallprefix='' \ + -Dinstallusrbinperl='undef' \ + -Dusevendorprefix='define' \ + "${myconf[@]}" \ + || die "Unable to configure" + else + sh Configure \ + -des \ + -Dinstallprefix="${EPREFIX}"'/usr' \ + -Dinstallusrbinperl='n' \ + "${myconf[@]}" \ + || die "Unable to configure" + fi +} + +src_test() { + export NO_GENTOO_NETWORK_TESTS=1; + export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}" + export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}" + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + use elibc_uclibc && export MAKEOPTS+=" -j1" + TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + + emake DESTDIR="${D}" install + + rm -f "${ED}/usr/bin/perl${MY_PV}" + ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die + + if ! tc-is-static-only ; then + dolib.so "${ED}"${coredir}/${LIBPERL} + rm -f "${ED}"${coredir}/${LIBPERL} + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die + + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die + fi + + rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages" + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + dodoc Changes* README AUTHORS + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${ED}/usr/share/doc/${PF}/html" + fi + + [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local + + dual_scripts +} + +pkg_preinst() { + check_rebuild +} + +pkg_postinst() { + dual_scripts + + if [[ "${ROOT}" = "/" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + + fi +} + +pkg_postrm() { + dual_scripts +} diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index a8ff29e12ba1..2f36f4d76209 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -10,13 +10,13 @@ DIST php-7.4.15.tar.xz 10332360 BLAKE2B 3217378a2fa9e3cd030f585696ac48c50bf4f250 DIST php-7.4.16.tar.xz 10334672 BLAKE2B 685717509115e9607fb8ff4ae439bd3b70e5c1f2a11ab83f4944be74cb1502868b9e3aceb6898288ae6e5cdd50c8dba294c03618eaa7accd10c0b425069ef0cb SHA512 a7845fe0a7c334829bfa9518d3f2947036e1b03c8f4346622f9ab37563ff3af03f6559878b83aa0e6ad69e9919b6478345a0cc6ec59161ef36c64a5073e83f84 DIST php-7.4.19.tar.xz 10341424 BLAKE2B b5f549603a2d108d2d4c16dfb15c2088612e040e9e4756cc7c1403c67e152ad3461d84915e4f542b1e558469ae3143721c6d7ec25ef03c3b4a6142fe972bd775 SHA512 2ac51b9920069ebe8ac68a94f8e9aac2b3d44d69668f340aba95f8303632fe1bfc4c3f2ce398cc7e2c2ea48583d8e04dedfc66f7147c1f4470a55417554d0071 DIST php-8.0.3.tar.xz 10755796 BLAKE2B 5dd6afe985b4f5e33f456f05edda0207d8dfffbdc35d0b2290e1bd30a93bcfd94d6ef23e7d2c8d77b774a7ff95f49832687c75593d7ab38704b60ba3d9331598 SHA512 9b3631fea5280ed11c14a3ef1badb3da5b8ab19f29faa6b828ab033008ebebc487013d74d401d10b9cf21f354cd81100ba83562f3f080e23220ad38c02fb5a0d -DIST php-8.0.5.tar.xz 10666412 BLAKE2B 4f3d0c1ab1aa998889abd7488c800216bd05c41996171929678fc084a2485d4199b49c0bc748612cf2cd1d238619fd183971d043fb8ca72db0b8dec6e2860566 SHA512 f128e1aa37dd808ec1626b6eb5ab7cc76575772ad86f1f640114186a10ffb79bdb07f0b30267ce316c7a54fc6397fa8a41e3476fee52cbe6a7b900eb5c6b83a0 +DIST php-8.0.6.tar.xz 10764932 BLAKE2B 9ab23dfcefe2c94a88184fbb3e18267c38fdcabeca0e9ba12a616528895f85790b1238fdb6e0578db2183b6eee26f26d9d7b744b7344495ea20a6e58668136d1 SHA512 4915b9b5024ce1fb7bc3ba7c1a00831841bc970ebb68b6b1e6a00cbec4d8dcbbca3ca043882ffd9c4719a988d08275f77f9cee07ff3d45a71402dfc51bd31e04 EBUILD php-7.3.27-r1.ebuild 22676 BLAKE2B a742c4d522f849d78050b07674a7d8979a30db1d387dfa60fa76092f7edbc5c901a520e229c21313e5e8a3d64acb4f6d7e1ce690b106ae4a588e89f5053d19c6 SHA512 9bc55c0e357e71cdbb62b3c4875ade70439ffa504c6769d98392e04d00535114ea80afcf1a8ee085d5b657fb898f27b8c14e4f116e5a96a91c14ba8dbe505357 EBUILD php-7.3.27.ebuild 22698 BLAKE2B e7b354b707d4346c0f2a8c4c2b8762f0a7b4b020029dfd4bd840e86d01e68b9963bdec2931545f09dff83d7f28bf5920e9c0ae94a4d686b5c79f75cb27e670fc SHA512 1ebb1823a4e54686f50eaa583520285d353c71a996e13644b79f6bed9f270b183ac6fce778b296a24445f5b03aa6c2e5f1a277c0d04786370e9154c691e503ac -EBUILD php-7.3.28.ebuild 22680 BLAKE2B 13e07012b5069deb8f3c4eef757ca54b24e7cf17bc1dbddaa3c0f5c460d939ac1897e3dd741c3e3c3d460f68ba204f7af44514ea7c07c96068fce180ebb48213 SHA512 7651c2aa1d4f90750d78509f12ca67faae7456e13c8b89974e56d6a32edf8b442034f10fdd0759cfbde470644677ce15dce15cebfc8729d50f492236b1e91382 +EBUILD php-7.3.28.ebuild 22675 BLAKE2B 3e3fc431c6b3b11fd42752973ab961419b26b45faa3527af5b4f84d99e44b7a901ca11baf12c0d6fe6617dd7e7e7db70a9578eacb6b117a464ec32c9da4c7be7 SHA512 4793a10645a58321361d6d3a61558c6185ebe693536d24ad998aefc2ea9856777099b3289415a417d2f4a124271bec8b3c63524ffbb2b93c94f6e5e27201b173 EBUILD php-7.4.15.ebuild 21407 BLAKE2B acc864e83f27a5b62aaa5cb3848988746fd90a147e1451764ff682f3316084e8e61a5bf10c4c5bf75c34817ef210382709fcbb72aa7195c090d4c334cf02e08e SHA512 60cb52c58d3a3f52e3adf6691fb461767a5e1b195a20179352a99be426c7b78f84c32908f8ead9d2b377d7649fa3ffa7e7a509b50cb47def2e7831c7b89c8174 EBUILD php-7.4.16.ebuild 21385 BLAKE2B 5b5e141fadd137d86d3400f9901aa48b4063a1270a75a9ec52a990dc07bbe9e6151e9d2f4e17307939963dd9c981879748a7a0b4fd95f19f311ba4bc5f4a4a10 SHA512 a5e0cf9953d6575a189fdba149f277a41002c63020dd61d681d47e4548be8901438db6663db2795579467b04202f5412e1416b95c52f3e403c3bb65993080cbc -EBUILD php-7.4.19.ebuild 21389 BLAKE2B 8f7211b827110a1d3bda530a52eb31611dcf740d5410c50b895dde38b145a79e5e6092ab9534e9aec602d55695217da7dbb24393e374efb9f47cb452d69d971b SHA512 d1503dc8e0eb357f07a645e1a6704507c29b182dd1f2ff615cb8b53cb98f5f70bbaac230047d33dbbb5f85c8f12a4f69b32ff027b0bebe3c2b2c3c96fbbb24d8 +EBUILD php-7.4.19.ebuild 21384 BLAKE2B 358a22ebe0a2828a7df5595a2c471eec64a56efabc1aae90e59c716f853efbede0439b37819d4647f95aff93d1c6f7ff975c09c232fa9777d6eb1e3a4555b059 SHA512 540912e4bb1cf7a3ad8d2db5242caf6fcaba2195c7474ed6c8acdafac41c95f1103b99fd9a058fab6ea29c18afc31483cdb1600df80b77677e0a3e2b182cb30e EBUILD php-8.0.3.ebuild 21331 BLAKE2B f98711ee86f9b647b07defe4409a4daaf2505fec0a1749a3bf306aeb97aa1714288340ff8a32c8e48e081d25efc7542e003f65c0080e5c40000b2dc0f81129d0 SHA512 49b10d02d3c055956f9e6587e36a2f5ab6c3a4c4f2a99298fa96255a80f2b0bc3bfcb21c39b56872cf5595ece1f6dbb38955e5fe4c115a149cac2a7f20b43109 -EBUILD php-8.0.5.ebuild 21328 BLAKE2B aa18a9946ac756b200a4b1610ec3cfe8eca05a454458dacb00d8d7138d3933ab73c6c7db9c72bc29b28b470df5eef2d7400354d38b5404281ca33a0f96b36461 SHA512 703e031df5c14982d8278ff824cb1d9f79cb4e33ec9c70de2475232f65dc92c0b4d0400bc60f90902a6a8ad1c769d29a690fa08a3eeac1a99b321ae5bd9e9a0c +EBUILD php-8.0.6.ebuild 21328 BLAKE2B aa18a9946ac756b200a4b1610ec3cfe8eca05a454458dacb00d8d7138d3933ab73c6c7db9c72bc29b28b470df5eef2d7400354d38b5404281ca33a0f96b36461 SHA512 703e031df5c14982d8278ff824cb1d9f79cb4e33ec9c70de2475232f65dc92c0b4d0400bc60f90902a6a8ad1c769d29a690fa08a3eeac1a99b321ae5bd9e9a0c MISC metadata.xml 3268 BLAKE2B 4abc96d858186ab5bc6f0797fb3f1cf7f5aaa0b07a4652dcc16aa65e197bd73803f6bac717084c0c9a194e7da5b6632523105205011a0d39221aabc16ade8e2e SHA512 1413edb5293cb93ad8f94376f11b9952ca6369b667ae23baed56d9cbaa68cb9cfa5a80da7dd7184ba84f08d5a4054068da1c10daca81d1730e7b6edebba8b29f diff --git a/dev-lang/php/php-7.3.28.ebuild b/dev-lang/php/php-7.3.28.ebuild index 0872d935c033..247935d4723f 100644 --- a/dev-lang/php/php-7.3.28.ebuild +++ b/dev-lang/php/php-7.3.28.ebuild @@ -19,7 +19,7 @@ LICENSE="PHP-3.01 unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" S="${WORKDIR}/${PN}-${MY_PV}" diff --git a/dev-lang/php/php-7.4.19.ebuild b/dev-lang/php/php-7.4.19.ebuild index 7b09eb440f4f..2b0ed6881b16 100644 --- a/dev-lang/php/php-7.4.19.ebuild +++ b/dev-lang/php/php-7.4.19.ebuild @@ -21,7 +21,7 @@ LICENSE="PHP-3.01 unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" S="${WORKDIR}/${PN}-${MY_PV}" diff --git a/dev-lang/php/php-8.0.5.ebuild b/dev-lang/php/php-8.0.5.ebuild deleted file mode 100644 index bf9240b404a9..000000000000 --- a/dev-lang/php/php-8.0.5.ebuild +++ /dev/null @@ -1,748 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -WANT_AUTOMAKE="none" - -inherit flag-o-matic systemd autotools - -MY_PV=${PV/_rc/rc} -DESCRIPTION="The PHP language runtime engine" -HOMEPAGE="https://www.php.net/" -SRC_URI="https://www.php.net/distributions/${P}.tar.xz" - -LICENSE="PHP-3.01 - BSD - Zend-2.0 - bcmath? ( LGPL-2.1+ ) - fpm? ( BSD-2 ) - gd? ( gd ) - unicode? ( BSD-2 LGPL-2.1 )" - -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" - -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 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 ) ) - apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) - argon2? ( app-crypt/argon2:= ) - berkdb? ( || ( sys-libs/db:5.3 - sys-libs/db:5.1 - sys-libs/db:4.8 - sys-libs/db:4.7 - sys-libs/db:4.6 - sys-libs/db:4.5 ) ) - bzip2? ( app-arch/bzip2:0= ) - cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) - coverage? ( dev-util/lcov ) - curl? ( >=net-misc/curl-7.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:= ) - 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/tidy-html5 app-text/htmltidy ) ) - tokyocabinet? ( dev-db/tokyocabinet ) - truetype? ( =media-libs/freetype-2* ) - unicode? ( dev-libs/oniguruma:= ) - webp? ( media-libs/libwebp:0= ) - xml? ( >=dev-libs/libxml2-2.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 -} - -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 argon2 password-argon2 "${EPREFIX}/usr") - $(use_enable bcmath) - $(use_with bzip2 bz2 "${EPREFIX}/usr") - $(use_enable calendar) - $(use_enable coverage gcov) - $(use_enable ctype) - $(use_with curl) - $(use_enable xml dom) - $(use_with enchant) - $(use_enable exif) - $(use_with ffi) - $(use_enable fileinfo) - $(use_enable filter) - $(use_enable ftp) - $(use_with nls gettext "${EPREFIX}/usr") - $(use_with gmp gmp "${EPREFIX}/usr") - $(use_with mhash mhash "${EPREFIX}/usr") - $(use_with iconv iconv \ - $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) - $(use_enable intl) - $(use_enable ipv6) - $(use_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.0.6.ebuild b/dev-lang/php/php-8.0.6.ebuild new file mode 100644 index 000000000000..bf9240b404a9 --- /dev/null +++ b/dev-lang/php/php-8.0.6.ebuild @@ -0,0 +1,748 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +WANT_AUTOMAKE="none" + +inherit flag-o-matic systemd autotools + +MY_PV=${PV/_rc/rc} +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://www.php.net/" +SRC_URI="https://www.php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + +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 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 ) ) + apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) + argon2? ( app-crypt/argon2:= ) + berkdb? ( || ( sys-libs/db:5.3 + sys-libs/db:5.1 + sys-libs/db:4.8 + sys-libs/db:4.7 + sys-libs/db:4.6 + sys-libs/db:4.5 ) ) + bzip2? ( app-arch/bzip2:0= ) + cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) + coverage? ( dev-util/lcov ) + curl? ( >=net-misc/curl-7.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:= ) + 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/tidy-html5 app-text/htmltidy ) ) + tokyocabinet? ( dev-db/tokyocabinet ) + truetype? ( =media-libs/freetype-2* ) + unicode? ( dev-libs/oniguruma:= ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.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 +} + +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 argon2 password-argon2 "${EPREFIX}/usr") + $(use_enable bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar) + $(use_enable coverage gcov) + $(use_enable ctype) + $(use_with curl) + $(use_enable xml dom) + $(use_with enchant) + $(use_enable exif) + $(use_with ffi) + $(use_enable fileinfo) + $(use_enable filter) + $(use_enable ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl) + $(use_enable ipv6) + $(use_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/python/Manifest b/dev-lang/python/Manifest index f38e17154280..72d55ac24758 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -2,8 +2,6 @@ AUX pydoc.conf 169 BLAKE2B ce40bb3d5f858bd7a8d9ef5bf215a8ab592568a724f0e08aea219 AUX pydoc.init 600 BLAKE2B fb8775a6663483e5112ec283627610b746020d88494e772b92bb718a9493a52606e565c6c2fa4917a5cb963f166283d09883bd26903f2f3ced6c240d4e292a7f SHA512 9e71ad53486b6882a8441b24225c602195ee33d29dd1b60df27febbc6b752e79929be356152a489f893dcfb11f9c066b999787bc27a8ac61062c86e67a69e87a DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381998256a1a002d316b38288349884d5960de35c49352d03129ed0bae599e641ec2225898158ebce50a7a2fd74d2c SHA512 a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c DIST Python-2.7.18.tar.xz.asc 833 BLAKE2B 1d98770e46171971fb99994508d238c01d2755281d2f94353314014d9e83e0ec5f0b3e3950ea1fdf5fce9ba6b8f55312355845c2a3fc4291c27ee56fe6215448 SHA512 c2a5f5a52f47dec52460ad3275758d4e5de6e7075c3def4353c988d74d563a39b42cae2d5eb24e2a23a6247cef69100f91620b11a49c2359fbf99b203c9cbda8 -DIST Python-3.10.0a7.tar.xz 18403212 BLAKE2B f3795f82b186ef8895000498083ecc5f6f2478b22ef55ff31b25f1609ddbd3059489276695d0c156ec4d691659ffc1c4b37ffab01e3a4811f238045b66ff1f60 SHA512 050ac4a0671bd61aed581afb03f0e5cc496b6e6b3a0a2e712da20a7104dbf440f4b8d7231298691df18ef9ecc2de4741c3169bbd5bf831eb53547a270d27815b -DIST Python-3.10.0a7.tar.xz.asc 833 BLAKE2B 8ca46ac985bce713fc4def4afe32396c61362b3e07e41b626c3766e00bf78e28c12f49a310b261f74fcadffc632e86640b915cc5d8401631921a54df033e1fa3 SHA512 a5ba57390a57fc2ae6daf9794117972f908aba127f51b8988976959f0ad8374e3d9a5f15cde91892210782aa550bbecfe71b6908310316d4fdcdb86771d5a238 DIST Python-3.10.0b1.tar.xz 18545252 BLAKE2B e078e3a29d874949d49447b5c176873091b7eb82e1b46cabdc13ba815e97f0f0d5a75bd25af0b3e874503c155e29583c78262ffa446f25f0db098be345f5cbfa SHA512 b8366f1fd92690bf78dc8ce07724d1b79a8c7f246e9a13ba3043687c5553b52d4d7baf48bf96f9fe088de73baef1df2131e2704ffed9a7549890723a7898c4c5 DIST Python-3.10.0b1.tar.xz.asc 833 BLAKE2B 70f15521ac3e117709b4ff7583563893612c5ee72c05071e056010ee3b654b9e7e97c4044d377e439328947ffdedc2e4689f00466d97092bc95851b72941239c SHA512 7e22dd9ddf37d0c2116cfb9f08050f0909ccc04f1a63e67b96f0cec743845c492659a661af518fd76d513fa36d08da11fe3a1166ede31de583369b4c3389de57 DIST Python-3.6.13.tar.xz 17213520 BLAKE2B 7c1938f92616d428d107a70397a9f7fc82377d0e3d26c2da4f5bcb79a54115f71498a5e7b5f601b6cff6f362ec1f689c3ac920eb248956e1e4f6c21602514dd1 SHA512 0482b3e7eea22b0635b61f06753e77c832c9431385c5ea1ecb8f60868262afd2b45c239badb8e906a33f035ffbf347b4a499fe6f0f008f1fa9ecc9de66c63947 @@ -12,46 +10,26 @@ DIST Python-3.7.10.tar.xz 17392580 BLAKE2B b030db731d141b97f1be794a19382cc252c5b DIST Python-3.7.10.tar.xz.asc 833 BLAKE2B a528daa1638b52f08fd69d197a2d4f8af59a620939957d450da6f5f8947b8eefbfb48ee50bb6327c8f3a352415dedc6e91ef23075fabbfd38c65575857065c74 SHA512 5d0fdcf60f0f4113b3055dd4097814b8b969d6cba4f2cc4cef6cd013b0e728375549b9d7818e6e94e6f0d4888188e751f4659a18f905e6e4c75783e2f323c4ef DIST Python-3.8.10.tar.xz 18433456 BLAKE2B 57318da9ca049559594911a8873141f89d40c0326f8f278ef47b64195a0d51400f24f91dc68633d628f99dc0a9e280565ff830df66801afbc8734593d0fc3162 SHA512 0be69705483ff9692e12048a96180e586f9d84c8d53066629f7fb2389585eb75c0f3506bb8182936e322508f58b71f4d8c6dfebbab9049b31b49da11d3b98e80 DIST Python-3.8.10.tar.xz.asc 833 BLAKE2B ab1ea0d26f51bc3b88ef5130238f7695bd12383193d1f312b000e997e48beb63f75787a3545b7b635ef515e4896e6ec2994cce564126f3b698495a51f5e34038 SHA512 ebc363df372031aba9c547b4929c98e5065ecf53604897a83df134dfbf7c3f3e9e0de1c072bee2e7c2f4db0f90610fa3931ed6d5a5ed877ab15712becd63deaf -DIST Python-3.8.8.tar.xz 18271736 BLAKE2B af0ff1acd919b365a58278e82678324ff884cc8120bcaf12e0e3afb1bd978e6469e256335df131935f51ff481fb83dda04e4b6f1cd1746611f9ec944db73d692 SHA512 64181db5aa48281284a3230436ebfb8cb91b645a9dec956fd48c0048334498477073fc4e14d6b426d0ef7fbcdcfd5d59cbf01a504e6c9014dc9529494b9309fb -DIST Python-3.8.8.tar.xz.asc 833 BLAKE2B a11188f9f68c518259de1a4e271bf56409d7356a7eb3dd8cbea7bbb0b5bc1b43f9aeb85bda4add65bbae906bef65cb20a30bcc77da04c0d383cd5b527821fd85 SHA512 0e6f11a310c1796dd056d9a4b63b5e03aa8dbd290088966e04a590a78c00003887dbfd7a7029a6cf8c5626ecd6ca91c1c16433bb0a41bf1225b02b8db8541b95 DIST Python-3.8.9.tar.xz 18271948 BLAKE2B 67802a8ea0f4e7f6d33abfe0efab7de9f6bdd20077541c6f76a460325c8027d9338fc630221f39193ffe1eab85e192db997c1764b2a1f876b819f42de8363299 SHA512 e7872a6767f9a8941e8fd76d384fc1a528bcee18514ad13fcb4d3d59f6075c6283e4c933a728b9ae68b9606da2f0a3ae0208e46fbefe3bd7899ced61da5dcf47 DIST Python-3.8.9.tar.xz.asc 833 BLAKE2B f898d41768b0cbb77a25cbf08128aa773120869be004e14986d287585b1a22a412802172dbef7567b3c1998c7d7a2cfb042e36820e256133fa20848935dcb527 SHA512 2adb1acca13ff9b7fdad40efb38c0a824f98f9a5061a43e05b1813637214df1e75883f53bb7d54a3e35805ff0ea52b3b89c0ed44567f15a0ade771c79f16b2ae -DIST Python-3.9.2.tar.xz 18889164 BLAKE2B f29f741ced22a58fbd2b4e2b5d133dc4971fc597de4a3918cff3ac24ff99d35e3796501eb770b1e7c650377aade8850aa2058808e2f02283563218c6a597af18 SHA512 b204d865e4c974951830008c381678876987da267c37bce3b4e488c07aa744658e57b8dc5d248051d0391f3b580e69877f7772abc0a0de5288349d448ccf0789 -DIST Python-3.9.2.tar.xz.asc 833 BLAKE2B e8ef4d1993382f089b2efa6e9ad49e74ffd2aad32f6412dc6148c340dae06d01388cf4741981cb4ab82839b6ff2553f2fa704c41353d4758ea8cc7596deed5fc SHA512 47705411c7e7b7e41948ccdc4ff17430af7c953f877442f2fecf4225e6a8e5b8313f0ace54c4e0faaa409e4e5cf75b7502962f40db9e4f12a52f5d622cb6d3ce DIST Python-3.9.4.tar.xz 18900304 BLAKE2B deb69a4e821163b3cb64b6fd5b3dbd7a8ad4bb0c33fb0342b5618db569ae3f763f154e60f2d859578ac531744c3d20a1371a60540136d5360a9e2a348fb5028f SHA512 3d8a5a38de0df6edc074d141e0b4a12b79d80439e4341cd4519218aa4bb7317be2736a17058ceec43fc987fc17ea5167c19eeafbdeef732a2f1656fe2f0f0d39 DIST Python-3.9.4.tar.xz.asc 833 BLAKE2B aa261d09200f150522ae9fb15e75f3a927ed48d19561fce9a7c8cf6a34c21e89b0f00ad2d619ec0bdb75ccf5c5881229349bb0248642ddc134711e8336ef0731 SHA512 9cf2909ebd178cea5a6dee9f6a8622ed91c33b943f1e7f7dcf0f7ae67f552e767393f833e9a4e1e62ff059fb265582d83a85dafefbb10df7ae3da0b73669d4cd DIST Python-3.9.5.tar.xz 19058600 BLAKE2B 0072376ac69728436ee422da58c1680170cd60c76ac7d623d7a29c9001e6acace1a8d75a1805e65c9b11a30c55c9e67ed66712ec22b0b94ee6873995c935141d SHA512 7b581af1b3e73695f124ff6a3a960e22104153a5d920ca930c046f42ea313b1e7ec77e39876db2bf5d5da6d7412cb072ff8ae7814dda12c14f9da6c570fb0995 DIST Python-3.9.5.tar.xz.asc 833 BLAKE2B d044e2019edc4854db22eebda182528e88a0c4d71cc17b78e603b43191a882f176a9fa46549845ee09ff9aa56ddf69efa008cd7ae3040b24fed7956c52bb11e9 SHA512 cfee8c161447544d6f18c3490b96ce12c8df5e9b143fca09734066f3606abe767cd7b4d05315c691f41c0e565d9585456774c10770ffe2ef7983a911bbcfdb83 -DIST python-gentoo-patches-2.7.18_p8.tar.xz 28304 BLAKE2B 76b653f45a284b7354202f646a645b1c245791a04b09cbae89b404f6bb14b56a54855433a03e96081b72c88841c125131c97f4e2714e3951472db6ec59279328 SHA512 7fed01c44cd5ed36e142a19cb10f3b5f0f8fd50e78ece32e353395e2bcee4fa0fe7f8b13d736f7b1eb5e1f2662ee4749c089fa0dda6f5d19bb08a01c7b3db200 DIST python-gentoo-patches-2.7.18_p9.tar.xz 30188 BLAKE2B 4f9f80e0a967a980d247b50ac3c38419e70fd2dafada4e4b5593935915b17f09aec1a88b0baac58cbc0c2fcf73eee6dbd5fa5f378a8e3e1923a0028c2c3a1f5a SHA512 874e88142570fd62437b043a2763b32667dfd9856a7cc8884f5d3c09e7a8520e1cdeb5eb5b6bbb884fbc3bfad03abb83e1c260969f4b9520ce99334cfaeb76fb -DIST python-gentoo-patches-3.10.0a7.tar.xz 8164 BLAKE2B 7df2fea05c52279cca7f91acc72d9d9ef5f3774387f218ab70494465e76de91c6780da1d15c1097268c89c6e39e80071ab9a613aac2680cdb260aa69797a4786 SHA512 6686aec44d71813d8c044ea5715be34325753b2b79c6e2ad74badd91fd9e66040f2fec68bd886a43c409c6aafc14a7bb000db1712d7fe8fb6e4d25ae6795ce9e DIST python-gentoo-patches-3.10.0b1.tar.xz 8116 BLAKE2B aba4856d2463e57187680780cf5b5ae24547413acb8c2439c03ac9a33d4908b547cc40e3d9752c6a76494d47d2b824677e28b543a2fcf8cc1913395d05327f1c SHA512 b62b3fb00a76e3eac842e45d10b3d1cafbcad20659db54e11011d9dfca70c34e28bf187fa7fcdbc4e0bdcf66efbb7f8a6eb2a8d1b28f6e8c1e639e63c203f215 -DIST python-gentoo-patches-3.6.13_p1.tar.xz 14972 BLAKE2B 0c479bc6bac5e2c53236d8cd0c5282dfff86004f9e2a51ff027da38fac840bd02fb6bc9ddffd49f154afa96139287a3236acc6160fa7d4c233288fc0dcdb499b SHA512 90a3e1da8a6952ca68c104042097d7ed68eb4f9b0605c9db17560b791b454b829c0b13b99c259cadf86cf639f3599538df7d7e1af725f0debf30039505019905 DIST python-gentoo-patches-3.6.13_p3.tar.xz 17640 BLAKE2B 255e96f61ad8adb7fdf1cc9f11ca99c8368601dfe9bab4c96adf1e77472dfdf365a6ce197ecc72b574849e2a6235063d63558711049e9e7407862871dc0f2f20 SHA512 7b9a39cd65129c495c513e1b8c259a88194b8877b891cedaa5289bedcc44dbcb5e63e3b9922ef085321e7f4db73b5a5090d30725b456491a98d7ef40b85601eb -DIST python-gentoo-patches-3.7.10_p1.tar.xz 14140 BLAKE2B 2d9a80f27e7ba5be2d5cdb5c1cd95eb6e32de7a0bc86c58a4ff9e8727d2ad588ceec064d2222dffe783d1710bef91d35ba02128508944a5f9266f4d4332217d7 SHA512 6705311d03212d61c7e6e97d83e4110ca1ec621a24a7d0ad16812fabcb87dfce9ef8c1184b16f7f0f5998576bfa87840e105b754edebd6e21c0ad33786255a0c DIST python-gentoo-patches-3.7.10_p3.tar.xz 16804 BLAKE2B 1db238e4b928332d459b5f3c36ecb7f3bc3d3b754fd82e4434c91843ef7574306aef044df9a2644749a17b14ce9fefcd3c3dd44cafaa4ace0b7dc62fb66e73c8 SHA512 61a262a05d1f8e9b08875285db989160362eec66123a15345dd16b8c1f1161aeed31b20df8f69d27ae71902ae2e678328b82e511881d9a5560932619234bbe7d DIST python-gentoo-patches-3.8.10.tar.xz 15180 BLAKE2B 1f8c57c6ed8d49c5ff42ecaaf19f470567db7fc68ed95eb44a89e9e85a542c085708207f02a1e50ebd7e6fc5e876e232ccd47f49e7653d338ec0520b7dac1a3d SHA512 65e3ec0a0fd49c0c6e96eb07c98b93ce5168e430bbfcd1e62185f6df6bd42fb1a5b5752cbe8bde93101510c0cfd37e604dde40549703b1d1c0e37d24cc327472 -DIST python-gentoo-patches-3.8.8_p1.tar.xz 15456 BLAKE2B 7d9f55f951f97ef7e08d0245dddd21f5b8d126735c1c392ba6326ad1c18023b477f62e9b6663d8e5b6f0362e442137d0b6ed3ea13b279cca6734d36dbe6e654f SHA512 7fff74d03a0c4cd4b5c977761179c2b9a0ed472847ee9544f54331cef7549557ac4d6b78e676058bd2b01c96ca59d84f04c55beca8ddc45f16b11ce349210eea -DIST python-gentoo-patches-3.8.9.tar.xz 10940 BLAKE2B 5e4a767e2795eebe122114f854db2351ff82bde33b5c20549b59d5b64a4f41f911eff7dc9e17038ddebb2d8c84f28ce2d5f2d5f022d92c26164b7763941b1999 SHA512 ee75568d09febccaf08d60beca38995927193348a1b1df4ffd40fd9c858f16161f52b93249c29cf98cf3f7d0b8202e1ecf5f9eb5efe37e64c4b20c25e46dd9c5 DIST python-gentoo-patches-3.8.9_p2.tar.xz 16600 BLAKE2B 895eebdfabfe9cc4a30d87255112033b506511a8def7cecb03e37b0bde350f1c4b53f06a7e8ead53218c29e2cf4866f2ddfc9d30a07e9f5c67e4c7c271c18cba SHA512 5751c4bcdd1f637f9678d3fa3455c701b2dec051e12d5a1fa6468d7745c1387fb0485672e53dc619b4244435897f21702699c64b63ad9a0422ed91edd7fb2491 -DIST python-gentoo-patches-3.9.2_p1.tar.xz 13400 BLAKE2B 7897ec2e23c3b613d1f8b253d16aabe173cedc5ce027b447f8d88fd78d643517e7d7634e33878d0033ce3348053e0c8eb0a3fc347aa9f57df037078df5bbc133 SHA512 da58f225300d447ee2ce118554a3a1c579c5da3828f71144f0664373e22be67924748c288bffe51f2f939d70b42aec4f4d1e9420d7f1a86f88f9769fec8f456b -DIST python-gentoo-patches-3.9.4.tar.xz 8816 BLAKE2B 6489a02d90704c6cc9eff2e6f51c54748941a948e2a7fc99a8ce07a9512ee89059ec78c4d1e219b68578cc2d66c7f4bae24794afaf455b1112550c4d39bd1354 SHA512 236b9a4cce18843a6529966bab2b57ef7e67d9299695afede910557b8dc73ae57d5ba65921399f08f178ccb0a196438439e2615856d0fd34c44dfae42bf985c3 DIST python-gentoo-patches-3.9.4_p1.tar.xz 14472 BLAKE2B c8bd49c2eb77eb00377e6c6e63a2f6b1108a2c8d4eb45cc943ad2d0a2b4457e00002f90d2597032716af5268f33d24902d4634cf8e98778c1d15bf8dda5d7215 SHA512 9a12c1935be31b1663e4ab6c1f7aca51ba62ef4033600885678ce436ecab688e2df82742125b4885b1cb8da9c68140c5ca4ee1684360ac87d82c6491bce5d0a0 DIST python-gentoo-patches-3.9.5.tar.xz 8820 BLAKE2B 177234776f00c3efa6b76fefc1ef0001225ded1dd8ba916e3dc8498a7e845467bf387ba8a4f82da713a51bff627420a084f6627218863f70e1273cce58ca7252 SHA512 37b7e25a1703184556f12202da9cba1a8e2fb1c059d75195ef2997f55948229f164642a580e33c59f5877fe36d4c62f1735f95df318b36d92c528eb98f42e55f -EBUILD python-2.7.18_p8.ebuild 10279 BLAKE2B a9cd26c7882ee1be288b98c99cb11b6e34d742449bbefefa0e05f2a6b2d3dff8cf60130272373dccdf894734a77eafdb035c2bfe0cabfff7693d198741cd3967 SHA512 cc67da5aa6f73ff333b3ddd881295f984203eb28d100b1a0817cc2ba1e629983f5e7fd64aa200b34eafa23002e9716b96f4a5456f626add2b01de1db873139fa EBUILD python-2.7.18_p9.ebuild 10279 BLAKE2B a9cd26c7882ee1be288b98c99cb11b6e34d742449bbefefa0e05f2a6b2d3dff8cf60130272373dccdf894734a77eafdb035c2bfe0cabfff7693d198741cd3967 SHA512 cc67da5aa6f73ff333b3ddd881295f984203eb28d100b1a0817cc2ba1e629983f5e7fd64aa200b34eafa23002e9716b96f4a5456f626add2b01de1db873139fa -EBUILD python-3.10.0_alpha7.ebuild 10046 BLAKE2B c9a4e5580c65c59dde4cf85575b1bda5bc2517b49fd54ce4077e854de60aef2f09d46876d23c17e8e46bb4d7c23ae65476d3dacb4f7df72f0c36f9bc84b81fb2 SHA512 0e54cf84c111f5e0de080939065cef7fc29ad3090c80b80209ddbe648f2bfc545cb9271cdb1864054c97c28ab8906206a89458a42bdbda1fc28cf3639e481407 EBUILD python-3.10.0_beta1.ebuild 10045 BLAKE2B 085fb4c2d64576159313076da40f6c7096d6815151d2a3e082a5bae5164d40442996d579e887dc5a39fa52dfb1220b67fc26f840b2f0b1997346fccfdee56009 SHA512 e66d80207f5897b6bcd72f1506ee5418c13eb1cc51a1b3681e653d49d7473f5755edc8096c7d3becb613275f1e40a13b399b9c61dfc85da9b9e209791ea2d230 -EBUILD python-3.6.13_p1.ebuild 9827 BLAKE2B 1b4e38ac6584840625040b89cb888db177a46cd6faec6c236c32f56b890fc6487c826dd9820f05ba9493a792df8f2bab252c7e1c3c86a49fc0e3e1ae00828b43 SHA512 185ca27fa6ba4ed17b89d0e6f21efa5fd44aa40637f3844401e7d6140f82d6d2a815d61210aad50c322de029bae7a46654c90e4ec448bbee6caab25d3a82d711 EBUILD python-3.6.13_p3.ebuild 9827 BLAKE2B 1b4e38ac6584840625040b89cb888db177a46cd6faec6c236c32f56b890fc6487c826dd9820f05ba9493a792df8f2bab252c7e1c3c86a49fc0e3e1ae00828b43 SHA512 185ca27fa6ba4ed17b89d0e6f21efa5fd44aa40637f3844401e7d6140f82d6d2a815d61210aad50c322de029bae7a46654c90e4ec448bbee6caab25d3a82d711 -EBUILD python-3.7.10_p1.ebuild 9632 BLAKE2B 85597824af2426a591a909d7170410ae405bc06381c63ed1603571230efc9b0b2aa8d06443845efb38535d4844a632771ea483845d0034506b69f65ffb509531 SHA512 a0287b8ffc461e9556770cacdba761448a0f2ecbcac6a383c586fe0577bd3fc7603c06b23a186d2f3c15d156b9635a508660cef8812dd18b34834ca0fca9a8f8 EBUILD python-3.7.10_p3.ebuild 9632 BLAKE2B 85597824af2426a591a909d7170410ae405bc06381c63ed1603571230efc9b0b2aa8d06443845efb38535d4844a632771ea483845d0034506b69f65ffb509531 SHA512 a0287b8ffc461e9556770cacdba761448a0f2ecbcac6a383c586fe0577bd3fc7603c06b23a186d2f3c15d156b9635a508660cef8812dd18b34834ca0fca9a8f8 EBUILD python-3.8.10.ebuild 9794 BLAKE2B adea166e768e09b86cfe01fb8629822750261871c1b300e94815967c201ac5b406f1419401e6d0e7872bb7a34e5ca8cfbd0b4dc4ab66855693e74ec540728e4f SHA512 8b2190820a441b4f24ad44cf43c96dc3ac92abc6f02d6bc77dd914d06a95e6ca65c189af73965f9ad9a17c2d37c700fb0cc88b2cc23d6b86806a8661f669406a -EBUILD python-3.8.8_p1.ebuild 9786 BLAKE2B cdb4cc561d0dceced2e987bd268b4aba5491cbdd2b4a232f59822ff6c913acdc688930c24b25dc771ed0cb63c104ca744dd6c0c3c79ddac175206fbe3dcb9493 SHA512 72757c70b3d179fdc91be409fe8eba79e9868f7672ed8686074027c9a76edbdd0ff9ae54b10ae2b51e116904d36d69a4e9a107f2613bfeecedba32da3c8261d7 -EBUILD python-3.8.9.ebuild 9794 BLAKE2B adea166e768e09b86cfe01fb8629822750261871c1b300e94815967c201ac5b406f1419401e6d0e7872bb7a34e5ca8cfbd0b4dc4ab66855693e74ec540728e4f SHA512 8b2190820a441b4f24ad44cf43c96dc3ac92abc6f02d6bc77dd914d06a95e6ca65c189af73965f9ad9a17c2d37c700fb0cc88b2cc23d6b86806a8661f669406a EBUILD python-3.8.9_p2.ebuild 9786 BLAKE2B cdb4cc561d0dceced2e987bd268b4aba5491cbdd2b4a232f59822ff6c913acdc688930c24b25dc771ed0cb63c104ca744dd6c0c3c79ddac175206fbe3dcb9493 SHA512 72757c70b3d179fdc91be409fe8eba79e9868f7672ed8686074027c9a76edbdd0ff9ae54b10ae2b51e116904d36d69a4e9a107f2613bfeecedba32da3c8261d7 -EBUILD python-3.9.2_p1.ebuild 9925 BLAKE2B 8dfccf4bbb7fe7ee7f81cb7902c3f5db8add7694af475f4d9f80b9e4c87d2032bba1758cf62ccdb62eb56c79fa9bc238f850205d5dc159a172f9f4f4757bd351 SHA512 0402ea45911ba01183a65213b0050c9f976c218f1e938f716ac66178e122379c24714758463d1010fbd78828eb36123f16b4540aec0f75216706bc7dfc3e7014 -EBUILD python-3.9.4.ebuild 9933 BLAKE2B 1d492eae570d852efde804615a52f80b650aefa2fe12b64d7cccfe5d950085629d5d8a5251a2452f477233a84b8a9ae0bd5640d59978ee36c1a47048ca6c1b4b SHA512 84c0965e128bc9337373fdf280faf0824b2be0874e2ae1ac75986c0a2eb24bad57c15779487b951708cd56fe0467eec90cda787a3ef788592565fdd1d664f6d8 EBUILD python-3.9.4_p1.ebuild 9925 BLAKE2B 8dfccf4bbb7fe7ee7f81cb7902c3f5db8add7694af475f4d9f80b9e4c87d2032bba1758cf62ccdb62eb56c79fa9bc238f850205d5dc159a172f9f4f4757bd351 SHA512 0402ea45911ba01183a65213b0050c9f976c218f1e938f716ac66178e122379c24714758463d1010fbd78828eb36123f16b4540aec0f75216706bc7dfc3e7014 EBUILD python-3.9.5.ebuild 9933 BLAKE2B 1d492eae570d852efde804615a52f80b650aefa2fe12b64d7cccfe5d950085629d5d8a5251a2452f477233a84b8a9ae0bd5640d59978ee36c1a47048ca6c1b4b SHA512 84c0965e128bc9337373fdf280faf0824b2be0874e2ae1ac75986c0a2eb24bad57c15779487b951708cd56fe0467eec90cda787a3ef788592565fdd1d664f6d8 MISC metadata.xml 819 BLAKE2B 120c7c65d77488e726c5a0f4aa19469867ea6900e747169fae2f9cf8f14ec2936089d5edfe1935ce610bec26387273e261b1cc4b023680c8c4b229f2141a7223 SHA512 08f45707e5490067a21951b9d37c8ae67064ab67cccc5b8d8c204eab8d4a004fb910627b62989c67b849b89d301618f8f8f7996e99e1ef5bab38a239c49c124d diff --git a/dev-lang/python/python-2.7.18_p8.ebuild b/dev-lang/python/python-2.7.18_p8.ebuild deleted file mode 100644 index 59aed167c78c..000000000000 --- a/dev-lang/python/python-2.7.18_p8.ebuild +++ /dev/null @@ -1,355 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -WANT_LIBTOOL="none" - -inherit autotools flag-o-matic pax-utils \ - python-utils-r1 toolchain-funcs verify-sig - -MY_P="Python-${PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc - )" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86" -IUSE="-berkdb bluetooth build elibc_uclibc examples gdbm hardened ipv6 +ncurses +readline +sqlite +ssl +threads tk +wide-unicode wininst +xml" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND="app-arch/bzip2:= - dev-libs/libffi:= - >=sys-libs/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - berkdb? ( || ( - sys-libs/db:5.3 - sys-libs/db:5.1 - sys-libs/db:4.8 - sys-libs/db:4.7 - sys-libs/db:4.6 - sys-libs/db:4.5 - sys-libs/db:4.4 - sys-libs/db:4.3 - sys-libs/db:4.2 - ) ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( >=sys-libs/readline-4.1:= ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) - xml? ( >=dev-libs/expat-2.1:= )" -# bluetooth requires headers from bluez -DEPEND="${RDEPEND} - bluetooth? ( net-wireless/bluez )" -BDEPEND=" - virtual/pkgconfig - verify-sig? ( app-crypt/openpgp-keys-python ) - !sys-devel/gcc[libffi(-)]" -PDEPEND="app-eselect/eselect-python" -RDEPEND+=" - !build? ( app-misc/mime-types ) - !<=dev-lang/python-exec-2.4.6-r1" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -pkg_setup() { - if use berkdb; then - ewarn "'bsddb' module is out-of-date and no longer maintained inside" - ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been additionally" - ewarn "removed in Python 3. A maintained alternative of 'bsddb3' module" - ewarn "is provided by dev-python/bsddb3." - else - if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then - ewarn "You are migrating from =${CATEGORY}/${PN}-${PV%%.*}*[berkdb]" - ewarn "to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]." - ewarn "You might need to migrate your databases." - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat || die - rm -fr Modules/_ctypes/libffi* || die - rm -fr Modules/zlib || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - Lib/distutils/command/install.py \ - Lib/distutils/sysconfig.py \ - Lib/site.py \ - Lib/sysconfig.py \ - Lib/test/test_site.py \ - Makefile.pre.in \ - Modules/Setup.dist \ - Modules/getpath.c \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - eautoreconf -} - -src_configure() { - # dbm module can be linked against berkdb or gdbm. - # Defaults to gdbm when both are enabled, #204343. - local disable - use berkdb || use gdbm || disable+=" dbm" - use berkdb || disable+=" _bsddb" - # disable automagic bluetooth headers detection - use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - if tc-is-cross-compiler; then - # Force some tests that try to poke fs paths. - export ac_cv_file__dev_ptc=no - export ac_cv_file__dev_ptmx=yes - fi - - # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile. - tc-export CXX - # The configure script fails to use pkg-config correctly. - # http://bugs.python.org/issue15506 - export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG) - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - if use berkdb; then - dbmliborder+="${dbmliborder:+:}bdb" - fi - - local myeconfargs=( - # The check is broken on clang, and gives false positive: - # https://bugs.gentoo.org/596798 - # (upstream dropped this flag in 3.2a4 anyway) - ac_cv_opt_olimit_ok=no - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --with-fpectl - --enable-shared - $(use_enable ipv6) - $(use_with threads) - $(use wide-unicode && echo "--enable-unicode=ucs4" || echo "--enable-unicode=ucs2") - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-computed-gotos - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --with-system-expat - --with-system-ffi - --without-ensurepip - ) - - OPT="" econf "${myeconfargs[@]}" - - if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - - # Avoid invoking pgen for cross-compiles. - touch Include/graminit.h Python/graminit.c - - emake - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # Skip failing tests. - local skipped_tests="distutils gdb" - - for test in ${skipped_tests}; do - mv "${S}"/Lib/test/test_${test}.py "${T}" - done - - # bug 660358 - local -x COLUMNS=80 - - # Daylight saving time problem - # https://bugs.python.org/issue22067 - # https://bugs.gentoo.org/610628 - local -x TZ=UTC - - # Rerun failed tests in verbose mode (regrtest -w). - emake test EXTRATESTOPTS="-w" < /dev/tty - local result="$?" - - for test in ${skipped_tests}; do - mv "${T}/test_${test}.py" "${S}"/Lib/test - done - - elog "The following tests have been skipped:" - for test in ${skipped_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'" - elog "and run the tests separately." - - if [[ ${result} -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - local libdir=${ED}/usr/$(get_libdir)/python${PYVER} - - emake DESTDIR="${D}" altinstall - - sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die - - # Fix collisions between different slots of Python. - mv "${ED}/usr/bin/2to3" "${ED}/usr/bin/2to3-${PYVER}" || die - mv "${ED}/usr/bin/pydoc" "${ED}/usr/bin/pydoc${PYVER}" || die - mv "${ED}/usr/bin/idle" "${ED}/usr/bin/idle${PYVER}" || die - rm "${ED}/usr/bin/smtpd.py" || die - - use berkdb || rm -r "${libdir}/"{bsddb,dbhash.py*,test/test_bsddb*} || die - use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die - use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,lib-tk} || die - use elibc_uclibc && rm -fr "${libdir}/"{bsddb/test,test} - - use threads || rm -r "${libdir}/multiprocessing" || die - use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ - emake --no-print-directory -s -f - 2>/dev/null) - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - local -x EPYTHON=python${PYVER} - # if not using a cross-compiler, use the fresh binary - if ! tc-is-cross-compiler; then - local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} - else - local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} - fi - - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python - ln -s "../../../bin/python${PYVER}" \ - "${scriptdir}/python" || die - # python-config - ln -s "../../../bin/python${PYVER}-config" \ - "${scriptdir}/python-config" || die - # 2to3, pydoc, pyvenv - ln -s "../../../bin/2to3-${PYVER}" \ - "${scriptdir}/2to3" || die - ln -s "../../../bin/pydoc${PYVER}" \ - "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" \ - "${scriptdir}/idle" || die - fi - - # python2* is no longer wrapped, so just symlink it - local pymajor=${PYVER%.*} - dosym "python${PYVER}" "/usr/bin/python${pymajor}" - dosym "python${PYVER}-config" "/usr/bin/python${pymajor}-config" -} diff --git a/dev-lang/python/python-3.10.0_alpha7.ebuild b/dev-lang/python/python-3.10.0_alpha7.ebuild deleted file mode 100644 index 82f3f29aff18..000000000000 --- a/dev-lang/python/python-3.10.0_alpha7.ebuild +++ /dev/null @@ -1,347 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \ - python-utils-r1 toolchain-funcs verify-sig - -MY_PV=${PV/_alpha/a} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc - )" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="bluetooth build examples gdbm hardened ipv6 +ncurses +readline +sqlite +ssl test tk wininst +xml" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND="app-arch/bzip2:= - app-arch/xz-utils:= - dev-libs/libffi:= - sys-apps/util-linux:= - >=sys-libs/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( >=sys-libs/readline-4.1:= ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) - xml? ( >=dev-libs/expat-2.1:= ) - !!/dev/null) - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - local -x EPYTHON=python${PYVER} - # if not using a cross-compiler, use the fresh binary - if ! tc-is-cross-compiler; then - local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} - else - local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} - fi - - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" \ - "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" \ - "${scriptdir}/python-config" || die - # 2to3, pydoc - ln -s "../../../bin/2to3-${PYVER}" \ - "${scriptdir}/2to3" || die - ln -s "../../../bin/pydoc${PYVER}" \ - "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" \ - "${scriptdir}/idle" || die - fi -} diff --git a/dev-lang/python/python-3.6.13_p1.ebuild b/dev-lang/python/python-3.6.13_p1.ebuild deleted file mode 100644 index e24be42012b1..000000000000 --- a/dev-lang/python/python-3.6.13_p1.ebuild +++ /dev/null @@ -1,338 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -WANT_LIBTOOL="none" - -inherit autotools flag-o-matic multiprocessing pax-utils \ - python-utils-r1 toolchain-funcs verify-sig - -MY_P="Python-${PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc - )" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}/${PYVER}m" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86" -IUSE="bluetooth build examples gdbm hardened ipv6 +ncurses +readline +sqlite +ssl test +threads tk wininst +xml" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND="app-arch/bzip2:= - app-arch/xz-utils:= - dev-libs/libffi:= - >=sys-libs/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( >=sys-libs/readline-4.1:= ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) - xml? ( >=dev-libs/expat-2.1:= )" -# bluetooth requires headers from bluez -DEPEND="${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( app-arch/xz-utils[extra-filters(+)] )" -BDEPEND=" - virtual/pkgconfig - verify-sig? ( app-crypt/openpgp-keys-python ) - !sys-devel/gcc[libffi(-)]" -PDEPEND="app-eselect/eselect-python" -RDEPEND+=" !build? ( app-misc/mime-types )" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat || die - rm -fr Modules/_ctypes/libffi* || die - rm -fr Modules/zlib || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - Lib/distutils/command/install.py \ - Lib/distutils/sysconfig.py \ - Lib/site.py \ - Lib/sysconfig.py \ - Lib/test/test_site.py \ - Makefile.pre.in \ - Modules/Setup.dist \ - Modules/getpath.c \ - configure.ac \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - # force correct number of jobs - # https://bugs.gentoo.org/737660 - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die - - eautoreconf -} - -src_configure() { - local disable - # disable automagic bluetooth headers detection - use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - tc-export CXX - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --with-fpectl - --enable-shared - $(use_enable ipv6) - $(use_with threads) - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-computed-gotos - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --with-system-expat - --with-system-ffi - ) - - OPT="" econf "${myeconfargs[@]}" - - if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # Skip failing tests. - local skipped_tests="gdb faulthandler" - - for test in ${skipped_tests}; do - mv "${S}"/Lib/test/test_${test}.py "${T}" - done - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - - emake test EXTRATESTOPTS="-u-network -j${jobs}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local result=$? - - for test in ${skipped_tests}; do - mv "${T}/test_${test}.py" "${S}"/Lib/test - done - - elog "The following tests have been skipped:" - for test in ${skipped_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'" - elog "and run the tests separately." - - if [[ ${result} -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - local libdir=${ED}/usr/$(get_libdir)/python${PYVER} - - emake DESTDIR="${D}" altinstall - - # Remove static library - rm "${ED}"/usr/$(get_libdir)/libpython*.a || die - - sed \ - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ - -e "s/\(PY_LDFLAGS=\).*/\1/" \ - -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die - use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die - - use threads || rm -r "${libdir}/multiprocessing" || die - use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ - emake --no-print-directory -s -f - 2>/dev/null) - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - local -x EPYTHON=python${PYVER} - # if not using a cross-compiler, use the fresh binary - if ! tc-is-cross-compiler; then - local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} - else - local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} - fi - - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" \ - "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" \ - "${scriptdir}/python-config" || die - # 2to3, pydoc, pyvenv - ln -s "../../../bin/2to3-${PYVER}" \ - "${scriptdir}/2to3" || die - ln -s "../../../bin/pydoc${PYVER}" \ - "${scriptdir}/pydoc" || die - ln -s "../../../bin/pyvenv-${PYVER}" \ - "${scriptdir}/pyvenv" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" \ - "${scriptdir}/idle" || die - fi -} diff --git a/dev-lang/python/python-3.7.10_p1.ebuild b/dev-lang/python/python-3.7.10_p1.ebuild deleted file mode 100644 index 0e99aadfd9c4..000000000000 --- a/dev-lang/python/python-3.7.10_p1.ebuild +++ /dev/null @@ -1,330 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -WANT_LIBTOOL="none" - -inherit autotools flag-o-matic multiprocessing pax-utils \ - python-utils-r1 toolchain-funcs verify-sig - -MY_P="Python-${PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc - )" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}/${PYVER}m" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="bluetooth build examples gdbm hardened ipv6 +ncurses +readline +sqlite +ssl test tk wininst +xml" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND="app-arch/bzip2:= - app-arch/xz-utils:= - dev-libs/libffi:= - sys-apps/util-linux:= - >=sys-libs/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( >=sys-libs/readline-4.1:= ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) - xml? ( >=dev-libs/expat-2.1:= )" -# bluetooth requires headers from bluez -DEPEND="${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( app-arch/xz-utils[extra-filters(+)] )" -BDEPEND=" - virtual/pkgconfig - verify-sig? ( app-crypt/openpgp-keys-python ) - !sys-devel/gcc[libffi(-)]" -PDEPEND="app-eselect/eselect-python" -RDEPEND+=" !build? ( app-misc/mime-types )" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat || die - rm -fr Modules/_ctypes/libffi* || die - rm -fr Modules/zlib || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - # force correct number of jobs - # https://bugs.gentoo.org/737660 - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die - - eautoreconf -} - -src_configure() { - local disable - # disable automagic bluetooth headers detection - use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - tc-export CXX - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - $(use_enable ipv6) - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-computed-gotos - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --with-system-expat - --with-system-ffi - ) - - OPT="" econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # Skip failing tests. - local skipped_tests="gdb" - - for test in ${skipped_tests}; do - mv "${S}"/Lib/test/test_${test}.py "${T}" - done - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - - emake test EXTRATESTOPTS="-u-network -j${jobs}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local result=$? - - for test in ${skipped_tests}; do - mv "${T}/test_${test}.py" "${S}"/Lib/test - done - - elog "The following tests have been skipped:" - for test in ${skipped_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" - elog "and run the tests separately." - - if [[ ${result} -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - emake DESTDIR="${D}" altinstall - - # Remove static library - rm "${ED}"/usr/$(get_libdir)/libpython*.a || die - - sed \ - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ - -e "s/\(PY_LDFLAGS=\).*/\1/" \ - -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die - use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die - - use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ - emake --no-print-directory -s -f - 2>/dev/null) - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - local -x EPYTHON=python${PYVER} - # if not using a cross-compiler, use the fresh binary - if ! tc-is-cross-compiler; then - local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} - else - local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} - fi - - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" \ - "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" \ - "${scriptdir}/python-config" || die - # 2to3, pydoc, pyvenv - ln -s "../../../bin/2to3-${PYVER}" \ - "${scriptdir}/2to3" || die - ln -s "../../../bin/pydoc${PYVER}" \ - "${scriptdir}/pydoc" || die - ln -s "../../../bin/pyvenv-${PYVER}" \ - "${scriptdir}/pyvenv" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" \ - "${scriptdir}/idle" || die - fi -} diff --git a/dev-lang/python/python-3.8.8_p1.ebuild b/dev-lang/python/python-3.8.8_p1.ebuild deleted file mode 100644 index b1c4a316ec34..000000000000 --- a/dev-lang/python/python-3.8.8_p1.ebuild +++ /dev/null @@ -1,336 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -WANT_LIBTOOL="none" - -inherit autotools flag-o-matic multiprocessing pax-utils \ - python-utils-r1 toolchain-funcs verify-sig - -MY_PV=${PV/_rc/rc} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc - )" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="bluetooth build examples gdbm hardened ipv6 +ncurses +readline +sqlite +ssl test tk wininst +xml" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND="app-arch/bzip2:= - app-arch/xz-utils:= - dev-libs/libffi:= - sys-apps/util-linux:= - >=sys-libs/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( >=sys-libs/readline-4.1:= ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) - xml? ( >=dev-libs/expat-2.1:= )" -# bluetooth requires headers from bluez -DEPEND="${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( app-arch/xz-utils[extra-filters(+)] )" -BDEPEND=" - virtual/pkgconfig - sys-devel/autoconf-archive - verify-sig? ( app-crypt/openpgp-keys-python ) - !sys-devel/gcc[libffi(-)]" -PDEPEND="app-eselect/eselect-python" -RDEPEND+=" !build? ( app-misc/mime-types )" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat || die - rm -fr Modules/_ctypes/libffi* || die - rm -fr Modules/zlib || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - # force correct number of jobs - # https://bugs.gentoo.org/737660 - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die - sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die - - eautoreconf -} - -src_configure() { - local disable - # disable automagic bluetooth headers detection - use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - # https://bugs.gentoo.org/700012 - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - tc-export CXX - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - $(use_enable ipv6) - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-computed-gotos - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --with-system-expat - --with-system-ffi - ) - - OPT="" econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # Skip failing tests. - local skipped_tests="gdb" - - for test in ${skipped_tests}; do - mv "${S}"/Lib/test/test_${test}.py "${T}" - done - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - - emake test EXTRATESTOPTS="-u-network -j${jobs}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local result=$? - - for test in ${skipped_tests}; do - mv "${T}/test_${test}.py" "${S}"/Lib/test - done - - elog "The following tests have been skipped:" - for test in ${skipped_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" - elog "and run the tests separately." - - if [[ ${result} -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - emake DESTDIR="${D}" altinstall - - # Remove static library - rm "${ED}"/usr/$(get_libdir)/libpython*.a || die - - sed \ - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ - -e "s/\(PY_LDFLAGS=\).*/\1/" \ - -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die - use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die - - use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ - emake --no-print-directory -s -f - 2>/dev/null) - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - local -x EPYTHON=python${PYVER} - # if not using a cross-compiler, use the fresh binary - if ! tc-is-cross-compiler; then - local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} - else - local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} - fi - - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" \ - "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" \ - "${scriptdir}/python-config" || die - # 2to3, pydoc - ln -s "../../../bin/2to3-${PYVER}" \ - "${scriptdir}/2to3" || die - ln -s "../../../bin/pydoc${PYVER}" \ - "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" \ - "${scriptdir}/idle" || die - fi -} diff --git a/dev-lang/python/python-3.8.9.ebuild b/dev-lang/python/python-3.8.9.ebuild deleted file mode 100644 index 0a87aec91800..000000000000 --- a/dev-lang/python/python-3.8.9.ebuild +++ /dev/null @@ -1,336 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -WANT_LIBTOOL="none" - -inherit autotools flag-o-matic multiprocessing pax-utils \ - python-utils-r1 toolchain-funcs verify-sig - -MY_PV=${PV/_rc/rc} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc - )" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="bluetooth build examples gdbm hardened ipv6 +ncurses +readline +sqlite +ssl test tk wininst +xml" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND="app-arch/bzip2:= - app-arch/xz-utils:= - dev-libs/libffi:= - sys-apps/util-linux:= - >=sys-libs/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( >=sys-libs/readline-4.1:= ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) - xml? ( >=dev-libs/expat-2.1:= )" -# bluetooth requires headers from bluez -DEPEND="${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( app-arch/xz-utils[extra-filters(+)] )" -BDEPEND=" - virtual/pkgconfig - sys-devel/autoconf-archive - verify-sig? ( app-crypt/openpgp-keys-python ) - !sys-devel/gcc[libffi(-)]" -PDEPEND="app-eselect/eselect-python" -RDEPEND+=" !build? ( app-misc/mime-types )" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat || die - rm -fr Modules/_ctypes/libffi* || die - rm -fr Modules/zlib || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - # force correct number of jobs - # https://bugs.gentoo.org/737660 - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die - sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die - - eautoreconf -} - -src_configure() { - local disable - # disable automagic bluetooth headers detection - use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - # https://bugs.gentoo.org/700012 - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - tc-export CXX - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - $(use_enable ipv6) - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-computed-gotos - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --with-system-expat - --with-system-ffi - ) - - OPT="" econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # Skip failing tests. - local skipped_tests="gdb" - - for test in ${skipped_tests}; do - mv "${S}"/Lib/test/test_${test}.py "${T}" - done - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - - emake test EXTRATESTOPTS="-u-network -j${jobs}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local result=$? - - for test in ${skipped_tests}; do - mv "${T}/test_${test}.py" "${S}"/Lib/test - done - - elog "The following tests have been skipped:" - for test in ${skipped_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" - elog "and run the tests separately." - - if [[ ${result} -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - emake DESTDIR="${D}" altinstall - - # Remove static library - rm "${ED}"/usr/$(get_libdir)/libpython*.a || die - - sed \ - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ - -e "s/\(PY_LDFLAGS=\).*/\1/" \ - -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die - use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die - - use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ - emake --no-print-directory -s -f - 2>/dev/null) - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - local -x EPYTHON=python${PYVER} - # if not using a cross-compiler, use the fresh binary - if ! tc-is-cross-compiler; then - local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} - else - local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} - fi - - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" \ - "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" \ - "${scriptdir}/python-config" || die - # 2to3, pydoc - ln -s "../../../bin/2to3-${PYVER}" \ - "${scriptdir}/2to3" || die - ln -s "../../../bin/pydoc${PYVER}" \ - "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" \ - "${scriptdir}/idle" || die - fi -} diff --git a/dev-lang/python/python-3.9.2_p1.ebuild b/dev-lang/python/python-3.9.2_p1.ebuild deleted file mode 100644 index ba35fe24eebb..000000000000 --- a/dev-lang/python/python-3.9.2_p1.ebuild +++ /dev/null @@ -1,345 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \ - python-utils-r1 toolchain-funcs verify-sig - -MY_PV=${PV/_rc/rc} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc - )" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="bluetooth build examples gdbm hardened ipv6 +ncurses +readline +sqlite +ssl test tk wininst +xml" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND="app-arch/bzip2:= - app-arch/xz-utils:= - dev-libs/libffi:= - sys-apps/util-linux:= - >=sys-libs/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( >=sys-libs/readline-4.1:= ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) - xml? ( >=dev-libs/expat-2.1:= )" -# bluetooth requires headers from bluez -DEPEND="${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( app-arch/xz-utils[extra-filters(+)] )" -BDEPEND=" - virtual/pkgconfig - sys-devel/autoconf-archive - verify-sig? ( app-crypt/openpgp-keys-python ) - !sys-devel/gcc[libffi(-)]" -RDEPEND+=" !build? ( app-misc/mime-types )" -PDEPEND="app-eselect/eselect-python" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -pkg_pretend() { - use test && check-reqs_pkg_pretend -} - -pkg_setup() { - use test && check-reqs_pkg_setup -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat || die - rm -fr Modules/_ctypes/libffi* || die - rm -fr Modules/zlib || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - # force correct number of jobs - # https://bugs.gentoo.org/737660 - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die - sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die - - eautoreconf -} - -src_configure() { - local disable - # disable automagic bluetooth headers detection - use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - # https://bugs.gentoo.org/700012 - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - tc-export CXX - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - $(use_enable ipv6) - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-computed-gotos - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --with-system-expat - --with-system-ffi - ) - - OPT="" econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # Skip failing tests. - local skipped_tests="gdb" - - for test in ${skipped_tests}; do - mv "${S}"/Lib/test/test_${test}.py "${T}" - done - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - - emake test EXTRATESTOPTS="-u-network -j${jobs}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local result=$? - - for test in ${skipped_tests}; do - mv "${T}/test_${test}.py" "${S}"/Lib/test - done - - elog "The following tests have been skipped:" - for test in ${skipped_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" - elog "and run the tests separately." - - if [[ ${result} -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - emake DESTDIR="${D}" altinstall - - # Remove static library - rm "${ED}"/usr/$(get_libdir)/libpython*.a || die - - sed \ - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ - -e "s/\(PY_LDFLAGS=\).*/\1/" \ - -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die - use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ - emake --no-print-directory -s -f - 2>/dev/null) - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - local -x EPYTHON=python${PYVER} - # if not using a cross-compiler, use the fresh binary - if ! tc-is-cross-compiler; then - local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} - else - local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} - fi - - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" \ - "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" \ - "${scriptdir}/python-config" || die - # 2to3, pydoc - ln -s "../../../bin/2to3-${PYVER}" \ - "${scriptdir}/2to3" || die - ln -s "../../../bin/pydoc${PYVER}" \ - "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" \ - "${scriptdir}/idle" || die - fi -} diff --git a/dev-lang/python/python-3.9.4.ebuild b/dev-lang/python/python-3.9.4.ebuild deleted file mode 100644 index 444f9d6d14b5..000000000000 --- a/dev-lang/python/python-3.9.4.ebuild +++ /dev/null @@ -1,345 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \ - python-utils-r1 toolchain-funcs verify-sig - -MY_PV=${PV/_rc/rc} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc - )" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="bluetooth build examples gdbm hardened ipv6 +ncurses +readline +sqlite +ssl test tk wininst +xml" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND="app-arch/bzip2:= - app-arch/xz-utils:= - dev-libs/libffi:= - sys-apps/util-linux:= - >=sys-libs/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( >=sys-libs/readline-4.1:= ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) - xml? ( >=dev-libs/expat-2.1:= )" -# bluetooth requires headers from bluez -DEPEND="${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( app-arch/xz-utils[extra-filters(+)] )" -BDEPEND=" - virtual/pkgconfig - sys-devel/autoconf-archive - verify-sig? ( app-crypt/openpgp-keys-python ) - !sys-devel/gcc[libffi(-)]" -RDEPEND+=" !build? ( app-misc/mime-types )" -PDEPEND="app-eselect/eselect-python" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -pkg_pretend() { - use test && check-reqs_pkg_pretend -} - -pkg_setup() { - use test && check-reqs_pkg_setup -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat || die - rm -fr Modules/_ctypes/libffi* || die - rm -fr Modules/zlib || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - # force correct number of jobs - # https://bugs.gentoo.org/737660 - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die - sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die - - eautoreconf -} - -src_configure() { - local disable - # disable automagic bluetooth headers detection - use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - # https://bugs.gentoo.org/700012 - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - tc-export CXX - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - $(use_enable ipv6) - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-computed-gotos - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --with-system-expat - --with-system-ffi - ) - - OPT="" econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # Skip failing tests. - local skipped_tests="gdb" - - for test in ${skipped_tests}; do - mv "${S}"/Lib/test/test_${test}.py "${T}" - done - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - - local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") - - emake test EXTRATESTOPTS="-u-network -j${jobs}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local result=$? - - for test in ${skipped_tests}; do - mv "${T}/test_${test}.py" "${S}"/Lib/test - done - - elog "The following tests have been skipped:" - for test in ${skipped_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" - elog "and run the tests separately." - - if [[ ${result} -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - emake DESTDIR="${D}" altinstall - - # Remove static library - rm "${ED}"/usr/$(get_libdir)/libpython*.a || die - - sed \ - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ - -e "s/\(PY_LDFLAGS=\).*/\1/" \ - -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die - use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ - emake --no-print-directory -s -f - 2>/dev/null) - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - local -x EPYTHON=python${PYVER} - # if not using a cross-compiler, use the fresh binary - if ! tc-is-cross-compiler; then - local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} - else - local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} - fi - - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" \ - "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" \ - "${scriptdir}/python-config" || die - # 2to3, pydoc - ln -s "../../../bin/2to3-${PYVER}" \ - "${scriptdir}/2to3" || die - ln -s "../../../bin/pydoc${PYVER}" \ - "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" \ - "${scriptdir}/idle" || die - fi -} diff --git a/dev-lang/qu-prolog/Manifest b/dev-lang/qu-prolog/Manifest index 7f181a43fff6..ed81a88d9d2a 100644 --- a/dev-lang/qu-prolog/Manifest +++ b/dev-lang/qu-prolog/Manifest @@ -1,4 +1,4 @@ AUX qu-prolog-10.x-qt5.patch 1037 BLAKE2B 91287f26c97c0c2f1c9cd3bae3a007cf27e4b8121aca4a42cabbbb37c224b7399ed06468b7a725977f27bad2fcda8d2165bfeb569f36491d227dd472036de5ed SHA512 9dd1c8245f725d552bf23ad9ef1bb858a06c69b66778fa851013775081751a77923e2145f6575966e8394666b8dc2e04724d102be28b32efaa44b7e474b3dd7f DIST qp10.6.tar.gz 1671349 BLAKE2B 189ddd733a0bbf939387de60ec76e8e41a430af5f4684a9a3b8cc3effa4e402cfd4471c955f4d626d2de8cf14eb93c2977540ad209d06ce9b562325a4b984fea SHA512 425b35c758ba86cc14a1faf5c19f2c091142be6c42261323dc6f551efd6c80f7223584cd2be239748539eaf25308f777d95fd5bfdc65b33ca3245377e1766299 -EBUILD qu-prolog-10.6.ebuild 1901 BLAKE2B be31318ad931cda6a7980395ee27bea27e28bef9ff9c1aa2a2ffd36999167eaf77c33b6905f149670d8a55aec2001e7c103ac74fcfa08934d0f8fd9c6a6ac557 SHA512 50d689c3515adcd1550fc38711bb74c1125e4d01774fd320492a71b2e2ce150233525f4b2c9a3877b45fe499d75def0f72bdccd416ea32ff0a9e694bb8dd327f +EBUILD qu-prolog-10.6.ebuild 1987 BLAKE2B 3fbfb15e9e8b1ac7c2593cee7e0931f6b1a414495a38d71177fa933a6d517c6611ad12e37a15ea359365838d8dbe457efc0c55832db1b0329fde9e9eaed8be3c SHA512 4279baad07b02ac982a7ad4446d2ed4c5445a1054d51240d8fb39d5f7c359c09db2774cbee8eeb990ef8895e612ab5a21ece8843ef3cc5bb0575e0856aea3ccc MISC metadata.xml 347 BLAKE2B d0d2ead501a46ff84953eceee649d58e406ebf5a83e7b7862b9501b2e665ad71b5c9c31f4790161074debb7b86ce7e53ff8d0904c39c37ddcac6250668685aca SHA512 7a7bb3ccaa42fa120c3702d963719d5fdfcf0a413685cad98bd34a515a4cc83a213a71e7f3b6b0ce67947fa347229caecf699879192f0d930c9c6577e0ce59cc diff --git a/dev-lang/qu-prolog/qu-prolog-10.6.ebuild b/dev-lang/qu-prolog/qu-prolog-10.6.ebuild index 612cd9be1877..85d6eac48632 100644 --- a/dev-lang/qu-prolog/qu-prolog-10.6.ebuild +++ b/dev-lang/qu-prolog/qu-prolog-10.6.ebuild @@ -3,7 +3,9 @@ EAPI=7 -inherit autotools multilib qmake-utils +PYTHON_COMPAT=( python3_{6..9} ) + +inherit autotools multilib python-any-r1 qmake-utils MY_P=qp${PV} @@ -35,6 +37,8 @@ src_prepare() { eapply_user eautoconf + + python_fix_shebang "${S}"/bin/qc.in } src_configure() { diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest index af399b8eb61f..70de016fc2fe 100644 --- a/dev-lang/rust-bin/Manifest +++ b/dev-lang/rust-bin/Manifest @@ -28,36 +28,36 @@ DIST rust-1.51.0-x86_64-unknown-linux-gnu.tar.xz 147543532 BLAKE2B 44ac97f6b650e 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 -DIST rust-1.52.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 71e8d615e921a70341b543992eef062186f72169a9763562114af8afd8ab3469a104677fe103a04a03881ec308b25fff412ba4eaac6e4ff02f29527ddefce8b8 SHA512 1033d23a2c05ec207c7fe032f5d9986d5a1d839ca54b0ea57a7a35c8c37512e9732835f2f280f436af326e948da913492f84cd6d0dfb9c397a095167f31e4c04 -DIST rust-1.52.0-arm-unknown-linux-gnueabi.tar.xz 195145936 BLAKE2B 3c2e1f947164a18b0a0e642775560c23407eb9f79ce426b6f191eab3204b78288aa404c9f5d388a0831ff124a92c4bad6927edc252ec82f0fed194b361c75256 SHA512 20fd1d03f3c9a935d0fd282fc7ea5808165b45865044ba8a8b09ee07d1410ad80401f800d1c70dab9e42b496deb58def88d8dd10de551e2a086e9cdede06385a -DIST rust-1.52.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B d73e4062015a30339dc0210afaa6779912051968b174a21f09e518ecc74a763d01fee8a813e08dbd7103583d7496b76248755e2c382e8e645c0524982a7bc0bb SHA512 e707a9a1960db80602d6b5d827e81fd828cca30807bdf78e7adf9378526450c5ec87d4068b3c395142fc532cf7dee7782a5f077d8ef5051c79f2b86f8631c21b -DIST rust-1.52.0-arm-unknown-linux-gnueabihf.tar.xz 195367332 BLAKE2B 72bfb4303f3e3077958cea7050dd4100619eb14fb164d33c6ce696d3b6ddbb2099cc2850dd17b961dfb40cb1b5b20ee8158f87e0fe76426e728b2dd7752870bc SHA512 6b2f4d907ebc53983cadce97a10036a6f7e333aea1e301067fccbc38dfcc6a49ad5770cb366bc2df82aee148d88edc122930355409f0926273f85b72bf4b261f -DIST rust-1.52.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 21a835f06fb41677db5cf1a06244b2ea3caa8462330c2599e6a77d4c82054f8bd717ba790cdf06f280f62adaeb839cb1ff7cc6dbce76fac75ca4791f1d72644d SHA512 ff46a6b6b086bc785faeeaa5db2de0c79d1898651f2113a726a08d81136b687e13eb03bb635c6c43cbeae2ec897999d2867a9c925436131871a61d7f93a5bad2 -DIST rust-1.52.0-armv7-unknown-linux-gnueabihf.tar.xz 201614124 BLAKE2B 780358a279a80aac343ed737068faea9ddc9ace4a52694a32a0df504e6864fb2da30474ead9e3419370a7c7d6465ffd957fae475d852e504390222a939294270 SHA512 100b9abdc3dc7852f880eea205056a7a6b78af39fc3b7019ebcac712d5eee3c053f0508a6dc1f9da13074ca476e9fb33514bb83098d3b41964e878c0fc6498d4 -DIST rust-1.52.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B e93e9ff5068ac52bb85c42c64b528f60fac755e022b9be7680e203ad3acdee44e8cdfa00f06f4096b17106d2fe3287061c66fd411e2e6449301b0c4befd81e98 SHA512 7c8e6cc76b4d22a4b7fdd88e73e5f99fec9bb9d9cd86293a4813d25a11739e4f104f3c8c5a1113240909757b893fd88ef34a6fc7139a6d37923d241ac60c01cf -DIST rust-1.52.0-i686-unknown-linux-gnu.tar.xz 214798144 BLAKE2B dae7a81f1bce6f24d9766621d751b090c4a560af83686f19ae4d309da5fc8f59f1a46caea03bad593018a07ff44bd078ac5e775edf4b92ad178f641a5a3f7626 SHA512 10fcf9e891ae8bc6e83b5e71c83b34773c18b024c9e9b580cfae714b4e135d313ba5434fc28c2dffa3db2e50669b3acd07e6874de0cfab89b343db92bfbdff80 -DIST rust-1.52.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 699ca61fbe0f9763b5e3040f0d2854e34d6650f55dae2e864b88aa1d0402551a372970a3b6f4758e03619dba1201fb288c49a255eb1e7ea7ea0cb7668dde9604 SHA512 fc38e23183f104ed092072666bce6e40ab44822568ea69f31d5131508c53532a5db0c7148434605df6ee216559eb5927fac1ac32c17b3a3ebc336953f98a3ae6 -DIST rust-1.52.0-mips-unknown-linux-gnu.tar.xz 155487344 BLAKE2B 8f4d1dd47830f9d691e564ccab1a265e4f2622edc93f942d7db222b06c5f855187c855823bf0f38d7c534158905ee9eab6e5455900832891fd34c2b5649f4dc3 SHA512 9395eba6b7c8ddb5a35ff6e7bcc43eddc7fd2c7604a508a30aa63c4648bc3c9fee228cfd54cef6a2604cc8b695178c9d04cd8d05664279ef0bbca886e0d74a6b -DIST rust-1.52.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8d226ab1e1f85620463e4cb1eaf2d363906d3eb5d7bed82e24b4f84c8969c649fc899b0dc446f4160ebc273850f158322cae1553ad499dfeee4ff34eaf161e52 SHA512 ed26f86680332d82aeb3dc8592f634a56b2269f5c4fbc75223b05cbd3775d6d8b4421dbddce96cd1fbf1f84cdd585f2b779c6a3f11639c101245bfe76a0a0cfa -DIST rust-1.52.0-mips64-unknown-linux-gnuabi64.tar.xz 165086396 BLAKE2B 1241fce74a0583719d5e40cd48239de5fa7e121f87baf0f1e4f18106a69a3e6c6991754cf7c62492f850919ed02fd371c9e7360972d6ab4b556c243c72bcda89 SHA512 6ebda7432d5fd0d5a99c684e2dab2db0446d5d4ba1000696c14c26f5288c763dc0743af197c6fe809e2e6f90d90b12d84714ff64f195ca415760d9110c6f8b0a -DIST rust-1.52.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 58ebdce3798c0a95a08394bd8398dce5e145848fc2a97233c69befd9b541af526324d777dec4909b7586709bdf6af8ec69cae980032dc86c650047dff057e823 SHA512 34a16221fa0e09acf88e67f7425ed6154caa8b9a1dd2eafe4cc8167204bb57cfc96824047e4e070b5e91109c45376a8873d873b329ed74df43b279f29768fa8a -DIST rust-1.52.0-mipsel-unknown-linux-gnu.tar.xz 158692144 BLAKE2B 331afebbbc7d5c0fa5eaf182e8642f7b38c583418469a7e2b282378556db3813445b552ea89a596df56030a119e1deda1e1bbdc1983f5dacd3115e9de7c860c5 SHA512 0149304d963eeffbbb929eb6f1f24a3f1e5d43c627252bcca8df86fe894858d5d399eb5f8ddabbaf8c2768f93ee05fbaa82b1552c76dbb319614f0e93b21558e -DIST rust-1.52.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a4b835e14bcd9f1c24cb66dd1daf4777d25681ab175b377dba37ca4bc51e0bf360df4fb6feb3e85e0c05f79be31e51d180ffea30bc0cd96f69ca455cc4b2238d SHA512 c9b33e4ca113343b08e16410b509aca98c08338e131581d223435f8d1eb1248e2abc6a0ef10cf612fd4a305d88d4fb605785d4c067520dff5b699ce00e2799bf -DIST rust-1.52.0-powerpc-unknown-linux-gnu.tar.xz 170724484 BLAKE2B 1e58e0a338498061c0e46e65660fcf01bd8461b3fcded864ba63196d4fc29e0b56e026e4d80b7535b63bb5bc204c748165498e7cfcda3713a97aa17bd8ac65b1 SHA512 44af21d9cf5d5d654f1f9437aefb61ba5bd3f3bdc67c657fba8ab03494a7ead53b6f5be17153f1f20acf099cd90760de29008c76fd766d6facbab32bf7921523 -DIST rust-1.52.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6e42783107d1aae59f771284f15e1304595da710700a7664cc199fe7544dfb9cdfcb8c5f67e3c520a68ffb7fd7202de2f071cf92ce95b858f38e4ceb72649c4c SHA512 a68c780526a0dc3ba6c9e74258b124f4e64f52dab1dc0d1bcac5cbed752a9884caf858be2a1b9eb987b400a26b824e556bbf5280f64a4f51df0aae8c3073b9aa -DIST rust-1.52.0-powerpc64-unknown-linux-gnu.tar.xz 184549672 BLAKE2B 2121f8d22d9348a61ba9eecb40bb13afee199450c7bba2d1852169f3b61ec193ea6979483139875c29a0a767732f5ffe12f81528c713492e0173084691b4b7d2 SHA512 7c24c9193fc4fe2109e38f140a8c240e0535171460de9965291c08003abe7c1ea89796afa7dcb2018eece4d9eed48ebf9469d1a040f06ab4f6a12807c789f7d8 -DIST rust-1.52.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7f5d881c1e1618be807ed6f65551fbec9190345f30c24b3c99c69e19cf87cda39c0fa6d0667d6e10e27444a864f9d49638f79fb8ac2d57558d745c3496ed01c7 SHA512 1b73e49173325b3ec9fea1c346f702ae33235aacd0b821d5b9a90148a26046e45fb547223a0cef6fadf03b5124a824a9b83984f3b5841cd5d3b861aa3223aa88 -DIST rust-1.52.0-powerpc64le-unknown-linux-gnu.tar.xz 194640544 BLAKE2B aa5e59e6059bbba874c40f7570404fbcfa5108aceb04f53ae42fc8ea4e833917f3cf6e84a1dd69cc5bf9cec3bbf0b3063258ff57699d3d0769038b44f4ccdf33 SHA512 916a3338c850cf804535e25aebc0fdcf6cea8fe9e5df9fed11fbf03ae81fb8220321dc41edd7133f287dfee0dbf19730ff8b020f32322850329865db76bab95e -DIST rust-1.52.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ee33eefaf5b2eb96ef8fc2746334489b798b95f6b10e64deeaad72c4c1b45c9e335e450d8f896eec50c1b912b8e063ecec246c1d35c97f471236a876af7d36b4 SHA512 a66796a7459316f593649ebb309394d67bcf5ac241fd488c8e480df1837818369f79a198d1e56eb0488ab50dbad8d4162392709a2115005694ca0dd16f7e42ed -DIST rust-1.52.0-s390x-unknown-linux-gnu.tar.xz 194810848 BLAKE2B 72d68066f492c2eb2ed7e9061b2a67a603aa6ef8738004a1d7ec21753c3bb1466c81fd7a18f674d156b8b4e3c755d641b0acccfa726ad04ac17be3199e941938 SHA512 6a91adf7c1947b63db0bf02b4aa4a36fbbfcc5b40d9c18175e4c5efe785b8a17ff21a887476cf76f7e3d3854f2cc362b5d2dc8243493291a4d19a705276e6355 -DIST rust-1.52.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c9b51ff09e6de5d9d3cf93e0f21df52f1738aa6c1e7b93851512d9f464bec757477183c693a1740082a36564c10cd13569c129f026680506c1e1fae8192c835d SHA512 147498154e9ab97ec4e7c0037e6873f4eb5d23c53e2f53068e979815e7d4883c9a7a338048d21abf685f0fa348cc01e342f2d5a32856b11c52663910786750f3 -DIST rust-1.52.0-x86_64-unknown-linux-gnu.tar.xz 143053436 BLAKE2B cdbbd529c5d820318530e56347426bced5addd6f20886719abfbff6e174afadd94be36b1f3e6ba878b14198641b4a53c78f33e79bdc90025696a57659753bdac SHA512 27a8db421ae62af92e2c34dcc1fdd617bf7e8de2c68205773a3037be496ccbf21f5549dd18377a9730102e7915519824231218fef9a09abe9d116441d6ce28d2 -DIST rust-1.52.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ec204ee0968d4114023f40dfdd8654451149b5433dbb4eec192cc68135f45ed28ae7b06eabdab417401529162c11939ee101f7eddce304111fe93e9806347902 SHA512 4ae425def112d8c38e91ded53fdd73a6c7d2043eda22ce955aaa7303ff2cd6e7e8d0cfaa0d596b29195ba449811653f91b9b65c8c96b3cc8136d060609594828 -DIST rust-1.52.0-x86_64-unknown-linux-musl.tar.xz 239422556 BLAKE2B 8bef78b335b384e6bf7a5dd4a47511aa69ce0de6f9d1ab78146cd55f37e01b358a0cb82b95dcd27d25d4a114b707155b923415f9a91e6a75ab83bca9f5f7e0e3 SHA512 30a9f45f591c3beb34deee23611b5afe0f90b7a2a1b7b813498547b3264ecb98ef1d6bdfb77468bd5364f2942d927418037eb4ffe413db520c701fdf79c89bf2 -DIST rust-1.52.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 2d69f81dd47ce7387311b576a7770f2b457beebba8cd1554e5eac501025b7b54e72078b69c7cf8a61bc295298d7f277f39a070ee8d83564942149a1b42089594 SHA512 688e3eaaf2a7e7995a9b36e6856b7922b4deada31fdab198df335b316672d20bc80e5e717cee4e2fc2f51ec8abaf97880dfa5424a7b122e46b02fb7f62836378 +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-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 EBUILD rust-bin-1.51.0.ebuild 5365 BLAKE2B 4e018f9852a488e19a59f76736705c7ee844781ea03d7da58059ba6a1bbd577d9c66457f14912714c249b24e0793fd54385d0cbca745ab952deed70de4502e8d SHA512 199ef496c4b3bd512bf445bd970c1532784420bf0daa3b7a75965d1897f0d0fe334959dc01aa1dc0c1996641aef49637522c0a245c37b3ada1350afeb9c5ae1a -EBUILD rust-bin-1.52.0.ebuild 5370 BLAKE2B 15d77e856344801f7ee2b24d2d22191c28f801d25011caecd740a45531f792d29a123f194a9a000caf81934b7fb8bb723f3324602bcb34ff6d0774b36f181304 SHA512 8c0d0326c76d78fe6cf2f28d08624d851233a01c1f45e608d78a76d23959e4a843243be4136576f4d048c68b0b0e520cf01465c4999c1cb49637272034c7a1a8 +EBUILD rust-bin-1.52.1.ebuild 5370 BLAKE2B 15d77e856344801f7ee2b24d2d22191c28f801d25011caecd740a45531f792d29a123f194a9a000caf81934b7fb8bb723f3324602bcb34ff6d0774b36f181304 SHA512 8c0d0326c76d78fe6cf2f28d08624d851233a01c1f45e608d78a76d23959e4a843243be4136576f4d048c68b0b0e520cf01465c4999c1cb49637272034c7a1a8 MISC metadata.xml 489 BLAKE2B b9c157f91a878ec1196183173bb339e9beb832e9b002cd72ac5b0fc8a64e7d7b27d165f79bf34eb1debfa69c2381b5b9a74a9b52cefc9efdfe41c93ed72ecd9a SHA512 814c53f00547b8a2b12cab136c95222480ab34b1cec307029e66c7d712e1e00eb2a725ccdfe73d7f1b154b362867c7150caef3609daba20f8d4c2496c47f6b09 diff --git a/dev-lang/rust-bin/rust-bin-1.52.0.ebuild b/dev-lang/rust-bin/rust-bin-1.52.0.ebuild deleted file mode 100644 index 2b18190563ae..000000000000 --- a/dev-lang/rust-bin/rust-bin-1.52.0.ebuild +++ /dev/null @@ -1,187 +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 ~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? ( app-crypt/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/.* -" - -VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" - -pkg_pretend() { - if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then - die "${CHOST} is not supported by upstream Rust. You must use a hard float version." - fi -} - -src_unpack() { - 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-/bin/rustc- - 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.52.1.ebuild b/dev-lang/rust-bin/rust-bin-1.52.1.ebuild new file mode 100644 index 000000000000..2b18190563ae --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.52.1.ebuild @@ -0,0 +1,187 @@ +# 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 ~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? ( app-crypt/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/.* +" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + 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-/bin/rustc- + local ver_i="${i}-bin-${PV}" + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" + dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" + dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" + dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" + dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" + + # musl logic can be improved a bit, but fine as is for now + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib" + MANPATH="${EPREFIX}/usr/lib/rust/man" + $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') + $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rls; then + echo /usr/bin/rls >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + popd >/dev/null || die + #end native abi install + + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index 351c298d97a4..e366e8e94dea 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -69,8 +69,8 @@ DIST rust-1.51.0-x86_64-unknown-linux-musl.tar.xz 233773068 BLAKE2B cc9de90b967c DIST rust-1.51.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 2e2c20fe99b33e5361b1945f54b77d5e8acad34d1be9cadfd1971b2882e38bc4403a5a67769a74fdd7ab21434784f03084780ef827e26318168bf5d531f9e9bd SHA512 42392e8283a28d58d4874dbf97caa0377f27c6599c272c715fcdefee48551004d491f0509f2894f5696a2820f11dbb333e3bf878cbdf24b0c58add4a493acecc DIST rustc-1.51.0-src.tar.xz 109596164 BLAKE2B c1ac89655adfe7db8005476d42c748cf1896f52888141229fd6dda43855dbb08c21c8e1f11398d2f1f9dd5f8d508d9158a3bda4f1b282d1b184ea4c701100837 SHA512 ded91468ddf3e6627f00e7ec3d44452aa24eb727a183c0de9d90264f593119a54300d56b09251a88260db480b48554181ae195c538996a32d68d48b6587ac0df DIST rustc-1.51.0-src.tar.xz.asc 801 BLAKE2B dc06d0bc40bcc5ec5ae247495b6975584a80a35480d36d45db4db57872432cc9c3d38238bf68a56386bffc6987f5c491cc75ef21cc7ba9260073c199d7e1791a SHA512 f00d69117e9f38a179219f976230582fc51b494a71519fd3c032a8abdf8d554d659122f671881783f2a49517b79cc4617986447d5972f7ff2467d56fce312c4c -DIST rustc-1.52.0-src.tar.xz 115114564 BLAKE2B 47270ff677af5d3f58b4d5dbc3bd981326f3e40689fd427508d2c1b13b6e6bbbba1c645a82cd7f783caf876d4405302b236f70e158fda2ecd215da4aba36292b SHA512 27e18e5f33b67b85eeda1a747846b4839e3891265b4a9356861a1ed628e84ff723be0df470a6f21e7a1e893f348c38a4df5d1c541640a2699e015bdb622cae83 -DIST rustc-1.52.0-src.tar.xz.asc 801 BLAKE2B 785a1f037e116df3010eb77ce6cd0ef187a2f0caadd91cdd0bacfde435e9864fb1d3cfe8117ce7b6e35869a830e17ff5673c517393ed42e0d110d4c28c15d005 SHA512 56809ca28eb640b606753aef7a335362c592cb405fca7bdba74ff08616e8a72cd8247bd7318217d644d68c7030c45369b5ca186a1cba4fcb48aa6efff002a67f +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 EBUILD rust-1.51.0-r2.ebuild 19778 BLAKE2B 18c54ae6fb290f4774edab91fd279746ad7f3c5a6928d9cc8924cf6f8f15c1b9e369659401610a29b48bc0a689303282ffc649c0c4490a892f7720743c85243c SHA512 6bc80c4a17ced13cdd6c541898951767fad2e1fb8ee5ae2b91f68fbb1bd8afbcfaba8b319c96bbce75a9c4918c22ef9361c6e6bc5da8e3e04d19ebcdecfbc17c -EBUILD rust-1.52.0.ebuild 19755 BLAKE2B 86e3e6028ae0dacde0cee1120837dd83d7d9f7b453f2b2a9153581d8ebd14deeda943774bac3873a73a8999f3b0f6059c78c18934dd1cdf097ace00118554f21 SHA512 24c5ce7871e108f1bc18c3c0d11ce609bd69d4a4d149fd1ede47686af4dfa27dc19d2405eb277348129d3aa33dab79dc86d986ef80297a247ea54a5e392555d3 +EBUILD rust-1.52.1.ebuild 19757 BLAKE2B 7276b331088e5b58d3001b000fd6a69b11d11f93876707ba9e8aa54ef2c6c605139f22851fc3f2191651b27146dbcfb2a3763acce7d688e0c555306ee04119bf SHA512 93bdff9f60abda1223e916c35f9797009c94c49b8c396f2908829f4e832139e7c5fbc7f84f07409bc9643f08048e27cdbdae4e067c0712a507ecf5555106ac95 MISC metadata.xml 1083 BLAKE2B 7a7b093c22dcaef58bd67f9c2fd84a000696b234d2bc27315999bf6751cfd2a79441fd22efc284a542ecc84ce1a12ff9ca3495d249eaffa5bc1722b385c6109e SHA512 bfe8c140753e93db67244c92e9a7d193691ceb67de796c30a851966a1262bc5c897ead6e13d728775fa524215b6851609dcbee582022d9d75bb8d1e6fabc4ef4 diff --git a/dev-lang/rust/rust-1.52.0.ebuild b/dev-lang/rust/rust-1.52.0.ebuild deleted file mode 100644 index 1e678c766584..000000000000 --- a/dev-lang/rust/rust-1.52.0.ebuild +++ /dev/null @@ -1,662 +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 ~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+=" ) - /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 && boostrap_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 - rust_stage0_root="$(rustc --print sysroot)" - else - rust_stage0_root="${WORKDIR}"/rust-stage0 - fi - - 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/ - - # extra targets defined as a bash array - # spec format: :: - # 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 :: - local cross_llvm_target="${cross_target_spec%%:*}" - # extracts toolchain triples, : - 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 - - # 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//bin/rustc- - # 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.52.1.ebuild b/dev-lang/rust/rust-1.52.1.ebuild new file mode 100644 index 000000000000..639898a28bf5 --- /dev/null +++ b/dev-lang/rust/rust-1.52.1.ebuild @@ -0,0 +1,662 @@ +# 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 ~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+=" ) + /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 + rust_stage0_root="$(rustc --print sysroot)" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + + 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/ + + # extra targets defined as a bash array + # spec format: :: + # 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 :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + 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 + + # 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//bin/rustc- + # 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/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest index d0ede4b5af2b..13059a27bfa6 100644 --- a/dev-lang/spidermonkey/Manifest +++ b/dev-lang/spidermonkey/Manifest @@ -7,7 +7,7 @@ AUX spidermonkey-60.5.2-ia64-support.patch 1615 BLAKE2B bd2ae36194bdb6a17638ec50 AUX spidermonkey-perl-defined-array-check.patch 341 BLAKE2B e11a74cc2afbea5e39ec5f3fb4c108278a8b71b57ce71644184bc4e19188059f6cb9c164ab87877605028241ed0b68a1447414f1aa0f5453fa26a603ecd4f6a6 SHA512 5d178b68cf0744da874624da79cd31555bd882aed205e697a3f0bfc3cb91a149d74da79b7af5883ea5a23e1d1692753ebfda0d83e7a25ac000105849db5c1548 DIST firefox-68.0-patches-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.0esr.source.tar.xz 334642452 BLAKE2B a57e39e5f8d5bab08359957017bb44369598b49987b561176bcbb88b0bc10cd05214fd084faed872f4006e90e1b84a2f9b6f46049da763ef554d235c00d07519 SHA512 5e2cf137dc781855542c29df6152fa74ba749801640ade3cf01487ce993786b87a4f603d25c0af9323e67c7e15c75655523428c1c1426527b8623c7ded9f5946 +DIST firefox-78.10.1esr.source.tar.xz 334444960 BLAKE2B 76f9bae7f9fddbf3ab14293d1ec9e51b173961d0d5e0e1ef98b65328294f520369b89fb300a91d9f502b93215a15c228925a469b7b14ec576c9a9be874a6561a SHA512 a22773d9b3f0dca253805257f358a906769d23f15115e3a8851024f701e27dee45f056f7d34ebf1fcde0a3f91ec299639c2a12556e938a232cdea9e59835fde1 DIST firefox-78esr-patches-12.tar.xz 67840 BLAKE2B d85abdbb54a252852badac50866cf5b5009c050ec4aa80ae2454eef2719e80f3442f5a74ec58d3c36531539042830427cd85507b708c1d5b36ea44dd0cef60b7 SHA512 4445c0880fc234c3838394483ce986e4e222260a99427069ba9c55b56fcd49a485ec916ee6aa2629f922390e92bfcd78028e30cc2e62fad9bc080ae45b26ba2e DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718 DIST mozjs-52.9.1pre1.tar.bz2 30178574 BLAKE2B 0920432b5140e78297a9bcbccb54268d75a223d5e75e4ff90b3b01aab4f7736b4a4e05c47b3a925ff0a74607a0abad3b6583c75d070ef5142009b20ebaf6e4bf SHA512 187b231b246a5ae09e55c0fef77866b316d75f38f4c2e066d5d4325d8da63433027020c929439cab46af3253ac63ab2f780223a8fd2c6ff535b3409bb6c4aa0f @@ -21,5 +21,5 @@ EBUILD spidermonkey-1.8.5-r9.ebuild 3997 BLAKE2B ad8cafb47ac200f2e3bed78327d1c53 EBUILD spidermonkey-52.9.1_pre1-r2.ebuild 4593 BLAKE2B 6244bf06572393bd4f821f36c0a6b7673d0b26d8d40ef84dc6eb189a8c67d8ebc86bcaf5ea1e45b5ccc5bb06db9308d72b6b6111aa8e863cbc74b6d812dc3372 SHA512 1da847fcf8fe282da2170f278f243bf8df6d890bf084abbc03a6a8cecc29d25ded3f98e23040f11daa5fee73e0906421c3af37f4e59b8ca324ea652646c15063 EBUILD spidermonkey-60.5.2_p0-r4.ebuild 4240 BLAKE2B fc4a9fe400c05aee5d7226d8fa17897dd4ee86b1fcbd1b8286620f626e7235c069e8c576faf9db00415e3beba7935e2fa4e0cde7e6f4a91eeaa6478f032e0709 SHA512 d4f2fdcc4f043f4cf966d7b396e6c4cd922e1b511f75aa3d22cb8cb235917ed66f22d25a82db61fdcc8de55d970c01945738cdef8af4413118c9f33133b1653b EBUILD spidermonkey-68.12.0.ebuild 7310 BLAKE2B 78473b652614a2cd4001c40ff981555358043d9cce58bedde8670e76b1c03d3aaa11da156fc17d20200a2e1e08075d88c6cfca57e5f41f5aed758e6d4a0199b1 SHA512 7a792dd7c6976a56f685eadfc4929ea26045ba4c464aac61b9dcb4e9545306e14e0a8abb3aecdea516611ab2bfbf9c7b0a0b273c89bf58b3d0a24f0ffcee43a6 -EBUILD spidermonkey-78.10.0.ebuild 12627 BLAKE2B 4583a557aea32121a3d6301db3299f34bd3235614af72a303acffe76e58a57a0a24b2dba7283597ff5d9b1a6eb3cbed51183d8a510a9b01fab7a0feb7d537973 SHA512 60e76f21a0f5e72ea7be946162fbea9e521ed396216fd03530bc934684235d91d91de4ed1c7f139d8150ada71918a9e3e4a875765a1c0ed0c0c0af1390093ed3 +EBUILD spidermonkey-78.10.1.ebuild 12894 BLAKE2B e5042068fc3f4b37cdc151bab99f021a9b2c3f1a97c828cb43f8aaa7e03e8168eff96e029038e3c2b44c0103ba1629f4b9b052b6fe3e0af13f67e28140076865 SHA512 99ab76f29cda91f826a7084eeb8590184c9dea27784ef7b742d5735beecb67e59d34e17001f4e2712e93e1ddef4a4cc4a2fae046b7c6204216a7406e37fbdeb6 MISC metadata.xml 868 BLAKE2B ee529f60bc83af6c54188ab4db2a1e05cbc3fcebf7732580cb5e507afada8560cb8812d4f155ae94c2ec87724bdfafe7312de86b47a95f599655695836c9b806 SHA512 caf3c383cd8109391cbf81baf5e942630bfd84ca6bc2a78430e58e5b0a40428e08b8a3d7c9fadccebaf94fe1aa673df837246fc32d5932b7f60dd43431ee1575 diff --git a/dev-lang/spidermonkey/spidermonkey-78.10.0.ebuild b/dev-lang/spidermonkey/spidermonkey-78.10.0.ebuild deleted file mode 100644 index 3bfd6eb14051..000000000000 --- a/dev-lang/spidermonkey/spidermonkey-78.10.0.ebuild +++ /dev/null @@ -1,439 +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-12.tar.xz" -SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-03.tar.xz" - -LLVM_MAX_SLOT=11 - -PYTHON_COMPAT=( python3_{7..9} ) - -WANT_AUTOCONF="2.1" - -inherit autotools check-reqs flag-o-matic llvm multiprocessing 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 ~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: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 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" - - 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.10.1.ebuild b/dev-lang/spidermonkey/spidermonkey-78.10.1.ebuild new file mode 100644 index 000000000000..b6cfe9ac6336 --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-78.10.1.ebuild @@ -0,0 +1,451 @@ +# 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-12.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-03.tar.xz" + +LLVM_MAX_SLOT=12 + +PYTHON_COMPAT=( python3_{7..9} ) + +WANT_AUTOCONF="2.1" + +inherit autotools check-reqs flag-o-matic llvm multiprocessing 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 ~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" + + 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/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest index 69215e304c18..82aea96ad025 100644 --- a/dev-lang/swi-prolog/Manifest +++ b/dev-lang/swi-prolog/Manifest @@ -1,11 +1,12 @@ -DIST swi-prolog-8.2.2-gentoo-patchset-0.tar.gz 539 BLAKE2B 53d8f4aeb6f83eae628027f3f4d581f7a8c4e7e6c763350acc85bd0cc4ec4f6e8d7afe680763afc4bef9e5babb8100aeca0f887d029ffa115f4ead89cbc48cdd SHA512 d745b978c6926ed6b9f84d98c5cfd08716aaebe05bcf4a6fd9bd647a5d265b731e4daf2c0f5028eac36d7cea052eb52f80fe8287d4e9e285b3b8ffd544408da1 DIST swi-prolog-8.2.3-gentoo-patchset-0.tar.gz 535 BLAKE2B bb7869c5166104a3a7faa88dd14284ea147ab5090695ff1c950365823451ac656403bee97c7dd4a039e2d58085456842f8bbc7caa26d18916c6f8718a204097c SHA512 c1f0dce1e336c79fe84a3f9d0fe5e873d33c00071f91cbb683a73fbceaba1c6ca8c2875b58045829eafcbee78a0e713009a07bd51a2c56bf146f14881899f934 -DIST swipl-8.2.2.tar.gz 11002077 BLAKE2B 581c3ea83d2440cbe2454ba12ea2752bec9fda926f3afef6e36de1bbf70b43b34931ad768335bb15809a3d76959c7eec7dd3ad54a0a4085ad8ba34075dd3f4d9 SHA512 fb77cfd58932dc35c3d808899c1f493ffb22a58f56fe364ce0c0b48b8cabdd204d4f920346c39f696fadd9ee8335e163a8eb8d0a770c2835d803f030c1f3f878 DIST swipl-8.2.3.tar.gz 10999577 BLAKE2B 57cfa9f6fb97f0136a35da1850c7ae8da123d1c18fe6e18597d1b2131b7304a638d42d673efad2a01eaf3f9dad7b4754e6feb64917423abda002323bfc8dec8c SHA512 cd9ffc8a963682c0d02cec4b76338352459e004e07f3e5c0f02b3c2f9b19f23fe9639e037cf52531491a41c201113138f0b6a039d401e891ad5774383b0d852f -DIST swipl-8.3.20.tar.gz 11136550 BLAKE2B 83dd6ea056fd579816b88ca1faa3f857cb880d39d0cebc186aab0a0bf7cfdde19348874d4a7efb5e27995adfffb3ee075c42aa7fde1088ee17a5a05c137667ed SHA512 7f64ba639db0e1d75bd459e61ec14c30498035bbb59995f888702174fac159ebc96c47f22be2c3e466f5ba5547b39aaf83d296da2b2419ed89ff9195f355f3a4 +DIST swipl-8.2.4.tar.gz 10998859 BLAKE2B b18f26102a685ff5c66aeaf0c14a08c532f9327f9f995cd46657a71b6779d021eb4f5651b2be77883197c7c5ee31c23259f46ed559aeeb0bb53ad10aea0081ed SHA512 cdbd23d4a0e9699ecc32bdcad9979e4042fb0f24de84010f6f097bc7148af38150b0e61e393c057b0dbae932d0fc1c02a41808bcbafd2c23e24fd73070bed470 DIST swipl-8.3.21.tar.gz 11143843 BLAKE2B 4e4a009e40609d17f33bd783c477295e20805d471ffdb8f6451b52a7c51a749c123e79d0e5087a473fe20c5a673648208540e7039403c35c7ffb044851f72f04 SHA512 fe8596a4d0ecc5d2d48e7532619bdf09364d1b52beffc4ea73cdd79d29dde9d68ddc1a66a4f2f579d7eee1a3e215e13e918ca59b26788957e5e2dd5af2905139 -EBUILD swi-prolog-8.2.2.ebuild 2670 BLAKE2B 9c953fbbd02d4b0b9a86b0f74d242edfa3907bf594d54d194630850ca62b5167fd9a6056e75610b57e6e8914fad483d30ffc6640b8ae2b53beea578d330ae895 SHA512 a9fa5d8b9f58a4c73c301d6243c9b5cb6ad0623b0b724504381f05f92ed58b7079a8bb391d8c7a9994131670798b8fb8efd5aef47cb915083e7308d3bb73198e -EBUILD swi-prolog-8.2.3.ebuild 2673 BLAKE2B c9c7683f054a56bafc74318e714ca196a1bd1b4aa0bb575050beccbd751f56a08fd7e8bb0fd9b7b7fb32b10f3d4905219214b6b1744d7ae01d6b2d4c85b73d05 SHA512 d3f560dde65ad41c8e3c9ea9200839b429bda0bfc0be79e207102dea22e31ef5270c8b9350b44ffb025eb1ca0c1a1b2658a90d49b1cb0f6c651d7570e7c34603 -EBUILD swi-prolog-8.3.20.ebuild 2575 BLAKE2B 626297d8c655b525d116fa0ff2896af9bbead2fa360957f0eed5d7c0568e17628cd93ac1c6748f1d1058a948687d7fa8fad640a26131b6fee6264c17fdba045e SHA512 f6024dfca7b9e0019ee50aa6f7dedc1fde3d696c2a13c6a15b40dd040a9a63cf9c33f16472176ad8fd8d091db50960aadda00de78d9fb7ebde30c7c5f85bb9b8 -EBUILD swi-prolog-8.3.21.ebuild 2575 BLAKE2B 626297d8c655b525d116fa0ff2896af9bbead2fa360957f0eed5d7c0568e17628cd93ac1c6748f1d1058a948687d7fa8fad640a26131b6fee6264c17fdba045e SHA512 f6024dfca7b9e0019ee50aa6f7dedc1fde3d696c2a13c6a15b40dd040a9a63cf9c33f16472176ad8fd8d091db50960aadda00de78d9fb7ebde30c7c5f85bb9b8 +DIST swipl-8.3.22.tar.gz 11153417 BLAKE2B a02638ca29d4a19978b10062ab7f8913480e397551cb88327dd020bb2ae40bf623911f673f88e41074f68c667e7075fa18fc7dcf7b3013e582cbc70d59a6a729 SHA512 6fdf0ce6743c042ef7af0195e8c92fb81fe9fef2f16e9ec2d4ff355de70d21b325dd6058c9e7a0a0dd3e41cc168a251784ab7a473108d272e323470c601d5839 +DIST swipl-8.3.23.tar.gz 11162363 BLAKE2B 3808da5bfda1059332dde6a134c2c014c6ee190791ac0c1ace6ea6713719470c1f63df9cf25bdfa69ab73a63090d9d4e37a3afee3b0c107786568a7786c5cbea SHA512 ca592bfa815496d3668a3251f3249c578df46185d856df7bddb88786923fd247542eecd8505181c5f6d4cbb9ddde0d54177d053ab7bd8d024910ccb3f00f7430 +EBUILD swi-prolog-8.2.3.ebuild 2637 BLAKE2B c160e9ed130006f0696118245abaa1d635c63ff9d6fc3fe4fd6a60fdf62bf7250944a5537314be87b316017729d5c351cb30ecc5778f3839b701b5126969ed11 SHA512 21075e6b11271548c377870daae5d82a09a91aa13e86bbdbab49aef53a8621523a65e9a19f02a1bbb559d16533b5244f2e8e500c02e6a6f7f0e681b8c75825cd +EBUILD swi-prolog-8.2.4.ebuild 2830 BLAKE2B fc2d901e420fc8c9d842aa5ebfe9494c907f0529a3a6bbae1d96fe05a5b4840c953f1d3022b3d8c83d151df47073615e6120445ae7dd65e11237228c9fcfd2ce SHA512 b2dd922607b75e31e02ed48da294a2d06e3e707d2b479cc5b55569cd80b4250c01f84c4d8d232b94f46c51f637294347a2be8fca461f2d76cbe537897d13627a +EBUILD swi-prolog-8.3.21.ebuild 2443 BLAKE2B 8bd9082f8f72b9c996411727d2901ac77ba8330b8602dd5bbe4d8ccb19e27e5be8246bdc233a7c56e07dceea970a5393a3e12584a212e45c61a9c6bddcc31849 SHA512 42bf0ca6938893134a38ecbd9ed91efbbb04361537f61e2e0573e76217071d0ba768cb0ca7d330acd4ecd4763cc788b2de8e47747446d584447cfed67f55608d +EBUILD swi-prolog-8.3.22.ebuild 2829 BLAKE2B e378ac669bfd0a1bbf3fe9b9b93daf3887050f3c826963f74fa4ec95e036cbc402b83f47f2ff79eeae5ca58fcb2f1598a0208b2159c633270d0b5915bf63fced SHA512 778ae54cceaf0140da6b2c09fe3ed3f39bf77b1e7a4e22235bbad956e4e1f6d9c90544bfd313f71d882218acb32998dc87a50628f2bccad47cbc13d870584166 +EBUILD swi-prolog-8.3.23.ebuild 2829 BLAKE2B e378ac669bfd0a1bbf3fe9b9b93daf3887050f3c826963f74fa4ec95e036cbc402b83f47f2ff79eeae5ca58fcb2f1598a0208b2159c633270d0b5915bf63fced SHA512 778ae54cceaf0140da6b2c09fe3ed3f39bf77b1e7a4e22235bbad956e4e1f6d9c90544bfd313f71d882218acb32998dc87a50628f2bccad47cbc13d870584166 MISC metadata.xml 419 BLAKE2B 6d92e0713ed8da803ff8b6c778e616882af2fdb1426a62ea7bb6a265bbfff9a5c7debb8bf6a25c4ab60ed54a865b79fa3da4a09bc8a9123acf63dcb32107f54e SHA512 f805393c909e4108fe72b94f131d37d45279af1a4b501f9c3ae12d21590ef9c19227ca2a4b2966239ddb84847ce979cfbfcf3f3a2d24b60cb23977c522ff59c3 diff --git a/dev-lang/swi-prolog/swi-prolog-8.2.2.ebuild b/dev-lang/swi-prolog/swi-prolog-8.2.2.ebuild deleted file mode 100644 index 476ccc7c68dc..000000000000 --- a/dev-lang/swi-prolog/swi-prolog-8.2.2.ebuild +++ /dev/null @@ -1,104 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake-utils flag-o-matic multilib - -PATCHSET_VER="0" - -DESCRIPTION="versatile implementation of the Prolog programming language" -HOMEPAGE="https://www.swi-prolog.org/" -SRC_URI="https://www.swi-prolog.org/download/stable/src/swipl-${PV}.tar.gz - https://dev.gentoo.org/~keri/distfiles/swi-prolog/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos" -IUSE="archive berkdb debug doc +gmp java +libedit minimal odbc pcre qt5 readline ssl test uuid X yaml" -RESTRICT="!test? ( test )" - -RDEPEND="sys-libs/ncurses:= - sys-libs/zlib - archive? ( app-arch/libarchive ) - berkdb? ( >=sys-libs/db-4:= ) - odbc? ( dev-db/unixODBC ) - pcre? ( dev-libs/libpcre ) - readline? ( sys-libs/readline:= ) - libedit? ( dev-libs/libedit ) - gmp? ( dev-libs/gmp:0 ) - ssl? ( - dev-libs/openssl:0 - ) - java? ( >=virtual/jdk-1.8:* ) - uuid? ( dev-libs/ossp-uuid ) - qt5? ( - dev-qt/qtwidgets:5 - dev-qt/qtgui:5 - ) - X? ( - virtual/jpeg:0 - x11-libs/libX11 - x11-libs/libXft - x11-libs/libXinerama - x11-libs/libXpm - x11-libs/libXt - x11-libs/libICE - x11-libs/libSM ) - yaml? ( dev-libs/libyaml )" - -DEPEND="${RDEPEND} - X? ( x11-base/xorg-proto ) - java? ( test? ( =dev-java/junit-3.8* ) )" - -S="${WORKDIR}/swipl-${PV}" -BUILD_DIR="${S}/build" -CMAKE_USE_DIR="${S}" - -src_prepare() { - if [[ -d "${WORKDIR}"/${PV} ]] ; then - eapply "${WORKDIR}"/${PV} - fi - eapply_user - - sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die - sed -i -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" CMakeLists.txt || die - - cmake-utils_src_prepare -} - -src_configure() { - append-flags -fno-strict-aliasing - use debug && append-flags -DO_DEBUG - - mycmakeargs=( - -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl - -DUSE_GMP=$(usex gmp) - -DINSTALL_DOCUMENTATION=$(use doc && usex archive) - -DSWIPL_PACKAGES_BASIC=$(usex !minimal) - -DSWIPL_PACKAGES_ARCHIVE=$(usex archive) - -DSWIPL_PACKAGES_ODBC=$(usex odbc) - -DSWIPL_PACKAGES_BDB=$(usex berkdb) - -DSWIPL_PACKAGES_PCRE=$(usex pcre) - -DSWIPL_PACKAGES_YAML=$(usex yaml) - -DSWIPL_PACKAGES_SSL=$(usex ssl) - -DSWIPL_PACKAGES_JAVA=$(usex java) - -DSWIPL_PACKAGES_QT=$(usex qt5) - -DSWIPL_PACKAGES_X=$(usex X) - -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi) - ) - - cmake-utils_src_configure -} - -src_compile() { - XDG_CONFIG_DIRS="${HOME}" \ - XDG_DATA_DIRS="${HOME}" \ - cmake-utils_src_compile -} - -src_test() { - USE_PUBLIC_NETWORK_TESTS=false \ - USE_ODBC_TESTS=false \ - cmake-utils_src_test -V -} diff --git a/dev-lang/swi-prolog/swi-prolog-8.2.3.ebuild b/dev-lang/swi-prolog/swi-prolog-8.2.3.ebuild index fd14de31d5ca..7c44c9b501a6 100644 --- a/dev-lang/swi-prolog/swi-prolog-8.2.3.ebuild +++ b/dev-lang/swi-prolog/swi-prolog-8.2.3.ebuild @@ -3,7 +3,7 @@ EAPI=7 -inherit cmake-utils flag-o-matic multilib +inherit cmake flag-o-matic multilib PATCHSET_VER="0" @@ -14,7 +14,7 @@ SRC_URI="https://www.swi-prolog.org/download/stable/src/swipl-${PV}.tar.gz LICENSE="BSD-2" SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos" IUSE="archive berkdb debug doc +gmp java +libedit minimal odbc pcre qt5 readline ssl test uuid X yaml" RESTRICT="!test? ( test )" @@ -27,9 +27,7 @@ RDEPEND="sys-libs/ncurses:= readline? ( sys-libs/readline:= ) libedit? ( dev-libs/libedit ) gmp? ( dev-libs/gmp:0 ) - ssl? ( - dev-libs/openssl:0 - ) + ssl? ( dev-libs/openssl:0 ) java? ( >=virtual/jdk-1.8:* ) uuid? ( dev-libs/ossp-uuid ) qt5? ( @@ -64,7 +62,7 @@ src_prepare() { sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die sed -i -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" CMakeLists.txt || die - cmake-utils_src_prepare + cmake_src_prepare } src_configure() { @@ -88,17 +86,17 @@ src_configure() { -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi) ) - cmake-utils_src_configure + cmake_src_configure } src_compile() { XDG_CONFIG_DIRS="${HOME}" \ XDG_DATA_DIRS="${HOME}" \ - cmake-utils_src_compile + cmake_src_compile } src_test() { USE_PUBLIC_NETWORK_TESTS=false \ USE_ODBC_TESTS=false \ - cmake-utils_src_test -V + cmake_src_test -V } diff --git a/dev-lang/swi-prolog/swi-prolog-8.2.4.ebuild b/dev-lang/swi-prolog/swi-prolog-8.2.4.ebuild new file mode 100644 index 000000000000..531032848810 --- /dev/null +++ b/dev-lang/swi-prolog/swi-prolog-8.2.4.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake desktop xdg-utils flag-o-matic + +PATCHSET_VER="0" + +DESCRIPTION="Versatile implementation of the Prolog programming language" +HOMEPAGE="https://www.swi-prolog.org/" +SRC_URI="https://www.swi-prolog.org/download/stable/src/swipl-${PV}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="archive berkdb debug doc +gmp java +libedit minimal odbc pcre qt5 readline ssl test uuid X yaml" +RESTRICT="!test? ( test )" + +RDEPEND="sys-libs/ncurses:= + sys-libs/zlib + archive? ( app-arch/libarchive ) + berkdb? ( >=sys-libs/db-4:= ) + odbc? ( dev-db/unixODBC ) + pcre? ( dev-libs/libpcre ) + readline? ( sys-libs/readline:= ) + libedit? ( dev-libs/libedit ) + gmp? ( dev-libs/gmp:0 ) + ssl? ( dev-libs/openssl:0 ) + java? ( >=virtual/jdk-1.8:* ) + uuid? ( dev-libs/ossp-uuid ) + qt5? ( + dev-qt/qtwidgets:5 + dev-qt/qtgui:5 + ) + X? ( + virtual/jpeg:0 + x11-libs/libX11 + x11-libs/libXft + x11-libs/libXinerama + x11-libs/libXpm + x11-libs/libXt + x11-libs/libICE + x11-libs/libSM ) + yaml? ( dev-libs/libyaml )" + +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) + java? ( test? ( =dev-java/junit-3.8* ) )" + +S="${WORKDIR}/swipl-${PV}" + +src_prepare() { + if [[ -d "${WORKDIR}"/${PV} ]] ; then + eapply "${WORKDIR}"/${PV} + fi + + sed -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" \ + -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" \ + -i CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + append-flags -fno-strict-aliasing + use debug && append-flags -DO_DEBUG + + local mycmakeargs=( + -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl + -DUSE_GMP=$(usex gmp) + -DINSTALL_DOCUMENTATION=$(use doc && usex archive) + -DSWIPL_PACKAGES_BASIC=$(usex !minimal) + -DSWIPL_PACKAGES_ARCHIVE=$(usex archive) + -DSWIPL_PACKAGES_ODBC=$(usex odbc) + -DSWIPL_PACKAGES_BDB=$(usex berkdb) + -DSWIPL_PACKAGES_PCRE=$(usex pcre) + -DSWIPL_PACKAGES_YAML=$(usex yaml) + -DSWIPL_PACKAGES_SSL=$(usex ssl) + -DSWIPL_PACKAGES_JAVA=$(usex java) + -DSWIPL_PACKAGES_QT=$(usex qt5) + -DSWIPL_PACKAGES_X=$(usex X) + -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi) + ) + + cmake_src_configure +} + +src_compile() { + XDG_CONFIG_DIRS="${HOME}" \ + XDG_DATA_DIRS="${HOME}" \ + cmake_src_compile +} + +src_test() { + USE_PUBLIC_NETWORK_TESTS=false \ + USE_ODBC_TESTS=false \ + cmake_src_test -V +} + +src_install() { + cmake_src_install + + if use qt5; then + doicon "${S}"/snap/gui/swipl.png + make_desktop_entry swipl-win "SWI-Prolog" swipl "Development" + fi +} + +pkg_postinst() { + if use qt5; then + xdg_icon_cache_update + xdg_desktop_database_update + fi +} + +pkg_postrm() { + if use qt5; then + xdg_icon_cache_update + xdg_desktop_database_update + fi +} diff --git a/dev-lang/swi-prolog/swi-prolog-8.3.20.ebuild b/dev-lang/swi-prolog/swi-prolog-8.3.20.ebuild deleted file mode 100644 index 2ea9f0c72e9c..000000000000 --- a/dev-lang/swi-prolog/swi-prolog-8.3.20.ebuild +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake-utils flag-o-matic multilib - -PATCHSET_VER="0" - -DESCRIPTION="versatile implementation of the Prolog programming language" -HOMEPAGE="http://www.swi-prolog.org/" -SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" -IUSE="archive berkdb debug doc +gmp java +libedit minimal odbc pcre qt5 readline ssl test uuid X yaml" -RESTRICT="!test? ( test )" - -RDEPEND="sys-libs/ncurses:= - sys-libs/zlib - archive? ( app-arch/libarchive ) - berkdb? ( >=sys-libs/db-4:= ) - odbc? ( dev-db/unixODBC ) - pcre? ( dev-libs/libpcre ) - readline? ( sys-libs/readline:= ) - libedit? ( dev-libs/libedit ) - gmp? ( dev-libs/gmp:0 ) - ssl? ( - dev-libs/openssl:0 - ) - java? ( >=virtual/jdk-1.8:* ) - uuid? ( dev-libs/ossp-uuid ) - qt5? ( - dev-qt/qtwidgets:5 - dev-qt/qtgui:5 - ) - X? ( - virtual/jpeg:0 - x11-libs/libX11 - x11-libs/libXft - x11-libs/libXinerama - x11-libs/libXpm - x11-libs/libXt - x11-libs/libICE - x11-libs/libSM ) - yaml? ( dev-libs/libyaml )" - -DEPEND="${RDEPEND} - X? ( x11-base/xorg-proto ) - java? ( test? ( =dev-java/junit-3.8* ) )" - -S="${WORKDIR}/swipl-${PV}" -BUILD_DIR="${S}/build" -CMAKE_USE_DIR="${S}" - -src_prepare() { - if [[ -d "${WORKDIR}"/${PV} ]] ; then - eapply "${WORKDIR}"/${PV} - fi - eapply_user - - sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die - sed -i -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" CMakeLists.txt || die - - cmake-utils_src_prepare -} - -src_configure() { - append-flags -fno-strict-aliasing - use debug && append-flags -DO_DEBUG - - mycmakeargs=( - -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl - -DUSE_GMP=$(usex gmp) - -DINSTALL_DOCUMENTATION=$(use doc && usex archive) - -DSWIPL_PACKAGES_BASIC=$(usex !minimal) - -DSWIPL_PACKAGES_ARCHIVE=$(usex archive) - -DSWIPL_PACKAGES_ODBC=$(usex odbc) - -DSWIPL_PACKAGES_BDB=$(usex berkdb) - -DSWIPL_PACKAGES_PCRE=$(usex pcre) - -DSWIPL_PACKAGES_YAML=$(usex yaml) - -DSWIPL_PACKAGES_SSL=$(usex ssl) - -DSWIPL_PACKAGES_JAVA=$(usex java) - -DSWIPL_PACKAGES_QT=$(usex qt5) - -DSWIPL_PACKAGES_X=$(usex X) - -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi) - ) - - cmake-utils_src_configure -} - -src_compile() { - XDG_CONFIG_DIRS="${HOME}" \ - XDG_DATA_DIRS="${HOME}" \ - cmake-utils_src_compile -} - -src_test() { - USE_PUBLIC_NETWORK_TESTS=false \ - USE_ODBC_TESTS=false \ - cmake-utils_src_test -V -} diff --git a/dev-lang/swi-prolog/swi-prolog-8.3.21.ebuild b/dev-lang/swi-prolog/swi-prolog-8.3.21.ebuild index 2ea9f0c72e9c..914c832b3536 100644 --- a/dev-lang/swi-prolog/swi-prolog-8.3.21.ebuild +++ b/dev-lang/swi-prolog/swi-prolog-8.3.21.ebuild @@ -3,13 +3,11 @@ EAPI=7 -inherit cmake-utils flag-o-matic multilib +inherit cmake flag-o-matic -PATCHSET_VER="0" - -DESCRIPTION="versatile implementation of the Prolog programming language" -HOMEPAGE="http://www.swi-prolog.org/" -SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz" +DESCRIPTION="Versatile implementation of the Prolog programming language" +HOMEPAGE="https://www.swi-prolog.org/" +SRC_URI="https://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz" LICENSE="BSD-2" SLOT="0" @@ -26,9 +24,7 @@ RDEPEND="sys-libs/ncurses:= readline? ( sys-libs/readline:= ) libedit? ( dev-libs/libedit ) gmp? ( dev-libs/gmp:0 ) - ssl? ( - dev-libs/openssl:0 - ) + ssl? ( dev-libs/openssl:0 ) java? ( >=virtual/jdk-1.8:* ) uuid? ( dev-libs/ossp-uuid ) qt5? ( @@ -51,26 +47,24 @@ DEPEND="${RDEPEND} java? ( test? ( =dev-java/junit-3.8* ) )" S="${WORKDIR}/swipl-${PV}" -BUILD_DIR="${S}/build" -CMAKE_USE_DIR="${S}" src_prepare() { if [[ -d "${WORKDIR}"/${PV} ]] ; then eapply "${WORKDIR}"/${PV} fi - eapply_user - sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die - sed -i -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" CMakeLists.txt || die + sed -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" \ + -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" \ + -i CMakeLists.txt || die - cmake-utils_src_prepare + cmake_src_prepare } src_configure() { append-flags -fno-strict-aliasing use debug && append-flags -DO_DEBUG - mycmakeargs=( + local mycmakeargs=( -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl -DUSE_GMP=$(usex gmp) -DINSTALL_DOCUMENTATION=$(use doc && usex archive) @@ -85,19 +79,19 @@ src_configure() { -DSWIPL_PACKAGES_QT=$(usex qt5) -DSWIPL_PACKAGES_X=$(usex X) -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi) - ) + ) - cmake-utils_src_configure + cmake_src_configure } src_compile() { XDG_CONFIG_DIRS="${HOME}" \ XDG_DATA_DIRS="${HOME}" \ - cmake-utils_src_compile + cmake_src_compile } src_test() { USE_PUBLIC_NETWORK_TESTS=false \ USE_ODBC_TESTS=false \ - cmake-utils_src_test -V + cmake_src_test -V } diff --git a/dev-lang/swi-prolog/swi-prolog-8.3.22.ebuild b/dev-lang/swi-prolog/swi-prolog-8.3.22.ebuild new file mode 100644 index 000000000000..2a8883edddfd --- /dev/null +++ b/dev-lang/swi-prolog/swi-prolog-8.3.22.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake desktop xdg-utils flag-o-matic + +PATCHSET_VER="0" + +DESCRIPTION="Versatile implementation of the Prolog programming language" +HOMEPAGE="https://www.swi-prolog.org/" +SRC_URI="https://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="archive berkdb debug doc +gmp java +libedit minimal odbc pcre qt5 readline ssl test uuid X yaml" +RESTRICT="!test? ( test )" + +RDEPEND="sys-libs/ncurses:= + sys-libs/zlib + archive? ( app-arch/libarchive ) + berkdb? ( >=sys-libs/db-4:= ) + odbc? ( dev-db/unixODBC ) + pcre? ( dev-libs/libpcre ) + readline? ( sys-libs/readline:= ) + libedit? ( dev-libs/libedit ) + gmp? ( dev-libs/gmp:0 ) + ssl? ( dev-libs/openssl:0 ) + java? ( >=virtual/jdk-1.8:* ) + uuid? ( dev-libs/ossp-uuid ) + qt5? ( + dev-qt/qtwidgets:5 + dev-qt/qtgui:5 + ) + X? ( + virtual/jpeg:0 + x11-libs/libX11 + x11-libs/libXft + x11-libs/libXinerama + x11-libs/libXpm + x11-libs/libXt + x11-libs/libICE + x11-libs/libSM ) + yaml? ( dev-libs/libyaml )" + +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) + java? ( test? ( =dev-java/junit-3.8* ) )" + +S="${WORKDIR}/swipl-${PV}" + +src_prepare() { + if [[ -d "${WORKDIR}"/${PV} ]] ; then + eapply "${WORKDIR}"/${PV} + fi + + sed -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" \ + -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" \ + -i CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + append-flags -fno-strict-aliasing + use debug && append-flags -DO_DEBUG + + local mycmakeargs=( + -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl + -DUSE_GMP=$(usex gmp) + -DINSTALL_DOCUMENTATION=$(use doc && usex archive) + -DSWIPL_PACKAGES_BASIC=$(usex !minimal) + -DSWIPL_PACKAGES_ARCHIVE=$(usex archive) + -DSWIPL_PACKAGES_ODBC=$(usex odbc) + -DSWIPL_PACKAGES_BDB=$(usex berkdb) + -DSWIPL_PACKAGES_PCRE=$(usex pcre) + -DSWIPL_PACKAGES_YAML=$(usex yaml) + -DSWIPL_PACKAGES_SSL=$(usex ssl) + -DSWIPL_PACKAGES_JAVA=$(usex java) + -DSWIPL_PACKAGES_QT=$(usex qt5) + -DSWIPL_PACKAGES_X=$(usex X) + -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi) + ) + + cmake_src_configure +} + +src_compile() { + XDG_CONFIG_DIRS="${HOME}" \ + XDG_DATA_DIRS="${HOME}" \ + cmake_src_compile +} + +src_test() { + USE_PUBLIC_NETWORK_TESTS=false \ + USE_ODBC_TESTS=false \ + cmake_src_test -V +} + +src_install() { + cmake_src_install + + if use qt5; then + doicon "${S}"/snap/gui/swipl.png + make_desktop_entry swipl-win "SWI-Prolog" swipl "Development" + fi +} + +pkg_postinst() { + if use qt5; then + xdg_icon_cache_update + xdg_desktop_database_update + fi +} + +pkg_postrm() { + if use qt5; then + xdg_icon_cache_update + xdg_desktop_database_update + fi +} diff --git a/dev-lang/swi-prolog/swi-prolog-8.3.23.ebuild b/dev-lang/swi-prolog/swi-prolog-8.3.23.ebuild new file mode 100644 index 000000000000..2a8883edddfd --- /dev/null +++ b/dev-lang/swi-prolog/swi-prolog-8.3.23.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake desktop xdg-utils flag-o-matic + +PATCHSET_VER="0" + +DESCRIPTION="Versatile implementation of the Prolog programming language" +HOMEPAGE="https://www.swi-prolog.org/" +SRC_URI="https://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="archive berkdb debug doc +gmp java +libedit minimal odbc pcre qt5 readline ssl test uuid X yaml" +RESTRICT="!test? ( test )" + +RDEPEND="sys-libs/ncurses:= + sys-libs/zlib + archive? ( app-arch/libarchive ) + berkdb? ( >=sys-libs/db-4:= ) + odbc? ( dev-db/unixODBC ) + pcre? ( dev-libs/libpcre ) + readline? ( sys-libs/readline:= ) + libedit? ( dev-libs/libedit ) + gmp? ( dev-libs/gmp:0 ) + ssl? ( dev-libs/openssl:0 ) + java? ( >=virtual/jdk-1.8:* ) + uuid? ( dev-libs/ossp-uuid ) + qt5? ( + dev-qt/qtwidgets:5 + dev-qt/qtgui:5 + ) + X? ( + virtual/jpeg:0 + x11-libs/libX11 + x11-libs/libXft + x11-libs/libXinerama + x11-libs/libXpm + x11-libs/libXt + x11-libs/libICE + x11-libs/libSM ) + yaml? ( dev-libs/libyaml )" + +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) + java? ( test? ( =dev-java/junit-3.8* ) )" + +S="${WORKDIR}/swipl-${PV}" + +src_prepare() { + if [[ -d "${WORKDIR}"/${PV} ]] ; then + eapply "${WORKDIR}"/${PV} + fi + + sed -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" \ + -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" \ + -i CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + append-flags -fno-strict-aliasing + use debug && append-flags -DO_DEBUG + + local mycmakeargs=( + -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl + -DUSE_GMP=$(usex gmp) + -DINSTALL_DOCUMENTATION=$(use doc && usex archive) + -DSWIPL_PACKAGES_BASIC=$(usex !minimal) + -DSWIPL_PACKAGES_ARCHIVE=$(usex archive) + -DSWIPL_PACKAGES_ODBC=$(usex odbc) + -DSWIPL_PACKAGES_BDB=$(usex berkdb) + -DSWIPL_PACKAGES_PCRE=$(usex pcre) + -DSWIPL_PACKAGES_YAML=$(usex yaml) + -DSWIPL_PACKAGES_SSL=$(usex ssl) + -DSWIPL_PACKAGES_JAVA=$(usex java) + -DSWIPL_PACKAGES_QT=$(usex qt5) + -DSWIPL_PACKAGES_X=$(usex X) + -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi) + ) + + cmake_src_configure +} + +src_compile() { + XDG_CONFIG_DIRS="${HOME}" \ + XDG_DATA_DIRS="${HOME}" \ + cmake_src_compile +} + +src_test() { + USE_PUBLIC_NETWORK_TESTS=false \ + USE_ODBC_TESTS=false \ + cmake_src_test -V +} + +src_install() { + cmake_src_install + + if use qt5; then + doicon "${S}"/snap/gui/swipl.png + make_desktop_entry swipl-win "SWI-Prolog" swipl "Development" + fi +} + +pkg_postinst() { + if use qt5; then + xdg_icon_cache_update + xdg_desktop_database_update + fi +} + +pkg_postrm() { + if use qt5; then + xdg_icon_cache_update + xdg_desktop_database_update + fi +} diff --git a/dev-lang/xsb/Manifest b/dev-lang/xsb/Manifest index e1456d0e5f68..a5ab438def10 100644 --- a/dev-lang/xsb/Manifest +++ b/dev-lang/xsb/Manifest @@ -1,4 +1,7 @@ +DIST XSB-4-0-0.tar.gz 15340635 BLAKE2B 4832185a64c6c5786ae78e111c25cd3a5ffc2f80aec9c0c83f030ead482868c77b0d7abbfdf0d113b56fea395eb7e69ca2970a82ea70004fb78c0bf4de258a9d SHA512 fed1e0db4874db2508e0c1e716be20cbfbc4f7ed4c16e0b220750cfb3dfceb78bbdce0f8564b68c400af1bc2b8f9e3b35014e8849bba1705bddfab824f41e816 DIST XSB38.tar.gz 13830570 BLAKE2B 60a6ab38435348d09e2d08bc65ca62c06b38495b72f40a6f3f10fe8d23949bfed0c580c9be0c8304d8a88a53b227bb695870b558d67f33a47543de6c1529180f SHA512 457c691450afcf3ed4e2fffc28deaef0949ef4bbf6fd69b504acc6507fbb144f2c6e427a25da2b6346b15b82e803c02d1b6962af698d16c1fcb9a3d56160ea30 -DIST xsb-3.8.0-gentoo-patchset-4.tar.gz 7373 BLAKE2B d34925e314c2b4726cdb1d5d6256f9ce5f0e9dbba408e77d1383ba72c6499be601fbd93f2ad20ef30e5df965016dd377bffed3dd3aba9f8256d8c4b57afd12d8 SHA512 8fcdaa3b2cafbd4e3b91fd1dc5c00b2986158a17968cfbffba263acd0752bdb76e342256b92f691c40d535a6f2f1c8632bbf8b095691fced55d18a67080ef559 -EBUILD xsb-3.8.0.ebuild 3684 BLAKE2B 1067cedf1dc55b9fc39ce7ca18de41bb5b41f5a14e66f3d3c07a9c686f08aadd94f737d6a90bd50b9cdc0972dd9aa297b910bed9bbfb1e02cdb6c3f5515b8f64 SHA512 8f2cdd6f45e4cfb031a45134a3cb4712f29af9feb7658a7effd62eaee3e49e07c524681ee5d62b8af074668877b3c09558162f6dbd360c2cdc7a036343581e64 -MISC metadata.xml 313 BLAKE2B e6feaeb68ae7144def50a0dff4671b3a9ff070be4d447d45e5b8fbab61940026a5ea9d13c54fb21a808ed67630debf2f55e44d9186e83ea094b26dccab3bf1e6 SHA512 e271dc66bb407abe43ebc5b1fc27c318cc8082b4b14f43f1c33f3453e4a248c83ba2fcc73ba32a63828e172093a00b507f81c629d022799c4cd5a14417fc5ef0 +DIST xsb-3.8.0-gentoo-patchset-5.tar.gz 7748 BLAKE2B 291beb7a2bf567708119eb200e06fd0d6ac976b5eaea9646d9b5fe9fe67908e01f48b1e55e36fc98f7fe75ee4b654422bc0f9c565e00ac75fe36cccd0439bc2b SHA512 cd3762545bb0b0c5532607741f5946658cacf062c21913c8261988a2162ab848d860ae5a0d11d7a4b8b36994f7fbc91c6e6b4fa607e8cc6ebed434dbf421dec1 +DIST xsb-4.0.0-gentoo-patchset-1.tar.gz 10284 BLAKE2B d31322bb3072e806a000bee137d1a6b89d6d555da9de1b24f4a319cbe6a6bf6bd097a1ec8b831fc50a5bb820c121ea197127248e2206719082ceead8d6b5ad24 SHA512 d904741d2deb49e613501affd1a02adf5a6449edba79e92efd8b18227c274f4bc9385932894b11abc7a714e56511d41d828871b4dd0a10f59ef53b9119ecba1b +EBUILD xsb-3.8.0.ebuild 3684 BLAKE2B f3cb8e31a72ba410cbd38ca3da137097bca0fa5bce2799d47b848a12c32dbd4918cbdc440df570833ff377b85c565ff8417d7d244a7421989508df4ae2c837a3 SHA512 bec9a89c10256988a9ab42ebd75ee25fab4acf0eb3cf08614e6644e6dee8c49e3d95c77095fcd31fbd017b3c53a337d30efa418a4129570b8d2c2268704d8250 +EBUILD xsb-4.0.0.ebuild 4170 BLAKE2B edbd405f53a2dc1cbb982cc67dc6853588fcbba53f4c0f561dd902e3ccc89ffe80323dc15ecae1b411372aefbed5bc3a613b97377fe1cd0a8553caae487097ac SHA512 0f10e9b051eb2f37a686d6b0a79abd21f672eb13806d2c33a26e689759554874c4b6320a841823a5521b99a2689747eeb1768c353dc5eeeba1bfcba34ebc7579 +MISC metadata.xml 406 BLAKE2B 6fe5156e6490f7b53a7fdea57bf5d07d3122be79d0a24bb462b6bdc46bd5206a195526c46bfc7311822988e82df46aa9a328cb2eee289d786120b160800c3dbc SHA512 d5d676b6f4d39acfcc17ac2e3601608566e92ac0cfdc071a1606acd7eafa73024d57a07ef7dc009c2e373825552f659befc84c975502f832e588379748ee287b diff --git a/dev-lang/xsb/metadata.xml b/dev-lang/xsb/metadata.xml index cabb7385917b..b10e89771921 100644 --- a/dev-lang/xsb/metadata.xml +++ b/dev-lang/xsb/metadata.xml @@ -8,4 +8,7 @@ xsb + + Enable support for the mariadb database backend + diff --git a/dev-lang/xsb/xsb-3.8.0.ebuild b/dev-lang/xsb/xsb-3.8.0.ebuild index 8740043421f3..7ab720531788 100644 --- a/dev-lang/xsb/xsb-3.8.0.ebuild +++ b/dev-lang/xsb/xsb-3.8.0.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PATCHSET_VER="4" +PATCHSET_VER="5" inherit autotools java-pkg-opt-2 diff --git a/dev-lang/xsb/xsb-4.0.0.ebuild b/dev-lang/xsb/xsb-4.0.0.ebuild new file mode 100644 index 000000000000..ade1cadd4b35 --- /dev/null +++ b/dev-lang/xsb/xsb-4.0.0.ebuild @@ -0,0 +1,212 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PATCHSET_VER="1" + +inherit autotools java-pkg-opt-2 + +DESCRIPTION="XSB is a logic programming and deductive database system" +HOMEPAGE="http://xsb.sourceforge.net" +SRC_URI="mirror://sourceforge/xsb/XSB-4-0-0.tar.gz + https://dev.gentoo.org/~keri/distfiles/xsb/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="curl debug iodbc java mariadb mysql odbc pcre threads xml" + +RDEPEND="curl? ( net-misc/curl ) + iodbc? ( dev-db/libiodbc ) + java? ( >=virtual/jdk-1.8:* ) + mariadb? ( dev-db/mariadb-connector-c:= ) + mysql? ( dev-db/mysql-connector-c:0= ) + odbc? ( dev-db/unixODBC ) + pcre? ( dev-libs/libpcre ) + xml? ( dev-libs/libxml2 )" + +DEPEND="${RDEPEND}" + +S="${WORKDIR}"/XSB + +PATCHES=( "${WORKDIR}/${PV}" ) + +src_prepare() { + default + cd "${S}"/build + eautoconf + + if use mariadb ; then + sed -i \ + -e "s:mysqlclient:mariadb:" \ + -e "s:mysql_config:mariadb_config:" \ + "${S}"/packages/dbdrivers/mysql/configure \ + "${S}"/packages/dbdrivers/mysql/mysql_driver_config.P + fi + + find "${S}"/packages -name Installation_summary \ + | xargs rm -f || die +} + +src_configure() { + cd "${S}"/build + + econf \ + --prefix=/usr/$(get_libdir) \ + --disable-optimization \ + --disable-ccmpl \ + --without-smodels \ + $(use_with odbc) \ + $(use_with iodbc) \ + $(use_enable threads mt) \ + $(use_enable debug) + + if use curl ; then + cd "${S}"/packages/curl + econf + fi + + if use mysql || use mariadb ; then + local impl=$(usex mariadb mariadb mysql) + cd "${S}"/packages/dbdrivers/mysql + econf \ + --with-mysql-incdir=/usr/include/${impl} + fi + + if use odbc ; then + cd "${S}"/packages/dbdrivers/odbc + econf + fi + + if use pcre ; then + cd "${S}"/packages/pcre + econf + fi + + if use xml ; then + cd "${S}"/packages/xpath + econf + fi +} + +src_compile() { + cd "${S}"/build + + default + + # All XSB Packages are compiled using a single Prolog engine. + # Consequently they must all be compiled using a single make job. + + cd "${S}"/packages + rm -f *.xwam + emake -j1 + + if use curl ; then + emake -j1 curl + emake -j1 sgml + if use xml ; then + emake -j1 xpath + fi + fi + + if use mysql || use mariadb ; then + emake -j1 mysql + fi + + if use odbc ; then + emake -j1 odbc + fi + + if use pcre ; then + emake -j1 pcre + fi +} + +src_install() { + cd "${S}"/build + default + + local XSB_INSTALL_DIR=/usr/$(get_libdir)/xsb-${PV} + dosym ${XSB_INSTALL_DIR}/bin/xsb /usr/bin/xsb + + cd "${S}"/packages + local PACKAGES=${XSB_INSTALL_DIR}/packages + insinto ${PACKAGES} + doins *.xwam + + insinto ${PACKAGES}/chr + doins chr/*.xwam + + insinto ${PACKAGES}/clpqr + doins clpqr/*.xwam + + insinto ${PACKAGES}/gap + doins gap/*.xwam + + insinto ${PACKAGES}/justify + doins justify/*.xwam + doins justify/*.H + + insinto ${PACKAGES}/regmatch + doins regmatch/*.xwam + insinto ${PACKAGES}/regmatch/cc + doins regmatch/cc/*.H + + insinto ${PACKAGES}/slx + doins slx/*.xwam + + insinto ${PACKAGES}/wildmatch + doins wildmatch/*.xwam + insinto ${PACKAGES}/wildmatch/cc + doins wildmatch/cc/*.H + + if use curl ; then + insinto ${PACKAGES}/curl + doins curl/*.xwam + insinto ${PACKAGES}/curl/cc + doins curl/cc/*.H + insinto ${PACKAGES}/sgml + doins sgml/*.xwam + insinto ${PACKAGES}/sgml/cc + doins sgml/cc/*.H + insinto ${PACKAGES}/sgml/cc/dtd + doins sgml/cc/dtd/* + if use xml ; then + insinto ${PACKAGES}/xpath + doins xpath/*xwam + insinto ${PACKAGES}/xpath/cc + doins xpath/cc/*.H + fi + fi + + if use mysql || use mariadb || use odbc ; then + insinto ${PACKAGES}/dbdrivers + doins dbdrivers/*.xwam + doins dbdrivers/*.H + insinto ${PACKAGES}/dbdrivers/cc + doins dbdrivers/cc/*.H + if use mysql || use mariadb ; then + insinto ${PACKAGES}/dbdrivers/mysql + doins dbdrivers/mysql/*.xwam + insinto ${PACKAGES}/dbdrivers/mysql/cc + doins dbdrivers/mysql/cc/*.H + fi + if use odbc ; then + insinto ${PACKAGES}/dbdrivers/odbc + doins dbdrivers/odbc/*.xwam + insinto ${PACKAGES}/dbdrivers/odbc/cc + doins dbdrivers/odbc/cc/*.H + fi + fi + + if use pcre ; then + insinto ${PACKAGES}/pcre + doins pcre/*.xwam + insinto ${PACKAGES}/pcre/cc + doins pcre/cc/*.H + fi + + cd "${S}" + dodoc FAQ README +} -- cgit v1.2.3