From c8a77dfe4d3d307c1d5dd2650b7297447d8b609d Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 12 Jan 2019 16:58:08 +0000 Subject: gentoo resync : 12.01.2019 --- sys-libs/Manifest.gz | Bin 15940 -> 15946 bytes sys-libs/efivar/Manifest | 4 +- sys-libs/efivar/efivar-36.ebuild | 38 - sys-libs/efivar/efivar-37.ebuild | 4 +- sys-libs/glibc/Manifest | 2 + sys-libs/glibc/glibc-2.28-r5.ebuild | 1411 ++++++++++++++++++++ sys-libs/libselinux/Manifest | 2 +- sys-libs/libselinux/libselinux-2.8-r1.ebuild | 4 +- sys-libs/musl/Manifest | 2 +- sys-libs/musl/musl-1.1.20-r1.ebuild | 4 +- sys-libs/openipmi/Manifest | 6 +- sys-libs/openipmi/openipmi-2.0.22.ebuild | 3 +- sys-libs/openipmi/openipmi-2.0.25.ebuild | 3 +- sys-libs/openipmi/openipmi-2.0.26.ebuild | 3 +- sys-libs/readline/Manifest | 3 + sys-libs/readline/files/readline-8.0-headers.patch | 17 + sys-libs/readline/readline-8.0.ebuild | 173 +++ sys-libs/timezone-data/Manifest | 6 +- .../timezone-data/timezone-data-2018g-r1.ebuild | 173 --- sys-libs/timezone-data/timezone-data-2018i.ebuild | 178 +++ sys-libs/uclibc-ng/Manifest | 4 +- sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild | 2 +- sys-libs/uclibc-ng/uclibc-ng-9999.ebuild | 18 +- 23 files changed, 1818 insertions(+), 242 deletions(-) delete mode 100644 sys-libs/efivar/efivar-36.ebuild create mode 100644 sys-libs/glibc/glibc-2.28-r5.ebuild create mode 100644 sys-libs/readline/files/readline-8.0-headers.patch create mode 100644 sys-libs/readline/readline-8.0.ebuild delete mode 100644 sys-libs/timezone-data/timezone-data-2018g-r1.ebuild create mode 100644 sys-libs/timezone-data/timezone-data-2018i.ebuild (limited to 'sys-libs') diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz index e67112a119f1..da55351fe203 100644 Binary files a/sys-libs/Manifest.gz and b/sys-libs/Manifest.gz differ diff --git a/sys-libs/efivar/Manifest b/sys-libs/efivar/Manifest index 6cf2f1526a1b..5b38290c1d31 100644 --- a/sys-libs/efivar/Manifest +++ b/sys-libs/efivar/Manifest @@ -3,13 +3,11 @@ DIST efivar-30.tar.bz2 73202 BLAKE2B 6b146cb6d664e3419361e72ab6fd1578522e7fc2196 DIST efivar-31.tar.bz2 82404 BLAKE2B d339aa8ab7dcd6a60cb067fccfbc2c42407fba211ca96eb39f227d57e9403462505940f427651dfaffa8272c9edfe70898f181b9f6ecddbae4745eb3262de949 SHA512 5055f690fd99cf59895dcf3d11103494d917d4923567626f0bee816ea5e4dd56cec23627ede5f21bdc57b7306522471ad19cc8ab22ae94591dbd1925c084f163 DIST efivar-32.tar.gz 108102 BLAKE2B 7f9d27433b40ec6c044ab34ccc697001ad23e39a46862d2e04db0f9a3dfc26ae53b46a3c3a8c957bf76df0969710f78249f72f7bf38e67c0aa902034a07acf8f SHA512 e73eae182fd645183dfe587591a286670ee1123a113e3e19e4070fb910ab7794e320defdc0597540df7664947f2a0497abbb763a19b4dfa40511a512c7f3e490 DIST efivar-35.tar.bz2 95528 BLAKE2B c936114aade7a586f707af2464d350703234e0c3fb786fb568590737fb3939c3f74ff813f4f188aec230d75e75e73b0d07cbff5860f0b9f1285d2780b29c7689 SHA512 c7ba60b2112053f088ad0b74aaa834860601b7fe17118c35b012050176f5205d948fba9c4b6de35991249f702e3bc24832539e2eb3c235c4188e1eabc78965ee -DIST efivar-36.tar.bz2 105928 BLAKE2B bcaff4e81d7591e3655d3e2b150c6f7006335b6dd1981bcd7b5a658e93adee4f7fa6d0dd6ce5b9854b5b409e2a4b7db692d4d670670dc34660035c840a18682d SHA512 951feabe2d238826fdd6e74e8f7a24f04d705f9ef925cfcfb852944d2d7a4f04e3a6c23f276c40e5564da42614558941dbe7aaf21efa6a722a616e4d165aba2d DIST efivar-37.tar.bz2 109431 BLAKE2B 813d477d31562b773f6e19f20e9e237b94beed437ce221771770e7d46ff0e657530285f035dc942cc20609185be92dc50319bfe8e10dee642c8bd88403ef6ffe SHA512 305a82ed103c7e3d8f723934019d552677c73558768dd5341f87d0364f5c60824d24f5a8e1bf90075e825908085083d4ecdccec5ac757fd38ee6ac8fea28c3e4 EBUILD efivar-30.ebuild 956 BLAKE2B 617ae40f78ecb76e5b81c2b47fce467738394151021cddaaab484acc843a440d24b7af2d6a2b24f540d5f7f8bfb0af49ab5ad068e85b772ed0232747206cb824 SHA512 9c29f7fd850e4821ff642475828015c5960b47015114cbac0b913e2a02063c3cc1525e4458c9857cce1be9c32a82bb378fe49a4fb67eae60db35528da73491a9 EBUILD efivar-31.ebuild 809 BLAKE2B d0ca028356842cadf5f052aa86c8383de0ce22d42edcc5146afb018f62d95cfbe2894ee60365d14fc2ab6df5177d282fc0f18c4bf9a4473d2e04cdf4235ce8d5 SHA512 63897e051ef4b474cb1bba5928935773d1de71ba18c2b18b439b6333570628375db6a9e20d33539187bb38eac60ecf06b265ae6609cd0686ae2fe8a1920066ae EBUILD efivar-32-r1.ebuild 946 BLAKE2B 815cbe5f43f3ffa65ee94d581b24d001b7f8d14d18b0ac831058555d12e1ac3e2bcca242f437d94326c35dc148154b1203088630e67b3bbc54fe8ec83b715921 SHA512 8c9c99a39b0fad8fdc4c96a24b281db6b1174c1dc4f9769fc789bddd0b0ae06ffdd36e7bda9f103240a136daace83883be0846de9d0975c2e9f002f2d3c01e46 EBUILD efivar-32.ebuild 887 BLAKE2B 753d7b2b7a44e0123a5eeafa8ccb861731872873a064c9e5981d5b2f8202fac9be0cdc7e14249e81f25289acb25579da4ccc6bc85c7a2211b58ce3e30734de22 SHA512 22baa7fe2befa4f1c1858e2d955e31043c46a9b18fa3b192c69874b150d1815e5febb53c0d5d78fa0ef4e81b271ab381fcb050318052f52c67cbc2d6f4e6ca78 EBUILD efivar-35.ebuild 854 BLAKE2B 9530db8cc261a2fb86502700764dbf77f16879b4746e210c064db97dc057c1c70fc9e16f52d888708dccdfe875a5127f06aaffdf975003ec57208602802647cd SHA512 ecaa5a9b57f6c62aa7a725eaebc53c93eb8df1a4178a6cfdd976cbff7f6eaf7ef2840d99a131afed9938585b8e2e5e2b853b8d2b4826dcf6653976b730cf4e86 -EBUILD efivar-36.ebuild 854 BLAKE2B 9530db8cc261a2fb86502700764dbf77f16879b4746e210c064db97dc057c1c70fc9e16f52d888708dccdfe875a5127f06aaffdf975003ec57208602802647cd SHA512 ecaa5a9b57f6c62aa7a725eaebc53c93eb8df1a4178a6cfdd976cbff7f6eaf7ef2840d99a131afed9938585b8e2e5e2b853b8d2b4826dcf6653976b730cf4e86 -EBUILD efivar-37.ebuild 854 BLAKE2B 9530db8cc261a2fb86502700764dbf77f16879b4746e210c064db97dc057c1c70fc9e16f52d888708dccdfe875a5127f06aaffdf975003ec57208602802647cd SHA512 ecaa5a9b57f6c62aa7a725eaebc53c93eb8df1a4178a6cfdd976cbff7f6eaf7ef2840d99a131afed9938585b8e2e5e2b853b8d2b4826dcf6653976b730cf4e86 +EBUILD efivar-37.ebuild 853 BLAKE2B 1fc3086d9955c8ac4b2179ab15a14be3c1e3f156e99db01165b9ea7b96d50b8e7b9952a7497d20c311839fa6ce7c4ae31c6bb960e89a80a322b718119cf07387 SHA512 17424db3ce54e388b4e1c5ea49c865ac8faf23d5a20a0cb7a58d79cef2bf9ecf6300129a5186452d2034c6502fd9fa65dc96e99955a9ef9cd7c59a9693ea5b9c MISC metadata.xml 329 BLAKE2B afbb6532a53f86d455f8e77511ef1064efaa3d231ddd9023176629863f396224f733f3b15a91465ecdd878542e1af189420d7125dcb7f1de65debd613f4182e7 SHA512 a349c5ce7e3ad96d816b52ee35e6547bfb1f4cf9ebd60426ac90b84d67adb0728ab9dcccf93754ad7c71614b0fbd82a1a02fc3fde07e15d12d960d1a7fc088df diff --git a/sys-libs/efivar/efivar-36.ebuild b/sys-libs/efivar/efivar-36.ebuild deleted file mode 100644 index b050cddcf60d..000000000000 --- a/sys-libs/efivar/efivar-36.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit flag-o-matic toolchain-funcs - -DESCRIPTION="Tools and library to manipulate EFI variables" -HOMEPAGE="https://github.com/rhinstaller/efivar" -SRC_URI="https://github.com/rhinstaller/efivar/releases/download/${PV}/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0/1" -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~x86" - -RDEPEND="dev-libs/popt" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-3.18 - virtual/pkgconfig -" - -src_prepare() { - default - sed -i -e 's/-Werror //' gcc.specs || die -} - -src_configure() { - tc-export CC - export CC_FOR_BUILD=$(tc-getBUILD_CC) - tc-ld-disable-gold - export libdir="/usr/$(get_libdir)" - unset LIBS # Bug 562004 - - if [[ -n ${GCC_SPECS} ]]; then - # The environment overrides the command line. - GCC_SPECS+=":${S}/gcc.specs" - fi -} diff --git a/sys-libs/efivar/efivar-37.ebuild b/sys-libs/efivar/efivar-37.ebuild index b050cddcf60d..ca9c71b8bfe7 100644 --- a/sys-libs/efivar/efivar-37.ebuild +++ b/sys-libs/efivar/efivar-37.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -11,7 +11,7 @@ SRC_URI="https://github.com/rhinstaller/efivar/releases/download/${PV}/${P}.tar. LICENSE="GPL-2" SLOT="0/1" -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 x86" RDEPEND="dev-libs/popt" DEPEND="${RDEPEND} diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index adc343181bc1..053d35bfde0c 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -32,6 +32,7 @@ DIST glibc-2.26.tar.xz 14682748 BLAKE2B c1c9dbec110dd4e25b2f463a96d8afc43b8e3ebf DIST glibc-2.27-patches-3.tar.bz2 166511 BLAKE2B 1dc54bef6e82112935c7411f7a5cd07c1edb24c3edaa1e0243b846b3832a40af1ba3a7b77aef04c54a173388156b464ea442fa8310a02e6f44e2ed5b78994286 SHA512 12496e9b0c60630dbec4c2febdd6d20df1f3d7a2c243cc55b595202b27f682b9208e16cd8c387687c0cc9e18b36c3caeef8d1b1148eb3ee8081431997270db5e DIST glibc-2.27.tar.xz 15395316 BLAKE2B ea206d304c8c9aa86d69db981a14bea008602cea06a6c151c4971a8df059949ffe5632b42a67ab0ffcd7c4d7ce1ec02ac48815dac4dade1c4dd41eaee8a6ed33 SHA512 7c5581154487d38d173ce1feb944e60207139cca148bccf066eaae322c0c2d219423bdcfa15c7f9be1b5e45dfc43c641cc5d80d3c3c65837d08a83cdb4e2a147 DIST glibc-2.28-patches-6.tar.xz 89724 BLAKE2B f846534dc912f11ed9b22badfd28ef0402451654390756d2f6332f52ce7c2d3491ed90bbdf2553d7bb38caea6373ad2d3c19e4a1f31f3669948f4e2cbaeb1577 SHA512 f687febde875bb8adb7a61408caea3db99bbbda703eb3486c7d5c09540515e657eda406bf14686498e2c093355c72395502a343201e02cfc97adf6483d8e7455 +DIST glibc-2.28-patches-8.tar.xz 97384 BLAKE2B 036ab39103aa30be61fcbb46a7103cf83c1dd490eeff526444d4701b92e06a428133de2d005d65a296f14f28145f143a2386f8b17df721174a0a0b5303e99931 SHA512 29695212d8ca9c4b6d4787f4919b75cb0828ddecce65d65683b746ed23acb50e4e18419a13bb6ee4a234f44f63b38a2eebf1f1ce3d350435c2bf21d6076a97a6 DIST glibc-2.28.tar.xz 16484344 BLAKE2B 9aa8cbd5a145c2a6fde3a60b3d0a14b12b46ed79333ad1ca3e73464adcfe700277a17a9e7fd0ca36e355a0c5b0b27decfa091da320ba802741ad75cc955bbcc8 SHA512 521f820953ff07c69ece4c2186f59fc061a7f9747932cd70ef2995c2b2deee76eeb6de700d85071cdca5949179aa8ccee75eda7feca1394121ec7b821ad0a3f3 DIST glibc-9999-patches-10.tar.xz 17544 BLAKE2B 1cd4fa14b2168e371c769c06a29f36d6dbd3beccb796788470b63282cb8e5c3c497e4eb3800e4bc86c07d3b82935d71dc96dc3155178d52b68873ea38a271a70 SHA512 bbd376ad87fb71de7a6a4eb28030aa1550f7cca57e521d2a326cab63a66e2dc784b93319190f8bb1b24b335acc604d0523c3ea8335a4424373796ebeb79f273b EBUILD glibc-2.19-r2.ebuild 40484 BLAKE2B 9e78b3fcbf40c7c32fd9a7ba0f4c9d31277aa0d5465342b5af1a8115d4dbb9bc34e4dd0be6fe6abca2497306ef84018b62969ff2a2d28eeb092e204a60972714 SHA512 6ee461bd816a33b5eb37e3d7c107e09ebb912ce9cb26620e7bedadf31a5a874c822148859973d4e60931a46b668ce743b7ff04fa3df99f0089251ae653021750 @@ -43,5 +44,6 @@ EBUILD glibc-2.25-r11.ebuild 4975 BLAKE2B cef32f5d160644845e7cf45a9dd4c8cef1dcff EBUILD glibc-2.26-r7.ebuild 25496 BLAKE2B 3edbb2f56d81869f86bd357772c27eb9516a1a0fbbda024412c8588df0b7938c77afc46430ea8b01bfe012eb5097f58b989411d4953d09d9202c33eeea562708 SHA512 e28a2cf8f692e6526fcbee2d9317dbb4cb8a4c249e4b60ed5b3522dc8c4627248b4a4bad0c32192adf0f650f3f002b8e25ebc7038fe0daf959f0dcde0bfe1bc4 EBUILD glibc-2.27-r6.ebuild 41406 BLAKE2B f76ab4130979c09e19f0c7a8d796f1dbda896a0331c5209bc53d4f926fac22dafab33dadfe8c5f4fda3fec068f6f76101372e8b492a61c29db8734a0585afe48 SHA512 52ce249e2a20efb3fa012656249be637ff1059aec9981b85bd6d0311384e2427b15658fd156e7bd1f4032f01c90cbaa76bf5c485f35a80b0708cdcf21761df67 EBUILD glibc-2.28-r4.ebuild 41164 BLAKE2B 993c0d17a661a5c1a4403be6ec344232f5ce5831e599f6ae6d1ed156234a21e85e4bff1d43a63e5c70aab031edc5439673e755d88f9dc313f3e5e28be732af20 SHA512 c51411a717781762e68078bb77fbe18ccd80164ba6f8a63cf690994466ef02c056b7a76fd40dca4a9fd95f42278e4d393288bb2d6825f57b8423d5679d759f47 +EBUILD glibc-2.28-r5.ebuild 41164 BLAKE2B cae79079841d39b38ea84a5b4d844ef1365f10ef2c890599ffea131db39f9d8c2c80c5aaaf2c81945122fa79f7568896c803adc40b8ae63136c233f6ae27f36b SHA512 32700d26887dda84f061bca006fab816d1dfde0cc5c8b0c93bf7157a9e93e8a287f64722e819ede8def50f9fb1d2fc231a6fa7b6813fd171484f9d6ea9d7a8db EBUILD glibc-9999.ebuild 41110 BLAKE2B f10056c1aeeaaae9af5510aeba211f448e2b0e6525e74c7162bd0a3f7afb471ef09888128e4d5a07b9cb41195650d44a3a5c5deda2b8033744aca7486c67fab9 SHA512 8e3b77823ecc335a2d31a52ea0140107cd0f01896d59dc4c18c32a4b7abcd135c26ac9cd500e86d1732cbe525fd487cc012245684f588f43c3ea44288f89a8d5 MISC metadata.xml 1265 BLAKE2B 0d494de7b6fda57a4f401eace7b8c02c4ea78a65a1a41a4a1c33b48ff0960f5e240ffbacbc3191bc0d463bcf3ef9e6b374c7b3d7482c5ca1b3d8d2b9b88cef88 SHA512 f92825278b07ef97cc8aa50ad342c1433e02bcbf6911bc8d6a890fa30e7f225fdee036c74db26d656023ba0d79aa828455b754b66775b0d7b2a290bfedce50f0 diff --git a/sys-libs/glibc/glibc-2.28-r5.ebuild b/sys-libs/glibc/glibc-2.28-r5.ebuild new file mode 100644 index 000000000000..0c69246759a4 --- /dev/null +++ b/sys-libs/glibc/glibc-2.28-r5.ebuild @@ -0,0 +1,1411 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit prefix eutils eapi7-ver toolchain-funcs flag-o-matic gnuconfig \ + multilib systemd multiprocessing + +DESCRIPTION="GNU libc C library" +HOMEPAGE="https://www.gnu.org/software/libc/" +LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" +RESTRICT="strip" # Strip ourself #46186 +SLOT="2.2" + +EMULTILIB_PKG="true" + +if [[ ${PV} == 9999* ]]; then + EGIT_REPO_URI="https://sourceware.org/git/glibc.git" + inherit git-r3 +else + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" + SRC_URI="mirror://gnu/glibc/${P}.tar.xz" +fi + +RELEASE_VER=${PV} + +GCC_BOOTSTRAP_VER=20180511 + +# Gentoo patchset +PATCH_VER=8 + +SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/${P}-patches-${PATCH_VER}.tar.xz" +SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" + +IUSE="audit caps cet compile-locales doc gd headers-only +multiarch multilib nscd profile selinux suid systemtap test vanilla" + +# Minimum kernel version that glibc requires +MIN_KERN_VER="3.2.0" + +# Here's how the cross-compile logic breaks down ... +# CTARGET - machine that will target the binaries +# CHOST - machine that will host the binaries +# CBUILD - machine that will build the binaries +# If CTARGET != CHOST, it means you want a libc for cross-compiling. +# If CHOST != CBUILD, it means you want to cross-compile the libc. +# CBUILD = CHOST = CTARGET - native build/install +# CBUILD != (CHOST = CTARGET) - cross-compile a native build +# (CBUILD = CHOST) != CTARGET - libc for cross-compiler +# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler +# For install paths: +# CHOST = CTARGET - install into / +# CHOST != CTARGET - install into /usr/CTARGET/ +# +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +# We need a new-enough binutils/gcc to match upstream baseline. +# Also we need to make sure our binutils/gcc supports TLS, +# and that gcc already contains the hardened patches. +COMMON_DEPEND=" + nscd? ( selinux? ( + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap ) + ) ) + suid? ( caps? ( sys-libs/libcap ) ) + selinux? ( sys-libs/libselinux ) + systemtap? ( dev-util/systemtap ) +" +DEPEND="${COMMON_DEPEND} + >=app-misc/pax-utils-0.1.10 + sys-devel/bison + !=net-dns/libidn2-2.0.5 ) +" +RDEPEND="${COMMON_DEPEND} + >=net-dns/libidn2-2.0.5 + sys-apps/gentoo-functions + !sys-kernel/ps3-sources + !sys-libs/nss-db +" + +if [[ ${CATEGORY} == cross-* ]] ; then + DEPEND+=" !headers-only? ( + >=${CATEGORY}/binutils-2.24 + >=${CATEGORY}/gcc-6 + )" + [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers" +else + DEPEND+=" + >=sys-devel/binutils-2.24 + >=sys-devel/gcc-6 + virtual/os-headers + " + RDEPEND+=" vanilla? ( !sys-libs/timezone-data )" + PDEPEND+=" !vanilla? ( sys-libs/timezone-data )" +fi + +# +# Small helper functions +# + +is_crosscompile() { + [[ ${CHOST} != ${CTARGET} ]] +} + +just_headers() { + is_crosscompile && use headers-only +} + +alt_prefix() { + is_crosscompile && echo /usr/${CTARGET} +} + +# We need to be able to set alternative headers for compiling for non-native +# platform. Will also become useful for testing kernel-headers without screwing +# up the whole system. +alt_headers() { + echo ${ALT_HEADERS:=$(alt_prefix)/usr/include} +} + +alt_build_headers() { + if [[ -z ${ALT_BUILD_HEADERS} ]] ; then + ALT_BUILD_HEADERS="${EPREFIX}$(alt_headers)" + if tc-is-cross-compiler ; then + ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers) + if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then + local header_path=$(echo '#include ' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h') + ALT_BUILD_HEADERS=${header_path%/linux/version.h} + fi + fi + fi + echo "${ALT_BUILD_HEADERS}" +} + +alt_libdir() { + echo $(alt_prefix)/$(get_libdir) +} +alt_usrlibdir() { + echo $(alt_prefix)/usr/$(get_libdir) +} + +builddir() { + echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1" +} + +do_compile_test() { + local ret save_cflags=${CFLAGS} + CFLAGS+=" $1" + shift + + pushd "${T}" >/dev/null + + rm -f glibc-test* + printf '%b' "$*" > glibc-test.c + + nonfatal emake -s glibc-test + ret=$? + + popd >/dev/null + + CFLAGS=${save_cflags} + return ${ret} +} + +do_run_test() { + local ret + + if [[ ${MERGE_TYPE} == "binary" ]] ; then + # ignore build failures when installing a binary package #324685 + do_compile_test "" "$@" 2>/dev/null || return 0 + else + if ! do_compile_test "" "$@" ; then + ewarn "Simple build failed ... assuming this is desired #324685" + return 0 + fi + fi + + pushd "${T}" >/dev/null + + ./glibc-test + ret=$? + rm -f glibc-test* + + popd >/dev/null + + return ${ret} +} + +setup_target_flags() { + # This largely mucks with compiler flags. None of which should matter + # when building up just the headers. + just_headers && return 0 + + case $(tc-arch) in + x86) + # -march needed for #185404 #199334 + # TODO: When creating the first glibc cross-compile, this test will + # always fail as it does a full link which in turn requires glibc. + # Probably also applies when changing multilib profile settings (e.g. + # enabling x86 when the profile was amd64-only previously). + # We could change main to _start and pass -nostdlib here so that we + # only test the gcc code compilation. Or we could do a compile and + # then look for the symbol via scanelf. + if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then + local t=${CTARGET_OPT:-${CTARGET}} + t=${t%%-*} + filter-flags '-march=*' + export CFLAGS="-march=${t} ${CFLAGS}" + einfo "Auto adding -march=${t} to CFLAGS #185404" + fi + ;; + amd64) + # -march needed for #185404 #199334 + # Note: This test only matters when the x86 ABI is enabled, so we could + # optimize a bit and elide it. + # TODO: See cross-compile issues listed above for x86. + if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then + local t=${CTARGET_OPT:-${CTARGET}} + t=${t%%-*} + # Normally the target is x86_64-xxx, so turn that into the -march that + # gcc actually accepts. #528708 + [[ ${t} == "x86_64" ]] && t="x86-64" + filter-flags '-march=*' + # ugly, ugly, ugly. ugly. + CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}") + export CFLAGS_x86="${CFLAGS_x86} -march=${t}" + einfo "Auto adding -march=${t} to CFLAGS_x86 #185404" + fi + ;; + mips) + # The mips abi cannot support the GNU style hashes. #233233 + filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both + ;; + sparc) + # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though. + filter-flags "-fcall-used-g7" + append-flags "-fcall-used-g6" + + # If the CHOST is the basic one (e.g. not sparcv9-xxx already), + # try to pick a better one so glibc can use cpu-specific .S files. + # We key off the CFLAGS to get a good value. Also need to handle + # version skew. + # We can't force users to set their CHOST to their exact machine + # as many of these are not recognized by config.sub/gcc and such :(. + # Note: If the mcpu values don't scale, we might try probing CPP defines. + # Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ? + + local cpu + case ${CTARGET} in + sparc64-*) + case $(get-flag mcpu) in + niagara[234]) + if ver_test -ge 2.8 ; then + cpu="sparc64v2" + elif ver_test -ge 2.4 ; then + cpu="sparc64v" + elif ver_test -ge 2.2.3 ; then + cpu="sparc64b" + fi + ;; + niagara) + if ver_test -ge 2.4 ; then + cpu="sparc64v" + elif ver_test -ge 2.2.3 ; then + cpu="sparc64b" + fi + ;; + ultrasparc3) + cpu="sparc64b" + ;; + *) + # We need to force at least v9a because the base build doesn't + # work with just v9. + # https://sourceware.org/bugzilla/show_bug.cgi?id=19477 + [[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a" + ;; + esac + ;; + sparc-*) + case $(get-flag mcpu) in + niagara[234]) + if ver_test -ge 2.8 ; then + cpu="sparcv9v2" + elif ver_test -ge 2.4 ; then + cpu="sparcv9v" + elif ver_test -ge 2.2.3 ; then + cpu="sparcv9b" + else + cpu="sparcv9" + fi + ;; + niagara) + if ver_test -ge 2.4 ; then + cpu="sparcv9v" + elif ver_test -ge 2.2.3 ; then + cpu="sparcv9b" + else + cpu="sparcv9" + fi + ;; + ultrasparc3) + cpu="sparcv9b" + ;; + v9|ultrasparc) + cpu="sparcv9" + ;; + v8|supersparc|hypersparc|leon|leon3) + cpu="sparcv8" + ;; + esac + ;; + esac + [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" + ;; + esac +} + +setup_flags() { + # Make sure host make.conf doesn't pollute us + if is_crosscompile || tc-is-cross-compiler ; then + CHOST=${CTARGET} strip-unsupported-flags + fi + + # Store our CFLAGS because it's changed depending on which CTARGET + # we are building when pulling glibc on a multilib profile + CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}} + CFLAGS=${CFLAGS_BASE} + CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}} + CXXFLAGS=${CXXFLAGS_BASE} + ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}} + ASFLAGS=${ASFLAGS_BASE} + + # Over-zealous CFLAGS can often cause problems. What may work for one + # person may not work for another. To avoid a large influx of bugs + # relating to failed builds, we strip most CFLAGS out to ensure as few + # problems as possible. + strip-flags + strip-unsupported-flags + filter-flags -m32 -m64 '-mabi=*' + + # glibc aborts if rpath is set by LDFLAGS + filter-ldflags '-Wl,-rpath=*' + + # #492892 + filter-flags -frecord-gcc-switches + + unset CBUILD_OPT CTARGET_OPT + if use multilib ; then + CTARGET_OPT=$(get_abi_CTARGET) + [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST) + fi + + setup_target_flags + + if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then + CBUILD_OPT=${CTARGET_OPT} + fi + + # Lock glibc at -O2; we want to be conservative here. + # -fno-strict-aliasing is to work around #155906. + filter-flags '-O?' + append-flags -O2 -fno-strict-aliasing + + filter-flags '-fstack-protector*' +} + +want_tls() { + # Archs that can use TLS (Thread Local Storage) + case $(tc-arch) in + x86) + # requires i486 or better #106556 + [[ ${CTARGET} == i[4567]86* ]] && return 0 + return 1 + ;; + esac + return 0 +} + +want__thread() { + want_tls || return 1 + + # For some reason --with-tls --with__thread is causing segfaults on sparc32. + [[ ${PROFILE_ARCH} == "sparc" ]] && return 1 + + [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD} + + # only test gcc -- can't test linking yet + tc-has-tls -c ${CTARGET} + WANT__THREAD=$? + + return ${WANT__THREAD} +} + +use_multiarch() { + # Allow user to disable runtime arch detection in multilib. + use multiarch || return 1 + # Make sure binutils is new enough to support indirect functions, + # #336792. This funky sed supports gold and bfd linkers. + local bver nver + bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}') + case $(tc-arch ${CTARGET}) in + amd64|x86) nver="2.20" ;; + arm) nver="2.22" ;; + hppa) nver="2.23" ;; + ppc|ppc64) nver="2.20" ;; + # ifunc support was added in 2.23, but glibc also needs + # machinemode which is in 2.24. + s390) nver="2.24" ;; + sparc) nver="2.21" ;; + *) return 1 ;; + esac + ver_test ${bver} -ge ${nver} +} + +# Setup toolchain variables that had historically been defined in the +# profiles for these archs. +setup_env() { + # silly users + unset LD_RUN_PATH + unset LD_ASSUME_KERNEL + + if is_crosscompile || tc-is-cross-compiler ; then + multilib_env ${CTARGET_OPT:-${CTARGET}} + + if ! use multilib ; then + MULTILIB_ABIS=${DEFAULT_ABI} + else + MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}} + fi + + # If the user has CFLAGS_ in their make.conf, use that, + # and fall back on CFLAGS. + local VAR=CFLAGS_${CTARGET//[-.]/_} + CFLAGS=${!VAR-${CFLAGS}} + einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}" + fi + + setup_flags + + export ABI=${ABI:-${DEFAULT_ABI:-default}} + + if use headers-only ; then + # Avoid mixing host's CC and target's CFLAGS_${ABI}: + # At this bootstrap stage we have only binutils for + # target but not compiler yet. + einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." + return 0 + fi + local VAR=CFLAGS_${ABI} + # We need to export CFLAGS with abi information in them because glibc's + # configure script checks CFLAGS for some targets (like mips). Keep + # around the original clean value to avoid appending multiple ABIs on + # top of each other. + : ${__GLIBC_CC:=$(tc-getCC ${CTARGET_OPT:-${CTARGET}})} + export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}" + einfo " $(printf '%15s' 'Manual CC:') ${CC}" +} + +foreach_abi() { + setup_env + + local ret=0 + local abilist="" + if use multilib ; then + abilist=$(get_install_abis) + else + abilist=${DEFAULT_ABI} + fi + local -x ABI + for ABI in ${abilist:-default} ; do + setup_env + einfo "Running $1 for ABI ${ABI}" + $1 + : $(( ret |= $? )) + done + return ${ret} +} + +glibc_banner() { + local b="Gentoo ${PVR}" + [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}" + echo "${b}" +} + +check_devpts() { + # Make sure devpts is mounted correctly for use w/out setuid pt_chown. + + # If merely building the binary package, then there's nothing to verify. + [[ ${MERGE_TYPE} == "buildonly" ]] && return + + # Only sanity check when installing the native glibc. + [[ ${ROOT} != "/" ]] && return + + # If they're opting in to the old suid code, then no need to check. + use suid && return + + if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then + eerror "In order to use glibc with USE=-suid, you must make sure that" + eerror "you have devpts mounted at /dev/pts with the gid=5 option." + eerror "Openrc should do this for you, so you should check /etc/fstab" + eerror "and make sure you do not have any invalid settings there." + die "mount & fix your /dev/pts settings" + fi +} + +# The following Kernel version handling functions are mostly copied from portage +# source. It's better not to use linux-info.eclass here since a) it adds too +# much magic, see bug 326693 for some of the arguments, and b) some of the +# functions are just not provided. + +g_get_running_KV() { + uname -r + return $? +} + +g_KV_major() { + [[ -z $1 ]] && return 1 + local KV=$@ + echo "${KV%%.*}" +} + +g_KV_minor() { + [[ -z $1 ]] && return 1 + local KV=$@ + KV=${KV#*.} + echo "${KV%%.*}" +} + +g_KV_micro() { + [[ -z $1 ]] && return 1 + local KV=$@ + KV=${KV#*.*.} + echo "${KV%%[^[:digit:]]*}" +} + +g_KV_to_int() { + [[ -z $1 ]] && return 1 + local KV_MAJOR=$(g_KV_major "$1") + local KV_MINOR=$(g_KV_minor "$1") + local KV_MICRO=$(g_KV_micro "$1") + local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO )) + + # We make version 2.2.0 the minimum version we will handle as + # a sanity check ... if its less, we fail ... + if [[ ${KV_int} -ge 131584 ]] ; then + echo "${KV_int}" + return 0 + fi + return 1 +} + +g_int_to_KV() { + local version=$1 major minor micro + major=$((version / 65536)) + minor=$(((version % 65536) / 256)) + micro=$((version % 256)) + echo ${major}.${minor}.${micro} +} + +eend_KV() { + [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]] + eend $? +} + +get_kheader_version() { + printf '#include \nLINUX_VERSION_CODE\n' | \ + $(tc-getCPP ${CTARGET}) -I "${EPREFIX}/$(alt_build_headers)" - | \ + tail -n 1 +} + +# We collect all sanity checks here. Consistency is not guranteed between +# pkg_ and src_ phases, so we call this function both in pkg_pretend and in +# src_unpack. +sanity_prechecks() { + # Make sure devpts is mounted correctly for use w/out setuid pt_chown + check_devpts + + # Prevent native builds from downgrading + if [[ ${MERGE_TYPE} != "buildonly" ]] && \ + [[ ${ROOT} == "/" ]] && \ + [[ ${CBUILD} == ${CHOST} ]] && \ + [[ ${CHOST} == ${CTARGET} ]] ; then + + # The high rev # is to allow people to downgrade between -r# + # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2 + # should be fine. Hopefully we never actually use a r# this + # high. + if has_version ">${CATEGORY}/${P}-r10000" ; then + eerror "Sanity check to keep you from breaking your system:" + eerror " Downgrading glibc is not supported and a sure way to destruction." + die "Aborting to save your system." + fi + + if ! do_run_test '#include \n#include \nint main(){return syscall(1000)!=-1;}\n' ; then + eerror "Your old kernel is broken. You need to update it to a newer" + eerror "version as syscall() will break. See bug 279260." + die "Old and broken kernel." + fi + fi + + # Users have had a chance to phase themselves, time to give em the boot + if [[ -e ${EROOT}/etc/locale.gen ]] && [[ -e ${EROOT}/etc/locales.build ]] ; then + eerror "You still haven't deleted ${EROOT}/etc/locales.build." + eerror "Do so now after making sure ${EROOT}/etc/locale.gen is kosher." + die "Lazy upgrader detected" + fi + + if [[ ${CTARGET} == i386-* ]] ; then + eerror "i386 CHOSTs are no longer supported." + eerror "Chances are you don't actually want/need i386." + eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml" + die "Please fix your CHOST" + fi + + if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then + ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS." + ewarn "This will result in a 50% performance penalty when running with a 32bit" + ewarn "hypervisor, which is probably not what you want." + fi + + # Check for sanity of /etc/nsswitch.conf + if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then + local entry + for entry in passwd group shadow; do + if ! egrep -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then + eerror "Your ${EROOT}/etc/nsswitch.conf is out of date." + eerror "Please make sure you have 'files' entries for" + eerror "'passwd:', 'group:' and 'shadow:' databases." + eerror "For more details see:" + eerror " https://wiki.gentoo.org/wiki/Project:Toolchain/nsswitch.conf_in_glibc-2.26" + die "nsswitch.conf has no 'files' provider in '${entry}'." + fi + done + fi + + # ABI-specific checks follow here. Hey, we have a lot more specific conditions that + # we test for... + if ! is_crosscompile ; then + if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then + ebegin "Checking that IA32 emulation is enabled in the running kernel" + echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" + local STAT + if "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then + "${T}/check-ia32-emulation.elf32" + STAT=$? + else + # Don't fail here to allow single->multi ABI switch + # or recover from breakage like bug #646424 + ewarn "Failed to compile the ABI test. Broken host glibc?" + STAT=0 + fi + rm -f "${T}/check-ia32-emulation.elf32" + eend $STAT + [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc." + fi + + fi + + # When we actually have to compile something... + if ! just_headers ; then + ebegin "Checking gcc for __thread support" + if ! eend $(want__thread ; echo $?) ; then + echo + eerror "Could not find a gcc that supports the __thread directive!" + eerror "Please update your binutils/gcc and try again." + die "No __thread support in gcc!" + fi + + if [[ ${CTARGET} == *-linux* ]] ; then + local run_kv build_kv want_kv + + run_kv=$(g_get_running_KV) + build_kv=$(g_int_to_KV $(get_kheader_version)) + want_kv=${MIN_KERN_VER} + + if ! is_crosscompile && ! tc-is-cross-compiler ; then + # Building fails on an non-supporting kernel + ebegin "Checking running kernel version (${run_kv} >= ${want_kv})" + if ! eend_KV ${run_kv} ${want_kv} ; then + echo + eerror "You need a kernel of at least ${want_kv}!" + die "Kernel version too low!" + fi + fi + + ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})" + if ! eend_KV ${build_kv} ${want_kv} ; then + echo + eerror "You need linux-headers of at least ${want_kv}!" + die "linux-headers version too low!" + fi + fi + fi +} + +# +# the phases +# + +# pkg_pretend + +pkg_pretend() { + # All the checks... + einfo "Checking general environment sanity." + sanity_prechecks +} + +# src_unpack + +src_unpack() { + # Consistency is not guaranteed between pkg_ and src_ ... + sanity_prechecks + + use multilib && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz + + setup_env + + if [[ -n ${EGIT_REPO_URI} ]] ; then + git-r3_src_unpack + else + unpack ${P}.tar.xz + fi + + cd "${S}" || die + touch locale/C-translit.h || die #185476 #218003 + + cd "${WORKDIR}" || die + unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz +} + +src_prepare() { + if ! use vanilla ; then + elog "Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER}" + eapply "${WORKDIR}"/patches + einfo "Done." + fi + + default + + gnuconfig_update + + cd "${WORKDIR}" + find . -name configure -exec touch {} + + + eprefixify extra/locale/locale-gen + + # Fix permissions on some of the scripts. + chmod u+x "${S}"/scripts/*.sh + + cd "${S}" +} + +glibc_do_configure() { + # Glibc does not work with gold (for various reasons) #269274. + tc-ld-disable-gold + + # CXX isnt handled by the multilib system, so if we dont unset here + # we accumulate crap across abis + unset CXX + + einfo "Configuring glibc for nptl" + + if use doc ; then + export MAKEINFO=makeinfo + else + export MAKEINFO=/dev/null + fi + + local v + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO ; do + einfo " $(printf '%15s' ${v}:) ${!v}" + done + + # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 + # To build .S (assembly) files with the same ABI-specific flags + # upstream currently recommends adding CFLAGS to CC/CXX: + # https://sourceware.org/PR23273 + # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS + # and breaks multiarch support. See 659030#c3 for an example. + # The glibc configure script doesn't properly use LDFLAGS all the time. + export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}" + einfo " $(printf '%15s' 'Manual CC:') ${CC}" + + # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 + export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}" + einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" + + echo + + local myconf=() + + case ${CTARGET} in + powerpc-*) + # Currently gcc on powerpc32 generates invalid code for + # __builtin_return_address(0) calls. Normally programs + # don't do that but malloc hooks in glibc do: + # https://gcc.gnu.org/PR81996 + # https://bugs.gentoo.org/629054 + myconf+=( --enable-stack-protector=no ) + ;; + *) + myconf+=( --enable-stack-protector=all ) + ;; + esac + myconf+=( --enable-stackguard-randomization ) + + # Keep a whitelist of targets supporing IFUNC. glibc's ./configure + # is not robust enough to detect proper support: + # https://bugs.gentoo.org/641216 + # https://sourceware.org/PR22634#c0 + case $(tc-arch ${CTARGET}) in + # Keep whitelist of targets where autodetection mostly works. + amd64|x86|sparc|ppc|ppc64|arm|arm64|s390) ;; + # Blacklist everywhere else + *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;; + esac + + # Enable Intel Control-flow Enforcement Technology on amd64 if requested + case ${CTARGET} in + x86_64-*) myconf+=( $(use_enable cet) ) ;; + *) ;; + esac + + [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) + + myconf+=( --enable-kernel=${MIN_KERN_VER} ) + + # Since SELinux support is only required for nscd, only enable it if: + # 1. USE selinux + # 2. only for the primary ABI on multilib systems + # 3. Not a crosscompile + if ! is_crosscompile && use selinux ; then + if use multilib ; then + if is_final_abi ; then + myconf+=( --with-selinux ) + else + myconf+=( --without-selinux ) + fi + else + myconf+=( --with-selinux ) + fi + else + myconf+=( --without-selinux ) + fi + + # Force a few tests where we always know the answer but + # configure is incapable of finding it. + if is_crosscompile ; then + export \ + libc_cv_c_cleanup=yes \ + libc_cv_forced_unwind=yes + fi + + myconf+=( + --without-cvs + --disable-werror + --enable-bind-now + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + $(use_enable profile) + $(use_with gd) + --with-headers=$(alt_build_headers) + --prefix="${EPREFIX}/usr" + --sysconfdir="${EPREFIX}/etc" + --localstatedir="${EPREFIX}/var" + --libdir='$(prefix)'/$(get_libdir) + --mandir='$(prefix)'/share/man + --infodir='$(prefix)'/share/info + --libexecdir='$(libdir)'/misc/glibc + --with-bugurl=https://bugs.gentoo.org/ + --with-pkgversion="$(glibc_banner)" + $(use_multiarch || echo --disable-multi-arch) + $(use_enable systemtap) + $(use_enable nscd) + ${EXTRA_ECONF} + ) + + # We rely on sys-libs/timezone-data for timezone tools normally. + myconf+=( $(use_enable vanilla timezone-tools) ) + + # These libs don't have configure flags. + ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no) + ac_cv_lib_cap_cap_init=$(usex caps || echo no) + + # There is no configure option for this and we need to export it + # since the glibc build will re-run configure on itself + export libc_cv_rootsbindir="${EPREFIX}/sbin" + export libc_cv_slibdir="${EPREFIX}/$(get_libdir)" + + # We take care of patching our binutils to use both hash styles, + # and many people like to force gnu hash style only, so disable + # this overriding check. #347761 + export libc_cv_hashstyle=no + + local builddir=$(builddir nptl) + mkdir -p "${builddir}" + cd "${builddir}" + set -- "${S}"/configure "${myconf[@]}" + echo "$@" + "$@" || die "failed to configure glibc" + + # ia64 static cross-compilers are a pita in so much that they + # can't produce static ELFs (as the libgcc.a is broken). so + # disable building of the programs for those targets if it + # doesn't work. + # XXX: We could turn this into a compiler test, but ia64 is + # the only one that matters, so this should be fine for now. + if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then + sed -i '1i+link-static = touch $@' config.make + fi + + # If we're trying to migrate between ABI sets, we need + # to lie and use a local copy of gcc. Like if the system + # is built with MULTILIB_ABIS="amd64 x86" but we want to + # add x32 to it, gcc/glibc don't yet support x32. + # + if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib ; then + echo 'main(){}' > "${T}"/test.c + if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then + sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die + fi + fi +} + +glibc_headers_configure() { + export ABI=default + + local builddir=$(builddir "headers") + mkdir -p "${builddir}" + cd "${builddir}" + + # if we don't have a compiler yet, we can't really test it now ... + # hopefully they don't affect header generation, so let's hope for + # the best here ... + local v vars=( + ac_cv_header_cpuid_h=yes + libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes + libc_cv_asm_cfi_directives=yes + libc_cv_broken_visibility_attribute=no + libc_cv_c_cleanup=yes + libc_cv_compiler_powerpc64le_binary128_ok=yes + libc_cv_forced_unwind=yes + libc_cv_gcc___thread=yes + libc_cv_mlong_double_128=yes + libc_cv_mlong_double_128ibm=yes + libc_cv_ppc_machine=yes + libc_cv_ppc_rel16=yes + libc_cv_predef_fortify_source=no + libc_cv_target_power8_ok=yes + libc_cv_visibility_attribute=yes + libc_cv_z_combreloc=yes + libc_cv_z_execstack=yes + libc_cv_z_initfirst=yes + libc_cv_z_nodelete=yes + libc_cv_z_nodlopen=yes + libc_cv_z_relro=yes + libc_mips_abi=${ABI} + libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard) + # These libs don't have configure flags. + ac_cv_lib_audit_audit_log_user_avc_message=no + ac_cv_lib_cap_cap_init=no + ) + + einfo "Forcing cached settings:" + for v in "${vars[@]}" ; do + einfo " ${v}" + export ${v} + done + + local headers_only_arch_CPPFLAGS=() + + # Blow away some random CC settings that screw things up. #550192 + if [[ -d ${S}/sysdeps/mips ]]; then + pushd "${S}"/sysdeps/mips >/dev/null + sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die + sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die + + # Force the mips ABI to the default. This is OK because the set of + # installed headers in this phase is the same between the 3 ABIs. + # If this ever changes, this hack will break, but that's unlikely + # as glibc discourages that behavior. + # https://crbug.com/647033 + sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die + + popd >/dev/null + fi + + case ${CTARGET} in + riscv*) + # RISC-V interrogates the compiler to determine which target to + # build. If building the headers then we don't strictly need a + # RISC-V compiler, so the built-in definitions that are provided + # along with all RISC-V compiler might not exist. This causes + # glibc's RISC-V preconfigure script to blow up. Since we're just + # building the headers any value will actually work here, so just + # pick the standard one (rv64g/lp64d) to make the build scripts + # happy for now -- the headers are all the same anyway so it + # doesn't matter. + headers_only_arch_CPPFLAGS+=( + -D__riscv_xlen=64 + -D__riscv_flen=64 + -D__riscv_float_abi_double=1 + -D__riscv_atomic=1 + ) ;; + esac + + local myconf=() + myconf+=( + --disable-sanity-checks + --enable-hacker-mode + --without-cvs + --disable-werror + --enable-bind-now + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + --with-headers=$(alt_build_headers) + --prefix="${EPREFIX}/usr" + ${EXTRA_ECONF} + ) + + # Nothing is compiled here which would affect the headers for the target. + # So forcing CC/CFLAGS is sane. + local headers_only_CC=$(tc-getBUILD_CC) + local headers_only_CFLAGS="-O1 -pipe" + local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}" + local headers_only_LDFLAGS="" + set -- "${S}"/configure "${myconf[@]}" + echo \ + "CC=${headers_only_CC}" \ + "CFLAGS=${headers_only_CFLAGS}" \ + "CPPFLAGS=${headers_only_CPPFLAGS}" \ + "LDFLAGS=${headers_only_LDFLAGS}" \ + "$@" + CC=${headers_only_CC} \ + CFLAGS=${headers_only_CFLAGS} \ + CPPFLAGS=${headers_only_CPPFLAGS} \ + LDFLAGS="" \ + "$@" || die "failed to configure glibc" +} + +do_src_configure() { + if just_headers ; then + glibc_headers_configure + else + glibc_do_configure nptl + fi +} + +src_configure() { + foreach_abi do_src_configure +} + +do_src_compile() { + emake -C "$(builddir nptl)" || die "make nptl for ${ABI} failed" +} + +src_compile() { + if just_headers ; then + return + fi + + foreach_abi do_src_compile +} + +glibc_src_test() { + cd "$(builddir nptl)" + emake check +} + +do_src_test() { + local ret=0 + + glibc_src_test + : $(( ret |= $? )) + + return ${ret} +} + +src_test() { + if just_headers ; then + return + fi + + # Give tests more time to complete. + export TIMEOUTFACTOR=5 + + foreach_abi do_src_test || die "tests failed" +} + +run_locale_gen() { + # if the host locales.gen contains no entries, we'll install everything + local root="$1" + local locale_list="${root}/etc/locale.gen" + if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then + ewarn "Generating all locales; edit /etc/locale.gen to save time/space" + locale_list="${root}/usr/share/i18n/SUPPORTED" + fi + + locale-gen --jobs $(makeopts_jobs) --config "${locale_list}" \ + --destdir "${root}" +} + +glibc_do_src_install() { + local builddir=$(builddir nptl) + cd "${builddir}" + + emake install_root="${D}$(alt_prefix)" install || die + + # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support + # which come without headers etc. Only needed for binary packages since the + # external net-libs/libnsl has increased soversion. Keep only versioned libraries. + find "${D}" -name "libnsl.a" -delete + find "${D}" -name "libnsl.so" -delete + + # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need + # to infer upstream version: + # '#define VERSION "2.26.90"' -> '2.26.90' + local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h) + + if [[ -e ${ED}$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then + # Move versioned .a file out of libdir to evade portage QA checks + # instead of using gen_usr_ldscript(). We fix ldscript as: + # "GROUP ( /usr/lib64/libm-.a ..." -> "GROUP ( /usr/lib64/glibc-/libm-.a ..." + sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" "${ED}"$(alt_usrlibdir)/libm.a || die + dodir $(alt_usrlibdir)/${P} + mv "${ED}"$(alt_usrlibdir)/libm-${upstream_pv}.a "${ED}"$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die + fi + + # We'll take care of the cache ourselves + rm -f "${ED}"/etc/ld.so.cache + + # Everything past this point just needs to be done once ... + is_final_abi || return 0 + + # Make sure the non-native interp can be found on multilib systems even + # if the main library set isn't installed into the right place. Maybe + # we should query the active gcc for info instead of hardcoding it ? + local i ldso_abi ldso_name + local ldso_abi_list=( + # x86 + amd64 /lib64/ld-linux-x86-64.so.2 + x32 /libx32/ld-linux-x32.so.2 + x86 /lib/ld-linux.so.2 + # mips + o32 /lib/ld.so.1 + n32 /lib32/ld.so.1 + n64 /lib64/ld.so.1 + # powerpc + ppc /lib/ld.so.1 + ppc64 /lib64/ld64.so.1 + # s390 + s390 /lib/ld.so.1 + s390x /lib/ld64.so.1 + # sparc + sparc32 /lib/ld-linux.so.2 + sparc64 /lib64/ld-linux.so.2 + ) + case $(tc-endian) in + little) + ldso_abi_list+=( + # arm + arm64 /lib/ld-linux-aarch64.so.1 + ) + ;; + big) + ldso_abi_list+=( + # arm + arm64 /lib/ld-linux-aarch64_be.so.1 + ) + ;; + esac + if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then + dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib + fi + for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do + ldso_abi=${ldso_abi_list[i]} + has ${ldso_abi} $(get_install_abis) || continue + + ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" + if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then + dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} + fi + done + + # With devpts under Linux mounted properly, we do not need the pt_chown + # binary to be setuid. This is because the default owners/perms will be + # exactly what we want. + if ! use suid ; then + find "${ED}" -name pt_chown -exec chmod -s {} + + fi + + ################################################################# + # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # + # Make sure we install some symlink hacks so that when we build + # a 2nd stage cross-compiler, gcc finds the target system + # headers correctly. See gcc/doc/gccinstall.info + if is_crosscompile ; then + # We need to make sure that /lib and /usr/lib always exists. + # gcc likes to use relative paths to get to its multilibs like + # /usr/lib/../lib64/. So while we don't install any files into + # /usr/lib/, we do need it to exist. + keepdir $(alt_prefix)/lib + keepdir $(alt_prefix)/usr/lib + + dosym usr/include $(alt_prefix)/sys-include + return 0 + fi + + # Files for Debian-style locale updating + dodir /usr/share/i18n + sed \ + -e "/^#/d" \ + -e "/SUPPORTED-LOCALES=/d" \ + -e "s: \\\\::g" -e "s:/: :g" \ + "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \ + || die "generating /usr/share/i18n/SUPPORTED failed" + cd "${WORKDIR}"/extra/locale + dosbin locale-gen + doman *.[0-8] + insinto /etc + doins locale.gen + + # Make sure all the ABI's can find the locales and so we only + # have to generate one set + local a + keepdir /usr/$(get_libdir)/locale + for a in $(get_install_abis) ; do + if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then + dosym ../$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale + fi + done + + cd "${S}" + + # Install misc network config files + insinto /etc + doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf + doins "${WORKDIR}"/extra/etc/*.conf + + if use nscd ; then + doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/nscd)" + + local nscd_args=( + -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):" + ) + + sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd + + systemd_dounit nscd/nscd.service + systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf + else + # Do this since extra/etc/*.conf above might have nscd.conf. + rm -f "${ED}"/etc/nscd.conf + fi + + echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc + doenvd "${T}"/00glibc + + for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do + [[ -s ${d} ]] && dodoc ${d} + done + dodoc -r ChangeLog.old + + # Prevent overwriting of the /etc/localtime symlink. We'll handle the + # creation of the "factory" symlink in pkg_postinst(). + rm -f "${ED}"/etc/localtime + + # Generate all locales if this is a native build as locale generation + if use compile-locales && ! is_crosscompile ; then + run_locale_gen "${ED}" + fi +} + +glibc_headers_install() { + local builddir=$(builddir "headers") + cd "${builddir}" + emake install_root="${D}$(alt_prefix)" install-headers + + insinto $(alt_headers)/gnu + doins "${S}"/include/gnu/stubs.h + + # Make sure we install the sys-include symlink so that when + # we build a 2nd stage cross-compiler, gcc finds the target + # system headers correctly. See gcc/doc/gccinstall.info + dosym usr/include $(alt_prefix)/sys-include +} + +src_strip() { + # gdb is lame and requires some debugging information to remain in + # libpthread, so we need to strip it by hand. libthread_db makes no + # sense stripped as it is only used when debugging. + local pthread=$(has splitdebug ${FEATURES} && echo "libthread_db" || echo "lib{pthread,thread_db}") + env \ + -uRESTRICT \ + CHOST=${CTARGET} \ + STRIP_MASK="/*/{,tls/}${pthread}*" \ + prepallstrip + # if user has stripping enabled and does not have split debug turned on, + # then leave the debugging sections in libpthread. + if ! has nostrip ${FEATURES} && ! has splitdebug ${FEATURES} ; then + ${STRIP:-${CTARGET}-strip} --strip-debug "${ED}"$(alt_prefix)/*/libpthread-*.so + fi +} + +src_install() { + if just_headers ; then + export ABI=default + glibc_headers_install + return + fi + + foreach_abi glibc_do_src_install + src_strip +} + +# Simple test to make sure our new glibc isn't completely broken. +# Make sure we don't test with statically built binaries since +# they will fail. Also, skip if this glibc is a cross compiler. +# +# If coreutils is built with USE=multicall, some of these files +# will just be wrapper scripts, not actual ELFs we can test. +glibc_sanity_check() { + cd / #228809 + + # We enter ${ED} so to avoid trouble if the path contains + # special characters; for instance if the path contains the + # colon character (:), then the linker will try to split it + # and look for the libraries in an unexpected place. This can + # lead to unsafe code execution if the generated prefix is + # within a world-writable directory. + # (e.g. /var/tmp/portage:${HOSTNAME}) + pushd "${ED}"/$(get_libdir) >/dev/null + + local x striptest + for x in cal date env free ls true uname uptime ; do + x=$(type -p ${x}) + [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue + striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue + case ${striptest} in + *"statically linked"*) continue;; + *"ASCII text"*) continue;; + esac + # We need to clear the locale settings as the upgrade might want + # incompatible locale data. This test is not for verifying that. + LC_ALL=C \ + ./ld-*.so --library-path . ${x} > /dev/null \ + || die "simple run test (${x}) failed" + done + + popd >/dev/null +} + +pkg_preinst() { + # nothing to do if just installing headers + just_headers && return + + # prepare /etc/ld.so.conf.d/ for files + mkdir -p "${EROOT}"/etc/ld.so.conf.d + + # Default /etc/hosts.conf:multi to on for systems with small dbs. + if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then + sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf + einfo "Defaulting /etc/host.conf:multi to on" + fi + + [[ ${ROOT} != "/" ]] && return 0 + [[ -d ${ED}/$(get_libdir) ]] || return 0 + [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check +} + +pkg_postinst() { + # nothing to do if just installing headers + just_headers && return + + if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then + # Generate fastloading iconv module configuration file. + "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}" + fi + + if ! is_crosscompile && [[ ${ROOT} == "/" ]] ; then + # Reload init ... if in a chroot or a diff init package, ignore + # errors from this step #253697 + /sbin/telinit U 2>/dev/null + + use compile-locales || run_locale_gen "${EROOT}" + fi + + # Check for sanity of /etc/nsswitch.conf, take 2 + if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then + local entry + for entry in passwd group shadow; do + if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + ewarn "" + ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" + ewarn "removed from glibc and is now provided by the package" + ewarn " sys-auth/libnss-nis" + ewarn "Install it now to keep your NIS setup working." + ewarn "" + fi + done + fi +} diff --git a/sys-libs/libselinux/Manifest b/sys-libs/libselinux/Manifest index 01b00a3fbe00..741d159f96be 100644 --- a/sys-libs/libselinux/Manifest +++ b/sys-libs/libselinux/Manifest @@ -1,7 +1,7 @@ DIST libselinux-2.7.tar.gz 187574 BLAKE2B cc6ee51d5015943dd73fe16efb2ce2478616f43eaf7da55655de50502010e69973c2de13c8a562c8814a31211a8dbd7200fa2f22761f3d0f81fa3a1d3cd1e998 SHA512 415d10306692d4323455b61fb61d7e56e53b9144276ff206d72760e1df9b04ab07c62a4d6f04bf4e5fa708f9f14b21a9801069b16ece0a0aade886950941ab8d DIST libselinux-2.8.tar.gz 187759 BLAKE2B 1e0e1a5aa2230fd6080e921efe871e97fa9412176b72a0c9721f60c6190459e508644fa3370f3b5f513f088428844c7c615cda4567990ddee91c13e1ee88f9ed SHA512 2f15d08888fbef9b0cf7bf01893b513edc6738974e2d0eab7e3f79cef9be79cf966742b0d2693b5d2ec7defddb5f4d6c6f6280be9d4158ed41f7a18d50b9f019 EBUILD libselinux-2.7.ebuild 4019 BLAKE2B f5dfa22a258e893e7b084196a45e45ee3a9b8ceb2da5ebef5b7d329c4e37149197d0cbdf31e569dfaaf4881120a2ec80d25911bf47c1ec4f8ee9ffa55edf48ea SHA512 62ef94ea79e87533e38a9b98128f65dc8cc7179ba4993f2d346d543db0aa3658fc1741028f7e75a645d6e514fd41ea724ed55cf5a094c71c290f6117235dc677 -EBUILD libselinux-2.8-r1.ebuild 4197 BLAKE2B 0e7d31f21d40be4faed9ed44e794f3c9089ef4c41f732b586b513df7c9859d896f3d6d36ea106669854ec88eb80a5fbbf6db000178402e0239b57cda0282cad0 SHA512 8a7e6b81447b46401048df1f0923d1dd6b8a6104c182016091d55a1e34785f75492145150c406824900175d077d0c77f476ff7753c6b998d3514e5e76776529f +EBUILD libselinux-2.8-r1.ebuild 4195 BLAKE2B 112a17e373c8c62e2308823284ac04508b6b1e39992e8e8bb09f91c857a881e4f51480ecca7d2d442dfc7e2b0f1b7578daffd8f33d6498165fdf0917cc729df3 SHA512 3294bfdf9b27ab636a0eaa9b4314a6191b745ed324ea8b69efabf0ddf9143ae064b8c8d1197be34f81dc6cb4fe3bbe5ea338fab95e0b2b6cd77e0f58478c8aca EBUILD libselinux-2.8.ebuild 4126 BLAKE2B b73296f76f807bbf7e881474f554c6597c36c1d61eec06c477d3177bf67d506298d866c180b9f1094147750842359887bddde2e8c561fb60c3d1ef99f61a8230 SHA512 5980c8ac1b1c1e497bd38ff99b3ff78eceda88ae246d95d4e4a9da5325461b1f10572b0c9bfbc530775c2109ffa3b533e4581eabaea56a7dc0d4844697edc603 EBUILD libselinux-9999.ebuild 4197 BLAKE2B 0e7d31f21d40be4faed9ed44e794f3c9089ef4c41f732b586b513df7c9859d896f3d6d36ea106669854ec88eb80a5fbbf6db000178402e0239b57cda0282cad0 SHA512 8a7e6b81447b46401048df1f0923d1dd6b8a6104c182016091d55a1e34785f75492145150c406824900175d077d0c77f476ff7753c6b998d3514e5e76776529f MISC metadata.xml 676 BLAKE2B 530269a4d717ef305f4b15fe02c54e26f6acb9d73d6c7ac6ecd1f947712912f98120820a362e7cdc8e17019e88bc9c30162d54002bdea6facb2c41931e9c54f2 SHA512 7b33e0d113637a129a7894d8720feb9024d67466b86d475fbc3398f514b2ecc28c70dc759952376208d2022a00658eb120fc3561edbb9c7ecdc4404bed5f57a7 diff --git a/sys-libs/libselinux/libselinux-2.8-r1.ebuild b/sys-libs/libselinux/libselinux-2.8-r1.ebuild index 7ff555999a09..10c723c47044 100644 --- a/sys-libs/libselinux/libselinux-2.8-r1.ebuild +++ b/sys-libs/libselinux/libselinux-2.8-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" @@ -21,7 +21,7 @@ if [[ ${PV} == 9999 ]] ; then S="${WORKDIR}/${MY_P}/${PN}" else SRC_URI="https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/${MY_RELEASEDATE}/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86" + KEYWORDS="amd64 ~arm ~arm64 ~mips x86" S="${WORKDIR}/${MY_P}" fi diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest index b774b86c9208..75a349583ada 100644 --- a/sys-libs/musl/Manifest +++ b/sys-libs/musl/Manifest @@ -6,7 +6,7 @@ DIST iconv.c 2577 BLAKE2B 070ca87b30c90ab98c27d5faf7a2fcb64ff7c67ca212ee6072165b DIST musl-1.1.19.tar.gz 960319 BLAKE2B 3e69de2ed9384fe200bb64e603f342a930acf035cf7bac8fe3cd4225800424207df2b73fe6fabf3147fc8023a655839c33f50c0be8e30f51f76b84aba4de30b5 SHA512 abee52d53af4b3c14c9088866c911a24d2b6ef67dc494f38a7a09dfe77250026f77528c24c52469c89cffa8ced2f0fa95badbdcf8d4460c90faba47e3927bcc5 DIST musl-1.1.20.tar.gz 977827 BLAKE2B c8ce3cc1885e8103e1cf9d67183d89e5e222fd317158b20f25a8e1855a3cd5d16c79b4d95ff896fe7262f233141c3f3ca4dfc6a26a2373ab1d29a3c66b904e61 SHA512 d3a7a30aa375ca50d7dcfbd618581d59e1aa5378417f50a0ca5510099336fd74cc9db468e05c93dda3067abd890f6bd47af226c3446bb833adf0a5054bff2e5d EBUILD musl-1.1.19.ebuild 3052 BLAKE2B 5ef489e0ed841a692375c06e85b304eefc046dfe91cd15b9255208ebc34ef571bd8d32074fa0e7babae1d93497e3b5d46295e74e3fd33eab6210d2f08b04c848 SHA512 1eb90564e0f0939fff635a48799c992e8301911a5c1382e0a20975a149eec6bcc5a3f79e3ac51f5e8bcd5ee7bd22bc01aa28ee378be7b684a1c0235af2d6ef0d -EBUILD musl-1.1.20-r1.ebuild 3136 BLAKE2B ac7f9b1413667e9521a19f1f607a1d54253528ca33357d56cace91bdbc5aa48e7c570ef4c04f3c8633077b91e18e19d455423302ed0652a2fe826459b7346faa SHA512 8e37303e3635916ee40f8ac5162786a38c9cb721d8b48922054fd63d9fc665aaf0eb995d1ba4182351ffca38aecc69956bc06ef066fc8b2ae309ce2be72a5a5a +EBUILD musl-1.1.20-r1.ebuild 3131 BLAKE2B aa772ac4c028022eb5bebffeb746b8f9393376966f1b1feaa2d6c10d58d0cabf91bbafd9d70aa37fdf00e458141da01498d9e4c90d28c92538ea5f12ca0fe7ea SHA512 7312e4ed0a7d7de47e8ccaba7d5e752f8afac2d4c2e128500f93101e4cd02702ecf96acf0107e0359df8e96228fc276540541146cc4d062f5687ec26b10dc2ad EBUILD musl-1.1.20.ebuild 3055 BLAKE2B db7546fa0a34f8d422d9413ae4459516b49223072a804b89a8893d156c8e909aeb8cb6c7b31b136300ac88710fc23193cd23f6472bb6eff0bfe871436d1fad82 SHA512 6c9d750ac2db36f9875d738f4e20e3885eae7e870d5ff07d7e87f6445e4e4c6740ab4ae67281ae1c00d93c77540949da8691d65da9760cf769c919da6dcf003f EBUILD musl-9999.ebuild 3057 BLAKE2B 0d689b80a869101edc855978b619d4e668f11886122294f242e27093647c64388c9481fc3d50303ceadeafc6ea37f9e29682e04e2bde0f82da59834bf97ebbcb SHA512 11ee3bc218c99a891c62d7efe4de1fedf650b1614a117c62b9d1469e5c8ffc448385533b5ff9320dc838e7ed8ccd9d5dce24f8fd46787c1f6f027dd54685d348 MISC metadata.xml 452 BLAKE2B f6d26f456e1a1005b0103c6921d59504dcacddfaf9ec3c788f6f626df670ec7e979a8a66626d7de24d0b850651bf095610c191d520b67915a701bf8564189fc4 SHA512 676d8122179a5cb56e0b9c7aeb7f0aec8c19b5d7b604a19c9ee01aeca837a74cc4284e87cc743d0eaf527f0c79afdfeb1f238c204a8a6c1c5590b2718bbc9b03 diff --git a/sys-libs/musl/musl-1.1.20-r1.ebuild b/sys-libs/musl/musl-1.1.20-r1.ebuild index f336112e3797..13a18acc7023 100644 --- a/sys-libs/musl/musl-1.1.20-r1.ebuild +++ b/sys-libs/musl/musl-1.1.20-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -17,7 +17,7 @@ else https://dev.gentoo.org/~blueness/musl-misc/getconf.c https://dev.gentoo.org/~blueness/musl-misc/getent.c https://dev.gentoo.org/~blueness/musl-misc/iconv.c" - KEYWORDS="-* amd64 ~arm ~arm64 ~mips ~ppc x86" + KEYWORDS="-* amd64 arm ~arm64 ~mips ppc x86" fi export CBUILD=${CBUILD:-${CHOST}} diff --git a/sys-libs/openipmi/Manifest b/sys-libs/openipmi/Manifest index aac9ed076657..844054688696 100644 --- a/sys-libs/openipmi/Manifest +++ b/sys-libs/openipmi/Manifest @@ -5,7 +5,7 @@ AUX openipmi-2.0.26-tinfo.patch 808 BLAKE2B fc7545b3610c9ba6a2d8d7075a8db3384659 DIST OpenIPMI-2.0.22.tar.gz 3081893 BLAKE2B 6ec5ec7f61f3033a9d953df4b091522fa5bd891a93dfe648f807548e3dc0f5ffc0d15af9b687379e6749d7b97ee2fd6c7f9e713aaa7423b82bf099fb2d0fb6b8 SHA512 78017fc0b52ce6a83db45f595f50170410120c9f7394429869c177ee40ea5b924bcc0e36bb60f9368a75a2f78ff71c70ae3631ba55a207cfb6eb4f62aa44ff89 DIST OpenIPMI-2.0.25.tar.gz 3212723 BLAKE2B eb0872fe4b06b84cdb6a4e301d4c80940351d8bf14d50e5cd67525a09ba98674cd890852d4692d6b77c4e935646f3bbd5e84202b8b619e65daef99034d7fb016 SHA512 5d89deb5d0d0ff44d6f62a9759577dba92aa58c208477e317aecbd01e71ccf7ba0dab138a1d8feff22d523c85d6ceaee9e478e26834ffcd91949b81d2d9c1f86 DIST OpenIPMI-2.0.26.tar.gz 3124706 BLAKE2B 08afeae1063b404dec3d6f9e5decdf9ac516c0096d8db3c42ff275c280267aa6a202cf4c63c5044cf1d24a95ecd617ad36c15e5c98c6b9cdad2647227f649ae6 SHA512 ffd1ea60727973238461c95373c71e28da04e2fd163bfcb8f5ef9a8ac197b554773231c064cac71c64fc7ccd720085a781fe3c6c8ed3c9dc5cc8ca88fff6f2d0 -EBUILD openipmi-2.0.22.ebuild 2739 BLAKE2B e6e55f84f94eff0f39eb041fe7b1d82f81bcaab2f0eb55c0010bde1e2ace70f4d493663a44ff9b859851556c7e78f7f4835ce8f4df96db2d8cb1a04a0f4ccdda SHA512 43e979f877e17c82ca317ea41d73e84cc9af65496b198b5b0c4f81251f0b47713022de672b105ba447f6e880d42546fa2140ca9dc4fe60f90cdf5c709eb3f5dc -EBUILD openipmi-2.0.25.ebuild 2482 BLAKE2B 07716bb39ccca6ebd4128d4a7f6aa2ac1e0ac2cf30ae19c80240ca15cfee903db1566a9ae560aa02f9dd11189501e91bd417c64528418cf6ed4cd5ebb8e43bd7 SHA512 1f726abce948f14e4b0ad036b5dbb9a7540edd9a692c1de6071fb23a135b0a5e0bb30970c0c0b37f323dd3ec1d34d138280c60e8e822669d4b78e6f4df6a2822 -EBUILD openipmi-2.0.26.ebuild 2516 BLAKE2B 820f7ab46b15c91eeab0f06816734ba78b6bc886d9e5167108c447b19270d392751e0604a7164e8817a75fc8a7042f194a7b51375ed74c8542c37ea843d125d7 SHA512 bcfe9b02a75d659aecc223e4da7ef2039f2e282c9ad6de2b62ba6e8b954cb9961038960d2324ca8bca3302562340fb51d4806c66335c138b9b004dae64331c9e +EBUILD openipmi-2.0.22.ebuild 2758 BLAKE2B 2e9d3b059b62cbfefc31fc0c941f5975c705a6b849014a47f26b7b4a7880114405e7ffda9422ae9dd948f7ad6d6aa5b18c12a9e404e7dc2c204a9089982f5ae1 SHA512 68bef9639ea0d72e20ef4b4c1d0d59307c20c70c702160f90c975daeae5a4ddeddfce7123defde623d7df4fd278eff8a53b501c76c210cf056d3bba975c1ad01 +EBUILD openipmi-2.0.25.ebuild 2501 BLAKE2B c03fb3dd479a032120862dfba9ecb1efb9da591b2a55ad220dfe44ff77411387074672660138d69c84c0a43bd5e380b7bad67bb9d7120d4346f9e12a7a26c426 SHA512 2afe8b31a90cf1652d29e43362815399b1ae4e8eb8e2fb5f7030134d853777bc0f2db2e90e4392fb7617bb3b62734b284c6654400e52f64c74b12854657fe18e +EBUILD openipmi-2.0.26.ebuild 2538 BLAKE2B e560fa3ca1c38da676199f3eda29f5dab8adb037fa3b5b717dbe67e2b8af36a2daf3a737267df9b7db38e8bc792032924c58eb8d458164d3704b0a9a54b36a66 SHA512 aab2dae8346b88c4ffefa34ee5215269bf621d8106c804c33f5c659d410802e4556f12a2e3de394a66477ac3c9d967534c00878999e04dec5503a8e8fad16571 MISC metadata.xml 347 BLAKE2B 4857bbfde0e588b4ad2ac893f826affe46d77ead16c7565fa775580c23fdd35df745a9050b599d0ff333290a155b48cf6d571065abd8b2fe5cc4b2e136f3efc1 SHA512 f67b97714b2b543109c2bc90d8f474df13e8915b7a14fdc3a16b62f1dfbc59ac27c8e64d19429b87a63ee2c1e4812cee26d8fb797591028484b2072b1951231f diff --git a/sys-libs/openipmi/openipmi-2.0.22.ebuild b/sys-libs/openipmi/openipmi-2.0.22.ebuild index 3daad1105d0b..f9a0b23c193b 100644 --- a/sys-libs/openipmi/openipmi-2.0.22.ebuild +++ b/sys-libs/openipmi/openipmi-2.0.22.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -24,6 +24,7 @@ RDEPEND=" dev-libs/glib:2 sys-libs/gdbm:= sys-libs/ncurses:0= + sys-libs/readline:0= crypt? ( dev-libs/openssl:0= ) snmp? ( net-analyzer/net-snmp ) perl? ( dev-lang/perl ) diff --git a/sys-libs/openipmi/openipmi-2.0.25.ebuild b/sys-libs/openipmi/openipmi-2.0.25.ebuild index e000e191fbcc..bcbbd3548fd0 100644 --- a/sys-libs/openipmi/openipmi-2.0.25.ebuild +++ b/sys-libs/openipmi/openipmi-2.0.25.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -24,6 +24,7 @@ RDEPEND=" dev-libs/glib:2 sys-libs/gdbm:= sys-libs/ncurses:0= + sys-libs/readline:0= crypt? ( dev-libs/openssl:0= ) snmp? ( net-analyzer/net-snmp ) perl? ( dev-lang/perl ) diff --git a/sys-libs/openipmi/openipmi-2.0.26.ebuild b/sys-libs/openipmi/openipmi-2.0.26.ebuild index 8a5328f22d64..d129342203a7 100644 --- a/sys-libs/openipmi/openipmi-2.0.26.ebuild +++ b/sys-libs/openipmi/openipmi-2.0.26.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -24,6 +24,7 @@ RDEPEND=" dev-libs/glib:2 sys-libs/gdbm:= sys-libs/ncurses:0= + sys-libs/readline:0= crypt? ( dev-libs/openssl:0= ) snmp? ( net-analyzer/net-snmp ) perl? ( dev-lang/perl ) diff --git a/sys-libs/readline/Manifest b/sys-libs/readline/Manifest index 524d4651889e..05e0b1006090 100644 --- a/sys-libs/readline/Manifest +++ b/sys-libs/readline/Manifest @@ -5,10 +5,12 @@ AUX readline-6.3-read-eof.patch 1913 BLAKE2B 85cbba295d21de00af7cfa361d7976aabfb AUX readline-7.0-headers.patch 550 BLAKE2B 82949940cda6d042923b3dde777fbd66643d80f4c2fd984eb11ef7f0fb48776ba8938d1c8be23087b328ce9b3ad0acd668f5bb4f0bda77b4a992119688a37191 SHA512 fec3d20e1581f35609a9d9f9ee1f48df8f9aa781e1a2cdcde2edf7d149624b5770867feb65a7ba142276d95a3133b768f5589e8041049aa0cf30068d0637b938 AUX readline-7.0-mingw.patch 4464 BLAKE2B 00ca79f7ee128a78d76c3e0adcb8b51f6d3027718cc3a7b2b11660cd4aa9c61b4da15c893c9ad0595becf2c393c0d9e7597b5a772085bfc82974568c30f5b381 SHA512 f416f265c51f4cb05467c29c29abcaabf40ae29d66bb5d3288d35403ccc26903f2a22afef43382e39d7b13ba62732082c60d8f8d10abf7cf7955ee50fc23531b AUX readline-7.0-missing-echo-proto.patch 466 BLAKE2B 251660f1321a36231774d5f03fea971a047688918a8f6498e019cadca43314097aee89ef8a96b104a5382ba0baa1037d500143f4d66e881da76d23f9385faaa9 SHA512 a8458bf62c73f79b980f375b98b33a6fbef59dec28386cd5266e4742a9cf70673e567f999d5682e538a2a47388d6f123d8a4fe4cfe34f19c28d4dafd93a9e10a +AUX readline-8.0-headers.patch 577 BLAKE2B b8fe6cdf51188f68c852d3c9052e7840a0bcb4cd0cd0b25afa82d6fe8697dcb34aa541279010b308427c411a7133c481dd778551069893ad965ce6d3a4a9ff83 SHA512 81695abab2e9fba1b17a4c194b7c72eeb23bbc3ab84cb0716c08388c0ee60adb770ae8efcbbb6a2c7c6adab93dcff12e3a16d0423cf52a0166b38c9efee5c221 DIST readline-4.3.tar.gz 961662 BLAKE2B a7267200b79c8010d08f8aaa4e0ed357eaddb970287b262404074a1e50b0d7865bcee5492730808dc998799a1b64685d3bd91fb7098d1da778e40a2364f16126 SHA512 4dbc4d9f16a453f8cf6adefb5723b0f35ef79b8db7dcdfcdd2d6465cb62ca961035e5e9547bfa46d4cb1370d738b042e0e10f9233c3751925c6bccab41e7d182 DIST readline-5.2.tar.gz 2037705 BLAKE2B df1012925f7cac8aa5d513097de97fa55c801993fbcf651e64468c0255cb27f7a2357613f8ab67791ab7799def57bde34376d3c41e65285689318f4b9cbedf84 SHA512 74318b32c56e888716bda2507228ecc374a24e85b2faeec4778227a9f04eb19de1fc8468c78746954c84f9e616a06dd0f8a4332ba4b438fefb7e222699baa379 DIST readline-6.3.tar.gz 2468560 BLAKE2B 24488ec141734c050ba985a93423692396f105619bae3ce5b109bc68a4f43862bcf3a6fb8d82fec1145d665cdb408765e179379bb35f008d09c441fa2e5739df SHA512 f70efaf46d570b85c7637172b0ee2eb9a4aa73ba38a62bb45075e665929d9701b96fba0aea6c767fd9a2a0d39dfe8e70ab06da08f8524aee76a7c502f370a401 DIST readline-7.0.tar.gz 2910016 BLAKE2B 679b8aa7ce003017b729e6d8d4cb69d0f991578441a3e69005090079e61f6aa48b7ad4d0b1f34b6041528cf33254a1bf3ddb05b60db53a06e443d7922d49d0d4 SHA512 18243189d39bf0d4c8a76cddcce75243c1bae8824c686e9b6ba352667607e5b10c5feb79372a1093c1c388d821841670702e940df12eae94bcebdeed90047870 +DIST readline-8.0.tar.gz 2975937 BLAKE2B 95e08b28cc46582f036379413810ca40c97d4d3bc59a9e03e04e57d531573abfbe955f6f1cb86e39c208bf6c3f4c618cff70a87bec596d0b9120909d6c5a2f69 SHA512 41759d27bc3a258fefd7f4ff3277fa6ab9c21abb7b160e1a75aa8eba547bd90b288514e76264bd94fb0172da8a4faa54aab2c07b68a0356918ecf7f1969e866f DIST readline43-001 1126 BLAKE2B 42e7637b71936b59334dae72589b8b44256af7d3c79bec28490e13fa1fea954ce42afc1f51bb1d592da14c403d0c64565fa8823874d305ad385962b462536b5f SHA512 1bfcaf9fd36d154230682ef66a9561281822f09629f9923acfbacbaafd650974b4d94267e1bf74ab4a66f0e2da95e64894c78373c82bee593bd9afbae4af58bc DIST readline43-002 738 BLAKE2B b4aca8deb8e32c94228c41e6a1e9dd2865e01662b6a8e28307e64b260f4a614d17949cab68aea0c4d2c9ca32a888f11a753cf6849a0a95fc5e9b315ea7e20a1d SHA512 546a7bfab27dd0b77f8b0683b82358a295d47e4e249e01d2e49612a2f113c18580c8276b17451e1edab61a26ddcff0267457a804120d5e0052dfe8e88632ddd2 DIST readline43-003 2202 BLAKE2B 435bf8c01a2c8419e97550c421945e11ad0d6f3326181c2e9e9c66d8baf12b4dc30894bad590532f917bbf30568e93439b49054c7b023179d5dd95aa309a8f8d SHA512 fbabbe5a11c2a17dd0cb47adfb40940c860069f0e99b1478546b0351471663094d032c8049e1a2ca060f4b51835bb6a824276e1864a627711e0805268386cb8e @@ -47,4 +49,5 @@ EBUILD readline-6.3_p8-r3.ebuild 4383 BLAKE2B 51ed7b8cb69f0d776ff9ff55b98eb68f31 EBUILD readline-7.0_p3-r1.ebuild 4842 BLAKE2B 9415a62951536475fbd13f12d424cf6519ec190c22e32fead4665c9596ddec22bac56b2525b3b2702a553fc540c3e8449ebc4565a2815c0e3edc1dd36728b544 SHA512 aa737fe34a90f6ee81f9b36017ace1a89b75e1fd7632d417e129711d5119a9d33331f679dc3b4a0424e67fe9658c18773fc490c8c51ab9114a9c85ee44de615d EBUILD readline-7.0_p3.ebuild 4597 BLAKE2B 4e5d1aa3dff883d9ee4b1dffcf7670e30d7224f6c0496fe305eca3ef3611e060762bba5ac1a57ed4a31ecfe02ee1e600015a0cc997d3ba777eb41898e135cec1 SHA512 cde16dedb5a7a0c2b237c5606bc504aa89ec584940ea32386ad775f07efce7e1ee20ff02f3e6ea031a4edfdba72ee96af8a7e95a415ec3ef2953e101dcbd7340 EBUILD readline-7.0_p5.ebuild 4842 BLAKE2B 9415a62951536475fbd13f12d424cf6519ec190c22e32fead4665c9596ddec22bac56b2525b3b2702a553fc540c3e8449ebc4565a2815c0e3edc1dd36728b544 SHA512 aa737fe34a90f6ee81f9b36017ace1a89b75e1fd7632d417e129711d5119a9d33331f679dc3b4a0424e67fe9658c18773fc490c8c51ab9114a9c85ee44de615d +EBUILD readline-8.0.ebuild 4796 BLAKE2B 94a8e9dee48106c3e55b5df8f27a777af4387441377582b90f4a3eb63e2e5f9bde3adbcbfe93122f1a9cb535f9c8dbb9b14686cddfbcd2e9bdf90ea04260dd59 SHA512 d955b6803b9c4a8933c23cfd619fa8b379bf1ababb45dd00029aa14f792ac0fc69650df45ed0365364d62d16f28c872e650151903262206c2b24ffbce08d635c MISC metadata.xml 394 BLAKE2B e4fee9daaa3d2c66a9425c988c855768ddb74af714f9e259fad1e3a470ab10af041ec8ca82d106fd967317e555a492b35723d60fa913ffac200212af14ca5ae1 SHA512 e27930a59d80535721eda0d3c481b1d13a66915c6d9552d960c9ac788f3dcdb0ef3fc411803a36cc98441ebbb8a4e0c1086bc2bda01511549fbf2921a7017784 diff --git a/sys-libs/readline/files/readline-8.0-headers.patch b/sys-libs/readline/files/readline-8.0-headers.patch new file mode 100644 index 000000000000..f19a3b136ebc --- /dev/null +++ b/sys-libs/readline/files/readline-8.0-headers.patch @@ -0,0 +1,17 @@ +Required by bash-5.0 or else compilation fails: + + bashline.c:69:10: fatal error: readline/rlmbutil.h: No such file or directory + #include + ^~~~~~~~~~~~~~~~~~~~~ + +--- readline-8.0/Makefile.in ++++ readline-8.0/Makefile.in +@@ -153,7 +153,7 @@ + CREATED_TAGS = TAGS tags + + INSTALLED_HEADERS = readline.h chardefs.h keymaps.h history.h tilde.h \ +- rlstdc.h rlconf.h rltypedefs.h ++ rlstdc.h rlconf.h rltypedefs.h rlmbutil.h + + OTHER_DOCS = $(srcdir)/CHANGES $(srcdir)/INSTALL $(srcdir)/README + OTHER_INSTALLED_DOCS = CHANGES INSTALL README diff --git a/sys-libs/readline/readline-8.0.ebuild b/sys-libs/readline/readline-8.0.ebuild new file mode 100644 index 000000000000..8632bb9f9b27 --- /dev/null +++ b/sys-libs/readline/readline-8.0.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic multilib-minimal toolchain-funcs + +# Official patches +# See ftp://ftp.cwru.edu/pub/bash/readline-7.0-patches/ +PLEVEL="${PV##*_p}" +MY_PV="${PV/_p*}" +MY_PV="${MY_PV/_/-}" +MY_P="${PN}-${MY_PV}" +[[ ${PV} != *_p* ]] && PLEVEL=0 +patches() { + [[ ${PLEVEL} -eq 0 ]] && return 1 + local opt=$1 + eval set -- {1..${PLEVEL}} + set -- $(printf "${PN}${MY_PV/\.}-%03d " "$@") + if [[ ${opt} == -s ]] ; then + echo "${@/#/${DISTDIR}/}" + else + local u + for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${PN} ; do + printf "${u}/${PN}-${MY_PV}-patches/%s " "$@" + done + fi +} + +DESCRIPTION="Another cute console display library" +HOMEPAGE="http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html" + +case ${PV} in + *_alpha*|*_beta*|*_rc*) + SRC_URI+=" ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" + ;; + *) + SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz $(patches)" + ;; +esac + +LICENSE="GPL-3" +SLOT="0/8" # subslot matches SONAME major +#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="static-libs utils" + +RDEPEND=">=sys-libs/ncurses-5.9-r3:0=[static-libs?,${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S=${WORKDIR}/${MY_P} + +PATCHES=( + "${FILESDIR}"/${PN}-5.0-no_rpath.patch + "${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch #385091 + "${FILESDIR}"/${PN}-7.0-headers.patch + "${FILESDIR}"/${PN}-8.0-headers.patch +) + +# Needed because we don't want the patches being unpacked +# (which emits annoying and useless error messages) +src_unpack() { + unpack ${MY_P}.tar.gz +} + +src_prepare() { + [[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s) + default + + # Force ncurses linking. #71420 + # Use pkg-config to get the right values. #457558 + local ncurses_libs=$($(tc-getPKG_CONFIG) ncurses --libs) + sed -i \ + -e "/^SHLIB_LIBS=/s:=.*:='${ncurses_libs}':" \ + support/shobj-conf || die + sed -i \ + -e "/^[[:space:]]*LIBS=.-lncurses/s:-lncurses:${ncurses_libs}:" \ + examples/rlfe/configure || die + + # fix building under Gentoo/FreeBSD; upstream FreeBSD deprecated + # objformat for years, so we don't want to rely on that. + sed -i -e '/objformat/s:if .*; then:if true; then:' support/shobj-conf || die + + ln -s ../.. examples/rlfe/readline || die # for local readline headers +} + +src_configure() { + # fix implicit decls with widechar funcs + append-cppflags -D_GNU_SOURCE + # https://lists.gnu.org/archive/html/bug-readline/2010-07/msg00013.html + append-cppflags -Dxrealloc=_rl_realloc -Dxmalloc=_rl_malloc -Dxfree=_rl_free + + # Make sure configure picks a better ar than `ar`. #484866 + export ac_cv_prog_AR=$(tc-getAR) + + # Force the test since we used sed above to force it. + export bash_cv_termcap_lib=ncurses + + # Control cross-compiling cases when we know the right answer. + # In cases where the C library doesn't support wide characters, readline + # itself won't work correctly, so forcing the answer below should be OK. + if tc-is-cross-compiler ; then + use kernel_Winnt || export bash_cv_func_sigsetjmp='present' + export bash_cv_func_ctype_nonascii='yes' + export bash_cv_wcwidth_broken='no' #503312 + fi + + # This is for rlfe, but we need to make sure LDFLAGS doesn't change + # so we can re-use the config cache file between the two. + append-ldflags -L. + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myeconfargs=( + --cache-file="${BUILD_DIR}"/config.cache + --with-curses + $(use_enable static-libs static) + ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" + + if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then + # code is full of AC_TRY_RUN() + mkdir -p examples/rlfe || die + cd examples/rlfe || die + ECONF_SOURCE="${S}"/examples/rlfe \ + econf --cache-file="${BUILD_DIR}"/config.cache + fi +} + +multilib_src_compile() { + emake + + if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then + # code is full of AC_TRY_RUN() + cd examples/rlfe || die + local l + for l in readline history ; do + ln -s ../../shlib/lib${l}$(get_libname)* lib${l}$(get_libname) || die + ln -s ../../lib${l}.a lib${l}.a || die + done + emake + fi +} + +multilib_src_install() { + default + + if multilib_is_native_abi ; then + gen_usr_ldscript -a readline history #4411 + + if use utils && ! tc-is-cross-compiler; then + dobin examples/rlfe/rlfe + fi + fi +} + +multilib_src_install_all() { + HTML_DOCS="doc/history.html doc/readline.html doc/rluserman.html" einstalldocs + dodoc USAGE + docinto ps + dodoc doc/*.ps +} +pkg_preinst() { + # bug #29865 + # Reappeared in #595324 with paludis so keeping this for now... + preserve_old_lib /$(get_libdir)/lib{history,readline}.so.{4,5,6,7} +} + +pkg_postinst() { + preserve_old_lib_notify /$(get_libdir)/lib{history,readline}.so.{4,5,6,7} +} diff --git a/sys-libs/timezone-data/Manifest b/sys-libs/timezone-data/Manifest index 17fd8077cce2..73d4004be770 100644 --- a/sys-libs/timezone-data/Manifest +++ b/sys-libs/timezone-data/Manifest @@ -1,4 +1,4 @@ -DIST tzcode2018g.tar.gz 241541 BLAKE2B 08525661ee6ca0c65c3b2619cc044a79d3b25ff557b9995dac039372eea24d041318ed6927726fb1bdf89991b2fa8a77c792e03e14fc510d06409c0dfc73df95 SHA512 58f89b7323bfe795c5f13039f7527d18b15c9e37fce6e9fa1a402ce2689bf5c772cf1ffb86f23309814a563f9f429da472df1229818b07b1e04f16bdedb21484 -DIST tzdata2018g.tar.gz 366408 BLAKE2B cc1158d35bd398f32741b1ace03a7cd0adb3a94670ea08a7566051901e58692891a3661afdbc71a487f777ecfab72572017476a7a73cdc966bd3c34751eb629e SHA512 92e9bbd61f51be8f2cf7ec9491691e5e2f97803914dbad77b7fb8b6600ed68fc3b98450fc808bb2d4c6c835df5f9eb7bf4529d059d9b1370f2ab4c12e7f1adfa -EBUILD timezone-data-2018g-r1.ebuild 5037 BLAKE2B 4b61d35ba7919cbda14e482ef89a42441b0b0f3cc9a00d0e24083ba41b890a2f42034edc97898925dbcabaa428c075199056db1c184ce3b70040087b968b091f SHA512 4ebd998f74028a850b4cdaa3f93d862891c24a01e4cc8cba22a7858665e8a2c954e912bc9d98dfe8fef2dc4d3f26ebcbed418b0b1d226e6719d2201098e5379d +DIST tzcode2018i.tar.gz 242962 BLAKE2B 682a23c324b6d8e1a0d63c6140c82ca3a24017c0972e7f915ecad5e0838f8f57743ffa2c5d9cc9744739a0e7d791ddb21947618cd11635767800ac99307c9548 SHA512 1a3d53043f20b8252f7598f547d78e7294d9e0cf1fcdd2159354d9769f824c8c8a03cef9cbb7fa579345fdb41372335117d2ef782ecd9c107dd0526e59492d9d +DIST tzdata2018i.tar.gz 377009 BLAKE2B fa28fdac145756368d4760c418742efd558e63fd9900fc4649971b683b162df5e566c6214a79ec46b48fc65af488a7e0e95ddb6176a4f9adb5b39bc634426143 SHA512 6afcacb377842190648ed26f01abcf3db37aa2e7c63d8c509c29b4bc0078b7ff2d4e5375291b9f53498215b9e2f04936bc6145e2f651ae0be6d8166d8d336f6a +EBUILD timezone-data-2018i.ebuild 5181 BLAKE2B 0a6a457653aa4354050ea062ec5b96dd53b2555049cda7a251f0be39862b7fabff87cd93335432d45d1727b774ffa4d27c9116066992ec4c424da5ec1d3a1acd SHA512 72c8ef26ce3b5fbae3fb11da9f9061cfef96754b161648b771a95fbf2fdd5d4b0ee0162f3825222da6cbd218de61217d508bdb03ae9e10a5431a29aa978b8d13 MISC metadata.xml 658 BLAKE2B 75ee5deafa4e9c1336119b2b2b87de6f8520a29f8fa7901c4995bddbb0cb185de9a019ff7703d0a8aa7b2f685a9ec2ca518641ea0c0a1b6123aa05faa04274a1 SHA512 94b68a5195b17cd1a7283a90a42ba9e1dfb0e7dde7c16f48202233cc2fc20ea718a1588b57b2af372e3c35ed403276cdd59456165a225f149a813abff2144c73 diff --git a/sys-libs/timezone-data/timezone-data-2018g-r1.ebuild b/sys-libs/timezone-data/timezone-data-2018g-r1.ebuild deleted file mode 100644 index fa1396ab59a1..000000000000 --- a/sys-libs/timezone-data/timezone-data-2018g-r1.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit toolchain-funcs flag-o-matic - -code_ver=${PV} -data_ver=${PV} -DESCRIPTION="Timezone data (/usr/share/zoneinfo) and utilities (tzselect/zic/zdump)" -HOMEPAGE="https://www.iana.org/time-zones http://www.twinsun.com/tz/tz-link.htm" -SRC_URI="https://www.iana.org/time-zones/repository/releases/tzdata${data_ver}.tar.gz - https://www.iana.org/time-zones/repository/releases/tzcode${code_ver}.tar.gz" - -LICENSE="BSD public-domain" -SLOT="0" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" -IUSE="nls leaps_timezone elibc_FreeBSD" - -DEPEND="nls? ( virtual/libintl )" -RDEPEND="${DEPEND} - !sys-libs/glibc[vanilla(+)]" - -S=${WORKDIR} - -src_prepare() { - default - tc-is-cross-compiler && cp -pR "${S}" "${S}"-native -} - -src_configure() { - tc-export CC - - append-lfs-flags #471102 - - if use elibc_FreeBSD || use elibc_Darwin ; then - append-cppflags -DSTD_INSPIRED #138251 - fi - - append-cppflags -DHAVE_GETTEXT=$(usex nls 1 0) -DTZ_DOMAIN='\"libc\"' - LDLIBS="" - if use nls ; then - # See if an external libintl is available. #154181 #578424 - local c="${T}/test" - echo 'main(){}' > "${c}.c" - if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} "${c}.c" -o "${c}" -lintl 2>/dev/null ; then - LDLIBS+=" -lintl" - fi - fi -} - -_emake() { - emake \ - REDO=$(usex leaps_timezone posix_right posix_only) \ - TZDATA_TEXT= \ - TOPDIR="${EPREFIX}" \ - ZICDIR='$(TOPDIR)/usr/bin' \ - "$@" -} - -src_compile() { - _emake \ - AR="$(tc-getAR)" \ - cc="$(tc-getCC)" \ - RANLIB="$(tc-getRANLIB)" \ - CFLAGS="${CFLAGS} -std=gnu99 ${CPPFLAGS}" \ - LDFLAGS="${LDFLAGS}" \ - LDLIBS="${LDLIBS}" - if tc-is-cross-compiler ; then - _emake -C "${S}"-native \ - AR="$(tc-getBUILD_AR)" \ - cc="$(tc-getBUILD_CC)" \ - RANLIB="$(tc-getBUILD_RANLIB)" \ - CFLAGS="${BUILD_CFLAGS} ${BUILD_CPPFLAGS}" \ - LDFLAGS="${BUILD_LDFLAGS}" \ - LDLIBS="${LDLIBS}" \ - zic - fi -} - -src_test() { - # VALIDATE_ENV is used for extended/web based tests. Punt on them. - emake -j1 check VALIDATE_ENV=true -} - -src_install() { - local zic="" - tc-is-cross-compiler && zic="zic=${S}-native/zic" - _emake install ${zic} DESTDIR="${D}" LIBDIR="/nukeit" - rm -rf "${D}/nukeit" "${ED}/etc" || die - - insinto /usr/share/zoneinfo - doins "${S}"/leap-seconds.list - - # Delete man pages installed by man-pages package. - rm "${ED}"/usr/share/man/man5/tzfile.5* "${ED}"/usr/share/man/man8/{tzselect,zdump,zic}.8 || die - dodoc CONTRIBUTING README NEWS *.html -} - -get_TIMEZONE() { - local tz src="${EROOT}etc/timezone" - if [[ -e ${src} ]] ; then - tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}") - else - tz="FOOKABLOIE" - fi - [[ -z ${tz} ]] && return 1 || echo "${tz}" -} - -pkg_preinst() { - local tz=$(get_TIMEZONE) - if [[ ${tz} == right/* || ${tz} == posix/* ]] ; then - eerror "The right & posix subdirs are no longer installed as subdirs -- they have been" - eerror "relocated to match upstream paths as sibling paths. Further, posix/xxx is the" - eerror "same as xxx, so you should simply drop the posix/ prefix. You also should not" - eerror "be using right/xxx for the system timezone as it breaks programs." - die "Please fix your timezone setting" - fi - - # Trim the symlink by hand to avoid portage's automatic protection checks. - rm -f "${EROOT}"/usr/share/zoneinfo/posix - - if has_version "<=${CATEGORY}/${PN}-2015c" ; then - elog "Support for accessing posix/ and right/ directly has been dropped to match" - elog "upstream. There is no need to set TZ=posix/xxx as it is the same as TZ=xxx." - elog "For TZ=right/, you can use TZ=../zoneinfo-leaps/xxx instead. See this post" - elog "for details: https://mm.icann.org/pipermail/tz/2015-February/022024.html" - fi -} - -configure_tz_data() { - # make sure the /etc/localtime file does not get stale #127899 - local tz src="${EROOT}etc/timezone" etc_lt="${EROOT}etc/localtime" - - # If it's a symlink, assume the user knows what they're doing and - # they're managing it themselves. #511474 - if [[ -L ${etc_lt} ]] ; then - einfo "Assuming your ${etc_lt} symlink is what you want; skipping update." - return 0 - fi - - if ! tz=$(get_TIMEZONE) ; then - einfo "Assuming your empty ${etc_lt} file is what you want; skipping update." - return 0 - fi - if [[ ${tz} == "FOOKABLOIE" ]] ; then - elog "You do not have TIMEZONE set in ${src}." - - if [[ ! -e ${etc_lt} ]] ; then - cp -f "${EROOT}"/usr/share/zoneinfo/Factory "${etc_lt}" - elog "Setting ${etc_lt} to Factory." - else - elog "Skipping auto-update of ${etc_lt}." - fi - return 0 - fi - - if [[ ! -e ${EROOT}/usr/share/zoneinfo/${tz} ]] ; then - elog "You have an invalid TIMEZONE setting in ${src}" - elog "Your ${etc_lt} has been reset to Factory; enjoy!" - tz="Factory" - fi - einfo "Updating ${etc_lt} with ${EROOT}usr/share/zoneinfo/${tz}" - cp -f "${EROOT}"/usr/share/zoneinfo/"${tz}" "${etc_lt}" -} - -pkg_config() { - configure_tz_data -} - -pkg_postinst() { - configure_tz_data -} diff --git a/sys-libs/timezone-data/timezone-data-2018i.ebuild b/sys-libs/timezone-data/timezone-data-2018i.ebuild new file mode 100644 index 000000000000..2c38c3f65e01 --- /dev/null +++ b/sys-libs/timezone-data/timezone-data-2018i.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit toolchain-funcs flag-o-matic + +code_ver=${PV} +data_ver=${PV} +DESCRIPTION="Timezone data (/usr/share/zoneinfo) and utilities (tzselect/zic/zdump)" +HOMEPAGE="https://www.iana.org/time-zones http://www.twinsun.com/tz/tz-link.htm" +SRC_URI="https://www.iana.org/time-zones/repository/releases/tzdata${data_ver}.tar.gz + https://www.iana.org/time-zones/repository/releases/tzcode${code_ver}.tar.gz" + +LICENSE="BSD public-domain" +SLOT="0" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" +IUSE="nls leaps_timezone elibc_FreeBSD" + +DEPEND="nls? ( virtual/libintl )" +RDEPEND="${DEPEND} + !sys-libs/glibc[vanilla(+)]" + +S=${WORKDIR} + +src_prepare() { + default + + # check_web contacts validator.w3.org + sed -i -e 's/check_tables check_web/check_tables/g' \ + Makefile || die "Failed to disable check_web" + + tc-is-cross-compiler && cp -pR "${S}" "${S}"-native +} + +src_configure() { + tc-export CC + + append-lfs-flags #471102 + + if use elibc_FreeBSD || use elibc_Darwin ; then + append-cppflags -DSTD_INSPIRED #138251 + fi + + append-cppflags -DHAVE_GETTEXT=$(usex nls 1 0) -DTZ_DOMAIN='\"libc\"' + LDLIBS="" + if use nls ; then + # See if an external libintl is available. #154181 #578424 + local c="${T}/test" + echo 'main(){}' > "${c}.c" + if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} "${c}.c" -o "${c}" -lintl 2>/dev/null ; then + LDLIBS+=" -lintl" + fi + fi +} + +_emake() { + emake \ + REDO=$(usex leaps_timezone posix_right posix_only) \ + TZDATA_TEXT= \ + TOPDIR="${EPREFIX}" \ + ZICDIR='$(TOPDIR)/usr/bin' \ + "$@" +} + +src_compile() { + _emake \ + AR="$(tc-getAR)" \ + cc="$(tc-getCC)" \ + RANLIB="$(tc-getRANLIB)" \ + CFLAGS="${CFLAGS} -std=gnu99 ${CPPFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + LDLIBS="${LDLIBS}" + if tc-is-cross-compiler ; then + _emake -C "${S}"-native \ + AR="$(tc-getBUILD_AR)" \ + cc="$(tc-getBUILD_CC)" \ + RANLIB="$(tc-getBUILD_RANLIB)" \ + CFLAGS="${BUILD_CFLAGS} ${BUILD_CPPFLAGS}" \ + LDFLAGS="${BUILD_LDFLAGS}" \ + LDLIBS="${LDLIBS}" \ + zic + fi +} + +src_test() { + # VALIDATE_ENV is used for extended/web based tests. Punt on them. + emake -j1 check VALIDATE_ENV=true +} + +src_install() { + local zic="" + tc-is-cross-compiler && zic="zic=${S}-native/zic" + _emake install ${zic} DESTDIR="${D}" LIBDIR="/nukeit" + rm -rf "${D}/nukeit" "${ED}/etc" || die + + insinto /usr/share/zoneinfo + doins "${S}"/leap-seconds.list + + # Delete man pages installed by man-pages package. + rm "${ED}"/usr/share/man/man5/tzfile.5* "${ED}"/usr/share/man/man8/{tzselect,zdump,zic}.8 || die + dodoc CONTRIBUTING README NEWS *.html +} + +get_TIMEZONE() { + local tz src="${EROOT}etc/timezone" + if [[ -e ${src} ]] ; then + tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}") + else + tz="FOOKABLOIE" + fi + [[ -z ${tz} ]] && return 1 || echo "${tz}" +} + +pkg_preinst() { + local tz=$(get_TIMEZONE) + if [[ ${tz} == right/* || ${tz} == posix/* ]] ; then + eerror "The right & posix subdirs are no longer installed as subdirs -- they have been" + eerror "relocated to match upstream paths as sibling paths. Further, posix/xxx is the" + eerror "same as xxx, so you should simply drop the posix/ prefix. You also should not" + eerror "be using right/xxx for the system timezone as it breaks programs." + die "Please fix your timezone setting" + fi + + # Trim the symlink by hand to avoid portage's automatic protection checks. + rm -f "${EROOT}"/usr/share/zoneinfo/posix + + if has_version "<=${CATEGORY}/${PN}-2015c" ; then + elog "Support for accessing posix/ and right/ directly has been dropped to match" + elog "upstream. There is no need to set TZ=posix/xxx as it is the same as TZ=xxx." + elog "For TZ=right/, you can use TZ=../zoneinfo-leaps/xxx instead. See this post" + elog "for details: https://mm.icann.org/pipermail/tz/2015-February/022024.html" + fi +} + +configure_tz_data() { + # make sure the /etc/localtime file does not get stale #127899 + local tz src="${EROOT}etc/timezone" etc_lt="${EROOT}etc/localtime" + + # If it's a symlink, assume the user knows what they're doing and + # they're managing it themselves. #511474 + if [[ -L ${etc_lt} ]] ; then + einfo "Assuming your ${etc_lt} symlink is what you want; skipping update." + return 0 + fi + + if ! tz=$(get_TIMEZONE) ; then + einfo "Assuming your empty ${etc_lt} file is what you want; skipping update." + return 0 + fi + if [[ ${tz} == "FOOKABLOIE" ]] ; then + elog "You do not have TIMEZONE set in ${src}." + + if [[ ! -e ${etc_lt} ]] ; then + cp -f "${EROOT}"/usr/share/zoneinfo/Factory "${etc_lt}" + elog "Setting ${etc_lt} to Factory." + else + elog "Skipping auto-update of ${etc_lt}." + fi + return 0 + fi + + if [[ ! -e ${EROOT}/usr/share/zoneinfo/${tz} ]] ; then + elog "You have an invalid TIMEZONE setting in ${src}" + elog "Your ${etc_lt} has been reset to Factory; enjoy!" + tz="Factory" + fi + einfo "Updating ${etc_lt} with ${EROOT}usr/share/zoneinfo/${tz}" + cp -f "${EROOT}"/usr/share/zoneinfo/"${tz}" "${etc_lt}" +} + +pkg_config() { + configure_tz_data +} + +pkg_postinst() { + configure_tz_data +} diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest index 8d5165ba4c75..e6b6d34b2b2b 100644 --- a/sys-libs/uclibc-ng/Manifest +++ b/sys-libs/uclibc-ng/Manifest @@ -5,6 +5,6 @@ DIST uClibc-ng-1.0.30.tar.bz2 2302796 BLAKE2B 21888dfe5a68f83b7ba56bb557ecc5aa19 DIST uClibc-ng-1.0.31.tar.bz2 2351728 BLAKE2B e2cad8500fdafdd98db11cbc756f3277845fedf545598c9861b1d1ef51b3a24744afe635d6894929eb537891323b0627577c2a5e5dbe1ff0ae588c5aa53a1219 SHA512 489e5f5e8952ebfad1d8a5528a04420d9d2e58fa5092029ccdae91d81dfcf8b3e00092453432da94c76fc18cab542192040bfb271e367fa42ca4926f4b45c372 EBUILD uclibc-ng-1.0.26.ebuild 10566 BLAKE2B e4eed2c8c9ddfd1f179ac728382eaa4ab588f7117b6dc5337384dcaad58d2decce86c33ad21c02f87547979a35a374497492c3ff2740812788cc2eefc6c24583 SHA512 80db8406a40e370aeb73ab25dbe2b2bb5d5c3d32353eb37fd8f50a00e81bae42ed4ad0fd0aabfef2c519e8e588f8e44b51c69ab9c6c4b0990816b211e45f227d EBUILD uclibc-ng-1.0.30-r1.ebuild 10401 BLAKE2B 0cf25aca41d018074ab302257bae0cdb8365663919a19b1965b015e5c16002a5b31117cc85cb48db5278e149f456bc92dbaf4085250a3d632fbb0a5d82f8c3a9 SHA512 ca9df3d760beb48446d066f30467fe0885703fd62df30be50f7660d77b9a8143da30ba18feff4dc6f06380f6e1e5c57bfd8d8e2a35f07adfbfa0d638a7e1993e -EBUILD uclibc-ng-1.0.31.ebuild 10323 BLAKE2B ef55ea8048aef2f691b887335a488ffd75d7887678ca7610a65ad1e1330f7ead363e1511d30776c19944b8ccfab4bf14b115e486cbc12179c6033fb220e52142 SHA512 bc250e0ec6b408b3acdd5bf3f66b3b43c921c9161e5a3d384e0140947a2ddcba4ae47f4a851dcc8821c54e3784b07a822dbb057ee8945fdb7890892127520691 -EBUILD uclibc-ng-9999.ebuild 10323 BLAKE2B ef55ea8048aef2f691b887335a488ffd75d7887678ca7610a65ad1e1330f7ead363e1511d30776c19944b8ccfab4bf14b115e486cbc12179c6033fb220e52142 SHA512 bc250e0ec6b408b3acdd5bf3f66b3b43c921c9161e5a3d384e0140947a2ddcba4ae47f4a851dcc8821c54e3784b07a822dbb057ee8945fdb7890892127520691 +EBUILD uclibc-ng-1.0.31.ebuild 10319 BLAKE2B f06b14a05e153bb1572bf6b408f93901cf58c44e4dbbbb98dc86ddc9d21f9f190932e996f89238db713214eeac07ec6cf63a153c7f0df56716349345b24479bd SHA512 fb4f76a5621e6ec1b0844e9e443efc26bfea75c3c60b4f3cc1fd2333e7b3e8dd5f3f00480741431aee98c489254f5111d2d9498d9c60f2c405f5eb3a2000e76e +EBUILD uclibc-ng-9999.ebuild 10339 BLAKE2B 57a5c4ad7b5d6aee65872bde3af3712826ae910631b44606454e66de69dca49aa7339746929e1bbcb0cc67de1bb72fc0e4c8e8042e85be27464d3b7f61ee838e SHA512 db0ca38f425b956ce02b9a43202f19d8ec3ea16c303ddc31b7982f7617005cade3406af666506a320332a9fc5c4e2d07b1bbdefa836a78d8684b7231e1b30565 MISC metadata.xml 876 BLAKE2B 218d9d733d3e7a5e29f514e4ac5e46e2a208b76f705d4825b3abe86594e262ec9722bc62df25bd848ef99fa2256d119627d9c9391e66df46f526b60e702f4eab SHA512 b7f00ea703e46028b1be735f0b713a0494f2a8459df0fb8be8c7b35b163cddb399df8a2c18b5f7864e6c4736822914bce40cdcabe44a0172ab1b2abb2474275b diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild index 9e216067cb34..36f1b9db8bb7 100644 --- a/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild +++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.31.ebuild @@ -18,7 +18,7 @@ HOMEPAGE="https://uclibc-ng.org/" if [[ ${PV} != "9999" ]] ; then PATCH_VER="" SRC_URI="https://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2" - KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86" + KEYWORDS="-* amd64 arm ~mips ppc x86" fi LICENSE="LGPL-2" diff --git a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild index 9e216067cb34..46dcc44af01a 100644 --- a/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild +++ b/sys-libs/uclibc-ng/uclibc-ng-9999.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" +EAPI="7" -inherit flag-o-matic multilib savedconfig toolchain-funcs versionator +inherit flag-o-matic multilib savedconfig toolchain-funcs if [[ ${PV} == "9999" ]] ; then EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng" @@ -257,22 +257,24 @@ src_prepare() { # Upstream sets MAJOR_VERSION = 1 which breaks runtime linking. # If we really want the ABI bump, we'll have to hack the gcc # spec file and change the '*link:' rule. - version=( $(get_version_components) ) - if [[ -z ${version[1]} ]]; then + version_0=$(ver_cut 1) + version_1=$(ver_cut 2) + version_2=$(ver_cut 3) + if [[ -z ${version_1} ]]; then subversion=0 extraversion=0 else - subversion=${version[1]} - if [[ -z ${version[2]} ]]; then + subversion=${version_1} + if [[ -z ${version_2} ]]; then extraversion=0 else - extraversion=.${version[2]} + extraversion=.${version_2} fi fi sed -i \ -e "/^MAJOR_VERSION/s|:=.*|:= 0|" \ - -e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \ + -e "/^MINOR_VERSION/s|:=.*|:= ${version_0}|" \ -e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \ -e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \ Rules.mak || die -- cgit v1.2.3