summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-util/libabigail/Manifest2
-rw-r--r--dev-util/libabigail/libabigail-2.9.ebuild125
-rw-r--r--dev-util/libabigail/libabigail-9999.ebuild2
3 files changed, 128 insertions, 1 deletions
diff --git a/dev-util/libabigail/Manifest b/dev-util/libabigail/Manifest
index 7bd5e2066f3f..e927041b9545 100644
--- a/dev-util/libabigail/Manifest
+++ b/dev-util/libabigail/Manifest
@@ -1,2 +1,4 @@
DIST libabigail-2.8-docs.tar.xz 58056 BLAKE2B dde0aa23da07e1e2a84b488e4c80085b65d46d85e9e8ab642093b1c87b4974cd66d8c9a66737a35e8732d6788a88f86f47496e034cac1fd3363f02d1ff8bff9e SHA512 313f2f3a5cc289357324c4427235332696bbe258431abf6776c7eed8c80cc3076cd3ebd12dd6a52ddeeae54da52cef46c0760d07fcd759e5977682da1891b930
DIST libabigail-2.8.tar.xz 489676008 BLAKE2B b68995003af10437ee38f2ccf8a6ab8e7fb5ee87b47486a56117d0f55c1b7cb863c7484686f14f06ef53c996be7d522cc314f462be3d7ee159e633a593a78ca4 SHA512 e919f12c914addb9c64d15d40c50e50ce1b08ac8f64f11adb9274cbdfc568b7e2eb99f669866b413a3e6c6246611b529be1f8d226cf58f7a5c6e2a7061d88e8c
+DIST libabigail-2.9-docs.tar.xz 58352 BLAKE2B bc6d69c92fe7f0ec7357a98f302e95259902009364ae770853023fc43b1d64ecc0dcbe0e0493d121888398e79a3cac2de50507ff8fef4003573dfb84e49eb857 SHA512 3a4644faea3944ce1787f7e5dbe35a2971e0ea40f794e2ffd47d61b945b943eae61b8bf170852c15431b431ef150436e09b83afc666513763e42fe26b82cd725
+DIST libabigail-2.9.tar.xz 520825272 BLAKE2B 4453dd9385ed1aa2b5128ee323f704c40505a281f224dec8b74fae4a32e3c2e596ecdb6665aced79f26fe6fe996681c134da0af061122f117d2b800cb2c6d999 SHA512 5bdf5ec49a5931a61bf28317b41eee583d6277d00ac621b2d2a97bbc0d816c3662bcfe13a5ac7aeee11c947afb69a5a0a9a8015fcebad09965b45af9b1e23606
diff --git a/dev-util/libabigail/libabigail-2.9.ebuild b/dev-util/libabigail/libabigail-2.9.ebuild
new file mode 100644
index 000000000000..cce54204c9f2
--- /dev/null
+++ b/dev-util/libabigail/libabigail-2.9.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2025 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_{11..14} )
+
+inherit libtool 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"
+ EGIT_SUBMODULES=()
+ inherit autotools 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 ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="Apache-2.0-with-LLVM-exceptions"
+SLOT="0/8"
+IUSE="btf debug ${LIBABIGAIL_DOCS_USEFLAG} test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-arch/xz-utils
+ dev-libs/elfutils[lzma]
+ dev-libs/libxml2:2=
+ dev-libs/xxhash
+ btf? ( dev-libs/libbpf:= )
+ elibc_musl? ( sys-libs/fts-standalone )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-text/doxygen[dot]
+ dev-python/sphinx
+ sys-apps/texinfo
+ )
+ test? ( ${PYTHON_DEPS} )
+"
+
+src_prepare() {
+ default
+ if [[ ${PV} = 9999 ]] ; then
+ eautoreconf
+ else
+ elibtoolize
+ fi
+}
+
+my_src_configure() {
+ local myeconfargs=(
+ --disable-abidb
+ --disable-deb
+ --disable-fedabipkgdiff
+ --disable-rpm
+ --disable-rpm415
+ --disable-ctf
+ # Don't try to run Valgrind on tests.
+ --disable-valgrind
+ --enable-bash-completion
+ --enable-python3
+ $(use_enable debug assert)
+ $(use_enable btf)
+ $(use_enable doc apidoc)
+ $(use_enable doc manual)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+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
+}
diff --git a/dev-util/libabigail/libabigail-9999.ebuild b/dev-util/libabigail/libabigail-9999.ebuild
index 21c329e63a4d..cce54204c9f2 100644
--- a/dev-util/libabigail/libabigail-9999.ebuild
+++ b/dev-util/libabigail/libabigail-9999.ebuild
@@ -36,7 +36,7 @@ else
fi
LICENSE="Apache-2.0-with-LLVM-exceptions"
-SLOT="0/7"
+SLOT="0/8"
IUSE="btf debug ${LIBABIGAIL_DOCS_USEFLAG} test"
RESTRICT="!test? ( test )"