mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-15 08:56:58 +02:00
Merge pull request #351 from flatcar-linux/krnowak/pkg-updates-2021-part-3-toolchain-take-2
Toolchain update
This commit is contained in:
commit
7058ef8ff9
@ -1 +1,2 @@
|
|||||||
DIST bzip2-1.0.8.tar.gz 810029 BLAKE2B 22ab3acd84f4db8c3d6f59340c252faedfd4447cea00dafbd652e65b6cf8a20adf6835c22e58563004cfafdb15348c924996230b4b23cae42da5e25eeac4bdad SHA512 083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3
|
DIST bzip2-1.0.8.tar.gz 810029 BLAKE2B 22ab3acd84f4db8c3d6f59340c252faedfd4447cea00dafbd652e65b6cf8a20adf6835c22e58563004cfafdb15348c924996230b4b23cae42da5e25eeac4bdad SHA512 083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3
|
||||||
|
DIST bzip2-1.0.8.tar.gz.sig 310 BLAKE2B 0d702dcb19f7738da9f05ee9d719f5cd3653540365e78db143404e599ea54bc6f9d5e6a38cdf5cdd3c6550243d34266343467c6b1db9d5d3c134f9353b00f395 SHA512 4a4a3fa0ec1c10a704b9870e8e629fd007cca55184423c6bfc3049a702fb41e4aeb73bfe9ca7442c27d32d278f1f34f27523a6be67d35b37896acdded12bf40d
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# XXX: atm, libbz2.a is always PIC :(, so it is always built quickly
|
# XXX: atm, libbz2.a is always PIC :(, so it is always built quickly
|
||||||
@ -6,17 +6,25 @@
|
|||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
inherit toolchain-funcs multilib-minimal usr-ldscript
|
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/bzip2.gpg
|
||||||
|
inherit toolchain-funcs multilib-minimal usr-ldscript verify-sig
|
||||||
|
|
||||||
|
if [[ ${PVR} != 1.0.8-r1 ]]; then
|
||||||
|
die "Please remove libbz2.so.1.0 logic from multilib_src_install"
|
||||||
|
fi
|
||||||
|
|
||||||
DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux"
|
DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux"
|
||||||
HOMEPAGE="https://sourceware.org/bzip2/"
|
HOMEPAGE="https://sourceware.org/bzip2/"
|
||||||
SRC_URI="https://sourceware.org/pub/${PN}/${P}.tar.gz"
|
SRC_URI="https://sourceware.org/pub/${PN}/${P}.tar.gz"
|
||||||
|
SRC_URI+=" verify-sig? ( https://sourceware.org/pub/${PN}/${P}.tar.gz.sig )"
|
||||||
|
|
||||||
LICENSE="BZIP2"
|
LICENSE="BZIP2"
|
||||||
SLOT="0/1" # subslot = SONAME
|
SLOT="0/1" # subslot = SONAME
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||||
IUSE="static static-libs"
|
IUSE="static static-libs"
|
||||||
|
|
||||||
|
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bzip2 )"
|
||||||
|
|
||||||
PATCHES=(
|
PATCHES=(
|
||||||
"${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch
|
"${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch
|
||||||
"${FILESDIR}"/${PN}-1.0.8-saneso.patch
|
"${FILESDIR}"/${PN}-1.0.8-saneso.patch
|
||||||
@ -59,6 +67,11 @@ multilib_src_compile() {
|
|||||||
bemake -f "${S}"/Makefile all LDFLAGS="${LDFLAGS} $(usex static -static '')"
|
bemake -f "${S}"/Makefile all LDFLAGS="${LDFLAGS} $(usex static -static '')"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
multilib_src_test() {
|
||||||
|
cp "${S}"/sample* "${BUILD_DIR}" || die
|
||||||
|
bemake -f "${S}"/Makefile check
|
||||||
|
}
|
||||||
|
|
||||||
multilib_src_install() {
|
multilib_src_install() {
|
||||||
into /usr
|
into /usr
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
DIST portage-utils-0.90.1.tar.xz 1779252 BLAKE2B 27c94694cab84970c0c92e835b9039d9420fbfa20f9f2e03f4f53d118df4dc243cddce33994095a3e41bd1027a42c9c29cda65cb7cf4f45279a028b21555f4f8 SHA512 67290a69ad6ac40da3ce0f41d2630096690e69bb97a1428af921ccc582dcfbf903bbf98259f68afdbe9e96aef81672ea3352a9266a649e75f99acec7fa00cd8a
|
DIST portage-utils-0.90.1.tar.xz 1779252 BLAKE2B 27c94694cab84970c0c92e835b9039d9420fbfa20f9f2e03f4f53d118df4dc243cddce33994095a3e41bd1027a42c9c29cda65cb7cf4f45279a028b21555f4f8 SHA512 67290a69ad6ac40da3ce0f41d2630096690e69bb97a1428af921ccc582dcfbf903bbf98259f68afdbe9e96aef81672ea3352a9266a649e75f99acec7fa00cd8a
|
||||||
DIST portage-utils-0.90.tar.xz 1776636 BLAKE2B bbacc05aa97c77705ae4fbdb5efde5f1d49a99ac8ed259e026c9a997f43a86551b3a10a397e0c5f1da161d2c0d88afe88e22870705ca39d911c4a98ad13f4928 SHA512 2077061dd7dfd444d4ad38faf5a87aa44392d7747f71d7283b5e2775ce3d714773cd642ea085aea3dd34a715f2c446d42fd64ba42fa99e716e8d843aae3d9682
|
DIST portage-utils-0.90.tar.xz 1776636 BLAKE2B bbacc05aa97c77705ae4fbdb5efde5f1d49a99ac8ed259e026c9a997f43a86551b3a10a397e0c5f1da161d2c0d88afe88e22870705ca39d911c4a98ad13f4928 SHA512 2077061dd7dfd444d4ad38faf5a87aa44392d7747f71d7283b5e2775ce3d714773cd642ea085aea3dd34a715f2c446d42fd64ba42fa99e716e8d843aae3d9682
|
||||||
DIST portage-utils-0.92.tar.xz 1819676 BLAKE2B 01798e3984745140bca1bcc1eda5c2aea7c517bee2656acfe1bd810fc8088ddcb474f2c64fee6832c5e1699e2ec8ad5a9c6d5afba8a2e2b6f1861d49fbf7fcb7 SHA512 7d36263c9c242c8e82786fa12e171a3f396f65520acb8caa91516862615bd71241699ab6c2232122f7009875aa0a10b06b614a842d45afc86e599b39711e12b3
|
DIST portage-utils-0.92.tar.xz 1819676 BLAKE2B 01798e3984745140bca1bcc1eda5c2aea7c517bee2656acfe1bd810fc8088ddcb474f2c64fee6832c5e1699e2ec8ad5a9c6d5afba8a2e2b6f1861d49fbf7fcb7 SHA512 7d36263c9c242c8e82786fa12e171a3f396f65520acb8caa91516862615bd71241699ab6c2232122f7009875aa0a10b06b614a842d45afc86e599b39711e12b3
|
||||||
|
DIST portage-utils-0.93.3.tar.xz 1796828 BLAKE2B cfad7ab27ff2d92f631f4e31012e8903c5fa6113485f727338812059379cdd4a9552d80dc3aef6bb91264c361c0554fe9054a12347e274c4c5c3db66fd36008b SHA512 c1245aa78d236263cd266fc8565312c2ac30cb992037a7b0f26da04ecf2dfeebc85bff653784e186cf2c7d7468e4772fb0bd93bcdb3a37d46e493d000933e5a1
|
||||||
|
DIST portage-utils-0.94.1.tar.xz 1871688 BLAKE2B bec5ddd514b397c157c3b1bff70d61730f15804a6751f56eb69c4030a35fc6a6b11fa1e2bde94332772660f02bf9428623210733ae9e2f1290f29aa3b31a1813 SHA512 29fdb4093997eb95703d407da6b00305c949f0a00ae3aa5cfb2c47b66bddc59e034fae114663b40b611f906332066b648018aa4e5bc1b935e61a64f4b4bf1088
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
<pkgmetadata>
|
<pkgmetadata>
|
||||||
<maintainer type="person">
|
<maintainer type="person">
|
||||||
<email>grobian@gentoo.org</email>
|
<email>grobian@gentoo.org</email>
|
||||||
|
@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]]; then
|
|||||||
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git"
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git"
|
||||||
else
|
else
|
||||||
SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz"
|
SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RDEPEND="
|
RDEPEND="
|
||||||
|
@ -0,0 +1,67 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
DESCRIPTION="Small and fast Portage helper tools written in C"
|
||||||
|
HOMEPAGE="https://wiki.gentoo.org/wiki/Portage-utils"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="nls static openmp +qmanifest +qtegrity"
|
||||||
|
|
||||||
|
if [[ ${PV} == *9999 ]]; then
|
||||||
|
inherit git-r3 autotools
|
||||||
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git"
|
||||||
|
else
|
||||||
|
SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz"
|
||||||
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
qmanifest? (
|
||||||
|
openmp? (
|
||||||
|
|| (
|
||||||
|
>=sys-devel/gcc-4.2:*[openmp]
|
||||||
|
sys-devel/clang-runtime:*[openmp]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
static? (
|
||||||
|
app-crypt/libb2:=[static-libs]
|
||||||
|
dev-libs/openssl:0=[static-libs]
|
||||||
|
sys-libs/zlib:=[static-libs]
|
||||||
|
app-crypt/gpgme:=[static-libs]
|
||||||
|
)
|
||||||
|
!static? (
|
||||||
|
app-crypt/libb2:=
|
||||||
|
dev-libs/openssl:0=
|
||||||
|
sys-libs/zlib:=
|
||||||
|
app-crypt/gpgme:=
|
||||||
|
)
|
||||||
|
)
|
||||||
|
qtegrity? (
|
||||||
|
openmp? (
|
||||||
|
|| (
|
||||||
|
>=sys-devel/gcc-4.2:*[openmp]
|
||||||
|
sys-devel/clang-runtime:*[openmp]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
static? (
|
||||||
|
dev-libs/openssl:0=[static-libs]
|
||||||
|
)
|
||||||
|
!static? (
|
||||||
|
dev-libs/openssl:0=
|
||||||
|
)
|
||||||
|
)
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
econf \
|
||||||
|
--disable-maintainer-mode \
|
||||||
|
--with-eprefix="${EPREFIX}" \
|
||||||
|
$(use_enable qmanifest) \
|
||||||
|
$(use_enable qtegrity) \
|
||||||
|
$(use_enable openmp) \
|
||||||
|
$(use_enable static)
|
||||||
|
}
|
@ -0,0 +1,67 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
DESCRIPTION="Small and fast Portage helper tools written in C"
|
||||||
|
HOMEPAGE="https://wiki.gentoo.org/wiki/Portage-utils"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="nls static openmp +qmanifest +qtegrity"
|
||||||
|
|
||||||
|
if [[ ${PV} == *9999 ]]; then
|
||||||
|
inherit git-r3 autotools
|
||||||
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git"
|
||||||
|
else
|
||||||
|
SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
qmanifest? (
|
||||||
|
openmp? (
|
||||||
|
|| (
|
||||||
|
>=sys-devel/gcc-4.2:*[openmp]
|
||||||
|
sys-devel/clang-runtime:*[openmp]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
static? (
|
||||||
|
app-crypt/libb2:=[static-libs]
|
||||||
|
dev-libs/openssl:0=[static-libs]
|
||||||
|
sys-libs/zlib:=[static-libs]
|
||||||
|
app-crypt/gpgme:=[static-libs]
|
||||||
|
)
|
||||||
|
!static? (
|
||||||
|
app-crypt/libb2:=
|
||||||
|
dev-libs/openssl:0=
|
||||||
|
sys-libs/zlib:=
|
||||||
|
app-crypt/gpgme:=
|
||||||
|
)
|
||||||
|
)
|
||||||
|
qtegrity? (
|
||||||
|
openmp? (
|
||||||
|
|| (
|
||||||
|
>=sys-devel/gcc-4.2:*[openmp]
|
||||||
|
sys-devel/clang-runtime:*[openmp]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
static? (
|
||||||
|
dev-libs/openssl:0=[static-libs]
|
||||||
|
)
|
||||||
|
!static? (
|
||||||
|
dev-libs/openssl:0=
|
||||||
|
)
|
||||||
|
)
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
econf \
|
||||||
|
--disable-maintainer-mode \
|
||||||
|
--with-eprefix="${EPREFIX}" \
|
||||||
|
$(use_enable qmanifest) \
|
||||||
|
$(use_enable qtegrity) \
|
||||||
|
$(use_enable openmp) \
|
||||||
|
$(use_enable static)
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI="6"
|
EAPI=7
|
||||||
|
|
||||||
DESCRIPTION="Small and fast Portage helper tools written in C"
|
DESCRIPTION="Small and fast Portage helper tools written in C"
|
||||||
HOMEPAGE="https://wiki.gentoo.org/wiki/Portage-utils"
|
HOMEPAGE="https://wiki.gentoo.org/wiki/Portage-utils"
|
||||||
@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]]; then
|
|||||||
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git"
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git"
|
||||||
else
|
else
|
||||||
SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz"
|
SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RDEPEND="
|
RDEPEND="
|
||||||
|
1
sdk_container/src/third_party/portage-stable/changelog/security/2022-08-23-binutils.md
vendored
Normal file
1
sdk_container/src/third_party/portage-stable/changelog/security/2022-08-23-binutils.md
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
- binutils ([CVE-2021-45078](https://nvd.nist.gov/vuln/detail/CVE-2021-45078))
|
@ -0,0 +1,7 @@
|
|||||||
|
- automake ([1.16.5](https://savannah.gnu.org/forum/forum.php?forum_id=10055))
|
||||||
|
- binutils ([2.38](https://lwn.net/Articles/884264/))
|
||||||
|
- bison ([3.8.2](https://lists.gnu.org/archive/html/bug-bison/2021-09/msg00056.html))
|
||||||
|
- gcc ([11.3.0](https://gcc.gnu.org/gcc-11/changes.html))
|
||||||
|
- libtool ([2.4.7](https://savannah.gnu.org/forum/forum.php?forum_id=10139))
|
||||||
|
- perl ([5.34.1](https://perldoc.perl.org/5.34.1/perldelta))
|
||||||
|
- pkgconf ([1.8.0](https://gitea.treehouse.systems/ariadne/pkgconf/src/tag/pkgconf-1.8.0/NEWS))
|
@ -1,6 +1,10 @@
|
|||||||
DIST perl-5.32.0-patches-1.tar.xz 20220 BLAKE2B 46ebca5c74f59aa935ceec2a5807426c0e653ad7ba27de441d26e049e62dc67b17d58dfe5755f31bdd157e349d47fd46a98699207729f8f4f747930ed1064ba2 SHA512 42ed00f5f6be40af59e02691ff439a048cccd96fb970cca0976209faa921af98a773cc4cb1466e164328350d58cb46950ffa8c6f2fddabbeb3e8819349b06849
|
|
||||||
DIST perl-5.32.1.tar.xz 12610988 BLAKE2B 9f89bcf9cffb245a0f2cb0afa17c25f092c84cc2f29bb1c744294c2f0393c72dc3beb9fcbe256cf252677b33bc594b294b3f6a4774ad9e30b771aceed1f4f147 SHA512 3443c75aea91f0fe3712fee576239f1946d2301b8f7390b690e2f5d070fe71af8f9fa7769e42086c2d33d5f84370f80368fa9350b4f10cc0ac3e6c1f6209d8f9
|
|
||||||
DIST perl-5.34.0-patches-1.tar.xz 20360 BLAKE2B e60074c49f357d4841708f58b5165a44201783238ff33ee81580bb83ba07d3d2dda447edd30a71ce8c9bafe5e5e0235b68e31a79081c3482bdd589231f0e898e SHA512 909e1fb22cda4ca769b51645b51a64df81b92210cfee388ac57834406bc13e404f0a1e6bad0888fafc73fc34b7fb224801fd02e87fb4c2f9145482ad74374e7b
|
DIST perl-5.34.0-patches-1.tar.xz 20360 BLAKE2B e60074c49f357d4841708f58b5165a44201783238ff33ee81580bb83ba07d3d2dda447edd30a71ce8c9bafe5e5e0235b68e31a79081c3482bdd589231f0e898e SHA512 909e1fb22cda4ca769b51645b51a64df81b92210cfee388ac57834406bc13e404f0a1e6bad0888fafc73fc34b7fb224801fd02e87fb4c2f9145482ad74374e7b
|
||||||
DIST perl-5.34.0.tar.xz 12881416 BLAKE2B 4139e77fbb38b2b72671c0b130233cf5ed35112bbba3301b8ed724739c7ff96b041752aa505b938e257ef6ebf98a9b6dad1858e00f756c841a0520688d974e9a SHA512 691b4b31eacec357191fba777612b4e3eae59e946a22998a50766697c0d61db1d42a9b3bc1e41abf0d1ca1893e4a7c06d7bf3290480cf03d7f79befd7a8a3267
|
DIST perl-5.34.0.tar.xz 12881416 BLAKE2B 4139e77fbb38b2b72671c0b130233cf5ed35112bbba3301b8ed724739c7ff96b041752aa505b938e257ef6ebf98a9b6dad1858e00f756c841a0520688d974e9a SHA512 691b4b31eacec357191fba777612b4e3eae59e946a22998a50766697c0d61db1d42a9b3bc1e41abf0d1ca1893e4a7c06d7bf3290480cf03d7f79befd7a8a3267
|
||||||
DIST perl-cross-1.3.4.tar.gz 108461 BLAKE2B 28f207d235f51ebf681598cf85f7f16923574aafb593426a59d67578135ee3632efb12b9e1a672759195a79f80e49f5c929ec42b2b4571b1d36f5d8c8dceadc2 SHA512 7e1fc7b2b19d8c2e2fb8615e074e218b2e1a4d276b563ffabccfd0c7398bc8680fca96da89cc61d611993f38a2c67dfbb0201c58658e05437395ad8c00d31874
|
DIST perl-5.34.1-zlib-1.2.12-encrypt-standard.zip.bin 207 BLAKE2B b52e1322930d5f7b8d6e3a319d24322b5dffb2313bdc757c0c8eb8713fd03adace199c8449ccc306e49b5b71e3c1b9786b2acb0ab8780a09d718a1c54f653226 SHA512 5a7e0950f0f94bd961fa9cf3e4ab5dd30006bee0f4553da755688a32d0411a4a850a28d4f998b36e7177dcf3aba192b899ca4138e84452baffef1a0b2ed1fb7b
|
||||||
|
DIST perl-5.34.1-zlib-1.2.12.patch.xz 180480 BLAKE2B 39da5c1ef406d018f73e641d86ff81d5257cf1f7d6c1b0caac9651a546d70a2e0fff53bf0fc584907e792cb681a961c8442ab355f8f0c2cfffbb26c997cdbac0 SHA512 b32b57721b10943e21003429b42c535f7833e450f097855162241775a161a557fe0ea86ce615d6a9c885f165f45438cabba5580f9b299796d3a3da5ea720f1ff
|
||||||
|
DIST perl-5.34.1.tar.xz 12760168 BLAKE2B 3768e55f66551c83295153e91d25d568b7b8638789141f7fcd5a304509cb391cb9ad0232ba6ac70113bb0881ddb00ca5b19c53aa01e1e206c44401dad60d8942 SHA512 9261958291b49eea30c120a89e5ee32dc6a5fd46de4869c89c3d6a4c1162d6cf192ebe429d01a293eda93d8680ce15294af27717fd4ec4c75f511c1fa820fdac
|
||||||
|
DIST perl-5.36.0-patches-1.tar.xz 20352 BLAKE2B f5413c75c5bbced230ad7fa692998caef8e4041f3394ae5212dc2aaee465de619b56cf07551be1bb36f2e06b9ed7d0ddda31ad4a7ec81d5c0c64b698ddd80379 SHA512 ab24577b6d71a13d9ccf272efa0881b29933b6a39532ca0d71d4c9a134f451bbe5f3d87c6c851f26114702ac3f92af5c5a72129a458ebee31e372106955eb157
|
||||||
|
DIST perl-5.36.0.tar.xz 13051500 BLAKE2B e4864a4c21e5242df4164c73db8af10f7b9c36b075e0c05777abec79716db7778ccbf2c0c9e7e749518ad310019d2a6b32bd8b5ab2af5a8b16b5d920f83d034f SHA512 6dd6ac2a77566c173c5ab9c238cf555f2c3e592e89abb5600bc23ce1cbd0c349e0233f6417cbbf1f6d0aefc6a734ba491285af0d3dc68a605b658b65c89f1dab
|
||||||
DIST perl-cross-1.3.6.tar.gz 110210 BLAKE2B 39074d6f4a526f59de2b1c40432936552e625a5a4e44fbb7ce3c1c3828b12c5298d1ab49b7d34ea92e2a4c8c88f8bbef8cc0c582a3fbbed975cf46d331e89c08 SHA512 d394fbd75d890442aa599eae8893a26540c8b7af966583ad1c3213c3fe0e074415cfed8814de8f397830833fd78267bdc55adc5267168198f269634c2ef3b982
|
DIST perl-cross-1.3.6.tar.gz 110210 BLAKE2B 39074d6f4a526f59de2b1c40432936552e625a5a4e44fbb7ce3c1c3828b12c5298d1ab49b7d34ea92e2a4c8c88f8bbef8cc0c582a3fbbed975cf46d331e89c08 SHA512 d394fbd75d890442aa599eae8893a26540c8b7af966583ad1c3213c3fe0e074415cfed8814de8f397830833fd78267bdc55adc5267168198f269634c2ef3b982
|
||||||
|
DIST perl-cross-1.3.7.tar.gz 118291 BLAKE2B dc9c060857d6905c817e91c3f5b1f546b76e02c6de02dc260185e0de8628a5ead3a557501da75549e2585cd30879190558740e697b1c78a69fa08ccb5649efcd SHA512 1111274f34f8b46e9f418883e9b1652ba4a5a9b4a5880a9a5b38bc8aeb5d75a9f4943233870f5ebf5fbcdc0c30b2983ace11ad051b55d3283327d8f2c15e172c
|
||||||
|
DIST perl-cross-1.4.tar.gz 113861 BLAKE2B 7c7783afccc6a04ab122a7c60b1cff7f0a2725655b2b63325ca25d7b8acb0cf993b496e2a590db943054336337ad215550b6b2a565f1d91a5aa9cfe3a4c36db4 SHA512 bde73cac13c0b42c4c6783d7e30dea491d70b65131e1c8434ef75db1f39a8e15ef5857568b706e8456faa3822402676dd247a1f20f4bed983597fdd5a6b4faad
|
||||||
|
@ -1,105 +0,0 @@
|
|||||||
https://bugs.gentoo.org/634162
|
|
||||||
|
|
||||||
Source:
|
|
||||||
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=869122
|
|
||||||
|
|
||||||
Index: perl-5.26.0/op.c
|
|
||||||
===================================================================
|
|
||||||
--- perl-5.26.0.orig/op.c
|
|
||||||
+++ perl-5.26.0/op.c
|
|
||||||
@@ -14832,6 +14832,7 @@ Perl_custom_op_get_field(pTHX_ const OP
|
|
||||||
SV *keysv;
|
|
||||||
HE *he = NULL;
|
|
||||||
XOP *xop;
|
|
||||||
+ XOPRETANY any;
|
|
||||||
|
|
||||||
static const XOP xop_null = { 0, 0, 0, 0, 0 };
|
|
||||||
|
|
||||||
@@ -14874,58 +14875,37 @@ Perl_custom_op_get_field(pTHX_ const OP
|
|
||||||
else
|
|
||||||
xop = INT2PTR(XOP *, SvIV(HeVAL(he)));
|
|
||||||
}
|
|
||||||
- {
|
|
||||||
- XOPRETANY any;
|
|
||||||
- if(field == XOPe_xop_ptr) {
|
|
||||||
- any.xop_ptr = xop;
|
|
||||||
- } else {
|
|
||||||
- const U32 flags = XopFLAGS(xop);
|
|
||||||
- if(flags & field) {
|
|
||||||
- switch(field) {
|
|
||||||
- case XOPe_xop_name:
|
|
||||||
- any.xop_name = xop->xop_name;
|
|
||||||
- break;
|
|
||||||
- case XOPe_xop_desc:
|
|
||||||
- any.xop_desc = xop->xop_desc;
|
|
||||||
- break;
|
|
||||||
- case XOPe_xop_class:
|
|
||||||
- any.xop_class = xop->xop_class;
|
|
||||||
- break;
|
|
||||||
- case XOPe_xop_peep:
|
|
||||||
- any.xop_peep = xop->xop_peep;
|
|
||||||
- break;
|
|
||||||
- default:
|
|
||||||
- NOT_REACHED; /* NOTREACHED */
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
- } else {
|
|
||||||
- switch(field) {
|
|
||||||
- case XOPe_xop_name:
|
|
||||||
- any.xop_name = XOPd_xop_name;
|
|
||||||
- break;
|
|
||||||
- case XOPe_xop_desc:
|
|
||||||
- any.xop_desc = XOPd_xop_desc;
|
|
||||||
- break;
|
|
||||||
- case XOPe_xop_class:
|
|
||||||
- any.xop_class = XOPd_xop_class;
|
|
||||||
- break;
|
|
||||||
- case XOPe_xop_peep:
|
|
||||||
- any.xop_peep = XOPd_xop_peep;
|
|
||||||
- break;
|
|
||||||
- default:
|
|
||||||
- NOT_REACHED; /* NOTREACHED */
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
+
|
|
||||||
+ if(field == XOPe_xop_ptr) {
|
|
||||||
+ any.xop_ptr = xop;
|
|
||||||
+ } else {
|
|
||||||
+ const U32 flags = XopFLAGS(xop);
|
|
||||||
+ switch(field) {
|
|
||||||
+ case XOPe_xop_name:
|
|
||||||
+ any.xop_name = (flags & field) ? xop->xop_name : XOPd_xop_name;
|
|
||||||
+ break;
|
|
||||||
+ case XOPe_xop_desc:
|
|
||||||
+ any.xop_desc = (flags & field) ? xop->xop_desc : XOPd_xop_desc;
|
|
||||||
+ break;
|
|
||||||
+ case XOPe_xop_class:
|
|
||||||
+ any.xop_class = (flags & field) ? xop->xop_class : XOPd_xop_class;
|
|
||||||
+ break;
|
|
||||||
+ case XOPe_xop_peep:
|
|
||||||
+ any.xop_peep = (flags & field) ? xop->xop_peep : XOPd_xop_peep;
|
|
||||||
+ break;
|
|
||||||
+ default:
|
|
||||||
+ NOT_REACHED; /* NOTREACHED */
|
|
||||||
+ break;
|
|
||||||
}
|
|
||||||
- /* On some platforms (HP-UX, IA64) gcc emits a warning for this function:
|
|
||||||
- * op.c: In function 'Perl_custom_op_get_field':
|
|
||||||
- * op.c:...: warning: 'any.xop_name' may be used uninitialized in this function [-Wmaybe-uninitialized]
|
|
||||||
- * This is because on those platforms (with -DEBUGGING) NOT_REACHED
|
|
||||||
- * expands to assert(0), which expands to ((0) ? (void)0 :
|
|
||||||
- * __assert(...)), and gcc doesn't know that __assert can never return. */
|
|
||||||
- return any;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ /* On some platforms (HP-UX, IA64) gcc emits a warning for this function:
|
|
||||||
+ * op.c: In function 'Perl_custom_op_get_field':
|
|
||||||
+ * op.c:...: warning: 'any.xop_name' may be used uninitialized in this function [-Wmaybe-uninitialized]
|
|
||||||
+ * This is because on those platforms (with -DEBUGGING) NOT_REACHED
|
|
||||||
+ * expands to assert(0), which expands to ((0) ? (void)0 :
|
|
||||||
+ * __assert(...)), and gcc doesn't know that __assert can never return. */
|
|
||||||
+ return any;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
@ -0,0 +1,263 @@
|
|||||||
|
https://github.com/Perl/perl5/pull/18791
|
||||||
|
https://github.com/Perl/perl5/issues/18703
|
||||||
|
https://bugs.gentoo.org/818172
|
||||||
|
|
||||||
|
From: Tony Cook <tony@develop-help.com>
|
||||||
|
Date: Tue, 4 May 2021 14:55:50 +1000
|
||||||
|
Subject: [PATCH 1/4] remove code that assuming finding pwd on the path is
|
||||||
|
reasonable
|
||||||
|
|
||||||
|
We deliberately clear PATH when invoking pwd, so this search is
|
||||||
|
useless.
|
||||||
|
---
|
||||||
|
dist/PathTools/Cwd.pm | 14 --------------
|
||||||
|
1 file changed, 14 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/dist/PathTools/Cwd.pm b/dist/PathTools/Cwd.pm
|
||||||
|
index 6a1d2f17ee57..49c12885b32e 100644
|
||||||
|
--- a/dist/PathTools/Cwd.pm
|
||||||
|
+++ b/dist/PathTools/Cwd.pm
|
||||||
|
@@ -213,20 +213,6 @@ sub _backtick_pwd {
|
||||||
|
# we take care not to override an existing definition for cwd().
|
||||||
|
|
||||||
|
unless ($METHOD_MAP{$^O}{cwd} or defined &cwd) {
|
||||||
|
- # The pwd command is not available in some chroot(2)'ed environments
|
||||||
|
- my $sep = $Config::Config{path_sep} || ':';
|
||||||
|
- my $os = $^O; # Protect $^O from tainting
|
||||||
|
-
|
||||||
|
-
|
||||||
|
- # Try again to find a pwd, this time searching the whole PATH.
|
||||||
|
- if (defined $ENV{PATH} and $os ne 'MSWin32') { # no pwd on Windows
|
||||||
|
- my @candidates = split($sep, $ENV{PATH});
|
||||||
|
- while (!$found_pwd_cmd and @candidates) {
|
||||||
|
- my $candidate = shift @candidates;
|
||||||
|
- $found_pwd_cmd = 1 if -x "$candidate/pwd";
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
if( $found_pwd_cmd )
|
||||||
|
{
|
||||||
|
*cwd = \&_backtick_pwd;
|
||||||
|
|
||||||
|
From e5378ea37c6c4910107975d8099c1d552af0c7b3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tony Cook <tony@develop-help.com>
|
||||||
|
Date: Wed, 5 May 2021 10:12:31 +1000
|
||||||
|
Subject: [PATCH 2/4] don't fallback to simple pwd
|
||||||
|
|
||||||
|
When _backtick_pwd invokes $pwd_cmd it first clears the PATH, and since
|
||||||
|
the command has no shell metacharacters, it perl won't invoke the
|
||||||
|
shell, so it will always fail.
|
||||||
|
|
||||||
|
An alternative here might be to use "/bin/sh -c pwd" but there's no
|
||||||
|
guarantee that pwd is available as a shell builtin.
|
||||||
|
---
|
||||||
|
dist/PathTools/Cwd.pm | 6 ------
|
||||||
|
1 file changed, 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/dist/PathTools/Cwd.pm b/dist/PathTools/Cwd.pm
|
||||||
|
index 49c12885b32e..fbe683e20b8a 100644
|
||||||
|
--- a/dist/PathTools/Cwd.pm
|
||||||
|
+++ b/dist/PathTools/Cwd.pm
|
||||||
|
@@ -181,12 +181,6 @@ if ($^O =~ /android/) {
|
||||||
|
}
|
||||||
|
|
||||||
|
my $found_pwd_cmd = defined($pwd_cmd);
|
||||||
|
-unless ($pwd_cmd) {
|
||||||
|
- # Isn't this wrong? _backtick_pwd() will fail if someone has
|
||||||
|
- # pwd in their path but it is not /bin/pwd or /usr/bin/pwd?
|
||||||
|
- # See [perl #16774]. --jhi
|
||||||
|
- $pwd_cmd = 'pwd';
|
||||||
|
-}
|
||||||
|
|
||||||
|
# Lazy-load Carp
|
||||||
|
sub _carp { require Carp; Carp::carp(@_) }
|
||||||
|
|
||||||
|
From e14ffd3c21efe708a5fb5e25f29d61ccb6ee0a0a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tony Cook <tony@develop-help.com>
|
||||||
|
Date: Tue, 4 May 2021 15:04:25 +1000
|
||||||
|
Subject: [PATCH 3/4] avoid a prototype warning assigning \&getcwd to *cwd
|
||||||
|
|
||||||
|
This would produce a warning if we fallback to using getcwd() where
|
||||||
|
getcwd() has a prototype.
|
||||||
|
---
|
||||||
|
dist/PathTools/Cwd.pm | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/dist/PathTools/Cwd.pm b/dist/PathTools/Cwd.pm
|
||||||
|
index fbe683e20b8a..b6dc0b798e8c 100644
|
||||||
|
--- a/dist/PathTools/Cwd.pm
|
||||||
|
+++ b/dist/PathTools/Cwd.pm
|
||||||
|
@@ -212,7 +212,8 @@ unless ($METHOD_MAP{$^O}{cwd} or defined &cwd) {
|
||||||
|
*cwd = \&_backtick_pwd;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
- *cwd = \&getcwd;
|
||||||
|
+ # getcwd() might have an empty prototype
|
||||||
|
+ *cwd = sub { getcwd(); };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
From e725e6ced4d2bbb6a5866992509c2ac3e995c228 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tony Cook <tony@develop-help.com>
|
||||||
|
Date: Wed, 12 May 2021 12:24:59 +1000
|
||||||
|
Subject: [PATCH 4/4] bump PathTools to 3.81
|
||||||
|
|
||||||
|
---
|
||||||
|
dist/PathTools/Cwd.pm | 2 +-
|
||||||
|
dist/PathTools/lib/File/Spec.pm | 2 +-
|
||||||
|
dist/PathTools/lib/File/Spec/AmigaOS.pm | 2 +-
|
||||||
|
dist/PathTools/lib/File/Spec/Cygwin.pm | 2 +-
|
||||||
|
dist/PathTools/lib/File/Spec/Epoc.pm | 2 +-
|
||||||
|
dist/PathTools/lib/File/Spec/Functions.pm | 2 +-
|
||||||
|
dist/PathTools/lib/File/Spec/Mac.pm | 2 +-
|
||||||
|
dist/PathTools/lib/File/Spec/OS2.pm | 2 +-
|
||||||
|
dist/PathTools/lib/File/Spec/Unix.pm | 2 +-
|
||||||
|
dist/PathTools/lib/File/Spec/VMS.pm | 2 +-
|
||||||
|
dist/PathTools/lib/File/Spec/Win32.pm | 2 +-
|
||||||
|
11 files changed, 11 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/dist/PathTools/Cwd.pm b/dist/PathTools/Cwd.pm
|
||||||
|
index b6dc0b798e8c..4a9c786c1c3c 100644
|
||||||
|
--- a/dist/PathTools/Cwd.pm
|
||||||
|
+++ b/dist/PathTools/Cwd.pm
|
||||||
|
@@ -3,7 +3,7 @@ use strict;
|
||||||
|
use Exporter;
|
||||||
|
|
||||||
|
|
||||||
|
-our $VERSION = '3.80';
|
||||||
|
+our $VERSION = '3.81';
|
||||||
|
my $xs_version = $VERSION;
|
||||||
|
$VERSION =~ tr/_//d;
|
||||||
|
|
||||||
|
diff --git a/dist/PathTools/lib/File/Spec.pm b/dist/PathTools/lib/File/Spec.pm
|
||||||
|
index 30d883b61b3e..fe738acf58bd 100644
|
||||||
|
--- a/dist/PathTools/lib/File/Spec.pm
|
||||||
|
+++ b/dist/PathTools/lib/File/Spec.pm
|
||||||
|
@@ -2,7 +2,7 @@ package File::Spec;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
-our $VERSION = '3.80';
|
||||||
|
+our $VERSION = '3.81';
|
||||||
|
$VERSION =~ tr/_//d;
|
||||||
|
|
||||||
|
my %module = (
|
||||||
|
diff --git a/dist/PathTools/lib/File/Spec/AmigaOS.pm b/dist/PathTools/lib/File/Spec/AmigaOS.pm
|
||||||
|
index fd9da81cdf5a..1398379ca57c 100644
|
||||||
|
--- a/dist/PathTools/lib/File/Spec/AmigaOS.pm
|
||||||
|
+++ b/dist/PathTools/lib/File/Spec/AmigaOS.pm
|
||||||
|
@@ -3,7 +3,7 @@ package File::Spec::AmigaOS;
|
||||||
|
use strict;
|
||||||
|
require File::Spec::Unix;
|
||||||
|
|
||||||
|
-our $VERSION = '3.80';
|
||||||
|
+our $VERSION = '3.81';
|
||||||
|
$VERSION =~ tr/_//d;
|
||||||
|
|
||||||
|
our @ISA = qw(File::Spec::Unix);
|
||||||
|
diff --git a/dist/PathTools/lib/File/Spec/Cygwin.pm b/dist/PathTools/lib/File/Spec/Cygwin.pm
|
||||||
|
index 953c23361a10..55d551ce0663 100644
|
||||||
|
--- a/dist/PathTools/lib/File/Spec/Cygwin.pm
|
||||||
|
+++ b/dist/PathTools/lib/File/Spec/Cygwin.pm
|
||||||
|
@@ -3,7 +3,7 @@ package File::Spec::Cygwin;
|
||||||
|
use strict;
|
||||||
|
require File::Spec::Unix;
|
||||||
|
|
||||||
|
-our $VERSION = '3.80';
|
||||||
|
+our $VERSION = '3.81';
|
||||||
|
$VERSION =~ tr/_//d;
|
||||||
|
|
||||||
|
our @ISA = qw(File::Spec::Unix);
|
||||||
|
diff --git a/dist/PathTools/lib/File/Spec/Epoc.pm b/dist/PathTools/lib/File/Spec/Epoc.pm
|
||||||
|
index fcb9e894e33c..4cde744231aa 100644
|
||||||
|
--- a/dist/PathTools/lib/File/Spec/Epoc.pm
|
||||||
|
+++ b/dist/PathTools/lib/File/Spec/Epoc.pm
|
||||||
|
@@ -2,7 +2,7 @@ package File::Spec::Epoc;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
-our $VERSION = '3.80';
|
||||||
|
+our $VERSION = '3.81';
|
||||||
|
$VERSION =~ tr/_//d;
|
||||||
|
|
||||||
|
require File::Spec::Unix;
|
||||||
|
diff --git a/dist/PathTools/lib/File/Spec/Functions.pm b/dist/PathTools/lib/File/Spec/Functions.pm
|
||||||
|
index e14ad2f74538..4b3d7bbde130 100644
|
||||||
|
--- a/dist/PathTools/lib/File/Spec/Functions.pm
|
||||||
|
+++ b/dist/PathTools/lib/File/Spec/Functions.pm
|
||||||
|
@@ -3,7 +3,7 @@ package File::Spec::Functions;
|
||||||
|
use File::Spec;
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
-our $VERSION = '3.80';
|
||||||
|
+our $VERSION = '3.81';
|
||||||
|
$VERSION =~ tr/_//d;
|
||||||
|
|
||||||
|
require Exporter;
|
||||||
|
diff --git a/dist/PathTools/lib/File/Spec/Mac.pm b/dist/PathTools/lib/File/Spec/Mac.pm
|
||||||
|
index 8026edcb1261..51d00a01f6f7 100644
|
||||||
|
--- a/dist/PathTools/lib/File/Spec/Mac.pm
|
||||||
|
+++ b/dist/PathTools/lib/File/Spec/Mac.pm
|
||||||
|
@@ -4,7 +4,7 @@ use strict;
|
||||||
|
use Cwd ();
|
||||||
|
require File::Spec::Unix;
|
||||||
|
|
||||||
|
-our $VERSION = '3.80';
|
||||||
|
+our $VERSION = '3.81';
|
||||||
|
$VERSION =~ tr/_//d;
|
||||||
|
|
||||||
|
our @ISA = qw(File::Spec::Unix);
|
||||||
|
diff --git a/dist/PathTools/lib/File/Spec/OS2.pm b/dist/PathTools/lib/File/Spec/OS2.pm
|
||||||
|
index 3c35ba99b48a..57d67ba01e93 100644
|
||||||
|
--- a/dist/PathTools/lib/File/Spec/OS2.pm
|
||||||
|
+++ b/dist/PathTools/lib/File/Spec/OS2.pm
|
||||||
|
@@ -4,7 +4,7 @@ use strict;
|
||||||
|
use Cwd ();
|
||||||
|
require File::Spec::Unix;
|
||||||
|
|
||||||
|
-our $VERSION = '3.80';
|
||||||
|
+our $VERSION = '3.81';
|
||||||
|
$VERSION =~ tr/_//d;
|
||||||
|
|
||||||
|
our @ISA = qw(File::Spec::Unix);
|
||||||
|
diff --git a/dist/PathTools/lib/File/Spec/Unix.pm b/dist/PathTools/lib/File/Spec/Unix.pm
|
||||||
|
index c06d18f46819..df98f580c3ea 100644
|
||||||
|
--- a/dist/PathTools/lib/File/Spec/Unix.pm
|
||||||
|
+++ b/dist/PathTools/lib/File/Spec/Unix.pm
|
||||||
|
@@ -3,7 +3,7 @@ package File::Spec::Unix;
|
||||||
|
use strict;
|
||||||
|
use Cwd ();
|
||||||
|
|
||||||
|
-our $VERSION = '3.80';
|
||||||
|
+our $VERSION = '3.81';
|
||||||
|
$VERSION =~ tr/_//d;
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
diff --git a/dist/PathTools/lib/File/Spec/VMS.pm b/dist/PathTools/lib/File/Spec/VMS.pm
|
||||||
|
index 9b78c8b4bc6e..bbff3ad7d807 100644
|
||||||
|
--- a/dist/PathTools/lib/File/Spec/VMS.pm
|
||||||
|
+++ b/dist/PathTools/lib/File/Spec/VMS.pm
|
||||||
|
@@ -4,7 +4,7 @@ use strict;
|
||||||
|
use Cwd ();
|
||||||
|
require File::Spec::Unix;
|
||||||
|
|
||||||
|
-our $VERSION = '3.80';
|
||||||
|
+our $VERSION = '3.81';
|
||||||
|
$VERSION =~ tr/_//d;
|
||||||
|
|
||||||
|
our @ISA = qw(File::Spec::Unix);
|
||||||
|
diff --git a/dist/PathTools/lib/File/Spec/Win32.pm b/dist/PathTools/lib/File/Spec/Win32.pm
|
||||||
|
index 153744202338..b38419cdf1a6 100644
|
||||||
|
--- a/dist/PathTools/lib/File/Spec/Win32.pm
|
||||||
|
+++ b/dist/PathTools/lib/File/Spec/Win32.pm
|
||||||
|
@@ -5,7 +5,7 @@ use strict;
|
||||||
|
use Cwd ();
|
||||||
|
require File::Spec::Unix;
|
||||||
|
|
||||||
|
-our $VERSION = '3.80';
|
||||||
|
+our $VERSION = '3.81';
|
||||||
|
$VERSION =~ tr/_//d;
|
||||||
|
|
||||||
|
our @ISA = qw(File::Spec::Unix);
|
||||||
|
|
40
sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.34.0-gdbm-1.20.patch
vendored
Normal file
40
sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.34.0-gdbm-1.20.patch
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
From: Sergey Poznyakoff <gray@gnu.org>
|
||||||
|
Date: Wed, 23 Jun 2021 10:26:50 +0300
|
||||||
|
Subject: Fix GDBM_File to compile with version 1.20 and earlier
|
||||||
|
|
||||||
|
* ext/GDBM_File/GDBM_File.xs (ITEM_NOT_FOUND): Define conditionally,
|
||||||
|
depending on the GDBM_VERSION_MAJOR and GDBM_VERSION_MINOR.
|
||||||
|
Don't assume GDBM_ITEM_NOT_FOUND is a define (it isn't since
|
||||||
|
gdbm commit d3e27957).
|
||||||
|
|
||||||
|
Origin: backport, https://github.com/Perl/perl5/pull/18924/commits/aacd2398e766500cb5d83c4d76b642fcf31d997a
|
||||||
|
Bug: https://github.com/Perl/perl5/issues/18915
|
||||||
|
Bug-Debian: https://bugs.debian.org/993514
|
||||||
|
---
|
||||||
|
ext/GDBM_File/GDBM_File.xs | 11 +++++------
|
||||||
|
1 file changed, 5 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ext/GDBM_File/GDBM_File.xs b/ext/GDBM_File/GDBM_File.xs
|
||||||
|
index cd0bb6f..494c288 100644
|
||||||
|
--- a/ext/GDBM_File/GDBM_File.xs
|
||||||
|
+++ b/ext/GDBM_File/GDBM_File.xs
|
||||||
|
@@ -145,14 +145,13 @@ output_datum(pTHX_ SV *arg, char *str, int size)
|
||||||
|
#define gdbm_setopt(db,optflag,optval,optlen) not_here("gdbm_setopt")
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#ifndef GDBM_ITEM_NOT_FOUND
|
||||||
|
-# define GDBM_ITEM_NOT_FOUND GDBM_NO_ERROR
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
+#if GDBM_VERSION_MAJOR == 1 && GDBM_VERSION_MINOR < 13
|
||||||
|
/* Prior to 1.13, gdbm_fetch family functions set gdbm_errno to GDBM_NO_ERROR
|
||||||
|
if the requested key did not exist */
|
||||||
|
-#define ITEM_NOT_FOUND() \
|
||||||
|
- (gdbm_errno == GDBM_ITEM_NOT_FOUND || gdbm_errno == GDBM_NO_ERROR)
|
||||||
|
+# define ITEM_NOT_FOUND() (gdbm_errno == GDBM_NO_ERROR)
|
||||||
|
+#else
|
||||||
|
+# define ITEM_NOT_FOUND() (gdbm_errno == GDBM_ITEM_NOT_FOUND)
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#define CHECKDB(db) do { \
|
||||||
|
if (!db->dbp) { \
|
@ -7,8 +7,10 @@
|
|||||||
</maintainer>
|
</maintainer>
|
||||||
<use>
|
<use>
|
||||||
<flag name="ithreads">Enable Perl threads, has some compatibility problems</flag>
|
<flag name="ithreads">Enable Perl threads, has some compatibility problems</flag>
|
||||||
|
<flag name="quadmath">Enable 128bit floating point arithmetic via libquadmath</flag>
|
||||||
</use>
|
</use>
|
||||||
<upstream>
|
<upstream>
|
||||||
|
<remote-id type="github">Perl/perl5</remote-id>
|
||||||
<remote-id type="github">arsv/perl-cross</remote-id>
|
<remote-id type="github">arsv/perl-cross</remote-id>
|
||||||
</upstream>
|
</upstream>
|
||||||
</pkgmetadata>
|
</pkgmetadata>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
@ -14,18 +14,16 @@ DIST_AUTHOR=XSAWYERX
|
|||||||
|
|
||||||
# Greatest first, don't include yourself
|
# Greatest first, don't include yourself
|
||||||
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||||
# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions
|
# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
|
||||||
PERL_BIN_OLDVERSEN=""
|
PERL_BIN_OLDVERSEN=""
|
||||||
|
|
||||||
# Yes we can.
|
|
||||||
PERL_SINGLE_SLOT=y
|
|
||||||
|
|
||||||
if [[ "${PV##*.}" == "9999" ]]; then
|
if [[ "${PV##*.}" == "9999" ]]; then
|
||||||
DIST_VERSION=5.30.0
|
DIST_VERSION=5.30.0
|
||||||
else
|
else
|
||||||
DIST_VERSION="${PV/_rc/-RC}"
|
DIST_VERSION="${PV/_rc/-RC}"
|
||||||
fi
|
fi
|
||||||
SHORT_PV="${DIST_VERSION%.*}"
|
SHORT_PV="${DIST_VERSION%.*}"
|
||||||
|
|
||||||
# Even numbered major versions are ABI intercompatible
|
# Even numbered major versions are ABI intercompatible
|
||||||
# Odd numbered major versions are not
|
# Odd numbered major versions are not
|
||||||
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||||
@ -33,6 +31,7 @@ if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
|||||||
else
|
else
|
||||||
SUBSLOT="${DIST_VERSION%.*}"
|
SUBSLOT="${DIST_VERSION%.*}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Used only in tar paths
|
# Used only in tar paths
|
||||||
MY_P="perl-${DIST_VERSION}"
|
MY_P="perl-${DIST_VERSION}"
|
||||||
# Used in library paths
|
# Used in library paths
|
||||||
@ -53,10 +52,10 @@ LICENSE="|| ( Artistic GPL-1+ )"
|
|||||||
SLOT="0/${SUBSLOT}"
|
SLOT="0/${SUBSLOT}"
|
||||||
|
|
||||||
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
IUSE="berkdb debug doc gdbm ithreads minimal"
|
IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
|
||||||
|
|
||||||
RDEPEND="
|
RDEPEND="
|
||||||
berkdb? ( sys-libs/db:= )
|
berkdb? ( sys-libs/db:= )
|
||||||
@ -71,6 +70,7 @@ BDEPEND="${RDEPEND}"
|
|||||||
PDEPEND="
|
PDEPEND="
|
||||||
!minimal? (
|
!minimal? (
|
||||||
>=app-admin/perl-cleaner-2.5
|
>=app-admin/perl-cleaner-2.5
|
||||||
|
>=virtual/perl-CPAN-2.290.0
|
||||||
>=virtual/perl-Encode-3.120.0
|
>=virtual/perl-Encode-3.120.0
|
||||||
>=virtual/perl-File-Temp-0.230.400-r2
|
>=virtual/perl-File-Temp-0.230.400-r2
|
||||||
>=virtual/perl-Data-Dumper-2.154.0
|
>=virtual/perl-Data-Dumper-2.154.0
|
||||||
@ -126,13 +126,16 @@ check_rebuild() {
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
# Reinstall w/ USE Change
|
# Reinstall w/ USE Change
|
||||||
elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
elif
|
||||||
|
( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
||||||
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
||||||
|
( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
|
||||||
|
( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
|
||||||
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
||||||
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
||||||
echo ""
|
echo ""
|
||||||
ewarn "TOGGLED USE-FLAGS WARNING:"
|
ewarn "TOGGLED USE-FLAGS WARNING:"
|
||||||
ewarn "You changed one of the use-flags ithreads or debug."
|
ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
|
||||||
ewarn "You must rebuild all perl-modules installed."
|
ewarn "You must rebuild all perl-modules installed."
|
||||||
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||||
fi
|
fi
|
||||||
@ -154,6 +157,9 @@ pkg_setup() {
|
|||||||
if use debug ; then
|
if use debug ; then
|
||||||
myarch+="-debug"
|
myarch+="-debug"
|
||||||
fi
|
fi
|
||||||
|
if use quadmath ; then
|
||||||
|
myarch+="-quadmath"
|
||||||
|
fi
|
||||||
if use ithreads ; then
|
if use ithreads ; then
|
||||||
mythreading="-multi"
|
mythreading="-multi"
|
||||||
myarch+="-thread"
|
myarch+="-thread"
|
||||||
@ -165,24 +171,12 @@ pkg_setup() {
|
|||||||
|
|
||||||
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
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}"
|
PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
|
||||||
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
||||||
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
||||||
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
fi
|
|
||||||
|
|
||||||
dual_scripts
|
dual_scripts
|
||||||
}
|
}
|
||||||
@ -264,6 +258,7 @@ src_prepare_perlcross() {
|
|||||||
MAKEOPTS+=" -j1"
|
MAKEOPTS+=" -j1"
|
||||||
export MAKEOPTS
|
export MAKEOPTS
|
||||||
}
|
}
|
||||||
|
|
||||||
src_prepare_dynamic() {
|
src_prepare_dynamic() {
|
||||||
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||||
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||||
@ -292,9 +287,10 @@ add_patch() {
|
|||||||
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Remove a patch using a glob expr
|
# Remove a patch using a glob expr
|
||||||
# eg:
|
# eg:
|
||||||
# rm_patch *-darin-Use-CC*
|
# rm_patch *-darwin-Use-CC*
|
||||||
#
|
#
|
||||||
rm_patch() {
|
rm_patch() {
|
||||||
local patchdir="${WORKDIR}/patches"
|
local patchdir="${WORKDIR}/patches"
|
||||||
@ -307,6 +303,7 @@ rm_patch() {
|
|||||||
ewarn "No ${expr} found in ${patchdir} to remove"
|
ewarn "No ${expr} found in ${patchdir} to remove"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Yes, this is a reasonable amount of code for something seemingly simple
|
# 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
|
# 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
|
# multiple times while I was getting the exact number of slashes right, which
|
||||||
@ -388,6 +385,7 @@ apply_patchdir() {
|
|||||||
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
local patchdir="${WORKDIR}/patches"
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
|
||||||
@ -398,6 +396,16 @@ src_prepare() {
|
|||||||
# "Fix broken miniperl on hppa"\
|
# "Fix broken miniperl on hppa"\
|
||||||
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
||||||
|
|
||||||
|
add_patch "${FILESDIR}/${P}-gdbm-1.20.patch" "0101-Fix-build-with-gdb120.patch"\
|
||||||
|
"Fix GDBM_File to compile with version 1.20 and earlier"\
|
||||||
|
"https://bugs.gentoo.org/802945"
|
||||||
|
|
||||||
|
if use prefix ; then
|
||||||
|
add_patch "${FILESDIR}/${P}"-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
|
||||||
|
"Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
|
||||||
|
"https://bugs.gentoo.org/818172"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||||
# do NOT mess with nsl, on Solaris this is always necessary,
|
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||||
# when -lsocket is used e.g. to get h_errno
|
# when -lsocket is used e.g. to get h_errno
|
||||||
@ -428,6 +436,12 @@ src_prepare() {
|
|||||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||||
# fix install_name (soname) not to reference $D
|
# fix install_name (soname) not to reference $D
|
||||||
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||||
|
|
||||||
|
# fix environ linkage absence (only a real issue on Darwin9)
|
||||||
|
if [[ ${CHOST##*-darwin} -le 9 ]] ; then
|
||||||
|
sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
|
||||||
|
Makefile.SH || die
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
default
|
default
|
||||||
@ -444,16 +458,10 @@ myconf() {
|
|||||||
# /usr/local/lib64/perl5/<NUMBER>
|
# /usr/local/lib64/perl5/<NUMBER>
|
||||||
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
||||||
#
|
#
|
||||||
# All values of NUMBER must be like "5.x.y", unless PERL_SUPPORT_SINGLE_SLOT
|
# All values of NUMBER must be like "5.x.y" or like "5.x"
|
||||||
# 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() {
|
find_candidate_inc_versions() {
|
||||||
local regex='.*/5[.][0-9]+[.][0-9]+$';
|
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=(
|
local dirs=(
|
||||||
"${EROOT}${PRIV_BASE}"
|
"${EROOT}${PRIV_BASE}"
|
||||||
"${EROOT}${SITE_BASE}"
|
"${EROOT}${SITE_BASE}"
|
||||||
@ -477,13 +485,11 @@ find_candidate_inc_versions() {
|
|||||||
einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
|
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
|
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
|
# Sort versions passed versiony-ly, remove self-version if present
|
||||||
# dedup. Takes each version as an argument
|
# dedup. Takes each version as an argument
|
||||||
sanitize_inc_versions() {
|
sanitize_inc_versions() {
|
||||||
local vexclude="${DIST_VERSION%-RC}"
|
local vexclude="${SUBSLOT}"
|
||||||
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
|
||||||
vexclude="${SUBSLOT}"
|
|
||||||
fi
|
|
||||||
einfo "Normalizing/Sorting candidate list: $*"
|
einfo "Normalizing/Sorting candidate list: $*"
|
||||||
einfo " to remove '${vexclude}'"
|
einfo " to remove '${vexclude}'"
|
||||||
# Note, general numeric sort has to be used
|
# Note, general numeric sort has to be used
|
||||||
@ -495,22 +501,18 @@ sanitize_inc_versions() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
versions_to_inclist() {
|
versions_to_inclist() {
|
||||||
local oldv="${PERL_BIN_OLDVERSEN}"
|
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||||
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
|
||||||
oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
|
||||||
fi
|
|
||||||
for v; do
|
for v; do
|
||||||
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
||||||
echo -n "${v}/ ";
|
echo -n "${v}/ ";
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
versions_to_gentoolibdirs() {
|
versions_to_gentoolibdirs() {
|
||||||
local oldv="${PERL_BIN_OLDVERSEN}"
|
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||||
local root
|
local root
|
||||||
local v
|
local v
|
||||||
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
|
||||||
oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
|
||||||
fi
|
|
||||||
for v; do
|
for v; do
|
||||||
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
||||||
local fullpath="${EROOT}${root}/${v}"
|
local fullpath="${EROOT}${root}/${v}"
|
||||||
@ -577,6 +579,8 @@ src_configure() {
|
|||||||
|
|
||||||
use ithreads && myconf -Dusethreads
|
use ithreads && myconf -Dusethreads
|
||||||
|
|
||||||
|
use quadmath && myconf -Dusequadmath
|
||||||
|
|
||||||
if use debug ; then
|
if use debug ; then
|
||||||
append-cflags "-g"
|
append-cflags "-g"
|
||||||
myconf -DDEBUGGING
|
myconf -DDEBUGGING
|
||||||
@ -624,9 +628,11 @@ src_configure() {
|
|||||||
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||||
|
|
||||||
# Older macOS with non-Apple GCC chokes on inline in system headers
|
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||||
# using c89 mode as injected by cflags.SH
|
# using c89 mode as injected by cflags.SH, in addition, we override
|
||||||
|
# cflags, so we loose PERL_DARWIN which enables compat code that
|
||||||
|
# apparently on more recent macOS releases is no longer necessary
|
||||||
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||||
append-cflags -Dinline=__inline__
|
append-cflags -Dinline=__inline__ -DPERL_DARWIN
|
||||||
|
|
||||||
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
||||||
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
||||||
@ -676,6 +682,7 @@ src_configure() {
|
|||||||
-Dnm="$(tc-getNM)" \
|
-Dnm="$(tc-getNM)" \
|
||||||
-Dcpp="$(tc-getCPP)" \
|
-Dcpp="$(tc-getCPP)" \
|
||||||
-Dranlib="$(tc-getRANLIB)" \
|
-Dranlib="$(tc-getRANLIB)" \
|
||||||
|
-Dccflags="${CFLAGS}" \
|
||||||
-Doptimize="${CFLAGS}" \
|
-Doptimize="${CFLAGS}" \
|
||||||
-Dldflags="${LDFLAGS}" \
|
-Dldflags="${LDFLAGS}" \
|
||||||
-Dprefix="${EPREFIX}"'/usr' \
|
-Dprefix="${EPREFIX}"'/usr' \
|
||||||
@ -708,7 +715,6 @@ src_configure() {
|
|||||||
-Dsh="${EPREFIX}"/bin/sh \
|
-Dsh="${EPREFIX}"/bin/sh \
|
||||||
-Dtargetsh="${EPREFIX}"/bin/sh \
|
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||||
-Uusenm \
|
-Uusenm \
|
||||||
"${myconf[@]}" \
|
|
||||||
"${EXTRA_ECONF[@]}"
|
"${EXTRA_ECONF[@]}"
|
||||||
|
|
||||||
if tc-is-cross-compiler; then
|
if tc-is-cross-compiler; then
|
||||||
@ -795,7 +801,7 @@ pkg_preinst() {
|
|||||||
pkg_postinst() {
|
pkg_postinst() {
|
||||||
dual_scripts
|
dual_scripts
|
||||||
|
|
||||||
if [[ "${ROOT}" = "/" ]] ; then
|
if [[ -z "${ROOT}" ]] ; then
|
||||||
local INC DIR file
|
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" }')
|
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"
|
einfo "Removing old .ph files"
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
@ -14,18 +14,16 @@ DIST_AUTHOR=XSAWYERX
|
|||||||
|
|
||||||
# Greatest first, don't include yourself
|
# Greatest first, don't include yourself
|
||||||
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||||
# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions
|
# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
|
||||||
PERL_BIN_OLDVERSEN=""
|
PERL_BIN_OLDVERSEN=""
|
||||||
|
|
||||||
# Yes we can.
|
|
||||||
PERL_SINGLE_SLOT=y
|
|
||||||
|
|
||||||
if [[ "${PV##*.}" == "9999" ]]; then
|
if [[ "${PV##*.}" == "9999" ]]; then
|
||||||
DIST_VERSION=5.30.0
|
DIST_VERSION=5.30.0
|
||||||
else
|
else
|
||||||
DIST_VERSION="${PV/_rc/-RC}"
|
DIST_VERSION="${PV/_rc/-RC}"
|
||||||
fi
|
fi
|
||||||
SHORT_PV="${DIST_VERSION%.*}"
|
SHORT_PV="${DIST_VERSION%.*}"
|
||||||
|
|
||||||
# Even numbered major versions are ABI intercompatible
|
# Even numbered major versions are ABI intercompatible
|
||||||
# Odd numbered major versions are not
|
# Odd numbered major versions are not
|
||||||
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||||
@ -33,6 +31,7 @@ if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
|||||||
else
|
else
|
||||||
SUBSLOT="${DIST_VERSION%.*}"
|
SUBSLOT="${DIST_VERSION%.*}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Used only in tar paths
|
# Used only in tar paths
|
||||||
MY_P="perl-${DIST_VERSION}"
|
MY_P="perl-${DIST_VERSION}"
|
||||||
# Used in library paths
|
# Used in library paths
|
||||||
@ -56,7 +55,7 @@ if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
|||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
IUSE="berkdb debug doc gdbm ithreads minimal"
|
IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
|
||||||
|
|
||||||
RDEPEND="
|
RDEPEND="
|
||||||
berkdb? ( sys-libs/db:= )
|
berkdb? ( sys-libs/db:= )
|
||||||
@ -71,6 +70,8 @@ BDEPEND="${RDEPEND}"
|
|||||||
PDEPEND="
|
PDEPEND="
|
||||||
!minimal? (
|
!minimal? (
|
||||||
>=app-admin/perl-cleaner-2.5
|
>=app-admin/perl-cleaner-2.5
|
||||||
|
>=virtual/perl-CPAN-2.290.0
|
||||||
|
>=virtual/perl-Encode-3.120.0
|
||||||
>=virtual/perl-File-Temp-0.230.400-r2
|
>=virtual/perl-File-Temp-0.230.400-r2
|
||||||
>=virtual/perl-Data-Dumper-2.154.0
|
>=virtual/perl-Data-Dumper-2.154.0
|
||||||
virtual/perl-Test-Harness
|
virtual/perl-Test-Harness
|
||||||
@ -125,13 +126,16 @@ check_rebuild() {
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
# Reinstall w/ USE Change
|
# Reinstall w/ USE Change
|
||||||
elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
elif
|
||||||
|
( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
||||||
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
||||||
|
( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
|
||||||
|
( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
|
||||||
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
||||||
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
||||||
echo ""
|
echo ""
|
||||||
ewarn "TOGGLED USE-FLAGS WARNING:"
|
ewarn "TOGGLED USE-FLAGS WARNING:"
|
||||||
ewarn "You changed one of the use-flags ithreads or debug."
|
ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
|
||||||
ewarn "You must rebuild all perl-modules installed."
|
ewarn "You must rebuild all perl-modules installed."
|
||||||
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||||
fi
|
fi
|
||||||
@ -153,6 +157,9 @@ pkg_setup() {
|
|||||||
if use debug ; then
|
if use debug ; then
|
||||||
myarch+="-debug"
|
myarch+="-debug"
|
||||||
fi
|
fi
|
||||||
|
if use quadmath ; then
|
||||||
|
myarch+="-quadmath"
|
||||||
|
fi
|
||||||
if use ithreads ; then
|
if use ithreads ; then
|
||||||
mythreading="-multi"
|
mythreading="-multi"
|
||||||
myarch+="-thread"
|
myarch+="-thread"
|
||||||
@ -164,24 +171,12 @@ pkg_setup() {
|
|||||||
|
|
||||||
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
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}"
|
PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
|
||||||
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
||||||
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
||||||
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
fi
|
|
||||||
|
|
||||||
dual_scripts
|
dual_scripts
|
||||||
}
|
}
|
||||||
@ -263,6 +258,7 @@ src_prepare_perlcross() {
|
|||||||
MAKEOPTS+=" -j1"
|
MAKEOPTS+=" -j1"
|
||||||
export MAKEOPTS
|
export MAKEOPTS
|
||||||
}
|
}
|
||||||
|
|
||||||
src_prepare_dynamic() {
|
src_prepare_dynamic() {
|
||||||
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||||
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||||
@ -291,9 +287,10 @@ add_patch() {
|
|||||||
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Remove a patch using a glob expr
|
# Remove a patch using a glob expr
|
||||||
# eg:
|
# eg:
|
||||||
# rm_patch *-darin-Use-CC*
|
# rm_patch *-darwin-Use-CC*
|
||||||
#
|
#
|
||||||
rm_patch() {
|
rm_patch() {
|
||||||
local patchdir="${WORKDIR}/patches"
|
local patchdir="${WORKDIR}/patches"
|
||||||
@ -306,6 +303,7 @@ rm_patch() {
|
|||||||
ewarn "No ${expr} found in ${patchdir} to remove"
|
ewarn "No ${expr} found in ${patchdir} to remove"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Yes, this is a reasonable amount of code for something seemingly simple
|
# 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
|
# 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
|
# multiple times while I was getting the exact number of slashes right, which
|
||||||
@ -387,6 +385,7 @@ apply_patchdir() {
|
|||||||
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
local patchdir="${WORKDIR}/patches"
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
|
||||||
@ -397,6 +396,16 @@ src_prepare() {
|
|||||||
# "Fix broken miniperl on hppa"\
|
# "Fix broken miniperl on hppa"\
|
||||||
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
||||||
|
|
||||||
|
add_patch "${FILESDIR}/${P}-gdbm-1.20.patch" "0101-Fix-build-with-gdb120.patch"\
|
||||||
|
"Fix GDBM_File to compile with version 1.20 and earlier"\
|
||||||
|
"https://bugs.gentoo.org/802945"
|
||||||
|
|
||||||
|
if use prefix ; then
|
||||||
|
add_patch "${FILESDIR}/${P}"-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
|
||||||
|
"Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
|
||||||
|
"https://bugs.gentoo.org/818172"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||||
# do NOT mess with nsl, on Solaris this is always necessary,
|
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||||
# when -lsocket is used e.g. to get h_errno
|
# when -lsocket is used e.g. to get h_errno
|
||||||
@ -427,6 +436,12 @@ src_prepare() {
|
|||||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||||
# fix install_name (soname) not to reference $D
|
# fix install_name (soname) not to reference $D
|
||||||
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||||
|
|
||||||
|
# fix environ linkage absence (only a real issue on Darwin9)
|
||||||
|
if [[ ${CHOST##*-darwin} -le 9 ]] ; then
|
||||||
|
sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
|
||||||
|
Makefile.SH || die
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
default
|
default
|
||||||
@ -443,16 +458,10 @@ myconf() {
|
|||||||
# /usr/local/lib64/perl5/<NUMBER>
|
# /usr/local/lib64/perl5/<NUMBER>
|
||||||
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
||||||
#
|
#
|
||||||
# All values of NUMBER must be like "5.x.y", unless PERL_SUPPORT_SINGLE_SLOT
|
# All values of NUMBER must be like "5.x.y" or like "5.x"
|
||||||
# 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() {
|
find_candidate_inc_versions() {
|
||||||
local regex='.*/5[.][0-9]+[.][0-9]+$';
|
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=(
|
local dirs=(
|
||||||
"${EROOT}${PRIV_BASE}"
|
"${EROOT}${PRIV_BASE}"
|
||||||
"${EROOT}${SITE_BASE}"
|
"${EROOT}${SITE_BASE}"
|
||||||
@ -476,13 +485,11 @@ find_candidate_inc_versions() {
|
|||||||
einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
|
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
|
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
|
# Sort versions passed versiony-ly, remove self-version if present
|
||||||
# dedup. Takes each version as an argument
|
# dedup. Takes each version as an argument
|
||||||
sanitize_inc_versions() {
|
sanitize_inc_versions() {
|
||||||
local vexclude="${DIST_VERSION%-RC}"
|
local vexclude="${SUBSLOT}"
|
||||||
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
|
||||||
vexclude="${SUBSLOT}"
|
|
||||||
fi
|
|
||||||
einfo "Normalizing/Sorting candidate list: $*"
|
einfo "Normalizing/Sorting candidate list: $*"
|
||||||
einfo " to remove '${vexclude}'"
|
einfo " to remove '${vexclude}'"
|
||||||
# Note, general numeric sort has to be used
|
# Note, general numeric sort has to be used
|
||||||
@ -494,22 +501,18 @@ sanitize_inc_versions() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
versions_to_inclist() {
|
versions_to_inclist() {
|
||||||
local oldv="${PERL_BIN_OLDVERSEN}"
|
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||||
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
|
||||||
oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
|
||||||
fi
|
|
||||||
for v; do
|
for v; do
|
||||||
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
||||||
echo -n "${v}/ ";
|
echo -n "${v}/ ";
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
versions_to_gentoolibdirs() {
|
versions_to_gentoolibdirs() {
|
||||||
local oldv="${PERL_BIN_OLDVERSEN}"
|
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||||
local root
|
local root
|
||||||
local v
|
local v
|
||||||
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
|
||||||
oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
|
||||||
fi
|
|
||||||
for v; do
|
for v; do
|
||||||
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
||||||
local fullpath="${EROOT}${root}/${v}"
|
local fullpath="${EROOT}${root}/${v}"
|
||||||
@ -576,6 +579,8 @@ src_configure() {
|
|||||||
|
|
||||||
use ithreads && myconf -Dusethreads
|
use ithreads && myconf -Dusethreads
|
||||||
|
|
||||||
|
use quadmath && myconf -Dusequadmath
|
||||||
|
|
||||||
if use debug ; then
|
if use debug ; then
|
||||||
append-cflags "-g"
|
append-cflags "-g"
|
||||||
myconf -DDEBUGGING
|
myconf -DDEBUGGING
|
||||||
@ -623,9 +628,11 @@ src_configure() {
|
|||||||
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||||
|
|
||||||
# Older macOS with non-Apple GCC chokes on inline in system headers
|
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||||
# using c89 mode as injected by cflags.SH
|
# using c89 mode as injected by cflags.SH, in addition, we override
|
||||||
|
# cflags, so we loose PERL_DARWIN which enables compat code that
|
||||||
|
# apparently on more recent macOS releases is no longer necessary
|
||||||
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||||
append-cflags -Dinline=__inline__
|
append-cflags -Dinline=__inline__ -DPERL_DARWIN
|
||||||
|
|
||||||
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
||||||
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
||||||
@ -675,6 +682,7 @@ src_configure() {
|
|||||||
-Dnm="$(tc-getNM)" \
|
-Dnm="$(tc-getNM)" \
|
||||||
-Dcpp="$(tc-getCPP)" \
|
-Dcpp="$(tc-getCPP)" \
|
||||||
-Dranlib="$(tc-getRANLIB)" \
|
-Dranlib="$(tc-getRANLIB)" \
|
||||||
|
-Accflags="${CFLAGS}" \
|
||||||
-Doptimize="${CFLAGS}" \
|
-Doptimize="${CFLAGS}" \
|
||||||
-Dldflags="${LDFLAGS}" \
|
-Dldflags="${LDFLAGS}" \
|
||||||
-Dprefix="${EPREFIX}"'/usr' \
|
-Dprefix="${EPREFIX}"'/usr' \
|
||||||
@ -707,7 +715,6 @@ src_configure() {
|
|||||||
-Dsh="${EPREFIX}"/bin/sh \
|
-Dsh="${EPREFIX}"/bin/sh \
|
||||||
-Dtargetsh="${EPREFIX}"/bin/sh \
|
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||||
-Uusenm \
|
-Uusenm \
|
||||||
"${myconf[@]}" \
|
|
||||||
"${EXTRA_ECONF[@]}"
|
"${EXTRA_ECONF[@]}"
|
||||||
|
|
||||||
if tc-is-cross-compiler; then
|
if tc-is-cross-compiler; then
|
||||||
@ -794,7 +801,7 @@ pkg_preinst() {
|
|||||||
pkg_postinst() {
|
pkg_postinst() {
|
||||||
dual_scripts
|
dual_scripts
|
||||||
|
|
||||||
if [[ "${ROOT}" = "/" ]] ; then
|
if [[ -z "${ROOT}" ]] ; then
|
||||||
local INC DIR file
|
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" }')
|
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"
|
einfo "Removing old .ph files"
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
@ -14,18 +14,16 @@ DIST_AUTHOR=XSAWYERX
|
|||||||
|
|
||||||
# Greatest first, don't include yourself
|
# Greatest first, don't include yourself
|
||||||
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||||
# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions
|
# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
|
||||||
PERL_BIN_OLDVERSEN=""
|
PERL_BIN_OLDVERSEN=""
|
||||||
|
|
||||||
# Yes we can.
|
|
||||||
PERL_SINGLE_SLOT=y
|
|
||||||
|
|
||||||
if [[ "${PV##*.}" == "9999" ]]; then
|
if [[ "${PV##*.}" == "9999" ]]; then
|
||||||
DIST_VERSION=5.30.0
|
DIST_VERSION=5.30.0
|
||||||
else
|
else
|
||||||
DIST_VERSION="${PV/_rc/-RC}"
|
DIST_VERSION="${PV/_rc/-RC}"
|
||||||
fi
|
fi
|
||||||
SHORT_PV="${DIST_VERSION%.*}"
|
SHORT_PV="${DIST_VERSION%.*}"
|
||||||
|
|
||||||
# Even numbered major versions are ABI intercompatible
|
# Even numbered major versions are ABI intercompatible
|
||||||
# Odd numbered major versions are not
|
# Odd numbered major versions are not
|
||||||
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||||
@ -33,6 +31,7 @@ if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
|||||||
else
|
else
|
||||||
SUBSLOT="${DIST_VERSION%.*}"
|
SUBSLOT="${DIST_VERSION%.*}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Used only in tar paths
|
# Used only in tar paths
|
||||||
MY_P="perl-${DIST_VERSION}"
|
MY_P="perl-${DIST_VERSION}"
|
||||||
# Used in library paths
|
# Used in library paths
|
||||||
@ -53,7 +52,7 @@ LICENSE="|| ( Artistic GPL-1+ )"
|
|||||||
SLOT="0/${SUBSLOT}"
|
SLOT="0/${SUBSLOT}"
|
||||||
|
|
||||||
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
IUSE="berkdb debug doc gdbm ithreads minimal"
|
IUSE="berkdb debug doc gdbm ithreads minimal"
|
||||||
@ -71,6 +70,8 @@ BDEPEND="${RDEPEND}"
|
|||||||
PDEPEND="
|
PDEPEND="
|
||||||
!minimal? (
|
!minimal? (
|
||||||
>=app-admin/perl-cleaner-2.5
|
>=app-admin/perl-cleaner-2.5
|
||||||
|
>=virtual/perl-CPAN-2.290.0
|
||||||
|
>=virtual/perl-Encode-3.120.0
|
||||||
>=virtual/perl-File-Temp-0.230.400-r2
|
>=virtual/perl-File-Temp-0.230.400-r2
|
||||||
>=virtual/perl-Data-Dumper-2.154.0
|
>=virtual/perl-Data-Dumper-2.154.0
|
||||||
virtual/perl-Test-Harness
|
virtual/perl-Test-Harness
|
||||||
@ -164,24 +165,12 @@ pkg_setup() {
|
|||||||
|
|
||||||
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
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}"
|
PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
|
||||||
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
||||||
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
||||||
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
fi
|
|
||||||
|
|
||||||
dual_scripts
|
dual_scripts
|
||||||
}
|
}
|
||||||
@ -256,10 +245,14 @@ src_remove_dual() {
|
|||||||
src_prepare_perlcross() {
|
src_prepare_perlcross() {
|
||||||
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
||||||
|
|
||||||
|
# bug 794463, needs further analysis what is exactly wrong here
|
||||||
|
eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
|
||||||
|
|
||||||
# bug 604072
|
# bug 604072
|
||||||
MAKEOPTS+=" -j1"
|
MAKEOPTS+=" -j1"
|
||||||
export MAKEOPTS
|
export MAKEOPTS
|
||||||
}
|
}
|
||||||
|
|
||||||
src_prepare_dynamic() {
|
src_prepare_dynamic() {
|
||||||
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||||
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||||
@ -288,9 +281,10 @@ add_patch() {
|
|||||||
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Remove a patch using a glob expr
|
# Remove a patch using a glob expr
|
||||||
# eg:
|
# eg:
|
||||||
# rm_patch *-darin-Use-CC*
|
# rm_patch *-darwin-Use-CC*
|
||||||
#
|
#
|
||||||
rm_patch() {
|
rm_patch() {
|
||||||
local patchdir="${WORKDIR}/patches"
|
local patchdir="${WORKDIR}/patches"
|
||||||
@ -303,6 +297,7 @@ rm_patch() {
|
|||||||
ewarn "No ${expr} found in ${patchdir} to remove"
|
ewarn "No ${expr} found in ${patchdir} to remove"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Yes, this is a reasonable amount of code for something seemingly simple
|
# 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
|
# 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
|
# multiple times while I was getting the exact number of slashes right, which
|
||||||
@ -384,6 +379,7 @@ apply_patchdir() {
|
|||||||
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
local patchdir="${WORKDIR}/patches"
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
|
||||||
@ -394,6 +390,16 @@ src_prepare() {
|
|||||||
# "Fix broken miniperl on hppa"\
|
# "Fix broken miniperl on hppa"\
|
||||||
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
||||||
|
|
||||||
|
add_patch "${FILESDIR}/${P}-gdbm-1.20.patch" "0101-Fix-build-with-gdb120.patch"\
|
||||||
|
"Fix GDBM_File to compile with version 1.20 and earlier"\
|
||||||
|
"https://bugs.gentoo.org/802945"
|
||||||
|
|
||||||
|
if use prefix ; then
|
||||||
|
add_patch "${FILESDIR}/${P}"-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
|
||||||
|
"Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
|
||||||
|
"https://bugs.gentoo.org/818172"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||||
# do NOT mess with nsl, on Solaris this is always necessary,
|
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||||
# when -lsocket is used e.g. to get h_errno
|
# when -lsocket is used e.g. to get h_errno
|
||||||
@ -424,6 +430,12 @@ src_prepare() {
|
|||||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||||
# fix install_name (soname) not to reference $D
|
# fix install_name (soname) not to reference $D
|
||||||
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||||
|
|
||||||
|
# fix environ linkage absence (only a real issue on Darwin9)
|
||||||
|
if [[ ${CHOST##*-darwin} -le 9 ]] ; then
|
||||||
|
sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
|
||||||
|
Makefile.SH || die
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
default
|
default
|
||||||
@ -440,16 +452,10 @@ myconf() {
|
|||||||
# /usr/local/lib64/perl5/<NUMBER>
|
# /usr/local/lib64/perl5/<NUMBER>
|
||||||
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
||||||
#
|
#
|
||||||
# All values of NUMBER must be like "5.x.y", unless PERL_SUPPORT_SINGLE_SLOT
|
# All values of NUMBER must be like "5.x.y" or like "5.x"
|
||||||
# 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() {
|
find_candidate_inc_versions() {
|
||||||
local regex='.*/5[.][0-9]+[.][0-9]+$';
|
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=(
|
local dirs=(
|
||||||
"${EROOT}${PRIV_BASE}"
|
"${EROOT}${PRIV_BASE}"
|
||||||
"${EROOT}${SITE_BASE}"
|
"${EROOT}${SITE_BASE}"
|
||||||
@ -473,13 +479,11 @@ find_candidate_inc_versions() {
|
|||||||
einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
|
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
|
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
|
# Sort versions passed versiony-ly, remove self-version if present
|
||||||
# dedup. Takes each version as an argument
|
# dedup. Takes each version as an argument
|
||||||
sanitize_inc_versions() {
|
sanitize_inc_versions() {
|
||||||
local vexclude="${DIST_VERSION%-RC}"
|
local vexclude="${SUBSLOT}"
|
||||||
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
|
||||||
vexclude="${SUBSLOT}"
|
|
||||||
fi
|
|
||||||
einfo "Normalizing/Sorting candidate list: $*"
|
einfo "Normalizing/Sorting candidate list: $*"
|
||||||
einfo " to remove '${vexclude}'"
|
einfo " to remove '${vexclude}'"
|
||||||
# Note, general numeric sort has to be used
|
# Note, general numeric sort has to be used
|
||||||
@ -491,22 +495,18 @@ sanitize_inc_versions() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
versions_to_inclist() {
|
versions_to_inclist() {
|
||||||
local oldv="${PERL_BIN_OLDVERSEN}"
|
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||||
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
|
||||||
oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
|
||||||
fi
|
|
||||||
for v; do
|
for v; do
|
||||||
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
||||||
echo -n "${v}/ ";
|
echo -n "${v}/ ";
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
versions_to_gentoolibdirs() {
|
versions_to_gentoolibdirs() {
|
||||||
local oldv="${PERL_BIN_OLDVERSEN}"
|
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||||
local root
|
local root
|
||||||
local v
|
local v
|
||||||
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
|
||||||
oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
|
||||||
fi
|
|
||||||
for v; do
|
for v; do
|
||||||
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
||||||
local fullpath="${EROOT}${root}/${v}"
|
local fullpath="${EROOT}${root}/${v}"
|
||||||
@ -620,9 +620,11 @@ src_configure() {
|
|||||||
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||||
|
|
||||||
# Older macOS with non-Apple GCC chokes on inline in system headers
|
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||||
# using c89 mode as injected by cflags.SH
|
# using c89 mode as injected by cflags.SH, in addition, we override
|
||||||
|
# cflags, so we loose PERL_DARWIN which enables compat code that
|
||||||
|
# apparently on more recent macOS releases is no longer necessary
|
||||||
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||||
append-cflags -Dinline=__inline__
|
append-cflags -Dinline=__inline__ -DPERL_DARWIN
|
||||||
|
|
||||||
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
||||||
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
||||||
@ -672,6 +674,7 @@ src_configure() {
|
|||||||
-Dnm="$(tc-getNM)" \
|
-Dnm="$(tc-getNM)" \
|
||||||
-Dcpp="$(tc-getCPP)" \
|
-Dcpp="$(tc-getCPP)" \
|
||||||
-Dranlib="$(tc-getRANLIB)" \
|
-Dranlib="$(tc-getRANLIB)" \
|
||||||
|
-Dccflags="${CFLAGS}" \
|
||||||
-Doptimize="${CFLAGS}" \
|
-Doptimize="${CFLAGS}" \
|
||||||
-Dldflags="${LDFLAGS}" \
|
-Dldflags="${LDFLAGS}" \
|
||||||
-Dprefix="${EPREFIX}"'/usr' \
|
-Dprefix="${EPREFIX}"'/usr' \
|
||||||
@ -704,7 +707,6 @@ src_configure() {
|
|||||||
-Dsh="${EPREFIX}"/bin/sh \
|
-Dsh="${EPREFIX}"/bin/sh \
|
||||||
-Dtargetsh="${EPREFIX}"/bin/sh \
|
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||||
-Uusenm \
|
-Uusenm \
|
||||||
"${myconf[@]}" \
|
|
||||||
"${EXTRA_ECONF[@]}"
|
"${EXTRA_ECONF[@]}"
|
||||||
|
|
||||||
if tc-is-cross-compiler; then
|
if tc-is-cross-compiler; then
|
||||||
@ -791,7 +793,7 @@ pkg_preinst() {
|
|||||||
pkg_postinst() {
|
pkg_postinst() {
|
||||||
dual_scripts
|
dual_scripts
|
||||||
|
|
||||||
if [[ "${ROOT}" = "/" ]] ; then
|
if [[ -z "${ROOT}" ]] ; then
|
||||||
local INC DIR file
|
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" }')
|
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"
|
einfo "Removing old .ph files"
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
@ -6,26 +6,24 @@ EAPI=7
|
|||||||
inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||||
|
|
||||||
PATCH_VER=1
|
PATCH_VER=1
|
||||||
CROSS_VER=1.3.4
|
CROSS_VER=1.3.7
|
||||||
PATCH_BASE="perl-5.32.0-patches-${PATCH_VER}"
|
PATCH_BASE="perl-5.34.0-patches-${PATCH_VER}"
|
||||||
PATCH_DEV=kentnl
|
PATCH_DEV=dilfridge
|
||||||
|
|
||||||
DIST_AUTHOR=XSAWYERX
|
DIST_AUTHOR=XSAWYERX
|
||||||
|
|
||||||
# Greatest first, don't include yourself
|
# Greatest first, don't include yourself
|
||||||
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||||
# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions
|
# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
|
||||||
PERL_BIN_OLDVERSEN=""
|
PERL_BIN_OLDVERSEN=""
|
||||||
|
|
||||||
# Yes we can.
|
|
||||||
PERL_SINGLE_SLOT=y
|
|
||||||
|
|
||||||
if [[ "${PV##*.}" == "9999" ]]; then
|
if [[ "${PV##*.}" == "9999" ]]; then
|
||||||
DIST_VERSION=5.30.0
|
DIST_VERSION=5.30.0
|
||||||
else
|
else
|
||||||
DIST_VERSION="${PV/_rc/-RC}"
|
DIST_VERSION="${PV/_rc/-RC}"
|
||||||
fi
|
fi
|
||||||
SHORT_PV="${DIST_VERSION%.*}"
|
SHORT_PV="${DIST_VERSION%.*}"
|
||||||
|
|
||||||
# Even numbered major versions are ABI intercompatible
|
# Even numbered major versions are ABI intercompatible
|
||||||
# Odd numbered major versions are not
|
# Odd numbered major versions are not
|
||||||
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||||
@ -33,6 +31,7 @@ if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
|||||||
else
|
else
|
||||||
SUBSLOT="${DIST_VERSION%.*}"
|
SUBSLOT="${DIST_VERSION%.*}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Used only in tar paths
|
# Used only in tar paths
|
||||||
MY_P="perl-${DIST_VERSION}"
|
MY_P="perl-${DIST_VERSION}"
|
||||||
# Used in library paths
|
# Used in library paths
|
||||||
@ -53,12 +52,10 @@ LICENSE="|| ( Artistic GPL-1+ )"
|
|||||||
SLOT="0/${SUBSLOT}"
|
SLOT="0/${SUBSLOT}"
|
||||||
|
|
||||||
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
||||||
# SOMEWHAT EXPERIMENTAL CODE, DO NOT USE WITHOUT AN ADULT PRESENT, CHECK CHANGELOG
|
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"
|
||||||
# FOR DETAILS
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
IUSE="berkdb debug doc gdbm ithreads minimal"
|
IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
|
||||||
|
|
||||||
RDEPEND="
|
RDEPEND="
|
||||||
berkdb? ( sys-libs/db:= )
|
berkdb? ( sys-libs/db:= )
|
||||||
@ -73,6 +70,8 @@ BDEPEND="${RDEPEND}"
|
|||||||
PDEPEND="
|
PDEPEND="
|
||||||
!minimal? (
|
!minimal? (
|
||||||
>=app-admin/perl-cleaner-2.5
|
>=app-admin/perl-cleaner-2.5
|
||||||
|
>=virtual/perl-CPAN-2.290.0
|
||||||
|
>=virtual/perl-Encode-3.120.0
|
||||||
>=virtual/perl-File-Temp-0.230.400-r2
|
>=virtual/perl-File-Temp-0.230.400-r2
|
||||||
>=virtual/perl-Data-Dumper-2.154.0
|
>=virtual/perl-Data-Dumper-2.154.0
|
||||||
virtual/perl-Test-Harness
|
virtual/perl-Test-Harness
|
||||||
@ -84,19 +83,19 @@ PDEPEND="
|
|||||||
S="${WORKDIR}/${MY_P}"
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
dual_scripts() {
|
dual_scripts() {
|
||||||
src_remove_dual perl-core/Archive-Tar 2.360.0 ptar ptardiff ptargrep
|
src_remove_dual perl-core/Archive-Tar 2.380.0 ptar ptardiff ptargrep
|
||||||
src_remove_dual perl-core/CPAN 2.270.0 cpan
|
src_remove_dual perl-core/CPAN 2.280.0 cpan
|
||||||
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
|
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
|
||||||
src_remove_dual perl-core/Encode 3.60.0 enc2xs piconv
|
src_remove_dual perl-core/Encode 3.80.100_rc enc2xs piconv
|
||||||
src_remove_dual perl-core/ExtUtils-MakeMaker 7.440.0 instmodsh
|
src_remove_dual perl-core/ExtUtils-MakeMaker 7.620.0 instmodsh
|
||||||
src_remove_dual perl-core/ExtUtils-ParseXS 3.400.0 xsubpp
|
src_remove_dual perl-core/ExtUtils-ParseXS 3.430.0 xsubpp
|
||||||
src_remove_dual perl-core/IO-Compress 2.93.0 zipdetails
|
src_remove_dual perl-core/IO-Compress 2.102.0 zipdetails
|
||||||
src_remove_dual perl-core/JSON-PP 4.40.0 json_pp
|
src_remove_dual perl-core/JSON-PP 4.60.0 json_pp
|
||||||
src_remove_dual perl-core/Module-CoreList 5.202.101.23 corelist
|
src_remove_dual perl-core/Module-CoreList 5.202.203.130 corelist
|
||||||
src_remove_dual perl-core/Pod-Checker 1.730.0 podchecker
|
src_remove_dual perl-core/Pod-Checker 1.740.0 podchecker
|
||||||
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
|
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
|
||||||
src_remove_dual perl-core/Pod-Usage 1.690.0 pod2usage
|
src_remove_dual perl-core/Pod-Usage 2.10.0 pod2usage
|
||||||
src_remove_dual perl-core/Test-Harness 3.420.0 prove
|
src_remove_dual perl-core/Test-Harness 3.430.0 prove
|
||||||
src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
|
src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
|
||||||
src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
|
src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
|
||||||
}
|
}
|
||||||
@ -127,13 +126,16 @@ check_rebuild() {
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
# Reinstall w/ USE Change
|
# Reinstall w/ USE Change
|
||||||
elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
elif
|
||||||
|
( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
||||||
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
||||||
|
( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
|
||||||
|
( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
|
||||||
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
||||||
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
||||||
echo ""
|
echo ""
|
||||||
ewarn "TOGGLED USE-FLAGS WARNING:"
|
ewarn "TOGGLED USE-FLAGS WARNING:"
|
||||||
ewarn "You changed one of the use-flags ithreads or debug."
|
ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
|
||||||
ewarn "You must rebuild all perl-modules installed."
|
ewarn "You must rebuild all perl-modules installed."
|
||||||
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||||
fi
|
fi
|
||||||
@ -155,6 +157,9 @@ pkg_setup() {
|
|||||||
if use debug ; then
|
if use debug ; then
|
||||||
myarch+="-debug"
|
myarch+="-debug"
|
||||||
fi
|
fi
|
||||||
|
if use quadmath ; then
|
||||||
|
myarch+="-quadmath"
|
||||||
|
fi
|
||||||
if use ithreads ; then
|
if use ithreads ; then
|
||||||
mythreading="-multi"
|
mythreading="-multi"
|
||||||
myarch+="-thread"
|
myarch+="-thread"
|
||||||
@ -166,24 +171,12 @@ pkg_setup() {
|
|||||||
|
|
||||||
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
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}"
|
PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
|
||||||
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
||||||
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
||||||
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
fi
|
|
||||||
|
|
||||||
dual_scripts
|
dual_scripts
|
||||||
}
|
}
|
||||||
@ -258,10 +251,14 @@ src_remove_dual() {
|
|||||||
src_prepare_perlcross() {
|
src_prepare_perlcross() {
|
||||||
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
||||||
|
|
||||||
|
# bug 794463, needs further analysis what is exactly wrong here
|
||||||
|
eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
|
||||||
|
|
||||||
# bug 604072
|
# bug 604072
|
||||||
MAKEOPTS+=" -j1"
|
MAKEOPTS+=" -j1"
|
||||||
export MAKEOPTS
|
export MAKEOPTS
|
||||||
}
|
}
|
||||||
|
|
||||||
src_prepare_dynamic() {
|
src_prepare_dynamic() {
|
||||||
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||||
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||||
@ -290,9 +287,10 @@ add_patch() {
|
|||||||
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Remove a patch using a glob expr
|
# Remove a patch using a glob expr
|
||||||
# eg:
|
# eg:
|
||||||
# rm_patch *-darin-Use-CC*
|
# rm_patch *-darwin-Use-CC*
|
||||||
#
|
#
|
||||||
rm_patch() {
|
rm_patch() {
|
||||||
local patchdir="${WORKDIR}/patches"
|
local patchdir="${WORKDIR}/patches"
|
||||||
@ -305,6 +303,7 @@ rm_patch() {
|
|||||||
ewarn "No ${expr} found in ${patchdir} to remove"
|
ewarn "No ${expr} found in ${patchdir} to remove"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Yes, this is a reasonable amount of code for something seemingly simple
|
# 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
|
# 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
|
# multiple times while I was getting the exact number of slashes right, which
|
||||||
@ -386,17 +385,23 @@ apply_patchdir() {
|
|||||||
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
local patchdir="${WORKDIR}/patches"
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
|
||||||
# Prepare Patch dir with additional patches / remove unwanted patches
|
# Prepare Patch dir with additional patches / remove unwanted patches
|
||||||
# Inject bug/desc entries for perl -V
|
# Inject bug/desc entries for perl -V
|
||||||
if use hppa ; then
|
# Old example:
|
||||||
# bug 634162
|
# add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
|
||||||
add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
|
# "Fix broken miniperl on hppa"\
|
||||||
"Fix broken miniperl on hppa"\
|
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
||||||
"https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
|
||||||
|
if use prefix ; then
|
||||||
|
add_patch "${FILESDIR}/${PN}"-5.34.0-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
|
||||||
|
"Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
|
||||||
|
"https://bugs.gentoo.org/818172"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||||
# do NOT mess with nsl, on Solaris this is always necessary,
|
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||||
# when -lsocket is used e.g. to get h_errno
|
# when -lsocket is used e.g. to get h_errno
|
||||||
@ -427,6 +432,12 @@ src_prepare() {
|
|||||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||||
# fix install_name (soname) not to reference $D
|
# fix install_name (soname) not to reference $D
|
||||||
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||||
|
|
||||||
|
# fix environ linkage absence (only a real issue on Darwin9)
|
||||||
|
if [[ ${CHOST##*-darwin} -le 9 ]] ; then
|
||||||
|
sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
|
||||||
|
Makefile.SH || die
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
default
|
default
|
||||||
@ -443,16 +454,10 @@ myconf() {
|
|||||||
# /usr/local/lib64/perl5/<NUMBER>
|
# /usr/local/lib64/perl5/<NUMBER>
|
||||||
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
||||||
#
|
#
|
||||||
# All values of NUMBER must be like "5.x.y", unless PERL_SUPPORT_SINGLE_SLOT
|
# All values of NUMBER must be like "5.x.y" or like "5.x"
|
||||||
# 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() {
|
find_candidate_inc_versions() {
|
||||||
local regex='.*/5[.][0-9]+[.][0-9]+$';
|
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=(
|
local dirs=(
|
||||||
"${EROOT}${PRIV_BASE}"
|
"${EROOT}${PRIV_BASE}"
|
||||||
"${EROOT}${SITE_BASE}"
|
"${EROOT}${SITE_BASE}"
|
||||||
@ -476,13 +481,11 @@ find_candidate_inc_versions() {
|
|||||||
einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
|
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
|
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
|
# Sort versions passed versiony-ly, remove self-version if present
|
||||||
# dedup. Takes each version as an argument
|
# dedup. Takes each version as an argument
|
||||||
sanitize_inc_versions() {
|
sanitize_inc_versions() {
|
||||||
local vexclude="${DIST_VERSION%-RC}"
|
local vexclude="${SUBSLOT}"
|
||||||
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
|
||||||
vexclude="${SUBSLOT}"
|
|
||||||
fi
|
|
||||||
einfo "Normalizing/Sorting candidate list: $*"
|
einfo "Normalizing/Sorting candidate list: $*"
|
||||||
einfo " to remove '${vexclude}'"
|
einfo " to remove '${vexclude}'"
|
||||||
# Note, general numeric sort has to be used
|
# Note, general numeric sort has to be used
|
||||||
@ -494,22 +497,18 @@ sanitize_inc_versions() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
versions_to_inclist() {
|
versions_to_inclist() {
|
||||||
local oldv="${PERL_BIN_OLDVERSEN}"
|
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||||
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
|
||||||
oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
|
||||||
fi
|
|
||||||
for v; do
|
for v; do
|
||||||
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
||||||
echo -n "${v}/ ";
|
echo -n "${v}/ ";
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
versions_to_gentoolibdirs() {
|
versions_to_gentoolibdirs() {
|
||||||
local oldv="${PERL_BIN_OLDVERSEN}"
|
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||||
local root
|
local root
|
||||||
local v
|
local v
|
||||||
if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then
|
|
||||||
oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
|
||||||
fi
|
|
||||||
for v; do
|
for v; do
|
||||||
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
||||||
local fullpath="${EROOT}${root}/${v}"
|
local fullpath="${EROOT}${root}/${v}"
|
||||||
@ -576,6 +575,8 @@ src_configure() {
|
|||||||
|
|
||||||
use ithreads && myconf -Dusethreads
|
use ithreads && myconf -Dusethreads
|
||||||
|
|
||||||
|
use quadmath && myconf -Dusequadmath
|
||||||
|
|
||||||
if use debug ; then
|
if use debug ; then
|
||||||
append-cflags "-g"
|
append-cflags "-g"
|
||||||
myconf -DDEBUGGING
|
myconf -DDEBUGGING
|
||||||
@ -623,9 +624,11 @@ src_configure() {
|
|||||||
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||||
|
|
||||||
# Older macOS with non-Apple GCC chokes on inline in system headers
|
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||||
# using c89 mode as injected by cflags.SH
|
# using c89 mode as injected by cflags.SH, in addition, we override
|
||||||
|
# cflags, so we loose PERL_DARWIN which enables compat code that
|
||||||
|
# apparently on more recent macOS releases is no longer necessary
|
||||||
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||||
append-cflags -Dinline=__inline__
|
append-cflags -Dinline=__inline__ -DPERL_DARWIN
|
||||||
|
|
||||||
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
||||||
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
||||||
@ -675,6 +678,7 @@ src_configure() {
|
|||||||
-Dnm="$(tc-getNM)" \
|
-Dnm="$(tc-getNM)" \
|
||||||
-Dcpp="$(tc-getCPP)" \
|
-Dcpp="$(tc-getCPP)" \
|
||||||
-Dranlib="$(tc-getRANLIB)" \
|
-Dranlib="$(tc-getRANLIB)" \
|
||||||
|
-Accflags="${CFLAGS}" \
|
||||||
-Doptimize="${CFLAGS}" \
|
-Doptimize="${CFLAGS}" \
|
||||||
-Dldflags="${LDFLAGS}" \
|
-Dldflags="${LDFLAGS}" \
|
||||||
-Dprefix="${EPREFIX}"'/usr' \
|
-Dprefix="${EPREFIX}"'/usr' \
|
||||||
@ -707,7 +711,6 @@ src_configure() {
|
|||||||
-Dsh="${EPREFIX}"/bin/sh \
|
-Dsh="${EPREFIX}"/bin/sh \
|
||||||
-Dtargetsh="${EPREFIX}"/bin/sh \
|
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||||
-Uusenm \
|
-Uusenm \
|
||||||
"${myconf[@]}" \
|
|
||||||
"${EXTRA_ECONF[@]}"
|
"${EXTRA_ECONF[@]}"
|
||||||
|
|
||||||
if tc-is-cross-compiler; then
|
if tc-is-cross-compiler; then
|
||||||
@ -794,7 +797,7 @@ pkg_preinst() {
|
|||||||
pkg_postinst() {
|
pkg_postinst() {
|
||||||
dual_scripts
|
dual_scripts
|
||||||
|
|
||||||
if [[ "${ROOT}" = "/" ]] ; then
|
if [[ -z "${ROOT}" ]] ; then
|
||||||
local INC DIR file
|
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" }')
|
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"
|
einfo "Removing old .ph files"
|
836
sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.34.1-r3.ebuild
vendored
Normal file
836
sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.34.1-r3.ebuild
vendored
Normal file
@ -0,0 +1,836 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||||
|
|
||||||
|
PATCH_VER=1
|
||||||
|
CROSS_VER=1.3.7
|
||||||
|
PATCH_BASE="perl-5.34.0-patches-${PATCH_VER}"
|
||||||
|
PATCH_DEV=dilfridge
|
||||||
|
|
||||||
|
DIST_AUTHOR=XSAWYERX
|
||||||
|
|
||||||
|
# Greatest first, don't include yourself
|
||||||
|
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||||
|
# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
|
||||||
|
PERL_BIN_OLDVERSEN=""
|
||||||
|
|
||||||
|
if [[ "${PV##*.}" == "9999" ]]; then
|
||||||
|
DIST_VERSION=5.30.0
|
||||||
|
else
|
||||||
|
DIST_VERSION="${PV/_rc/-RC}"
|
||||||
|
fi
|
||||||
|
SHORT_PV="${DIST_VERSION%.*}"
|
||||||
|
|
||||||
|
# Even numbered major versions are ABI intercompatible
|
||||||
|
# Odd numbered major versions are not
|
||||||
|
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||||
|
SUBSLOT="${DIST_VERSION%-RC*}"
|
||||||
|
else
|
||||||
|
SUBSLOT="${DIST_VERSION%.*}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Used only in tar paths
|
||||||
|
MY_P="perl-${DIST_VERSION}"
|
||||||
|
# Used in library paths
|
||||||
|
MY_PV="${DIST_VERSION%-RC*}"
|
||||||
|
|
||||||
|
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
|
||||||
|
|
||||||
|
SRC_URI="
|
||||||
|
mirror://cpan/src/5.0/${MY_P}.tar.xz
|
||||||
|
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
|
||||||
|
https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
|
||||||
|
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
|
||||||
|
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI+="
|
||||||
|
https://dev.gentoo.org/~dilfridge/distfiles/perl-5.34.1-zlib-1.2.12.patch.xz
|
||||||
|
https://dev.gentoo.org/~dilfridge/distfiles/perl-5.34.1-zlib-1.2.12-encrypt-standard.zip.bin
|
||||||
|
"
|
||||||
|
|
||||||
|
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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
|
||||||
|
IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
berkdb? ( sys-libs/db:= )
|
||||||
|
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
|
||||||
|
app-arch/bzip2
|
||||||
|
sys-libs/zlib
|
||||||
|
virtual/libcrypt:=
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="${RDEPEND}"
|
||||||
|
|
||||||
|
PDEPEND="
|
||||||
|
!minimal? (
|
||||||
|
>=app-admin/perl-cleaner-2.5
|
||||||
|
>=virtual/perl-CPAN-2.290.0
|
||||||
|
>=virtual/perl-Encode-3.120.0
|
||||||
|
>=virtual/perl-File-Temp-0.230.400-r2
|
||||||
|
>=virtual/perl-Data-Dumper-2.154.0
|
||||||
|
virtual/perl-Test-Harness
|
||||||
|
)
|
||||||
|
"
|
||||||
|
# bug 390719, bug 523624
|
||||||
|
# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
|
||||||
|
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
|
dual_scripts() {
|
||||||
|
src_remove_dual perl-core/Archive-Tar 2.380.0 ptar ptardiff ptargrep
|
||||||
|
src_remove_dual perl-core/CPAN 2.280.0 cpan
|
||||||
|
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
|
||||||
|
src_remove_dual perl-core/Encode 3.80.100_rc enc2xs piconv
|
||||||
|
src_remove_dual perl-core/ExtUtils-MakeMaker 7.620.0 instmodsh
|
||||||
|
src_remove_dual perl-core/ExtUtils-ParseXS 3.430.0 xsubpp
|
||||||
|
src_remove_dual perl-core/IO-Compress 2.103.0 zipdetails
|
||||||
|
src_remove_dual perl-core/JSON-PP 4.60.0 json_pp
|
||||||
|
src_remove_dual perl-core/Module-CoreList 5.202.203.130 corelist
|
||||||
|
src_remove_dual perl-core/Pod-Checker 1.740.0 podchecker
|
||||||
|
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
|
||||||
|
src_remove_dual perl-core/Pod-Usage 2.10.0 pod2usage
|
||||||
|
src_remove_dual perl-core/Test-Harness 3.430.0 prove
|
||||||
|
src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
|
||||||
|
src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
|
||||||
|
}
|
||||||
|
|
||||||
|
check_rebuild() {
|
||||||
|
# Fresh install
|
||||||
|
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||||
|
return 0;
|
||||||
|
# Major Upgrade
|
||||||
|
# doesn't matter if there's multiple copies, it still needs a rebuild
|
||||||
|
# if the string is anything other than "5.CURRENTMAJOR"
|
||||||
|
elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
|
||||||
|
echo ""
|
||||||
|
ewarn "UPDATE THE PERL MODULES:"
|
||||||
|
ewarn "After updating dev-lang/perl the installed Perl modules"
|
||||||
|
ewarn "have to be re-installed. In most cases, this is done automatically"
|
||||||
|
ewarn "by the package manager, but subsequent steps are still recommended"
|
||||||
|
ewarn "to ensure system consistency."
|
||||||
|
ewarn
|
||||||
|
ewarn "You should start with a depclean to remove any unused perl dependencies"
|
||||||
|
ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
|
||||||
|
ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
|
||||||
|
ewarn "Recommended: emerge --depclean -va"
|
||||||
|
ewarn
|
||||||
|
ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
|
||||||
|
ewarn "remaining rebuilds portage may have missed."
|
||||||
|
ewarn "Use: perl-cleaner --all"
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
# Reinstall w/ USE Change
|
||||||
|
elif
|
||||||
|
( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
||||||
|
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
||||||
|
( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
|
||||||
|
( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
|
||||||
|
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
||||||
|
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
||||||
|
echo ""
|
||||||
|
ewarn "TOGGLED USE-FLAGS WARNING:"
|
||||||
|
ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
|
||||||
|
ewarn "You must rebuild all perl-modules installed."
|
||||||
|
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
case ${CHOST} in
|
||||||
|
*-freebsd*) osname="freebsd" ;;
|
||||||
|
*-dragonfly*) osname="dragonfly" ;;
|
||||||
|
*-netbsd*) osname="netbsd" ;;
|
||||||
|
*-openbsd*) osname="openbsd" ;;
|
||||||
|
*-darwin*) osname="darwin" ;;
|
||||||
|
*-solaris*) osname="solaris" ;;
|
||||||
|
*-cygwin*) osname="cygwin" ;;
|
||||||
|
*) osname="linux" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
myarch="${CHOST%%-*}-${osname}"
|
||||||
|
if use debug ; then
|
||||||
|
myarch+="-debug"
|
||||||
|
fi
|
||||||
|
if use quadmath ; then
|
||||||
|
myarch+="-quadmath"
|
||||||
|
fi
|
||||||
|
if use ithreads ; then
|
||||||
|
mythreading="-multi"
|
||||||
|
myarch+="-thread"
|
||||||
|
fi
|
||||||
|
|
||||||
|
PRIV_BASE="/usr/$(get_libdir)/perl5"
|
||||||
|
SITE_BASE="/usr/local/$(get_libdir)/perl5"
|
||||||
|
VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
|
||||||
|
|
||||||
|
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
||||||
|
|
||||||
|
PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
|
||||||
|
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
|
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
||||||
|
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
|
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
||||||
|
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
|
|
||||||
|
dual_scripts
|
||||||
|
}
|
||||||
|
|
||||||
|
src_remove_dual_file() {
|
||||||
|
local i pkg ver
|
||||||
|
pkg="$1"
|
||||||
|
ver="$2"
|
||||||
|
shift 2
|
||||||
|
case "${EBUILD_PHASE:-none}" in
|
||||||
|
postinst|postrm)
|
||||||
|
for i in "$@" ; do
|
||||||
|
alternatives_auto_makesym "${i}" "${i}-[0-9]*"
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
setup)
|
||||||
|
for i in "$@" ; do
|
||||||
|
if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
|
||||||
|
has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
install)
|
||||||
|
for i in "$@" ; do
|
||||||
|
if ! [[ -f "${ED}"${i} ]] ; then
|
||||||
|
ewarn "${i} does not exist!"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
mv "${ED}"${i}{,-${ver}-${P}} || die
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
src_remove_dual_man() {
|
||||||
|
local i pkg ver ff
|
||||||
|
pkg="$1"
|
||||||
|
ver="$2"
|
||||||
|
shift 2
|
||||||
|
case "${EBUILD_PHASE:-none}" in
|
||||||
|
postinst|postrm)
|
||||||
|
for i in "$@" ; do
|
||||||
|
ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
|
||||||
|
ff=${ff##*${i#${i%.[0-9]}}}
|
||||||
|
alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
install)
|
||||||
|
for i in "$@" ; do
|
||||||
|
if ! [[ -f "${ED}"${i} ]] ; then
|
||||||
|
ewarn "${i} does not exist!"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
src_remove_dual() {
|
||||||
|
local i pkg ver
|
||||||
|
pkg="$1"
|
||||||
|
ver="$2"
|
||||||
|
shift 2
|
||||||
|
for i in "$@" ; do
|
||||||
|
src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
|
||||||
|
src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare_perlcross() {
|
||||||
|
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
||||||
|
|
||||||
|
# bug 794463, needs further analysis what is exactly wrong here
|
||||||
|
eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
|
||||||
|
|
||||||
|
# bug 604072
|
||||||
|
MAKEOPTS+=" -j1"
|
||||||
|
export MAKEOPTS
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare_dynamic() {
|
||||||
|
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||||
|
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||||
|
}
|
||||||
|
|
||||||
|
# Copy a patch into the patch series
|
||||||
|
# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
|
||||||
|
# - description is optional, but recommended
|
||||||
|
# - all arguments after descriptions are bug URLs
|
||||||
|
add_patch() {
|
||||||
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
local infodir="${WORKDIR}/patch-info"
|
||||||
|
local src_name dest_name desc
|
||||||
|
src_name="$1"
|
||||||
|
dest_name="$2"
|
||||||
|
desc="$3"
|
||||||
|
shift; shift; shift;
|
||||||
|
einfo "Adding ${dest_name} to patch bundle"
|
||||||
|
cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
|
||||||
|
if [[ -n "${desc}" ]]; then
|
||||||
|
printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
|
||||||
|
fi
|
||||||
|
if [[ $# -gt 0 ]]; then
|
||||||
|
# Note: when $@ is more than one element, this emits a
|
||||||
|
# line for each element
|
||||||
|
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Remove a patch using a glob expr
|
||||||
|
# eg:
|
||||||
|
# rm_patch *-darwin-Use-CC*
|
||||||
|
#
|
||||||
|
rm_patch() {
|
||||||
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
local expr="$1"
|
||||||
|
local patch="$( cd "${patchdir}"; echo $expr )"
|
||||||
|
einfo "Removing $patch ($expr) from patch bundle"
|
||||||
|
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||||
|
rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
|
||||||
|
else
|
||||||
|
ewarn "No ${expr} found in ${patchdir} to remove"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Yes, this is a reasonable amount of code for something seemingly simple
|
||||||
|
# but this is far easier to debug when things go wrong, and things went wrong
|
||||||
|
# multiple times while I was getting the exact number of slashes right, which
|
||||||
|
# requires circumnavigating both bash and sed escape mechanisms.
|
||||||
|
c_escape_string() {
|
||||||
|
local slash dquote
|
||||||
|
slash='\'
|
||||||
|
dquote='"'
|
||||||
|
re_slash="${slash}${slash}"
|
||||||
|
re_dquote="${slash}${dquote}"
|
||||||
|
|
||||||
|
# Convert \ to \\,
|
||||||
|
# " to \"
|
||||||
|
echo "$1" |\
|
||||||
|
sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
|
||||||
|
sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
|
||||||
|
}
|
||||||
|
c_escape_file() {
|
||||||
|
c_escape_string "$(cat "$1")"
|
||||||
|
}
|
||||||
|
|
||||||
|
apply_patchdir() {
|
||||||
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
local infodir="${WORKDIR}/patch-info"
|
||||||
|
local patchoutput="patchlevel-gentoo.h"
|
||||||
|
|
||||||
|
# Inject Patch-Level info into description for patchlevel.h patch
|
||||||
|
# to show in -V
|
||||||
|
local patch_expr="*List-packaged-patches*"
|
||||||
|
local patch="$( cd "${patchdir}"; echo $patch_expr )";
|
||||||
|
einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
|
||||||
|
|
||||||
|
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||||
|
printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
|
||||||
|
>"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
|
||||||
|
else
|
||||||
|
eerror "No $patch_expr found in ${patchdir}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Compute patch list to apply
|
||||||
|
# different name other than PATCHES to stop default
|
||||||
|
# reapplying it
|
||||||
|
# Single depth is currently only supported, as artifacts can reside
|
||||||
|
# from the old layout being multiple-directories, as well as it grossly
|
||||||
|
# simplifying the patchlevel_gentoo.h generation.
|
||||||
|
local PERL_PATCHES=($(
|
||||||
|
find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
|
||||||
|
grep -E '[.](diff|patch)$' |\
|
||||||
|
sort -n
|
||||||
|
))
|
||||||
|
|
||||||
|
for patch in "${PERL_PATCHES[@]}"; do
|
||||||
|
eapply "${WORKDIR}"/patches/${patch}
|
||||||
|
done
|
||||||
|
|
||||||
|
einfo "Generating $patchoutput"
|
||||||
|
|
||||||
|
# This code creates a header file, each iteration
|
||||||
|
# creates one-or-more-lines for each entry found in PERL_PATCHES
|
||||||
|
# and STDOUT is redirected to the .h file
|
||||||
|
for patch in "${PERL_PATCHES[@]}"; do
|
||||||
|
local desc_f="${infodir}/${patch}.desc"
|
||||||
|
local bugs_f="${infodir}/${patch}.bugs"
|
||||||
|
|
||||||
|
printf ',"%s"\n' "${patch}"
|
||||||
|
if [[ ! -e "${desc_f}" ]]; then
|
||||||
|
ewarn "No description provided for ${patch} (expected: ${desc_f} )"
|
||||||
|
else
|
||||||
|
local desc="$(c_escape_file "${desc_f}")"
|
||||||
|
printf ',"- %s"\n' "${desc}"
|
||||||
|
fi
|
||||||
|
if [[ -e "${bugs_f}" ]]; then
|
||||||
|
while read -d $'\n' -r line; do
|
||||||
|
local esc_line="$(c_escape_string "${line}")"
|
||||||
|
printf ',"- Bug: %s"\n' "${esc_line}"
|
||||||
|
done <"${bugs_f}"
|
||||||
|
fi
|
||||||
|
done > "${S}/${patchoutput}"
|
||||||
|
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
|
||||||
|
# Prepare Patch dir with additional patches / remove unwanted patches
|
||||||
|
# Inject bug/desc entries for perl -V
|
||||||
|
# Old example:
|
||||||
|
# add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
|
||||||
|
# "Fix broken miniperl on hppa"\
|
||||||
|
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
||||||
|
|
||||||
|
add_patch "${WORKDIR}/perl-5.34.1-zlib-1.2.12.patch" "0501-5.34.1-zlib-1.2.12.patch"\
|
||||||
|
"Update IO-Compress, Compress-Raw-* to 2.103"\
|
||||||
|
"https://bugs.gentoo.org/837176"
|
||||||
|
# this is the binary chunk that gnu patch can't do
|
||||||
|
cp "${DISTDIR}/perl-5.34.1-zlib-1.2.12-encrypt-standard.zip.bin" "${S}/cpan/IO-Compress/t/files/encrypt-standard.zip" || die
|
||||||
|
|
||||||
|
if use prefix ; then
|
||||||
|
add_patch "${FILESDIR}/${PN}"-5.34.0-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
|
||||||
|
"Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
|
||||||
|
"https://bugs.gentoo.org/818172"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||||
|
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||||
|
# when -lsocket is used e.g. to get h_errno
|
||||||
|
rm_patch "*-nsl-and-cl*"
|
||||||
|
fi
|
||||||
|
|
||||||
|
apply_patchdir
|
||||||
|
|
||||||
|
tc-is-cross-compiler && src_prepare_perlcross
|
||||||
|
|
||||||
|
tc-is-static-only || src_prepare_dynamic
|
||||||
|
|
||||||
|
if use gdbm; then
|
||||||
|
sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
|
||||||
|
ext/NDBM_File/Makefile.PL || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use errno.h from prefix rather than from host system, bug #645804
|
||||||
|
if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
|
||||||
|
sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||||
|
# set a soname, fix linking against just built libperl
|
||||||
|
sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||||
|
# fix install_name (soname) not to reference $D
|
||||||
|
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||||
|
|
||||||
|
# fix environ linkage absence (only a real issue on Darwin9)
|
||||||
|
if [[ ${CHOST##*-darwin} -le 9 ]] ; then
|
||||||
|
sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
|
||||||
|
Makefile.SH || die
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
myconf() {
|
||||||
|
# the myconf array is declared in src_configure
|
||||||
|
myconf=( "${myconf[@]}" "$@" )
|
||||||
|
}
|
||||||
|
|
||||||
|
# Outputs a list of versions which have been seen in any of the
|
||||||
|
# primary perl @INC prefix paths, such as:
|
||||||
|
# /usr/lib64/perl5/<NUMBER>
|
||||||
|
# /usr/local/lib64/perl5/<NUMBER>
|
||||||
|
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
||||||
|
#
|
||||||
|
# All values of NUMBER must be like "5.x.y" or like "5.x"
|
||||||
|
#
|
||||||
|
find_candidate_inc_versions() {
|
||||||
|
local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
|
||||||
|
local dirs=(
|
||||||
|
"${EROOT}${PRIV_BASE}"
|
||||||
|
"${EROOT}${SITE_BASE}"
|
||||||
|
"${EROOT}${VENDOR_BASE}"
|
||||||
|
)
|
||||||
|
for dir in "${dirs[@]}"; do
|
||||||
|
if [[ ! -e "${dir}" ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
# Without access to readdir() on these dirs, find will not be able
|
||||||
|
# to reveal any @INC directories inside them, and will subsequently prune
|
||||||
|
# them from the built perl's @INC support, breaking our compatiblity options
|
||||||
|
# entirely.
|
||||||
|
if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
|
||||||
|
eerror "Bad permissions on ${dir}, this will probably break things"
|
||||||
|
eerror "Ensure ${dir} is +rx for at least uid=$EUID"
|
||||||
|
eerror "Recommended permission is +rx for all"
|
||||||
|
eerror "> chmod o+rx ${dir}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
|
||||||
|
find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
# Sort versions passed versiony-ly, remove self-version if present
|
||||||
|
# dedup. Takes each version as an argument
|
||||||
|
sanitize_inc_versions() {
|
||||||
|
local vexclude="${SUBSLOT}"
|
||||||
|
einfo "Normalizing/Sorting candidate list: $*"
|
||||||
|
einfo " to remove '${vexclude}'"
|
||||||
|
# Note, general numeric sort has to be used
|
||||||
|
# for the last component, or unique will convert
|
||||||
|
# 5.30.0 + 5.30 into just 5.30
|
||||||
|
printf "%s\n" "$@" |\
|
||||||
|
grep -vxF "${vexclude}" |\
|
||||||
|
sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
|
||||||
|
}
|
||||||
|
|
||||||
|
versions_to_inclist() {
|
||||||
|
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||||
|
|
||||||
|
for v; do
|
||||||
|
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
||||||
|
echo -n "${v}/ ";
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
versions_to_gentoolibdirs() {
|
||||||
|
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||||
|
local root
|
||||||
|
local v
|
||||||
|
for v; do
|
||||||
|
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
||||||
|
local fullpath="${EROOT}${root}/${v}"
|
||||||
|
if [[ -e "${fullpath}" ]]; then
|
||||||
|
has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
|
||||||
|
printf "%s:" "${fullpath}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
declare -a myconf
|
||||||
|
|
||||||
|
export LC_ALL="C"
|
||||||
|
[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
|
||||||
|
|
||||||
|
# Perl has problems compiling with -Os in your flags with glibc
|
||||||
|
replace-flags "-Os" "-O2"
|
||||||
|
|
||||||
|
# xlocale.h is going away in glibc-2.26, so it's counterproductive
|
||||||
|
# if we use it and include it in CORE/perl.h ... Perl builds just
|
||||||
|
# fine with glibc and locale.h only.
|
||||||
|
# However, the darwin prefix people have no locale.h ...
|
||||||
|
use elibc_glibc && myconf -Ui_xlocale
|
||||||
|
|
||||||
|
# This flag makes compiling crash in interesting ways
|
||||||
|
filter-flags "-malign-double"
|
||||||
|
|
||||||
|
# Generic LTO broken since 5.28, triggers EUMM failures
|
||||||
|
filter-flags "-flto"
|
||||||
|
|
||||||
|
use sparc && myconf -Ud_longdbl
|
||||||
|
|
||||||
|
export BUILD_BZIP2=0
|
||||||
|
export BZIP2_INCLUDE=${EROOT}/usr/include
|
||||||
|
export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
|
||||||
|
|
||||||
|
export BUILD_ZLIB=False
|
||||||
|
export ZLIB_INCLUDE=${EROOT}/usr/include
|
||||||
|
export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
|
||||||
|
|
||||||
|
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
|
||||||
|
myndbm='U'
|
||||||
|
mygdbm='U'
|
||||||
|
mydb='U'
|
||||||
|
if use gdbm ; then
|
||||||
|
mygdbm='D'
|
||||||
|
if use berkdb ; then
|
||||||
|
myndbm='D'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if use berkdb ; then
|
||||||
|
mydb='D'
|
||||||
|
has_version '=sys-libs/db-1*' && myndbm='D'
|
||||||
|
fi
|
||||||
|
|
||||||
|
myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
|
||||||
|
|
||||||
|
if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
|
||||||
|
ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
|
||||||
|
myconf -Ui_db -Ui_ndbm
|
||||||
|
fi
|
||||||
|
|
||||||
|
use ithreads && myconf -Dusethreads
|
||||||
|
|
||||||
|
use quadmath && myconf -Dusequadmath
|
||||||
|
|
||||||
|
if use debug ; then
|
||||||
|
append-cflags "-g"
|
||||||
|
myconf -DDEBUGGING
|
||||||
|
elif [[ ${CFLAGS} == *-g* ]] ; then
|
||||||
|
myconf -DDEBUGGING=-g
|
||||||
|
else
|
||||||
|
myconf -DDEBUGGING=none
|
||||||
|
fi
|
||||||
|
|
||||||
|
# modifying 'optimize' prevents cross configure script from appending required flags
|
||||||
|
if tc-is-cross-compiler; then
|
||||||
|
append-cflags "-fwrapv -fno-strict-aliasing"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Autodiscover all old version directories, some of them will even be newer
|
||||||
|
# if you downgrade
|
||||||
|
if [[ -z ${PERL_OLDVERSEN} ]]; then
|
||||||
|
PERL_OLDVERSEN="$( find_candidate_inc_versions )"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fixup versions, removing self match, fixing order and dupes
|
||||||
|
PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
|
||||||
|
|
||||||
|
# Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
|
||||||
|
if [[ -n "${PERL_OLDVERSEN// }" ]]; then
|
||||||
|
local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
|
||||||
|
einfo "This version of perl may partially support modules previously"
|
||||||
|
einfo "installed in any of the following paths:"
|
||||||
|
for incpath in ${inclist}; do
|
||||||
|
[[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
|
||||||
|
[[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
|
||||||
|
[[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
|
||||||
|
done
|
||||||
|
einfo "This is a temporary measure and you should aim to cleanup these paths"
|
||||||
|
einfo "via world updates and perl-cleaner"
|
||||||
|
# myconf -Dinc_version_list="${inclist}"
|
||||||
|
myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
|
||||||
|
|
||||||
|
# Make sure we can do the final link #523730, need to set deployment
|
||||||
|
# target to override hardcoded 10.3 which breaks on modern OSX
|
||||||
|
[[ ${CHOST} == *-darwin* ]] && \
|
||||||
|
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||||
|
|
||||||
|
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||||
|
# using c89 mode as injected by cflags.SH, in addition, we override
|
||||||
|
# cflags, so we loose PERL_DARWIN which enables compat code that
|
||||||
|
# apparently on more recent macOS releases is no longer necessary
|
||||||
|
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||||
|
append-cflags -Dinline=__inline__ -DPERL_DARWIN
|
||||||
|
|
||||||
|
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
||||||
|
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
||||||
|
myconf -Ud_flock
|
||||||
|
|
||||||
|
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
|
||||||
|
# Prefix itself we don't do multilib either, so make sure perl can find
|
||||||
|
# something compatible.
|
||||||
|
if use prefix ; then
|
||||||
|
# Set a hook to check for each detected library whether it actually works.
|
||||||
|
export libscheck="
|
||||||
|
( echo 'main(){}' > '${T}'/conftest.c &&
|
||||||
|
$(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
|
||||||
|
) || xxx=/dev/null"
|
||||||
|
|
||||||
|
# Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
|
||||||
|
local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
|
||||||
|
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
|
||||||
|
elif [[ $(get_libdir) != "lib" ]] ; then
|
||||||
|
# We need to use " and not ', as the written config.sh use ' ...
|
||||||
|
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# don't try building ODBM, bug #354453
|
||||||
|
disabled_extensions="ODBM_File"
|
||||||
|
|
||||||
|
if ! use gdbm ; then
|
||||||
|
# workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
|
||||||
|
disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
|
||||||
|
fi
|
||||||
|
|
||||||
|
myconf -Dnoextensions="${disabled_extensions}"
|
||||||
|
|
||||||
|
[[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
|
||||||
|
|
||||||
|
[[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
|
||||||
|
# allow fiddling via EXTRA_ECONF, bug 558070
|
||||||
|
eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
|
||||||
|
|
||||||
|
# setting -Dld= to tc-getLD breaks perl and all perl things
|
||||||
|
# https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
|
||||||
|
myconf \
|
||||||
|
-Duseshrplib \
|
||||||
|
-Darchname="${myarch}" \
|
||||||
|
-Dcc="$(tc-getCC)" \
|
||||||
|
-Dar="$(tc-getAR)" \
|
||||||
|
-Dnm="$(tc-getNM)" \
|
||||||
|
-Dcpp="$(tc-getCPP)" \
|
||||||
|
-Dranlib="$(tc-getRANLIB)" \
|
||||||
|
-Accflags="${CFLAGS}" \
|
||||||
|
-Doptimize="${CFLAGS}" \
|
||||||
|
-Dldflags="${LDFLAGS}" \
|
||||||
|
-Dprefix="${EPREFIX}"'/usr' \
|
||||||
|
-Dsiteprefix="${EPREFIX}"'/usr/local' \
|
||||||
|
-Dvendorprefix="${EPREFIX}"'/usr' \
|
||||||
|
-Dscriptdir="${EPREFIX}"'/usr/bin' \
|
||||||
|
-Dprivlib="${EPREFIX}${PRIV_LIB}" \
|
||||||
|
-Darchlib="${EPREFIX}${ARCH_LIB}" \
|
||||||
|
-Dsitelib="${EPREFIX}${SITE_LIB}" \
|
||||||
|
-Dsitearch="${EPREFIX}${SITE_ARCH}" \
|
||||||
|
-Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
|
||||||
|
-Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
|
||||||
|
-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||||
|
-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||||
|
-Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
|
||||||
|
-Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
|
||||||
|
-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||||
|
-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||||
|
-Dman1ext='1' \
|
||||||
|
-Dman3ext='3pm' \
|
||||||
|
-Dlibperl="${LIBPERL}" \
|
||||||
|
-Dlocincpth="${EPREFIX}"'/usr/include ' \
|
||||||
|
-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
|
||||||
|
-Duselargefiles \
|
||||||
|
-Dd_semctl_semun \
|
||||||
|
-Dcf_by='Gentoo' \
|
||||||
|
-Dmyhostname='localhost' \
|
||||||
|
-Dperladmin='root@localhost' \
|
||||||
|
-Ud_csh \
|
||||||
|
-Dsh="${EPREFIX}"/bin/sh \
|
||||||
|
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||||
|
-Uusenm \
|
||||||
|
"${EXTRA_ECONF[@]}"
|
||||||
|
|
||||||
|
if tc-is-cross-compiler; then
|
||||||
|
./configure \
|
||||||
|
--target="${CHOST}" \
|
||||||
|
--build="${CBUILD}" \
|
||||||
|
-Dinstallprefix='' \
|
||||||
|
-Dinstallusrbinperl='undef' \
|
||||||
|
-Dusevendorprefix='define' \
|
||||||
|
"${myconf[@]}" \
|
||||||
|
|| die "Unable to configure"
|
||||||
|
else
|
||||||
|
sh Configure \
|
||||||
|
-des \
|
||||||
|
-Dinstallprefix="${EPREFIX}"'/usr' \
|
||||||
|
-Dinstallusrbinperl='n' \
|
||||||
|
"${myconf[@]}" \
|
||||||
|
|| die "Unable to configure"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
export NO_GENTOO_NETWORK_TESTS=1;
|
||||||
|
export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
|
||||||
|
export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
|
||||||
|
if [[ ${EUID} == 0 ]] ; then
|
||||||
|
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local i
|
||||||
|
local coredir="${ARCH_LIB}/CORE"
|
||||||
|
|
||||||
|
emake DESTDIR="${D}" install
|
||||||
|
|
||||||
|
rm -f "${ED}/usr/bin/perl${MY_PV}"
|
||||||
|
ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
|
||||||
|
|
||||||
|
if ! tc-is-static-only ; then
|
||||||
|
dolib.so "${ED}"${coredir}/${LIBPERL}
|
||||||
|
rm -f "${ED}"${coredir}/${LIBPERL}
|
||||||
|
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
|
||||||
|
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
|
||||||
|
|
||||||
|
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
|
||||||
|
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
|
||||||
|
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
|
||||||
|
|
||||||
|
# This removes ${D} from Config.pm
|
||||||
|
for i in $(find "${D}" -iname "Config.pm" ) ; do
|
||||||
|
einfo "Removing ${D} from ${i}..."
|
||||||
|
sed -i -e "s:${D}::" "${i}" || die "Sed failed"
|
||||||
|
done
|
||||||
|
|
||||||
|
dodoc Changes* README AUTHORS
|
||||||
|
|
||||||
|
if use doc ; then
|
||||||
|
# HTML Documentation
|
||||||
|
# We expect errors, warnings, and such with the following.
|
||||||
|
|
||||||
|
dodir /usr/share/doc/${PF}/html
|
||||||
|
LD_LIBRARY_PATH=. ./perl installhtml \
|
||||||
|
--podroot='.' \
|
||||||
|
--podpath='lib:ext:pod:vms' \
|
||||||
|
--recurse \
|
||||||
|
--htmldir="${ED}/usr/share/doc/${PF}/html"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
|
||||||
|
|
||||||
|
dual_scripts
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_preinst() {
|
||||||
|
check_rebuild
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
dual_scripts
|
||||||
|
|
||||||
|
if [[ -z "${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
|
||||||
|
}
|
819
sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.36.0.ebuild
vendored
Normal file
819
sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.36.0.ebuild
vendored
Normal file
@ -0,0 +1,819 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||||
|
|
||||||
|
PATCH_VER=1
|
||||||
|
CROSS_VER=1.4
|
||||||
|
PATCH_BASE="perl-5.36.0-patches-${PATCH_VER}"
|
||||||
|
PATCH_DEV=dilfridge
|
||||||
|
|
||||||
|
DIST_AUTHOR=RJBS
|
||||||
|
|
||||||
|
# Greatest first, don't include yourself
|
||||||
|
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||||
|
# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
|
||||||
|
PERL_BIN_OLDVERSEN=""
|
||||||
|
|
||||||
|
if [[ "${PV##*.}" == "9999" ]]; then
|
||||||
|
DIST_VERSION=5.30.0
|
||||||
|
else
|
||||||
|
DIST_VERSION="${PV/_rc/-RC}"
|
||||||
|
fi
|
||||||
|
SHORT_PV="${DIST_VERSION%.*}"
|
||||||
|
|
||||||
|
# Even numbered major versions are ABI intercompatible
|
||||||
|
# Odd numbered major versions are not
|
||||||
|
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||||
|
SUBSLOT="${DIST_VERSION%-RC*}"
|
||||||
|
else
|
||||||
|
SUBSLOT="${DIST_VERSION%.*}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Used only in tar paths
|
||||||
|
MY_P="perl-${DIST_VERSION}"
|
||||||
|
# Used in library paths
|
||||||
|
MY_PV="${DIST_VERSION%-RC*}"
|
||||||
|
|
||||||
|
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
|
||||||
|
|
||||||
|
SRC_URI="
|
||||||
|
mirror://cpan/src/5.0/${MY_P}.tar.xz
|
||||||
|
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
|
||||||
|
https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
|
||||||
|
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
|
||||||
|
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
|
||||||
|
"
|
||||||
|
|
||||||
|
HOMEPAGE="https://www.perl.org/"
|
||||||
|
|
||||||
|
LICENSE="|| ( Artistic GPL-1+ )"
|
||||||
|
SLOT="0/${SUBSLOT}"
|
||||||
|
|
||||||
|
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
|
||||||
|
IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
berkdb? ( sys-libs/db:= )
|
||||||
|
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
|
||||||
|
app-arch/bzip2
|
||||||
|
>=sys-libs/zlib-1.2.12
|
||||||
|
virtual/libcrypt:=
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="${RDEPEND}"
|
||||||
|
|
||||||
|
PDEPEND="
|
||||||
|
!minimal? (
|
||||||
|
>=app-admin/perl-cleaner-2.5
|
||||||
|
>=virtual/perl-CPAN-2.290.0
|
||||||
|
>=virtual/perl-Encode-3.120.0
|
||||||
|
>=virtual/perl-File-Temp-0.230.400-r2
|
||||||
|
>=virtual/perl-Data-Dumper-2.154.0
|
||||||
|
virtual/perl-Test-Harness
|
||||||
|
)
|
||||||
|
"
|
||||||
|
# bug 390719, bug 523624
|
||||||
|
# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
|
||||||
|
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
|
dual_scripts() {
|
||||||
|
src_remove_dual perl-core/Archive-Tar 2.400.0 ptar ptardiff ptargrep
|
||||||
|
src_remove_dual perl-core/CPAN 2.330.0 cpan
|
||||||
|
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
|
||||||
|
src_remove_dual perl-core/Encode 3.170.0 enc2xs piconv
|
||||||
|
src_remove_dual perl-core/ExtUtils-MakeMaker 7.640.0 instmodsh
|
||||||
|
src_remove_dual perl-core/ExtUtils-ParseXS 3.450.0 xsubpp
|
||||||
|
src_remove_dual perl-core/IO-Compress 2.106.0 zipdetails
|
||||||
|
src_remove_dual perl-core/JSON-PP 4.70.0 json_pp
|
||||||
|
src_remove_dual perl-core/Module-CoreList 5.202.205.200 corelist
|
||||||
|
src_remove_dual perl-core/Pod-Checker 1.740.0 podchecker
|
||||||
|
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
|
||||||
|
src_remove_dual perl-core/Pod-Usage 2.10.0 pod2usage
|
||||||
|
src_remove_dual perl-core/Test-Harness 3.440.0 prove
|
||||||
|
src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
|
||||||
|
src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
|
||||||
|
}
|
||||||
|
|
||||||
|
check_rebuild() {
|
||||||
|
# Fresh install
|
||||||
|
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||||
|
return 0;
|
||||||
|
# Major Upgrade
|
||||||
|
# doesn't matter if there's multiple copies, it still needs a rebuild
|
||||||
|
# if the string is anything other than "5.CURRENTMAJOR"
|
||||||
|
elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
|
||||||
|
echo ""
|
||||||
|
ewarn "UPDATE THE PERL MODULES:"
|
||||||
|
ewarn "After updating dev-lang/perl the installed Perl modules"
|
||||||
|
ewarn "have to be re-installed. In most cases, this is done automatically"
|
||||||
|
ewarn "by the package manager, but subsequent steps are still recommended"
|
||||||
|
ewarn "to ensure system consistency."
|
||||||
|
ewarn
|
||||||
|
ewarn "You should start with a depclean to remove any unused perl dependencies"
|
||||||
|
ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
|
||||||
|
ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
|
||||||
|
ewarn "Recommended: emerge --depclean -va"
|
||||||
|
ewarn
|
||||||
|
ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
|
||||||
|
ewarn "remaining rebuilds portage may have missed."
|
||||||
|
ewarn "Use: perl-cleaner --all"
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
# Reinstall w/ USE Change
|
||||||
|
elif
|
||||||
|
( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
||||||
|
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
||||||
|
( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
|
||||||
|
( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
|
||||||
|
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
||||||
|
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
||||||
|
echo ""
|
||||||
|
ewarn "TOGGLED USE-FLAGS WARNING:"
|
||||||
|
ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
|
||||||
|
ewarn "You must rebuild all perl-modules installed."
|
||||||
|
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
case ${CHOST} in
|
||||||
|
*-freebsd*) osname="freebsd" ;;
|
||||||
|
*-dragonfly*) osname="dragonfly" ;;
|
||||||
|
*-netbsd*) osname="netbsd" ;;
|
||||||
|
*-openbsd*) osname="openbsd" ;;
|
||||||
|
*-darwin*) osname="darwin" ;;
|
||||||
|
*-solaris*) osname="solaris" ;;
|
||||||
|
*-cygwin*) osname="cygwin" ;;
|
||||||
|
*) osname="linux" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
myarch="${CHOST%%-*}-${osname}"
|
||||||
|
if use debug ; then
|
||||||
|
myarch+="-debug"
|
||||||
|
fi
|
||||||
|
if use quadmath ; then
|
||||||
|
myarch+="-quadmath"
|
||||||
|
fi
|
||||||
|
if use ithreads ; then
|
||||||
|
mythreading="-multi"
|
||||||
|
myarch+="-thread"
|
||||||
|
fi
|
||||||
|
|
||||||
|
PRIV_BASE="/usr/$(get_libdir)/perl5"
|
||||||
|
SITE_BASE="/usr/local/$(get_libdir)/perl5"
|
||||||
|
VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
|
||||||
|
|
||||||
|
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
||||||
|
|
||||||
|
PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
|
||||||
|
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
|
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
||||||
|
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
|
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
||||||
|
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||||
|
|
||||||
|
dual_scripts
|
||||||
|
}
|
||||||
|
|
||||||
|
src_remove_dual_file() {
|
||||||
|
local i pkg ver
|
||||||
|
pkg="$1"
|
||||||
|
ver="$2"
|
||||||
|
shift 2
|
||||||
|
case "${EBUILD_PHASE:-none}" in
|
||||||
|
postinst|postrm)
|
||||||
|
for i in "$@" ; do
|
||||||
|
alternatives_auto_makesym "${i}" "${i}-[0-9]*"
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
setup)
|
||||||
|
for i in "$@" ; do
|
||||||
|
if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
|
||||||
|
has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
install)
|
||||||
|
for i in "$@" ; do
|
||||||
|
if ! [[ -f "${ED}"${i} ]] ; then
|
||||||
|
ewarn "${i} does not exist!"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
mv "${ED}"${i}{,-${ver}-${P}} || die
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
src_remove_dual_man() {
|
||||||
|
local i pkg ver ff
|
||||||
|
pkg="$1"
|
||||||
|
ver="$2"
|
||||||
|
shift 2
|
||||||
|
case "${EBUILD_PHASE:-none}" in
|
||||||
|
postinst|postrm)
|
||||||
|
for i in "$@" ; do
|
||||||
|
ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
|
||||||
|
ff=${ff##*${i#${i%.[0-9]}}}
|
||||||
|
alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
install)
|
||||||
|
for i in "$@" ; do
|
||||||
|
if ! [[ -f "${ED}"${i} ]] ; then
|
||||||
|
ewarn "${i} does not exist!"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
src_remove_dual() {
|
||||||
|
local i pkg ver
|
||||||
|
pkg="$1"
|
||||||
|
ver="$2"
|
||||||
|
shift 2
|
||||||
|
for i in "$@" ; do
|
||||||
|
src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
|
||||||
|
src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare_perlcross() {
|
||||||
|
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
||||||
|
|
||||||
|
# bug 794463, needs further analysis what is exactly wrong here
|
||||||
|
eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
|
||||||
|
|
||||||
|
# bug 604072
|
||||||
|
MAKEOPTS+=" -j1"
|
||||||
|
export MAKEOPTS
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare_dynamic() {
|
||||||
|
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||||
|
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||||
|
}
|
||||||
|
|
||||||
|
# Copy a patch into the patch series
|
||||||
|
# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
|
||||||
|
# - description is optional, but recommended
|
||||||
|
# - all arguments after descriptions are bug URLs
|
||||||
|
add_patch() {
|
||||||
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
local infodir="${WORKDIR}/patch-info"
|
||||||
|
local src_name dest_name desc
|
||||||
|
src_name="$1"
|
||||||
|
dest_name="$2"
|
||||||
|
desc="$3"
|
||||||
|
shift; shift; shift;
|
||||||
|
einfo "Adding ${dest_name} to patch bundle"
|
||||||
|
cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
|
||||||
|
if [[ -n "${desc}" ]]; then
|
||||||
|
printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
|
||||||
|
fi
|
||||||
|
if [[ $# -gt 0 ]]; then
|
||||||
|
# Note: when $@ is more than one element, this emits a
|
||||||
|
# line for each element
|
||||||
|
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Remove a patch using a glob expr
|
||||||
|
# eg:
|
||||||
|
# rm_patch *-darwin-Use-CC*
|
||||||
|
#
|
||||||
|
rm_patch() {
|
||||||
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
local expr="$1"
|
||||||
|
local patch="$( cd "${patchdir}"; echo $expr )"
|
||||||
|
einfo "Removing $patch ($expr) from patch bundle"
|
||||||
|
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||||
|
rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
|
||||||
|
else
|
||||||
|
ewarn "No ${expr} found in ${patchdir} to remove"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Yes, this is a reasonable amount of code for something seemingly simple
|
||||||
|
# but this is far easier to debug when things go wrong, and things went wrong
|
||||||
|
# multiple times while I was getting the exact number of slashes right, which
|
||||||
|
# requires circumnavigating both bash and sed escape mechanisms.
|
||||||
|
c_escape_string() {
|
||||||
|
local slash dquote
|
||||||
|
slash='\'
|
||||||
|
dquote='"'
|
||||||
|
re_slash="${slash}${slash}"
|
||||||
|
re_dquote="${slash}${dquote}"
|
||||||
|
|
||||||
|
# Convert \ to \\,
|
||||||
|
# " to \"
|
||||||
|
echo "$1" |\
|
||||||
|
sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
|
||||||
|
sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
|
||||||
|
}
|
||||||
|
c_escape_file() {
|
||||||
|
c_escape_string "$(cat "$1")"
|
||||||
|
}
|
||||||
|
|
||||||
|
apply_patchdir() {
|
||||||
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
local infodir="${WORKDIR}/patch-info"
|
||||||
|
local patchoutput="patchlevel-gentoo.h"
|
||||||
|
|
||||||
|
# Inject Patch-Level info into description for patchlevel.h patch
|
||||||
|
# to show in -V
|
||||||
|
local patch_expr="*List-packaged-patches*"
|
||||||
|
local patch="$( cd "${patchdir}"; echo $patch_expr )";
|
||||||
|
einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
|
||||||
|
|
||||||
|
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||||
|
printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
|
||||||
|
>"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
|
||||||
|
else
|
||||||
|
eerror "No $patch_expr found in ${patchdir}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Compute patch list to apply
|
||||||
|
# different name other than PATCHES to stop default
|
||||||
|
# reapplying it
|
||||||
|
# Single depth is currently only supported, as artifacts can reside
|
||||||
|
# from the old layout being multiple-directories, as well as it grossly
|
||||||
|
# simplifying the patchlevel_gentoo.h generation.
|
||||||
|
local PERL_PATCHES=($(
|
||||||
|
find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
|
||||||
|
grep -E '[.](diff|patch)$' |\
|
||||||
|
sort -n
|
||||||
|
))
|
||||||
|
|
||||||
|
for patch in "${PERL_PATCHES[@]}"; do
|
||||||
|
eapply "${WORKDIR}"/patches/${patch}
|
||||||
|
done
|
||||||
|
|
||||||
|
einfo "Generating $patchoutput"
|
||||||
|
|
||||||
|
# This code creates a header file, each iteration
|
||||||
|
# creates one-or-more-lines for each entry found in PERL_PATCHES
|
||||||
|
# and STDOUT is redirected to the .h file
|
||||||
|
for patch in "${PERL_PATCHES[@]}"; do
|
||||||
|
local desc_f="${infodir}/${patch}.desc"
|
||||||
|
local bugs_f="${infodir}/${patch}.bugs"
|
||||||
|
|
||||||
|
printf ',"%s"\n' "${patch}"
|
||||||
|
if [[ ! -e "${desc_f}" ]]; then
|
||||||
|
ewarn "No description provided for ${patch} (expected: ${desc_f} )"
|
||||||
|
else
|
||||||
|
local desc="$(c_escape_file "${desc_f}")"
|
||||||
|
printf ',"- %s"\n' "${desc}"
|
||||||
|
fi
|
||||||
|
if [[ -e "${bugs_f}" ]]; then
|
||||||
|
while read -d $'\n' -r line; do
|
||||||
|
local esc_line="$(c_escape_string "${line}")"
|
||||||
|
printf ',"- Bug: %s"\n' "${esc_line}"
|
||||||
|
done <"${bugs_f}"
|
||||||
|
fi
|
||||||
|
done > "${S}/${patchoutput}"
|
||||||
|
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
local patchdir="${WORKDIR}/patches"
|
||||||
|
|
||||||
|
# Prepare Patch dir with additional patches / remove unwanted patches
|
||||||
|
# Inject bug/desc entries for perl -V
|
||||||
|
# Old example:
|
||||||
|
# add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
|
||||||
|
# "Fix broken miniperl on hppa"\
|
||||||
|
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
||||||
|
|
||||||
|
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||||
|
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||||
|
# when -lsocket is used e.g. to get h_errno
|
||||||
|
rm_patch "*-nsl-and-cl*"
|
||||||
|
fi
|
||||||
|
|
||||||
|
apply_patchdir
|
||||||
|
|
||||||
|
tc-is-cross-compiler && src_prepare_perlcross
|
||||||
|
|
||||||
|
tc-is-static-only || src_prepare_dynamic
|
||||||
|
|
||||||
|
if use gdbm; then
|
||||||
|
sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
|
||||||
|
ext/NDBM_File/Makefile.PL || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use errno.h from prefix rather than from host system, bug #645804
|
||||||
|
if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
|
||||||
|
sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||||
|
# set a soname, fix linking against just built libperl
|
||||||
|
sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||||
|
# fix install_name (soname) not to reference $D
|
||||||
|
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||||
|
|
||||||
|
# fix environ linkage absence (only a real issue on Darwin9)
|
||||||
|
if [[ ${CHOST##*-darwin} -le 9 ]] ; then
|
||||||
|
sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
|
||||||
|
Makefile.SH || die
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
myconf() {
|
||||||
|
# the myconf array is declared in src_configure
|
||||||
|
myconf=( "${myconf[@]}" "$@" )
|
||||||
|
}
|
||||||
|
|
||||||
|
# Outputs a list of versions which have been seen in any of the
|
||||||
|
# primary perl @INC prefix paths, such as:
|
||||||
|
# /usr/lib64/perl5/<NUMBER>
|
||||||
|
# /usr/local/lib64/perl5/<NUMBER>
|
||||||
|
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
||||||
|
#
|
||||||
|
# All values of NUMBER must be like "5.x.y" or like "5.x"
|
||||||
|
#
|
||||||
|
find_candidate_inc_versions() {
|
||||||
|
local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
|
||||||
|
local dirs=(
|
||||||
|
"${EROOT}${PRIV_BASE}"
|
||||||
|
"${EROOT}${SITE_BASE}"
|
||||||
|
"${EROOT}${VENDOR_BASE}"
|
||||||
|
)
|
||||||
|
for dir in "${dirs[@]}"; do
|
||||||
|
if [[ ! -e "${dir}" ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
# Without access to readdir() on these dirs, find will not be able
|
||||||
|
# to reveal any @INC directories inside them, and will subsequently prune
|
||||||
|
# them from the built perl's @INC support, breaking our compatiblity options
|
||||||
|
# entirely.
|
||||||
|
if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
|
||||||
|
eerror "Bad permissions on ${dir}, this will probably break things"
|
||||||
|
eerror "Ensure ${dir} is +rx for at least uid=$EUID"
|
||||||
|
eerror "Recommended permission is +rx for all"
|
||||||
|
eerror "> chmod o+rx ${dir}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
|
||||||
|
find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
# Sort versions passed versiony-ly, remove self-version if present
|
||||||
|
# dedup. Takes each version as an argument
|
||||||
|
sanitize_inc_versions() {
|
||||||
|
local vexclude="${SUBSLOT}"
|
||||||
|
einfo "Normalizing/Sorting candidate list: $*"
|
||||||
|
einfo " to remove '${vexclude}'"
|
||||||
|
# Note, general numeric sort has to be used
|
||||||
|
# for the last component, or unique will convert
|
||||||
|
# 5.30.0 + 5.30 into just 5.30
|
||||||
|
printf "%s\n" "$@" |\
|
||||||
|
grep -vxF "${vexclude}" |\
|
||||||
|
sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
|
||||||
|
}
|
||||||
|
|
||||||
|
versions_to_inclist() {
|
||||||
|
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||||
|
|
||||||
|
for v; do
|
||||||
|
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
||||||
|
echo -n "${v}/ ";
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
versions_to_gentoolibdirs() {
|
||||||
|
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||||
|
local root
|
||||||
|
local v
|
||||||
|
for v; do
|
||||||
|
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
||||||
|
local fullpath="${EROOT}${root}/${v}"
|
||||||
|
if [[ -e "${fullpath}" ]]; then
|
||||||
|
has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
|
||||||
|
printf "%s:" "${fullpath}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
declare -a myconf
|
||||||
|
|
||||||
|
export LC_ALL="C"
|
||||||
|
[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
|
||||||
|
|
||||||
|
# Perl has problems compiling with -Os in your flags with glibc
|
||||||
|
replace-flags "-Os" "-O2"
|
||||||
|
|
||||||
|
# xlocale.h is going away in glibc-2.26, so it's counterproductive
|
||||||
|
# if we use it and include it in CORE/perl.h ... Perl builds just
|
||||||
|
# fine with glibc and locale.h only.
|
||||||
|
# However, the darwin prefix people have no locale.h ...
|
||||||
|
use elibc_glibc && myconf -Ui_xlocale
|
||||||
|
|
||||||
|
# This flag makes compiling crash in interesting ways
|
||||||
|
filter-flags "-malign-double"
|
||||||
|
|
||||||
|
# Generic LTO broken since 5.28, triggers EUMM failures
|
||||||
|
filter-flags "-flto"
|
||||||
|
|
||||||
|
use sparc && myconf -Ud_longdbl
|
||||||
|
|
||||||
|
export BUILD_BZIP2=0
|
||||||
|
export BZIP2_INCLUDE=${EROOT}/usr/include
|
||||||
|
export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
|
||||||
|
|
||||||
|
export BUILD_ZLIB=False
|
||||||
|
export ZLIB_INCLUDE=${EROOT}/usr/include
|
||||||
|
export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
|
||||||
|
|
||||||
|
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
|
||||||
|
myndbm='U'
|
||||||
|
mygdbm='U'
|
||||||
|
mydb='U'
|
||||||
|
if use gdbm ; then
|
||||||
|
mygdbm='D'
|
||||||
|
if use berkdb ; then
|
||||||
|
myndbm='D'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if use berkdb ; then
|
||||||
|
mydb='D'
|
||||||
|
has_version '=sys-libs/db-1*' && myndbm='D'
|
||||||
|
fi
|
||||||
|
|
||||||
|
myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
|
||||||
|
|
||||||
|
if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
|
||||||
|
ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
|
||||||
|
myconf -Ui_db -Ui_ndbm
|
||||||
|
fi
|
||||||
|
|
||||||
|
use ithreads && myconf -Dusethreads
|
||||||
|
|
||||||
|
use quadmath && myconf -Dusequadmath
|
||||||
|
|
||||||
|
if use debug ; then
|
||||||
|
append-cflags "-g"
|
||||||
|
myconf -DDEBUGGING
|
||||||
|
elif [[ ${CFLAGS} == *-g* ]] ; then
|
||||||
|
myconf -DDEBUGGING=-g
|
||||||
|
else
|
||||||
|
myconf -DDEBUGGING=none
|
||||||
|
fi
|
||||||
|
|
||||||
|
# modifying 'optimize' prevents cross configure script from appending required flags
|
||||||
|
if tc-is-cross-compiler; then
|
||||||
|
append-cflags "-fwrapv -fno-strict-aliasing"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Autodiscover all old version directories, some of them will even be newer
|
||||||
|
# if you downgrade
|
||||||
|
if [[ -z ${PERL_OLDVERSEN} ]]; then
|
||||||
|
PERL_OLDVERSEN="$( find_candidate_inc_versions )"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fixup versions, removing self match, fixing order and dupes
|
||||||
|
PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
|
||||||
|
|
||||||
|
# Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
|
||||||
|
if [[ -n "${PERL_OLDVERSEN// }" ]]; then
|
||||||
|
local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
|
||||||
|
einfo "This version of perl may partially support modules previously"
|
||||||
|
einfo "installed in any of the following paths:"
|
||||||
|
for incpath in ${inclist}; do
|
||||||
|
[[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
|
||||||
|
[[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
|
||||||
|
[[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
|
||||||
|
done
|
||||||
|
einfo "This is a temporary measure and you should aim to cleanup these paths"
|
||||||
|
einfo "via world updates and perl-cleaner"
|
||||||
|
# myconf -Dinc_version_list="${inclist}"
|
||||||
|
myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
|
||||||
|
|
||||||
|
# Make sure we can do the final link #523730, need to set deployment
|
||||||
|
# target to override hardcoded 10.3 which breaks on modern OSX
|
||||||
|
[[ ${CHOST} == *-darwin* ]] && \
|
||||||
|
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||||
|
|
||||||
|
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||||
|
# using c89 mode as injected by cflags.SH, in addition, we override
|
||||||
|
# cflags, so we loose PERL_DARWIN which enables compat code that
|
||||||
|
# apparently on more recent macOS releases is no longer necessary
|
||||||
|
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||||
|
append-cflags -Dinline=__inline__ -DPERL_DARWIN
|
||||||
|
|
||||||
|
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
||||||
|
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
||||||
|
myconf -Ud_flock
|
||||||
|
|
||||||
|
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
|
||||||
|
# Prefix itself we don't do multilib either, so make sure perl can find
|
||||||
|
# something compatible.
|
||||||
|
if use prefix ; then
|
||||||
|
# Set a hook to check for each detected library whether it actually works.
|
||||||
|
export libscheck="
|
||||||
|
( echo 'main(){}' > '${T}'/conftest.c &&
|
||||||
|
$(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
|
||||||
|
) || xxx=/dev/null"
|
||||||
|
|
||||||
|
# Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
|
||||||
|
local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
|
||||||
|
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
|
||||||
|
elif [[ $(get_libdir) != "lib" ]] ; then
|
||||||
|
# We need to use " and not ', as the written config.sh use ' ...
|
||||||
|
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# don't try building ODBM, bug #354453
|
||||||
|
disabled_extensions="ODBM_File"
|
||||||
|
|
||||||
|
if ! use gdbm ; then
|
||||||
|
# workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
|
||||||
|
disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
|
||||||
|
fi
|
||||||
|
|
||||||
|
myconf -Dnoextensions="${disabled_extensions}"
|
||||||
|
|
||||||
|
[[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
|
||||||
|
|
||||||
|
[[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
|
||||||
|
# allow fiddling via EXTRA_ECONF, bug 558070
|
||||||
|
eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
|
||||||
|
|
||||||
|
# setting -Dld= to tc-getLD breaks perl and all perl things
|
||||||
|
# https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
|
||||||
|
myconf \
|
||||||
|
-Duseshrplib \
|
||||||
|
-Darchname="${myarch}" \
|
||||||
|
-Dcc="$(tc-getCC)" \
|
||||||
|
-Dar="$(tc-getAR)" \
|
||||||
|
-Dnm="$(tc-getNM)" \
|
||||||
|
-Dcpp="$(tc-getCPP)" \
|
||||||
|
-Dranlib="$(tc-getRANLIB)" \
|
||||||
|
-Accflags="${CFLAGS}" \
|
||||||
|
-Doptimize="${CFLAGS}" \
|
||||||
|
-Dldflags="${LDFLAGS}" \
|
||||||
|
-Dprefix="${EPREFIX}"'/usr' \
|
||||||
|
-Dsiteprefix="${EPREFIX}"'/usr/local' \
|
||||||
|
-Dvendorprefix="${EPREFIX}"'/usr' \
|
||||||
|
-Dscriptdir="${EPREFIX}"'/usr/bin' \
|
||||||
|
-Dprivlib="${EPREFIX}${PRIV_LIB}" \
|
||||||
|
-Darchlib="${EPREFIX}${ARCH_LIB}" \
|
||||||
|
-Dsitelib="${EPREFIX}${SITE_LIB}" \
|
||||||
|
-Dsitearch="${EPREFIX}${SITE_ARCH}" \
|
||||||
|
-Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
|
||||||
|
-Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
|
||||||
|
-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||||
|
-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||||
|
-Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
|
||||||
|
-Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
|
||||||
|
-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||||
|
-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||||
|
-Dman1ext='1' \
|
||||||
|
-Dman3ext='3pm' \
|
||||||
|
-Dlibperl="${LIBPERL}" \
|
||||||
|
-Dlocincpth="${EPREFIX}"'/usr/include ' \
|
||||||
|
-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
|
||||||
|
-Duselargefiles \
|
||||||
|
-Dd_semctl_semun \
|
||||||
|
-Dcf_by='Gentoo' \
|
||||||
|
-Dmyhostname='localhost' \
|
||||||
|
-Dperladmin='root@localhost' \
|
||||||
|
-Ud_csh \
|
||||||
|
-Dsh="${EPREFIX}"/bin/sh \
|
||||||
|
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||||
|
-Uusenm \
|
||||||
|
"${EXTRA_ECONF[@]}"
|
||||||
|
|
||||||
|
if tc-is-cross-compiler; then
|
||||||
|
./configure \
|
||||||
|
--target="${CHOST}" \
|
||||||
|
--build="${CBUILD}" \
|
||||||
|
-Dinstallprefix='' \
|
||||||
|
-Dinstallusrbinperl='undef' \
|
||||||
|
-Dusevendorprefix='define' \
|
||||||
|
"${myconf[@]}" \
|
||||||
|
|| die "Unable to configure"
|
||||||
|
else
|
||||||
|
sh Configure \
|
||||||
|
-des \
|
||||||
|
-Dinstallprefix="${EPREFIX}"'/usr' \
|
||||||
|
-Dinstallusrbinperl='n' \
|
||||||
|
"${myconf[@]}" \
|
||||||
|
|| die "Unable to configure"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
export NO_GENTOO_NETWORK_TESTS=1;
|
||||||
|
export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
|
||||||
|
export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
|
||||||
|
if [[ ${EUID} == 0 ]] ; then
|
||||||
|
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local i
|
||||||
|
local coredir="${ARCH_LIB}/CORE"
|
||||||
|
|
||||||
|
emake DESTDIR="${D}" install
|
||||||
|
|
||||||
|
rm -f "${ED}/usr/bin/perl${MY_PV}"
|
||||||
|
ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
|
||||||
|
|
||||||
|
if ! tc-is-static-only ; then
|
||||||
|
dolib.so "${ED}"${coredir}/${LIBPERL}
|
||||||
|
rm -f "${ED}"${coredir}/${LIBPERL}
|
||||||
|
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
|
||||||
|
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
|
||||||
|
|
||||||
|
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
|
||||||
|
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
|
||||||
|
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
|
||||||
|
|
||||||
|
# This removes ${D} from Config.pm
|
||||||
|
for i in $(find "${D}" -iname "Config.pm" ) ; do
|
||||||
|
einfo "Removing ${D} from ${i}..."
|
||||||
|
sed -i -e "s:${D}::" "${i}" || die "Sed failed"
|
||||||
|
done
|
||||||
|
|
||||||
|
dodoc Changes* README AUTHORS
|
||||||
|
|
||||||
|
if use doc ; then
|
||||||
|
# HTML Documentation
|
||||||
|
# We expect errors, warnings, and such with the following.
|
||||||
|
|
||||||
|
dodir /usr/share/doc/${PF}/html
|
||||||
|
LD_LIBRARY_PATH=. ./perl installhtml \
|
||||||
|
--podroot='.' \
|
||||||
|
--podpath='lib:ext:pod:vms' \
|
||||||
|
--recurse \
|
||||||
|
--htmldir="${ED}/usr/share/doc/${PF}/html"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
|
||||||
|
|
||||||
|
dual_scripts
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_preinst() {
|
||||||
|
check_rebuild
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
dual_scripts
|
||||||
|
|
||||||
|
if [[ -z "${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
|
||||||
|
}
|
@ -1 +1,2 @@
|
|||||||
DIST libtool-2.4.6.tar.xz 973080 BLAKE2B 0865af9f8701ca9dc62eec8294a088d24f4a3ff541bc76acfe7b69f70637d7e8261a17d69f7d54a4177f974c429be68467883a1560edb539061966cbf7d4a356 SHA512 a6eef35f3cbccf2c9e2667f44a476ebc80ab888725eb768e91a3a6c33b8c931afc46eb23efaee76c8696d3e4eed74ab1c71157bcb924f38ee912c8a90a6521a4
|
DIST libtool-2.4.6.tar.xz 973080 BLAKE2B 0865af9f8701ca9dc62eec8294a088d24f4a3ff541bc76acfe7b69f70637d7e8261a17d69f7d54a4177f974c429be68467883a1560edb539061966cbf7d4a356 SHA512 a6eef35f3cbccf2c9e2667f44a476ebc80ab888725eb768e91a3a6c33b8c931afc46eb23efaee76c8696d3e4eed74ab1c71157bcb924f38ee912c8a90a6521a4
|
||||||
|
DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da
|
||||||
|
37
sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.4.7.ebuild
vendored
Normal file
37
sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.4.7.ebuild
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
# Please bump with sys-devel/libtool.
|
||||||
|
|
||||||
|
inherit multilib-minimal
|
||||||
|
|
||||||
|
MY_P="libtool-${PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="A shared library tool for developers"
|
||||||
|
HOMEPAGE="https://www.gnu.org/software/libtool/"
|
||||||
|
SRC_URI="mirror://gnu/libtool/${MY_P}.tar.xz"
|
||||||
|
S="${WORKDIR}"/${MY_P}/libltdl
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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"
|
||||||
|
IUSE="static-libs"
|
||||||
|
# libltdl doesn't have a testsuite.
|
||||||
|
|
||||||
|
BDEPEND="app-arch/xz-utils"
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
ECONF_SOURCE="${S}" econf \
|
||||||
|
--enable-ltdl-install \
|
||||||
|
$(use_enable static-libs static)
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install() {
|
||||||
|
emake DESTDIR="${D}" install
|
||||||
|
|
||||||
|
# While the libltdl.la file is not used directly, the m4 ltdl logic
|
||||||
|
# keys off of its existence when searching for ltdl support. # bug #293921
|
||||||
|
#use static-libs || find "${D}" -name libltdl.la -delete
|
||||||
|
}
|
@ -1,2 +1,2 @@
|
|||||||
DIST pkgconf-1.7.4.tar.xz 293888 BLAKE2B af814174b59e3ea7009230f639a6237226caafb22300946904dd10810c0b5cfcbfeea21767a3a1d2c2b5cb1fe4b7b1d995a52d820fcfce3adb383c66762b7576 SHA512 92c080684898b42824a1f1a7e3ce8a600896fc9c20fcf263f032b856fa4c7139607f87ba44d18ed358b8c5f4f04477708800d20a4e10f96e4268a55682f7f0c1
|
|
||||||
DIST pkgconf-1.8.0.tar.xz 296304 BLAKE2B 6585a855a313406f77d26fba3cc3cef798b27c4b7ece81738bdba12f36ee93fbcaf838e1065406c28adc20852e34e2de14bc5f4837982f9cc35360d9a3ac83a5 SHA512 58204006408ad5ce91222ed3c93c2e0b61c04fa83c0a8ad337b747b583744578dbebd4ad5ccbc577689637caa1c5dc246b7795ac46e39c6666b1aa78199b7c28
|
DIST pkgconf-1.8.0.tar.xz 296304 BLAKE2B 6585a855a313406f77d26fba3cc3cef798b27c4b7ece81738bdba12f36ee93fbcaf838e1065406c28adc20852e34e2de14bc5f4837982f9cc35360d9a3ac83a5 SHA512 58204006408ad5ce91222ed3c93c2e0b61c04fa83c0a8ad337b747b583744578dbebd4ad5ccbc577689637caa1c5dc246b7795ac46e39c6666b1aa78199b7c28
|
||||||
|
DIST pkgconf-1.9.3.tar.xz 308612 BLAKE2B 90d48171e24235906c41e97f7a2fa53825724c7500e90e502e5e2e4d668d3be863119e39b83a8e02adcef83a7def42e1c5e3641e77f6194bd81f653776bc95b4 SHA512 f65583f78571e4da161201d6387091562b38893adc31df421b0e6d560a060deb306a0b7ad8b28266253244c935d0a8169f35e04825a7857f21a09527d36f921e
|
||||||
|
@ -5,10 +5,6 @@
|
|||||||
<email>floppym@gentoo.org</email>
|
<email>floppym@gentoo.org</email>
|
||||||
<name>Mike Gilbert</name>
|
<name>Mike Gilbert</name>
|
||||||
</maintainer>
|
</maintainer>
|
||||||
<maintainer type="person">
|
|
||||||
<email>polynomial-c@gentoo.org</email>
|
|
||||||
<name>Lars Wendler</name>
|
|
||||||
</maintainer>
|
|
||||||
<maintainer type="project">
|
<maintainer type="project">
|
||||||
<email>base-system@gentoo.org</email>
|
<email>base-system@gentoo.org</email>
|
||||||
</maintainer>
|
</maintainer>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 2012-2021 Gentoo Authors
|
# Copyright 2012-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
@ -7,14 +7,14 @@ inherit multilib multilib-minimal
|
|||||||
|
|
||||||
if [[ ${PV} == "9999" ]] ; then
|
if [[ ${PV} == "9999" ]] ; then
|
||||||
inherit autotools git-r3
|
inherit autotools git-r3
|
||||||
EGIT_REPO_URI="https://git.sr.ht/~kaniini/pkgconf"
|
EGIT_REPO_URI="https://gitea.treehouse.systems/ariadne/pkgconf.git"
|
||||||
else
|
else
|
||||||
SRC_URI="http://distfiles.dereferenced.org/${PN}/${P}.tar.xz"
|
SRC_URI="https://distfiles.dereferenced.org/${PN}/${P}.tar.xz"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="pkg-config compatible replacement with no dependencies other than ANSI C89"
|
DESCRIPTION="pkg-config compatible replacement with no dependencies other than ANSI C89"
|
||||||
HOMEPAGE="https://git.sr.ht/~kaniini/pkgconf"
|
HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf"
|
||||||
|
|
||||||
LICENSE="ISC"
|
LICENSE="ISC"
|
||||||
SLOT="0/3"
|
SLOT="0/3"
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
# Copyright 2012-2021 Gentoo Authors
|
# Copyright 2012-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=8
|
||||||
|
|
||||||
inherit multilib multilib-minimal
|
inherit multilib multilib-minimal
|
||||||
|
|
||||||
if [[ ${PV} == "9999" ]] ; then
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
inherit autotools git-r3
|
inherit autotools git-r3
|
||||||
EGIT_REPO_URI="https://git.sr.ht/~kaniini/pkgconf"
|
EGIT_REPO_URI="https://gitea.treehouse.systems/ariadne/pkgconf.git"
|
||||||
else
|
else
|
||||||
SRC_URI="http://distfiles.dereferenced.org/${PN}/${P}.tar.xz"
|
SRC_URI="https://distfiles.dereferenced.org/${PN}/${P}.tar.xz"
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~ppc-macos ~x64-macos"
|
# Per release notes, 1.9.x is a testing/development release.
|
||||||
|
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="pkg-config compatible replacement with no dependencies other than ANSI C89"
|
DESCRIPTION="pkg-config compatible replacement with no dependencies other than ANSI C89"
|
||||||
HOMEPAGE="https://git.sr.ht/~kaniini/pkgconf"
|
HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf"
|
||||||
|
|
||||||
LICENSE="ISC"
|
LICENSE="ISC"
|
||||||
SLOT="0/3"
|
SLOT="0/4"
|
||||||
IUSE="test"
|
IUSE="test"
|
||||||
|
|
||||||
# tests require 'kyua'
|
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
BDEPEND="
|
BDEPEND="
|
||||||
@ -29,31 +29,26 @@ BDEPEND="
|
|||||||
dev-util/kyua
|
dev-util/kyua
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
RDEPEND="
|
RDEPEND="!dev-util/pkgconfig"
|
||||||
!dev-util/pkgconfig
|
|
||||||
"
|
|
||||||
|
|
||||||
MULTILIB_CHOST_TOOLS=(
|
|
||||||
/usr/bin/pkgconf$(get_exeext)
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
default
|
default
|
||||||
|
|
||||||
[[ ${PV} == "9999" ]] && eautoreconf
|
[[ ${PV} == 9999 ]] && eautoreconf
|
||||||
MULTILIB_CHOST_TOOLS+=(
|
|
||||||
|
MULTILIB_CHOST_TOOLS=(
|
||||||
|
/usr/bin/pkgconf
|
||||||
/usr/bin/pkg-config$(get_exeext)
|
/usr/bin/pkg-config$(get_exeext)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
multilib_src_configure() {
|
multilib_src_configure() {
|
||||||
local ECONF_SOURCE="${S}"
|
local myeconfargs=(
|
||||||
local args=(
|
|
||||||
--disable-static
|
|
||||||
--with-system-includedir="${EPREFIX}/usr/include"
|
--with-system-includedir="${EPREFIX}/usr/include"
|
||||||
--with-system-libdir="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)"
|
--with-system-libdir="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)"
|
||||||
)
|
)
|
||||||
econf "${args[@]}"
|
|
||||||
|
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
multilib_src_test() {
|
multilib_src_test() {
|
||||||
@ -70,5 +65,6 @@ multilib_src_install() {
|
|||||||
|
|
||||||
multilib_src_install_all() {
|
multilib_src_install_all() {
|
||||||
einstalldocs
|
einstalldocs
|
||||||
|
|
||||||
find "${ED}" -type f -name '*.la' -delete || die
|
find "${ED}" -type f -name '*.la' -delete || die
|
||||||
}
|
}
|
@ -1,26 +1,26 @@
|
|||||||
# Copyright 2012-2021 Gentoo Authors
|
# Copyright 2012-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=8
|
||||||
|
|
||||||
inherit multilib multilib-minimal
|
inherit multilib multilib-minimal
|
||||||
|
|
||||||
if [[ ${PV} == "9999" ]] ; then
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
inherit autotools git-r3
|
inherit autotools git-r3
|
||||||
EGIT_REPO_URI="https://github.com/pkgconf/pkgconf.git"
|
EGIT_REPO_URI="https://gitea.treehouse.systems/ariadne/pkgconf.git"
|
||||||
else
|
else
|
||||||
SRC_URI="http://distfiles.dereferenced.org/${PN}/${P}.tar.xz"
|
SRC_URI="https://distfiles.dereferenced.org/${PN}/${P}.tar.xz"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~ppc-macos ~x64-macos"
|
# Per release notes, 1.9.x is a testing/development release.
|
||||||
|
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="pkg-config compatible replacement with no dependencies other than ANSI C89"
|
DESCRIPTION="pkg-config compatible replacement with no dependencies other than ANSI C89"
|
||||||
HOMEPAGE="https://git.sr.ht/~kaniini/pkgconf"
|
HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf"
|
||||||
|
|
||||||
LICENSE="ISC"
|
LICENSE="ISC"
|
||||||
SLOT="0/3"
|
SLOT="0/4"
|
||||||
IUSE="test"
|
IUSE="test"
|
||||||
|
|
||||||
# tests require 'kyua'
|
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
BDEPEND="
|
BDEPEND="
|
||||||
@ -29,31 +29,26 @@ BDEPEND="
|
|||||||
dev-util/kyua
|
dev-util/kyua
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
RDEPEND="
|
RDEPEND="!dev-util/pkgconfig"
|
||||||
!dev-util/pkgconfig
|
|
||||||
"
|
|
||||||
|
|
||||||
MULTILIB_CHOST_TOOLS=(
|
|
||||||
/usr/bin/pkgconf$(get_exeext)
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
default
|
default
|
||||||
|
|
||||||
[[ ${PV} == "9999" ]] && eautoreconf
|
[[ ${PV} == 9999 ]] && eautoreconf
|
||||||
MULTILIB_CHOST_TOOLS+=(
|
|
||||||
|
MULTILIB_CHOST_TOOLS=(
|
||||||
|
/usr/bin/pkgconf
|
||||||
/usr/bin/pkg-config$(get_exeext)
|
/usr/bin/pkg-config$(get_exeext)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
multilib_src_configure() {
|
multilib_src_configure() {
|
||||||
local ECONF_SOURCE="${S}"
|
local myeconfargs=(
|
||||||
local args=(
|
|
||||||
--disable-static
|
|
||||||
--with-system-includedir="${EPREFIX}/usr/include"
|
--with-system-includedir="${EPREFIX}/usr/include"
|
||||||
--with-system-libdir="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)"
|
--with-system-libdir="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)"
|
||||||
)
|
)
|
||||||
econf "${args[@]}"
|
|
||||||
|
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
multilib_src_test() {
|
multilib_src_test() {
|
||||||
@ -70,5 +65,6 @@ multilib_src_install() {
|
|||||||
|
|
||||||
multilib_src_install_all() {
|
multilib_src_install_all() {
|
||||||
einstalldocs
|
einstalldocs
|
||||||
|
|
||||||
find "${ED}" -type f -name '*.la' -delete || die
|
find "${ED}" -type f -name '*.la' -delete || die
|
||||||
}
|
}
|
||||||
|
@ -51,12 +51,12 @@ EXPORT_FUNCTIONS pkg_postinst pkg_postrm
|
|||||||
if [[ -z ${_ALTERNATIVES_ECLASS} ]]; then
|
if [[ -z ${_ALTERNATIVES_ECLASS} ]]; then
|
||||||
_ALTERNATIVES_ECLASS=1
|
_ALTERNATIVES_ECLASS=1
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: SOURCE
|
# @ECLASS_VARIABLE: SOURCE
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# The symlink to be created
|
# The symlink to be created
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: ALTERNATIVES
|
# @ECLASS_VARIABLE: ALTERNATIVES
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# The list of alternatives
|
# The list of alternatives
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# Flatcar: Support EAPI 0 and 4.
|
|
||||||
|
|
||||||
# @ECLASS: autotools.eclass
|
# @ECLASS: autotools.eclass
|
||||||
# @MAINTAINER:
|
# @MAINTAINER:
|
||||||
# base-system@gentoo.org
|
# base-system@gentoo.org
|
||||||
# @SUPPORTED_EAPIS: 0 4 5 6 7 8
|
# @SUPPORTED_EAPIS: 6 7 8
|
||||||
# @BLURB: Regenerates auto* build scripts
|
# @BLURB: Regenerates auto* build scripts
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# This eclass is for safely handling autotooled software packages that need to
|
# This eclass is for safely handling autotooled software packages that need to
|
||||||
@ -15,21 +13,21 @@
|
|||||||
# Note: We require GNU m4, as does autoconf. So feel free to use any features
|
# Note: We require GNU m4, as does autoconf. So feel free to use any features
|
||||||
# from the GNU version of m4 without worrying about other variants (i.e. BSD).
|
# from the GNU version of m4 without worrying about other variants (i.e. BSD).
|
||||||
|
|
||||||
if [[ ${__AUTOTOOLS_AUTO_DEPEND+set} == "set" ]] ; then
|
if [[ ${_AUTOTOOLS_AUTO_DEPEND+set} == "set" ]] ; then
|
||||||
# See if we were included already, but someone changed the value
|
# See if we were included already, but someone changed the value
|
||||||
# of AUTOTOOLS_AUTO_DEPEND on us. We could reload the entire
|
# of AUTOTOOLS_AUTO_DEPEND on us. We could reload the entire
|
||||||
# eclass at that point, but that adds overhead, and it's trivial
|
# eclass at that point, but that adds overhead, and it's trivial
|
||||||
# to re-order inherit in eclasses/ebuilds instead. #409611
|
# to re-order inherit in eclasses/ebuilds instead. #409611
|
||||||
if [[ ${__AUTOTOOLS_AUTO_DEPEND} != ${AUTOTOOLS_AUTO_DEPEND} ]] ; then
|
if [[ ${_AUTOTOOLS_AUTO_DEPEND} != ${AUTOTOOLS_AUTO_DEPEND} ]] ; then
|
||||||
die "AUTOTOOLS_AUTO_DEPEND changed value between inherits; please inherit ${ECLASS} first! ${__AUTOTOOLS_AUTO_DEPEND} -> ${AUTOTOOLS_AUTO_DEPEND}"
|
die "AUTOTOOLS_AUTO_DEPEND changed value between inherits; please inherit ${ECLASS} first! ${_AUTOTOOLS_AUTO_DEPEND} -> ${AUTOTOOLS_AUTO_DEPEND}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z ${_AUTOTOOLS_ECLASS} ]] ; then
|
if [[ -z ${_AUTOTOOLS_ECLASS} ]] ; then
|
||||||
_AUTOTOOLS_ECLASS=1
|
_AUTOTOOLS_ECLASS=1
|
||||||
|
|
||||||
case ${EAPI:-0} in
|
case ${EAPI} in
|
||||||
0|4|5|6)
|
6)
|
||||||
# Needed for eqawarn
|
# Needed for eqawarn
|
||||||
inherit eutils
|
inherit eutils
|
||||||
;;
|
;;
|
||||||
@ -39,25 +37,25 @@ esac
|
|||||||
|
|
||||||
inherit gnuconfig libtool
|
inherit gnuconfig libtool
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: WANT_AUTOCONF
|
# @ECLASS_VARIABLE: WANT_AUTOCONF
|
||||||
# @PRE_INHERIT
|
# @PRE_INHERIT
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# The major version of autoconf your package needs
|
# The major version of autoconf your package needs
|
||||||
: ${WANT_AUTOCONF:=latest}
|
: ${WANT_AUTOCONF:=latest}
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: WANT_AUTOMAKE
|
# @ECLASS_VARIABLE: WANT_AUTOMAKE
|
||||||
# @PRE_INHERIT
|
# @PRE_INHERIT
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# The major version of automake your package needs
|
# The major version of automake your package needs
|
||||||
: ${WANT_AUTOMAKE:=latest}
|
: ${WANT_AUTOMAKE:=latest}
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: WANT_LIBTOOL
|
# @ECLASS_VARIABLE: WANT_LIBTOOL
|
||||||
# @PRE_INHERIT
|
# @PRE_INHERIT
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Do you want libtool? Valid values here are "latest" and "none".
|
# Do you want libtool? Valid values here are "latest" and "none".
|
||||||
: ${WANT_LIBTOOL:=latest}
|
: ${WANT_LIBTOOL:=latest}
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: _LATEST_AUTOMAKE
|
# @ECLASS_VARIABLE: _LATEST_AUTOMAKE
|
||||||
# @INTERNAL
|
# @INTERNAL
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# CONSTANT!
|
# CONSTANT!
|
||||||
@ -76,7 +74,7 @@ inherit gnuconfig libtool
|
|||||||
# Do NOT change this variable in your ebuilds!
|
# Do NOT change this variable in your ebuilds!
|
||||||
# If you want to force a newer minor version, you can specify the correct
|
# If you want to force a newer minor version, you can specify the correct
|
||||||
# WANT value by using a colon: <PV>:<WANT_AUTOMAKE>
|
# WANT value by using a colon: <PV>:<WANT_AUTOMAKE>
|
||||||
_LATEST_AUTOMAKE=( 1.16.2-r1:1.16 )
|
_LATEST_AUTOMAKE=( 1.16.5:1.16 )
|
||||||
|
|
||||||
_automake_atom="sys-devel/automake"
|
_automake_atom="sys-devel/automake"
|
||||||
_autoconf_atom="sys-devel/autoconf"
|
_autoconf_atom="sys-devel/autoconf"
|
||||||
@ -97,7 +95,7 @@ if [[ -n ${WANT_AUTOCONF} ]] ; then
|
|||||||
none) _autoconf_atom="" ;; # some packages don't require autoconf at all
|
none) _autoconf_atom="" ;; # some packages don't require autoconf at all
|
||||||
2.1) _autoconf_atom="~sys-devel/autoconf-2.13" ;;
|
2.1) _autoconf_atom="~sys-devel/autoconf-2.13" ;;
|
||||||
# if you change the "latest" version here, change also autotools_env_setup
|
# if you change the "latest" version here, change also autotools_env_setup
|
||||||
latest|2.5) _autoconf_atom=">=sys-devel/autoconf-2.69" ;;
|
latest|2.5) _autoconf_atom=">=sys-devel/autoconf-2.71" ;;
|
||||||
*) die "Invalid WANT_AUTOCONF value '${WANT_AUTOCONF}'" ;;
|
*) die "Invalid WANT_AUTOCONF value '${WANT_AUTOCONF}'" ;;
|
||||||
esac
|
esac
|
||||||
export WANT_AUTOCONF
|
export WANT_AUTOCONF
|
||||||
@ -113,7 +111,7 @@ if [[ -n ${WANT_LIBTOOL} ]] ; then
|
|||||||
export WANT_LIBTOOL
|
export WANT_LIBTOOL
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: AUTOTOOLS_DEPEND
|
# @ECLASS_VARIABLE: AUTOTOOLS_DEPEND
|
||||||
# @OUTPUT_VARIABLE
|
# @OUTPUT_VARIABLE
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Contains the combination of requested automake/autoconf/libtool
|
# Contains the combination of requested automake/autoconf/libtool
|
||||||
@ -123,7 +121,7 @@ AUTOTOOLS_DEPEND="${_automake_atom}
|
|||||||
${_libtool_atom}"
|
${_libtool_atom}"
|
||||||
RDEPEND=""
|
RDEPEND=""
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: AUTOTOOLS_AUTO_DEPEND
|
# @ECLASS_VARIABLE: AUTOTOOLS_AUTO_DEPEND
|
||||||
# @PRE_INHERIT
|
# @PRE_INHERIT
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Set to 'no' to disable automatically adding to DEPEND. This lets
|
# Set to 'no' to disable automatically adding to DEPEND. This lets
|
||||||
@ -131,30 +129,30 @@ RDEPEND=""
|
|||||||
# their own DEPEND string.
|
# their own DEPEND string.
|
||||||
: ${AUTOTOOLS_AUTO_DEPEND:=yes}
|
: ${AUTOTOOLS_AUTO_DEPEND:=yes}
|
||||||
if [[ ${AUTOTOOLS_AUTO_DEPEND} != "no" ]] ; then
|
if [[ ${AUTOTOOLS_AUTO_DEPEND} != "no" ]] ; then
|
||||||
case ${EAPI:-0} in
|
case ${EAPI} in
|
||||||
0|4|5|6) DEPEND=${AUTOTOOLS_DEPEND} ;;
|
6) DEPEND=${AUTOTOOLS_DEPEND} ;;
|
||||||
*) BDEPEND=${AUTOTOOLS_DEPEND} ;;
|
*) BDEPEND=${AUTOTOOLS_DEPEND} ;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
__AUTOTOOLS_AUTO_DEPEND=${AUTOTOOLS_AUTO_DEPEND} # See top of eclass
|
_AUTOTOOLS_AUTO_DEPEND=${AUTOTOOLS_AUTO_DEPEND} # See top of eclass
|
||||||
|
|
||||||
unset _automake_atom _autoconf_atom
|
unset _automake_atom _autoconf_atom
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: AM_OPTS
|
# @ECLASS_VARIABLE: AM_OPTS
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Additional options to pass to automake during
|
# Additional options to pass to automake during
|
||||||
# eautoreconf call.
|
# eautoreconf call.
|
||||||
: ${AM_OPTS:=}
|
: ${AM_OPTS:=}
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: AT_NOEAUTOHEADER
|
# @ECLASS_VARIABLE: AT_NOEAUTOHEADER
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Don't run eautoheader command if set to 'yes'; only used to work around
|
# Don't run eautoheader command if set to 'yes'; only used to work around
|
||||||
# packages that don't want their headers being modified.
|
# packages that don't want their headers being modified.
|
||||||
: ${AT_NOEAUTOHEADER:=}
|
: ${AT_NOEAUTOHEADER:=}
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: AT_NOEAUTOMAKE
|
# @ECLASS_VARIABLE: AT_NOEAUTOMAKE
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Don't run eautomake command if set to 'yes'; only used to workaround
|
# Don't run eautomake command if set to 'yes'; only used to workaround
|
||||||
@ -162,7 +160,7 @@ unset _automake_atom _autoconf_atom
|
|||||||
# not call AM_INIT_AUTOMAKE if it doesn't actually use automake.
|
# not call AM_INIT_AUTOMAKE if it doesn't actually use automake.
|
||||||
: ${AT_NOEAUTOMAKE:=}
|
: ${AT_NOEAUTOMAKE:=}
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: AT_NOELIBTOOLIZE
|
# @ECLASS_VARIABLE: AT_NOELIBTOOLIZE
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Don't run elibtoolize command if set to 'yes',
|
# Don't run elibtoolize command if set to 'yes',
|
||||||
@ -170,13 +168,13 @@ unset _automake_atom _autoconf_atom
|
|||||||
# particular options
|
# particular options
|
||||||
: ${AT_NOELIBTOOLIZE:=}
|
: ${AT_NOELIBTOOLIZE:=}
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: AT_M4DIR
|
# @ECLASS_VARIABLE: AT_M4DIR
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Additional director(y|ies) aclocal should search
|
# Additional director(y|ies) aclocal should search
|
||||||
: ${AT_M4DIR:=}
|
: ${AT_M4DIR:=}
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: AT_SYS_M4DIR
|
# @ECLASS_VARIABLE: AT_SYS_M4DIR
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @INTERNAL
|
# @INTERNAL
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
@ -285,7 +283,7 @@ _at_uses_pkg() {
|
|||||||
for macro ; do
|
for macro ; do
|
||||||
args+=( -e "^[[:space:]]*${macro}\>" )
|
args+=( -e "^[[:space:]]*${macro}\>" )
|
||||||
done
|
done
|
||||||
egrep -q "${args[@]}" configure.??
|
grep -E -q "${args[@]}" configure.??
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
_at_uses_autoheader() { _at_uses_pkg A{C,M}_CONFIG_HEADER{S,}; }
|
_at_uses_autoheader() { _at_uses_pkg A{C,M}_CONFIG_HEADER{S,}; }
|
||||||
@ -334,8 +332,26 @@ eaclocal_amflags() {
|
|||||||
# They also force installing the support files for safety.
|
# They also force installing the support files for safety.
|
||||||
# Respects AT_M4DIR for additional directories to search for macros.
|
# Respects AT_M4DIR for additional directories to search for macros.
|
||||||
eaclocal() {
|
eaclocal() {
|
||||||
|
# Feed in a list of paths:
|
||||||
|
# - ${BROOT}/usr/share/aclocal
|
||||||
|
# - ${ESYSROOT}/usr/share/aclocal
|
||||||
|
# See bug #677002
|
||||||
|
if [[ ${EAPI} != 6 ]] ; then
|
||||||
|
if [[ ! -f "${T}"/aclocal/dirlist ]] ; then
|
||||||
|
mkdir "${T}"/aclocal || die
|
||||||
|
cat <<- EOF > "${T}"/aclocal/dirlist || die
|
||||||
|
${BROOT}/usr/share/aclocal
|
||||||
|
${ESYSROOT}/usr/share/aclocal
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
local system_acdir=" --system-acdir=${T}/aclocal"
|
||||||
|
else
|
||||||
|
local system_acdir=""
|
||||||
|
fi
|
||||||
|
|
||||||
[[ ! -f aclocal.m4 || -n $(grep -e 'generated.*by aclocal' aclocal.m4) ]] && \
|
[[ ! -f aclocal.m4 || -n $(grep -e 'generated.*by aclocal' aclocal.m4) ]] && \
|
||||||
autotools_run_tool --at-m4flags aclocal "$@" $(eaclocal_amflags)
|
autotools_run_tool --at-m4flags aclocal "$@" $(eaclocal_amflags) ${system_acdir}
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: _elibtoolize
|
# @FUNCTION: _elibtoolize
|
||||||
@ -377,8 +393,8 @@ eautoconf() {
|
|||||||
|
|
||||||
|
|
||||||
if [[ ${WANT_AUTOCONF} != "2.1" && -e configure.in ]] ; then
|
if [[ ${WANT_AUTOCONF} != "2.1" && -e configure.in ]] ; then
|
||||||
case ${EAPI:-0} in
|
case ${EAPI} in
|
||||||
0|1|2|3|4|5|6|7)
|
6|7)
|
||||||
eqawarn "This package has a configure.in file which has long been deprecated. Please"
|
eqawarn "This package has a configure.in file which has long been deprecated. Please"
|
||||||
eqawarn "update it to use configure.ac instead as newer versions of autotools will die"
|
eqawarn "update it to use configure.ac instead as newer versions of autotools will die"
|
||||||
eqawarn "when it finds this file. See https://bugs.gentoo.org/426262 for details."
|
eqawarn "when it finds this file. See https://bugs.gentoo.org/426262 for details."
|
||||||
@ -468,8 +484,8 @@ eautopoint() {
|
|||||||
config_rpath_update() {
|
config_rpath_update() {
|
||||||
local dst src
|
local dst src
|
||||||
|
|
||||||
case ${EAPI:-0} in
|
case ${EAPI} in
|
||||||
0|4|5|6)
|
6)
|
||||||
src="${EPREFIX}/usr/share/gettext/config.rpath"
|
src="${EPREFIX}/usr/share/gettext/config.rpath"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@ -499,20 +515,30 @@ autotools_env_setup() {
|
|||||||
for pv in ${_LATEST_AUTOMAKE[@]/#*:} ; do
|
for pv in ${_LATEST_AUTOMAKE[@]/#*:} ; do
|
||||||
# Break on first hit to respect _LATEST_AUTOMAKE order.
|
# Break on first hit to respect _LATEST_AUTOMAKE order.
|
||||||
local hv_args=""
|
local hv_args=""
|
||||||
case ${EAPI:-0} in
|
case ${EAPI} in
|
||||||
0|4|5|6)
|
6)
|
||||||
hv_args="--host-root"
|
hv_args="--host-root"
|
||||||
;;
|
;;
|
||||||
7)
|
*)
|
||||||
hv_args="-b"
|
hv_args="-b"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
ROOT=/ has_version ${hv_args} "=sys-devel/automake-${pv}*" && export WANT_AUTOMAKE="${pv}" && break
|
has_version ${hv_args} "=sys-devel/automake-${pv}*" && export WANT_AUTOMAKE="${pv}" && break
|
||||||
done
|
done
|
||||||
[[ ${WANT_AUTOMAKE} == "latest" ]] && \
|
|
||||||
die "Cannot find the latest automake! Tried ${_LATEST_AUTOMAKE[*]}"
|
# During bootstrap in prefix there might be no automake merged yet
|
||||||
|
# due to --nodeps, but still available somewhere in PATH.
|
||||||
|
# For example, ncurses needs local libtool on aix and hpux.
|
||||||
|
# So, make the check non-fatal where automake doesn't yet
|
||||||
|
# exist within BROOT. (We could possibly do better here
|
||||||
|
# and inspect PATH, but I'm not sure there's much point.)
|
||||||
|
if use prefix && [[ ! -x "${BROOT}"/usr/bin/automake ]] ; then
|
||||||
|
[[ ${WANT_AUTOMAKE} == "latest" ]] && ewarn "Ignoring missing automake during Prefix bootstrap! Tried ${_LATEST_AUTOMAKE[*]}"
|
||||||
|
else
|
||||||
|
[[ ${WANT_AUTOMAKE} == "latest" ]] && die "Cannot find the latest automake! Tried ${_LATEST_AUTOMAKE[*]}"
|
||||||
fi
|
fi
|
||||||
[[ ${WANT_AUTOCONF} == "latest" ]] && export WANT_AUTOCONF=2.5
|
fi
|
||||||
|
[[ ${WANT_AUTOCONF} == "latest" ]] && export WANT_AUTOCONF=2.71
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: autotools_run_tool
|
# @FUNCTION: autotools_run_tool
|
||||||
@ -668,12 +694,6 @@ autotools_m4sysdir_include() {
|
|||||||
# First try to use the paths the system integrator has set up.
|
# First try to use the paths the system integrator has set up.
|
||||||
local paths=( $(eval echo ${AT_SYS_M4DIR}) )
|
local paths=( $(eval echo ${AT_SYS_M4DIR}) )
|
||||||
|
|
||||||
if [[ ${#paths[@]} -eq 0 && -n ${SYSROOT} ]] ; then
|
|
||||||
# If they didn't give us anything, then default to the SYSROOT.
|
|
||||||
# This helps when cross-compiling.
|
|
||||||
local path="${SYSROOT}/usr/share/aclocal"
|
|
||||||
[[ -d ${path} ]] && paths+=( "${path}" )
|
|
||||||
fi
|
|
||||||
_autotools_m4dir_include "${paths[@]}"
|
_autotools_m4dir_include "${paths[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,21 +1,18 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# Flatcar: Support EAPI 0 and 4.
|
|
||||||
|
|
||||||
# @ECLASS: flag-o-matic.eclass
|
# @ECLASS: flag-o-matic.eclass
|
||||||
# @MAINTAINER:
|
# @MAINTAINER:
|
||||||
# toolchain@gentoo.org
|
# toolchain@gentoo.org
|
||||||
# @SUPPORTED_EAPIS: 0 4 5 6 7 8
|
# @SUPPORTED_EAPIS: 6 7 8
|
||||||
# @BLURB: common functions to manipulate and query toolchain flags
|
# @BLURB: common functions to manipulate and query toolchain flags
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# This eclass contains a suite of functions to help developers sanely
|
# This eclass contains a suite of functions to help developers sanely
|
||||||
# and safely manage toolchain flags in their builds.
|
# and safely manage toolchain flags in their builds.
|
||||||
|
|
||||||
case ${EAPI:-0} in
|
case ${EAPI} in
|
||||||
1|2|3) die "flag-o-matic.eclass: EAPI ${EAPI} is too old." ;;
|
6|7|8) ;;
|
||||||
0|4|5|6|7|8) ;;
|
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||||
*) die "EAPI ${EAPI} is not supported by flag-o-matic.eclass." ;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if [[ -z ${_FLAG_O_MATIC_ECLASS} ]]; then
|
if [[ -z ${_FLAG_O_MATIC_ECLASS} ]]; then
|
||||||
@ -23,11 +20,11 @@ _FLAG_O_MATIC_ECLASS=1
|
|||||||
|
|
||||||
inherit toolchain-funcs
|
inherit toolchain-funcs
|
||||||
|
|
||||||
[[ ${EAPI:-0} == [04567] ]] && inherit eutils
|
[[ ${EAPI} == [67] ]] && inherit eutils
|
||||||
|
|
||||||
# @FUNCTION: all-flag-vars
|
# @FUNCTION: all-flag-vars
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Return all the flag variables that our high level funcs operate on.
|
# Return all the flag variables that our high level functions operate on.
|
||||||
all-flag-vars() {
|
all-flag-vars() {
|
||||||
echo {ADA,C,CPP,CXX,CCAS,F,FC,LD}FLAGS
|
echo {ADA,C,CPP,CXX,CCAS,F,FC,LD}FLAGS
|
||||||
}
|
}
|
||||||
@ -38,8 +35,8 @@ all-flag-vars() {
|
|||||||
# {C,CPP,CXX,CCAS,F,FC,LD}FLAGS that we allow in strip-flags
|
# {C,CPP,CXX,CCAS,F,FC,LD}FLAGS that we allow in strip-flags
|
||||||
# Note: shell globs and character lists are allowed
|
# Note: shell globs and character lists are allowed
|
||||||
setup-allowed-flags() {
|
setup-allowed-flags() {
|
||||||
[[ ${EAPI:-0} == [04567] ]] ||
|
[[ ${EAPI} == [67] ]] ||
|
||||||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI:-0}."
|
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
|
||||||
_setup-allowed-flags "$@"
|
_setup-allowed-flags "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,21 +47,39 @@ setup-allowed-flags() {
|
|||||||
# Note: shell globs and character lists are allowed
|
# Note: shell globs and character lists are allowed
|
||||||
_setup-allowed-flags() {
|
_setup-allowed-flags() {
|
||||||
ALLOWED_FLAGS=(
|
ALLOWED_FLAGS=(
|
||||||
-pipe -O '-O[12sg]' -mcpu -march -mtune
|
-pipe -O '-O[12sg]' '-mcpu=*' '-march=*' '-mtune=*'
|
||||||
'-fstack-protector*'
|
|
||||||
'-fsanitize*' '-fno-sanitize*'
|
|
||||||
'-fstack-check*' -fno-stack-check
|
|
||||||
-fbounds-check -fbounds-checking -fno-strict-overflow
|
|
||||||
-fno-PIE -fno-pie -nopie -no-pie -fno-unit-at-a-time
|
|
||||||
|
|
||||||
# debugging symbols should generally be very safe to add
|
# Hardening flags
|
||||||
|
'-fstack-protector*'
|
||||||
|
'-fstack-check*' -fno-stack-check
|
||||||
|
-fstack-clash-protection
|
||||||
|
'-fcf-protection=*'
|
||||||
|
-fbounds-check -fbounds-checking
|
||||||
|
-fno-PIE -fno-pie -nopie -no-pie
|
||||||
|
# Spectre mitigations, bug #646076
|
||||||
|
'-mindirect-branch=*'
|
||||||
|
-mindirect-branch-register
|
||||||
|
'-mfunction-return=*'
|
||||||
|
-mretpoline
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
-fno-unit-at-a-time -fno-strict-overflow
|
||||||
|
|
||||||
|
# Sanitizers
|
||||||
|
'-fsanitize*' '-fno-sanitize*'
|
||||||
|
|
||||||
|
# Debugging symbols should generally be very safe to add
|
||||||
-g '-g[0-9]'
|
-g '-g[0-9]'
|
||||||
-ggdb '-ggdb[0-9]'
|
-ggdb '-ggdb[0-9]'
|
||||||
-gdwarf '-gdwarf-*'
|
-gdwarf '-gdwarf-*'
|
||||||
-gstabs -gstabs+
|
-gstabs -gstabs+
|
||||||
-gz
|
-gz
|
||||||
|
-glldb
|
||||||
|
|
||||||
|
# Cosmetic/output related, see e.g. bug #830534
|
||||||
|
-fno-diagnostics-color '-fmessage-length=*'
|
||||||
-fno-ident -fpermissive -frecord-gcc-switches
|
-fno-ident -fpermissive -frecord-gcc-switches
|
||||||
|
-frecord-command-line
|
||||||
'-fdiagnostics*' '-fplugin*'
|
'-fdiagnostics*' '-fplugin*'
|
||||||
'-W*' -w
|
'-W*' -w
|
||||||
|
|
||||||
@ -72,7 +87,7 @@ _setup-allowed-flags() {
|
|||||||
'-[DUILR]*' '-Wl,*'
|
'-[DUILR]*' '-Wl,*'
|
||||||
|
|
||||||
# Linker choice flag
|
# Linker choice flag
|
||||||
'-fuse-ld'
|
'-fuse-ld=*'
|
||||||
)
|
)
|
||||||
|
|
||||||
# allow a bunch of flags that negate features / control ABI
|
# allow a bunch of flags that negate features / control ABI
|
||||||
@ -82,19 +97,22 @@ _setup-allowed-flags() {
|
|||||||
-fno-omit-frame-pointer '-fno-builtin*'
|
-fno-omit-frame-pointer '-fno-builtin*'
|
||||||
)
|
)
|
||||||
ALLOWED_FLAGS+=(
|
ALLOWED_FLAGS+=(
|
||||||
-mregparm -mno-app-regs -mapp-regs -mno-mmx -mno-sse
|
'-mregparm=*' -mno-app-regs -mapp-regs -mno-mmx -mno-sse
|
||||||
-mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2
|
-mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2
|
||||||
-mno-avx -mno-aes -mno-pclmul -mno-sse4a -mno-3dnow -mno-popcnt
|
-mno-avx -mno-aes -mno-pclmul -mno-sse4a -mno-3dnow -mno-popcnt
|
||||||
-mno-abm -mips1 -mips2 -mips3 -mips4 -mips32 -mips64 -mips16 -mplt
|
-mno-abm -mips1 -mips2 -mips3 -mips4 -mips32 -mips64 -mips16 -mplt
|
||||||
-msoft-float -mno-soft-float -mhard-float -mno-hard-float -mfpu
|
-msoft-float -mno-soft-float -mhard-float -mno-hard-float '-mfpu=*'
|
||||||
-mieee -mieee-with-inexact -mschedule -mfloat-gprs -mspe -mno-spe
|
-mieee -mieee-with-inexact '-mschedule=*' -mfloat-gprs -mspe -mno-spe
|
||||||
-mtls-direct-seg-refs -mno-tls-direct-seg-refs -mflat -mno-flat
|
-mtls-direct-seg-refs -mno-tls-direct-seg-refs -mflat -mno-flat
|
||||||
-mno-faster-structs -mfaster-structs -m32 -m64 -mx32 -mabi
|
-mno-faster-structs -mfaster-structs -m32 -m64 -mx32 '-mabi=*'
|
||||||
-mlittle-endian -mbig-endian -EL -EB -fPIC -mlive-g0 -mcmodel
|
-mlittle-endian -mbig-endian -EL -EB -fPIC -mlive-g0 '-mcmodel=*'
|
||||||
-mstack-bias -mno-stack-bias -msecure-plt '-m*-toc' -mfloat-abi
|
-mstack-bias -mno-stack-bias -msecure-plt '-m*-toc' '-mfloat-abi=*'
|
||||||
-mfix-r4000 -mno-fix-r4000 -mfix-r4400 -mno-fix-r4400
|
-mfix-r4000 -mno-fix-r4000 -mfix-r4400 -mno-fix-r4400
|
||||||
-mfix-rm7000 -mno-fix-rm7000 -mfix-r10000 -mno-fix-r10000
|
-mfix-rm7000 -mno-fix-rm7000 -mfix-r10000 -mno-fix-r10000
|
||||||
-mr10k-cache-barrier -mthumb -marm
|
'-mr10k-cache-barrier=*' -mthumb -marm
|
||||||
|
|
||||||
|
# needed for arm64 (and in particular SCS)
|
||||||
|
-ffixed-x18
|
||||||
|
|
||||||
# gcc 4.5
|
# gcc 4.5
|
||||||
-mno-fma4 -mno-movbe -mno-xop -mno-lwp
|
-mno-fma4 -mno-movbe -mno-xop -mno-lwp
|
||||||
@ -191,6 +209,7 @@ filter-flags() {
|
|||||||
# Remove flags that enable Large File Support.
|
# Remove flags that enable Large File Support.
|
||||||
filter-lfs-flags() {
|
filter-lfs-flags() {
|
||||||
[[ $# -ne 0 ]] && die "filter-lfs-flags takes no arguments"
|
[[ $# -ne 0 ]] && die "filter-lfs-flags takes no arguments"
|
||||||
|
|
||||||
# http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html
|
# http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html
|
||||||
# _LARGEFILE_SOURCE: enable support for new LFS funcs (ftello/etc...)
|
# _LARGEFILE_SOURCE: enable support for new LFS funcs (ftello/etc...)
|
||||||
# _LARGEFILE64_SOURCE: enable support for 64bit variants (off64_t/fseeko64/etc...)
|
# _LARGEFILE64_SOURCE: enable support for 64bit variants (off64_t/fseeko64/etc...)
|
||||||
@ -199,6 +218,14 @@ filter-lfs-flags() {
|
|||||||
filter-flags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_TIME_BITS=64
|
filter-flags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_TIME_BITS=64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: filter-lto
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Remove flags that enable LTO and those that depend on it
|
||||||
|
filter-lto() {
|
||||||
|
[[ $# -ne 0 ]] && die "filter-lto takes no arguments"
|
||||||
|
filter-flags '-flto*' -fwhole-program-vtables '-fsanitize=cfi*'
|
||||||
|
}
|
||||||
|
|
||||||
# @FUNCTION: filter-ldflags
|
# @FUNCTION: filter-ldflags
|
||||||
# @USAGE: <flags>
|
# @USAGE: <flags>
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
@ -228,7 +255,7 @@ append-cppflags() {
|
|||||||
# @CODE
|
# @CODE
|
||||||
append-cflags() {
|
append-cflags() {
|
||||||
[[ $# -eq 0 ]] && return 0
|
[[ $# -eq 0 ]] && return 0
|
||||||
# Do not do automatic flag testing ourselves. #417047
|
# Do not do automatic flag testing ourselves, bug #417047
|
||||||
export CFLAGS+=" $*"
|
export CFLAGS+=" $*"
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@ -243,7 +270,7 @@ append-cflags() {
|
|||||||
# @CODE
|
# @CODE
|
||||||
append-cxxflags() {
|
append-cxxflags() {
|
||||||
[[ $# -eq 0 ]] && return 0
|
[[ $# -eq 0 ]] && return 0
|
||||||
# Do not do automatic flag testing ourselves. #417047
|
# Do not do automatic flag testing ourselves, bug #417047
|
||||||
export CXXFLAGS+=" $*"
|
export CXXFLAGS+=" $*"
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@ -258,7 +285,7 @@ append-cxxflags() {
|
|||||||
# @CODE
|
# @CODE
|
||||||
append-fflags() {
|
append-fflags() {
|
||||||
[[ $# -eq 0 ]] && return 0
|
[[ $# -eq 0 ]] && return 0
|
||||||
# Do not do automatic flag testing ourselves. #417047
|
# Do not do automatic flag testing ourselves, bug #417047
|
||||||
export FFLAGS+=" $*"
|
export FFLAGS+=" $*"
|
||||||
export FCFLAGS+=" $*"
|
export FCFLAGS+=" $*"
|
||||||
return 0
|
return 0
|
||||||
@ -269,7 +296,8 @@ append-fflags() {
|
|||||||
# Add flags that enable Large File Support.
|
# Add flags that enable Large File Support.
|
||||||
append-lfs-flags() {
|
append-lfs-flags() {
|
||||||
[[ $# -ne 0 ]] && die "append-lfs-flags takes no arguments"
|
[[ $# -ne 0 ]] && die "append-lfs-flags takes no arguments"
|
||||||
# see comments in filter-lfs-flags func for meaning of these
|
|
||||||
|
# See comments in filter-lfs-flags func for meaning of these
|
||||||
append-cppflags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
|
append-cppflags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -296,9 +324,9 @@ append-ldflags() {
|
|||||||
append-flags() {
|
append-flags() {
|
||||||
[[ $# -eq 0 ]] && return 0
|
[[ $# -eq 0 ]] && return 0
|
||||||
case " $* " in
|
case " $* " in
|
||||||
*' '-[DIU]*) eqawarn 'please use append-cppflags for preprocessor flags' ;;
|
*' '-[DIU]*) eqawarn 'Please use append-cppflags for preprocessor flags' ;;
|
||||||
*' '-L*|\
|
*' '-L*|\
|
||||||
*' '-Wl,*) eqawarn 'please use append-ldflags for linker flags' ;;
|
*' '-Wl,*) eqawarn 'Please use append-ldflags for linker flags' ;;
|
||||||
esac
|
esac
|
||||||
append-cflags "$@"
|
append-cflags "$@"
|
||||||
append-cxxflags "$@"
|
append-cxxflags "$@"
|
||||||
@ -454,9 +482,8 @@ strip-flags() {
|
|||||||
local new=()
|
local new=()
|
||||||
|
|
||||||
for x in ${!var} ; do
|
for x in ${!var} ; do
|
||||||
local flag=${x%%=*}
|
|
||||||
for y in "${ALLOWED_FLAGS[@]}" ; do
|
for y in "${ALLOWED_FLAGS[@]}" ; do
|
||||||
if [[ -z ${flag%%${y}} ]] ; then
|
if [[ ${x} == ${y} ]] ; then
|
||||||
new+=( "${x}" )
|
new+=( "${x}" )
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
@ -486,8 +513,8 @@ strip-flags() {
|
|||||||
# Returns shell true if <flag> is supported by given <compiler>,
|
# Returns shell true if <flag> is supported by given <compiler>,
|
||||||
# else returns shell false.
|
# else returns shell false.
|
||||||
test-flag-PROG() {
|
test-flag-PROG() {
|
||||||
[[ ${EAPI:-0} == [04567] ]] ||
|
[[ ${EAPI} == [67] ]] ||
|
||||||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI:-0}."
|
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
|
||||||
_test-flag-PROG "$@"
|
_test-flag-PROG "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -547,6 +574,15 @@ _test-flag-PROG() {
|
|||||||
c+ld)
|
c+ld)
|
||||||
in_ext='c'
|
in_ext='c'
|
||||||
in_src='int main(void) { return 0; }'
|
in_src='int main(void) { return 0; }'
|
||||||
|
|
||||||
|
if is-ldflagq -fuse-ld=* ; then
|
||||||
|
# Respect linker chosen by user so we don't
|
||||||
|
# end up giving false results by checking
|
||||||
|
# with default linker. bug #832377
|
||||||
|
fuse_ld_value=$(get-flag -fuse-ld=*)
|
||||||
|
cmdline_extra+=(${fuse_ld_value})
|
||||||
|
fi
|
||||||
|
|
||||||
cmdline_extra+=(-xc)
|
cmdline_extra+=(-xc)
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -556,7 +592,7 @@ _test-flag-PROG() {
|
|||||||
printf "%s\n" "${in_src}" > "${test_in}" || die "Failed to create '${test_in}'"
|
printf "%s\n" "${in_src}" > "${test_in}" || die "Failed to create '${test_in}'"
|
||||||
|
|
||||||
# Currently we rely on warning-free output of a compiler
|
# Currently we rely on warning-free output of a compiler
|
||||||
# before the flag to see if a flag prduces any warnings.
|
# before the flag to see if a flag produces any warnings.
|
||||||
# This has a few drawbacks:
|
# This has a few drawbacks:
|
||||||
# - if compiler already generates warnings we filter out
|
# - if compiler already generates warnings we filter out
|
||||||
# every single flag: bug #712488
|
# every single flag: bug #712488
|
||||||
@ -582,7 +618,9 @@ _test-flag-PROG() {
|
|||||||
# -Werror makes clang bail out on unused arguments as well;
|
# -Werror makes clang bail out on unused arguments as well;
|
||||||
# try to add -Qunused-arguments to work-around that
|
# try to add -Qunused-arguments to work-around that
|
||||||
# other compilers don't support it but then, it's failure like
|
# other compilers don't support it but then, it's failure like
|
||||||
# any other
|
# any other.
|
||||||
|
#
|
||||||
|
# See also bug #712488 and bug #714742.
|
||||||
cmdline+=( -Qunused-arguments )
|
cmdline+=( -Qunused-arguments )
|
||||||
"${cmdline[@]}" &>/dev/null
|
"${cmdline[@]}" &>/dev/null
|
||||||
fi
|
fi
|
||||||
@ -625,8 +663,8 @@ test-flag-CCLD() { _test-flag-PROG CC c+ld "$@"; }
|
|||||||
# Returns shell true if <flags> are supported by given <compiler>,
|
# Returns shell true if <flags> are supported by given <compiler>,
|
||||||
# else returns shell false.
|
# else returns shell false.
|
||||||
test-flags-PROG() {
|
test-flags-PROG() {
|
||||||
[[ ${EAPI:-0} == [04567] ]] ||
|
[[ ${EAPI} == [67] ]] ||
|
||||||
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI:-0}."
|
die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}."
|
||||||
_test-flags-PROG "$@"
|
_test-flags-PROG "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -833,7 +871,7 @@ raw-ldflags() {
|
|||||||
x=${x#-Wl,}
|
x=${x#-Wl,}
|
||||||
set -- "$@" ${x//,/ }
|
set -- "$@" ${x//,/ }
|
||||||
;;
|
;;
|
||||||
*) # Assume it's a compiler driver flag, so throw it away #441808
|
*) # Assume it's a compiler driver flag, so throw it away, bug #441808
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@ -850,4 +888,150 @@ no-as-needed() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: _test-compile-PROG
|
||||||
|
# @USAGE: <language> <code>
|
||||||
|
# @INTERNAL
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Attempts to compile (and possibly link) the given program. The first
|
||||||
|
# <language> parameter corresponds to the standard -x compiler argument.
|
||||||
|
# If the program should additionally be attempted to be linked, the string
|
||||||
|
# "+ld" should be added to the <language> parameter.
|
||||||
|
_test-compile-PROG() {
|
||||||
|
local lang=$1
|
||||||
|
local code=$2
|
||||||
|
shift 2
|
||||||
|
|
||||||
|
[[ -z "${lang}" ]] && return 1
|
||||||
|
[[ -z "${code}" ]] && return 1
|
||||||
|
|
||||||
|
local compiler filename_in filename_out args=() libs=()
|
||||||
|
case "${lang}" in
|
||||||
|
c)
|
||||||
|
compiler="$(tc-getCC)"
|
||||||
|
filename_in="${T}/test.c"
|
||||||
|
filename_out="${T}/test.o"
|
||||||
|
args+=(${CFLAGS[@]} -xc -c)
|
||||||
|
;;
|
||||||
|
c++)
|
||||||
|
compiler="$(tc-getCXX)"
|
||||||
|
filename_in="${T}/test.cc"
|
||||||
|
filename_out="${T}/test.o"
|
||||||
|
args+=(${CXXFLAGS[@]} -xc++ -c)
|
||||||
|
;;
|
||||||
|
f77)
|
||||||
|
compiler="$(tc-getF77)"
|
||||||
|
filename_in="${T}/test.f"
|
||||||
|
filename_out="${T}/test.o"
|
||||||
|
args+=(${FFFLAGS[@]} -xf77 -c)
|
||||||
|
;;
|
||||||
|
f95)
|
||||||
|
compiler="$(tc-getFC)"
|
||||||
|
filename_in="${T}/test.f90"
|
||||||
|
filename_out="${T}/test.o"
|
||||||
|
args+=(${FCFLAGS[@]} -xf95 -c)
|
||||||
|
;;
|
||||||
|
c+ld)
|
||||||
|
compiler="$(tc-getCC)"
|
||||||
|
filename_in="${T}/test.c"
|
||||||
|
filename_out="${T}/test.exe"
|
||||||
|
args+=(${CFLAGS[@]} ${LDFLAGS[@]} -xc)
|
||||||
|
libs+=(${LIBS[@]})
|
||||||
|
;;
|
||||||
|
c+++ld)
|
||||||
|
compiler="$(tc-getCXX)"
|
||||||
|
filename_in="${T}/test.cc"
|
||||||
|
filename_out="${T}/test.exe"
|
||||||
|
args+=(${CXXFLAGS[@]} ${LDFLAGS[@]} -xc++)
|
||||||
|
libs+=(${LIBS[@]})
|
||||||
|
;;
|
||||||
|
f77+ld)
|
||||||
|
compiler="$(tc-getF77)"
|
||||||
|
filename_in="${T}/test.f"
|
||||||
|
filename_out="${T}/test.exe"
|
||||||
|
args+=(${FFLAGS[@]} ${LDFLAGS[@]} -xf77)
|
||||||
|
libs+=(${LIBS[@]})
|
||||||
|
;;
|
||||||
|
f95+ld)
|
||||||
|
compiler="$(tc-getFC)"
|
||||||
|
filename_in="${T}/test.f90"
|
||||||
|
filename_out="${T}/test.exe"
|
||||||
|
args+=(${FCFLAGS[@]} ${LDFLAGS[@]} -xf95)
|
||||||
|
libs+=(${LIBS[@]})
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
die "Unknown compiled language ${lang}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
printf "%s\n" "${code}" > "${filename_in}" || die "Failed to create '${test_in}'"
|
||||||
|
|
||||||
|
"${compiler}" ${args[@]} "${filename_in}" -o "${filename_out}" ${libs[@]} &>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: append-atomic-flags
|
||||||
|
# @USAGE: [bytes]
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Attempts to detect if appending -latomic is required to use
|
||||||
|
# a specific-sized atomic intrinsic, and if so, appends it. If the bytesize
|
||||||
|
# is not specified, then check the four most common byte sizes (1, 2, 4, 8).
|
||||||
|
# >=16-byte atomics are not included in this default set and must be explicitly
|
||||||
|
# passed if required. This may require you to add a macro definition like
|
||||||
|
# -Duint128_t=__uint128_t to your CFLAGS.
|
||||||
|
append-atomic-flags() {
|
||||||
|
# this implementation is as described in bug #820101
|
||||||
|
local code
|
||||||
|
|
||||||
|
# first, ensure we can compile a trivial program
|
||||||
|
# this is because we can't distinguish if _test-compile-PROG
|
||||||
|
# fails because -latomic is actually needed or if we have a
|
||||||
|
# broken toolchain (like due to bad FLAGS)
|
||||||
|
read -r -d '' code <<- EOF
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# if toolchain is broken, just return silently. it's better to
|
||||||
|
# let other pieces of the build fail later down the line than to
|
||||||
|
# make people think that something to do with atomic support is the
|
||||||
|
# cause of their problems.
|
||||||
|
_test-compile-PROG "c+ld" "${code}" || return
|
||||||
|
|
||||||
|
local bytesizes
|
||||||
|
[[ "${#}" == "0" ]] && bytesizes=( "1" "2" "4" "8" ) || bytesizes="${@}"
|
||||||
|
|
||||||
|
for bytesize in ${bytesizes[@]}
|
||||||
|
do
|
||||||
|
# this sample program is informed by the great testing from the buildroot project:
|
||||||
|
# https://github.com/buildroot/buildroot/commit/6856e417da4f3aa77e2a814db2a89429af072f7d
|
||||||
|
read -r -d '' code <<- EOF
|
||||||
|
#include <stdint.h>
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
uint$((${bytesize} * 8))_t a = 0;
|
||||||
|
__atomic_add_fetch(&a, 3, __ATOMIC_RELAXED);
|
||||||
|
__atomic_compare_exchange_n(&a, &a, 2, 1, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# do nothing if test program links fine
|
||||||
|
_test-compile-PROG "c+ld" "${code}" && continue
|
||||||
|
|
||||||
|
# ensure that the toolchain supports -latomic
|
||||||
|
test-flags-CCLD "-latomic" &>/dev/null || die "-latomic is required but not supported by $(tc-getCC)"
|
||||||
|
|
||||||
|
append-libs "-latomic"
|
||||||
|
|
||||||
|
# verify that this did indeed fix the problem
|
||||||
|
_test-compile-PROG "c+ld" "${code}" || \
|
||||||
|
die "libatomic does not include an implementation of ${bytesize}-byte atomics for this toolchain"
|
||||||
|
|
||||||
|
# if any of the required bytesizes require -latomic, no need to continue
|
||||||
|
# checking the others
|
||||||
|
return
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
@ -1,19 +1,17 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2021 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# Flatcar: Support EAPI 4.
|
|
||||||
|
|
||||||
# @ECLASS: git-r3.eclass
|
# @ECLASS: git-r3.eclass
|
||||||
# @MAINTAINER:
|
# @MAINTAINER:
|
||||||
# Michał Górny <mgorny@gentoo.org>
|
# Michał Górny <mgorny@gentoo.org>
|
||||||
# @SUPPORTED_EAPIS: 4 5 6 7 8
|
# @SUPPORTED_EAPIS: 5 6 7 8
|
||||||
# @BLURB: Eclass for fetching and unpacking git repositories.
|
# @BLURB: Eclass for fetching and unpacking git repositories.
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Third generation eclass for easing maintenance of live ebuilds using
|
# Third generation eclass for easing maintenance of live ebuilds using
|
||||||
# git as remote repository.
|
# git as remote repository.
|
||||||
|
|
||||||
case ${EAPI:-0} in
|
case ${EAPI:-0} in
|
||||||
4|5|6|7|8) ;;
|
5|6|7|8) ;;
|
||||||
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
@ -23,13 +21,13 @@ if [[ ! ${_GIT_R3} ]]; then
|
|||||||
|
|
||||||
PROPERTIES+=" live"
|
PROPERTIES+=" live"
|
||||||
|
|
||||||
if [[ ${EAPI} != [456] ]]; then
|
if [[ ${EAPI} != [56] ]]; then
|
||||||
BDEPEND=">=dev-vcs/git-1.8.2.1[curl]"
|
BDEPEND=">=dev-vcs/git-1.8.2.1[curl]"
|
||||||
else
|
else
|
||||||
DEPEND=">=dev-vcs/git-1.8.2.1[curl]"
|
DEPEND=">=dev-vcs/git-1.8.2.1[curl]"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: EGIT_CLONE_TYPE
|
# @ECLASS_VARIABLE: EGIT_CLONE_TYPE
|
||||||
# @USER_VARIABLE
|
# @USER_VARIABLE
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Type of clone that should be used against the remote repository.
|
# Type of clone that should be used against the remote repository.
|
||||||
@ -67,7 +65,7 @@ fi
|
|||||||
# embedded systems with limited disk space.
|
# embedded systems with limited disk space.
|
||||||
: ${EGIT_CLONE_TYPE:=single}
|
: ${EGIT_CLONE_TYPE:=single}
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: EGIT_MIN_CLONE_TYPE
|
# @ECLASS_VARIABLE: EGIT_MIN_CLONE_TYPE
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# 'Minimum' clone type supported by the ebuild. Takes same values
|
# 'Minimum' clone type supported by the ebuild. Takes same values
|
||||||
# as EGIT_CLONE_TYPE. When user sets a type that's 'lower' (that is,
|
# as EGIT_CLONE_TYPE. When user sets a type that's 'lower' (that is,
|
||||||
@ -84,7 +82,7 @@ fi
|
|||||||
# fatal errors rather than 'non-pretty versions'.
|
# fatal errors rather than 'non-pretty versions'.
|
||||||
: ${EGIT_MIN_CLONE_TYPE:=shallow}
|
: ${EGIT_MIN_CLONE_TYPE:=shallow}
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: EGIT3_STORE_DIR
|
# @ECLASS_VARIABLE: EGIT3_STORE_DIR
|
||||||
# @USER_VARIABLE
|
# @USER_VARIABLE
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
@ -95,7 +93,7 @@ fi
|
|||||||
#
|
#
|
||||||
# EGIT3_STORE_DIR=${DISTDIR}/git3-src
|
# EGIT3_STORE_DIR=${DISTDIR}/git3-src
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: EGIT_MIRROR_URI
|
# @ECLASS_VARIABLE: EGIT_MIRROR_URI
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# 'Top' URI to a local git mirror. If specified, the eclass will try
|
# 'Top' URI to a local git mirror. If specified, the eclass will try
|
||||||
@ -109,7 +107,7 @@ fi
|
|||||||
# EGIT_MIRROR_URI="git://mirror.lan/"
|
# EGIT_MIRROR_URI="git://mirror.lan/"
|
||||||
# @CODE
|
# @CODE
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: EGIT_REPO_URI
|
# @ECLASS_VARIABLE: EGIT_REPO_URI
|
||||||
# @REQUIRED
|
# @REQUIRED
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# URIs to the repository, e.g. https://foo. If multiple URIs are
|
# URIs to the repository, e.g. https://foo. If multiple URIs are
|
||||||
@ -128,12 +126,12 @@ fi
|
|||||||
# EGIT_REPO_URI="https://a/b.git https://c/d.git"
|
# EGIT_REPO_URI="https://a/b.git https://c/d.git"
|
||||||
# @CODE
|
# @CODE
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: EVCS_OFFLINE
|
# @ECLASS_VARIABLE: EVCS_OFFLINE
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# If non-empty, this variable prevents any online operations.
|
# If non-empty, this variable prevents any online operations.
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: EVCS_UMASK
|
# @ECLASS_VARIABLE: EVCS_UMASK
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Set this variable to a custom umask. This is intended to be set by
|
# Set this variable to a custom umask. This is intended to be set by
|
||||||
@ -144,13 +142,13 @@ fi
|
|||||||
# portage group write access already can screw the system over in more
|
# portage group write access already can screw the system over in more
|
||||||
# creative ways.
|
# creative ways.
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: EGIT_BRANCH
|
# @ECLASS_VARIABLE: EGIT_BRANCH
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# The branch name to check out. If unset, the upstream default (HEAD)
|
# The branch name to check out. If unset, the upstream default (HEAD)
|
||||||
# will be used.
|
# will be used.
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: EGIT_COMMIT
|
# @ECLASS_VARIABLE: EGIT_COMMIT
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# The tag name or commit identifier to check out. If unset, newest
|
# The tag name or commit identifier to check out. If unset, newest
|
||||||
@ -158,7 +156,7 @@ fi
|
|||||||
# not on HEAD branch, EGIT_BRANCH needs to be set to a branch on which
|
# not on HEAD branch, EGIT_BRANCH needs to be set to a branch on which
|
||||||
# the commit is available.
|
# the commit is available.
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: EGIT_COMMIT_DATE
|
# @ECLASS_VARIABLE: EGIT_COMMIT_DATE
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Attempt to check out the repository state for the specified timestamp.
|
# Attempt to check out the repository state for the specified timestamp.
|
||||||
@ -172,14 +170,14 @@ fi
|
|||||||
# will be considered alike a single commit with date corresponding
|
# will be considered alike a single commit with date corresponding
|
||||||
# to the merge commit date.
|
# to the merge commit date.
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: EGIT_CHECKOUT_DIR
|
# @ECLASS_VARIABLE: EGIT_CHECKOUT_DIR
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# The directory to check the git sources out to.
|
# The directory to check the git sources out to.
|
||||||
#
|
#
|
||||||
# EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
|
# EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: EGIT_SUBMODULES
|
# @ECLASS_VARIABLE: EGIT_SUBMODULES
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# An array of inclusive and exclusive wildcards on submodule names,
|
# An array of inclusive and exclusive wildcards on submodule names,
|
||||||
@ -562,7 +560,7 @@ git-r3_fetch() {
|
|||||||
local commit_date=${4:-${EGIT_COMMIT_DATE}}
|
local commit_date=${4:-${EGIT_COMMIT_DATE}}
|
||||||
|
|
||||||
# support new override API for EAPI 6+
|
# support new override API for EAPI 6+
|
||||||
if [[ ${EAPI} != [45] ]]; then
|
if [[ ${EAPI} != 5 ]]; then
|
||||||
# get the name and do some more processing:
|
# get the name and do some more processing:
|
||||||
# 1) kill .git suffix,
|
# 1) kill .git suffix,
|
||||||
# 2) underscore (remaining) non-variable characters,
|
# 2) underscore (remaining) non-variable characters,
|
||||||
|
@ -1,14 +1,12 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# Flatcar: Support EAPI 0 and 4.
|
|
||||||
|
|
||||||
# @ECLASS: gnuconfig.eclass
|
# @ECLASS: gnuconfig.eclass
|
||||||
# @MAINTAINER:
|
# @MAINTAINER:
|
||||||
# Sam James <sam@gentoo.org>
|
# Sam James <sam@gentoo.org>
|
||||||
# @AUTHOR:
|
# @AUTHOR:
|
||||||
# Will Woods <wwoods@gentoo.org>
|
# Will Woods <wwoods@gentoo.org>
|
||||||
# @SUPPORTED_EAPIS: 0 4 5 6 7 8
|
# @SUPPORTED_EAPIS: 5 6 7 8
|
||||||
# @BLURB: Refresh bundled gnuconfig files (config.guess, config.sub)
|
# @BLURB: Refresh bundled gnuconfig files (config.guess, config.sub)
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# This eclass is used to automatically update files that typically come with
|
# This eclass is used to automatically update files that typically come with
|
||||||
@ -19,7 +17,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
case ${EAPI:-0} in
|
case ${EAPI:-0} in
|
||||||
0|4|5|6|7|8) ;;
|
5|6|7|8) ;;
|
||||||
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
@ -28,7 +26,7 @@ if [[ -z ${_GNUCONFIG_ECLASS} ]] ; then
|
|||||||
|
|
||||||
BDEPEND="sys-devel/gnuconfig"
|
BDEPEND="sys-devel/gnuconfig"
|
||||||
|
|
||||||
[[ ${EAPI:-0} == [0456] ]] && DEPEND="${BDEPEND}"
|
[[ ${EAPI} == [56] ]] && DEPEND="${BDEPEND}"
|
||||||
|
|
||||||
# @FUNCTION: gnuconfig_update
|
# @FUNCTION: gnuconfig_update
|
||||||
# @USAGE: [file1 file2 ...]
|
# @USAGE: [file1 file2 ...]
|
||||||
@ -86,9 +84,9 @@ gnuconfig_do_update() {
|
|||||||
if [[ -n ${targetlist} ]] ; then
|
if [[ -n ${targetlist} ]] ; then
|
||||||
for target in ${targetlist} ; do
|
for target in ${targetlist} ; do
|
||||||
[[ -L ${target} ]] && rm -f "${target}"
|
[[ -L ${target} ]] && rm -f "${target}"
|
||||||
einfo " Updating ${target/$startdir\//}"
|
ebegin " Updating ${target/$startdir\//}"
|
||||||
cp -f "${configsubs_dir}/${file}" "${target}"
|
cp -f "${configsubs_dir}/${file}" "${target}"
|
||||||
eend $?
|
eend $? || die
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
ewarn " No ${file} found in ${startdir}, skipping ..."
|
ewarn " No ${file} found in ${startdir}, skipping ..."
|
||||||
@ -107,8 +105,8 @@ gnuconfig_findnewest() {
|
|||||||
local locations=()
|
local locations=()
|
||||||
local prefix
|
local prefix
|
||||||
|
|
||||||
case ${EAPI:-0} in
|
case ${EAPI} in
|
||||||
0|4|5|6)
|
5|6)
|
||||||
prefix="${EPREFIX}"
|
prefix="${EPREFIX}"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
@ -23,7 +23,7 @@ _JAVA_PKG_OPT_2_ECLASS=1
|
|||||||
|
|
||||||
inherit java-utils-2
|
inherit java-utils-2
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: JAVA_PKG_OPT_USE
|
# @ECLASS_VARIABLE: JAVA_PKG_OPT_USE
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# USE flag to control if optional Java stuff is build. Defaults to 'java'.
|
# USE flag to control if optional Java stuff is build. Defaults to 'java'.
|
||||||
JAVA_PKG_OPT_USE=${JAVA_PKG_OPT_USE:-java}
|
JAVA_PKG_OPT_USE=${JAVA_PKG_OPT_USE:-java}
|
||||||
|
@ -43,22 +43,7 @@ has test ${JAVA_PKG_IUSE} && RESTRICT+=" !test? ( test )"
|
|||||||
JAVA_PKG_E_DEPEND=">=dev-java/java-config-2.2.0-r3"
|
JAVA_PKG_E_DEPEND=">=dev-java/java-config-2.2.0-r3"
|
||||||
has source ${JAVA_PKG_IUSE} && JAVA_PKG_E_DEPEND="${JAVA_PKG_E_DEPEND} source? ( app-arch/zip )"
|
has source ${JAVA_PKG_IUSE} && JAVA_PKG_E_DEPEND="${JAVA_PKG_E_DEPEND} source? ( app-arch/zip )"
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: JAVA_PKG_WANT_BOOTCLASSPATH
|
# @ECLASS_VARIABLE: JAVA_PKG_ALLOW_VM_CHANGE
|
||||||
# @DEFAULT_UNSET
|
|
||||||
# @DESCRIPTION:
|
|
||||||
# The version of bootclasspath the package needs to work. Translates to a proper
|
|
||||||
# dependency. The bootclasspath can then be obtained by java-ant_rewrite-bootclasspath
|
|
||||||
if [[ -n "${JAVA_PKG_WANT_BOOTCLASSPATH}" ]]; then
|
|
||||||
if [[ "${JAVA_PKG_WANT_BOOTCLASSPATH}" == "1.5" ]]; then
|
|
||||||
JAVA_PKG_E_DEPEND="${JAVA_PKG_E_DEPEND} >=dev-java/gnu-classpath-0.98-r1:0.98"
|
|
||||||
else
|
|
||||||
eerror "Unknown value of JAVA_PKG_WANT_BOOTCLASSPATH"
|
|
||||||
# since die in global scope doesn't work, this will make repoman fail
|
|
||||||
JAVA_PKG_E_DEPEND="${JAVA_PKG_E_DEPEND} BAD_JAVA_PKG_WANT_BOOTCLASSPATH"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: JAVA_PKG_ALLOW_VM_CHANGE
|
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Allow this eclass to change the active VM?
|
# Allow this eclass to change the active VM?
|
||||||
# If your system VM isn't sufficient for the package, the build will fail
|
# If your system VM isn't sufficient for the package, the build will fail
|
||||||
@ -68,7 +53,7 @@ fi
|
|||||||
# should not be used in the final ebuild.
|
# should not be used in the final ebuild.
|
||||||
JAVA_PKG_ALLOW_VM_CHANGE=${JAVA_PKG_ALLOW_VM_CHANGE:="yes"}
|
JAVA_PKG_ALLOW_VM_CHANGE=${JAVA_PKG_ALLOW_VM_CHANGE:="yes"}
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: JAVA_PKG_FORCE_VM
|
# @ECLASS_VARIABLE: JAVA_PKG_FORCE_VM
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Explicitly set a particular VM to use. If its not valid, it'll fall back to
|
# Explicitly set a particular VM to use. If its not valid, it'll fall back to
|
||||||
@ -76,12 +61,12 @@ JAVA_PKG_ALLOW_VM_CHANGE=${JAVA_PKG_ALLOW_VM_CHANGE:="yes"}
|
|||||||
#
|
#
|
||||||
# Should only be used for testing and debugging.
|
# Should only be used for testing and debugging.
|
||||||
#
|
#
|
||||||
# Example: use sun-jdk-1.5 to emerge foo:
|
# Example: use openjdk-11 to emerge foo:
|
||||||
# @CODE
|
# @CODE
|
||||||
# JAVA_PKG_FORCE_VM=sun-jdk-1.5 emerge foo
|
# JAVA_PKG_FORCE_VM=openjdk-11 emerge foo
|
||||||
# @CODE
|
# @CODE
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: JAVA_PKG_WANT_BUILD_VM
|
# @ECLASS_VARIABLE: JAVA_PKG_WANT_BUILD_VM
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# A list of VM handles to choose a build VM from. If the list contains the
|
# A list of VM handles to choose a build VM from. If the list contains the
|
||||||
@ -93,7 +78,7 @@ JAVA_PKG_ALLOW_VM_CHANGE=${JAVA_PKG_ALLOW_VM_CHANGE:="yes"}
|
|||||||
# covered by DEPEND.
|
# covered by DEPEND.
|
||||||
# Requires JAVA_PKG_WANT_SOURCE and JAVA_PKG_WANT_TARGET to be set as well.
|
# Requires JAVA_PKG_WANT_SOURCE and JAVA_PKG_WANT_TARGET to be set as well.
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: JAVA_PKG_WANT_SOURCE
|
# @ECLASS_VARIABLE: JAVA_PKG_WANT_SOURCE
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Specify a non-standard Java source version for compilation (via javac -source
|
# Specify a non-standard Java source version for compilation (via javac -source
|
||||||
@ -103,12 +88,12 @@ JAVA_PKG_ALLOW_VM_CHANGE=${JAVA_PKG_ALLOW_VM_CHANGE:="yes"}
|
|||||||
#
|
#
|
||||||
# Should generally only be used for testing and debugging.
|
# Should generally only be used for testing and debugging.
|
||||||
#
|
#
|
||||||
# Use 1.4 source to emerge baz
|
# Use 1.8 source to emerge baz
|
||||||
# @CODE
|
# @CODE
|
||||||
# JAVA_PKG_WANT_SOURCE=1.4 emerge baz
|
# JAVA_PKG_WANT_SOURCE=1.8 emerge baz
|
||||||
# @CODE
|
# @CODE
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: JAVA_PKG_WANT_TARGET
|
# @ECLASS_VARIABLE: JAVA_PKG_WANT_TARGET
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Same as JAVA_PKG_WANT_SOURCE (see above) but for javac -target parameter,
|
# Same as JAVA_PKG_WANT_SOURCE (see above) but for javac -target parameter,
|
||||||
@ -118,12 +103,12 @@ JAVA_PKG_ALLOW_VM_CHANGE=${JAVA_PKG_ALLOW_VM_CHANGE:="yes"}
|
|||||||
#
|
#
|
||||||
# Should generally only be used for testing and debugging.
|
# Should generally only be used for testing and debugging.
|
||||||
#
|
#
|
||||||
# emerge bar to be compatible with 1.3
|
# emerge bar to be compatible with 1.8
|
||||||
# @CODE
|
# @CODE
|
||||||
# JAVA_PKG_WANT_TARGET=1.3 emerge bar
|
# JAVA_PKG_WANT_TARGET=1.8 emerge bar
|
||||||
# @CODE
|
# @CODE
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: JAVA_TEST_EXTRA_ARGS
|
# @ECLASS_VARIABLE: JAVA_TEST_EXTRA_ARGS
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Array of extra arguments that should be passed to java command when running tests.
|
# Array of extra arguments that should be passed to java command when running tests.
|
||||||
@ -139,7 +124,21 @@ JAVA_PKG_ALLOW_VM_CHANGE=${JAVA_PKG_ALLOW_VM_CHANGE:="yes"}
|
|||||||
# )
|
# )
|
||||||
# @CODE
|
# @CODE
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: JAVA_PKG_DEBUG
|
# @ECLASS_VARIABLE: JAVA_TEST_RUNNER_EXTRA_ARGS
|
||||||
|
# @DEFAULT_UNSET
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Array of extra arguments that should be passed to the test runner when running tests.
|
||||||
|
# It is useful when you need to pass an extra argument to the test runner.
|
||||||
|
#
|
||||||
|
# It is used only when running tests.
|
||||||
|
#
|
||||||
|
# @CODE
|
||||||
|
# JAVA_TEST_RUNNER_EXTRA_ARGS=(
|
||||||
|
# -verbose 3
|
||||||
|
# )
|
||||||
|
# @CODE
|
||||||
|
|
||||||
|
# @ECLASS_VARIABLE: JAVA_PKG_DEBUG
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# A variable to be set with "yes" or "y", or ANY string of length non equal to
|
# A variable to be set with "yes" or "y", or ANY string of length non equal to
|
||||||
@ -149,7 +148,7 @@ JAVA_PKG_ALLOW_VM_CHANGE=${JAVA_PKG_ALLOW_VM_CHANGE:="yes"}
|
|||||||
# JAVA_PKG_DEBUG="yes"
|
# JAVA_PKG_DEBUG="yes"
|
||||||
# @CODE
|
# @CODE
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: JAVA_RM_FILES
|
# @ECLASS_VARIABLE: JAVA_RM_FILES
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# An array containing a list of files to remove. If defined, this array will be
|
# An array containing a list of files to remove. If defined, this array will be
|
||||||
@ -177,7 +176,7 @@ JAVA_PKG_COMPILER_DIR=${JAVA_PKG_COMPILER_DIR:="/usr/share/java-config-2/compile
|
|||||||
# Can be overloaded, but it should be overloaded only for local testing.
|
# Can be overloaded, but it should be overloaded only for local testing.
|
||||||
JAVA_PKG_COMPILERS_CONF=${JAVA_PKG_COMPILERS_CONF:="/etc/java-config-2/build/compilers.conf"}
|
JAVA_PKG_COMPILERS_CONF=${JAVA_PKG_COMPILERS_CONF:="/etc/java-config-2/build/compilers.conf"}
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: JAVA_PKG_FORCE_COMPILER
|
# @ECLASS_VARIABLE: JAVA_PKG_FORCE_COMPILER
|
||||||
# @INTERNAL
|
# @INTERNAL
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
@ -191,7 +190,7 @@ JAVA_PKG_COMPILERS_CONF=${JAVA_PKG_COMPILERS_CONF:="/etc/java-config-2/build/com
|
|||||||
# JAVA_PKG_FORCE_COMPILER="jikes javac"
|
# JAVA_PKG_FORCE_COMPILER="jikes javac"
|
||||||
# @CODE
|
# @CODE
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: JAVA_PKG_FORCE_ANT_TASKS
|
# @ECLASS_VARIABLE: JAVA_PKG_FORCE_ANT_TASKS
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# An $IFS separated list of ant tasks. Can be set in environment before calling
|
# An $IFS separated list of ant tasks. Can be set in environment before calling
|
||||||
@ -317,7 +316,6 @@ java-pkg_rm_files() {
|
|||||||
[[ ! -f "${filename}" ]] && die "${filename} is not a regular file. Aborting."
|
[[ ! -f "${filename}" ]] && die "${filename} is not a regular file. Aborting."
|
||||||
einfo "Removing unneeded file ${filename}"
|
einfo "Removing unneeded file ${filename}"
|
||||||
rm -f "${S}/${filename}" || die "cannot remove ${filename}"
|
rm -f "${S}/${filename}" || die "cannot remove ${filename}"
|
||||||
eend $?
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1373,7 +1371,7 @@ java-pkg_register-environment-variable() {
|
|||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Returns classpath of a given bootclasspath-providing package version.
|
# Returns classpath of a given bootclasspath-providing package version.
|
||||||
#
|
#
|
||||||
# @param $1 - the version of bootclasspath (e.g. 1.5), 'auto' for bootclasspath
|
# @param $1 - the version of bootclasspath (e.g. 1.8), 'auto' for bootclasspath
|
||||||
# of the current JDK
|
# of the current JDK
|
||||||
java-pkg_get-bootclasspath() {
|
java-pkg_get-bootclasspath() {
|
||||||
local version="${1}"
|
local version="${1}"
|
||||||
@ -1383,9 +1381,6 @@ java-pkg_get-bootclasspath() {
|
|||||||
auto)
|
auto)
|
||||||
bcp="$(java-config -g BOOTCLASSPATH)"
|
bcp="$(java-config -g BOOTCLASSPATH)"
|
||||||
;;
|
;;
|
||||||
1.5)
|
|
||||||
bcp="$(java-pkg_getjars --build-only gnu-classpath-0.98)"
|
|
||||||
;;
|
|
||||||
*)
|
*)
|
||||||
eerror "unknown parameter of java-pkg_get-bootclasspath"
|
eerror "unknown parameter of java-pkg_get-bootclasspath"
|
||||||
die "unknown parameter of java-pkg_get-bootclasspath"
|
die "unknown parameter of java-pkg_get-bootclasspath"
|
||||||
@ -1807,8 +1802,18 @@ ejunit_() {
|
|||||||
if [[ "${junit}" == "junit-4" ]] ; then
|
if [[ "${junit}" == "junit-4" ]] ; then
|
||||||
runner=org.junit.runner.JUnitCore
|
runner=org.junit.runner.JUnitCore
|
||||||
fi
|
fi
|
||||||
debug-print "Calling: java -cp \"${cp}\" -Djava.io.tmpdir=\"${T}\" -Djava.awt.headless=true ${JAVA_TEST_EXTRA_ARGS[@]} ${runner} ${@}"
|
|
||||||
java -cp "${cp}" -Djava.io.tmpdir="${T}/" -Djava.awt.headless=true ${JAVA_TEST_EXTRA_ARGS[@]} ${runner} "${@}" || die "Running junit failed"
|
local args=(
|
||||||
|
-cp ${cp}
|
||||||
|
-Djava.io.tmpdir="${T}"
|
||||||
|
-Djava.awt.headless=true
|
||||||
|
${JAVA_TEST_EXTRA_ARGS[@]}
|
||||||
|
${runner}
|
||||||
|
${JAVA_TEST_RUNNER_EXTRA_ARGS[@]}
|
||||||
|
${@}
|
||||||
|
)
|
||||||
|
debug-print "Calling: java ${args[@]}"
|
||||||
|
java "${args[@]}" || die "Running junit failed"
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: ejunit
|
# @FUNCTION: ejunit
|
||||||
@ -1886,12 +1891,26 @@ etestng() {
|
|||||||
tests+="${test},"
|
tests+="${test},"
|
||||||
done
|
done
|
||||||
|
|
||||||
debug-print "java -cp \"${cp}\" -Djava.io.tmpdir=\"${T}\""\
|
local args=(
|
||||||
"-Djava.awt.headless=true ${JAVA_TEST_EXTRA_ARGS[@]} ${runner}"\
|
-cp ${cp}
|
||||||
"-usedefaultlisteners false -testclass ${tests}"
|
-Djava.io.tmpdir="${T}"
|
||||||
java -cp "${cp}" -Djava.io.tmpdir=\"${T}\" -Djava.awt.headless=true ${JAVA_TEST_EXTRA_ARGS[@]}\
|
-Djava.awt.headless=true
|
||||||
${runner} -usedefaultlisteners false -testclass ${tests}\
|
${JAVA_TEST_EXTRA_ARGS[@]}
|
||||||
|| die "Running TestNG failed."
|
${runner}
|
||||||
|
${JAVA_TEST_RUNNER_EXTRA_ARGS[@]}
|
||||||
|
)
|
||||||
|
|
||||||
|
if [[ ! "${JAVA_TEST_RUNNER_EXTRA_ARGS[@]}" =~ "-usedefaultlisteners" ]]; then
|
||||||
|
args+=(
|
||||||
|
-verbose 3
|
||||||
|
-usedefaultlisteners true
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
args+=( -testclass ${tests} )
|
||||||
|
|
||||||
|
debug-print "java ${args[@]}"
|
||||||
|
java ${args[@]} || die "Running TestNG failed."
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: java-utils-2_src_prepare
|
# @FUNCTION: java-utils-2_src_prepare
|
||||||
@ -2099,8 +2118,9 @@ ejavac() {
|
|||||||
einfo "${compiler_executable} ${javac_args} ${@}"
|
einfo "${compiler_executable} ${javac_args} ${@}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ebegin "Compiling"
|
local args=( ${compiler_executable} ${javac_args} "${@}" )
|
||||||
${compiler_executable} ${javac_args} "${@}" || die "ejavac failed"
|
echo "${args[@]}" >&2
|
||||||
|
"${args[@]}" || die "ejavac failed"
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: ejavadoc
|
# @FUNCTION: ejavadoc
|
||||||
@ -2125,8 +2145,9 @@ ejavadoc() {
|
|||||||
einfo "javadoc ${javadoc_args} ${@}"
|
einfo "javadoc ${javadoc_args} ${@}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ebegin "Generating JavaDoc"
|
local args=( javadoc ${javadoc_args} "${@}" )
|
||||||
javadoc ${javadoc_args} "${@}" || die "ejavadoc failed"
|
echo "${args[@]}" >&2
|
||||||
|
"${args[@]}" || die "ejavadoc failed"
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: java-pkg_filter-compiler
|
# @FUNCTION: java-pkg_filter-compiler
|
||||||
@ -2545,20 +2566,9 @@ java-pkg_setup-vm() {
|
|||||||
debug-print-function ${FUNCNAME} $*
|
debug-print-function ${FUNCNAME} $*
|
||||||
|
|
||||||
local vendor="$(java-pkg_get-vm-vendor)"
|
local vendor="$(java-pkg_get-vm-vendor)"
|
||||||
if [[ "${vendor}" == "sun" ]] && java-pkg_is-vm-version-ge "1.5" ; then
|
if [[ "${vendor}" == icedtea* ]] && java-pkg_is-vm-version-ge "1.8" ; then
|
||||||
addpredict "/dev/random"
|
|
||||||
elif [[ "${vendor}" == "ibm" ]]; then
|
|
||||||
addpredict "/proc/self/maps"
|
|
||||||
addpredict "/proc/cpuinfo"
|
|
||||||
addpredict "/proc/self/coredump_filter"
|
|
||||||
elif [[ "${vendor}" == "oracle" ]]; then
|
|
||||||
addpredict "/dev/random"
|
addpredict "/dev/random"
|
||||||
addpredict "/proc/self/coredump_filter"
|
addpredict "/proc/self/coredump_filter"
|
||||||
elif [[ "${vendor}" == icedtea* ]] && java-pkg_is-vm-version-ge "1.7" ; then
|
|
||||||
addpredict "/dev/random"
|
|
||||||
addpredict "/proc/self/coredump_filter"
|
|
||||||
elif [[ "${vendor}" == "jrockit" ]]; then
|
|
||||||
addpredict "/proc/cpuinfo"
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2021 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# Flatcar: Support EAPI 0 and 4.
|
|
||||||
|
|
||||||
# @ECLASS: libtool.eclass
|
# @ECLASS: libtool.eclass
|
||||||
# @MAINTAINER:
|
# @MAINTAINER:
|
||||||
# base-system@gentoo.org
|
# base-system@gentoo.org
|
||||||
# @SUPPORTED_EAPIS: 0 4 5 6 7 8
|
# @SUPPORTED_EAPIS: 5 6 7 8
|
||||||
# @BLURB: quickly update bundled libtool code
|
# @BLURB: quickly update bundled libtool code
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# This eclass patches ltmain.sh distributed with libtoolized packages with the
|
# This eclass patches ltmain.sh distributed with libtoolized packages with the
|
||||||
@ -20,7 +18,7 @@ if [[ -z ${_LIBTOOL_ECLASS} ]]; then
|
|||||||
_LIBTOOL_ECLASS=1
|
_LIBTOOL_ECLASS=1
|
||||||
|
|
||||||
case ${EAPI:-0} in
|
case ${EAPI:-0} in
|
||||||
0|4|5|6) DEPEND=">=app-portage/elt-patches-20170815" ;;
|
5|6) DEPEND=">=app-portage/elt-patches-20170815" ;;
|
||||||
7|8) BDEPEND=">=app-portage/elt-patches-20170815" ;;
|
7|8) BDEPEND=">=app-portage/elt-patches-20170815" ;;
|
||||||
*) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
|
*) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
|
||||||
esac
|
esac
|
||||||
|
@ -1,14 +1,12 @@
|
|||||||
# Copyright 2013-2021 Gentoo Authors
|
# Copyright 2013-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# Flatcar: Support EAPI 4.
|
|
||||||
|
|
||||||
# @ECLASS: multilib-build.eclass
|
# @ECLASS: multilib-build.eclass
|
||||||
# @MAINTAINER:
|
# @MAINTAINER:
|
||||||
# Michał Górny <mgorny@gentoo.org>
|
# Michał Górny <mgorny@gentoo.org>
|
||||||
# @AUTHOR:
|
# @AUTHOR:
|
||||||
# Author: Michał Górny <mgorny@gentoo.org>
|
# Author: Michał Górny <mgorny@gentoo.org>
|
||||||
# @SUPPORTED_EAPIS: 4 5 6 7 8
|
# @SUPPORTED_EAPIS: 6 7 8
|
||||||
# @PROVIDES: multibuild
|
# @PROVIDES: multibuild
|
||||||
# @BLURB: flags and utility functions for building multilib packages
|
# @BLURB: flags and utility functions for building multilib packages
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
@ -21,17 +19,16 @@
|
|||||||
# to properly request multilib enabled.
|
# to properly request multilib enabled.
|
||||||
|
|
||||||
case ${EAPI} in
|
case ${EAPI} in
|
||||||
4|5|6|7|8) ;;
|
6|7|8) ;;
|
||||||
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if [[ -z ${_MULTILIB_BUILD} ]]; then
|
if [[ -z ${_MULTILIB_BUILD_ECLASS} ]]; then
|
||||||
_MULTILIB_BUILD=1
|
_MULTILIB_BUILD_ECLASS=1
|
||||||
|
|
||||||
[[ ${EAPI} == [45] ]] && inherit eutils
|
|
||||||
inherit multibuild multilib
|
inherit multibuild multilib
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: _MULTILIB_FLAGS
|
# @ECLASS_VARIABLE: _MULTILIB_FLAGS
|
||||||
# @INTERNAL
|
# @INTERNAL
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# The list of multilib flags and corresponding ABI values. If the same
|
# The list of multilib flags and corresponding ABI values. If the same
|
||||||
@ -55,7 +52,7 @@ _MULTILIB_FLAGS=(
|
|||||||
)
|
)
|
||||||
readonly _MULTILIB_FLAGS
|
readonly _MULTILIB_FLAGS
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: MULTILIB_COMPAT
|
# @ECLASS_VARIABLE: MULTILIB_COMPAT
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# List of multilib ABIs supported by the ebuild. If unset, defaults to
|
# List of multilib ABIs supported by the ebuild. If unset, defaults to
|
||||||
@ -79,7 +76,7 @@ readonly _MULTILIB_FLAGS
|
|||||||
# MULTILIB_COMPAT=( abi_x86_{32,64} )
|
# MULTILIB_COMPAT=( abi_x86_{32,64} )
|
||||||
# @CODE
|
# @CODE
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: MULTILIB_USEDEP
|
# @ECLASS_VARIABLE: MULTILIB_USEDEP
|
||||||
# @OUTPUT_VARIABLE
|
# @OUTPUT_VARIABLE
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# The USE-dependency to be used on dependencies (libraries) needing
|
# The USE-dependency to be used on dependencies (libraries) needing
|
||||||
@ -91,7 +88,7 @@ readonly _MULTILIB_FLAGS
|
|||||||
# net-libs/libbar[ssl,${MULTILIB_USEDEP}]"
|
# net-libs/libbar[ssl,${MULTILIB_USEDEP}]"
|
||||||
# @CODE
|
# @CODE
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: MULTILIB_ABI_FLAG
|
# @ECLASS_VARIABLE: MULTILIB_ABI_FLAG
|
||||||
# @OUTPUT_VARIABLE
|
# @OUTPUT_VARIABLE
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# The complete ABI name. Resembles the USE flag name.
|
# The complete ABI name. Resembles the USE flag name.
|
||||||
@ -246,23 +243,6 @@ multilib_parallel_foreach_abi() {
|
|||||||
multibuild_foreach_variant _multilib_multibuild_wrapper "${@}"
|
multibuild_foreach_variant _multilib_multibuild_wrapper "${@}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: multilib_for_best_abi
|
|
||||||
# @USAGE: <argv>...
|
|
||||||
# @DESCRIPTION:
|
|
||||||
# Runs the given command with setup for the 'best' (usually native) ABI.
|
|
||||||
multilib_for_best_abi() {
|
|
||||||
debug-print-function ${FUNCNAME} "${@}"
|
|
||||||
|
|
||||||
[[ ${EAPI} == [45] ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}, use multilib_is_native_abi() instead"
|
|
||||||
|
|
||||||
eqawarn "QA warning: multilib_for_best_abi() function is deprecated and should"
|
|
||||||
eqawarn "not be used. The multilib_is_native_abi() check may be used instead."
|
|
||||||
|
|
||||||
local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abi_pairs) )
|
|
||||||
|
|
||||||
multibuild_for_best_variant _multilib_multibuild_wrapper "${@}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# @FUNCTION: multilib_check_headers
|
# @FUNCTION: multilib_check_headers
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Check whether the header files are consistent between ABIs.
|
# Check whether the header files are consistent between ABIs.
|
||||||
@ -321,7 +301,7 @@ multilib_copy_sources() {
|
|||||||
multibuild_copy_sources
|
multibuild_copy_sources
|
||||||
}
|
}
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: MULTILIB_WRAPPED_HEADERS
|
# @ECLASS_VARIABLE: MULTILIB_WRAPPED_HEADERS
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# A list of headers to wrap for multilib support. The listed headers
|
# A list of headers to wrap for multilib support. The listed headers
|
||||||
@ -344,7 +324,7 @@ multilib_copy_sources() {
|
|||||||
# )
|
# )
|
||||||
# @CODE
|
# @CODE
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: MULTILIB_CHOST_TOOLS
|
# @ECLASS_VARIABLE: MULTILIB_CHOST_TOOLS
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# A list of tool executables to preserve for each multilib ABI.
|
# A list of tool executables to preserve for each multilib ABI.
|
||||||
@ -585,20 +565,6 @@ multilib_is_native_abi() {
|
|||||||
[[ ${COMPLETE_MULTILIB} == yes || ${ABI} == ${DEFAULT_ABI} ]]
|
[[ ${COMPLETE_MULTILIB} == yes || ${ABI} == ${DEFAULT_ABI} ]]
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: multilib_build_binaries
|
|
||||||
# @DESCRIPTION:
|
|
||||||
# Deprecated synonym for multilib_is_native_abi
|
|
||||||
multilib_build_binaries() {
|
|
||||||
debug-print-function ${FUNCNAME} "${@}"
|
|
||||||
|
|
||||||
[[ ${EAPI} == [45] ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}, use multilib_is_native_abi() instead"
|
|
||||||
|
|
||||||
eqawarn "QA warning: multilib_build_binaries is deprecated. Please use the equivalent"
|
|
||||||
eqawarn "multilib_is_native_abi function instead."
|
|
||||||
|
|
||||||
multilib_is_native_abi "${@}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# @FUNCTION: multilib_native_use_with
|
# @FUNCTION: multilib_native_use_with
|
||||||
# @USAGE: <flag> [<opt-name> [<opt-value>]]
|
# @USAGE: <flag> [<opt-name> [<opt-value>]]
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
@ -666,7 +632,6 @@ multilib_native_with() {
|
|||||||
# of <false1> (or 'no' if unspecified) and <false2>. Arguments
|
# of <false1> (or 'no' if unspecified) and <false2>. Arguments
|
||||||
# are the same as for usex in the EAPI.
|
# are the same as for usex in the EAPI.
|
||||||
#
|
#
|
||||||
# Note: in EAPI 4 you need to inherit eutils to use this function.
|
|
||||||
multilib_native_usex() {
|
multilib_native_usex() {
|
||||||
if multilib_is_native_abi; then
|
if multilib_is_native_abi; then
|
||||||
usex "${@}"
|
usex "${@}"
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# Flatcar: Support EAPI 4.
|
|
||||||
|
|
||||||
# @ECLASS: multilib-minimal.eclass
|
# @ECLASS: multilib-minimal.eclass
|
||||||
# @MAINTAINER:
|
# @MAINTAINER:
|
||||||
# Michał Górny <mgorny@gentoo.org>
|
# Michał Górny <mgorny@gentoo.org>
|
||||||
# @SUPPORTED_EAPIS: 5 6 7 8
|
# @SUPPORTED_EAPIS: 6 7 8
|
||||||
# @PROVIDES: multilib-build
|
# @PROVIDES: multilib-build
|
||||||
# @BLURB: wrapper for multilib builds providing convenient multilib_src_* functions
|
# @BLURB: wrapper for multilib builds providing convenient multilib_src_* functions
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
@ -25,18 +23,15 @@
|
|||||||
#
|
#
|
||||||
# If you need generic install rules, use multilib_src_install_all function.
|
# If you need generic install rules, use multilib_src_install_all function.
|
||||||
|
|
||||||
|
|
||||||
case ${EAPI} in
|
case ${EAPI} in
|
||||||
4|5|6|7|8) ;;
|
6|7|8) ;;
|
||||||
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
||||||
[[ ${EAPI} == [45] ]] && inherit eutils
|
|
||||||
inherit multilib-build
|
inherit multilib-build
|
||||||
|
|
||||||
EXPORT_FUNCTIONS src_configure src_compile src_test src_install
|
if [[ ! ${_MULTILIB_MINIMAL_ECLASS} ]]; then
|
||||||
|
_MULTILIB_MINIMAL_ECLASS=1
|
||||||
|
|
||||||
multilib-minimal_src_configure() {
|
multilib-minimal_src_configure() {
|
||||||
debug-print-function ${FUNCNAME} "$@"
|
debug-print-function ${FUNCNAME} "$@"
|
||||||
@ -125,3 +120,7 @@ multilib-minimal_src_install() {
|
|||||||
einstalldocs
|
einstalldocs
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
EXPORT_FUNCTIONS src_configure src_compile src_test src_install
|
||||||
|
@ -4,14 +4,13 @@
|
|||||||
# @ECLASS: multilib.eclass
|
# @ECLASS: multilib.eclass
|
||||||
# @MAINTAINER:
|
# @MAINTAINER:
|
||||||
# toolchain@gentoo.org
|
# toolchain@gentoo.org
|
||||||
# @SUPPORTED_EAPIS: 5 6 7 8
|
# @SUPPORTED_EAPIS: 6 7 8
|
||||||
# @BLURB: This eclass is for all functions pertaining to handling multilib configurations.
|
# @BLURB: This eclass is for all functions pertaining to handling multilib configurations.
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# This eclass is for all functions pertaining to handling multilib configurations.
|
# This eclass is for all functions pertaining to handling multilib configurations.
|
||||||
|
|
||||||
case ${EAPI:-0} in
|
case ${EAPI} in
|
||||||
# EAPI=0 is still used by crossdev, bug #797367
|
6|7|8) ;;
|
||||||
0|5|6|7|8) ;;
|
|
||||||
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
@ -40,32 +39,6 @@ has_multilib_profile() {
|
|||||||
[ -n "${MULTILIB_ABIS}" -a "${MULTILIB_ABIS}" != "${MULTILIB_ABIS/ /}" ]
|
[ -n "${MULTILIB_ABIS}" -a "${MULTILIB_ABIS}" != "${MULTILIB_ABIS/ /}" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: get_libdir
|
|
||||||
# @RETURN: the libdir for the selected ABI
|
|
||||||
# @DESCRIPTION:
|
|
||||||
# This function simply returns the desired lib directory. With portage
|
|
||||||
# 2.0.51, we now have support for installing libraries to lib32/lib64
|
|
||||||
# to accomidate the needs of multilib systems. It's no longer a good idea
|
|
||||||
# to assume all libraries will end up in lib. Replace any (sane) instances
|
|
||||||
# where lib is named directly with $(get_libdir) if possible.
|
|
||||||
#
|
|
||||||
# Jeremy Huddleston <eradicator@gentoo.org> (23 Dec 2004):
|
|
||||||
# Added support for ${ABI} and ${DEFAULT_ABI}. If they're both not set,
|
|
||||||
# fall back on old behavior. Any profile that has these set should also
|
|
||||||
# depend on a newer version of portage (not yet released) which uses these
|
|
||||||
# over CONF_LIBDIR in econf, dolib, etc...
|
|
||||||
if [[ ${EAPI} == [05] ]] ; then
|
|
||||||
get_libdir() {
|
|
||||||
local CONF_LIBDIR
|
|
||||||
if [ -n "${CONF_LIBDIR_OVERRIDE}" ] ; then
|
|
||||||
# if there is an override, we want to use that... always.
|
|
||||||
echo ${CONF_LIBDIR_OVERRIDE}
|
|
||||||
else
|
|
||||||
get_abi_LIBDIR
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# @FUNCTION: get_abi_var
|
# @FUNCTION: get_abi_var
|
||||||
# @USAGE: <VAR> [ABI]
|
# @USAGE: <VAR> [ABI]
|
||||||
# @RETURN: returns the value of ${<VAR>_<ABI>} which should be set in make.defaults
|
# @RETURN: returns the value of ${<VAR>_<ABI>} which should be set in make.defaults
|
||||||
@ -422,9 +395,9 @@ multilib_env() {
|
|||||||
|
|
||||||
# the default abi is set to the 1-level libdir default
|
# the default abi is set to the 1-level libdir default
|
||||||
|
|
||||||
local __libdir_riscvdefaultabi_variable="LIBDIR_${DEFAULT_ABI}"
|
local _libdir_riscvdefaultabi_variable="LIBDIR_${DEFAULT_ABI}"
|
||||||
local __libdir_riscvdefaultabi=${!__libdir_riscvdefaultabi_variable}
|
local _libdir_riscvdefaultabi=${!_libdir_riscvdefaultabi_variable}
|
||||||
export ${__libdir_riscvdefaultabi_variable}=${__libdir_riscvdefaultabi:-lib64}
|
export ${_libdir_riscvdefaultabi_variable}=${_libdir_riscvdefaultabi:-lib64}
|
||||||
|
|
||||||
# all other abi are set to the 2-level libdir default
|
# all other abi are set to the 2-level libdir default
|
||||||
|
|
||||||
@ -454,9 +427,9 @@ multilib_env() {
|
|||||||
|
|
||||||
# the default abi is set to the 1-level libdir default
|
# the default abi is set to the 1-level libdir default
|
||||||
|
|
||||||
local __libdir_riscvdefaultabi_variable="LIBDIR_${DEFAULT_ABI}"
|
local _libdir_riscvdefaultabi_variable="LIBDIR_${DEFAULT_ABI}"
|
||||||
local __libdir_riscvdefaultabi=${!__libdir_riscvdefaultabi_variable}
|
local _libdir_riscvdefaultabi=${!_libdir_riscvdefaultabi_variable}
|
||||||
export ${__libdir_riscvdefaultabi_variable}=${__libdir_riscvdefaultabi:-lib}
|
export ${_libdir_riscvdefaultabi_variable}=${_libdir_riscvdefaultabi:-lib}
|
||||||
|
|
||||||
# all other abi are set to the 2-level libdir default
|
# all other abi are set to the 2-level libdir default
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ esac
|
|||||||
if [[ -z ${_PAX_UTILS_ECLASS} ]]; then
|
if [[ -z ${_PAX_UTILS_ECLASS} ]]; then
|
||||||
_PAX_UTILS_ECLASS=1
|
_PAX_UTILS_ECLASS=1
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: PAX_MARKINGS
|
# @ECLASS_VARIABLE: PAX_MARKINGS
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Control which markings are made:
|
# Control which markings are made:
|
||||||
# PT = PT_PAX markings, XT = XATTR_PAX markings
|
# PT = PT_PAX markings, XT = XATTR_PAX markings
|
||||||
|
@ -20,7 +20,7 @@ esac
|
|||||||
if [[ -z ${_PREFIX_ECLASS} ]]; then
|
if [[ -z ${_PREFIX_ECLASS} ]]; then
|
||||||
_PREFIX_ECLASS=1
|
_PREFIX_ECLASS=1
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: EPREFIX
|
# @ECLASS_VARIABLE: EPREFIX
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# The offset prefix of a Gentoo Prefix installation. When Gentoo Prefix
|
# The offset prefix of a Gentoo Prefix installation. When Gentoo Prefix
|
||||||
# is not used, ${EPREFIX} should be "". Prefix Portage sets EPREFIX,
|
# is not used, ${EPREFIX} should be "". Prefix Portage sets EPREFIX,
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
# Copyright 2002-2021 Gentoo Authors
|
# Copyright 2002-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# @ECLASS: toolchain-funcs.eclass
|
# @ECLASS: toolchain-funcs.eclass
|
||||||
# @MAINTAINER:
|
# @MAINTAINER:
|
||||||
# Toolchain Ninjas <toolchain@gentoo.org>
|
# Toolchain Ninjas <toolchain@gentoo.org>
|
||||||
# @SUPPORTED_EAPIS: 5 6 7 8
|
# @SUPPORTED_EAPIS: 6 7 8
|
||||||
# @BLURB: functions to query common info about the toolchain
|
# @BLURB: functions to query common info about the toolchain
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# The toolchain-funcs aims to provide a complete suite of functions
|
# The toolchain-funcs aims to provide a complete suite of functions
|
||||||
@ -13,9 +13,8 @@
|
|||||||
# in such a way that you can rely on the function always returning
|
# in such a way that you can rely on the function always returning
|
||||||
# something sane.
|
# something sane.
|
||||||
|
|
||||||
case ${EAPI:-0} in
|
case ${EAPI} in
|
||||||
# EAPI=0 is still used by crossdev, bug #797367
|
6|7|8) ;;
|
||||||
0|5|6|7|8) ;;
|
|
||||||
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
@ -453,6 +452,9 @@ econf_build() {
|
|||||||
tc-ld-is-gold() {
|
tc-ld-is-gold() {
|
||||||
local out
|
local out
|
||||||
|
|
||||||
|
# Ensure ld output is in English.
|
||||||
|
local -x LC_ALL=C
|
||||||
|
|
||||||
# First check the linker directly.
|
# First check the linker directly.
|
||||||
out=$($(tc-getLD "$@") --version 2>&1)
|
out=$($(tc-getLD "$@") --version 2>&1)
|
||||||
if [[ ${out} == *"GNU gold"* ]] ; then
|
if [[ ${out} == *"GNU gold"* ]] ; then
|
||||||
@ -483,6 +485,9 @@ tc-ld-is-gold() {
|
|||||||
tc-ld-is-lld() {
|
tc-ld-is-lld() {
|
||||||
local out
|
local out
|
||||||
|
|
||||||
|
# Ensure ld output is in English.
|
||||||
|
local -x LC_ALL=C
|
||||||
|
|
||||||
# First check the linker directly.
|
# First check the linker directly.
|
||||||
out=$($(tc-getLD "$@") --version 2>&1)
|
out=$($(tc-getLD "$@") --version 2>&1)
|
||||||
if [[ ${out} == *"LLD"* ]] ; then
|
if [[ ${out} == *"LLD"* ]] ; then
|
||||||
@ -569,11 +574,12 @@ tc-ld-force-bfd() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: tc-has-openmp
|
# @FUNCTION: _tc-has-openmp
|
||||||
|
# @INTERNAL
|
||||||
# @USAGE: [toolchain prefix]
|
# @USAGE: [toolchain prefix]
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# See if the toolchain supports OpenMP.
|
# See if the toolchain supports OpenMP.
|
||||||
tc-has-openmp() {
|
_tc-has-openmp() {
|
||||||
local base="${T}/test-tc-openmp"
|
local base="${T}/test-tc-openmp"
|
||||||
cat <<-EOF > "${base}.c"
|
cat <<-EOF > "${base}.c"
|
||||||
#include <omp.h>
|
#include <omp.h>
|
||||||
@ -593,6 +599,16 @@ tc-has-openmp() {
|
|||||||
return ${ret}
|
return ${ret}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: tc-has-openmp
|
||||||
|
# @USAGE: [toolchain prefix]
|
||||||
|
# @DEPRECATED: tc-check-openmp
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# See if the toolchain supports OpenMP. This function is deprecated and will be
|
||||||
|
# removed on 2023-01-01.
|
||||||
|
tc-has-openmp() {
|
||||||
|
_tc-has-openmp "$@"
|
||||||
|
}
|
||||||
|
|
||||||
# @FUNCTION: tc-check-openmp
|
# @FUNCTION: tc-check-openmp
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Test for OpenMP support with the current compiler and error out with
|
# Test for OpenMP support with the current compiler and error out with
|
||||||
@ -600,8 +616,21 @@ tc-has-openmp() {
|
|||||||
# OpenMP support that has been requested by the ebuild. Using this function
|
# OpenMP support that has been requested by the ebuild. Using this function
|
||||||
# to test for OpenMP support should be preferred over tc-has-openmp and
|
# to test for OpenMP support should be preferred over tc-has-openmp and
|
||||||
# printing a custom message, as it presents a uniform interface to the user.
|
# printing a custom message, as it presents a uniform interface to the user.
|
||||||
|
#
|
||||||
|
# You should test for any necessary OpenMP support in pkg_pretend in order to
|
||||||
|
# warn the user of required toolchain changes. You must still check for OpenMP
|
||||||
|
# support at build-time, e.g.
|
||||||
|
# @CODE
|
||||||
|
# pkg_pretend() {
|
||||||
|
# [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# pkg_setup() {
|
||||||
|
# [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||||
|
# }
|
||||||
|
# @CODE
|
||||||
tc-check-openmp() {
|
tc-check-openmp() {
|
||||||
if ! tc-has-openmp; then
|
if ! _tc-has-openmp; then
|
||||||
eerror "Your current compiler does not support OpenMP!"
|
eerror "Your current compiler does not support OpenMP!"
|
||||||
|
|
||||||
if tc-is-gcc; then
|
if tc-is-gcc; then
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -51,7 +51,7 @@ if [[ ! ${_VERIFY_SIG_ECLASS} ]]; then
|
|||||||
|
|
||||||
IUSE="verify-sig"
|
IUSE="verify-sig"
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: VERIFY_SIG_METHOD
|
# @ECLASS_VARIABLE: VERIFY_SIG_METHOD
|
||||||
# @PRE_INHERIT
|
# @PRE_INHERIT
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Signature verification method to use. The allowed value are:
|
# Signature verification method to use. The allowed value are:
|
||||||
@ -76,7 +76,7 @@ case ${VERIFY_SIG_METHOD} in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: VERIFY_SIG_OPENPGP_KEY_PATH
|
# @ECLASS_VARIABLE: VERIFY_SIG_OPENPGP_KEY_PATH
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Path to key bundle used to perform the verification. This is required
|
# Path to key bundle used to perform the verification. This is required
|
||||||
@ -86,7 +86,7 @@ esac
|
|||||||
# NB: this variable is also used for non-OpenPGP signatures. The name
|
# NB: this variable is also used for non-OpenPGP signatures. The name
|
||||||
# contains "OPENPGP" for historical reasons.
|
# contains "OPENPGP" for historical reasons.
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: VERIFY_SIG_OPENPGP_KEYSERVER
|
# @ECLASS_VARIABLE: VERIFY_SIG_OPENPGP_KEYSERVER
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Keyserver used to refresh keys. If not specified, the keyserver
|
# Keyserver used to refresh keys. If not specified, the keyserver
|
||||||
@ -95,7 +95,7 @@ esac
|
|||||||
#
|
#
|
||||||
# Supported for OpenPGP only.
|
# Supported for OpenPGP only.
|
||||||
|
|
||||||
# @ECLASS-VARIABLE: VERIFY_SIG_OPENPGP_KEY_REFRESH
|
# @ECLASS_VARIABLE: VERIFY_SIG_OPENPGP_KEY_REFRESH
|
||||||
# @USER_VARIABLE
|
# @USER_VARIABLE
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Attempt to refresh keys via WKD/keyserver. Set it to "yes"
|
# Attempt to refresh keys via WKD/keyserver. Set it to "yes"
|
||||||
|
@ -1,2 +1,4 @@
|
|||||||
DIST gentoo-functions-0.14.tar.gz 11330 BLAKE2B 72543941f2954e35d3671c1c482eda44ae00cf0c636a1d706c5b90c56dfbb985d20c156b6de650e5d33ff9fac0abaf9fc50b1172832c2bd5276f6adfe5baf3b8 SHA512 e1e0fee9f3e8b79478aaf2b9a54c8623c858e62f72f2885ea88f7006631cf513bdfaac7122f2a5fc97379bde57851793bf7d6c63a1c63a6923a7f13a73d803fc
|
DIST gentoo-functions-0.14.tar.gz 11330 BLAKE2B 72543941f2954e35d3671c1c482eda44ae00cf0c636a1d706c5b90c56dfbb985d20c156b6de650e5d33ff9fac0abaf9fc50b1172832c2bd5276f6adfe5baf3b8 SHA512 e1e0fee9f3e8b79478aaf2b9a54c8623c858e62f72f2885ea88f7006631cf513bdfaac7122f2a5fc97379bde57851793bf7d6c63a1c63a6923a7f13a73d803fc
|
||||||
DIST gentoo-functions-0.15.tar.gz 11236 BLAKE2B da3df4ee809c33a7aa275757380584abcc70dc5f54d32b2e9d3336a9453cfc935e932df065a65a7458b885a449774713fead5aea99ea5e7ee522e5493d35482b SHA512 b2a42e5b43c487d62e036eade88b5cc8e0f4eb249c783837a0293cdbba4ed8a1eea8742d531885bcc56eefa337853c41d257b6a9880fc0e7420b490bb6f98fd4
|
DIST gentoo-functions-0.15.tar.gz 11236 BLAKE2B da3df4ee809c33a7aa275757380584abcc70dc5f54d32b2e9d3336a9453cfc935e932df065a65a7458b885a449774713fead5aea99ea5e7ee522e5493d35482b SHA512 b2a42e5b43c487d62e036eade88b5cc8e0f4eb249c783837a0293cdbba4ed8a1eea8742d531885bcc56eefa337853c41d257b6a9880fc0e7420b490bb6f98fd4
|
||||||
|
DIST gentoo-functions-0.16.tar.bz2 10769 BLAKE2B aa85c97bf07e86631f9d11fc93252099925fb798a12483bead1e270799f44d3107c28e370925c948484a3f490247caf4c17b0068a160af7f72bec0f941699c95 SHA512 aa1f1bfbdd1e7ea51b2cceaae36b15a457b726ecc4fbed5bb3e5475d88b8142642df97b729303085716b1e3c7c92da58fa3b6842af5a04152e9f4c563d3d4b12
|
||||||
|
DIST gentoo-functions-0.17.tar.bz2 10798 BLAKE2B 1b725945421ab36b1412f9addc22e9fe299c0e6460790ee2832b9f63d4c06b86bb0d054b01505640a5dc1e62f3cd257628717fec852116a4c8b2c9f9d2d149ee SHA512 6a3de93b5e4d761a53a622f41e6079606cc4ad8a964771d49dafdefbb632afdf722fd055d261e494aa0be956c4160c49a775ab40c927c5340b8e4da275ef51fb
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 2014-2021 Gentoo Authors
|
# Copyright 2014-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
@ -13,12 +13,11 @@ fi
|
|||||||
|
|
||||||
inherit toolchain-funcs flag-o-matic
|
inherit toolchain-funcs flag-o-matic
|
||||||
|
|
||||||
DESCRIPTION="base functions required by all Gentoo systems"
|
DESCRIPTION="Base functions required by all Gentoo systems"
|
||||||
HOMEPAGE="https://gitweb.gentoo.org/proj/gentoo-functions.git"
|
HOMEPAGE="https://gitweb.gentoo.org/proj/gentoo-functions.git"
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
LICENSE="GPL-2"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
src_configure() {
|
src_configure() {
|
||||||
tc-export CC
|
tc-export CC
|
||||||
|
@ -8,17 +8,16 @@ if [[ ${PV} == 9999* ]]; then
|
|||||||
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoo-functions.git"
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoo-functions.git"
|
||||||
else
|
else
|
||||||
SRC_URI="https://gitweb.gentoo.org/proj/gentoo-functions.git/snapshot/${P}.tar.gz"
|
SRC_URI="https://gitweb.gentoo.org/proj/gentoo-functions.git/snapshot/${P}.tar.gz"
|
||||||
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 ~x86-winnt"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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 ~x86-winnt"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
inherit toolchain-funcs flag-o-matic
|
inherit toolchain-funcs flag-o-matic
|
||||||
|
|
||||||
DESCRIPTION="base functions required by all Gentoo systems"
|
DESCRIPTION="Base functions required by all Gentoo systems"
|
||||||
HOMEPAGE="https://gitweb.gentoo.org/proj/gentoo-functions.git"
|
HOMEPAGE="https://gitweb.gentoo.org/proj/gentoo-functions.git"
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
LICENSE="GPL-2"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
src_configure() {
|
src_configure() {
|
||||||
tc-export CC
|
tc-export CC
|
||||||
|
@ -0,0 +1,27 @@
|
|||||||
|
# Copyright 2014-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999* ]]; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoo-functions.git"
|
||||||
|
else
|
||||||
|
SRC_URI="https://gitweb.gentoo.org/proj/gentoo-functions.git/snapshot/${P}.tar.bz2"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~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 ~x86-winnt"
|
||||||
|
fi
|
||||||
|
|
||||||
|
inherit toolchain-funcs flag-o-matic
|
||||||
|
|
||||||
|
DESCRIPTION="Base functions required by all Gentoo systems"
|
||||||
|
HOMEPAGE="https://gitweb.gentoo.org/proj/gentoo-functions.git"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
tc-export CC
|
||||||
|
append-lfs-flags
|
||||||
|
export ROOTPREFIX="${EPREFIX}"
|
||||||
|
export PREFIX="${EPREFIX}/usr"
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
# Copyright 2014-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999* ]]; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoo-functions.git"
|
||||||
|
else
|
||||||
|
SRC_URI="https://gitweb.gentoo.org/proj/gentoo-functions.git/snapshot/${P}.tar.bz2"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~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 ~x86-winnt"
|
||||||
|
fi
|
||||||
|
|
||||||
|
inherit toolchain-funcs flag-o-matic
|
||||||
|
|
||||||
|
DESCRIPTION="Base functions required by all Gentoo systems"
|
||||||
|
HOMEPAGE="https://gitweb.gentoo.org/proj/gentoo-functions.git"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
tc-export CC
|
||||||
|
append-lfs-flags
|
||||||
|
export ROOTPREFIX="${EPREFIX}"
|
||||||
|
export PREFIX="${EPREFIX}/usr"
|
||||||
|
}
|
@ -1,24 +1,23 @@
|
|||||||
# Copyright 2014-2021 Gentoo Authors
|
# Copyright 2014-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=8
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]]; then
|
if [[ ${PV} == 9999* ]]; then
|
||||||
inherit git-r3
|
inherit git-r3
|
||||||
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoo-functions.git"
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoo-functions.git"
|
||||||
else
|
else
|
||||||
SRC_URI="https://gitweb.gentoo.org/proj/gentoo-functions.git/snapshot/${P}.tar.gz"
|
SRC_URI="https://gitweb.gentoo.org/proj/gentoo-functions.git/snapshot/${P}.tar.bz2"
|
||||||
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 ~x86-winnt"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~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 ~x86-winnt"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
inherit toolchain-funcs flag-o-matic
|
inherit toolchain-funcs flag-o-matic
|
||||||
|
|
||||||
DESCRIPTION="base functions required by all Gentoo systems"
|
DESCRIPTION="Base functions required by all Gentoo systems"
|
||||||
HOMEPAGE="https://gitweb.gentoo.org/proj/gentoo-functions.git"
|
HOMEPAGE="https://gitweb.gentoo.org/proj/gentoo-functions.git"
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
LICENSE="GPL-2"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
src_configure() {
|
src_configure() {
|
||||||
tc-export CC
|
tc-export CC
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
DIST help2man-1.48.3.tar.xz 211504 BLAKE2B 407cc87b1238242c202d37c0c4cd394e0efba95759b86a88026aef7c05d6a097d1946614547ebfab45f7fe0c1ddd057724234629246d32e94862c3d633b78c31 SHA512 e000e7380604c0986b14cb64b852d55eff48595884bddd389e876056dde6ce72b37aa16d92230e6f8f6e128003b819954bae4aa90933a58b51d3665d3c0ba356
|
|
||||||
DIST help2man-1.48.5.tar.xz 204672 BLAKE2B 6d96f5f65f8c637d524e5c373f2b89f114adf544c1d3508a9cb51115279b9bf6399c8ebb0a8d831de12ef8cdaca40b6e75412a221efc5d2dd1794e9c9643196f SHA512 800eb0daa9daef8e423d52ede55eee2960122ea0269865295afada4cf4fcc1c6791da8429c3a57c0fc1bf0a14c8a77953952325413a8faa5dd07b1bc5bc0edd1
|
DIST help2man-1.48.5.tar.xz 204672 BLAKE2B 6d96f5f65f8c637d524e5c373f2b89f114adf544c1d3508a9cb51115279b9bf6399c8ebb0a8d831de12ef8cdaca40b6e75412a221efc5d2dd1794e9c9643196f SHA512 800eb0daa9daef8e423d52ede55eee2960122ea0269865295afada4cf4fcc1c6791da8429c3a57c0fc1bf0a14c8a77953952325413a8faa5dd07b1bc5bc0edd1
|
||||||
|
DIST help2man-1.49.2.tar.xz 225428 BLAKE2B 62db47a5915432093991f060390a62ebf2d1e5e6e78f7142d0cd5f8a273a1fd74f55de4b3ead5c1071aaf4de084e62782981a1d888b8a8b76da9c07e0cda20ea SHA512 cb8f9f923263d7160a27a7924ae559aba93d7258167888eb9e0e3e97a2014297b8d739b2bb7869acbf586354d099bd91d85f8208b901bce5ba0c5ad4b6abd6d5
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
@ -9,7 +9,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
|
|||||||
|
|
||||||
LICENSE="GPL-3"
|
LICENSE="GPL-3"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
IUSE="nls"
|
IUSE="nls"
|
||||||
|
|
||||||
RDEPEND="dev-lang/perl
|
RDEPEND="dev-lang/perl
|
||||||
|
@ -1,22 +1,23 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=8
|
||||||
|
|
||||||
DESCRIPTION="GNU utility to convert program --help output to a man page"
|
DESCRIPTION="GNU utility to convert program --help output to a man page"
|
||||||
HOMEPAGE="https://www.gnu.org/software/help2man/"
|
HOMEPAGE="https://www.gnu.org/software/help2man/ https://salsa.debian.org/bod/help2man"
|
||||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
|
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
|
||||||
|
|
||||||
LICENSE="GPL-3"
|
LICENSE="GPL-3"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
IUSE="nls"
|
IUSE="nls"
|
||||||
|
|
||||||
RDEPEND="dev-lang/perl
|
RDEPEND="dev-lang/perl
|
||||||
nls? ( dev-perl/Locale-gettext )"
|
nls? ( dev-perl/Locale-gettext )"
|
||||||
DEPEND="${RDEPEND}"
|
DEPEND="${RDEPEND}"
|
||||||
|
|
||||||
DOCS=( debian/changelog NEWS README THANKS ) #385753
|
# bug #385753
|
||||||
|
DOCS=( debian/changelog NEWS README THANKS )
|
||||||
|
|
||||||
PATCHES=(
|
PATCHES=(
|
||||||
"${FILESDIR}"/${PN}-1.46.1-linguas.patch
|
"${FILESDIR}"/${PN}-1.46.1-linguas.patch
|
||||||
@ -28,14 +29,16 @@ src_prepare() {
|
|||||||
-e 's/-shared/-bundle/' \
|
-e 's/-shared/-bundle/' \
|
||||||
Makefile.in || die
|
Makefile.in || die
|
||||||
fi
|
fi
|
||||||
|
|
||||||
default
|
default
|
||||||
}
|
}
|
||||||
|
|
||||||
src_configure() {
|
src_configure() {
|
||||||
# Disable gettext requirement as the release includes the gmo files #555018
|
# Disable gettext requirement as the release includes the gmo files, bug #555018
|
||||||
local myeconfargs=(
|
local myeconfargs=(
|
||||||
ac_cv_path_MSGFMT=$(type -P false)
|
ac_cv_path_MSGFMT=$(type -P false)
|
||||||
$(use_enable nls)
|
$(use_enable nls)
|
||||||
)
|
)
|
||||||
|
|
||||||
econf "${myeconfargs[@]}"
|
econf "${myeconfargs[@]}"
|
||||||
}
|
}
|
@ -9,7 +9,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
|
|||||||
|
|
||||||
LICENSE="GPL-3"
|
LICENSE="GPL-3"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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"
|
||||||
|
|
||||||
# File collisions. #540246
|
# File collisions. #540246
|
||||||
RDEPEND="!=gnome-base/gnome-common-3.14.0-r0
|
RDEPEND="!=gnome-base/gnome-common-3.14.0-r0
|
||||||
|
@ -6,4 +6,7 @@
|
|||||||
<name>Gentoo Base System</name>
|
<name>Gentoo Base System</name>
|
||||||
</maintainer>
|
</maintainer>
|
||||||
<stabilize-allarches/>
|
<stabilize-allarches/>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">autoconf-archive/autoconf-archive</remote-id>
|
||||||
|
</upstream>
|
||||||
</pkgmetadata>
|
</pkgmetadata>
|
||||||
|
1
sdk_container/src/third_party/portage-stable/sys-devel/autoconf-wrapper/Manifest
vendored
Normal file
1
sdk_container/src/third_party/portage-stable/sys-devel/autoconf-wrapper/Manifest
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
DIST autotools-wrappers-at-20220130.tar.gz 3625 BLAKE2B c587d778a0c3331d14498308ae720dabdbcf27349ef0a3a2d5db56bb0ef597a5b1ab43388f1456e7888b40f043d68b0d89b420ac7404008f9a813ef78ae7e96f SHA512 700204b6024636dc808339aac15fb19bb645b654d4777ba8bf0febded5eb6af98659d04ed23819a8a638b6ee905e62292995bf2f838c30dedacb1a6bc0d04f1a
|
@ -1,25 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
DESCRIPTION="wrapper for autoconf to manage multiple autoconf versions"
|
|
||||||
HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
[[ "${PV}" == *_pre* ]] || \
|
|
||||||
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"
|
|
||||||
|
|
||||||
S="${WORKDIR}"
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
exeinto /usr/$(get_libdir)/misc
|
|
||||||
newexe "${FILESDIR}"/ac-wrapper-${PV}.sh ac-wrapper.sh
|
|
||||||
|
|
||||||
dodir /usr/bin
|
|
||||||
local x=
|
|
||||||
for x in auto{conf,header,m4te,reconf,scan,update} ifnames ; do
|
|
||||||
dosym ../$(get_libdir)/misc/ac-wrapper.sh /usr/bin/${x}
|
|
||||||
done
|
|
||||||
}
|
|
@ -0,0 +1,28 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI="7"
|
||||||
|
|
||||||
|
MY_P="autotools-wrappers-at-${PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="wrapper for autoconf to manage multiple autoconf versions"
|
||||||
|
HOMEPAGE="https://gitweb.gentoo.org/proj/autotools-wrappers.git"
|
||||||
|
#SRC_URI="https://gitweb.gentoo.org/proj/autotools-wrappers.git/snapshot/${MY_P}.tar.gz"
|
||||||
|
SRC_URI="https://dev.gentoo.org/~vapier/dist/${MY_P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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"
|
||||||
|
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
exeinto /usr/$(get_libdir)/misc
|
||||||
|
newexe ac-wrapper.sh ac-wrapper.sh
|
||||||
|
|
||||||
|
dodir /usr/bin
|
||||||
|
local x=
|
||||||
|
for x in auto{conf,header,m4te,reconf,scan,update} ifnames ; do
|
||||||
|
dosym ../$(get_libdir)/misc/ac-wrapper.sh /usr/bin/${x}
|
||||||
|
done
|
||||||
|
}
|
@ -1,203 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
# Based on the ac-wrapper.pl script provided by MandrakeSoft
|
|
||||||
# Rewritten in bash by Gregorio Guidi
|
|
||||||
#
|
|
||||||
# Executes the correct autoconf version.
|
|
||||||
#
|
|
||||||
# - defaults to newest version available (hopefully autoconf-2.60)
|
|
||||||
# - runs autoconf 2.13 if:
|
|
||||||
# - envvar WANT_AUTOCONF is set to `2.1'
|
|
||||||
# -or-
|
|
||||||
# - `ac{local,include}.m4' or `configure.{in,ac}' have AC_PREREQ(2.1) (not higher)
|
|
||||||
# -or-
|
|
||||||
# - `configure' is already present and was generated by autoconf 2.13
|
|
||||||
|
|
||||||
warn() { printf "ac-wrapper: $*\n" 1>&2; }
|
|
||||||
err() { warn "$@"; exit 1; }
|
|
||||||
unset IFS
|
|
||||||
which() {
|
|
||||||
local p
|
|
||||||
IFS=: # we don't use IFS anywhere, so don't bother saving/restoring
|
|
||||||
for p in ${PATH} ; do
|
|
||||||
p="${p}/$1"
|
|
||||||
[ -e "${p}" ] && echo "${p}" && return 0
|
|
||||||
done
|
|
||||||
unset IFS
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# Sanitize argv[0] since it isn't always a full path #385201
|
|
||||||
#
|
|
||||||
argv0=${0##*/}
|
|
||||||
case ${0} in
|
|
||||||
${argv0})
|
|
||||||
# find it in PATH
|
|
||||||
if ! full_argv0=$(which "${argv0}") ; then
|
|
||||||
err "could not locate ${argv0}; file a bug"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
# re-use full/relative paths
|
|
||||||
full_argv0=$0
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ "${argv0}" = "ac-wrapper.sh" ] ; then
|
|
||||||
err "Don't call this script directly"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${WANT_AUTOCONF}" = "2.1" ] && [ "${argv0}" = "autom4te" ] ; then
|
|
||||||
err "Autoconf 2.13 doesn't contain autom4te.\n" \
|
|
||||||
" Either unset WANT_AUTOCONF or don't execute anything\n" \
|
|
||||||
" that would use autom4te."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! seq 0 0 2>/dev/null 1>&2 ; then #338518
|
|
||||||
seq() {
|
|
||||||
local f l i
|
|
||||||
case $# in
|
|
||||||
1) f=1 i=1 l=$1;;
|
|
||||||
2) f=$1 i=1 l=$2;;
|
|
||||||
3) f=$1 i=$2 l=$3;;
|
|
||||||
esac
|
|
||||||
while :; do
|
|
||||||
[ $l -lt $f -a $i -gt 0 ] && break
|
|
||||||
[ $f -lt $l -a $i -lt 0 ] && break
|
|
||||||
echo $f
|
|
||||||
: $(( f += i ))
|
|
||||||
done
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# Set up bindings between actual version and WANT_AUTOCONF;
|
|
||||||
# Start at last known unstable/stable versions to speed up lookup process.
|
|
||||||
#
|
|
||||||
if [ -z "${KNOWN_AUTOCONF}" ] ; then
|
|
||||||
KNOWN_AUTOCONF="2.71:2.5 2.70:2.5 2.69:2.5"
|
|
||||||
fi
|
|
||||||
vers="${KNOWN_AUTOCONF} 9999:2.5 $(printf '2.%s:2.5 ' `seq 99 -1 59`) 2.13:2.1"
|
|
||||||
|
|
||||||
binary=""
|
|
||||||
for v in ${vers} ; do
|
|
||||||
auto_ver=${v%:*}
|
|
||||||
if [ -z "${binary}" ] && [ -x "${full_argv0}-${auto_ver}" ] ; then
|
|
||||||
binary="${full_argv0}-${auto_ver}"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [ -z "${binary}" ] ; then
|
|
||||||
err "Unable to locate any usuable version of autoconf.\n" \
|
|
||||||
"\tI tried these versions: ${vers}\n" \
|
|
||||||
"\tWith a base name of '${full_argv0}'."
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# Check the WANT_AUTOCONF setting. We accept a whitespace delimited
|
|
||||||
# list of autoconf versions.
|
|
||||||
#
|
|
||||||
if [ -n "${WANT_AUTOCONF}" ] ; then
|
|
||||||
for v in ${vers} x ; do
|
|
||||||
if [ "${v}" = "x" ] ; then
|
|
||||||
warn "warning: invalid WANT_AUTOCONF '${WANT_AUTOCONF}'; ignoring."
|
|
||||||
unset WANT_AUTOCONF
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
|
|
||||||
auto_ver=${v%:*}
|
|
||||||
want_ver=${v#*:}
|
|
||||||
for wx in ${WANT_AUTOCONF} ; do
|
|
||||||
if [ -x "${full_argv0}-${wx}" ] ; then
|
|
||||||
binary="${full_argv0}-${wx}"
|
|
||||||
v="x"
|
|
||||||
elif [ "${wx}" = "${want_ver}" ] && [ -x "${full_argv0}-${auto_ver}" ] ; then
|
|
||||||
binary="${full_argv0}-${auto_ver}"
|
|
||||||
v="x"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
[ "${v}" = "x" ] && break
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# autodetect helpers
|
|
||||||
#
|
|
||||||
acprereq_version() {
|
|
||||||
sed -n -r \
|
|
||||||
-e '/^\s*(#|dnl)/d' \
|
|
||||||
-e '/AC_PREREQ/s:.*AC_PREREQ\s*\(\[?\s*([0-9.]+)\s*\]?\):\1:p' \
|
|
||||||
"$@" |
|
|
||||||
LC_ALL=C sort -n -t . |
|
|
||||||
tail -1
|
|
||||||
}
|
|
||||||
|
|
||||||
generated_version() {
|
|
||||||
local re='^# Generated (by (GNU )?Autoconf|automatically using autoconf version) ([0-9.]+).*'
|
|
||||||
sed -n -r "/${re}/{s:${re}:\3:;p;q}" "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# autodetect routine
|
|
||||||
#
|
|
||||||
if [ "${WANT_AUTOCONF}" = "2.1" ] && [ -f "configure.ac" ] ; then
|
|
||||||
err "Since configure.ac is present, aclocal always use\n" \
|
|
||||||
"\tautoconf 2.59+, which conflicts with your choice and\n" \
|
|
||||||
"\tcauses error. You have two options:\n" \
|
|
||||||
"\t1. Try execute command again after removing configure.ac\n" \
|
|
||||||
"\t2. Don't set WANT_AUTOCONF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${WANT_AUTOCONF:-2.1}" = "2.1" ] && [ -n "${WANT_AUTOMAKE}" ] ; then
|
|
||||||
# Automake-1.7 and better require autoconf-2.5x so if WANT_AUTOMAKE
|
|
||||||
# is set to an older version, let's do some sanity checks.
|
|
||||||
case "${WANT_AUTOMAKE}" in
|
|
||||||
1.[456])
|
|
||||||
acfiles=$(ls aclocal.m4 acinclude.m4 configure.in configure.ac 2>/dev/null)
|
|
||||||
[ -n "${acfiles}" ] && confversion=$(acprereq_version ${acfiles})
|
|
||||||
|
|
||||||
[ -z "${confversion}" ] && [ -r "configure" ] \
|
|
||||||
&& confversion=$(generated_version configure)
|
|
||||||
|
|
||||||
if [ "${confversion}" = "2.1" ] && [ ! -f "configure.ac" ] ; then
|
|
||||||
binary="${full_argv0}-2.13"
|
|
||||||
fi
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "${WANT_ACWRAPPER_DEBUG}" ] ; then
|
|
||||||
if [ -n "${WANT_AUTOCONF}" ] ; then
|
|
||||||
warn "DEBUG: WANT_AUTOCONF is set to ${WANT_AUTOCONF}"
|
|
||||||
fi
|
|
||||||
warn "DEBUG: will execute <${binary}>"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# for further consistency
|
|
||||||
#
|
|
||||||
if [ -z "${WANT_AUTOCONF}" ] ; then
|
|
||||||
for v in ${vers} ; do
|
|
||||||
auto_ver=${v%:*}
|
|
||||||
want_ver=${v#*:}
|
|
||||||
if [ "${binary}" = "${full_argv0}-${auto_ver}" ] ; then
|
|
||||||
export WANT_AUTOCONF="${want_ver}"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# Now try to run the binary
|
|
||||||
#
|
|
||||||
if [ ! -x "${binary}" ] ; then
|
|
||||||
# this shouldn't happen
|
|
||||||
err "${binary} is missing or not executable.\n" \
|
|
||||||
"\tPlease try emerging the correct version of autoconf."
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "${binary}" "$@"
|
|
||||||
# The shell will error out if `exec` failed.
|
|
@ -1,5 +1,4 @@
|
|||||||
DIST autoconf-2.13.tar.gz 443844 BLAKE2B ade10f9d4a0b1a0e8b752eee817cfe100d77b074192b9892330402ddc5b62dda1a3485ce0c36e72191daa9fd49382b99851cb6aa3a13aca8cf2ae6e884638fb6 SHA512 602584f4c77b7a554aaa068eda5409b68eb0b3229e9c224bffb91c83c4314d25de15bd560a323626ff78f6df339c79e1ef8938c54b78ecadf4dc75c5241290ad
|
DIST autoconf-2.13.tar.gz 443844 BLAKE2B ade10f9d4a0b1a0e8b752eee817cfe100d77b074192b9892330402ddc5b62dda1a3485ce0c36e72191daa9fd49382b99851cb6aa3a13aca8cf2ae6e884638fb6 SHA512 602584f4c77b7a554aaa068eda5409b68eb0b3229e9c224bffb91c83c4314d25de15bd560a323626ff78f6df339c79e1ef8938c54b78ecadf4dc75c5241290ad
|
||||||
DIST autoconf-2.64.tar.xz 1113892 BLAKE2B 598873209a67725150cd4cf09c4b78b26b3d1782f259846da48dc8106a1d32ae2b24f3a864c3be0e9e8dc7d6b6ca8781b83ff33a691c88e68391d1ea861ccf23 SHA512 ee4b504447c14a59b849d0915e55a90522cfb071d1583af2bd3575e5a05d7bd290e55e0e9d0760c8f36043f926199fc2d962b559d27d2f95c70d0e147b4ad0a3
|
|
||||||
DIST autoconf-2.69-runstatedir_patches.tar.xz 257096 BLAKE2B ae765e0ca7fe8261117f6f6b75611c232fc3d4016c22c86346afa72f2b7e6c3b7ccc1f9dfe134b2443f8bde6d578b503d79cf88472f76ce75b6c2e843ef55b8e SHA512 55f93299fe5243151f6bb782986a7935270f06d5065929f4d365a37aba05703e3ce66ecf7981d30413db50ee6b4f77d81d10a71b539c8a366c5c5a156c5443da
|
DIST autoconf-2.69-runstatedir_patches.tar.xz 257096 BLAKE2B ae765e0ca7fe8261117f6f6b75611c232fc3d4016c22c86346afa72f2b7e6c3b7ccc1f9dfe134b2443f8bde6d578b503d79cf88472f76ce75b6c2e843ef55b8e SHA512 55f93299fe5243151f6bb782986a7935270f06d5065929f4d365a37aba05703e3ce66ecf7981d30413db50ee6b4f77d81d10a71b539c8a366c5c5a156c5443da
|
||||||
DIST autoconf-2.69.tar.xz 1214744 BLAKE2B 71d33d72a06e9a05fbed0eda73bc9d8a3805c7c90bf082959862f93f3c5f01192114176e84d84ecb58fa99512eafbc0ab21ad1407be18c8c63bb3dc1117c482d SHA512 995d3e5a8eb1eb37e2b7fae53c6ec7a9b4df997286b7d643344818f94636756b1bf5ff5ea9155e755cb9461149a853dfbf2886fc6bd7132e5afa9c168e306e9b
|
DIST autoconf-2.69.tar.xz 1214744 BLAKE2B 71d33d72a06e9a05fbed0eda73bc9d8a3805c7c90bf082959862f93f3c5f01192114176e84d84ecb58fa99512eafbc0ab21ad1407be18c8c63bb3dc1117c482d SHA512 995d3e5a8eb1eb37e2b7fae53c6ec7a9b4df997286b7d643344818f94636756b1bf5ff5ea9155e755cb9461149a853dfbf2886fc6bd7132e5afa9c168e306e9b
|
||||||
DIST autoconf-2.71.tar.xz 1292296 BLAKE2B 7fd4b98b4cfff10720e8da6ee91045637991643b50fcb3e47a0ecfcc01600f7b7b36fd1c0a5f08b68a418f1bdbd8d5a98de1008157595dd37cc3a31facb61416 SHA512 73d32b4adcbe24e3bafa9f43f59ed3b6efbd3de0f194e5ec90375f35da1199c583f5d3e89139b7edbad35171403709270e339ffa56a2ecb9b3123e9285021ff0
|
DIST autoconf-2.71.tar.xz 1292296 BLAKE2B 7fd4b98b4cfff10720e8da6ee91045637991643b50fcb3e47a0ecfcc01600f7b7b36fd1c0a5f08b68a418f1bdbd8d5a98de1008157595dd37cc3a31facb61416 SHA512 73d32b4adcbe24e3bafa9f43f59ed3b6efbd3de0f194e5ec90375f35da1199c583f5d3e89139b7edbad35171403709270e339ffa56a2ecb9b3123e9285021ff0
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=6
|
EAPI=7
|
||||||
|
|
||||||
inherit toolchain-autoconf
|
inherit toolchain-autoconf
|
||||||
|
|
||||||
@ -11,13 +11,13 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
|
|||||||
|
|
||||||
LICENSE="GPL-2"
|
LICENSE="GPL-2"
|
||||||
SLOT="${PV:0:3}"
|
SLOT="${PV:0:3}"
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||||
IUSE="userland_BSD"
|
|
||||||
|
|
||||||
DEPEND=">=sys-apps/texinfo-4.3
|
BDEPEND="
|
||||||
=sys-devel/m4-1.4*
|
sys-devel/m4
|
||||||
dev-lang/perl"
|
dev-lang/perl"
|
||||||
RDEPEND="${DEPEND}
|
RDEPEND="${BDEPEND}
|
||||||
|
sys-apps/texinfo
|
||||||
>=sys-devel/autoconf-wrapper-13"
|
>=sys-devel/autoconf-wrapper-13"
|
||||||
|
|
||||||
PATCHES=(
|
PATCHES=(
|
||||||
@ -40,10 +40,8 @@ src_configure() {
|
|||||||
# force to `awk` so that we don't encode another awk that
|
# force to `awk` so that we don't encode another awk that
|
||||||
# happens to currently be installed, but might later be
|
# happens to currently be installed, but might later be
|
||||||
# uninstalled (like mawk). same for m4.
|
# uninstalled (like mawk). same for m4.
|
||||||
local prepend=""
|
ac_cv_path_M4="m4" \
|
||||||
use userland_BSD && prepend="g"
|
ac_cv_prog_AWK="awk" \
|
||||||
ac_cv_path_M4="${prepend}m4" \
|
|
||||||
ac_cv_prog_AWK="${prepend}awk" \
|
|
||||||
LC_ALL=C \
|
LC_ALL=C \
|
||||||
econf \
|
econf \
|
||||||
--exec-prefix="${EPREFIX}"/usr \
|
--exec-prefix="${EPREFIX}"/usr \
|
@ -1,26 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
|
|
||||||
inherit toolchain-autoconf
|
|
||||||
|
|
||||||
DESCRIPTION="Used to create autoconfiguration files"
|
|
||||||
HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
|
|
||||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="${PV}"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
DEPEND=">=sys-devel/m4-1.4.6
|
|
||||||
dev-lang/perl"
|
|
||||||
RDEPEND="${DEPEND}
|
|
||||||
!~sys-devel/${P}:2.5
|
|
||||||
>=sys-devel/autoconf-wrapper-13"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-2.69-perl-5.26.patch
|
|
||||||
"${FILESDIR}"/${PN}-2.69-perl-5.26-2.patch
|
|
||||||
)
|
|
62
sdk_container/src/third_party/portage-stable/sys-devel/autoconf/autoconf-2.69-r6.ebuild
vendored
Normal file
62
sdk_container/src/third_party/portage-stable/sys-devel/autoconf/autoconf-2.69-r6.ebuild
vendored
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git"
|
||||||
|
inherit git-r3
|
||||||
|
else
|
||||||
|
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
|
||||||
|
ftp://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz
|
||||||
|
https://dev.gentoo.org/~polynomial-c/dist/${P}-runstatedir_patches.tar.xz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
|
||||||
|
inherit toolchain-autoconf
|
||||||
|
|
||||||
|
DESCRIPTION="Used to create autoconfiguration files"
|
||||||
|
HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
|
||||||
|
|
||||||
|
LICENSE="GPL-3"
|
||||||
|
SLOT="${PV}"
|
||||||
|
IUSE="emacs"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
>=sys-devel/m4-1.4.16
|
||||||
|
>=dev-lang/perl-5.6
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
${BDEPEND}
|
||||||
|
>=sys-devel/autoconf-wrapper-13
|
||||||
|
!~sys-devel/${P}:2.5
|
||||||
|
"
|
||||||
|
|
||||||
|
[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
|
||||||
|
|
||||||
|
PDEPEND="emacs? ( app-emacs/autoconf-mode )"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${PN}-2.69-perl-5.26.patch
|
||||||
|
"${FILESDIR}"/${P}-fix-libtool-test.patch
|
||||||
|
"${FILESDIR}"/${PN}-2.69-perl-5.26-2.patch
|
||||||
|
"${FILESDIR}"/${P}-make-tests-bash5-compatible.patch
|
||||||
|
|
||||||
|
"${WORKDIR}"/patches/${P}-texinfo.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# usr/bin/libtool is provided by binutils-apple, need gnu libtool
|
||||||
|
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||||
|
PATCHES+=( "${FILESDIR}"/${PN}-2.61-darwin.patch )
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Save timestamp to avoid later makeinfo call
|
||||||
|
touch -r doc/{,old_}autoconf.texi || die
|
||||||
|
|
||||||
|
toolchain-autoconf_src_prepare
|
||||||
|
|
||||||
|
# Restore timestamp to avoid makeinfo call
|
||||||
|
# We already have an up to date autoconf.info page at this point.
|
||||||
|
touch -r doc/{old_,}autoconf.texi || die
|
||||||
|
}
|
@ -1,9 +1,9 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
if [[ ${PV} == "9999" ]] ; then
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git"
|
EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git"
|
||||||
inherit git-r3
|
inherit git-r3
|
||||||
else
|
else
|
||||||
@ -11,12 +11,14 @@ else
|
|||||||
MY_PV="${PV}"
|
MY_PV="${PV}"
|
||||||
MY_P="${PN}-${MY_PV}"
|
MY_P="${PN}-${MY_PV}"
|
||||||
#PATCH_TARBALL_NAME="${PN}-2.70-patches-01"
|
#PATCH_TARBALL_NAME="${PN}-2.70-patches-01"
|
||||||
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz -> ${P}.tar.xz
|
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
|
||||||
https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz -> ${P}.tar.xz"
|
https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
|
||||||
#SRC_URI+=" https://dev.gentoo.org/~polynomial-c/${PATCH_TARBALL_NAME}.tar.xz"
|
#SRC_URI+=" https://dev.gentoo.org/~polynomial-c/${PATCH_TARBALL_NAME}.tar.xz"
|
||||||
[[ "${PV}" == *_beta* ]] || \
|
|
||||||
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"
|
if ! [[ ${PV} == *_beta* ]] ; then
|
||||||
S="${WORKDIR}/${MY_P}"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
S="${WORKDIR}"/${MY_P}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
inherit toolchain-autoconf
|
inherit toolchain-autoconf
|
||||||
@ -28,13 +30,15 @@ LICENSE="GPL-3"
|
|||||||
SLOT="${PV/_*}"
|
SLOT="${PV/_*}"
|
||||||
IUSE="emacs"
|
IUSE="emacs"
|
||||||
|
|
||||||
|
# for 2.71, our Perl time resolution patch changes our min Perl from 5.6
|
||||||
|
# (vanilla upstream for 2.71) to 5.8.
|
||||||
BDEPEND=">=sys-devel/m4-1.4.16
|
BDEPEND=">=sys-devel/m4-1.4.16
|
||||||
>=dev-lang/perl-5.6"
|
>=dev-lang/perl-5.8"
|
||||||
RDEPEND="${BDEPEND}
|
RDEPEND="${BDEPEND}
|
||||||
>=sys-devel/autoconf-wrapper-15
|
>=sys-devel/autoconf-wrapper-15
|
||||||
sys-devel/gnuconfig
|
sys-devel/gnuconfig
|
||||||
!~sys-devel/${P}:2.5"
|
!~sys-devel/${P}:2.5"
|
||||||
[[ ${PV} == "9999" ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
|
[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
|
||||||
PDEPEND="emacs? ( app-emacs/autoconf-mode )"
|
PDEPEND="emacs? ( app-emacs/autoconf-mode )"
|
||||||
|
|
||||||
PATCHES=( "${FILESDIR}/${P}-time.patch" )
|
PATCHES=( "${FILESDIR}/${P}-time.patch" )
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
@ -22,7 +22,7 @@ SLOT="${PV}"
|
|||||||
IUSE="emacs"
|
IUSE="emacs"
|
||||||
|
|
||||||
BDEPEND=">=sys-devel/m4-1.4.16
|
BDEPEND=">=sys-devel/m4-1.4.16
|
||||||
>=dev-lang/perl-5.6"
|
>=dev-lang/perl-5.10"
|
||||||
RDEPEND="${BDEPEND}
|
RDEPEND="${BDEPEND}
|
||||||
>=sys-devel/autoconf-wrapper-14
|
>=sys-devel/autoconf-wrapper-14
|
||||||
sys-devel/gnuconfig
|
sys-devel/gnuconfig
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
DESCRIPTION="wrapper for automake to manage multiple automake versions"
|
||||||
|
HOMEPAGE="https://gitweb.gentoo.org/proj/autotools-wrappers.git"
|
||||||
|
S="${WORKDIR}"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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"
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
cp "${FILESDIR}"/am-wrapper-${PV}.sh "${S}"/ || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
# usr/bin/aclocal: bad substitution -> /bin/sh != POSIX shell
|
||||||
|
if use prefix ; then
|
||||||
|
sed -i -e '1c\#!'"${EPREFIX}"'/bin/sh' am-wrapper-${PV}.sh || die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
newbin am-wrapper-${PV}.sh automake
|
||||||
|
dosym automake /usr/bin/aclocal
|
||||||
|
|
||||||
|
keepdir /usr/share/aclocal
|
||||||
|
}
|
@ -1,36 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI="6"
|
|
||||||
|
|
||||||
DESCRIPTION="wrapper for automake to manage multiple automake versions"
|
|
||||||
HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
|
|
||||||
SRC_URI=""
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
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"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
S=${WORKDIR}
|
|
||||||
|
|
||||||
src_unpack() {
|
|
||||||
cp "${FILESDIR}"/am-wrapper-${PV}.sh "${S}"/ || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
|
|
||||||
# usr/bin/aclocal: bad substitution -> /bin/sh != POSIX shell
|
|
||||||
if use prefix ; then
|
|
||||||
sed -i -e '1c\#!'"${EPREFIX}"'/bin/sh' \
|
|
||||||
"${S}"/am-wrapper-${PV}.sh || die
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
newbin "${S}"/am-wrapper-${PV}.sh automake
|
|
||||||
dosym automake /usr/bin/aclocal
|
|
||||||
|
|
||||||
keepdir /usr/share/aclocal
|
|
||||||
}
|
|
@ -1,6 +1,4 @@
|
|||||||
DIST automake-1.11.6.tar.xz 1092908 BLAKE2B 17254d81d6920c32aa877b6c892025de8e4060b8bcbe50fff841ada513dd462ddde8fc6838b4976098a812f8fda047e7186cb62cea8175df615dde75a9959144 SHA512 6e4cdf69f07734954f770fd4a7211a8c9dc69fe25a7746bd3c1e01d3139c94cab2900399e87371548833e99687e0d2b59c5e746ab2fdfbc7d47f2c1d439137ba
|
DIST automake-1.11.6.tar.xz 1092908 BLAKE2B 17254d81d6920c32aa877b6c892025de8e4060b8bcbe50fff841ada513dd462ddde8fc6838b4976098a812f8fda047e7186cb62cea8175df615dde75a9959144 SHA512 6e4cdf69f07734954f770fd4a7211a8c9dc69fe25a7746bd3c1e01d3139c94cab2900399e87371548833e99687e0d2b59c5e746ab2fdfbc7d47f2c1d439137ba
|
||||||
DIST automake-1.13.4.tar.xz 1449608 BLAKE2B 03dee42d65362a6f36e81c83d516c85faba1aac59bdc0d941077fde9be7742da0f57b48d678169e7a0e8b652c3ef46c314cdd3efb0fc489c389852fed1c39a02 SHA512 c9b145c1b822a4d83f2899f4280a76ccae932301b273f4c9718dc7f53161aa03dc1be2c1fb1a61083c54186e1908ae2c8284250aa1d8f6dea484767aca1344d3
|
DIST automake-1.13.4.tar.xz 1449608 BLAKE2B 03dee42d65362a6f36e81c83d516c85faba1aac59bdc0d941077fde9be7742da0f57b48d678169e7a0e8b652c3ef46c314cdd3efb0fc489c389852fed1c39a02 SHA512 c9b145c1b822a4d83f2899f4280a76ccae932301b273f4c9718dc7f53161aa03dc1be2c1fb1a61083c54186e1908ae2c8284250aa1d8f6dea484767aca1344d3
|
||||||
DIST automake-1.15.1.tar.xz 1509496 BLAKE2B e6ade31089f969140472004cd9854318470228c64e4f8e829d48c5379f62d2c5f8ef9509131c577653e81868d94544ecf6520f86b5d582ebb6ed65c832039f30 SHA512 02f661b2676f1d44334ce1c7188f9913a6874bf46ba487708ad8090ad57905f14aead80fefed815e21effacfbb925e23b944ea7dd32563dca39c1a4174eda688
|
DIST automake-1.15.1.tar.xz 1509496 BLAKE2B e6ade31089f969140472004cd9854318470228c64e4f8e829d48c5379f62d2c5f8ef9509131c577653e81868d94544ecf6520f86b5d582ebb6ed65c832039f30 SHA512 02f661b2676f1d44334ce1c7188f9913a6874bf46ba487708ad8090ad57905f14aead80fefed815e21effacfbb925e23b944ea7dd32563dca39c1a4174eda688
|
||||||
DIST automake-1.16.3.tar.xz 1590708 BLAKE2B ab6001a1b09e171ec83bac07155a77ab0fc29f5185116616aa3080b27e8bbf759472cd0dfb75630b26f7ad8d0741e668662d00b370ef79cf5ef6c62e945c94da SHA512 7265aeb7f82a8a205761d76e6ade7b7e97831c283349fd80f86e511f4b0b3e17f429d1506fca84c76079f63781e5dbf5ca81455d6bf6cda27d2e5c3d23b0d1aa
|
|
||||||
DIST automake-1.16.4.tar.xz 1599336 BLAKE2B a74bb444e7074e7dd7cf920a94a86756a5e6dec24a9eeb669ee629a1d3ab667efef0005d488fe6d9d8b33a680ada54f098ca334b63da4a739b0fec7c630a65aa SHA512 5a8883657e73b75bfa1ee59ab04af6bf4d43f390ab62fb7a9e8e2ac66159dfe4947b2ac7bc1028afffe6a09d88f388339500e03f6cdfa1226985be45ec033246
|
|
||||||
DIST automake-1.16.5.tar.xz 1601740 BLAKE2B 87408abc57e1d4317a2b518fb3606d0f6d156522e7333016dd84747cd8922f27ef7fcc93220b11f794ce52bf8fd9a788d0166a4d1964d7c283905f269977ac7c SHA512 3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88
|
DIST automake-1.16.5.tar.xz 1601740 BLAKE2B 87408abc57e1d4317a2b518fb3606d0f6d156522e7333016dd84747cd8922f27ef7fcc93220b11f794ce52bf8fd9a788d0166a4d1964d7c283905f269977ac7c SHA512 3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
@ -14,7 +14,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 s
|
|||||||
IUSE=""
|
IUSE=""
|
||||||
RESTRICT="test"
|
RESTRICT="test"
|
||||||
|
|
||||||
RDEPEND="dev-lang/perl
|
RDEPEND=">=dev-lang/perl-5.6
|
||||||
>=sys-devel/automake-wrapper-10
|
>=sys-devel/automake-wrapper-10
|
||||||
>=sys-devel/autoconf-2.69:*
|
>=sys-devel/autoconf-2.69:*
|
||||||
sys-devel/gnuconfig"
|
sys-devel/gnuconfig"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
@ -14,7 +14,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 s
|
|||||||
IUSE=""
|
IUSE=""
|
||||||
RESTRICT="test"
|
RESTRICT="test"
|
||||||
|
|
||||||
RDEPEND="dev-lang/perl
|
RDEPEND=">=dev-lang/perl-5.6
|
||||||
>=sys-devel/automake-wrapper-10
|
>=sys-devel/automake-wrapper-10
|
||||||
>=sys-devel/autoconf-2.69:*
|
>=sys-devel/autoconf-2.69:*
|
||||||
sys-devel/gnuconfig"
|
sys-devel/gnuconfig"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
@ -32,7 +32,7 @@ SLOT="${PV:0:4}"
|
|||||||
IUSE=""
|
IUSE=""
|
||||||
RESTRICT="test"
|
RESTRICT="test"
|
||||||
|
|
||||||
RDEPEND="dev-lang/perl
|
RDEPEND=">=dev-lang/perl-5.6
|
||||||
>=sys-devel/automake-wrapper-10
|
>=sys-devel/automake-wrapper-10
|
||||||
>=sys-devel/autoconf-2.69:*
|
>=sys-devel/autoconf-2.69:*
|
||||||
sys-devel/gnuconfig"
|
sys-devel/gnuconfig"
|
||||||
|
@ -1,131 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
PYTHON_COMPAT=( python3_{8,9,10} )
|
|
||||||
|
|
||||||
inherit python-any-r1
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999 ]] ; then
|
|
||||||
EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git"
|
|
||||||
|
|
||||||
inherit git-r3
|
|
||||||
else
|
|
||||||
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"
|
|
||||||
if [[ ${PV/_beta} == ${PV} ]]; then
|
|
||||||
MY_P="${P}"
|
|
||||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
|
|
||||||
https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
|
|
||||||
else
|
|
||||||
MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b"
|
|
||||||
MY_P="${PN}-${MY_PV}"
|
|
||||||
|
|
||||||
# Alpha/beta releases are not distributed on the usual mirrors.
|
|
||||||
SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
|
|
||||||
fi
|
|
||||||
S="${WORKDIR}/${MY_P}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
DESCRIPTION="Used to generate Makefile.in from Makefile.am"
|
|
||||||
HOMEPAGE="https://www.gnu.org/software/automake/"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
# Use Gentoo versioning for slotting.
|
|
||||||
SLOT="${PV:0:4}"
|
|
||||||
IUSE="test"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND="dev-lang/perl
|
|
||||||
>=sys-devel/automake-wrapper-11
|
|
||||||
>=sys-devel/autoconf-2.69:*
|
|
||||||
sys-devel/gnuconfig"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
BDEPEND="
|
|
||||||
app-arch/gzip
|
|
||||||
sys-apps/help2man
|
|
||||||
test? ( ${PYTHON_DEPS} )
|
|
||||||
"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/automake-1.16.2-py3-compile.patch
|
|
||||||
"${FILESDIR}"/automake-1.16.2-fix-instmany-python.sh-test.patch
|
|
||||||
"${FILESDIR}"/automake-1.16.2-fix-py-compile-basedir.sh-test.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# Avoid python-any-r1_pkg_setup
|
|
||||||
:
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
export WANT_AUTOCONF=2.5
|
|
||||||
# Don't try wrapping the autotools this thing runs as it tends
|
|
||||||
# to be a bit esoteric, and the script does `set -e` itself.
|
|
||||||
./bootstrap || die
|
|
||||||
sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
|
|
||||||
|
|
||||||
# Bug 628912
|
|
||||||
if ! has_version sys-apps/texinfo ; then
|
|
||||||
touch doc/{stamp-vti,version.texi,automake.info} || die
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
use test && python_setup
|
|
||||||
default
|
|
||||||
}
|
|
||||||
|
|
||||||
# slot the info pages. do this w/out munging the source so we don't have
|
|
||||||
# to depend on texinfo to regen things. #464146 (among others)
|
|
||||||
slot_info_pages() {
|
|
||||||
pushd "${ED}"/usr/share/info >/dev/null || die
|
|
||||||
rm -f dir
|
|
||||||
|
|
||||||
# Rewrite all the references to other pages.
|
|
||||||
# before: * aclocal-invocation: (automake)aclocal Invocation. Generating aclocal.m4.
|
|
||||||
# after: * aclocal-invocation v1.13: (automake-1.13)aclocal Invocation. Generating aclocal.m4.
|
|
||||||
local p pages=( *.info ) args=()
|
|
||||||
for p in "${pages[@]/%.info}" ; do
|
|
||||||
args+=(
|
|
||||||
-e "/START-INFO-DIR-ENTRY/,/END-INFO-DIR-ENTRY/s|: (${p})| v${SLOT}&|"
|
|
||||||
-e "s:(${p}):(${p}-${SLOT}):g"
|
|
||||||
)
|
|
||||||
done
|
|
||||||
sed -i "${args[@]}" * || die
|
|
||||||
|
|
||||||
# Rewrite all the file references, and rename them in the process.
|
|
||||||
local f d
|
|
||||||
for f in * ; do
|
|
||||||
d=${f/.info/-${SLOT}.info}
|
|
||||||
mv "${f}" "${d}" || die
|
|
||||||
sed -i -e "s:${f}:${d}:g" * || die
|
|
||||||
done
|
|
||||||
|
|
||||||
popd >/dev/null || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
|
|
||||||
slot_info_pages
|
|
||||||
rm "${ED}"/usr/share/aclocal/README || die
|
|
||||||
rmdir "${ED}"/usr/share/aclocal || die
|
|
||||||
rm \
|
|
||||||
"${ED}"/usr/bin/{aclocal,automake} \
|
|
||||||
"${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
|
|
||||||
|
|
||||||
# remove all config.guess and config.sub files replacing them
|
|
||||||
# w/a symlink to a specific gnuconfig version
|
|
||||||
local x
|
|
||||||
for x in guess sub ; do
|
|
||||||
dosym ../gnuconfig/config.${x} \
|
|
||||||
/usr/share/${PN}-${SLOT}/config.${x}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Avoid QA message about pre-compressed file in docs
|
|
||||||
local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz"
|
|
||||||
if [[ -f "${tarfile}" ]] ; then
|
|
||||||
gunzip "${tarfile}" || die
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,131 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
PYTHON_COMPAT=( python3_{8,9,10} )
|
|
||||||
|
|
||||||
inherit python-any-r1
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999 ]] ; then
|
|
||||||
EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git"
|
|
||||||
|
|
||||||
inherit git-r3
|
|
||||||
else
|
|
||||||
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"
|
|
||||||
if [[ ${PV/_beta} == ${PV} ]]; then
|
|
||||||
MY_P="${P}"
|
|
||||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
|
|
||||||
https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
|
|
||||||
else
|
|
||||||
MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b"
|
|
||||||
MY_P="${PN}-${MY_PV}"
|
|
||||||
|
|
||||||
# Alpha/beta releases are not distributed on the usual mirrors.
|
|
||||||
SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
|
|
||||||
fi
|
|
||||||
S="${WORKDIR}/${MY_P}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
DESCRIPTION="Used to generate Makefile.in from Makefile.am"
|
|
||||||
HOMEPAGE="https://www.gnu.org/software/automake/"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
# Use Gentoo versioning for slotting.
|
|
||||||
SLOT="${PV:0:4}"
|
|
||||||
IUSE="test"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND="dev-lang/perl
|
|
||||||
>=sys-devel/automake-wrapper-11
|
|
||||||
>=sys-devel/autoconf-2.69:*
|
|
||||||
sys-devel/gnuconfig"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
BDEPEND="
|
|
||||||
app-arch/gzip
|
|
||||||
sys-apps/help2man
|
|
||||||
test? ( ${PYTHON_DEPS} )
|
|
||||||
"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/automake-1.16.2-py3-compile.patch
|
|
||||||
"${FILESDIR}"/automake-1.16.2-fix-instmany-python.sh-test.patch
|
|
||||||
"${FILESDIR}"/automake-1.16.2-fix-py-compile-basedir.sh-test.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# Avoid python-any-r1_pkg_setup
|
|
||||||
:
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
export WANT_AUTOCONF=2.5
|
|
||||||
# Don't try wrapping the autotools this thing runs as it tends
|
|
||||||
# to be a bit esoteric, and the script does `set -e` itself.
|
|
||||||
./bootstrap || die
|
|
||||||
sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
|
|
||||||
|
|
||||||
# Bug 628912
|
|
||||||
if ! has_version sys-apps/texinfo ; then
|
|
||||||
touch doc/{stamp-vti,version.texi,automake.info} || die
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
use test && python_setup
|
|
||||||
default
|
|
||||||
}
|
|
||||||
|
|
||||||
# slot the info pages. do this w/out munging the source so we don't have
|
|
||||||
# to depend on texinfo to regen things. #464146 (among others)
|
|
||||||
slot_info_pages() {
|
|
||||||
pushd "${ED}"/usr/share/info >/dev/null || die
|
|
||||||
rm -f dir
|
|
||||||
|
|
||||||
# Rewrite all the references to other pages.
|
|
||||||
# before: * aclocal-invocation: (automake)aclocal Invocation. Generating aclocal.m4.
|
|
||||||
# after: * aclocal-invocation v1.13: (automake-1.13)aclocal Invocation. Generating aclocal.m4.
|
|
||||||
local p pages=( *.info ) args=()
|
|
||||||
for p in "${pages[@]/%.info}" ; do
|
|
||||||
args+=(
|
|
||||||
-e "/START-INFO-DIR-ENTRY/,/END-INFO-DIR-ENTRY/s|: (${p})| v${SLOT}&|"
|
|
||||||
-e "s:(${p}):(${p}-${SLOT}):g"
|
|
||||||
)
|
|
||||||
done
|
|
||||||
sed -i "${args[@]}" * || die
|
|
||||||
|
|
||||||
# Rewrite all the file references, and rename them in the process.
|
|
||||||
local f d
|
|
||||||
for f in * ; do
|
|
||||||
d=${f/.info/-${SLOT}.info}
|
|
||||||
mv "${f}" "${d}" || die
|
|
||||||
sed -i -e "s:${f}:${d}:g" * || die
|
|
||||||
done
|
|
||||||
|
|
||||||
popd >/dev/null || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
|
|
||||||
slot_info_pages
|
|
||||||
rm "${ED}"/usr/share/aclocal/README || die
|
|
||||||
rmdir "${ED}"/usr/share/aclocal || die
|
|
||||||
rm \
|
|
||||||
"${ED}"/usr/bin/{aclocal,automake} \
|
|
||||||
"${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
|
|
||||||
|
|
||||||
# remove all config.guess and config.sub files replacing them
|
|
||||||
# w/a symlink to a specific gnuconfig version
|
|
||||||
local x
|
|
||||||
for x in guess sub ; do
|
|
||||||
dosym ../gnuconfig/config.${x} \
|
|
||||||
/usr/share/${PN}-${SLOT}/config.${x}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Avoid QA message about pre-compressed file in docs
|
|
||||||
local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz"
|
|
||||||
if [[ -f "${tarfile}" ]] ; then
|
|
||||||
gunzip "${tarfile}" || die
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,21 +1,21 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
PYTHON_COMPAT=( python3_{8,9,10} )
|
|
||||||
|
PYTHON_COMPAT=( python3_{8..11} )
|
||||||
|
|
||||||
inherit python-any-r1
|
inherit python-any-r1
|
||||||
|
|
||||||
if [[ ${PV} == 9999 ]] ; then
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git"
|
EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git"
|
||||||
|
|
||||||
inherit git-r3
|
inherit git-r3
|
||||||
else
|
else
|
||||||
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"
|
|
||||||
if [[ ${PV/_beta} == ${PV} ]]; then
|
if [[ ${PV/_beta} == ${PV} ]]; then
|
||||||
MY_P="${P}"
|
MY_P="${P}"
|
||||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
|
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
|
||||||
https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
|
https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
|
||||||
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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"
|
||||||
else
|
else
|
||||||
MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b"
|
MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b"
|
||||||
MY_P="${PN}-${MY_PV}"
|
MY_P="${PN}-${MY_PV}"
|
||||||
@ -23,6 +23,7 @@ else
|
|||||||
# Alpha/beta releases are not distributed on the usual mirrors.
|
# Alpha/beta releases are not distributed on the usual mirrors.
|
||||||
SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
|
SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
S="${WORKDIR}/${MY_P}"
|
S="${WORKDIR}/${MY_P}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -35,7 +36,7 @@ SLOT="${PV:0:4}"
|
|||||||
IUSE="test"
|
IUSE="test"
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
RDEPEND="dev-lang/perl
|
RDEPEND=">=dev-lang/perl-5.6
|
||||||
>=sys-devel/automake-wrapper-11
|
>=sys-devel/automake-wrapper-11
|
||||||
>=sys-devel/autoconf-2.69:*
|
>=sys-devel/autoconf-2.69:*
|
||||||
sys-devel/gnuconfig"
|
sys-devel/gnuconfig"
|
||||||
@ -59,14 +60,15 @@ pkg_setup() {
|
|||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
default
|
default
|
||||||
|
|
||||||
export WANT_AUTOCONF=2.5
|
export WANT_AUTOCONF=2.5
|
||||||
# Don't try wrapping the autotools this thing runs as it tends
|
# Don't try wrapping the autotools - this thing runs as it tends
|
||||||
# to be a bit esoteric, and the script does `set -e` itself.
|
# to be a bit esoteric, and the script does `set -e` itself.
|
||||||
./bootstrap || die
|
./bootstrap || die
|
||||||
sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
|
sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
|
||||||
|
|
||||||
# Bug 628912
|
# bug #628912
|
||||||
if ! has_version sys-apps/texinfo ; then
|
if ! has_version -b sys-apps/texinfo ; then
|
||||||
touch doc/{stamp-vti,version.texi,automake.info} || die
|
touch doc/{stamp-vti,version.texi,automake.info} || die
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -76,8 +78,8 @@ src_configure() {
|
|||||||
default
|
default
|
||||||
}
|
}
|
||||||
|
|
||||||
# slot the info pages. do this w/out munging the source so we don't have
|
# Slot the info pages. Do this w/out munging the source so we don't have
|
||||||
# to depend on texinfo to regen things. #464146 (among others)
|
# to depend on texinfo to regen things. bug #464146 (among others)
|
||||||
slot_info_pages() {
|
slot_info_pages() {
|
||||||
pushd "${ED}"/usr/share/info >/dev/null || die
|
pushd "${ED}"/usr/share/info >/dev/null || die
|
||||||
rm -f dir
|
rm -f dir
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{8,9,10} )
|
PYTHON_COMPAT=( python3_{8..11} )
|
||||||
|
|
||||||
inherit python-any-r1
|
inherit python-any-r1
|
||||||
|
|
||||||
@ -23,6 +23,7 @@ else
|
|||||||
# Alpha/beta releases are not distributed on the usual mirrors.
|
# Alpha/beta releases are not distributed on the usual mirrors.
|
||||||
SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
|
SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
S="${WORKDIR}/${MY_P}"
|
S="${WORKDIR}/${MY_P}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -35,7 +36,7 @@ SLOT="${PV:0:4}"
|
|||||||
IUSE="test"
|
IUSE="test"
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
RDEPEND="dev-lang/perl
|
RDEPEND=">=dev-lang/perl-5.6
|
||||||
>=sys-devel/automake-wrapper-11
|
>=sys-devel/automake-wrapper-11
|
||||||
>=sys-devel/autoconf-2.69:*
|
>=sys-devel/autoconf-2.69:*
|
||||||
sys-devel/gnuconfig"
|
sys-devel/gnuconfig"
|
||||||
@ -46,11 +47,6 @@ BDEPEND="
|
|||||||
test? ( ${PYTHON_DEPS} )
|
test? ( ${PYTHON_DEPS} )
|
||||||
"
|
"
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/automake-1.16.2-py3-compile.patch
|
|
||||||
)
|
|
||||||
# All patches have been submitted upstream.
|
|
||||||
|
|
||||||
pkg_setup() {
|
pkg_setup() {
|
||||||
# Avoid python-any-r1_pkg_setup
|
# Avoid python-any-r1_pkg_setup
|
||||||
:
|
:
|
||||||
@ -58,14 +54,15 @@ pkg_setup() {
|
|||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
default
|
default
|
||||||
|
|
||||||
export WANT_AUTOCONF=2.5
|
export WANT_AUTOCONF=2.5
|
||||||
# Don't try wrapping the autotools this thing runs as it tends
|
# Don't try wrapping the autotools - this thing runs as it tends
|
||||||
# to be a bit esoteric, and the script does `set -e` itself.
|
# to be a bit esoteric, and the script does `set -e` itself.
|
||||||
./bootstrap || die
|
./bootstrap || die
|
||||||
sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
|
sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
|
||||||
|
|
||||||
# Bug 628912
|
# bug #628912
|
||||||
if ! has_version sys-apps/texinfo ; then
|
if ! has_version -b sys-apps/texinfo ; then
|
||||||
touch doc/{stamp-vti,version.texi,automake.info} || die
|
touch doc/{stamp-vti,version.texi,automake.info} || die
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -75,8 +72,8 @@ src_configure() {
|
|||||||
default
|
default
|
||||||
}
|
}
|
||||||
|
|
||||||
# slot the info pages. do this w/out munging the source so we don't have
|
# Slot the info pages. Do this w/out munging the source so we don't have
|
||||||
# to depend on texinfo to regen things. #464146 (among others)
|
# to depend on texinfo to regen things. bug #464146 (among others)
|
||||||
slot_info_pages() {
|
slot_info_pages() {
|
||||||
pushd "${ED}"/usr/share/info >/dev/null || die
|
pushd "${ED}"/usr/share/info >/dev/null || die
|
||||||
rm -f dir
|
rm -f dir
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI="6"
|
EAPI=7
|
||||||
|
|
||||||
inherit flag-o-matic toolchain-funcs
|
inherit flag-o-matic toolchain-funcs
|
||||||
|
|
||||||
@ -9,33 +9,29 @@ DESCRIPTION="Handy console-based calculator utility"
|
|||||||
HOMEPAGE="https://www.gnu.org/software/bc/bc.html"
|
HOMEPAGE="https://www.gnu.org/software/bc/bc.html"
|
||||||
SRC_URI="mirror://gnu/bc/${P}.tar.gz"
|
SRC_URI="mirror://gnu/bc/${P}.tar.gz"
|
||||||
|
|
||||||
LICENSE="GPL-2 LGPL-2.1"
|
LICENSE="GPL-3+"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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"
|
||||||
IUSE="libedit readline static"
|
IUSE="libedit readline static"
|
||||||
|
|
||||||
RDEPEND="
|
RDEPEND="
|
||||||
!readline? ( libedit? ( dev-libs/libedit:= ) )
|
!readline? ( libedit? ( dev-libs/libedit:= ) )
|
||||||
readline? (
|
readline? (
|
||||||
>=sys-libs/readline-4.1:0=
|
sys-libs/readline:=
|
||||||
>=sys-libs/ncurses-5.2:=
|
sys-libs/ncurses:=
|
||||||
)
|
)"
|
||||||
"
|
DEPEND="${RDEPEND}"
|
||||||
DEPEND="
|
BDEPEND="
|
||||||
${RDEPEND}
|
|
||||||
sys-devel/flex
|
sys-devel/flex
|
||||||
virtual/yacc
|
virtual/yacc"
|
||||||
"
|
|
||||||
|
|
||||||
PATCHES=(
|
PATCHES=( "${FILESDIR}"/${PN}-1.07.1-no-ed-its-sed.patch )
|
||||||
"${FILESDIR}/${PN}-1.07.1-no-ed-its-sed.patch"
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
default
|
default
|
||||||
|
|
||||||
# Avoid bad build tool usage when cross-compiling. #627126
|
# Avoid bad build tool usage when cross-compiling. Bug #627126
|
||||||
tc-is-cross-compiler && eapply "${FILESDIR}/${PN}-1.07.1-use-system-bc.patch"
|
tc-is-cross-compiler && eapply "${FILESDIR}"/${PN}-1.07.1-use-system-bc.patch
|
||||||
}
|
}
|
||||||
|
|
||||||
src_configure() {
|
src_configure() {
|
||||||
@ -52,8 +48,8 @@ src_configure() {
|
|||||||
econf "${myconf[@]}"
|
econf "${myconf[@]}"
|
||||||
|
|
||||||
# Do not regen docs -- configure produces a small fragment that includes
|
# Do not regen docs -- configure produces a small fragment that includes
|
||||||
# the version info which causes all pages to regen (newer file). #554774
|
# the version info which causes all pages to regen (newer file). Bug #554774
|
||||||
touch -r doc doc/*
|
touch -r doc doc/* || die
|
||||||
}
|
}
|
||||||
|
|
||||||
src_compile() {
|
src_compile() {
|
@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]]; then
|
|||||||
inherit git-r3
|
inherit git-r3
|
||||||
else
|
else
|
||||||
SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz"
|
SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="Utility to change the binutils version being used"
|
DESCRIPTION="Utility to change the binutils version being used"
|
||||||
|
@ -8,5 +8,10 @@ DIST binutils-2.35.2-patches-1.tar.xz 11836 BLAKE2B 0141349c9618992d1ab1e0309f7e
|
|||||||
DIST binutils-2.35.2.tar.xz 22056908 BLAKE2B 9c392e0db2b482442f9476f30bd80cf2796321cbf7be79cf21af7bef167b6074c4ae009dcf9b438d2f2f4a23381c935176b2cfa85de1a526ab46e0fd844a7ca5 SHA512 9974ede5978d32e0d68fef23da48fa00bd06b0bff7ec45b00ca075c126d6bbe0cf2defc03ecc3f17bc6cc85b64271a13009c4049d7ba17de26e84e3a6e2c0348
|
DIST binutils-2.35.2.tar.xz 22056908 BLAKE2B 9c392e0db2b482442f9476f30bd80cf2796321cbf7be79cf21af7bef167b6074c4ae009dcf9b438d2f2f4a23381c935176b2cfa85de1a526ab46e0fd844a7ca5 SHA512 9974ede5978d32e0d68fef23da48fa00bd06b0bff7ec45b00ca075c126d6bbe0cf2defc03ecc3f17bc6cc85b64271a13009c4049d7ba17de26e84e3a6e2c0348
|
||||||
DIST binutils-2.36.1-patches-5.tar.xz 44388 BLAKE2B 1dadb012fe35ec5fb0c5a15d348ab535bc5e3765375c97a3768c6b9f7126e0fda15d35163c9f9c33a4be98662dd120d7c1b21930a20c18dbb5345f56ecd9ecc1 SHA512 a2ce3388f1f1a77ff865481ff4b625121fd55f5234fed0a885312744f2f9c504717de1499b68252c6de64fa45866db7692df91c5838b43fbeb178938811cbe84
|
DIST binutils-2.36.1-patches-5.tar.xz 44388 BLAKE2B 1dadb012fe35ec5fb0c5a15d348ab535bc5e3765375c97a3768c6b9f7126e0fda15d35163c9f9c33a4be98662dd120d7c1b21930a20c18dbb5345f56ecd9ecc1 SHA512 a2ce3388f1f1a77ff865481ff4b625121fd55f5234fed0a885312744f2f9c504717de1499b68252c6de64fa45866db7692df91c5838b43fbeb178938811cbe84
|
||||||
DIST binutils-2.36.1.tar.xz 22772248 BLAKE2B 03fbfbedd6dba2beaa836b1ed254eddd7a54a163d3061fd93edd2b9591cae24ba049b26658c524b5ccecc2f22d431dfa168218d2531aa356945c994fbbe896fa SHA512 cc24590bcead10b90763386b6f96bb027d7594c659c2d95174a6352e8b98465a50ec3e4088d0da038428abe059bbc4ae5f37b269f31a40fc048072c8a234f4e9
|
DIST binutils-2.36.1.tar.xz 22772248 BLAKE2B 03fbfbedd6dba2beaa836b1ed254eddd7a54a163d3061fd93edd2b9591cae24ba049b26658c524b5ccecc2f22d431dfa168218d2531aa356945c994fbbe896fa SHA512 cc24590bcead10b90763386b6f96bb027d7594c659c2d95174a6352e8b98465a50ec3e4088d0da038428abe059bbc4ae5f37b269f31a40fc048072c8a234f4e9
|
||||||
DIST binutils-2.37_p1-patches-0.tar.xz 1392 BLAKE2B 128930a381022fea5d1fcb0695953e8dada2513b088b8540fe08d4e0da93ec18b6bf9c78acad6ec5a8982ae2c115d143462ef0bb7bfd63cfeb06c10ad472c2f8 SHA512 44666821f96349e96685ffcfd53a80a94659e38fc63eeeb980d0eed13aab03ae3e2d5059b4932cd9018f2f7698cdb5e15b443d60c01b2bd1385eeb0c698e0e24
|
DIST binutils-2.37_p1-patches-2.tar.xz 31956 BLAKE2B 39c48628d0e2d7f3a8cf11be391b51dc64c7a534a3e64950fd992907c34fa36bebdf95cc5a184dd5b35e134e0c20376b5883abbf96ae57403c55377e615a6790 SHA512 c927aafa8c87e3b68ad28da5a17edf5647591ec26feeb56c743bc6637ffb10832b50ec6fd8442e80e40628b624e31b2f0f0b5f1193e77dc7e5442df0cb8cc8f1
|
||||||
DIST binutils-2.37_p1.tar.xz 22992196 BLAKE2B a8aa0f386d03a5b1466166ac7c40989c228351ccf0949a9b462b4d4615d70ab7e1a45351299140a42baf39c317b8007733c253eb547ee1dfadb612addde11621 SHA512 46c297ec2a7a5b81d1c6e3f16486a6dc2860a07520fe2dd8871d1eb5160065bbe2cc6b0415d5352bf12284133e5817a4e429e6077182d615e969bd1a8f52ed28
|
DIST binutils-2.37_p1.tar.xz 22992196 BLAKE2B a8aa0f386d03a5b1466166ac7c40989c228351ccf0949a9b462b4d4615d70ab7e1a45351299140a42baf39c317b8007733c253eb547ee1dfadb612addde11621 SHA512 46c297ec2a7a5b81d1c6e3f16486a6dc2860a07520fe2dd8871d1eb5160065bbe2cc6b0415d5352bf12284133e5817a4e429e6077182d615e969bd1a8f52ed28
|
||||||
|
DIST binutils-2.38-patches-3.tar.xz 189068 BLAKE2B 5b14c90ab7dba253e92ad57b3a702fcbf48739dd0121ce8f739d88331da820ce44c35e16ac4bee394525c3a46bce980e9e1bbf4cbc9ce8a14fc324bc8fa059e7 SHA512 099266a8ef4272fd7f7552071e1892d114ed564a38b700df32e058ed691c6bfcd6f2454f649461f9c36594ea819a35d1e4cd2418609a2407be2a4f8885e500e3
|
||||||
|
DIST binutils-2.38-patches-4.tar.xz 193852 BLAKE2B 5a83e20008e58464ed563a6817a367e50684c59d08c47345cc546054269c42463d1651441720f865851e4e182e917df1a095c68e64226e0351b64e975d524096 SHA512 6657e547bb02898632cc45a8f1894be098aa7472b6725b65f95393e621abb127e468b4e50310720bf03f7e8d0a68bc2c47af76fc43aaa8f32b2e4a149c0c6290
|
||||||
|
DIST binutils-2.38.tar.xz 23651408 BLAKE2B 19ede396ec97b88e632aded2f69f4684cc5053109e06c3c4a1934944e3f0ceaa9e4a2604528a440189771f778cb5d75edd510163970eeea31afba87fa256feba SHA512 8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d
|
||||||
|
DIST binutils-2.39-patches-3.tar.xz 57332 BLAKE2B 08bdcd35afb6310c5f61e8a93f60c624ff461a612d8b473b2cfc1d8eb94eedb311af0b39b5f8ac425f3676d8e1addd13a4b223983de2f6d579e50daec08d3881 SHA512 f8a1a908866637a39a3ad55d47304f3320ab663d299d8d231a873008a50bb2a09c89a2482394c017a2a73c2cfc48ed944e99b422fd5db19f829e45ff071bb659
|
||||||
|
DIST binutils-2.39.tar.xz 25167756 BLAKE2B ac6a5296c6586d53eaadcbffc5c399a6d79edf72450b9bb8b3525ce525129cef3d2eb90c85ef3bb3270b5a03b0e1ffb8f0b705f028158726f9777ebb8685066f SHA512 68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs
|
inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
|
||||||
|
|
||||||
DESCRIPTION="Tools necessary to build programs"
|
DESCRIPTION="Tools necessary to build programs"
|
||||||
HOMEPAGE="https://sourceware.org/binutils/"
|
HOMEPAGE="https://sourceware.org/binutils/"
|
||||||
@ -97,7 +97,7 @@ src_unpack() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
if [[ ! -z ${PATCH_VER} ]] ; then
|
if [[ -n ${PATCH_VER} ]] ; then
|
||||||
# Use upstream patch to enable development mode
|
# Use upstream patch to enable development mode
|
||||||
rm -v "${WORKDIR}/patch"/0000-Gentoo-Git-is-development.patch || die
|
rm -v "${WORKDIR}/patch"/0000-Gentoo-Git-is-development.patch || die
|
||||||
|
|
||||||
@ -105,13 +105,6 @@ src_prepare() {
|
|||||||
eapply "${WORKDIR}/patch"/*.patch
|
eapply "${WORKDIR}/patch"/*.patch
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# This check should probably go somewhere else, like pkg_pretend.
|
|
||||||
if [[ ${CTARGET} == *-uclibc* ]] ; then
|
|
||||||
if grep -qs 'linux-gnu' "${S}"/ltconfig ; then
|
|
||||||
die "sorry, but this binutils doesn't yet support uClibc :("
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Make sure our explicit libdir paths don't get clobbered. #562460
|
# Make sure our explicit libdir paths don't get clobbered. #562460
|
||||||
sed -i \
|
sed -i \
|
||||||
-e 's:@bfdlibdir@:@libdir@:g' \
|
-e 's:@bfdlibdir@:@libdir@:g' \
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs
|
inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
|
||||||
|
|
||||||
DESCRIPTION="Tools necessary to build programs"
|
DESCRIPTION="Tools necessary to build programs"
|
||||||
HOMEPAGE="https://sourceware.org/binutils/"
|
HOMEPAGE="https://sourceware.org/binutils/"
|
||||||
@ -93,18 +93,11 @@ src_unpack() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
if [[ ! -z ${PATCH_VER} ]] ; then
|
if [[ -n ${PATCH_VER} ]] ; then
|
||||||
einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}"
|
einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}"
|
||||||
eapply "${WORKDIR}/patch"/*.patch
|
eapply "${WORKDIR}/patch"/*.patch
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# This check should probably go somewhere else, like pkg_pretend.
|
|
||||||
if [[ ${CTARGET} == *-uclibc* ]] ; then
|
|
||||||
if grep -qs 'linux-gnu' "${S}"/ltconfig ; then
|
|
||||||
die "sorry, but this binutils doesn't yet support uClibc :("
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Make sure our explicit libdir paths don't get clobbered. #562460
|
# Make sure our explicit libdir paths don't get clobbered. #562460
|
||||||
sed -i \
|
sed -i \
|
||||||
-e 's:@bfdlibdir@:@libdir@:g' \
|
-e 's:@bfdlibdir@:@libdir@:g' \
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs
|
inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
|
||||||
|
|
||||||
DESCRIPTION="Tools necessary to build programs"
|
DESCRIPTION="Tools necessary to build programs"
|
||||||
HOMEPAGE="https://sourceware.org/binutils/"
|
HOMEPAGE="https://sourceware.org/binutils/"
|
||||||
@ -90,18 +90,11 @@ src_unpack() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
if [[ ! -z ${PATCH_VER} ]] ; then
|
if [[ -n ${PATCH_VER} ]] ; then
|
||||||
einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}"
|
einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}"
|
||||||
eapply "${WORKDIR}/patch"/*.patch
|
eapply "${WORKDIR}/patch"/*.patch
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# This check should probably go somewhere else, like pkg_pretend.
|
|
||||||
if [[ ${CTARGET} == *-uclibc* ]] ; then
|
|
||||||
if grep -qs 'linux-gnu' "${S}"/ltconfig ; then
|
|
||||||
die "sorry, but this binutils doesn't yet support uClibc :("
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Make sure our explicit libdir paths don't get clobbered. #562460
|
# Make sure our explicit libdir paths don't get clobbered. #562460
|
||||||
sed -i \
|
sed -i \
|
||||||
-e 's:@bfdlibdir@:@libdir@:g' \
|
-e 's:@bfdlibdir@:@libdir@:g' \
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs
|
inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
|
||||||
|
|
||||||
DESCRIPTION="Tools necessary to build programs"
|
DESCRIPTION="Tools necessary to build programs"
|
||||||
HOMEPAGE="https://sourceware.org/binutils/"
|
HOMEPAGE="https://sourceware.org/binutils/"
|
||||||
@ -104,7 +104,7 @@ src_prepare() {
|
|||||||
patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
|
patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -z ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
|
if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
|
||||||
if ! use vanilla; then
|
if ! use vanilla; then
|
||||||
einfo "Applying binutils patchset ${patchsetname}"
|
einfo "Applying binutils patchset ${patchsetname}"
|
||||||
eapply "${WORKDIR}/patch"
|
eapply "${WORKDIR}/patch"
|
||||||
@ -112,13 +112,6 @@ src_prepare() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# This check should probably go somewhere else, like pkg_pretend.
|
|
||||||
if [[ ${CTARGET} == *-uclibc* ]] ; then
|
|
||||||
if grep -qs 'linux-gnu' "${S}"/ltconfig ; then
|
|
||||||
die "sorry, but this binutils doesn't yet support uClibc :("
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Make sure our explicit libdir paths don't get clobbered. #562460
|
# Make sure our explicit libdir paths don't get clobbered. #562460
|
||||||
sed -i \
|
sed -i \
|
||||||
-e 's:@bfdlibdir@:@libdir@:g' \
|
-e 's:@bfdlibdir@:@libdir@:g' \
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs
|
inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
|
||||||
|
|
||||||
DESCRIPTION="Tools necessary to build programs"
|
DESCRIPTION="Tools necessary to build programs"
|
||||||
HOMEPAGE="https://sourceware.org/binutils/"
|
HOMEPAGE="https://sourceware.org/binutils/"
|
||||||
@ -99,7 +99,7 @@ src_prepare() {
|
|||||||
patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
|
patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -z ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
|
if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
|
||||||
if ! use vanilla; then
|
if ! use vanilla; then
|
||||||
einfo "Applying binutils patchset ${patchsetname}"
|
einfo "Applying binutils patchset ${patchsetname}"
|
||||||
eapply "${WORKDIR}/patch"
|
eapply "${WORKDIR}/patch"
|
||||||
@ -107,13 +107,6 @@ src_prepare() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# This check should probably go somewhere else, like pkg_pretend.
|
|
||||||
if [[ ${CTARGET} == *-uclibc* ]] ; then
|
|
||||||
if grep -qs 'linux-gnu' "${S}"/ltconfig ; then
|
|
||||||
die "sorry, but this binutils doesn't yet support uClibc :("
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Make sure our explicit libdir paths don't get clobbered. #562460
|
# Make sure our explicit libdir paths don't get clobbered. #562460
|
||||||
sed -i \
|
sed -i \
|
||||||
-e 's:@bfdlibdir@:@libdir@:g' \
|
-e 's:@bfdlibdir@:@libdir@:g' \
|
||||||
|
460
sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.37_p1-r2.ebuild
vendored
Normal file
460
sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.37_p1-r2.ebuild
vendored
Normal file
@ -0,0 +1,460 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
|
||||||
|
|
||||||
|
DESCRIPTION="Tools necessary to build programs"
|
||||||
|
HOMEPAGE="https://sourceware.org/binutils/"
|
||||||
|
LICENSE="GPL-3+"
|
||||||
|
IUSE="cet default-gold doc +gold multitarget +nls pgo +plugins static-libs test vanilla"
|
||||||
|
REQUIRED_USE="default-gold? ( gold )"
|
||||||
|
|
||||||
|
# Variables that can be set here (ignored for live ebuilds)
|
||||||
|
# PATCH_VER - the patchset version
|
||||||
|
# Default: empty, no patching
|
||||||
|
# PATCH_BINUTILS_VER - the binutils version in the patchset name
|
||||||
|
# - Default: PV
|
||||||
|
# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
|
||||||
|
# for the patchsets
|
||||||
|
|
||||||
|
PATCH_VER=2
|
||||||
|
PATCH_DEV=dilfridge
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999* ]]; then
|
||||||
|
inherit git-r3
|
||||||
|
SLOT=${PV}
|
||||||
|
else
|
||||||
|
PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
|
||||||
|
PATCH_DEV=${PATCH_DEV:-dilfridge}
|
||||||
|
SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz"
|
||||||
|
[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
|
||||||
|
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
|
||||||
|
SLOT=$(ver_cut 1-2)
|
||||||
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# The cross-compile logic
|
||||||
|
#
|
||||||
|
export CTARGET=${CTARGET:-${CHOST}}
|
||||||
|
if [[ ${CTARGET} == ${CHOST} ]] ; then
|
||||||
|
if [[ ${CATEGORY} == cross-* ]] ; then
|
||||||
|
export CTARGET=${CATEGORY#cross-}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
|
||||||
|
|
||||||
|
#
|
||||||
|
# The dependencies
|
||||||
|
#
|
||||||
|
RDEPEND="
|
||||||
|
>=sys-devel/binutils-config-3
|
||||||
|
sys-libs/zlib
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="
|
||||||
|
doc? ( sys-apps/texinfo )
|
||||||
|
test? (
|
||||||
|
dev-util/dejagnu
|
||||||
|
sys-devel/bc
|
||||||
|
)
|
||||||
|
nls? ( sys-devel/gettext )
|
||||||
|
sys-devel/flex
|
||||||
|
virtual/yacc
|
||||||
|
"
|
||||||
|
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
MY_BUILDDIR=${WORKDIR}/build
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
if [[ ${PV} == 9999* ]] ; then
|
||||||
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git"
|
||||||
|
EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
|
||||||
|
git-r3_src_unpack
|
||||||
|
mv patches-git/9999 patch || die
|
||||||
|
|
||||||
|
EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
|
||||||
|
S=${WORKDIR}/binutils
|
||||||
|
EGIT_CHECKOUT_DIR=${S}
|
||||||
|
git-r3_src_unpack
|
||||||
|
else
|
||||||
|
unpack ${P/-hppa64/}.tar.xz
|
||||||
|
|
||||||
|
cd "${WORKDIR}" || die
|
||||||
|
unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz
|
||||||
|
|
||||||
|
# _p patch versions are Gentoo specific tarballs ...
|
||||||
|
local dir=${P%_p?}
|
||||||
|
dir=${dir/-hppa64/}
|
||||||
|
|
||||||
|
S=${WORKDIR}/${dir}
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "${WORKDIR}" || die
|
||||||
|
mkdir -p "${MY_BUILDDIR}" || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
local patchsetname
|
||||||
|
if [[ ${PV} == 9999* ]] ; then
|
||||||
|
patchsetname="from git master"
|
||||||
|
else
|
||||||
|
patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
|
||||||
|
if ! use vanilla; then
|
||||||
|
einfo "Applying binutils patchset ${patchsetname}"
|
||||||
|
eapply "${WORKDIR}/patch"
|
||||||
|
einfo "Done."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Make sure our explicit libdir paths don't get clobbered. #562460
|
||||||
|
sed -i \
|
||||||
|
-e 's:@bfdlibdir@:@libdir@:g' \
|
||||||
|
-e 's:@bfdincludedir@:@includedir@:g' \
|
||||||
|
{bfd,opcodes}/Makefile.in || die
|
||||||
|
|
||||||
|
# Fix locale issues if possible #122216
|
||||||
|
if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then
|
||||||
|
einfo "Fixing misc issues in configure files"
|
||||||
|
for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do
|
||||||
|
ebegin " Updating ${f/${S}\/}"
|
||||||
|
patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \
|
||||||
|
|| eerror "Please file a bug about this"
|
||||||
|
eend $?
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fix conflicts with newer glibc #272594
|
||||||
|
if [[ -e libiberty/testsuite/test-demangle.c ]] ; then
|
||||||
|
sed -i 's:\<getline\>:get_line:g' libiberty/testsuite/test-demangle.c
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Apply things from PATCHES and user dirs
|
||||||
|
default
|
||||||
|
|
||||||
|
# Run misc portage update scripts
|
||||||
|
gnuconfig_update
|
||||||
|
elibtoolize --portage --no-uclibc
|
||||||
|
}
|
||||||
|
|
||||||
|
toolchain-binutils_bugurl() {
|
||||||
|
printf "https://bugs.gentoo.org/"
|
||||||
|
}
|
||||||
|
toolchain-binutils_pkgversion() {
|
||||||
|
printf "Gentoo ${PV}"
|
||||||
|
[[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
# Setup some paths
|
||||||
|
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
|
||||||
|
INCPATH=${LIBPATH}/include
|
||||||
|
DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
|
||||||
|
if is_cross ; then
|
||||||
|
TOOLPATH=/usr/${CHOST}/${CTARGET}
|
||||||
|
else
|
||||||
|
TOOLPATH=/usr/${CTARGET}
|
||||||
|
fi
|
||||||
|
BINPATH=${TOOLPATH}/binutils-bin/${PV}
|
||||||
|
|
||||||
|
# Make sure we filter $LINGUAS so that only ones that
|
||||||
|
# actually work make it through #42033
|
||||||
|
strip-linguas -u */po
|
||||||
|
|
||||||
|
# Keep things sane
|
||||||
|
strip-flags
|
||||||
|
|
||||||
|
use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
|
||||||
|
|
||||||
|
local x
|
||||||
|
echo
|
||||||
|
for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do
|
||||||
|
einfo "$(printf '%10s' ${x}:) ${!x}"
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
|
||||||
|
cd "${MY_BUILDDIR}"
|
||||||
|
local myconf=()
|
||||||
|
|
||||||
|
if use plugins ; then
|
||||||
|
myconf+=( --enable-plugins )
|
||||||
|
fi
|
||||||
|
# enable gold (installed as ld.gold) and ld's plugin architecture
|
||||||
|
if use gold ; then
|
||||||
|
myconf+=( --enable-gold )
|
||||||
|
if use default-gold; then
|
||||||
|
myconf+=( --enable-gold=default )
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use nls ; then
|
||||||
|
myconf+=( --without-included-gettext )
|
||||||
|
else
|
||||||
|
myconf+=( --disable-nls )
|
||||||
|
fi
|
||||||
|
|
||||||
|
myconf+=( --with-system-zlib )
|
||||||
|
|
||||||
|
# For bi-arch systems, enable a 64bit bfd. This matches
|
||||||
|
# the bi-arch logic in toolchain.eclass. #446946
|
||||||
|
# We used to do it for everyone, but it's slow on 32bit arches. #438522
|
||||||
|
case $(tc-arch) in
|
||||||
|
ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd )
|
||||||
|
|
||||||
|
[[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} )
|
||||||
|
|
||||||
|
is_cross && myconf+=(
|
||||||
|
--with-sysroot="${EPREFIX}"/usr/${CTARGET}
|
||||||
|
--enable-poison-system-directories
|
||||||
|
)
|
||||||
|
|
||||||
|
# glibc-2.3.6 lacks support for this ... so rather than force glibc-2.5+
|
||||||
|
# on everyone in alpha (for now), we'll just enable it when possible
|
||||||
|
has_version ">=${CATEGORY}/glibc-2.5" && myconf+=( --enable-secureplt )
|
||||||
|
has_version ">=sys-libs/glibc-2.5" && myconf+=( --enable-secureplt )
|
||||||
|
|
||||||
|
# mips can't do hash-style=gnu ...
|
||||||
|
if [[ $(tc-arch) != mips ]] ; then
|
||||||
|
myconf+=( --enable-default-hash-style=gnu )
|
||||||
|
fi
|
||||||
|
|
||||||
|
myconf+=(
|
||||||
|
--prefix="${EPREFIX}"/usr
|
||||||
|
--host=${CHOST}
|
||||||
|
--target=${CTARGET}
|
||||||
|
--datadir="${EPREFIX}"${DATAPATH}
|
||||||
|
--datarootdir="${EPREFIX}"${DATAPATH}
|
||||||
|
--infodir="${EPREFIX}"${DATAPATH}/info
|
||||||
|
--mandir="${EPREFIX}"${DATAPATH}/man
|
||||||
|
--bindir="${EPREFIX}"${BINPATH}
|
||||||
|
--libdir="${EPREFIX}"${LIBPATH}
|
||||||
|
--libexecdir="${EPREFIX}"${LIBPATH}
|
||||||
|
--includedir="${EPREFIX}"${INCPATH}
|
||||||
|
--enable-obsolete
|
||||||
|
--enable-shared
|
||||||
|
--enable-threads
|
||||||
|
# Newer versions (>=2.27) offer a configure flag now.
|
||||||
|
--enable-relro
|
||||||
|
# Newer versions (>=2.24) make this an explicit option. #497268
|
||||||
|
--enable-install-libiberty
|
||||||
|
# Available from 2.35 on
|
||||||
|
--enable-textrel-check=warning
|
||||||
|
# Works better than vapier's patch... #808787
|
||||||
|
--enable-new-dtags
|
||||||
|
--disable-werror
|
||||||
|
--with-bugurl="$(toolchain-binutils_bugurl)"
|
||||||
|
--with-pkgversion="$(toolchain-binutils_pkgversion)"
|
||||||
|
$(use_enable static-libs static)
|
||||||
|
${EXTRA_ECONF}
|
||||||
|
# Disable modules that are in a combined binutils/gdb tree. #490566
|
||||||
|
--disable-{gdb,libdecnumber,readline,sim}
|
||||||
|
# Strip out broken static link flags.
|
||||||
|
# https://gcc.gnu.org/PR56750
|
||||||
|
--without-stage1-ldflags
|
||||||
|
# Change SONAME to avoid conflict across
|
||||||
|
# {native,cross}/binutils, binutils-libs. #666100
|
||||||
|
--with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)
|
||||||
|
|
||||||
|
# avoid automagic dependency on (currently prefix) systems
|
||||||
|
# systems with debuginfod library, bug #754753
|
||||||
|
--without-debuginfod
|
||||||
|
|
||||||
|
# Allow user to opt into CET for host libraries.
|
||||||
|
# Ideally we would like automagic-or-disabled here.
|
||||||
|
# But the check does not quite work on i686: bug #760926.
|
||||||
|
$(use_enable cet)
|
||||||
|
)
|
||||||
|
|
||||||
|
if ! is_cross ; then
|
||||||
|
myconf+=( $(use_enable pgo pgo-build lto) )
|
||||||
|
|
||||||
|
if use pgo ; then
|
||||||
|
export BUILD_CFLAGS="${CFLAGS}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ./configure "${myconf[@]}"
|
||||||
|
"${S}"/configure "${myconf[@]}" || die
|
||||||
|
|
||||||
|
# Prevent makeinfo from running if doc is unset.
|
||||||
|
if ! use doc ; then
|
||||||
|
sed -i \
|
||||||
|
-e '/^MAKEINFO/s:=.*:= true:' \
|
||||||
|
Makefile || die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
cd "${MY_BUILDDIR}"
|
||||||
|
# see Note [tooldir hack for ldscripts]
|
||||||
|
emake tooldir="${EPREFIX}${TOOLPATH}" all
|
||||||
|
|
||||||
|
# only build info pages if the user wants them
|
||||||
|
if use doc ; then
|
||||||
|
emake info
|
||||||
|
fi
|
||||||
|
|
||||||
|
# we nuke the manpages when we're left with junk
|
||||||
|
# (like when we bootstrap, no perl -> no manpages)
|
||||||
|
find . -name '*.1' -a -size 0 -delete
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
cd "${MY_BUILDDIR}"
|
||||||
|
|
||||||
|
# bug 637066
|
||||||
|
filter-flags -Wall -Wreturn-type
|
||||||
|
|
||||||
|
emake -k check
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local x d
|
||||||
|
|
||||||
|
cd "${MY_BUILDDIR}"
|
||||||
|
# see Note [tooldir hack for ldscripts]
|
||||||
|
emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install
|
||||||
|
rm -rf "${ED}"/${LIBPATH}/bin
|
||||||
|
use static-libs || find "${ED}" -name '*.la' -delete
|
||||||
|
|
||||||
|
# Newer versions of binutils get fancy with ${LIBPATH} #171905
|
||||||
|
cd "${ED}"/${LIBPATH}
|
||||||
|
for d in ../* ; do
|
||||||
|
[[ ${d} == ../${PV} ]] && continue
|
||||||
|
mv ${d}/* . || die
|
||||||
|
rmdir ${d} || die
|
||||||
|
done
|
||||||
|
|
||||||
|
# Now we collect everything intp the proper SLOT-ed dirs
|
||||||
|
# When something is built to cross-compile, it installs into
|
||||||
|
# /usr/$CHOST/ by default ... we have to 'fix' that :)
|
||||||
|
if is_cross ; then
|
||||||
|
cd "${ED}"/${BINPATH}
|
||||||
|
for x in * ; do
|
||||||
|
mv ${x} ${x/${CTARGET}-}
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then
|
||||||
|
mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH}
|
||||||
|
mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/
|
||||||
|
rm -r "${ED}"/usr/${CHOST}/{include,lib}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
insinto ${INCPATH}
|
||||||
|
local libiberty_headers=(
|
||||||
|
# Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir.
|
||||||
|
demangle.h
|
||||||
|
dyn-string.h
|
||||||
|
fibheap.h
|
||||||
|
hashtab.h
|
||||||
|
libiberty.h
|
||||||
|
objalloc.h
|
||||||
|
splay-tree.h
|
||||||
|
)
|
||||||
|
doins "${libiberty_headers[@]/#/${S}/include/}"
|
||||||
|
if [[ -d ${ED}/${LIBPATH}/lib ]] ; then
|
||||||
|
mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/
|
||||||
|
rm -r "${ED}"/${LIBPATH}/lib
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Generate an env.d entry for this binutils
|
||||||
|
insinto /etc/env.d/binutils
|
||||||
|
cat <<-EOF > "${T}"/env.d
|
||||||
|
TARGET="${CTARGET}"
|
||||||
|
VER="${PV}"
|
||||||
|
LIBPATH="${EPREFIX}${LIBPATH}"
|
||||||
|
EOF
|
||||||
|
newins "${T}"/env.d ${CTARGET}-${PV}
|
||||||
|
|
||||||
|
# Handle documentation
|
||||||
|
if ! is_cross ; then
|
||||||
|
cd "${S}"
|
||||||
|
dodoc README
|
||||||
|
docinto bfd
|
||||||
|
dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO
|
||||||
|
docinto binutils
|
||||||
|
dodoc binutils/ChangeLog binutils/NEWS binutils/README
|
||||||
|
docinto gas
|
||||||
|
dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README*
|
||||||
|
docinto gprof
|
||||||
|
dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl
|
||||||
|
docinto ld
|
||||||
|
dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
|
||||||
|
docinto libiberty
|
||||||
|
dodoc libiberty/ChangeLog* libiberty/README
|
||||||
|
docinto opcodes
|
||||||
|
dodoc opcodes/ChangeLog*
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove shared info pages
|
||||||
|
rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info}
|
||||||
|
|
||||||
|
# Trim all empty dirs
|
||||||
|
find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
# Make sure this ${CTARGET} has a binutils version selected
|
||||||
|
[[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
|
||||||
|
binutils-config ${CTARGET}-${PV}
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
local current_profile=$(binutils-config -c ${CTARGET})
|
||||||
|
|
||||||
|
# If no other versions exist, then uninstall for this
|
||||||
|
# target ... otherwise, switch to the newest version
|
||||||
|
# Note: only do this if this version is unmerged. We
|
||||||
|
# rerun binutils-config if this is a remerge, as
|
||||||
|
# we want the mtimes on the symlinks updated (if
|
||||||
|
# it is the same as the current selected profile)
|
||||||
|
if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then
|
||||||
|
local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}')
|
||||||
|
choice=${choice//$'\n'/ }
|
||||||
|
choice=${choice/* }
|
||||||
|
if [[ -z ${choice} ]] ; then
|
||||||
|
binutils-config -u ${CTARGET}
|
||||||
|
else
|
||||||
|
binutils-config ${choice}
|
||||||
|
fi
|
||||||
|
elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
|
||||||
|
binutils-config ${CTARGET}-${PV}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Note [slotting support]
|
||||||
|
# -----------------------
|
||||||
|
# Gentoo's layout for binutils files is non-standard as Gentoo
|
||||||
|
# supports slotted installation for binutils. Many tools
|
||||||
|
# still expect binutils to reside in known locations.
|
||||||
|
# binutils-config package restores symlinks into known locations,
|
||||||
|
# like:
|
||||||
|
# /usr/bin/${CTARGET}-<tool>
|
||||||
|
# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips
|
||||||
|
# /usr/include/
|
||||||
|
#
|
||||||
|
# Note [tooldir hack for ldscripts]
|
||||||
|
# ---------------------------------
|
||||||
|
# Build system does not allow ./configure to tweak every location
|
||||||
|
# we need for slotting binutils hence all the shuffling in
|
||||||
|
# src_install(). This note is about SCRIPTDIR define handling.
|
||||||
|
#
|
||||||
|
# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value
|
||||||
|
# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib'
|
||||||
|
# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time.
|
||||||
|
# Thus we can't just move files around after compilation finished.
|
||||||
|
#
|
||||||
|
# Our goal is the following:
|
||||||
|
# - at build-time set scriptdir to point to symlinked location:
|
||||||
|
# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case)
|
||||||
|
# - at install-time set scriptdir to point to slotted location:
|
||||||
|
# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV}
|
@ -1,14 +1,14 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs
|
inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
|
||||||
|
|
||||||
DESCRIPTION="Tools necessary to build programs"
|
DESCRIPTION="Tools necessary to build programs"
|
||||||
HOMEPAGE="https://sourceware.org/binutils/"
|
HOMEPAGE="https://sourceware.org/binutils/"
|
||||||
LICENSE="GPL-3+"
|
LICENSE="GPL-3+"
|
||||||
IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test vanilla"
|
IUSE="cet default-gold doc +gold multitarget +nls pgo +plugins static-libs test vanilla"
|
||||||
REQUIRED_USE="default-gold? ( gold )"
|
REQUIRED_USE="default-gold? ( gold )"
|
||||||
|
|
||||||
# Variables that can be set here (ignored for live ebuilds)
|
# Variables that can be set here (ignored for live ebuilds)
|
||||||
@ -19,7 +19,7 @@ REQUIRED_USE="default-gold? ( gold )"
|
|||||||
# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
|
# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
|
||||||
# for the patchsets
|
# for the patchsets
|
||||||
|
|
||||||
PATCH_VER=0
|
PATCH_VER=3
|
||||||
PATCH_DEV=dilfridge
|
PATCH_DEV=dilfridge
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]]; then
|
if [[ ${PV} == 9999* ]]; then
|
||||||
@ -32,7 +32,6 @@ else
|
|||||||
[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
|
[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
|
||||||
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
|
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
|
||||||
SLOT=$(ver_cut 1-2)
|
SLOT=$(ver_cut 1-2)
|
||||||
# live ebuild
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -82,13 +81,16 @@ src_unpack() {
|
|||||||
EGIT_CHECKOUT_DIR=${S}
|
EGIT_CHECKOUT_DIR=${S}
|
||||||
git-r3_src_unpack
|
git-r3_src_unpack
|
||||||
else
|
else
|
||||||
unpack ${P}.tar.xz
|
unpack ${P/-hppa64/}.tar.xz
|
||||||
|
|
||||||
cd "${WORKDIR}" || die
|
cd "${WORKDIR}" || die
|
||||||
unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz
|
unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz
|
||||||
|
|
||||||
# _p patch versions are Gentoo specific tarballs ...
|
# _p patch versions are Gentoo specific tarballs ...
|
||||||
S=${WORKDIR}/${P%_p?}
|
local dir=${P%_p?}
|
||||||
|
dir=${dir/-hppa64/}
|
||||||
|
|
||||||
|
S=${WORKDIR}/${dir}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd "${WORKDIR}" || die
|
cd "${WORKDIR}" || die
|
||||||
@ -103,7 +105,7 @@ src_prepare() {
|
|||||||
patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
|
patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -z ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
|
if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
|
||||||
if ! use vanilla; then
|
if ! use vanilla; then
|
||||||
einfo "Applying binutils patchset ${patchsetname}"
|
einfo "Applying binutils patchset ${patchsetname}"
|
||||||
eapply "${WORKDIR}/patch"
|
eapply "${WORKDIR}/patch"
|
||||||
@ -111,13 +113,6 @@ src_prepare() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# This check should probably go somewhere else, like pkg_pretend.
|
|
||||||
if [[ ${CTARGET} == *-uclibc* ]] ; then
|
|
||||||
if grep -qs 'linux-gnu' "${S}"/ltconfig ; then
|
|
||||||
die "sorry, but this binutils doesn't yet support uClibc :("
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Make sure our explicit libdir paths don't get clobbered. #562460
|
# Make sure our explicit libdir paths don't get clobbered. #562460
|
||||||
sed -i \
|
sed -i \
|
||||||
-e 's:@bfdlibdir@:@libdir@:g' \
|
-e 's:@bfdlibdir@:@libdir@:g' \
|
||||||
@ -175,6 +170,8 @@ src_configure() {
|
|||||||
# Keep things sane
|
# Keep things sane
|
||||||
strip-flags
|
strip-flags
|
||||||
|
|
||||||
|
use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
|
||||||
|
|
||||||
local x
|
local x
|
||||||
echo
|
echo
|
||||||
for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do
|
for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do
|
||||||
@ -276,6 +273,15 @@ src_configure() {
|
|||||||
# But the check does not quite work on i686: bug #760926.
|
# But the check does not quite work on i686: bug #760926.
|
||||||
$(use_enable cet)
|
$(use_enable cet)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if ! is_cross ; then
|
||||||
|
myconf+=( $(use_enable pgo pgo-build lto) )
|
||||||
|
|
||||||
|
if use pgo ; then
|
||||||
|
export BUILD_CFLAGS="${CFLAGS}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo ./configure "${myconf[@]}"
|
echo ./configure "${myconf[@]}"
|
||||||
"${S}"/configure "${myconf[@]}" || die
|
"${S}"/configure "${myconf[@]}" || die
|
||||||
|
|
480
sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.38-r2.ebuild
vendored
Normal file
480
sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.38-r2.ebuild
vendored
Normal file
@ -0,0 +1,480 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
inherit elisp-common libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
|
||||||
|
|
||||||
|
DESCRIPTION="Tools necessary to build programs"
|
||||||
|
HOMEPAGE="https://sourceware.org/binutils/"
|
||||||
|
LICENSE="GPL-3+"
|
||||||
|
IUSE="cet default-gold doc emacs +gold multitarget +nls pgo +plugins static-libs test vanilla"
|
||||||
|
REQUIRED_USE="default-gold? ( gold )"
|
||||||
|
|
||||||
|
# Variables that can be set here (ignored for live ebuilds)
|
||||||
|
# PATCH_VER - the patchset version
|
||||||
|
# Default: empty, no patching
|
||||||
|
# PATCH_BINUTILS_VER - the binutils version in the patchset name
|
||||||
|
# - Default: PV
|
||||||
|
# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
|
||||||
|
# for the patchsets
|
||||||
|
|
||||||
|
PATCH_VER=4
|
||||||
|
PATCH_DEV=dilfridge
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999* ]]; then
|
||||||
|
inherit git-r3
|
||||||
|
SLOT=${PV}
|
||||||
|
else
|
||||||
|
PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
|
||||||
|
PATCH_DEV=${PATCH_DEV:-dilfridge}
|
||||||
|
SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz"
|
||||||
|
[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
|
||||||
|
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
|
||||||
|
SLOT=$(ver_cut 1-2)
|
||||||
|
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# The cross-compile logic
|
||||||
|
#
|
||||||
|
export CTARGET=${CTARGET:-${CHOST}}
|
||||||
|
if [[ ${CTARGET} == ${CHOST} ]] ; then
|
||||||
|
if [[ ${CATEGORY} == cross-* ]] ; then
|
||||||
|
export CTARGET=${CATEGORY#cross-}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
|
||||||
|
|
||||||
|
#
|
||||||
|
# The dependencies
|
||||||
|
#
|
||||||
|
RDEPEND="
|
||||||
|
>=sys-devel/binutils-config-3
|
||||||
|
sys-libs/zlib
|
||||||
|
emacs? ( >=app-editors/emacs-23.1:* )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="
|
||||||
|
doc? ( sys-apps/texinfo )
|
||||||
|
test? (
|
||||||
|
dev-util/dejagnu
|
||||||
|
sys-devel/bc
|
||||||
|
)
|
||||||
|
nls? ( sys-devel/gettext )
|
||||||
|
sys-devel/flex
|
||||||
|
virtual/yacc
|
||||||
|
"
|
||||||
|
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
MY_BUILDDIR=${WORKDIR}/build
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
if [[ ${PV} == 9999* ]] ; then
|
||||||
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git"
|
||||||
|
EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
|
||||||
|
git-r3_src_unpack
|
||||||
|
mv patches-git/9999 patch || die
|
||||||
|
|
||||||
|
EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
|
||||||
|
S=${WORKDIR}/binutils
|
||||||
|
EGIT_CHECKOUT_DIR=${S}
|
||||||
|
git-r3_src_unpack
|
||||||
|
else
|
||||||
|
unpack ${P/-hppa64/}.tar.xz
|
||||||
|
|
||||||
|
cd "${WORKDIR}" || die
|
||||||
|
unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz
|
||||||
|
|
||||||
|
# _p patch versions are Gentoo specific tarballs ...
|
||||||
|
local dir=${P%_p?}
|
||||||
|
dir=${dir/-hppa64/}
|
||||||
|
|
||||||
|
S=${WORKDIR}/${dir}
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "${WORKDIR}" || die
|
||||||
|
mkdir -p "${MY_BUILDDIR}" || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
local patchsetname
|
||||||
|
if [[ ${PV} == 9999* ]] ; then
|
||||||
|
patchsetname="from git master"
|
||||||
|
else
|
||||||
|
patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
|
||||||
|
if ! use vanilla; then
|
||||||
|
einfo "Applying binutils patchset ${patchsetname}"
|
||||||
|
eapply "${WORKDIR}/patch"
|
||||||
|
einfo "Done."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Make sure our explicit libdir paths don't get clobbered. #562460
|
||||||
|
sed -i \
|
||||||
|
-e 's:@bfdlibdir@:@libdir@:g' \
|
||||||
|
-e 's:@bfdincludedir@:@includedir@:g' \
|
||||||
|
{bfd,opcodes}/Makefile.in || die
|
||||||
|
|
||||||
|
# Fix locale issues if possible #122216
|
||||||
|
if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then
|
||||||
|
einfo "Fixing misc issues in configure files"
|
||||||
|
for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do
|
||||||
|
ebegin " Updating ${f/${S}\/}"
|
||||||
|
patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \
|
||||||
|
|| eerror "Please file a bug about this"
|
||||||
|
eend $?
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fix conflicts with newer glibc #272594
|
||||||
|
if [[ -e libiberty/testsuite/test-demangle.c ]] ; then
|
||||||
|
sed -i 's:\<getline\>:get_line:g' libiberty/testsuite/test-demangle.c
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Apply things from PATCHES and user dirs
|
||||||
|
default
|
||||||
|
|
||||||
|
# Run misc portage update scripts
|
||||||
|
gnuconfig_update
|
||||||
|
elibtoolize --portage --no-uclibc
|
||||||
|
}
|
||||||
|
|
||||||
|
toolchain-binutils_bugurl() {
|
||||||
|
printf "https://bugs.gentoo.org/"
|
||||||
|
}
|
||||||
|
toolchain-binutils_pkgversion() {
|
||||||
|
printf "Gentoo ${PV}"
|
||||||
|
[[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
# See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html
|
||||||
|
# Avoid really confusing logs from subconfigure spam, makes logs far
|
||||||
|
# more legible.
|
||||||
|
MAKEOPTS="--output-sync=line ${MAKEOPTS}"
|
||||||
|
|
||||||
|
# Setup some paths
|
||||||
|
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
|
||||||
|
INCPATH=${LIBPATH}/include
|
||||||
|
DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
|
||||||
|
if is_cross ; then
|
||||||
|
TOOLPATH=/usr/${CHOST}/${CTARGET}
|
||||||
|
else
|
||||||
|
TOOLPATH=/usr/${CTARGET}
|
||||||
|
fi
|
||||||
|
BINPATH=${TOOLPATH}/binutils-bin/${PV}
|
||||||
|
|
||||||
|
# Make sure we filter $LINGUAS so that only ones that
|
||||||
|
# actually work make it through #42033
|
||||||
|
strip-linguas -u */po
|
||||||
|
|
||||||
|
# Keep things sane
|
||||||
|
strip-flags
|
||||||
|
|
||||||
|
use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
|
||||||
|
|
||||||
|
local x
|
||||||
|
echo
|
||||||
|
for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do
|
||||||
|
einfo "$(printf '%10s' ${x}:) ${!x}"
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
|
||||||
|
cd "${MY_BUILDDIR}"
|
||||||
|
local myconf=()
|
||||||
|
|
||||||
|
if use plugins ; then
|
||||||
|
myconf+=( --enable-plugins )
|
||||||
|
fi
|
||||||
|
# enable gold (installed as ld.gold) and ld's plugin architecture
|
||||||
|
if use gold ; then
|
||||||
|
myconf+=( --enable-gold )
|
||||||
|
if use default-gold; then
|
||||||
|
myconf+=( --enable-gold=default )
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use nls ; then
|
||||||
|
myconf+=( --without-included-gettext )
|
||||||
|
else
|
||||||
|
myconf+=( --disable-nls )
|
||||||
|
fi
|
||||||
|
|
||||||
|
myconf+=( --with-system-zlib )
|
||||||
|
|
||||||
|
# For bi-arch systems, enable a 64bit bfd. This matches
|
||||||
|
# the bi-arch logic in toolchain.eclass. #446946
|
||||||
|
# We used to do it for everyone, but it's slow on 32bit arches. #438522
|
||||||
|
case $(tc-arch) in
|
||||||
|
ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd )
|
||||||
|
|
||||||
|
[[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} )
|
||||||
|
|
||||||
|
is_cross && myconf+=(
|
||||||
|
--with-sysroot="${EPREFIX}"/usr/${CTARGET}
|
||||||
|
--enable-poison-system-directories
|
||||||
|
)
|
||||||
|
|
||||||
|
# glibc-2.3.6 lacks support for this ... so rather than force glibc-2.5+
|
||||||
|
# on everyone in alpha (for now), we'll just enable it when possible
|
||||||
|
has_version ">=${CATEGORY}/glibc-2.5" && myconf+=( --enable-secureplt )
|
||||||
|
has_version ">=sys-libs/glibc-2.5" && myconf+=( --enable-secureplt )
|
||||||
|
|
||||||
|
# mips can't do hash-style=gnu ...
|
||||||
|
if [[ $(tc-arch) != mips ]] ; then
|
||||||
|
myconf+=( --enable-default-hash-style=gnu )
|
||||||
|
fi
|
||||||
|
|
||||||
|
myconf+=(
|
||||||
|
# (--disable-silent-rules should get passed automatically w/ econf which we use
|
||||||
|
# in >= 2.39, so can drop it then.)
|
||||||
|
--disable-silent-rules
|
||||||
|
--prefix="${EPREFIX}"/usr
|
||||||
|
--host=${CHOST}
|
||||||
|
--target=${CTARGET}
|
||||||
|
--datadir="${EPREFIX}"${DATAPATH}
|
||||||
|
--datarootdir="${EPREFIX}"${DATAPATH}
|
||||||
|
--infodir="${EPREFIX}"${DATAPATH}/info
|
||||||
|
--mandir="${EPREFIX}"${DATAPATH}/man
|
||||||
|
--bindir="${EPREFIX}"${BINPATH}
|
||||||
|
--libdir="${EPREFIX}"${LIBPATH}
|
||||||
|
--libexecdir="${EPREFIX}"${LIBPATH}
|
||||||
|
--includedir="${EPREFIX}"${INCPATH}
|
||||||
|
--enable-obsolete
|
||||||
|
--enable-shared
|
||||||
|
--enable-threads
|
||||||
|
# Newer versions (>=2.27) offer a configure flag now.
|
||||||
|
--enable-relro
|
||||||
|
# Newer versions (>=2.24) make this an explicit option. #497268
|
||||||
|
--enable-install-libiberty
|
||||||
|
# Available from 2.35 on
|
||||||
|
--enable-textrel-check=warning
|
||||||
|
# Works better than vapier's patch... #808787
|
||||||
|
--enable-new-dtags
|
||||||
|
--disable-werror
|
||||||
|
--with-bugurl="$(toolchain-binutils_bugurl)"
|
||||||
|
--with-pkgversion="$(toolchain-binutils_pkgversion)"
|
||||||
|
$(use_enable static-libs static)
|
||||||
|
${EXTRA_ECONF}
|
||||||
|
# Disable modules that are in a combined binutils/gdb tree. #490566
|
||||||
|
--disable-{gdb,libdecnumber,readline,sim}
|
||||||
|
# Strip out broken static link flags.
|
||||||
|
# https://gcc.gnu.org/PR56750
|
||||||
|
--without-stage1-ldflags
|
||||||
|
# Change SONAME to avoid conflict across
|
||||||
|
# {native,cross}/binutils, binutils-libs. #666100
|
||||||
|
--with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)
|
||||||
|
|
||||||
|
# avoid automagic dependency on (currently prefix) systems
|
||||||
|
# systems with debuginfod library, bug #754753
|
||||||
|
--without-debuginfod
|
||||||
|
|
||||||
|
# Allow user to opt into CET for host libraries.
|
||||||
|
# Ideally we would like automagic-or-disabled here.
|
||||||
|
# But the check does not quite work on i686: bug #760926.
|
||||||
|
$(use_enable cet)
|
||||||
|
)
|
||||||
|
|
||||||
|
if ! is_cross ; then
|
||||||
|
myconf+=( $(use_enable pgo pgo-build lto) )
|
||||||
|
|
||||||
|
if use pgo ; then
|
||||||
|
export BUILD_CFLAGS="${CFLAGS}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ./configure "${myconf[@]}"
|
||||||
|
"${S}"/configure "${myconf[@]}" || die
|
||||||
|
|
||||||
|
# Prevent makeinfo from running if doc is unset.
|
||||||
|
if ! use doc ; then
|
||||||
|
sed -i \
|
||||||
|
-e '/^MAKEINFO/s:=.*:= true:' \
|
||||||
|
Makefile || die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
cd "${MY_BUILDDIR}"
|
||||||
|
# see Note [tooldir hack for ldscripts]
|
||||||
|
emake V=1 tooldir="${EPREFIX}${TOOLPATH}" all
|
||||||
|
|
||||||
|
# only build info pages if the user wants them
|
||||||
|
if use doc ; then
|
||||||
|
emake V=1 info
|
||||||
|
fi
|
||||||
|
|
||||||
|
! is_cross && use emacs && elisp-compile "${S}"/binutils/dwarf-mode.el
|
||||||
|
|
||||||
|
# we nuke the manpages when we're left with junk
|
||||||
|
# (like when we bootstrap, no perl -> no manpages)
|
||||||
|
find . -name '*.1' -a -size 0 -delete
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
cd "${MY_BUILDDIR}"
|
||||||
|
|
||||||
|
# bug 637066
|
||||||
|
filter-flags -Wall -Wreturn-type
|
||||||
|
|
||||||
|
emake -k V=1 check
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local x d
|
||||||
|
|
||||||
|
cd "${MY_BUILDDIR}"
|
||||||
|
# see Note [tooldir hack for ldscripts]
|
||||||
|
emake V=1 DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install
|
||||||
|
rm -rf "${ED}"/${LIBPATH}/bin
|
||||||
|
use static-libs || find "${ED}" -name '*.la' -delete
|
||||||
|
|
||||||
|
# Newer versions of binutils get fancy with ${LIBPATH} #171905
|
||||||
|
cd "${ED}"/${LIBPATH}
|
||||||
|
for d in ../* ; do
|
||||||
|
[[ ${d} == ../${PV} ]] && continue
|
||||||
|
mv ${d}/* . || die
|
||||||
|
rmdir ${d} || die
|
||||||
|
done
|
||||||
|
|
||||||
|
# Now we collect everything intp the proper SLOT-ed dirs
|
||||||
|
# When something is built to cross-compile, it installs into
|
||||||
|
# /usr/$CHOST/ by default ... we have to 'fix' that :)
|
||||||
|
if is_cross ; then
|
||||||
|
cd "${ED}"/${BINPATH}
|
||||||
|
for x in * ; do
|
||||||
|
mv ${x} ${x/${CTARGET}-}
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then
|
||||||
|
mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH}
|
||||||
|
mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/
|
||||||
|
rm -r "${ED}"/usr/${CHOST}/{include,lib}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
insinto ${INCPATH}
|
||||||
|
local libiberty_headers=(
|
||||||
|
# Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir.
|
||||||
|
demangle.h
|
||||||
|
dyn-string.h
|
||||||
|
fibheap.h
|
||||||
|
hashtab.h
|
||||||
|
libiberty.h
|
||||||
|
objalloc.h
|
||||||
|
splay-tree.h
|
||||||
|
)
|
||||||
|
doins "${libiberty_headers[@]/#/${S}/include/}"
|
||||||
|
if [[ -d ${ED}/${LIBPATH}/lib ]] ; then
|
||||||
|
mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/
|
||||||
|
rm -r "${ED}"/${LIBPATH}/lib
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Generate an env.d entry for this binutils
|
||||||
|
insinto /etc/env.d/binutils
|
||||||
|
cat <<-EOF > "${T}"/env.d
|
||||||
|
TARGET="${CTARGET}"
|
||||||
|
VER="${PV}"
|
||||||
|
LIBPATH="${EPREFIX}${LIBPATH}"
|
||||||
|
EOF
|
||||||
|
newins "${T}"/env.d ${CTARGET}-${PV}
|
||||||
|
|
||||||
|
# Handle documentation
|
||||||
|
if ! is_cross ; then
|
||||||
|
cd "${S}"
|
||||||
|
dodoc README
|
||||||
|
docinto bfd
|
||||||
|
dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO
|
||||||
|
docinto binutils
|
||||||
|
dodoc binutils/ChangeLog binutils/NEWS binutils/README
|
||||||
|
docinto gas
|
||||||
|
dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README*
|
||||||
|
docinto gprof
|
||||||
|
dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl
|
||||||
|
docinto ld
|
||||||
|
dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
|
||||||
|
docinto libiberty
|
||||||
|
dodoc libiberty/ChangeLog* libiberty/README
|
||||||
|
docinto opcodes
|
||||||
|
dodoc opcodes/ChangeLog*
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! is_cross && use emacs ; then
|
||||||
|
elisp-install ${PN} "${S}"/binutils/dwarf-mode.el{,c}
|
||||||
|
elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove shared info pages
|
||||||
|
rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info}
|
||||||
|
|
||||||
|
# Trim all empty dirs
|
||||||
|
find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
# Make sure this ${CTARGET} has a binutils version selected
|
||||||
|
[[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
|
||||||
|
binutils-config ${CTARGET}-${PV}
|
||||||
|
|
||||||
|
! is_cross && use emacs && elisp-site-regen
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
local current_profile=$(binutils-config -c ${CTARGET})
|
||||||
|
|
||||||
|
# If no other versions exist, then uninstall for this
|
||||||
|
# target ... otherwise, switch to the newest version
|
||||||
|
# Note: only do this if this version is unmerged. We
|
||||||
|
# rerun binutils-config if this is a remerge, as
|
||||||
|
# we want the mtimes on the symlinks updated (if
|
||||||
|
# it is the same as the current selected profile)
|
||||||
|
if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then
|
||||||
|
local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}')
|
||||||
|
choice=${choice//$'\n'/ }
|
||||||
|
choice=${choice/* }
|
||||||
|
if [[ -z ${choice} ]] ; then
|
||||||
|
binutils-config -u ${CTARGET}
|
||||||
|
else
|
||||||
|
binutils-config ${choice}
|
||||||
|
fi
|
||||||
|
elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
|
||||||
|
binutils-config ${CTARGET}-${PV}
|
||||||
|
fi
|
||||||
|
|
||||||
|
! is_cross && use emacs && elisp-site-regen
|
||||||
|
}
|
||||||
|
|
||||||
|
# Note [slotting support]
|
||||||
|
# -----------------------
|
||||||
|
# Gentoo's layout for binutils files is non-standard as Gentoo
|
||||||
|
# supports slotted installation for binutils. Many tools
|
||||||
|
# still expect binutils to reside in known locations.
|
||||||
|
# binutils-config package restores symlinks into known locations,
|
||||||
|
# like:
|
||||||
|
# /usr/bin/${CTARGET}-<tool>
|
||||||
|
# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips
|
||||||
|
# /usr/include/
|
||||||
|
#
|
||||||
|
# Note [tooldir hack for ldscripts]
|
||||||
|
# ---------------------------------
|
||||||
|
# Build system does not allow ./configure to tweak every location
|
||||||
|
# we need for slotting binutils hence all the shuffling in
|
||||||
|
# src_install(). This note is about SCRIPTDIR define handling.
|
||||||
|
#
|
||||||
|
# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value
|
||||||
|
# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib'
|
||||||
|
# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time.
|
||||||
|
# Thus we can't just move files around after compilation finished.
|
||||||
|
#
|
||||||
|
# Our goal is the following:
|
||||||
|
# - at build-time set scriptdir to point to symlinked location:
|
||||||
|
# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case)
|
||||||
|
# - at install-time set scriptdir to point to slotted location:
|
||||||
|
# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV}
|
494
sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.39.ebuild
vendored
Normal file
494
sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.39.ebuild
vendored
Normal file
@ -0,0 +1,494 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
inherit elisp-common libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
|
||||||
|
|
||||||
|
DESCRIPTION="Tools necessary to build programs"
|
||||||
|
HOMEPAGE="https://sourceware.org/binutils/"
|
||||||
|
LICENSE="GPL-3+"
|
||||||
|
IUSE="cet default-gold doc emacs gold multitarget +nls pgo +plugins static-libs test vanilla"
|
||||||
|
REQUIRED_USE="default-gold? ( gold )"
|
||||||
|
|
||||||
|
# Variables that can be set here (ignored for live ebuilds)
|
||||||
|
# PATCH_VER - the patchset version
|
||||||
|
# Default: empty, no patching
|
||||||
|
# PATCH_BINUTILS_VER - the binutils version in the patchset name
|
||||||
|
# - Default: PV
|
||||||
|
# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
|
||||||
|
# for the patchsets
|
||||||
|
|
||||||
|
PATCH_VER=3
|
||||||
|
PATCH_DEV=dilfridge
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999* ]]; then
|
||||||
|
inherit git-r3
|
||||||
|
SLOT=${PV}
|
||||||
|
else
|
||||||
|
PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
|
||||||
|
PATCH_DEV=${PATCH_DEV:-dilfridge}
|
||||||
|
SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz"
|
||||||
|
[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
|
||||||
|
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
|
||||||
|
SLOT=$(ver_cut 1-2)
|
||||||
|
# live ebuild
|
||||||
|
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||||
|
KEYWORDS="~loong"
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# The cross-compile logic
|
||||||
|
#
|
||||||
|
export CTARGET=${CTARGET:-${CHOST}}
|
||||||
|
if [[ ${CTARGET} == ${CHOST} ]] ; then
|
||||||
|
if [[ ${CATEGORY} == cross-* ]] ; then
|
||||||
|
export CTARGET=${CATEGORY#cross-}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
|
||||||
|
|
||||||
|
#
|
||||||
|
# The dependencies
|
||||||
|
#
|
||||||
|
RDEPEND="
|
||||||
|
>=sys-devel/binutils-config-3
|
||||||
|
sys-libs/zlib
|
||||||
|
emacs? ( >=app-editors/emacs-23.1:* )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="
|
||||||
|
doc? ( sys-apps/texinfo )
|
||||||
|
test? (
|
||||||
|
dev-util/dejagnu
|
||||||
|
sys-devel/bc
|
||||||
|
)
|
||||||
|
nls? ( sys-devel/gettext )
|
||||||
|
sys-devel/flex
|
||||||
|
virtual/yacc
|
||||||
|
"
|
||||||
|
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
MY_BUILDDIR=${WORKDIR}/build
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
if [[ ${PV} == 9999* ]] ; then
|
||||||
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git"
|
||||||
|
EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
|
||||||
|
git-r3_src_unpack
|
||||||
|
mv patches-git/9999 patch || die
|
||||||
|
|
||||||
|
EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
|
||||||
|
S=${WORKDIR}/binutils
|
||||||
|
EGIT_CHECKOUT_DIR=${S}
|
||||||
|
git-r3_src_unpack
|
||||||
|
else
|
||||||
|
unpack ${P/-hppa64/}.tar.xz
|
||||||
|
|
||||||
|
cd "${WORKDIR}" || die
|
||||||
|
unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz
|
||||||
|
|
||||||
|
# _p patch versions are Gentoo specific tarballs ...
|
||||||
|
local dir=${P%_p?}
|
||||||
|
dir=${dir/-hppa64/}
|
||||||
|
|
||||||
|
S=${WORKDIR}/${dir}
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "${WORKDIR}" || die
|
||||||
|
mkdir -p "${MY_BUILDDIR}" || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
local patchsetname
|
||||||
|
if [[ ${PV} == 9999* ]] ; then
|
||||||
|
patchsetname="from git master"
|
||||||
|
else
|
||||||
|
patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
|
||||||
|
if ! use vanilla; then
|
||||||
|
einfo "Applying binutils patchset ${patchsetname}"
|
||||||
|
eapply "${WORKDIR}/patch"
|
||||||
|
einfo "Done."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Make sure our explicit libdir paths don't get clobbered, bug #562460
|
||||||
|
sed -i \
|
||||||
|
-e 's:@bfdlibdir@:@libdir@:g' \
|
||||||
|
-e 's:@bfdincludedir@:@includedir@:g' \
|
||||||
|
{bfd,opcodes}/Makefile.in || die
|
||||||
|
|
||||||
|
# Fix locale issues if possible, bug #122216
|
||||||
|
if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then
|
||||||
|
einfo "Fixing misc issues in configure files"
|
||||||
|
for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do
|
||||||
|
ebegin " Updating ${f/${S}\/}"
|
||||||
|
patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \
|
||||||
|
|| eerror "Please file a bug about this"
|
||||||
|
eend $?
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Apply things from PATCHES and user dirs
|
||||||
|
default
|
||||||
|
|
||||||
|
# Run misc portage update scripts
|
||||||
|
gnuconfig_update
|
||||||
|
elibtoolize --portage --no-uclibc
|
||||||
|
}
|
||||||
|
|
||||||
|
toolchain-binutils_bugurl() {
|
||||||
|
printf "https://bugs.gentoo.org/"
|
||||||
|
}
|
||||||
|
toolchain-binutils_pkgversion() {
|
||||||
|
printf "Gentoo ${PV}"
|
||||||
|
[[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
# See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html
|
||||||
|
# Avoid really confusing logs from subconfigure spam, makes logs far
|
||||||
|
# more legible.
|
||||||
|
MAKEOPTS="--output-sync=line ${MAKEOPTS}"
|
||||||
|
|
||||||
|
# Setup some paths
|
||||||
|
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
|
||||||
|
INCPATH=${LIBPATH}/include
|
||||||
|
DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
|
||||||
|
if is_cross ; then
|
||||||
|
TOOLPATH=/usr/${CHOST}/${CTARGET}
|
||||||
|
else
|
||||||
|
TOOLPATH=/usr/${CTARGET}
|
||||||
|
fi
|
||||||
|
BINPATH=${TOOLPATH}/binutils-bin/${PV}
|
||||||
|
|
||||||
|
# Make sure we filter $LINGUAS so that only ones that
|
||||||
|
# actually work make it through, bug #42033
|
||||||
|
strip-linguas -u */po
|
||||||
|
|
||||||
|
# Keep things sane
|
||||||
|
strip-flags
|
||||||
|
|
||||||
|
use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
|
||||||
|
|
||||||
|
local x
|
||||||
|
echo
|
||||||
|
for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do
|
||||||
|
einfo "$(printf '%10s' ${x}:) ${!x}"
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
|
||||||
|
cd "${MY_BUILDDIR}" || die
|
||||||
|
local myconf=()
|
||||||
|
|
||||||
|
if use plugins ; then
|
||||||
|
myconf+=( --enable-plugins )
|
||||||
|
fi
|
||||||
|
# enable gold (installed as ld.gold) and ld's plugin architecture
|
||||||
|
if use gold ; then
|
||||||
|
myconf+=( --enable-gold )
|
||||||
|
if use default-gold; then
|
||||||
|
myconf+=( --enable-gold=default )
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use nls ; then
|
||||||
|
myconf+=( --without-included-gettext )
|
||||||
|
else
|
||||||
|
myconf+=( --disable-nls )
|
||||||
|
fi
|
||||||
|
|
||||||
|
myconf+=( --with-system-zlib )
|
||||||
|
|
||||||
|
# For bi-arch systems, enable a 64bit bfd. This matches the bi-arch
|
||||||
|
# logic in toolchain.eclass. bug #446946
|
||||||
|
#
|
||||||
|
# We used to do it for everyone, but it's slow on 32bit arches. bug #438522
|
||||||
|
case $(tc-arch) in
|
||||||
|
ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd )
|
||||||
|
|
||||||
|
[[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} )
|
||||||
|
|
||||||
|
is_cross && myconf+=(
|
||||||
|
--with-sysroot="${EPREFIX}"/usr/${CTARGET}
|
||||||
|
--enable-poison-system-directories
|
||||||
|
)
|
||||||
|
|
||||||
|
myconf+=( --enable-secureplt )
|
||||||
|
|
||||||
|
# mips can't do hash-style=gnu ...
|
||||||
|
if [[ $(tc-arch) != mips ]] ; then
|
||||||
|
myconf+=( --enable-default-hash-style=gnu )
|
||||||
|
fi
|
||||||
|
|
||||||
|
myconf+=(
|
||||||
|
--prefix="${EPREFIX}"/usr
|
||||||
|
--host=${CHOST}
|
||||||
|
--target=${CTARGET}
|
||||||
|
--datadir="${EPREFIX}"${DATAPATH}
|
||||||
|
--datarootdir="${EPREFIX}"${DATAPATH}
|
||||||
|
--infodir="${EPREFIX}"${DATAPATH}/info
|
||||||
|
--mandir="${EPREFIX}"${DATAPATH}/man
|
||||||
|
--bindir="${EPREFIX}"${BINPATH}
|
||||||
|
--libdir="${EPREFIX}"${LIBPATH}
|
||||||
|
--libexecdir="${EPREFIX}"${LIBPATH}
|
||||||
|
--includedir="${EPREFIX}"${INCPATH}
|
||||||
|
--enable-obsolete
|
||||||
|
--enable-shared
|
||||||
|
--enable-threads
|
||||||
|
# Newer versions (>=2.27) offer a configure flag now.
|
||||||
|
--enable-relro
|
||||||
|
# Newer versions (>=2.24) make this an explicit option, bug #497268
|
||||||
|
--enable-install-libiberty
|
||||||
|
# Available from 2.35 on
|
||||||
|
--enable-textrel-check=warning
|
||||||
|
|
||||||
|
# Available from 2.39 on
|
||||||
|
--enable-warn-execstack
|
||||||
|
--enable-warn-rwx-segments
|
||||||
|
# TODO: Available from 2.39+ on but let's try the warning on for a bit
|
||||||
|
# first... (--enable-warn-execstack)
|
||||||
|
# Could put it under USE=hardened?
|
||||||
|
#--disable-default-execstack (or is it --enable-default-execstack=no? docs are confusing)
|
||||||
|
|
||||||
|
# Things to think about
|
||||||
|
#--enable-deterministic-archives
|
||||||
|
|
||||||
|
# Works better than vapier's patch, bug #808787
|
||||||
|
--enable-new-dtags
|
||||||
|
|
||||||
|
--disable-jansson
|
||||||
|
--disable-werror
|
||||||
|
--with-bugurl="$(toolchain-binutils_bugurl)"
|
||||||
|
--with-pkgversion="$(toolchain-binutils_pkgversion)"
|
||||||
|
$(use_enable static-libs static)
|
||||||
|
# Disable modules that are in a combined binutils/gdb tree, bug #490566
|
||||||
|
--disable-{gdb,libdecnumber,readline,sim}
|
||||||
|
# Strip out broken static link flags.
|
||||||
|
# https://gcc.gnu.org/PR56750
|
||||||
|
--without-stage1-ldflags
|
||||||
|
# Change SONAME to avoid conflict across
|
||||||
|
# {native,cross}/binutils, binutils-libs. bug #666100
|
||||||
|
--with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)
|
||||||
|
|
||||||
|
# avoid automagic dependency on (currently prefix) systems
|
||||||
|
# systems with debuginfod library, bug #754753
|
||||||
|
--without-debuginfod
|
||||||
|
|
||||||
|
# Allow user to opt into CET for host libraries.
|
||||||
|
# Ideally we would like automagic-or-disabled here.
|
||||||
|
# But the check does not quite work on i686: bug #760926.
|
||||||
|
$(use_enable cet)
|
||||||
|
)
|
||||||
|
|
||||||
|
if ! is_cross ; then
|
||||||
|
myconf+=( $(use_enable pgo pgo-build lto) )
|
||||||
|
|
||||||
|
if use pgo ; then
|
||||||
|
export BUILD_CFLAGS="${CFLAGS}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
ECONF_SOURCE="${S}" econf "${myconf[@]}" || die
|
||||||
|
|
||||||
|
# Prevent makeinfo from running if doc is unset.
|
||||||
|
if ! use doc ; then
|
||||||
|
sed -i \
|
||||||
|
-e '/^MAKEINFO/s:=.*:= true:' \
|
||||||
|
Makefile || die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
cd "${MY_BUILDDIR}" || die
|
||||||
|
|
||||||
|
# see Note [tooldir hack for ldscripts]
|
||||||
|
emake V=1 tooldir="${EPREFIX}${TOOLPATH}" all
|
||||||
|
|
||||||
|
# only build info pages if the user wants them
|
||||||
|
if use doc ; then
|
||||||
|
emake V=1 info
|
||||||
|
fi
|
||||||
|
|
||||||
|
! is_cross && use emacs && elisp-compile "${S}"/binutils/dwarf-mode.el
|
||||||
|
|
||||||
|
# we nuke the manpages when we're left with junk
|
||||||
|
# (like when we bootstrap, no perl -> no manpages)
|
||||||
|
find . -name '*.1' -a -size 0 -delete
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
cd "${MY_BUILDDIR}" || die
|
||||||
|
|
||||||
|
# bug #637066
|
||||||
|
filter-flags -Wall -Wreturn-type
|
||||||
|
|
||||||
|
emake -k V=1 check
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local x d
|
||||||
|
|
||||||
|
cd "${MY_BUILDDIR}" || die
|
||||||
|
|
||||||
|
# see Note [tooldir hack for ldscripts]
|
||||||
|
emake V=1 DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install
|
||||||
|
rm -rf "${ED}"/${LIBPATH}/bin || die
|
||||||
|
use static-libs || find "${ED}" -name '*.la' -delete
|
||||||
|
|
||||||
|
# Newer versions of binutils get fancy with ${LIBPATH}, bug #171905
|
||||||
|
cd "${ED}"/${LIBPATH} || die
|
||||||
|
for d in ../* ; do
|
||||||
|
[[ ${d} == ../${PV} ]] && continue
|
||||||
|
mv ${d}/* . || die
|
||||||
|
rmdir ${d} || die
|
||||||
|
done
|
||||||
|
|
||||||
|
# Now we collect everything intp the proper SLOT-ed dirs
|
||||||
|
# When something is built to cross-compile, it installs into
|
||||||
|
# /usr/$CHOST/ by default ... we have to 'fix' that :)
|
||||||
|
if is_cross ; then
|
||||||
|
cd "${ED}"/${BINPATH} || die
|
||||||
|
for x in * ; do
|
||||||
|
mv ${x} ${x/${CTARGET}-} || die
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then
|
||||||
|
mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH}
|
||||||
|
mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/
|
||||||
|
rm -r "${ED}"/usr/${CHOST}/{include,lib}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto ${INCPATH}
|
||||||
|
local libiberty_headers=(
|
||||||
|
# Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir.
|
||||||
|
demangle.h
|
||||||
|
dyn-string.h
|
||||||
|
fibheap.h
|
||||||
|
hashtab.h
|
||||||
|
libiberty.h
|
||||||
|
objalloc.h
|
||||||
|
splay-tree.h
|
||||||
|
)
|
||||||
|
doins "${libiberty_headers[@]/#/${S}/include/}"
|
||||||
|
if [[ -d ${ED}/${LIBPATH}/lib ]] ; then
|
||||||
|
mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ || die
|
||||||
|
rm -r "${ED}"/${LIBPATH}/lib || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Generate an env.d entry for this binutils
|
||||||
|
insinto /etc/env.d/binutils
|
||||||
|
cat <<-EOF > "${T}"/env.d
|
||||||
|
TARGET="${CTARGET}"
|
||||||
|
VER="${PV}"
|
||||||
|
LIBPATH="${EPREFIX}${LIBPATH}"
|
||||||
|
EOF
|
||||||
|
newins "${T}"/env.d ${CTARGET}-${PV}
|
||||||
|
|
||||||
|
# Handle documentation
|
||||||
|
if ! is_cross ; then
|
||||||
|
cd "${S}" || die
|
||||||
|
dodoc README
|
||||||
|
|
||||||
|
docinto bfd
|
||||||
|
dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO
|
||||||
|
|
||||||
|
docinto binutils
|
||||||
|
dodoc binutils/ChangeLog binutils/NEWS binutils/README
|
||||||
|
|
||||||
|
docinto gas
|
||||||
|
dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README*
|
||||||
|
|
||||||
|
docinto gprof
|
||||||
|
dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl
|
||||||
|
|
||||||
|
docinto ld
|
||||||
|
dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
|
||||||
|
|
||||||
|
docinto libiberty
|
||||||
|
dodoc libiberty/ChangeLog* libiberty/README
|
||||||
|
|
||||||
|
docinto opcodes
|
||||||
|
dodoc opcodes/ChangeLog*
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! is_cross && use emacs ; then
|
||||||
|
elisp-install ${PN} "${S}"/binutils/dwarf-mode.el{,c}
|
||||||
|
elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove shared info pages
|
||||||
|
rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info}
|
||||||
|
|
||||||
|
# Trim all empty dirs
|
||||||
|
find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
# Make sure this ${CTARGET} has a binutils version selected
|
||||||
|
[[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
|
||||||
|
binutils-config ${CTARGET}-${PV}
|
||||||
|
|
||||||
|
! is_cross && use emacs && elisp-site-regen
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
local current_profile=$(binutils-config -c ${CTARGET})
|
||||||
|
|
||||||
|
# If no other versions exist, then uninstall for this
|
||||||
|
# target ... otherwise, switch to the newest version
|
||||||
|
# Note: only do this if this version is unmerged. We
|
||||||
|
# rerun binutils-config if this is a remerge, as
|
||||||
|
# we want the mtimes on the symlinks updated (if
|
||||||
|
# it is the same as the current selected profile)
|
||||||
|
if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then
|
||||||
|
local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}')
|
||||||
|
choice=${choice//$'\n'/ }
|
||||||
|
choice=${choice/* }
|
||||||
|
if [[ -z ${choice} ]] ; then
|
||||||
|
binutils-config -u ${CTARGET}
|
||||||
|
else
|
||||||
|
binutils-config ${choice}
|
||||||
|
fi
|
||||||
|
elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
|
||||||
|
binutils-config ${CTARGET}-${PV}
|
||||||
|
fi
|
||||||
|
|
||||||
|
! is_cross && use emacs && elisp-site-regen
|
||||||
|
}
|
||||||
|
|
||||||
|
# Note [slotting support]
|
||||||
|
# -----------------------
|
||||||
|
# Gentoo's layout for binutils files is non-standard as Gentoo
|
||||||
|
# supports slotted installation for binutils. Many tools
|
||||||
|
# still expect binutils to reside in known locations.
|
||||||
|
# binutils-config package restores symlinks into known locations,
|
||||||
|
# like:
|
||||||
|
# /usr/bin/${CTARGET}-<tool>
|
||||||
|
# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips
|
||||||
|
# /usr/include/
|
||||||
|
#
|
||||||
|
# Note [tooldir hack for ldscripts]
|
||||||
|
# ---------------------------------
|
||||||
|
# Build system does not allow ./configure to tweak every location
|
||||||
|
# we need for slotting binutils hence all the shuffling in
|
||||||
|
# src_install(). This note is about SCRIPTDIR define handling.
|
||||||
|
#
|
||||||
|
# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value
|
||||||
|
# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib'
|
||||||
|
# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time.
|
||||||
|
# Thus we can't just move files around after compilation finished.
|
||||||
|
#
|
||||||
|
# Our goal is the following:
|
||||||
|
# - at build-time set scriptdir to point to symlinked location:
|
||||||
|
# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case)
|
||||||
|
# - at install-time set scriptdir to point to slotted location:
|
||||||
|
# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV}
|
@ -1,14 +1,14 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs
|
inherit elisp-common libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
|
||||||
|
|
||||||
DESCRIPTION="Tools necessary to build programs"
|
DESCRIPTION="Tools necessary to build programs"
|
||||||
HOMEPAGE="https://sourceware.org/binutils/"
|
HOMEPAGE="https://sourceware.org/binutils/"
|
||||||
LICENSE="GPL-3+"
|
LICENSE="GPL-3+"
|
||||||
IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test vanilla"
|
IUSE="cet default-gold doc emacs +gold multitarget +nls pgo +plugins static-libs test vanilla"
|
||||||
REQUIRED_USE="default-gold? ( gold )"
|
REQUIRED_USE="default-gold? ( gold )"
|
||||||
|
|
||||||
# Variables that can be set here (ignored for live ebuilds)
|
# Variables that can be set here (ignored for live ebuilds)
|
||||||
@ -19,7 +19,7 @@ REQUIRED_USE="default-gold? ( gold )"
|
|||||||
# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
|
# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
|
||||||
# for the patchsets
|
# for the patchsets
|
||||||
|
|
||||||
PATCH_VER=1
|
PATCH_VER=0
|
||||||
PATCH_DEV=dilfridge
|
PATCH_DEV=dilfridge
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]]; then
|
if [[ ${PV} == 9999* ]]; then
|
||||||
@ -33,7 +33,7 @@ else
|
|||||||
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
|
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
|
||||||
SLOT=$(ver_cut 1-2)
|
SLOT=$(ver_cut 1-2)
|
||||||
# live ebuild
|
# live ebuild
|
||||||
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -53,6 +53,7 @@ is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
|
|||||||
RDEPEND="
|
RDEPEND="
|
||||||
>=sys-devel/binutils-config-3
|
>=sys-devel/binutils-config-3
|
||||||
sys-libs/zlib
|
sys-libs/zlib
|
||||||
|
emacs? ( >=app-editors/emacs-23.1:* )
|
||||||
"
|
"
|
||||||
DEPEND="${RDEPEND}"
|
DEPEND="${RDEPEND}"
|
||||||
BDEPEND="
|
BDEPEND="
|
||||||
@ -82,13 +83,16 @@ src_unpack() {
|
|||||||
EGIT_CHECKOUT_DIR=${S}
|
EGIT_CHECKOUT_DIR=${S}
|
||||||
git-r3_src_unpack
|
git-r3_src_unpack
|
||||||
else
|
else
|
||||||
unpack ${P}.tar.xz
|
unpack ${P/-hppa64/}.tar.xz
|
||||||
|
|
||||||
cd "${WORKDIR}" || die
|
cd "${WORKDIR}" || die
|
||||||
unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz
|
unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz
|
||||||
|
|
||||||
# _p patch versions are Gentoo specific tarballs ...
|
# _p patch versions are Gentoo specific tarballs ...
|
||||||
S=${WORKDIR}/${P%_p?}
|
local dir=${P%_p?}
|
||||||
|
dir=${dir/-hppa64/}
|
||||||
|
|
||||||
|
S=${WORKDIR}/${dir}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd "${WORKDIR}" || die
|
cd "${WORKDIR}" || die
|
||||||
@ -103,7 +107,7 @@ src_prepare() {
|
|||||||
patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
|
patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -z ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
|
if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
|
||||||
if ! use vanilla; then
|
if ! use vanilla; then
|
||||||
einfo "Applying binutils patchset ${patchsetname}"
|
einfo "Applying binutils patchset ${patchsetname}"
|
||||||
eapply "${WORKDIR}/patch"
|
eapply "${WORKDIR}/patch"
|
||||||
@ -111,20 +115,13 @@ src_prepare() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# This check should probably go somewhere else, like pkg_pretend.
|
# Make sure our explicit libdir paths don't get clobbered, bug #562460
|
||||||
if [[ ${CTARGET} == *-uclibc* ]] ; then
|
|
||||||
if grep -qs 'linux-gnu' "${S}"/ltconfig ; then
|
|
||||||
die "sorry, but this binutils doesn't yet support uClibc :("
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Make sure our explicit libdir paths don't get clobbered. #562460
|
|
||||||
sed -i \
|
sed -i \
|
||||||
-e 's:@bfdlibdir@:@libdir@:g' \
|
-e 's:@bfdlibdir@:@libdir@:g' \
|
||||||
-e 's:@bfdincludedir@:@includedir@:g' \
|
-e 's:@bfdincludedir@:@includedir@:g' \
|
||||||
{bfd,opcodes}/Makefile.in || die
|
{bfd,opcodes}/Makefile.in || die
|
||||||
|
|
||||||
# Fix locale issues if possible #122216
|
# Fix locale issues if possible, bug #122216
|
||||||
if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then
|
if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then
|
||||||
einfo "Fixing misc issues in configure files"
|
einfo "Fixing misc issues in configure files"
|
||||||
for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do
|
for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do
|
||||||
@ -135,11 +132,6 @@ src_prepare() {
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Fix conflicts with newer glibc #272594
|
|
||||||
if [[ -e libiberty/testsuite/test-demangle.c ]] ; then
|
|
||||||
sed -i 's:\<getline\>:get_line:g' libiberty/testsuite/test-demangle.c
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Apply things from PATCHES and user dirs
|
# Apply things from PATCHES and user dirs
|
||||||
default
|
default
|
||||||
|
|
||||||
@ -157,6 +149,11 @@ toolchain-binutils_pkgversion() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
src_configure() {
|
src_configure() {
|
||||||
|
# See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html
|
||||||
|
# Avoid really confusing logs from subconfigure spam, makes logs far
|
||||||
|
# more legible.
|
||||||
|
MAKEOPTS="--output-sync=line ${MAKEOPTS}"
|
||||||
|
|
||||||
# Setup some paths
|
# Setup some paths
|
||||||
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
|
LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
|
||||||
INCPATH=${LIBPATH}/include
|
INCPATH=${LIBPATH}/include
|
||||||
@ -169,12 +166,14 @@ src_configure() {
|
|||||||
BINPATH=${TOOLPATH}/binutils-bin/${PV}
|
BINPATH=${TOOLPATH}/binutils-bin/${PV}
|
||||||
|
|
||||||
# Make sure we filter $LINGUAS so that only ones that
|
# Make sure we filter $LINGUAS so that only ones that
|
||||||
# actually work make it through #42033
|
# actually work make it through, bug #42033
|
||||||
strip-linguas -u */po
|
strip-linguas -u */po
|
||||||
|
|
||||||
# Keep things sane
|
# Keep things sane
|
||||||
strip-flags
|
strip-flags
|
||||||
|
|
||||||
|
use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
|
||||||
|
|
||||||
local x
|
local x
|
||||||
echo
|
echo
|
||||||
for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do
|
for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do
|
||||||
@ -182,7 +181,7 @@ src_configure() {
|
|||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
|
|
||||||
cd "${MY_BUILDDIR}"
|
cd "${MY_BUILDDIR}" || die
|
||||||
local myconf=()
|
local myconf=()
|
||||||
|
|
||||||
if use plugins ; then
|
if use plugins ; then
|
||||||
@ -204,9 +203,10 @@ src_configure() {
|
|||||||
|
|
||||||
myconf+=( --with-system-zlib )
|
myconf+=( --with-system-zlib )
|
||||||
|
|
||||||
# For bi-arch systems, enable a 64bit bfd. This matches
|
# For bi-arch systems, enable a 64bit bfd. This matches the bi-arch
|
||||||
# the bi-arch logic in toolchain.eclass. #446946
|
# logic in toolchain.eclass. bug #446946
|
||||||
# We used to do it for everyone, but it's slow on 32bit arches. #438522
|
#
|
||||||
|
# We used to do it for everyone, but it's slow on 32bit arches. bug #438522
|
||||||
case $(tc-arch) in
|
case $(tc-arch) in
|
||||||
ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;;
|
ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;;
|
||||||
esac
|
esac
|
||||||
@ -220,10 +220,7 @@ src_configure() {
|
|||||||
--enable-poison-system-directories
|
--enable-poison-system-directories
|
||||||
)
|
)
|
||||||
|
|
||||||
# glibc-2.3.6 lacks support for this ... so rather than force glibc-2.5+
|
myconf+=( --enable-secureplt )
|
||||||
# on everyone in alpha (for now), we'll just enable it when possible
|
|
||||||
has_version ">=${CATEGORY}/glibc-2.5" && myconf+=( --enable-secureplt )
|
|
||||||
has_version ">=sys-libs/glibc-2.5" && myconf+=( --enable-secureplt )
|
|
||||||
|
|
||||||
# mips can't do hash-style=gnu ...
|
# mips can't do hash-style=gnu ...
|
||||||
if [[ $(tc-arch) != mips ]] ; then
|
if [[ $(tc-arch) != mips ]] ; then
|
||||||
@ -247,24 +244,37 @@ src_configure() {
|
|||||||
--enable-threads
|
--enable-threads
|
||||||
# Newer versions (>=2.27) offer a configure flag now.
|
# Newer versions (>=2.27) offer a configure flag now.
|
||||||
--enable-relro
|
--enable-relro
|
||||||
# Newer versions (>=2.24) make this an explicit option. #497268
|
# Newer versions (>=2.24) make this an explicit option, bug #497268
|
||||||
--enable-install-libiberty
|
--enable-install-libiberty
|
||||||
# Available from 2.35 on
|
# Available from 2.35 on
|
||||||
--enable-textrel-check=warning
|
--enable-textrel-check=warning
|
||||||
# Works better than vapier's patch... #808787
|
|
||||||
|
# Available from 2.39 on
|
||||||
|
--enable-warn-execstack
|
||||||
|
--enable-warn-rwx-segments
|
||||||
|
# TODO: Available from 2.39+ on but let's try the warning on for a bit
|
||||||
|
# first... (--enable-warn-execstack)
|
||||||
|
# Could put it under USE=hardened?
|
||||||
|
#--disable-default-execstack (or is it --enable-default-execstack=no? docs are confusing)
|
||||||
|
|
||||||
|
# Things to think about
|
||||||
|
#--enable-deterministic-archives
|
||||||
|
|
||||||
|
# Works better than vapier's patch, bug #808787
|
||||||
--enable-new-dtags
|
--enable-new-dtags
|
||||||
|
|
||||||
|
--disable-jansson
|
||||||
--disable-werror
|
--disable-werror
|
||||||
--with-bugurl="$(toolchain-binutils_bugurl)"
|
--with-bugurl="$(toolchain-binutils_bugurl)"
|
||||||
--with-pkgversion="$(toolchain-binutils_pkgversion)"
|
--with-pkgversion="$(toolchain-binutils_pkgversion)"
|
||||||
$(use_enable static-libs static)
|
$(use_enable static-libs static)
|
||||||
${EXTRA_ECONF}
|
# Disable modules that are in a combined binutils/gdb tree, bug #490566
|
||||||
# Disable modules that are in a combined binutils/gdb tree. #490566
|
|
||||||
--disable-{gdb,libdecnumber,readline,sim}
|
--disable-{gdb,libdecnumber,readline,sim}
|
||||||
# Strip out broken static link flags.
|
# Strip out broken static link flags.
|
||||||
# https://gcc.gnu.org/PR56750
|
# https://gcc.gnu.org/PR56750
|
||||||
--without-stage1-ldflags
|
--without-stage1-ldflags
|
||||||
# Change SONAME to avoid conflict across
|
# Change SONAME to avoid conflict across
|
||||||
# {native,cross}/binutils, binutils-libs. #666100
|
# {native,cross}/binutils, binutils-libs. bug #666100
|
||||||
--with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)
|
--with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)
|
||||||
|
|
||||||
# avoid automagic dependency on (currently prefix) systems
|
# avoid automagic dependency on (currently prefix) systems
|
||||||
@ -276,8 +286,16 @@ src_configure() {
|
|||||||
# But the check does not quite work on i686: bug #760926.
|
# But the check does not quite work on i686: bug #760926.
|
||||||
$(use_enable cet)
|
$(use_enable cet)
|
||||||
)
|
)
|
||||||
echo ./configure "${myconf[@]}"
|
|
||||||
"${S}"/configure "${myconf[@]}" || die
|
if ! is_cross ; then
|
||||||
|
myconf+=( $(use_enable pgo pgo-build lto) )
|
||||||
|
|
||||||
|
if use pgo ; then
|
||||||
|
export BUILD_CFLAGS="${CFLAGS}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
ECONF_SOURCE="${S}" econf "${myconf[@]}" || die
|
||||||
|
|
||||||
# Prevent makeinfo from running if doc is unset.
|
# Prevent makeinfo from running if doc is unset.
|
||||||
if ! use doc ; then
|
if ! use doc ; then
|
||||||
@ -288,40 +306,44 @@ src_configure() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
src_compile() {
|
src_compile() {
|
||||||
cd "${MY_BUILDDIR}"
|
cd "${MY_BUILDDIR}" || die
|
||||||
|
|
||||||
# see Note [tooldir hack for ldscripts]
|
# see Note [tooldir hack for ldscripts]
|
||||||
emake tooldir="${EPREFIX}${TOOLPATH}" all
|
emake V=1 tooldir="${EPREFIX}${TOOLPATH}" all
|
||||||
|
|
||||||
# only build info pages if the user wants them
|
# only build info pages if the user wants them
|
||||||
if use doc ; then
|
if use doc ; then
|
||||||
emake info
|
emake V=1 info
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
! is_cross && use emacs && elisp-compile "${S}"/binutils/dwarf-mode.el
|
||||||
|
|
||||||
# we nuke the manpages when we're left with junk
|
# we nuke the manpages when we're left with junk
|
||||||
# (like when we bootstrap, no perl -> no manpages)
|
# (like when we bootstrap, no perl -> no manpages)
|
||||||
find . -name '*.1' -a -size 0 -delete
|
find . -name '*.1' -a -size 0 -delete
|
||||||
}
|
}
|
||||||
|
|
||||||
src_test() {
|
src_test() {
|
||||||
cd "${MY_BUILDDIR}"
|
cd "${MY_BUILDDIR}" || die
|
||||||
|
|
||||||
# bug 637066
|
# bug #637066
|
||||||
filter-flags -Wall -Wreturn-type
|
filter-flags -Wall -Wreturn-type
|
||||||
|
|
||||||
emake -k check
|
emake -k V=1 check
|
||||||
}
|
}
|
||||||
|
|
||||||
src_install() {
|
src_install() {
|
||||||
local x d
|
local x d
|
||||||
|
|
||||||
cd "${MY_BUILDDIR}"
|
cd "${MY_BUILDDIR}" || die
|
||||||
|
|
||||||
# see Note [tooldir hack for ldscripts]
|
# see Note [tooldir hack for ldscripts]
|
||||||
emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install
|
emake V=1 DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install
|
||||||
rm -rf "${ED}"/${LIBPATH}/bin
|
rm -rf "${ED}"/${LIBPATH}/bin || die
|
||||||
use static-libs || find "${ED}" -name '*.la' -delete
|
use static-libs || find "${ED}" -name '*.la' -delete
|
||||||
|
|
||||||
# Newer versions of binutils get fancy with ${LIBPATH} #171905
|
# Newer versions of binutils get fancy with ${LIBPATH}, bug #171905
|
||||||
cd "${ED}"/${LIBPATH}
|
cd "${ED}"/${LIBPATH} || die
|
||||||
for d in ../* ; do
|
for d in ../* ; do
|
||||||
[[ ${d} == ../${PV} ]] && continue
|
[[ ${d} == ../${PV} ]] && continue
|
||||||
mv ${d}/* . || die
|
mv ${d}/* . || die
|
||||||
@ -332,9 +354,9 @@ src_install() {
|
|||||||
# When something is built to cross-compile, it installs into
|
# When something is built to cross-compile, it installs into
|
||||||
# /usr/$CHOST/ by default ... we have to 'fix' that :)
|
# /usr/$CHOST/ by default ... we have to 'fix' that :)
|
||||||
if is_cross ; then
|
if is_cross ; then
|
||||||
cd "${ED}"/${BINPATH}
|
cd "${ED}"/${BINPATH} || die
|
||||||
for x in * ; do
|
for x in * ; do
|
||||||
mv ${x} ${x/${CTARGET}-}
|
mv ${x} ${x/${CTARGET}-} || die
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then
|
if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then
|
||||||
@ -343,6 +365,7 @@ src_install() {
|
|||||||
rm -r "${ED}"/usr/${CHOST}/{include,lib}
|
rm -r "${ED}"/usr/${CHOST}/{include,lib}
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
insinto ${INCPATH}
|
insinto ${INCPATH}
|
||||||
local libiberty_headers=(
|
local libiberty_headers=(
|
||||||
# Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir.
|
# Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir.
|
||||||
@ -356,8 +379,8 @@ src_install() {
|
|||||||
)
|
)
|
||||||
doins "${libiberty_headers[@]/#/${S}/include/}"
|
doins "${libiberty_headers[@]/#/${S}/include/}"
|
||||||
if [[ -d ${ED}/${LIBPATH}/lib ]] ; then
|
if [[ -d ${ED}/${LIBPATH}/lib ]] ; then
|
||||||
mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/
|
mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ || die
|
||||||
rm -r "${ED}"/${LIBPATH}/lib
|
rm -r "${ED}"/${LIBPATH}/lib || die
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Generate an env.d entry for this binutils
|
# Generate an env.d entry for this binutils
|
||||||
@ -371,24 +394,36 @@ src_install() {
|
|||||||
|
|
||||||
# Handle documentation
|
# Handle documentation
|
||||||
if ! is_cross ; then
|
if ! is_cross ; then
|
||||||
cd "${S}"
|
cd "${S}" || die
|
||||||
dodoc README
|
dodoc README
|
||||||
|
|
||||||
docinto bfd
|
docinto bfd
|
||||||
dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO
|
dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO
|
||||||
|
|
||||||
docinto binutils
|
docinto binutils
|
||||||
dodoc binutils/ChangeLog binutils/NEWS binutils/README
|
dodoc binutils/ChangeLog binutils/NEWS binutils/README
|
||||||
|
|
||||||
docinto gas
|
docinto gas
|
||||||
dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README*
|
dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README*
|
||||||
|
|
||||||
docinto gprof
|
docinto gprof
|
||||||
dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl
|
dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl
|
||||||
|
|
||||||
docinto ld
|
docinto ld
|
||||||
dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
|
dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
|
||||||
|
|
||||||
docinto libiberty
|
docinto libiberty
|
||||||
dodoc libiberty/ChangeLog* libiberty/README
|
dodoc libiberty/ChangeLog* libiberty/README
|
||||||
|
|
||||||
docinto opcodes
|
docinto opcodes
|
||||||
dodoc opcodes/ChangeLog*
|
dodoc opcodes/ChangeLog*
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ! is_cross && use emacs ; then
|
||||||
|
elisp-install ${PN} "${S}"/binutils/dwarf-mode.el{,c}
|
||||||
|
elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el"
|
||||||
|
fi
|
||||||
|
|
||||||
# Remove shared info pages
|
# Remove shared info pages
|
||||||
rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info}
|
rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info}
|
||||||
|
|
||||||
@ -400,6 +435,8 @@ pkg_postinst() {
|
|||||||
# Make sure this ${CTARGET} has a binutils version selected
|
# Make sure this ${CTARGET} has a binutils version selected
|
||||||
[[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
|
[[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
|
||||||
binutils-config ${CTARGET}-${PV}
|
binutils-config ${CTARGET}-${PV}
|
||||||
|
|
||||||
|
! is_cross && use emacs && elisp-site-regen
|
||||||
}
|
}
|
||||||
|
|
||||||
pkg_postrm() {
|
pkg_postrm() {
|
||||||
@ -423,6 +460,8 @@ pkg_postrm() {
|
|||||||
elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
|
elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
|
||||||
binutils-config ${CTARGET}-${PV}
|
binutils-config ${CTARGET}-${PV}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
! is_cross && use emacs && elisp-site-regen
|
||||||
}
|
}
|
||||||
|
|
||||||
# Note [slotting support]
|
# Note [slotting support]
|
||||||
|
3
sdk_container/src/third_party/portage-stable/sys-devel/binutils/files/50binutils-gentoo.el
vendored
Normal file
3
sdk_container/src/third_party/portage-stable/sys-devel/binutils/files/50binutils-gentoo.el
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
(add-to-list 'load-path "@SITELISP@")
|
||||||
|
(autoload 'dwarf-browse "dwarf-mode"
|
||||||
|
"Invoke `objdump' and put output into a `dwarf-mode' buffer." t)
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
<pkgmetadata>
|
<pkgmetadata>
|
||||||
<maintainer type="project">
|
<maintainer type="project">
|
||||||
<email>toolchain@gentoo.org</email>
|
<email>toolchain@gentoo.org</email>
|
||||||
@ -9,6 +9,7 @@
|
|||||||
<flag name="cet">Enable Intel Control-flow Enforcement Technology.</flag>
|
<flag name="cet">Enable Intel Control-flow Enforcement Technology.</flag>
|
||||||
<flag name="default-gold">Set ld to point to ld.gold instead of ld.bfd</flag>
|
<flag name="default-gold">Set ld to point to ld.gold instead of ld.bfd</flag>
|
||||||
<flag name="gold">Build ld.gold linker</flag>
|
<flag name="gold">Build ld.gold linker</flag>
|
||||||
|
<flag name="pgo">Build binutils with Profile Guided Optimization (PGO) and LTO</flag>
|
||||||
<flag name="plugins">Enable plugin support in tools</flag>
|
<flag name="plugins">Enable plugin support in tools</flag>
|
||||||
<flag name="multitarget">Adds support to binutils for cross compiling (does not work with gas)</flag>
|
<flag name="multitarget">Adds support to binutils for cross compiling (does not work with gas)</flag>
|
||||||
</use>
|
</use>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
DIST bison-3.7.6-patches-01.tar.xz 10600 BLAKE2B c7907a327c2bbb82a2e575a864e71400f91cd4349a84f95b187ecaadefc1bfd595a91bce6c8c47e42423cace9cf78a4041fde3fdc489a4824aa3c10ca73be7cb SHA512 8f2ddee79b9678b9fd9a7a34f26d44f7c4472d0fc55c9fef8b418d27949b6a27309b7aa5ac3f4a5ad27c90ad7d92d824ffe767c77b0ed81de6b2897c91cd7560
|
DIST bison-3.7.6-patches-01.tar.xz 10600 BLAKE2B c7907a327c2bbb82a2e575a864e71400f91cd4349a84f95b187ecaadefc1bfd595a91bce6c8c47e42423cace9cf78a4041fde3fdc489a4824aa3c10ca73be7cb SHA512 8f2ddee79b9678b9fd9a7a34f26d44f7c4472d0fc55c9fef8b418d27949b6a27309b7aa5ac3f4a5ad27c90ad7d92d824ffe767c77b0ed81de6b2897c91cd7560
|
||||||
DIST bison-3.7.6.tar.xz 2627180 BLAKE2B 2f1015b517e46ff0870378b4d0dd489c8c737f31b2b69146bd7fbbae1e3adcdff0e4837cfdf1d238e8660ecc2b310ce87ec8940ed4989278b3df6cbb2d464e54 SHA512 6c1c9b825fbd2c94b8903f03a7e68e6832599f7bbd8d3c49864537c11b038c45a15de02fd36128d662af314334c83515bbc132df84e9acc6c651e98649c65bad
|
DIST bison-3.7.6.tar.xz 2627180 BLAKE2B 2f1015b517e46ff0870378b4d0dd489c8c737f31b2b69146bd7fbbae1e3adcdff0e4837cfdf1d238e8660ecc2b310ce87ec8940ed4989278b3df6cbb2d464e54 SHA512 6c1c9b825fbd2c94b8903f03a7e68e6832599f7bbd8d3c49864537c11b038c45a15de02fd36128d662af314334c83515bbc132df84e9acc6c651e98649c65bad
|
||||||
DIST bison-3.8.1.tar.xz 2800372 BLAKE2B 0b70ee1b3ab8075540d9254cffdc1dfc9a9fb354d8b9b79dd3b097bf9a2235f892e120736e4195ad21ce8fbf3831c63b2d1a267a20a7abf85f0d72cdcdac1820 SHA512 f87978c41eca4db22de4f64feb3be92e44862d412f75dd84980045faf0f9e7f5a41b25bef8d4acd90743638eab61a7ac111444969d958fef5fe3535bac416921
|
|
||||||
DIST bison-3.8.2.tar.xz 2817324 BLAKE2B e211b61494c911f55b72a8b70b5a48cdf4000ce9e675a1f1f52735bb8f57d93a3f8075341451263af9c9c531004907ae2b62b1873e7e4664c2cd26fa3b12271c SHA512 d4d23af6671406e97257892f90651b67f2ab95219831372be032190b7156c10a3435d457857e677445df8b2327aacccc15344acbbc3808a6f332a93cce23b444
|
DIST bison-3.8.2.tar.xz 2817324 BLAKE2B e211b61494c911f55b72a8b70b5a48cdf4000ce9e675a1f1f52735bb8f57d93a3f8075341451263af9c9c531004907ae2b62b1873e7e4664c2cd26fa3b12271c SHA512 d4d23af6671406e97257892f90651b67f2ab95219831372be032190b7156c10a3435d457857e677445df8b2327aacccc15344acbbc3808a6f332a93cce23b444
|
||||||
|
DIST bison-3.8.2.tar.xz.sig 195 BLAKE2B b9bd21adb5115d3d3174c94223fbc9cd33afa0e9c1805008e49f77ff154fc2b656d8a9e9503dc5290658ae2948a2ca7c0dbc812f62aec268d8f8bfafb6349096 SHA512 8bb7743ca326e81a6c091b1413e3c09bd43c7eabbb80bac0638ccd52bdf7e3395cce300a86acd95f4637a9ec8a1b0e9a4d3d25d95ab0a8f03e57fd82eb87a7ac
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
@ -13,7 +13,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
|
|||||||
https://dev.gentoo.org/~whissi/dist/bison/${PATCH_TAR}
|
https://dev.gentoo.org/~whissi/dist/bison/${PATCH_TAR}
|
||||||
https://dev.gentoo.org/~polynomial-c/dist/bison/${PATCH_TAR}"
|
https://dev.gentoo.org/~polynomial-c/dist/bison/${PATCH_TAR}"
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
LICENSE="GPL-3+"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
IUSE="examples nls static test"
|
IUSE="examples nls static test"
|
||||||
|
@ -1,96 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit flag-o-matic
|
|
||||||
|
|
||||||
DESCRIPTION="A general-purpose (yacc-compatible) parser generator"
|
|
||||||
HOMEPAGE="https://www.gnu.org/software/bison/"
|
|
||||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
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"
|
|
||||||
IUSE="examples nls static test"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
# gettext _IS_ required in RDEPEND because >=bison-3.7 links against
|
|
||||||
# libtextstyle.so!!! (see bug #740754)
|
|
||||||
DEPEND="
|
|
||||||
>=sys-devel/m4-1.4.16
|
|
||||||
>=sys-devel/gettext-0.21
|
|
||||||
"
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
BDEPEND="
|
|
||||||
sys-devel/flex
|
|
||||||
test? ( dev-lang/perl )
|
|
||||||
"
|
|
||||||
|
|
||||||
DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) # ChangeLog-2012 ChangeLog-1998 PACKAGING README-alpha README-release
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
# Old logic when we needed to patch configure.ac
|
|
||||||
# Keeping in case it's useful for future
|
|
||||||
|
|
||||||
# Record date to avoid 'config.status --recheck' & regen of 'tests/package.m4'
|
|
||||||
#touch -r configure.ac old.configure.ac || die
|
|
||||||
#touch -r configure old.configure || die
|
|
||||||
|
|
||||||
#eapply "${WORKDIR}"/patches
|
|
||||||
#default
|
|
||||||
|
|
||||||
# Restore date after patching
|
|
||||||
#touch -r old.configure.ac configure.ac || die
|
|
||||||
#touch -r old.configure configure || die
|
|
||||||
|
|
||||||
# The makefiles make the man page depend on the configure script
|
|
||||||
# which we patched above. Touch it to prevent regeneration.
|
|
||||||
#touch doc/bison.1 || die #548778 #538300#9
|
|
||||||
|
|
||||||
default
|
|
||||||
|
|
||||||
# Avoid regenerating the info page when the timezone is diff. #574492
|
|
||||||
sed -i '2iexport TZ=UTC' build-aux/mdate-sh || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
use static && append-ldflags -static
|
|
||||||
|
|
||||||
local myeconfargs=(
|
|
||||||
$(use_enable nls)
|
|
||||||
)
|
|
||||||
|
|
||||||
econf "${myeconfargs[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
|
|
||||||
# This one is installed by dev-util/yacc
|
|
||||||
mv "${ED}"/usr/bin/yacc{,.bison} || die
|
|
||||||
mv "${ED}"/usr/share/man/man1/yacc{,.bison}.1 || die
|
|
||||||
|
|
||||||
# We do not need liby.a
|
|
||||||
rm -r "${ED}"/usr/lib* || die
|
|
||||||
|
|
||||||
# Examples are about 200K, so let's make them optional still for now.
|
|
||||||
if ! use examples ; then
|
|
||||||
rm -r "${ED}"/usr/share/doc/${PF}/examples/ || die
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
local f="${EROOT}/usr/bin/yacc"
|
|
||||||
if [[ ! -e ${f} ]] ; then
|
|
||||||
ln -s yacc.bison "${f}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
# clean up the dead symlink when we get unmerged #377469
|
|
||||||
local f="${EROOT}/usr/bin/yacc"
|
|
||||||
if [[ -L ${f} && ! -e ${f} ]] ; then
|
|
||||||
rm -f "${f}"
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,17 +1,19 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
inherit flag-o-matic
|
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/bison.asc
|
||||||
|
inherit flag-o-matic verify-sig
|
||||||
|
|
||||||
DESCRIPTION="A general-purpose (yacc-compatible) parser generator"
|
DESCRIPTION="A general-purpose (yacc-compatible) parser generator"
|
||||||
HOMEPAGE="https://www.gnu.org/software/bison/"
|
HOMEPAGE="https://www.gnu.org/software/bison/"
|
||||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
|
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
|
||||||
|
SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )"
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
LICENSE="GPL-3+"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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"
|
||||||
IUSE="examples nls static test"
|
IUSE="examples nls static test"
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
@ -25,6 +27,7 @@ RDEPEND="${DEPEND}"
|
|||||||
BDEPEND="
|
BDEPEND="
|
||||||
sys-devel/flex
|
sys-devel/flex
|
||||||
test? ( dev-lang/perl )
|
test? ( dev-lang/perl )
|
||||||
|
verify-sig? ( sec-keys/openpgp-keys-bison )
|
||||||
"
|
"
|
||||||
|
|
||||||
DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) # ChangeLog-2012 ChangeLog-1998 PACKAGING README-alpha README-release
|
DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) # ChangeLog-2012 ChangeLog-1998 PACKAGING README-alpha README-release
|
||||||
|
@ -5,4 +5,7 @@
|
|||||||
<email>base-system@gentoo.org</email>
|
<email>base-system@gentoo.org</email>
|
||||||
<name>Gentoo Base System</name>
|
<name>Gentoo Base System</name>
|
||||||
</maintainer>
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">akimd/bison</remote-id>
|
||||||
|
</upstream>
|
||||||
</pkgmetadata>
|
</pkgmetadata>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
DIST crossdev-20210621.tar.xz 28588 BLAKE2B 33ff6069c85cbcff6bf34bf5f6dd8050bd5f9d34e3478c0200965dffd4cee46e71acf4210f533c9b22fd6fe979fa5f447d30b5aaa3a6fc0845b201a80dcb28d8 SHA512 8f8bed6ce53503fa4c2bbce4327d8e1d5ce8edab5ff698f11f312007912a2d73be56242269f798bb633ad3648f6cf936e00e019c05e5781b523059befc26f42c
|
DIST crossdev-20211121.tar.xz 28700 BLAKE2B bfe637dcd3c5b6d45e289d6298de18cab4b70b5d21a817a9207b91360b489457b9ee10266a1c2641f8dfac09dffb166bf1565a7e519ba41f84c6d5c2000f5158 SHA512 5189fa7639b819dfffc8f994bb557d8d83f115b82cd61d938db77fdcf16a33cc9d0147f9708b3bed22fdc4ace27ac863436813ebad94876ae767172ac0cbb9ce
|
||||||
DIST crossdev-20210718.tar.xz 28640 BLAKE2B 1e9b9313a5c9a1cb4d82f00e4979794d61b9eaa0035c575ac55092c6c015d820a590c5816d212a4ffad95b96a3dd99a9b94ca7c20b78a7d7b062f16dec6ed329 SHA512 e1a37aebf759abaa30f071f43a528f9059b83456e71fd86fc8202a7eff5c506c1f34fdd260c7b91a03f491b9f2a107ce6a65c2314845a352176fcc5a27a766e2
|
DIST crossdev-20220205.tar.xz 29088 BLAKE2B 46e90557f0a6df49e4f6ab7be6495514a188c4366868290d3b6b879ad1e5741e1600bca237735290f7e9278d441534569853b582cd85b96581c6ae0517cb4c54 SHA512 72e7cf690d49a87b32f6fdad2462fd4156e4e35a3f0b5f30911012a2b7936bb999575f757547a7a805c0cfdd1fd0caa8b23bf61e72c4333096314043ed565f40
|
||||||
DIST crossdev-20211027.tar.xz 28752 BLAKE2B 058d6254c702709c18cc426fe15d7a11cb856336236837a15c0b2cb0c2389198f8b0ea9893e7cdadd6ecdabb3e75c05b64c22448324ce2ea86032cb57e92a5d9 SHA512 6c15d71fb551dcb5cb8e95d7e3b1ecb52b34e47335842408da5acc9d258c1a5fa7e4699681b9b414b1b444df98601aa8b99b2000700485ec6028c076abeafd03
|
DIST crossdev-20220424.tar.xz 29316 BLAKE2B 8b026c165b643262ef934fb2daec5484bc2a2e8c2cafbaca08ecb81c2870a6306dd834c9f72bca8cbe219d1b24274fef0b83a88e301e66d98a1eb0825bb2e161 SHA512 3c2ac2d9c79140c6e0aa7ac9fa7838499f003c6c9c1260abf4b0b7883d2179ef1ded5ab0ba14ca48d471edde5090e22a50fffbf25fd86a32d354a9541e4fd567
|
||||||
|
DIST crossdev-20220617.tar.xz 29396 BLAKE2B e3b39edfb4cbd5808851b56d86646bc879ea875b5e320802d86073236474e3aa80c5dbefc42ef4799528334bfb5a2a0abb5c0b344ebdce39ec01aac59306eb84 SHA512 bdc5ea519e4cd6275e8171ff7cd35c8ae45b6240fefd278997e247c8b0758bff6563f7e2613072e179ec4735155f05236f32385fe13579c5e955f761e0859e43
|
||||||
|
DIST crossdev-20220709.tar.xz 29408 BLAKE2B dc96be5d86b343215564c2c15e91314c5ed88c765cec4f222b08a7e942ab5fb230915a0cdc3245719c0b12b4ce579066c6a88ae8e7ef4e44b80d8f0c5ddf7663 SHA512 f27929db8b4f7036408a0db18d46eb84312e1cef279336e13a07422ed3a154f3a21821d2d5ada66c0fca37bd70750413dab87b795c957a0a81cb9f27ebce2b90
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI="8"
|
||||||
|
|
||||||
if [[ ${PV} == "99999999" ]] ; then
|
if [[ ${PV} == "99999999" ]] ; then
|
||||||
inherit git-r3
|
inherit git-r3
|
||||||
EGIT_REPO_URI="git://anongit.gentoo.org/proj/crossdev.git"
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/crossdev.git"
|
||||||
else
|
else
|
||||||
SRC_URI="mirror://gentoo/${P}.tar.xz
|
SRC_URI="mirror://gentoo/${P}.tar.xz
|
||||||
https://dev.gentoo.org/~sam/distfiles/${P}.tar.xz"
|
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz
|
||||||
|
https://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||||
fi
|
fi
|
||||||
|
|
36
sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20220205.ebuild
vendored
Normal file
36
sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20220205.ebuild
vendored
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI="8"
|
||||||
|
|
||||||
|
if [[ ${PV} == "99999999" ]] ; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/crossdev.git"
|
||||||
|
else
|
||||||
|
SRC_URI="mirror://gentoo/${P}.tar.xz
|
||||||
|
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz
|
||||||
|
https://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
|
||||||
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Gentoo Cross-toolchain generator"
|
||||||
|
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
>=sys-apps/portage-2.1
|
||||||
|
>=app-portage/portage-utils-0.55
|
||||||
|
app-shells/bash
|
||||||
|
sys-apps/gentoo-functions
|
||||||
|
"
|
||||||
|
BDEPEND="app-arch/xz-utils"
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if [[ "${PV}" == "99999999" ]] ; then
|
||||||
|
sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die
|
||||||
|
fi
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI="8"
|
EAPI="8"
|
||||||
@ -7,8 +7,7 @@ if [[ ${PV} == "99999999" ]] ; then
|
|||||||
inherit git-r3
|
inherit git-r3
|
||||||
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/crossdev.git"
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/crossdev.git"
|
||||||
else
|
else
|
||||||
SRC_URI="mirror://gentoo/${P}.tar.xz
|
SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz
|
||||||
https://dev.gentoo.org/~sam/distfiles/${P}.tar.xz
|
|
||||||
https://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
|
https://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||||
fi
|
fi
|
@ -1,14 +1,14 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=8
|
EAPI="8"
|
||||||
|
|
||||||
if [[ ${PV} == "99999999" ]] ; then
|
if [[ ${PV} == "99999999" ]] ; then
|
||||||
inherit git-r3
|
inherit git-r3
|
||||||
EGIT_REPO_URI="git://anongit.gentoo.org/proj/crossdev.git"
|
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/crossdev.git"
|
||||||
else
|
else
|
||||||
SRC_URI="mirror://gentoo/${P}.tar.xz
|
SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz
|
||||||
https://dev.gentoo.org/~sam/distfiles/${P}.tar.xz"
|
https://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ BDEPEND="app-arch/xz-utils"
|
|||||||
src_install() {
|
src_install() {
|
||||||
default
|
default
|
||||||
|
|
||||||
if [[ "${PV}" == "99999999" ]] ; then
|
if [[ ${PV} == "99999999" ]] ; then
|
||||||
sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die
|
sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die
|
||||||
fi
|
fi
|
||||||
}
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user