From c7c4e417ac9c0e113dbf679baca04019dcb85723 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Fri, 22 Nov 2024 07:55:13 +0100 Subject: sys-devel/dwz: fix hardcoded readelf, pull error-standalone Closes: https://bugs.gentoo.org/829239 Closes: https://bugs.gentoo.org/902197 Signed-off-by: Haelwenn (lanodan) Monnier Signed-off-by: Sam James --- sys-devel/dwz/dwz-0.15-r3.ebuild | 72 ++++++++++++++++++++++++++++++ sys-devel/dwz/files/dwz-0.15-readelf.patch | 43 ++++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 sys-devel/dwz/dwz-0.15-r3.ebuild create mode 100644 sys-devel/dwz/files/dwz-0.15-readelf.patch (limited to 'sys-devel/dwz') diff --git a/sys-devel/dwz/dwz-0.15-r3.ebuild b/sys-devel/dwz/dwz-0.15-r3.ebuild new file mode 100644 index 000000000000..c3edf6b147e7 --- /dev/null +++ b/sys-devel/dwz/dwz-0.15-r3.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="DWARF optimization and duplicate removal tool" +HOMEPAGE="https://sourceware.org/dwz" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://sourceware.org/git/dwz.git" + inherit git-r3 +else + SRC_URI="https://sourceware.org/ftp/dwz/releases/${P}.tar.xz" + S="${WORKDIR}/${PN}" + + #KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +fi + +LICENSE="GPL-2+ GPL-3+" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/elfutils + dev-libs/xxhash + elibc_musl? ( + sys-libs/error-standalone + sys-libs/obstack-standalone + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + dev-debug/gdb + dev-libs/elfutils[utils] + dev-util/dejagnu + ) + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${P}-gdb-15.patch + "${FILESDIR}"/${P}-readelf.patch +) + +src_prepare() { + default + tc-export CC +} + +src_compile() { + tc-export PKG_CONFIG + + export LIBS="-lelf" + if use elibc_musl; then + export CFLAGS="${CFLAGS} $(${PKG_CONFIG} --cflags obstack-standalone)" + export LIBS="${LIBS} $(${PKG_CONFIG} --libs obstack-standalone)" + fi + + emake CFLAGS="${CFLAGS}" LIBS="${LIBS}" srcdir="${S}" +} + +src_test() { + emake CFLAGS="${CFLAGS}" LIBS="${LIBS}" srcdir="${S}" check +} + +src_install() { + emake DESTDIR="${D}" CFLAGS="${CFLAGS}" LIBS="${LIBS}" srcdir="${S}" install +} diff --git a/sys-devel/dwz/files/dwz-0.15-readelf.patch b/sys-devel/dwz/files/dwz-0.15-readelf.patch new file mode 100644 index 000000000000..038c832e3950 --- /dev/null +++ b/sys-devel/dwz/files/dwz-0.15-readelf.patch @@ -0,0 +1,43 @@ +From 2ae1b0ee518ba40fe985aa644d3a66ebca1165e4 Mon Sep 17 00:00:00 2001 +From: "Haelwenn (lanodan) Monnier" +Upstream: https://sourceware.org/pipermail/dwz/2024q4/001435.html +Date: Fri, 22 Nov 2024 07:33:09 +0100 +Subject: [PATCH 2/2] Makefile: use $READELF variable instead of hardcoding + 'readelf' + +--- + Makefile | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 3dc6c6f..f0841aa 100644 +--- a/Makefile ++++ b/Makefile +@@ -19,6 +19,8 @@ endif + + override CFLAGS += $(CFLAGS_COMMON) $(CFLAGS_VERSION) $(CFLAGS_COPYRIGHT) + ++READELF ?= $(CROSS_COMPILE)readelf ++ + prefix = /usr + exec_prefix = $(prefix) + bindir = $(exec_prefix)/bin +@@ -35,13 +37,13 @@ args.o: native.o + args.o: CFLAGS_FOR_SOURCE = \ + -DNATIVE_ENDIAN_VAL=$(NATIVE_ENDIAN_VAL) \ + -DNATIVE_POINTER_SIZE=$(NATIVE_POINTER_SIZE) +-NATIVE_ENDIAN=$(shell readelf -h native.o \ ++NATIVE_ENDIAN=$(shell ${READELF} -h native.o \ + | grep Data \ + | sed 's/.*, //;s/ endian//') + NATIVE_ENDIAN_LITTLE=$(findstring $(NATIVE_ENDIAN),$(findstring little,$(NATIVE_ENDIAN))) + NATIVE_ENDIAN_BIG=$(findstring $(NATIVE_ENDIAN),$(findstring big,$(NATIVE_ENDIAN))) + NATIVE_ENDIAN_VAL=$(if $(NATIVE_ENDIAN_LITTLE),ELFDATA2LSB,$(if $(NATIVE_ENDIAN_BIG),ELFDATA2MSB,ELFDATANONE)) +-NATIVE_POINTER_SIZE=$(shell readelf -wi native.o \ ++NATIVE_POINTER_SIZE=$(shell ${READELF} -wi native.o \ + | grep "Pointer Size:" \ + | sed 's/.*: *//') + %.o: %.c +-- +2.45.2 + -- cgit v1.2.3-65-gdbad