summaryrefslogtreecommitdiff
path: root/dev-util/elfkickers
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-util/elfkickers
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-util/elfkickers')
-rw-r--r--dev-util/elfkickers/Manifest10
-rw-r--r--dev-util/elfkickers/elfkickers-3.0a.ebuild33
-rw-r--r--dev-util/elfkickers/elfkickers-3.1.ebuild37
-rw-r--r--dev-util/elfkickers/files/add-freebsd-elf-defs.patch68
-rw-r--r--dev-util/elfkickers/files/create-destdir-path.patch14
-rw-r--r--dev-util/elfkickers/files/elfkickers-3.1-create-destdir-path.patch17
-rw-r--r--dev-util/elfkickers/files/elfkickers-3.1-respect-CFLAGS-LDFLAGS.patch103
-rw-r--r--dev-util/elfkickers/files/respect-CFLAGS-LDFLAGS.patch102
-rw-r--r--dev-util/elfkickers/metadata.xml13
9 files changed, 397 insertions, 0 deletions
diff --git a/dev-util/elfkickers/Manifest b/dev-util/elfkickers/Manifest
new file mode 100644
index 000000000000..91305b445894
--- /dev/null
+++ b/dev-util/elfkickers/Manifest
@@ -0,0 +1,10 @@
+AUX add-freebsd-elf-defs.patch 1937 BLAKE2B d7983f6a93dc7a4621fe2da97de6dda8ea1d938996835fad6100c8c561aca37e2fa6b4ba796cb04bbd6d5674e05a84f02df22d954c731777652265f5a18768af SHA512 3f480926cc89ebf3a02bf0fbb8e304226e9b58bed2bc887854a8935915a444822093264e98856f55fb76e3c32127914e171e3da5ebfc05fed5a2d02931e970c2
+AUX create-destdir-path.patch 472 BLAKE2B a24251218f06f88df395945071125d6c3be515bd6e9d2a06154498b8775db3276efaeb8457a87ee99c6173bff71d029b0bd0fe74cec632131a09bc6ef9a544a1 SHA512 d84f70310786a5f550164145c1983d826a8ccf6616bf691e19592f91aa7c6549e96fefe27e5622fbca6c4db1cfa75362a67ba7b8d6d4fb365b34cf527743a3cf
+AUX elfkickers-3.1-create-destdir-path.patch 620 BLAKE2B 97cb8593a14405aba7ed766323272559c140258aec9dbdf04781d75f5b185790a2f5a7cf11511ab80eb0ef224bca43c8c6bbf7971f982484f2c4ec6fd6a3ce9e SHA512 63805893f21f7b4688c4363fa0e9fdd721ad14a03e657ca73b80850726c7c3178fc538005d5e8a47746f0496aea2b9899a39b511dc73556231141a02cf46d281
+AUX elfkickers-3.1-respect-CFLAGS-LDFLAGS.patch 3246 BLAKE2B d8e476486df9ca8178aca6bb42c3f93b271f2132fedf793b71f1f216ab57e4e05fb299a06ff0f47e0626d5067ae44c79b3b96b41fb40d40a935bcd24596272b7 SHA512 fc44d407d1cab8e26af3a7011d82a8f236ef330d881308c28ecc0685e5e8e11b3477ed67c59284ed0905ddd5d62e76f88b99ee4b27dcfb2f5d188f0318ebc1ef
+AUX respect-CFLAGS-LDFLAGS.patch 3237 BLAKE2B 084f594a98b7ad36edd87fbd0f841cb4858370d90f495df2bede43c0b0b87e41a775eed4dbef18f43152f75b3953dd8837f16ea3420a3943e71dc2b4a8dbe581 SHA512 85b1dd45111e7171701c4ef81e3aa23fbd5088c50cce890cf1d27c4de3560311f215bd43e3b0295e9c7917b07dca5c3431c2a705bbef80c0d90fd409ccebe664
+DIST ELFkickers-3.0a.tar.gz 100112 BLAKE2B 3fad92a6fd0cb285d8df2d529f95eccd7df8382925520989a3096354170535e02c890f5d5b4f6ae5a520750afe2477625371ee71f1bfc5d6b35d752749c7dc5a SHA512 c90a763e5b60069f9cb67fd5c114da753184ff466c3db1dd9a44e86de9408a4384a3ac00a8c67191ca9a6556fd0db11058542361e987710f9b5bedabaec2717c
+DIST ELFkickers-3.1.tar.gz 101406 BLAKE2B 8de2c27904909ede753b94cebe87789b27f02f98ce54342031330579a7ae021585117be4b61d8c7895c9c6a2c9b33f398cde9be1070ccbe24e51669db59bba73 SHA512 a0b1ba6cdb23b12f41b81cac1960b15cc2a4418cef48923900b668fa5132ce428bab16b1780698864fdf0c374762d57f471fc124d231f8de143be172c757000b
+EBUILD elfkickers-3.0a.ebuild 864 BLAKE2B d6284ed6c47c8ced0370f2f8a6aa9599a529e3b4c20a480a04dd9cd345bf469aa17989428d63d006d1894f7028e11576d24bec5da77e4c190c57f30490ca9884 SHA512 cda14dadbe6dadfeb44f9df4955c118c19ba9ccb66941e1653a95615ae812d22fecb8aaff8e7472fb8a246e194f238717b1512ff83aac1a7348bb684436b968c
+EBUILD elfkickers-3.1.ebuild 870 BLAKE2B 69651cd29c0800bddc94ebae1f2a04d1271f798885426b16faf6378ee815c377444264ad5c5e23ff378da2f1459b54b23a7e02d1c752b0144643121feef01066 SHA512 ebf1a110c5eaff0479afe381f7d9b1c5c4b9405446b3bb5b839ac76e1d68799ce16115af0a7ea33a40711c585d5ec039665586b3744a51e67e3e9d82ac506f98
+MISC metadata.xml 657 BLAKE2B 81a73ead5e1fee87a15c34c14135154148a9bf3449d8d7160bc18427edab55caf7d1916943bc8bc0e42f402031d8753c5102f504e191904f21b37996de36d24a SHA512 4519d4c439e25c4c70dabe91740ea572f084f4756cbf471f346d4bf0c85226f7254fbc9744ba32bd168885b238950d01de99bcd1baa7f24939b94daba41750a7
diff --git a/dev-util/elfkickers/elfkickers-3.0a.ebuild b/dev-util/elfkickers/elfkickers-3.0a.ebuild
new file mode 100644
index 000000000000..7e9fab33ac24
--- /dev/null
+++ b/dev-util/elfkickers/elfkickers-3.0a.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils toolchain-funcs
+
+MY_PN=${PN/elf/ELF}-${PV}
+S=${WORKDIR}/${MY_PN}
+
+DESCRIPTION="collection of programs to manipulate ELF files: sstrip, rebind, elfls, elftoc"
+HOMEPAGE="http://www.muppetlabs.com/~breadbox/software/elfkickers.html"
+SRC_URI="http://www.muppetlabs.com/~breadbox/pub/software/${MY_PN}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ~hppa ~mips sparc x86 ~x86-fbsd"
+IUSE="doc"
+
+DEPEND="app-misc/pax-utils"
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/respect-CFLAGS-LDFLAGS.patch
+ epatch "${FILESDIR}"/create-destdir-path.patch
+ epatch "${FILESDIR}"/add-freebsd-elf-defs.patch
+ sed -i -e "s:^prefix = /usr/local:prefix = ${D}:" Makefile \
+ || die "sed failed"
+}
+
+src_compile() {
+ emake CC=$(tc-getCC) all
+}
diff --git a/dev-util/elfkickers/elfkickers-3.1.ebuild b/dev-util/elfkickers/elfkickers-3.1.ebuild
new file mode 100644
index 000000000000..0fd4830cc4eb
--- /dev/null
+++ b/dev-util/elfkickers/elfkickers-3.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+MY_PN=${PN/elf/ELF}-${PV}
+S=${WORKDIR}/${MY_PN}
+
+DESCRIPTION="collection of programs to manipulate ELF files: sstrip, rebind, elfls, elftoc"
+HOMEPAGE="http://www.muppetlabs.com/~breadbox/software/elfkickers.html"
+SRC_URI="http://www.muppetlabs.com/~breadbox/pub/software/${MY_PN}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~mips ~sparc ~x86 ~x86-fbsd"
+IUSE="doc"
+
+DEPEND="app-misc/pax-utils"
+RDEPEND=""
+
+PATCHES=(
+ "${FILESDIR}"/${P}-respect-CFLAGS-LDFLAGS.patch
+ "${FILESDIR}"/${P}-create-destdir-path.patch
+ "${FILESDIR}"/add-freebsd-elf-defs.patch
+)
+
+src_prepare() {
+ default
+ sed -i -e "s:^prefix = /usr/local:prefix = ${D}:" Makefile \
+ || die "sed failed"
+}
+
+src_compile() {
+ emake CC=$(tc-getCC) all
+}
diff --git a/dev-util/elfkickers/files/add-freebsd-elf-defs.patch b/dev-util/elfkickers/files/add-freebsd-elf-defs.patch
new file mode 100644
index 000000000000..792a91d6dfb2
--- /dev/null
+++ b/dev-util/elfkickers/files/add-freebsd-elf-defs.patch
@@ -0,0 +1,68 @@
+--- ./elfrw/elfrw.h.orig 2011-05-31 01:47:08.000000000 +0200
++++ ./elfrw/elfrw.h 2011-06-08 12:16:37.000000000 +0200
+@@ -10,6 +10,24 @@
+ #include <stdio.h>
+ #include <elf.h>
+
++#ifdef __FreeBSD__
++typedef uint16_t Elf64_Section;
++
++#define PT_GNU_STACK 0x6474e551
++#define PT_GNU_RELRO 0x6474e552
++
++#if __FreeBSD_version < 700022
++#define SHT_GNU_HASH 0x6ffffff6
++#define EM_CRIS 76
++#define EM_M32R 88
++#define EM_MN10300 89
++#endif
++
++#define ELFCLASSNUM 3
++#define ELFDATANUM 3
++#define EV_NUM 2
++#endif
++
+ /*
+ * The initialization functions. Call one of these to set the flavor
+ * of ELF structures to translate to and from. The library can be
+--- ./elftoc/readelf.h.orig 2011-05-22 20:46:29.000000000 +0200
++++ ./elftoc/readelf.h 2011-06-08 12:16:37.000000000 +0200
+@@ -7,6 +7,12 @@
+ #ifndef _readelf_h_
+ #define _readelf_h_
+
++#ifdef __FreeBSD__
++#define ELFCLASSNUM 3
++#define ELFDATANUM 3
++#define EV_NUM 2
++#endif
++
+ /* Read all of the basic headers from the file image (namely the ELF
+ * header, the program segment header table, and the section header
+ * table). False is returned if the file could not be parsed as an ELF
+--- ./elftoc/pieces.c.orig 2011-05-26 03:25:14.000000000 +0200
++++ ./elftoc/pieces.c 2011-06-08 12:16:37.000000000 +0200
+@@ -16,6 +16,10 @@
+ #include "out.h"
+ #include "pieces.h"
+
++#ifdef __FreeBSD__
++typedef uint64_t Elf32_Xword;
++#endif
++
+ /* Flags used to insert warnings in the generated source code.
+ */
+ #define PW_MISALIGNED 0x0001 /* piece misaligned for original type */
+--- ./elftoc/outbase.h.orig 2011-05-22 20:46:29.000000000 +0200
++++ ./elftoc/outbase.h 2011-06-08 12:16:37.000000000 +0200
+@@ -7,6 +7,10 @@
+ #ifndef _outbase_h_
+ #define _outbase_h_
+
++#ifdef __FreeBSD__
++#define NT_AUXV 6
++#endif
++
+ /* Set the current output file. Call this before calling any output
+ * functions. (The FILE* argument is given as a void* so as to not
+ * include stdio.h here.)
diff --git a/dev-util/elfkickers/files/create-destdir-path.patch b/dev-util/elfkickers/files/create-destdir-path.patch
new file mode 100644
index 000000000000..d279db0ad606
--- /dev/null
+++ b/dev-util/elfkickers/files/create-destdir-path.patch
@@ -0,0 +1,14 @@
+--- Makefile.orig 2011-05-30 16:37:41.000000000 -0400
++++ Makefile 2011-05-30 16:38:30.000000000 -0400
+@@ -22,8 +22,9 @@
+ infect: bin/infect doc/infect.1
+
+ install: $(PROGRAMS:%=bin/%)
+- cp bin/* $(prefix)/bin/.
+- cp doc/* $(prefix)/share/man/man1/.
++ install -d $(prefix)/usr/bin $(prefix)/usr/share/man/man1
++ install bin/* $(prefix)/usr/bin
++ install -m 644 doc/* $(prefix)/usr/share/man/man1
+
+ clean:
+ for dir in elfrw $(PROGRAMS) ; do $(MAKE) -C$$dir clean ; done
diff --git a/dev-util/elfkickers/files/elfkickers-3.1-create-destdir-path.patch b/dev-util/elfkickers/files/elfkickers-3.1-create-destdir-path.patch
new file mode 100644
index 000000000000..1f0c3e94fe9b
--- /dev/null
+++ b/dev-util/elfkickers/files/elfkickers-3.1-create-destdir-path.patch
@@ -0,0 +1,17 @@
+diff -Naur ELFkickers-3.1.orig/Makefile ELFkickers-3.1/Makefile
+--- ELFkickers-3.1.orig/Makefile 2015-07-23 13:25:30.000000000 -0400
++++ ELFkickers-3.1/Makefile 2016-11-16 17:17:08.237039268 -0500
+@@ -24,10 +24,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 $(prefix)/usr/bin $(prefix)/usr/share/man/man1
++ install bin/* $(prefix)/usr/bin
++ install -m 644 doc/* $(prefix)/usr/share/man/man1
+
+ clean:
+ for dir in elfrw $(PROGRAMS) ; do $(MAKE) -C$$dir clean ; done
diff --git a/dev-util/elfkickers/files/elfkickers-3.1-respect-CFLAGS-LDFLAGS.patch b/dev-util/elfkickers/files/elfkickers-3.1-respect-CFLAGS-LDFLAGS.patch
new file mode 100644
index 000000000000..b285f3b2509c
--- /dev/null
+++ b/dev-util/elfkickers/files/elfkickers-3.1-respect-CFLAGS-LDFLAGS.patch
@@ -0,0 +1,103 @@
+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/dev-util/elfkickers/files/respect-CFLAGS-LDFLAGS.patch b/dev-util/elfkickers/files/respect-CFLAGS-LDFLAGS.patch
new file mode 100644
index 000000000000..6663ef8e79af
--- /dev/null
+++ b/dev-util/elfkickers/files/respect-CFLAGS-LDFLAGS.patch
@@ -0,0 +1,102 @@
+diff -Naur ELFkickers-3.0.orig//ebfc/Makefile ELFkickers-3.0/ebfc/Makefile
+--- ELFkickers-3.0.orig//ebfc/Makefile 2011-05-24 00:51:07.000000000 -0400
++++ ELFkickers-3.0/ebfc/Makefile 2011-06-02 23:05:30.000000000 -0400
+@@ -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.0.orig//elfls/Makefile ELFkickers-3.0/elfls/Makefile
+--- ELFkickers-3.0.orig//elfls/Makefile 2011-05-31 02:53:05.000000000 -0400
++++ ELFkickers-3.0/elfls/Makefile 2011-06-02 23:04:15.000000000 -0400
+@@ -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.0.orig//elfrw/Makefile ELFkickers-3.0/elfrw/Makefile
+--- ELFkickers-3.0.orig//elfrw/Makefile 2011-05-22 14:02:12.000000000 -0400
++++ ELFkickers-3.0/elfrw/Makefile 2011-06-02 23:04:37.000000000 -0400
+@@ -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.0.orig//elftoc/Makefile ELFkickers-3.0/elftoc/Makefile
+--- ELFkickers-3.0.orig//elftoc/Makefile 2011-05-23 23:30:22.000000000 -0400
++++ ELFkickers-3.0/elftoc/Makefile 2011-06-02 23:04:27.000000000 -0400
+@@ -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.0.orig//infect/Makefile ELFkickers-3.0/infect/Makefile
+--- ELFkickers-3.0.orig//infect/Makefile 2011-05-31 02:52:27.000000000 -0400
++++ ELFkickers-3.0/infect/Makefile 2011-06-02 23:04:01.000000000 -0400
+@@ -1,7 +1,6 @@
+ # Makefile for infect
+
+-CC = gcc
+-CFLAGS = -Wall -Wextra
++CC ?= gcc
+
+ infect: infect.c
+
+diff -Naur ELFkickers-3.0.orig//objres/Makefile ELFkickers-3.0/objres/Makefile
+--- ELFkickers-3.0.orig//objres/Makefile 2011-05-23 23:29:39.000000000 -0400
++++ ELFkickers-3.0/objres/Makefile 2011-06-02 23:05:08.000000000 -0400
+@@ -1,7 +1,7 @@
+ # Makefile for objres
+
+-CC = gcc
+-CFLAGS = -Wall -Wextra -I../elfrw
++CC ?= gcc
++CFLAGS += -I../elfrw
+
+ objres: objres.c ../elfrw/libelfrw.a
+
+diff -Naur ELFkickers-3.0.orig//rebind/Makefile ELFkickers-3.0/rebind/Makefile
+--- ELFkickers-3.0.orig//rebind/Makefile 2011-05-23 23:29:16.000000000 -0400
++++ ELFkickers-3.0/rebind/Makefile 2011-06-02 23:04:57.000000000 -0400
+@@ -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.0.orig//sstrip/Makefile ELFkickers-3.0/sstrip/Makefile
+--- ELFkickers-3.0.orig//sstrip/Makefile 2011-05-23 23:29:58.000000000 -0400
++++ ELFkickers-3.0/sstrip/Makefile 2011-06-02 23:05:41.000000000 -0400
+@@ -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/dev-util/elfkickers/metadata.xml b/dev-util/elfkickers/metadata.xml
new file mode 100644
index 000000000000..2305405b9c6c
--- /dev/null
+++ b/dev-util/elfkickers/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>hardened@gentoo.org</email>
+ <name>Gentoo Hardened</name>
+ </maintainer>
+ <longdescription>ELF kickers is a collection of programs that manipulate ELF files. The main purpose of these programs is to be illustrative and educational -- to help fellow programmers understand the ELF file format and something of how it works under the Linux platform.</longdescription>
+</pkgmetadata>