commit:     101b47b0d549927a2d36b7bec3be03ef6605cb50
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 31 22:31:16 2024 +0000
Commit:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Wed Jul 31 22:31:55 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=101b47b0

sys-devel/binutils: Add stable-branch live ebuild and mechanisms for it

Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>

 .../{binutils-9999.ebuild => binutils-2.43.9999.ebuild}  | 16 ++++++++++++----
 sys-devel/binutils/binutils-9999.ebuild                  | 16 ++++++++++++----
 2 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/sys-devel/binutils/binutils-9999.ebuild 
b/sys-devel/binutils/binutils-2.43.9999.ebuild
similarity index 97%
copy from sys-devel/binutils/binutils-9999.ebuild
copy to sys-devel/binutils/binutils-2.43.9999.ebuild
index ccf31a101405..c05f1529d8c1 100644
--- a/sys-devel/binutils/binutils-9999.ebuild
+++ b/sys-devel/binutils/binutils-2.43.9999.ebuild
@@ -22,9 +22,12 @@ IUSE="cet debuginfod doc gold gprofng hardened multitarget 
+nls pgo +plugins sta
 PATCH_VER=1
 PATCH_DEV=dilfridge
 
-if [[ ${PV} == 9999* ]]; then
+if [[ ${PV} == 9999 ]]; then
        inherit git-r3
        SLOT=${PV}
+elif [[ ${PV} == *9999 ]]; then
+       inherit git-r3
+       SLOT=$(ver_cut 1-2)
 else
        PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
        PATCH_DEV=${PATCH_DEV:-dilfridge}
@@ -79,12 +82,15 @@ RESTRICT="!test? ( test )"
 MY_BUILDDIR=${WORKDIR}/build
 
 src_unpack() {
-       if [[ ${PV} == 9999* ]] ; then
+       if [[ ${PV} == *9999 ]] ; then
                
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git";
                EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
                git-r3_src_unpack
                mv patches-git/9999 patch || die
 
+               if [[ ${PV} != 9999 ]] ; then
+                       EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch
+               fi
                EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git";
                S=${WORKDIR}/binutils
                EGIT_CHECKOUT_DIR=${S}
@@ -108,13 +114,15 @@ src_unpack() {
 
 src_prepare() {
        local patchsetname
-       if [[ ${PV} == 9999* ]] ; then
+       if [[ ${PV} == 9999 ]] ; then
                patchsetname="from git master"
+       elif [[ ${PV} == *9999 ]] ; then
+               patchsetname="from git branch ${EGIT_BRANCH}"
        else
                patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
        fi
 
-       if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
+       if [[ -n ${PATCH_VER} ]] || [[ ${PV} == *9999 ]] ; then
                if ! use vanilla; then
                        einfo "Applying binutils patchset ${patchsetname}"
                        eapply "${WORKDIR}/patch"

diff --git a/sys-devel/binutils/binutils-9999.ebuild 
b/sys-devel/binutils/binutils-9999.ebuild
index ccf31a101405..c05f1529d8c1 100644
--- a/sys-devel/binutils/binutils-9999.ebuild
+++ b/sys-devel/binutils/binutils-9999.ebuild
@@ -22,9 +22,12 @@ IUSE="cet debuginfod doc gold gprofng hardened multitarget 
+nls pgo +plugins sta
 PATCH_VER=1
 PATCH_DEV=dilfridge
 
-if [[ ${PV} == 9999* ]]; then
+if [[ ${PV} == 9999 ]]; then
        inherit git-r3
        SLOT=${PV}
+elif [[ ${PV} == *9999 ]]; then
+       inherit git-r3
+       SLOT=$(ver_cut 1-2)
 else
        PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
        PATCH_DEV=${PATCH_DEV:-dilfridge}
@@ -79,12 +82,15 @@ RESTRICT="!test? ( test )"
 MY_BUILDDIR=${WORKDIR}/build
 
 src_unpack() {
-       if [[ ${PV} == 9999* ]] ; then
+       if [[ ${PV} == *9999 ]] ; then
                
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git";
                EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
                git-r3_src_unpack
                mv patches-git/9999 patch || die
 
+               if [[ ${PV} != 9999 ]] ; then
+                       EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch
+               fi
                EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git";
                S=${WORKDIR}/binutils
                EGIT_CHECKOUT_DIR=${S}
@@ -108,13 +114,15 @@ src_unpack() {
 
 src_prepare() {
        local patchsetname
-       if [[ ${PV} == 9999* ]] ; then
+       if [[ ${PV} == 9999 ]] ; then
                patchsetname="from git master"
+       elif [[ ${PV} == *9999 ]] ; then
+               patchsetname="from git branch ${EGIT_BRANCH}"
        else
                patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
        fi
 
-       if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
+       if [[ -n ${PATCH_VER} ]] || [[ ${PV} == *9999 ]] ; then
                if ! use vanilla; then
                        einfo "Applying binutils patchset ${patchsetname}"
                        eapply "${WORKDIR}/patch"

Reply via email to