Gentoo Archives: gentoo-commits

From: "Arsen Arsenović" <arsen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/elfutils/
Date: Fri, 03 Mar 2023 18:24:49
Message-Id: 1677867799.54baf36e57874343d1e0910586e6cbf3db7bec87.arsen@gentoo
1 commit: 54baf36e57874343d1e0910586e6cbf3db7bec87
2 Author: Arsen Arsenović <arsen <AT> gentoo <DOT> org>
3 AuthorDate: Fri Mar 3 18:12:53 2023 +0000
4 Commit: Arsen Arsenović <arsen <AT> gentoo <DOT> org>
5 CommitDate: Fri Mar 3 18:23:19 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54baf36e
7
8 dev-libs/elfutils: add 0.189
9
10 Signed-off-by: Arsen Arsenović <arsen <AT> gentoo.org>
11
12 dev-libs/elfutils/Manifest | 2 +
13 dev-libs/elfutils/elfutils-0.189.ebuild | 127 ++++++++++++++++++++++++++++++++
14 2 files changed, 129 insertions(+)
15
16 diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest
17 index 98e41ab11013..1b799318d833 100644
18 --- a/dev-libs/elfutils/Manifest
19 +++ b/dev-libs/elfutils/Manifest
20 @@ -1,3 +1,5 @@
21 DIST elfutils-0.187-patches.tar.xz 2804 BLAKE2B 77cbd0666d8da3d5229baaba6605c84e7990200f39bfb72b2008eb2527e4567abd90c93c291cc0c8f3c10bbf97758ccf5877cbdae823780cf8dc97ff4ff2f932 SHA512 d056fdd6ae0e71471087af472a72384d6e73ff2d7fe1b708b5ec9f091a913c8327197660132b7a6619a0db86534715507ef67ee91691a00a591c1d24c55a99f4
22 DIST elfutils-0.188.tar.bz2 9112977 BLAKE2B 6b0474f1436eaf6af73b735b9b2ddd5448ab9c03fbaa0be745a31c89ae8f15b0e21a651409c38643ca125794ce82c19d7b46db4a079f3e72cb919d643560e7a4 SHA512 585551b2d937d19d1becfc2f28935db1dd1a3d25571a62f322b70ac8da98c1a741a55d070327705df6c3e2ee026652e0b9a3c733b050a0b0ec5f2fc75d5b74b5
23 DIST elfutils-0.188.tar.bz2.sig 310 BLAKE2B c8d9135cffde3b1dd337b692d5351855cf799915d3ebd553327febaac192bd2f108b3f45a6376d458e179390a1ceaf4809762cdc40ea1e05fed0214ac33ed56e SHA512 4cc8a7417d244e319a1650d71b1831660cfe41afc7c73e9c83d1f076f4013fe15247e8b4f5e12a5396d83c4f1c7663ca4be5ea42bff3dc23263f85331fd9d566
24 +DIST elfutils-0.189.tar.bz2 9143169 BLAKE2B 30596271e14cf3408326abc38a9775b849b8cb0ee119a5455df9434a7d3b9a57afb15e0236a179a26c7bd400d303749964c9d6350c419f747784fd99d12517e0 SHA512 93a877e34db93e5498581d0ab2d702b08c0d87e4cafd9cec9d6636dfa85a168095c305c11583a5b0fb79374dd93bc8d0e9ce6016e6c172764bcea12861605b71
25 +DIST elfutils-0.189.tar.bz2.sig 310 BLAKE2B d4155de64b15a9ab5c497cd603e73bf918eb1117de36cf28f8ddb50ccb4874fb24cffdf44bcbbc028b2ef3f64562960bf11a431274d861f9db96e3d865b37ec2 SHA512 2016c5f0ccd16f7feb0c825164bb18b2f1afad17dcd39d9f159429360fe4afd645665f612397d48bde191a1e59bb8352e2d065d61d7f649b929c3a7e7bfe8dd0
26
27 diff --git a/dev-libs/elfutils/elfutils-0.189.ebuild b/dev-libs/elfutils/elfutils-0.189.ebuild
28 new file mode 100644
29 index 000000000000..0df16d8efdf8
30 --- /dev/null
31 +++ b/dev-libs/elfutils/elfutils-0.189.ebuild
32 @@ -0,0 +1,127 @@
33 +# Copyright 2003-2023 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=8
37 +
38 +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/elfutils.gpg
39 +inherit flag-o-matic multilib-minimal verify-sig
40 +
41 +DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
42 +HOMEPAGE="https://sourceware.org/elfutils/"
43 +SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2"
44 +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-0.187-patches.tar.xz"
45 +SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )"
46 +
47 +LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
48 +SLOT="0"
49 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
50 +IUSE="bzip2 lzma nls static-libs test +utils valgrind zstd"
51 +RESTRICT="!test? ( test )"
52 +
53 +RDEPEND="
54 + !dev-libs/libelf
55 + >=sys-libs/zlib-1.2.8-r1[static-libs?,${MULTILIB_USEDEP}]
56 + bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] )
57 + lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] )
58 + zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] )
59 + elibc_musl? (
60 + dev-libs/libbsd
61 + sys-libs/argp-standalone
62 + sys-libs/fts-standalone
63 + sys-libs/obstack-standalone
64 + )
65 +"
66 +DEPEND="
67 + ${RDEPEND}
68 + valgrind? ( dev-util/valgrind )
69 +"
70 +BDEPEND="
71 + >=sys-devel/flex-2.5.4a
72 + sys-devel/m4
73 + nls? ( sys-devel/gettext )
74 + verify-sig? ( sec-keys/openpgp-keys-elfutils )
75 +"
76 +
77 +PATCHES=(
78 + "${WORKDIR}"/${PN}-0.187-patches/
79 +)
80 +
81 +src_unpack() {
82 + if use verify-sig ; then
83 + # Needed for downloaded patch (which is unsigned, which is fine)
84 + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.sig}
85 + fi
86 +
87 + default
88 +}
89 +
90 +src_prepare() {
91 + default
92 +
93 + if use elibc_musl; then
94 + eapply "${WORKDIR}"/${PN}-0.187-patches/musl/
95 + fi
96 +
97 + if ! use static-libs; then
98 + sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die
99 + fi
100 +
101 + # https://sourceware.org/PR23914
102 + sed -i 's:-Werror::' */Makefile.in || die
103 +}
104 +
105 +src_configure() {
106 + # bug #407135
107 + use test && append-flags -g
108 +
109 + # Symbol aliases are implemented as asm statements.
110 + # Will require porting: https://gcc.gnu.org/PR48200
111 + filter-flags '-flto*'
112 +
113 + multilib-minimal_src_configure
114 +}
115 +
116 +multilib_src_configure() {
117 + local myeconfargs=(
118 + $(use_enable nls)
119 + --disable-debuginfod
120 + --disable-libdebuginfod
121 +
122 + # explicitly disable thread safety, it's not recommended by upstream
123 + # doesn't build either on musl.
124 + --disable-thread-safety
125 +
126 + # Valgrind option is just for running tests under it; dodgy under sandbox
127 + # and indeed even w/ glibc with newer instructions.
128 + --disable-valgrind
129 + --program-prefix="eu-"
130 + --with-zlib
131 + $(use_with bzip2 bzlib)
132 + $(use_with lzma)
133 + $(use_with zstd)
134 + )
135 +
136 + # Needed because sets alignment macro
137 + is-flagq -fsanitize=address && myeconfargs+=( --enable-sanitize-address )
138 + is-flagq -fsanitize=undefined && myeconfargs+=( --enable-sanitize-undefined )
139 +
140 + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
141 +}
142 +
143 +multilib_src_test() {
144 + env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
145 + LC_ALL="C" \
146 + emake check VERBOSE=1
147 +}
148 +
149 +multilib_src_install_all() {
150 + einstalldocs
151 +
152 + dodoc NOTES
153 +
154 + # These build quick, and are needed for most tests, so don't
155 + # disable their building when the USE flag is disabled.
156 + if ! use utils; then
157 + rm -rf "${ED}"/usr/bin || die
158 + fi
159 +}