dev-util/tinyxxd: respect user variables and add tests

The ebuild now properly honors CC, CFLAGS, LDFLAGS, EPREFIX.

Signed-off-by: Lucio Sauer <watermanpaint@posteo.net>
This commit is contained in:
Lucio Sauer
2025-07-28 12:26:55 +02:00
parent d07b67243e
commit 00aef89228
3 changed files with 62 additions and 2 deletions

View File

@@ -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 <watermanpaint@posteo.net>
--- 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 $@ $<

View File

@@ -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

View File

@@ -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