summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2022-08-10 16:50:12 +0200
committerMaciej Barć <xgqt@gentoo.org>2022-08-10 16:58:39 +0200
commitcc08c0c4268af7240a3d463cab35e2e2fca06091 (patch)
tree307ba3099d58600f6bc33eceb6204f007b6fbb48 /sys-devel/binutils
parentgui-libs/wpebackend-fdo: Version bump to 1.12.1 (diff)
downloadgentoo-cc08c0c4268af7240a3d463cab35e2e2fca06091.tar.gz
gentoo-cc08c0c4268af7240a3d463cab35e2e2fca06091.tar.bz2
gentoo-cc08c0c4268af7240a3d463cab35e2e2fca06091.zip
sys-devel/binutils: add the "emacs" USE flag
Closes: https://bugs.gentoo.org/841011 Acked-by: Sam James <sam@gentoo.org> Signed-off-by: Maciej Barć <xgqt@gentoo.org>
Diffstat (limited to 'sys-devel/binutils')
-rw-r--r--sys-devel/binutils/binutils-2.38-r2.ebuild16
-rw-r--r--sys-devel/binutils/binutils-2.39.ebuild16
-rw-r--r--sys-devel/binutils/binutils-9999.ebuild16
-rw-r--r--sys-devel/binutils/files/50binutils-gentoo.el3
4 files changed, 45 insertions, 6 deletions
diff --git a/sys-devel/binutils/binutils-2.38-r2.ebuild b/sys-devel/binutils/binutils-2.38-r2.ebuild
index 47b5e977cdfd..71cc495774c1 100644
--- a/sys-devel/binutils/binutils-2.38-r2.ebuild
+++ b/sys-devel/binutils/binutils-2.38-r2.ebuild
@@ -3,12 +3,12 @@
EAPI=7
-inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
+inherit elisp-common libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
DESCRIPTION="Tools necessary to build programs"
HOMEPAGE="https://sourceware.org/binutils/"
LICENSE="GPL-3+"
-IUSE="cet default-gold doc +gold multitarget +nls pgo +plugins static-libs test vanilla"
+IUSE="cet default-gold doc emacs +gold multitarget +nls pgo +plugins static-libs test vanilla"
REQUIRED_USE="default-gold? ( gold )"
# Variables that can be set here (ignored for live ebuilds)
@@ -52,6 +52,7 @@ is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
RDEPEND="
>=sys-devel/binutils-config-3
sys-libs/zlib
+ emacs? ( >=app-editors/emacs-23.1:* )
"
DEPEND="${RDEPEND}"
BDEPEND="
@@ -311,6 +312,8 @@ src_compile() {
emake V=1 info
fi
+ use emacs && elisp-compile "${S}"/binutils/dwarf-mode.el
+
# we nuke the manpages when we're left with junk
# (like when we bootstrap, no perl -> no manpages)
find . -name '*.1' -a -size 0 -delete
@@ -403,6 +406,11 @@ src_install() {
dodoc opcodes/ChangeLog*
fi
+ if use emacs ; then
+ elisp-install ${PN} "${S}"/binutils/dwarf-mode.el{,c}
+ elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el"
+ fi
+
# Remove shared info pages
rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info}
@@ -414,6 +422,8 @@ pkg_postinst() {
# Make sure this ${CTARGET} has a binutils version selected
[[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
binutils-config ${CTARGET}-${PV}
+
+ use emacs && elisp-site-regen
}
pkg_postrm() {
@@ -437,6 +447,8 @@ pkg_postrm() {
elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
binutils-config ${CTARGET}-${PV}
fi
+
+ use emacs && elisp-site-regen
}
# Note [slotting support]
diff --git a/sys-devel/binutils/binutils-2.39.ebuild b/sys-devel/binutils/binutils-2.39.ebuild
index 3b954f859b3a..3cc9c5cdcc87 100644
--- a/sys-devel/binutils/binutils-2.39.ebuild
+++ b/sys-devel/binutils/binutils-2.39.ebuild
@@ -3,12 +3,12 @@
EAPI=7
-inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
+inherit elisp-common libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
DESCRIPTION="Tools necessary to build programs"
HOMEPAGE="https://sourceware.org/binutils/"
LICENSE="GPL-3+"
-IUSE="cet default-gold doc gold multitarget +nls pgo +plugins static-libs test vanilla"
+IUSE="cet default-gold doc emacs gold multitarget +nls pgo +plugins static-libs test vanilla"
REQUIRED_USE="default-gold? ( gold )"
# Variables that can be set here (ignored for live ebuilds)
@@ -54,6 +54,7 @@ is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
RDEPEND="
>=sys-devel/binutils-config-3
sys-libs/zlib
+ emacs? ( >=app-editors/emacs-23.1:* )
"
DEPEND="${RDEPEND}"
BDEPEND="
@@ -316,6 +317,8 @@ src_compile() {
emake V=1 info
fi
+ use emacs && elisp-compile "${S}"/binutils/dwarf-mode.el
+
# we nuke the manpages when we're left with junk
# (like when we bootstrap, no perl -> no manpages)
find . -name '*.1' -a -size 0 -delete
@@ -417,6 +420,11 @@ src_install() {
dodoc opcodes/ChangeLog*
fi
+ if use emacs ; then
+ elisp-install ${PN} "${S}"/binutils/dwarf-mode.el{,c}
+ elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el"
+ fi
+
# Remove shared info pages
rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info}
@@ -428,6 +436,8 @@ pkg_postinst() {
# Make sure this ${CTARGET} has a binutils version selected
[[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
binutils-config ${CTARGET}-${PV}
+
+ use emacs && elisp-site-regen
}
pkg_postrm() {
@@ -451,6 +461,8 @@ pkg_postrm() {
elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
binutils-config ${CTARGET}-${PV}
fi
+
+ use emacs && elisp-site-regen
}
# Note [slotting support]
diff --git a/sys-devel/binutils/binutils-9999.ebuild b/sys-devel/binutils/binutils-9999.ebuild
index d19bdb17825d..c3d9de773f3a 100644
--- a/sys-devel/binutils/binutils-9999.ebuild
+++ b/sys-devel/binutils/binutils-9999.ebuild
@@ -3,12 +3,12 @@
EAPI=7
-inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
+inherit elisp-common libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
DESCRIPTION="Tools necessary to build programs"
HOMEPAGE="https://sourceware.org/binutils/"
LICENSE="GPL-3+"
-IUSE="cet default-gold doc gold multitarget +nls pgo +plugins static-libs test vanilla"
+IUSE="cet default-gold doc emacs +gold multitarget +nls pgo +plugins static-libs test vanilla"
REQUIRED_USE="default-gold? ( gold )"
# Variables that can be set here (ignored for live ebuilds)
@@ -53,6 +53,7 @@ is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
RDEPEND="
>=sys-devel/binutils-config-3
sys-libs/zlib
+ emacs? ( >=app-editors/emacs-23.1:* )
"
DEPEND="${RDEPEND}"
BDEPEND="
@@ -315,6 +316,8 @@ src_compile() {
emake V=1 info
fi
+ use emacs && elisp-compile "${S}"/binutils/dwarf-mode.el
+
# we nuke the manpages when we're left with junk
# (like when we bootstrap, no perl -> no manpages)
find . -name '*.1' -a -size 0 -delete
@@ -416,6 +419,11 @@ src_install() {
dodoc opcodes/ChangeLog*
fi
+ if use emacs ; then
+ elisp-install ${PN} "${S}"/binutils/dwarf-mode.el{,c}
+ elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el"
+ fi
+
# Remove shared info pages
rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info}
@@ -427,6 +435,8 @@ pkg_postinst() {
# Make sure this ${CTARGET} has a binutils version selected
[[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
binutils-config ${CTARGET}-${PV}
+
+ use emacs && elisp-site-regen
}
pkg_postrm() {
@@ -450,6 +460,8 @@ pkg_postrm() {
elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
binutils-config ${CTARGET}-${PV}
fi
+
+ use emacs && elisp-site-regen
}
# Note [slotting support]
diff --git a/sys-devel/binutils/files/50binutils-gentoo.el b/sys-devel/binutils/files/50binutils-gentoo.el
new file mode 100644
index 000000000000..7caa9f19a37b
--- /dev/null
+++ b/sys-devel/binutils/files/50binutils-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'dwarf-browse "dwarf-mode"
+ "Invoke `objdump' and put output into a `dwarf-mode' buffer." t)