summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-12-20 09:37:34 +0000
committerSam James <sam@gentoo.org>2022-12-20 09:38:02 +0000
commit186da07aa7b9ce8ca4c124bd3b6068fe95f034e2 (patch)
tree2ea7b6a4b2b58690a60c8cb750e91c9d0eb18ddc /dev-util/libabigail
parentdev-util/rocm_bandwidth_test: add 5.3.3 (diff)
downloadgentoo-186da07aa7b9ce8ca4c124bd3b6068fe95f034e2.tar.gz
gentoo-186da07aa7b9ce8ca4c124bd3b6068fe95f034e2.tar.bz2
gentoo-186da07aa7b9ce8ca4c124bd3b6068fe95f034e2.zip
dev-util/libabigail: add live ebuild
Useful for testing recent changes/fixes for ghostscript at least. Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-util/libabigail')
-rw-r--r--dev-util/libabigail/libabigail-2.2.ebuild17
-rw-r--r--dev-util/libabigail/libabigail-9999.ebuild109
2 files changed, 121 insertions, 5 deletions
diff --git a/dev-util/libabigail/libabigail-2.2.ebuild b/dev-util/libabigail/libabigail-2.2.ebuild
index e57b7f1c2158..3bd31a3ad9b3 100644
--- a/dev-util/libabigail/libabigail-2.2.ebuild
+++ b/dev-util/libabigail/libabigail-2.2.ebuild
@@ -20,15 +20,22 @@ inherit autotools bash-completion-r1 python-any-r1 out-of-source
DESCRIPTION="Suite of tools for checking ABI differences between ELF objects"
HOMEPAGE="https://sourceware.org/libabigail/"
-SRC_URI="https://mirrors.kernel.org/sourceware/libabigail/${P}.tar.xz"
-if [[ ${LIBABIGAIL_DOCS_PREBUILT} == 1 ]] ; then
- SRC_URI+=" !doc? ( https://dev.gentoo.org/~${LIBABIGAIL_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${LIBABIGAIL_DOCS_VERSION}-docs.tar.xz )"
- LIBABIGAIL_DOCS_USEFLAG="doc"
+if [[ ${PV} == 9999 ]] ; then
+ LIBABIGAIL_DOCS_PREBUILT=0
+ EGIT_REPO_URI="https://sourceware.org/git/libabigail.git"
+ inherit git-r3
+else
+ SRC_URI="https://mirrors.kernel.org/sourceware/libabigail/${P}.tar.xz"
+ if [[ ${LIBABIGAIL_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !doc? ( https://dev.gentoo.org/~${LIBABIGAIL_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${LIBABIGAIL_DOCS_VERSION}-docs.tar.xz )"
+ LIBABIGAIL_DOCS_USEFLAG="doc"
+ fi
+
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv"
fi
LICENSE="Apache-2.0-with-LLVM-exceptions"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv"
IUSE="${LIBABIGAIL_DOCS_USEFLAG} test"
RESTRICT="!test? ( test )"
diff --git a/dev-util/libabigail/libabigail-9999.ebuild b/dev-util/libabigail/libabigail-9999.ebuild
new file mode 100644
index 000000000000..3bd31a3ad9b3
--- /dev/null
+++ b/dev-util/libabigail/libabigail-9999.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-libabigail-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+: ${LIBABIGAIL_DOCS_PREBUILT:=1}
+
+LIBABIGAIL_DOCS_PREBUILT_DEV=sam
+LIBABIGAIL_DOCS_VERSION="${PV}"
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+# bug #830088
+LIBABIGAIL_DOCS_USEFLAG="+doc"
+
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit autotools bash-completion-r1 python-any-r1 out-of-source
+
+DESCRIPTION="Suite of tools for checking ABI differences between ELF objects"
+HOMEPAGE="https://sourceware.org/libabigail/"
+if [[ ${PV} == 9999 ]] ; then
+ LIBABIGAIL_DOCS_PREBUILT=0
+ EGIT_REPO_URI="https://sourceware.org/git/libabigail.git"
+ inherit git-r3
+else
+ SRC_URI="https://mirrors.kernel.org/sourceware/libabigail/${P}.tar.xz"
+ if [[ ${LIBABIGAIL_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !doc? ( https://dev.gentoo.org/~${LIBABIGAIL_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${LIBABIGAIL_DOCS_VERSION}-docs.tar.xz )"
+ LIBABIGAIL_DOCS_USEFLAG="doc"
+ fi
+
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv"
+fi
+
+LICENSE="Apache-2.0-with-LLVM-exceptions"
+SLOT="0"
+IUSE="${LIBABIGAIL_DOCS_USEFLAG} test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/elfutils
+ dev-libs/libxml2:2
+ elibc_musl? ( sys-libs/fts-standalone )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-doc/doxygen[dot]
+ dev-python/sphinx
+ sys-apps/texinfo
+ )
+ test? ( ${PYTHON_DEPS} )"
+
+src_prepare() {
+ default
+ # need to run our autotools, due to ltmain.sh including Redhat calls:
+ # cannot read spec file '/usr/lib/rpm/redhat/redhat-hardened-ld': No such file or directory
+ eautoreconf
+}
+
+my_src_configure() {
+ econf \
+ --disable-deb \
+ --disable-fedabipkgdiff \
+ --disable-rpm \
+ --disable-rpm415 \
+ --disable-ctf \
+ --enable-bash-completion \
+ --enable-python3 \
+ $(use_enable doc apidoc) \
+ $(use_enable doc manual)
+}
+
+my_src_compile() {
+ default
+ use doc && emake doc
+}
+
+my_src_install() {
+ emake DESTDIR="${D}" install
+
+ # If USE=doc, there'll be newly generated docs which we install instead.
+ if ! use doc && [[ ${LIBABIGAIL_DOCS_PREBUILT} == 1 ]] ; then
+ doinfo "${WORKDIR}"/${PN}-${LIBABIGAIL_DOCS_VERSION}-docs/texinfo/*.info
+ doman "${WORKDIR}"/${PN}-${LIBABIGAIL_DOCS_VERSION}-docs/man/*.[0-8]
+ elif use doc; then
+ doman doc/manuals/man/*
+ doinfo doc/manuals/texinfo/abigail.info
+
+ dodoc -r doc/manuals/html
+
+ docinto html/api
+ dodoc -r doc/api/html/.
+ fi
+}
+
+my_src_install_all() {
+ einstalldocs
+
+ local file
+ for file in abicompat abidiff abidw abilint abinilint abipkgdiff abisym fedabipkgdiff ; do
+ dobashcomp bash-completion/${file}
+ done
+
+ # No static archives
+ find "${ED}" -name '*.la' -delete || die
+}