summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakov Smolic <jakov.smolic@sartura.hr>2021-03-26 12:42:11 +0100
committerDavid Seifert <soap@gentoo.org>2021-03-26 12:42:11 +0100
commit0ccb7db097e2ef5b28e2042733638b0a4b2eadbe (patch)
tree5705859751b99afbd3a1c8fdd9794b291d0c247f /sys-devel
parentsys-devel/bmake: Patch the default lib.mk rule (diff)
downloadgentoo-0ccb7db097e2ef5b28e2042733638b0a4b2eadbe.tar.gz
gentoo-0ccb7db097e2ef5b28e2042733638b0a4b2eadbe.tar.bz2
gentoo-0ccb7db097e2ef5b28e2042733638b0a4b2eadbe.zip
sys-devel/elftoolchain: tools for building/analyzing ELF program images
* Elftoolchain contains a drop in replacement for libelf, released under the BSD licence. It also provides replacements for other tools, such as binutils, but in the scope of this contribution only libelf is added, with posibillity of extending the tools at some point. Closes: https://github.com/gentoo/gentoo/pull/18944 Closes: https://bugs.gentoo.org/762364 Signed-off-by: Jakov Smolic <jakov.smolic@sartura.hr> Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/elftoolchain/Manifest1
-rw-r--r--sys-devel/elftoolchain/elftoolchain-0.7.1.ebuild55
-rw-r--r--sys-devel/elftoolchain/metadata.xml12
3 files changed, 68 insertions, 0 deletions
diff --git a/sys-devel/elftoolchain/Manifest b/sys-devel/elftoolchain/Manifest
new file mode 100644
index 000000000000..40e9f23e39d8
--- /dev/null
+++ b/sys-devel/elftoolchain/Manifest
@@ -0,0 +1 @@
+DIST elftoolchain-0.7.1.tar.bz2 5361427 BLAKE2B f86204b3c89433948eaf2cd2edc57abf9b77bfab777dc2a840b7aa5fbddfd31665bd27f31d7af2dea09fab0118e201b12802b4da85f8210af29094661f6f1fe5 SHA512 8226c468b393f0d567167a9dd6b16d2a226227e4d05dab8f44550038da44dcbfb92749f8e1a4b130b893675337a6771e24a81f350f3f864b1b8b17402ed23b26
diff --git a/sys-devel/elftoolchain/elftoolchain-0.7.1.ebuild b/sys-devel/elftoolchain/elftoolchain-0.7.1.ebuild
new file mode 100644
index 000000000000..8b4360d62099
--- /dev/null
+++ b/sys-devel/elftoolchain/elftoolchain-0.7.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Libraries/utilities to handle ELF objects (BSD drop in replacement for libelf)"
+HOMEPAGE="https://wiki.freebsd.org/LibElf"
+SRC_URI="https://netcologne.dl.sourceforge.net/project/elftoolchain/Sources/${P}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ !dev-libs/elfutils
+ !dev-libs/libelf"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-vcs/subversion
+ sys-apps/lsb-release
+ >=sys-devel/bmake-20210206
+ virtual/yacc"
+
+src_prepare() {
+ default
+ sed -i -e "s@cc@$(tc-getCC)@" common/native-elf-format || die
+ sed -i -e "s@readelf@$(tc-getREADELF)@" common/native-elf-format || die
+}
+
+_bmake() {
+ bmake \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ RANLIB="$(tc-getRANLIB)" \
+ "$@" || die
+}
+
+src_compile() {
+ export MAKESYSPATH="${BROOT}"/usr/share/mk/bmake
+ _bmake -C common
+ _bmake -C libelf
+}
+
+src_install() {
+ doheader common/elfdefinitions.h
+ doheader libelf/{gelf,libelf}.h
+
+ dolib.so libelf/libelf.so.1
+ dosym libelf.so.1 /usr/$(get_libdir)/libelf.so
+
+ dodoc README
+}
diff --git a/sys-devel/elftoolchain/metadata.xml b/sys-devel/elftoolchain/metadata.xml
new file mode 100644
index 000000000000..9654d1c22bc0
--- /dev/null
+++ b/sys-devel/elftoolchain/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jakov.smolic@sartura.hr</email>
+ <name>Jakov Smolic</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+</pkgmetadata>