commit: 00aef8922896da2c6c9feb411167afb7316fbaa8 Author: Lucio Sauer <watermanpaint <AT> posteo <DOT> net> AuthorDate: Mon Jul 28 10:26:55 2025 +0000 Commit: Lucio Sauer <watermanpaint <AT> posteo <DOT> net> CommitDate: Mon Jul 28 10:51:05 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=00aef892
dev-util/tinyxxd: respect user variables and add tests The ebuild now properly honors CC, CFLAGS, LDFLAGS, EPREFIX. Signed-off-by: Lucio Sauer <watermanpaint <AT> posteo.net> .../tinyxxd/files/tinyxxd-1.3.7-fix-flags.patch | 30 ++++++++++++++++++++++ dev-util/tinyxxd/tinyxxd-1.3.7-r2.ebuild | 17 +++++++++++- dev-util/tinyxxd/tinyxxd-9999.ebuild | 17 +++++++++++- 3 files changed, 62 insertions(+), 2 deletions(-) diff --git a/dev-util/tinyxxd/files/tinyxxd-1.3.7-fix-flags.patch b/dev-util/tinyxxd/files/tinyxxd-1.3.7-fix-flags.patch new file mode 100644 index 0000000000..6bcbb12381 --- /dev/null +++ b/dev-util/tinyxxd/files/tinyxxd-1.3.7-fix-flags.patch @@ -0,0 +1,30 @@ +Keep upstream's important CFLAGS and macros and respect LDFLAGS. Omit those +which the toolchain sets for us: +https://wiki.gentoo.org/wiki/Hardened/Toolchain#Changes + +From: Lucio Sauer <[email protected]> +--- a/Makefile ++++ b/Makefile +@@ -2,13 +2,6 @@ + + CFLAGS ?= -std=c11 -O2 -pipe -finline-functions -fPIC -Wall -Wextra -Wpedantic -Wfatal-errors + UNAME_S := $(shell uname -s) +-ifeq ($(UNAME_S),Darwin) +- CFLAGS += -fstack-protector-strong -D_GNU_SOURCE -fno-plt +-else ifeq ($(OS),Windows_NT) +- CFLAGS += -D_WIN32 +-else +- CFLAGS += -fstack-protector-strong -D_GNU_SOURCE -fno-plt -Wl,-z,now +-endif + + PREFIX ?= /usr + BINDIR ?= $(PREFIX)/bin +@@ -20,7 +13,7 @@ + RELEASE_FILES := main.c Makefile COPYING README.md + + tinyxxd: main.c +- $(CC) $(CFLAGS) -o $@ $< ++ $(CC) $(CFLAGS) -std=c11 -D_GNU_SOURCE $(LDFLAGS) -o $@ $< + + tinyxxd_debug: main.c + $(CC) $(CFLAGS) -g -o $@ $< diff --git a/dev-util/tinyxxd/tinyxxd-1.3.7-r2.ebuild b/dev-util/tinyxxd/tinyxxd-1.3.7-r2.ebuild index 6161c99c59..24c7d2ab5e 100644 --- a/dev-util/tinyxxd/tinyxxd-1.3.7-r2.ebuild +++ b/dev-util/tinyxxd/tinyxxd-1.3.7-r2.ebuild @@ -3,6 +3,8 @@ EAPI=8 +inherit edo toolchain-funcs + DESCRIPTION="Drop-in replacement and standalone version of xxd" HOMEPAGE="https://github.com/xyproto/tinyxxd" if [[ ${PV} == *9999* ]]; then @@ -21,8 +23,21 @@ IUSE="xxd" RDEPEND="xxd? ( !dev-util/xxd !app-editors/vim-core )" +PATCHES=( "${FILESDIR}"/${P}-fix-flags.patch ) + +src_compile() { + export CFLAGS LDFLAGS + tc-export CC + emake +} + +src_test() { + edo ./testfiles/test13.sh + edo ./testfiles/test14.sh +} + src_install(){ - default + emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install if use xxd; then dosym -r /usr/bin/tinyxxd /usr/bin/xxd fi diff --git a/dev-util/tinyxxd/tinyxxd-9999.ebuild b/dev-util/tinyxxd/tinyxxd-9999.ebuild index 6161c99c59..15a85adb05 100644 --- a/dev-util/tinyxxd/tinyxxd-9999.ebuild +++ b/dev-util/tinyxxd/tinyxxd-9999.ebuild @@ -3,6 +3,8 @@ EAPI=8 +inherit edo toolchain-funcs + DESCRIPTION="Drop-in replacement and standalone version of xxd" HOMEPAGE="https://github.com/xyproto/tinyxxd" if [[ ${PV} == *9999* ]]; then @@ -21,8 +23,21 @@ IUSE="xxd" RDEPEND="xxd? ( !dev-util/xxd !app-editors/vim-core )" +PATCHES=( "${FILESDIR}"/${PN}-1.3.7-fix-flags.patch ) + +src_compile() { + export CFLAGS LDFLAGS + tc-export CC + emake +} + +src_test() { + edo ./testfiles/test13.sh + edo ./testfiles/test14.sh +} + src_install(){ - default + emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install if use xxd; then dosym -r /usr/bin/tinyxxd /usr/bin/xxd fi
