dev-util/statifier: [QA] Honour CC flags
authorDavid Seifert <soap@gentoo.org>
Thu, 29 Nov 2018 21:35:12 +0000 (22:35 +0100)
committerDavid Seifert <soap@gentoo.org>
Thu, 29 Nov 2018 21:36:04 +0000 (22:36 +0100)
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: David Seifert <soap@gentoo.org>
dev-util/statifier/files/statifier-1.7.4-fix-build-system.patch [new file with mode: 0644]
dev-util/statifier/statifier-1.7.4.ebuild

diff --git a/dev-util/statifier/files/statifier-1.7.4-fix-build-system.patch b/dev-util/statifier/files/statifier-1.7.4-fix-build-system.patch
new file mode 100644 (file)
index 0000000..ef8c6a5
--- /dev/null
@@ -0,0 +1,48 @@
+Honour user flags and CC
+
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -170,7 +170,7 @@
+       echo "VERSION='$(VERSION)'" > $@ || { $(RM) $@; exit 1; }
+  
+ $(UTILS_WITH_ELF_CLASS): $(ELF_CLASS)/%: %.c
+-      gcc $(FLAGS_ELF) -I$(CPU_DIR) -Wall -O2 -g $< -o $@
++      $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(FLAGS_ELF) -I$(CPU_DIR) -g $< -o $@
+ 
+ MY_GDB_CFILES := \
+    breakpoints.c \
+@@ -187,13 +187,13 @@
+ 
+ MY_GDB_CPPFLAGS := -I. -I$(CPU_DIR) -I$(ELF_CLASS)
+ $(MY_GDB_OBJ_FILES): $(ELF_CLASS)/%.o: my_gdb/%.c
+-      gcc -c $(FLAGS_ELF) $(MY_GDB_CPPFLAGS) -Wall -O2 -g $< -o $@
++      $(CC) $(CPPFLAGS) $(CFLAGS) -c $(FLAGS_ELF) $(MY_GDB_CPPFLAGS) -g $< -o $@
+ 
+ $(ELF_CLASS)/my_gdb: $(MY_GDB_OBJ_FILES)
+-      gcc $(FLAGS_ELF) $^ -o $@
++      $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(FLAGS_ELF) $^ -o $@
+ 
+ $(ELF_CLASS)/dl-var.s: dl-var.c dl-var.inc
+-      gcc $(FLAGS_ELF) $(FLAGS_C_TO_ASM_ELF) -Wall -O2 -S $< -o $@.s
++      $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(FLAGS_ELF) $(FLAGS_C_TO_ASM_ELF) -S $< -o $@.s
+       /bin/sh asm.make.sh < $@.s > $@ || { $(RM) $@; exit 1; }
+ 
+ # Dependencies should be in correct order
+@@ -210,7 +210,7 @@
+ # Because linker give warning about _start function I specify
+ # pretty dummy '--entry=0x0'
+ $(FILES_TO_BE_EMBEDDED_WITH_ELF_CLASS): $(ELF_CLASS)/%: $(ELF_CLASS)/%.o
+-      gcc $(FLAGS_ELF) -o $@ $< -Wl,--oformat,binary,--entry=0x0 -nostdlib
++      $(CC) $(CPPFLAGS) $(CFLAGS) $(FLAGS_ELF) -o $@ $< -Wl,--oformat,binary,--entry=0x0 -nostdlib
+ 
+ OBJECTS_TO_BE_EMBEDDED_WITH_ELF_CLASS = $(addsuffix .o,$(FILES_TO_BE_EMBEDDED_WITH_ELF_CLASS))
+ 
+@@ -221,7 +221,7 @@
+ # with -include processor.h, start.S and $<
+ # 
+ $(OBJECTS_TO_BE_EMBEDDED_WITH_ELF_CLASS): $(ELF_CLASS)/%.o: $(CPU_DIR)/%.S $(CPU_DIR)/processor.h ./start.S ./end.S
+-      gcc $(FLAGS_ELF) -c -o $@ -nostdinc -I$(CURDIR) -I$(CURDIR)/$(ELF_CLASS) -include $(CPU_DIR)/processor.h -include ./start.S -include $< ./end.S
++      $(CC) $(CPPFLAGS) $(CFLAGS) $(FLAGS_ELF) -c -o $@ -nostdinc -I$(CURDIR) -I$(CURDIR)/$(ELF_CLASS) -include $(CPU_DIR)/processor.h -include ./start.S -include $< ./end.S
+ 
+ # Additional dependencies:
+ $(ELF_CLASS)/regs.o: $(ELF_CLASS)/regs.inc
index 08b4f7afec9b9b3af0c14ca376171b88e524e8b5..b4021f0a1cf3ede52886c15eb44ea02e87149485 100644 (file)
@@ -1,11 +1,11 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
 
 MULTILIB_COMPAT=( abi_x86_{32,64} )
 
-inherit multilib-build
+inherit multilib-build toolchain-funcs
 
 DESCRIPTION="Statifier is a tool for creating portable, self-containing Linux executables"
 HOMEPAGE="http://statifier.sourceforge.net"
@@ -20,20 +20,23 @@ RDEPEND="app-shells/bash
        sys-apps/coreutils
        virtual/awk"
 
-src_prepare() {
+PATCHES=(
        # Respect users CFLAGS and LDFLAGS
-       sed -i -e 's/-Wall -O2/$(CFLAGS) $(LDFLAGS)/g' src/Makefile || die
+       "${FILESDIR}"/${PN}-1.7.4-fix-build-system.patch
+)
+
+src_prepare() {
+       default
 
        # Don't compile 32-bit on amd64 no-multilib profile
        if ! use abi_x86_32; then
                sed -i -e 's/ELF32 .*/ELF32 := no/g' configs/config.x86_64 || die
        fi
-
-       # Apply user patches
-       eapply_user
 }
 
 src_configure() {
+       tc-export CC
+
        # Fix permissions, as configure is not marked executable
        chmod +x configure || die
        econf