sys-libs/glibc: In git version, pull patches directly from git too
authorAndreas K. Hüttel <dilfridge@gentoo.org>
Thu, 14 May 2020 11:47:50 +0000 (14:47 +0300)
committerAndreas K. Hüttel <dilfridge@gentoo.org>
Thu, 14 May 2020 11:48:31 +0000 (14:48 +0300)
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
sys-libs/glibc/Manifest
sys-libs/glibc/glibc-9999.ebuild

index 753e594e66c8d878526824dd9ba77ce526ebcc59..e07373bab942cde5cdddc9b82881ca40e1ced38c 100644 (file)
@@ -9,5 +9,4 @@ DIST glibc-2.30.tar.xz 16576920 BLAKE2B bd5aae4c9854f40785b91f83c3b632de6d48d811
 DIST glibc-2.31-patches-4.tar.xz 40464 BLAKE2B 8c79b446a37be8f33c10b9fe987d2f55f285bf672a48bf307b60cbc322aadad1eec209b8d2ab88c023fcc718b08d089a151797e2b7352672234044ccd5eb9a9d SHA512 385de24a814646af3c8504ac1b76aa9d8ee5043d1e666656f7b31fc4a66c32b7c2a7b361b1a77e910182c07ff44bb1d228fd8de13a1915210035cad71251001a
 DIST glibc-2.31-patches-5.tar.xz 52720 BLAKE2B 0e4315a79d4108e8a0eb2d849086de40a3ddebd9c09592ec5ecd02d9a0481f58588d7fca345624b0e345b077f6f3ad4257fb5949a0f05be2a004489af585a329 SHA512 c081aef22efacac19ce343ad6e55b8102869c42142dfd478e1cc03e85d6569771b52b737173df0996e273dc6ad1e8dea391658e03d5bcb69f2ed754801b3f6fa
 DIST glibc-2.31.tar.xz 16676764 BLAKE2B 91df1792345f157265eae405185a81fd4b8ce36d4c2388f44b0d5b1ae38174ea374cbc909cd260770b9f38ea58051da13766d4fa22abf41c2d4a2493257b179b SHA512 735e4c0ef10418b6ea945ad3906585e5bbd8b282d76f2131309dce4cec6b15066a5e4a3731773ce428a819b542579c9957867bb0abf05ed2030983fca4412306
-DIST glibc-9999-patches-16.tar.xz 17736 BLAKE2B 772f5012ead8e27f5cf5fd2613de9a76ead2128ecd9324cc499e677ea3a96110cb0d4b1d3f12860ffa1267093db310503d7d873fb95060b0c1e046c6a60601d0 SHA512 eb885b7743ac88df7e9eb3a1cd415bc9eabff1c6bd00d32c4e50f1d9dfcc32419eb72ef06749b279d5b80a200a83bc951a851b8c96a023ab09a8a0c28045d563
 DIST locale-gen-2.00.tar.gz 7738 BLAKE2B cde6de5ba3400aea24d0d5f1b79471f89f09fb747c8e371e38316c7ada92f967e0865f573f23cb353d82419c234724143c0aeca9eb70eb945dfc581cc7491eb1 SHA512 b609fddb9ec5e567c008841fef3390eddb5d6e7699a8271b3b8c0ade1b44b0ac2e5d1daa8b9acabf3432e3b88110b538a96f209b1ad0f9e988b7efce66606dff
index cc1528ef61a1644bc0bb635d81356b3150c8d18c..bba57f5d60756a48327c084acdae8c24a3b37359 100644 (file)
@@ -15,13 +15,17 @@ SLOT="2.2"
 
 EMULTILIB_PKG="true"
 
+# Gentoo patchset (ignored for live ebuilds)
+PATCH_VER=16
+PATCH_DEV=slyfox
+
 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 ~riscv ~s390 ~sh ~sparc ~x86"
        KEYWORDS=""
        SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
+       SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
 fi
 
 RELEASE_VER=${PV}
@@ -30,11 +34,6 @@ GCC_BOOTSTRAP_VER=20180511
 
 LOCALE_GEN_VER=2.00
 
-# Gentoo patchset
-PATCH_VER=16
-PATCH_DEV=slyfox
-
-SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
 SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${LOCALE_GEN_VER}.tar.gz"
 SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
 
@@ -724,21 +723,35 @@ src_unpack() {
 
        setup_env
 
-       if [[ -n ${EGIT_REPO_URI} ]] ; then
+       if [[ ${PV} == 9999* ]] ; then
+               EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git"
+               EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
+               git-r3_src_unpack
+               mv patches-git/9999 patches || die
+
+               EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
+               EGIT_CHECKOUT_DIR=${S}
                git-r3_src_unpack
        else
                unpack ${P}.tar.xz
+
+               cd "${WORKDIR}" || die
+               unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz
        fi
 
        cd "${WORKDIR}" || die
-       unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz
-
        unpack locale-gen-${LOCALE_GEN_VER}.tar.gz
 }
 
 src_prepare() {
+       local patchsetname
        if ! use vanilla ; then
-               elog "Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER}"
+               if [[ ${PV} == 9999* ]] ; then
+                       patchsetname="from git master"
+               else
+                       patchsetname="${RELEASE_VER}-${PATCH_VER}"
+               fi
+               elog "Applying Gentoo Glibc Patchset ${patchsetname}"
                eapply "${WORKDIR}"/patches
                einfo "Done."
        fi
@@ -750,10 +763,8 @@ src_prepare() {
        cd "${WORKDIR}"
        find . -name configure -exec touch {} +
 
-       # until the patchset is updated
-       rm -rf extra/locale || die
-
        # move the external locale-gen to its old place
+       mkdir extra || die
        mv locale-gen-${LOCALE_GEN_VER} extra/locale || die
 
        eprefixify extra/locale/locale-gen