Gentoo Archives: gentoo-commits

From: Alessandro Barbieri <lssndrbarbieri@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: dev-util/annobin/
Date: Wed, 04 May 2022 02:40:23
Message-Id: 1651630229.ea65ccccdd15905c34840b9ac4f91cfbc2e68e51.Alessandro-Barbieri@gentoo
1 commit: ea65ccccdd15905c34840b9ac4f91cfbc2e68e51
2 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
3 AuthorDate: Wed May 4 02:10:29 2022 +0000
4 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
5 CommitDate: Wed May 4 02:10:29 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=ea65cccc
7
8 dev-util/annobin: add 10.67
9
10 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
11
12 dev-util/annobin/Manifest | 1 +
13 dev-util/annobin/annobin-10.67.ebuild | 88 +++++++++++++++++++++++++++++++++++
14 2 files changed, 89 insertions(+)
15
16 diff --git a/dev-util/annobin/Manifest b/dev-util/annobin/Manifest
17 index 7649141a1..cc64ada05 100644
18 --- a/dev-util/annobin/Manifest
19 +++ b/dev-util/annobin/Manifest
20 @@ -1 +1,2 @@
21 DIST annobin-10.65.tar.xz 849952 BLAKE2B 6f6124f6470d3f6fe37ce766dc65af43b3020d0ea745cbaf501c3757a83c500f590276cde98048bd5c47602b8ca954d43039060779cec3d8d2abdd5f1695fac8 SHA512 c7191fc88072431f3c62ae2abe405b88c78b3d703353810aef6bb6bf0c3fa16ad2db84d5e5e940864518474119393454aadc40fdca84bdbba18d686face59ce1
22 +DIST annobin-10.67.tar.xz 850052 BLAKE2B d21e85243f729f352fb45e7bb9876507db7cee89bc345cf1b1ff09116d83080aab41a01a787a502bf110c09dc413307463ee58c5ea89bf5c6d976b15289f3c23 SHA512 dde856e327aeef376ab2dc67178fbd8e6a055904c8a24da5bc5d69fc52587bb0673c276ffe68ce6cd424c65d3a1653b8ae1e32a90504378fc9291f039160b413
23
24 diff --git a/dev-util/annobin/annobin-10.67.ebuild b/dev-util/annobin/annobin-10.67.ebuild
25 new file mode 100644
26 index 000000000..763da0ecd
27 --- /dev/null
28 +++ b/dev-util/annobin/annobin-10.67.ebuild
29 @@ -0,0 +1,88 @@
30 +# Copyright 2018-2022 Gentoo Authors
31 +# Distributed under the terms of the GNU General Public License v2
32 +
33 +EAPI=8
34 +
35 +LLVM_MAX_SLOT=14
36 +
37 +inherit autotools llvm toolchain-funcs
38 +
39 +DESCRIPTION="Binary annotation compiler plugin and tools"
40 +HOMEPAGE="https://nickc.fedorapeople.org"
41 +SRC_URI="https://nickc.fedorapeople.org/${P}.tar.xz"
42 +
43 +KEYWORDS="~amd64"
44 +LICENSE="GPL-3"
45 +SLOT="0"
46 +IUSE="clang doc llvm test"
47 +
48 +RDEPEND="
49 + app-arch/rpm
50 + dev-libs/elfutils
51 + sys-libs/binutils-libs
52 +
53 + clang? ( <sys-devel/clang-${LLVM_MAX_SLOT}:= )
54 + !clang? ( llvm? ( <sys-devel/llvm-${LLVM_MAX_SLOT}:= ) )
55 + llvm? (
56 + || (
57 + sys-devel/llvm:12
58 + sys-devel/llvm:13
59 + sys-devel/llvm:${LLVM_MAX_SLOT}
60 + )
61 + )
62 +"
63 +DEPEND="${RDEPEND}"
64 +
65 +PATCHES=(
66 + "${FILESDIR}/${PN}-10.65-fix-bashism.patch"
67 + "${FILESDIR}/${PN}-10.58-demangle.h-path.patch"
68 +)
69 +REQUIRED_USE="
70 + clang? ( llvm )
71 +"
72 +RESTRICT="!test? ( test )"
73 +
74 +pkg_pretend() {
75 + if [[ ${MERGE_TYPE} != binary ]]; then
76 + if ! tc-is-gcc ; then
77 + eerror "${PN} is a gcc plugin. Please emerge using gcc as CC"
78 + die "use gcc"
79 + fi
80 + fi
81 +}
82 +
83 +src_prepare() {
84 + default
85 + sed -i 's|2.69|2.71|g' config/override.m4 || die
86 +
87 + if use llvm; then
88 + local llvmdir="$(get_llvm_prefix -d)" || die
89 + local llvm_plugindir
90 + llvm_plugindir="$(
91 + clang --print-search-dirs | gawk -e\
92 + 'BEGIN { FS = ":" } /libraries/ { print gensub(" =","",1,$2) } END { }'
93 + )" || die
94 + einfo $llvm_plugindir
95 +
96 + sed -i "/^INCDIR.*/ s|$| -I${llvmdir}/include|" {llvm,clang}-plugin/Makefile.in || die
97 + sed -i "/^CLANG_LIBS.*/ s|$| -L${llvmdir}/$(get_libdir)|" clang-plugin/Makefile.in || die
98 + sed -i "s|^PLUGIN_INSTALL_DIR =.*|PLUGIN_INSTALL_DIR = \$\{DESTDIR\}/$(realpath ${llvm_plugindir})|" {llvm,clang}-plugin/Makefile.in || die
99 + fi
100 +
101 + eautoreconf
102 +}
103 +
104 +src_configure() {
105 + local plugdir="$($(tc-getCC) -print-file-name=plugin)" || die
106 + local myconf=(
107 + --with-gcc-plugin-dir="${plugdir}"
108 + --with-libelf
109 + --without-debuginfod # we don't have it enabled, comes with elfutils
110 + $(use_with clang)
111 + $(use_with doc docs)
112 + $(use_with llvm)
113 + $(use_with test tests)
114 + )
115 +
116 + econf "${myconf[@]}"
117 +}