diff --git a/srcpkgs/elfkickers/patches/elfkickers-3.1-AR.patch b/srcpkgs/elfkickers/patches/elfkickers-3.1-AR.patch new file mode 100644 index 00000000000..dc1726a7706 --- /dev/null +++ b/srcpkgs/elfkickers/patches/elfkickers-3.1-AR.patch @@ -0,0 +1,24 @@ +https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-util/elfkickers/files +https://bugs.gentoo.org/724258 +--- a/ebfc/Makefile ++++ b/ebfc/Makefile +@@ -10,7 +10,7 @@ brainfuck.o: brainfuck.c elfparts.h ebfc.h + + libelfparts.a: elfparts.o ehdr.o phdrtab.o shdrtab.o progbits.o \ + strtab.o symtab.o hash.o rel.o got.o dynamic.o +- ar crs libelfparts.a $^ ++ $(AR) crs libelfparts.a $^ + + elfparts.o: elfparts.c elfparts.h gen.h + ehdr.o: ehdr.c elfparts.h gen.h +--- a/elfrw/Makefile ++++ b/elfrw/Makefile +@@ -6,7 +6,7 @@ LIBOBJS = elfrw.o elfrw_dyn.o elfrw_ehdr.o elfrw_phdr.o elfrw_rel.o \ + elfrw_shdr.o elfrw_sym.o elfrw_ver.o + + libelfrw.a: $(LIBOBJS) +- ar crs $@ $^ ++ $(AR) crs $@ $^ + + elfrw.o: elfrw.c elfrw.h elfrw_int.h + elfrw_dyn.o: elfrw_dyn.c elfrw_int.h diff --git a/srcpkgs/elfkickers/patches/elfkickers-3.1-respect-CFLAGS-LDFLAGS.patch b/srcpkgs/elfkickers/patches/elfkickers-3.1-respect-CFLAGS-LDFLAGS.patch new file mode 100644 index 00000000000..beedffa9403 --- /dev/null +++ b/srcpkgs/elfkickers/patches/elfkickers-3.1-respect-CFLAGS-LDFLAGS.patch @@ -0,0 +1,104 @@ +https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-util/elfkickers/files +diff -Naur ELFkickers-3.1.orig/ebfc/Makefile ELFkickers-3.1/ebfc/Makefile +--- ELFkickers-3.1.orig/ebfc/Makefile 2014-11-17 14:50:34.000000000 -0500 ++++ ELFkickers-3.1/ebfc/Makefile 2016-11-16 17:13:53.297033908 -0500 +@@ -1,7 +1,7 @@ + # Makefile for ebfc + +-CC = gcc +-CFLAGS = -Wall -Wextra -Wno-missing-field-initializers ++CC ?= gcc ++CFLAGS += -Wno-missing-field-initializers + + ebfc: ebfc.o brainfuck.o libelfparts.a + +diff -Naur ELFkickers-3.1.orig/elfls/Makefile ELFkickers-3.1/elfls/Makefile +--- ELFkickers-3.1.orig/elfls/Makefile 2011-05-31 02:53:05.000000000 -0400 ++++ ELFkickers-3.1/elfls/Makefile 2016-11-16 17:12:48.885032137 -0500 +@@ -1,7 +1,7 @@ + # Makefile for elfls + +-CC = gcc +-CFLAGS = -Wall -Wextra -I../elfrw ++CC ?= gcc ++CFLAGS += -I../elfrw + + elfls: elfls.c ../elfrw/libelfrw.a + +diff -Naur ELFkickers-3.1.orig/elfrw/Makefile ELFkickers-3.1/elfrw/Makefile +--- ELFkickers-3.1.orig/elfrw/Makefile 2011-05-22 14:02:12.000000000 -0400 ++++ ELFkickers-3.1/elfrw/Makefile 2016-11-16 17:13:06.653032625 -0500 +@@ -1,7 +1,6 @@ + # Makefile for libelfrw.a + +-CC = gcc +-CFLAGS = -Wall -Wextra -O3 ++CC ?= gcc + + LIBOBJS = elfrw.o elfrw_dyn.o elfrw_ehdr.o elfrw_phdr.o elfrw_rel.o \ + elfrw_shdr.o elfrw_sym.o elfrw_ver.o +diff -Naur ELFkickers-3.1.orig/elftoc/Makefile ELFkickers-3.1/elftoc/Makefile +--- ELFkickers-3.1.orig/elftoc/Makefile 2011-05-23 23:30:22.000000000 -0400 ++++ ELFkickers-3.1/elftoc/Makefile 2016-11-16 17:12:57.549032375 -0500 +@@ -1,8 +1,6 @@ + # Makefile for elftoc + +-CC = gcc +-CFLAGS = -Wall -Wextra +-LDFLAGS = -Wall -Wextra ++CC ?= gcc + + OBJS = gen.o names.o address.o readelf.o shdrtab.o phdrtab.o dynamic.o \ + pieces.o outbase.o outitems.o outelf64.o outelf32.o out.o elftoc.o +diff -Naur ELFkickers-3.1.orig/infect/Makefile ELFkickers-3.1/infect/Makefile +--- ELFkickers-3.1.orig/infect/Makefile 2011-05-31 02:52:27.000000000 -0400 ++++ ELFkickers-3.1/infect/Makefile 2016-11-16 17:12:30.617031634 -0500 +@@ -1,7 +1,6 @@ + # Makefile for infect + +-CC = gcc +-CFLAGS = -Wall -Wextra ++CC ?= gcc + + infect: infect.c + +diff -Naur ELFkickers-3.1.orig/objres/Makefile ELFkickers-3.1/objres/Makefile +--- ELFkickers-3.1.orig/objres/Makefile 2016-11-14 16:46:24.000000000 -0500 ++++ ELFkickers-3.1/objres/Makefile 2016-11-16 17:13:40.225033549 -0500 +@@ -1,8 +1,7 @@ + # Makefile for objres + +-CC = gcc +-CFLAGS = -Wall -Wextra -I../elfrw +-LDFLAGS = -Wall -Wextra ++CC ?= gcc ++CFLAGS += -I../elfrw + + objres: objres.o ../elfrw/libelfrw.a + +diff -Naur ELFkickers-3.1.orig/rebind/Makefile ELFkickers-3.1/rebind/Makefile +--- ELFkickers-3.1.orig/rebind/Makefile 2011-05-23 23:29:16.000000000 -0400 ++++ ELFkickers-3.1/rebind/Makefile 2016-11-16 17:13:17.373032920 -0500 +@@ -1,7 +1,7 @@ + # Makefile for rebind + +-CC = gcc +-CFLAGS = -Wall -Wextra -I../elfrw ++CC ?= gcc ++CFLAGS += -I../elfrw + + rebind: rebind.c ../elfrw/libelfrw.a + +diff -Naur ELFkickers-3.1.orig/sstrip/Makefile ELFkickers-3.1/sstrip/Makefile +--- ELFkickers-3.1.orig/sstrip/Makefile 2011-05-23 23:29:58.000000000 -0400 ++++ ELFkickers-3.1/sstrip/Makefile 2016-11-16 17:14:05.949034256 -0500 +@@ -1,7 +1,7 @@ + # Makefile for sstrip + +-CC = gcc +-CFLAGS = -Wall -Wextra -I../elfrw ++CC ?= gcc ++CFLAGS += -I../elfrw + + sstrip: sstrip.c ../elfrw/libelfrw.a + diff --git a/srcpkgs/elfkickers/patches/elfkickers-3.2-cross.patch b/srcpkgs/elfkickers/patches/elfkickers-3.2-cross.patch new file mode 100644 index 00000000000..2a13f820eec --- /dev/null +++ b/srcpkgs/elfkickers/patches/elfkickers-3.2-cross.patch @@ -0,0 +1,12 @@ +--- a/elftoc/Makefile ++++ b/elftoc/Makefile +@@ -35,7 +35,9 @@ + rm -f ./~elftmp.c + + mknames: mknames.o ++ $(CC_FOR_BUILD) -o $@ $^ + mknames.o: mknames.c ++ $(CC_FOR_BUILD) -c $^ $@ + + clean: + rm -f $(OBJS) elftoc elfnames.c mknames mknames.o diff --git a/srcpkgs/elfkickers/patches/elfkickers-3.2-install.patch b/srcpkgs/elfkickers/patches/elfkickers-3.2-install.patch new file mode 100644 index 00000000000..9ef65c547a2 --- /dev/null +++ b/srcpkgs/elfkickers/patches/elfkickers-3.2-install.patch @@ -0,0 +1,24 @@ +--- a/Makefile ++++ b/Makefile +@@ -1,7 +1,5 @@ + # The top-level makefile simply invokes all the other makefiles + +-prefix = /usr/local +- + PROGRAMS = elfls objres rebind sstrip elftoc ebfc infect + + all: $(PROGRAMS) +@@ -24,10 +22,9 @@ + infect: bin/infect doc/infect.1 + + install: $(PROGRAMS) +- mkdir -p $(prefix)/bin +- cp bin/* $(prefix)/bin/. +- mkdir -p $(prefix)/share/man/man1 +- cp doc/* $(prefix)/share/man/man1/. ++ install -d $(DESTDIR)$(prefix)/bin $(DESTDIR)$(prefix)/share/man/man1 ++ install bin/* $(DESTDIR)$(prefix)/bin ++ install -m 644 doc/* $(DESTDIR)$(prefix)/share/man/man1 + + clean: + for dir in elfrw $(PROGRAMS) ; do $(MAKE) -C$$dir clean ; done diff --git a/srcpkgs/elfkickers/template b/srcpkgs/elfkickers/template new file mode 100644 index 00000000000..977b6e4cd4e --- /dev/null +++ b/srcpkgs/elfkickers/template @@ -0,0 +1,14 @@ +# Template file for 'elfkickers' +pkgname=elfkickers +version=3.2 +revision=1 +build_style=gnu-makefile +make_use_env=yes +short_desc="Collection of ELF utilities" +maintainer="Zlice " +license="GPL-2.0-only" +homepage="https://www.muppetlabs.com/~breadbox/software/elfkickers.html" +distfiles="http://www.muppetlabs.com/~breadbox/pub/software/ELFkickers-${version}.tar.gz" +checksum=9b81e6c53e0c94fc198d9882eb737156f36d565152dc32118897c77b06a2687c + +disable_parallel_build=yes # makefiles are pretty broken