From de89f831a4c984970a7d7e5b722b20232c6e64f5 Mon Sep 17 00:00:00 2001 From: Sam James Date: Fri, 11 Jul 2025 14:54:53 +0100 Subject: [PATCH] dev-util/libabigail: add 2.8 Signed-off-by: Sam James --- dev-util/libabigail/Manifest | 2 + dev-util/libabigail/libabigail-2.8.ebuild | 125 +++++++++++++++++++++ dev-util/libabigail/libabigail-9999.ebuild | 4 +- 3 files changed, 129 insertions(+), 2 deletions(-) create mode 100644 dev-util/libabigail/libabigail-2.8.ebuild diff --git a/dev-util/libabigail/Manifest b/dev-util/libabigail/Manifest index 3a496a93df801..0b2f4a3eff067 100644 --- a/dev-util/libabigail/Manifest +++ b/dev-util/libabigail/Manifest @@ -4,3 +4,5 @@ DIST libabigail-2.6-docs.tar.xz 54856 BLAKE2B e89b916780d37ebcdb1e239580c36d6f5d DIST libabigail-2.6.tar.xz 489598820 BLAKE2B d07ad7a35de0418cf933b2bf457778a5c778c2e4cd1452c3f82e08e1e98c61bf56e7bc03c4ab801ea2d67e31d88441996d56f79b9ecfd19591d8de66c860d380 SHA512 77983586c9fa99ab5593e41e33ddfc175aef7a2ddfabb7eac79a9adfd776e7dbbb317f6d4c26044c420f2eac1f9d25e0c04887a54bb3136cc91e61219a1343e4 DIST libabigail-2.7-docs.tar.xz 57360 BLAKE2B 3d77681d477b4ba66e2476ac28497703ac93ddeaf337431d2e84e1b943733d6e21e17c54f321a95ac5626a1ea73898d73e70cdc0a126e8118650e276ab703dd2 SHA512 b0dab1bf32f7c396a919714ed0e612a549d6542f576c81f2b20c2206eaee19128bdc52fc93838a6df3ac13d5e75963e08ac4b77532d00e824581b12901143b27 DIST libabigail-2.7.tar.xz 489684712 BLAKE2B d57d8161d2ea461cba27e9d5800c8c93237f0c04723b09bacf96a3090cc9e13efbab33e26c986fb791cee621ac35ceee99b939fb46d4e155ca411df994104872 SHA512 6c31df739b94b83a5bac4b560eb1c16919495280ed3f5a37a84144e18a2362038337d3843948e3022b97ba73f7a41b32b33ca5f8b86a51ea57574dc3de98b9d5 +DIST libabigail-2.8-docs.tar.xz 58056 BLAKE2B dde0aa23da07e1e2a84b488e4c80085b65d46d85e9e8ab642093b1c87b4974cd66d8c9a66737a35e8732d6788a88f86f47496e034cac1fd3363f02d1ff8bff9e SHA512 313f2f3a5cc289357324c4427235332696bbe258431abf6776c7eed8c80cc3076cd3ebd12dd6a52ddeeae54da52cef46c0760d07fcd759e5977682da1891b930 +DIST libabigail-2.8.tar.xz 489676008 BLAKE2B b68995003af10437ee38f2ccf8a6ab8e7fb5ee87b47486a56117d0f55c1b7cb863c7484686f14f06ef53c996be7d522cc314f462be3d7ee159e633a593a78ca4 SHA512 e919f12c914addb9c64d15d40c50e50ce1b08ac8f64f11adb9274cbdfc568b7e2eb99f669866b413a3e6c6246611b529be1f8d226cf58f7a5c6e2a7061d88e8c diff --git a/dev-util/libabigail/libabigail-2.8.ebuild b/dev-util/libabigail/libabigail-2.8.ebuild new file mode 100644 index 0000000000000..21c329e63a4d8 --- /dev/null +++ b/dev-util/libabigail/libabigail-2.8.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/7" +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 696eb06e55a9f..21c329e63a4d8 100644 --- a/dev-util/libabigail/libabigail-9999.ebuild +++ b/dev-util/libabigail/libabigail-9999.ebuild @@ -14,7 +14,7 @@ LIBABIGAIL_DOCS_VERSION="${PV}" # bug #830088 LIBABIGAIL_DOCS_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit libtool bash-completion-r1 python-any-r1 out-of-source @@ -36,7 +36,7 @@ else fi LICENSE="Apache-2.0-with-LLVM-exceptions" -SLOT="0/6" +SLOT="0/7" IUSE="btf debug ${LIBABIGAIL_DOCS_USEFLAG} test" RESTRICT="!test? ( test )"