summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2010-06-01 03:12:31 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2010-06-01 03:12:31 +0000
commit1beb79123f82491d881cfdbcb606f5b14d25f08c (patch)
tree7ca1dc3b9ad0fd0982bf07a192a1b07b35bed965 /dev-libs/libmelf
parentIntroduce new default download dependencies. (diff)
downloadgentoo-2-1beb79123f82491d881cfdbcb606f5b14d25f08c.tar.gz
gentoo-2-1beb79123f82491d881cfdbcb606f5b14d25f08c.tar.bz2
gentoo-2-1beb79123f82491d881cfdbcb606f5b14d25f08c.zip
Initial commit. Ebuild by Robin H. Johnson <robbat2@gentoo.org>.
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'dev-libs/libmelf')
-rw-r--r--dev-libs/libmelf/ChangeLog10
-rw-r--r--dev-libs/libmelf/files/libmelf-0.4.0-gcc-makefile-cleanup.patch129
-rw-r--r--dev-libs/libmelf/libmelf-0.4.0.ebuild38
-rw-r--r--dev-libs/libmelf/metadata.xml9
4 files changed, 186 insertions, 0 deletions
diff --git a/dev-libs/libmelf/ChangeLog b/dev-libs/libmelf/ChangeLog
new file mode 100644
index 000000000000..ed4ac8060b63
--- /dev/null
+++ b/dev-libs/libmelf/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for dev-libs/libmelf
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libmelf/ChangeLog,v 1.1 2010/06/01 03:12:31 robbat2 Exp $
+
+*libmelf-0.4.0 (01 Jun 2010)
+
+ 01 Jun 2010; Robin H. Johnson <robbat2@gentoo.org> +libmelf-0.4.0.ebuild,
+ +files/libmelf-0.4.0-gcc-makefile-cleanup.patch, +metadata.xml:
+ Initial commit. Ebuild by Robin H. Johnson <robbat2@gentoo.org>.
+
diff --git a/dev-libs/libmelf/files/libmelf-0.4.0-gcc-makefile-cleanup.patch b/dev-libs/libmelf/files/libmelf-0.4.0-gcc-makefile-cleanup.patch
new file mode 100644
index 000000000000..a31f5ef01676
--- /dev/null
+++ b/dev-libs/libmelf/files/libmelf-0.4.0-gcc-makefile-cleanup.patch
@@ -0,0 +1,129 @@
+diff -Nuar --exclude '*~' libmelf-0.4.0.orig/example/Makefile.in libmelf-0.4.0/example/Makefile.in
+--- libmelf-0.4.0.orig/example/Makefile.in 2003-03-24 00:48:22.000000000 -0800
++++ libmelf-0.4.0/example/Makefile.in 2010-05-31 19:56:43.546947560 -0700
+@@ -1,7 +1,13 @@
+ cc=@CC@
+ DEFINES=@DEFINES@
++OPTFLAGS=-Wall -O3
++CFLAGS=${DEFINES} ${OPTFLAGS} -I..
++BINS = sign test new
+
+-all:
+- ${CC} ${DEFINES} -I.. -Wall -O3 sign.c -o sign ../libmelf.a
+- ${CC} ${DEFINES} -I.. -Wall -O3 test.c -o test ../libmelf.a
+- ${CC} ${DEFINES} -I.. -Wall -O3 new.c -o new ../libmelf.a
++%: %.c
++ ${CC} $(CFLAGS) $^ -o $@ -L.. -lmelf
++
++all: sign test new
++
++clean:
++ -rm -f $(BINS)
+diff -Nuar --exclude '*~' libmelf-0.4.0.orig/Makefile.in libmelf-0.4.0/Makefile.in
+--- libmelf-0.4.0.orig/Makefile.in 2003-11-07 22:09:10.000000000 -0800
++++ libmelf-0.4.0/Makefile.in 2010-05-31 19:58:12.172822406 -0700
+@@ -6,35 +6,43 @@
+ DEFINES=@DEFINES@ -DMELF_COMP
+ INCLUDES=-I.
+ PREFIX=@PREFIX@
+-CFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} -Wall -O3
+-LFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} -Wall -O3 -o
++OPTFLAGS=-Wall -O3
++CFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} ${OPTFLAGS}
++LFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} ${OPTFLAGS} -o
++LIBDIR=lib
+ LIBS=
+ OBJS=melf.o melf_dynamic.o melf_elf.o melf_list.o melf_note.o melf_program.o melf_reloc.o \
+ melf_res.o melf_section.o melf_string.o melf_symbol.o melf_symbolTable.o
+
+-all: ${OBJS}
+- ar rc ${STATICBIN} ${OBJS} && ranlib ${STATICBIN}
+- @SHAREDEXEC@
+- cd example && make
+- cd tools && make
++all: ${STATICBIN} ${DYNAMICBIN}
++ cd example && $(MAKE)
++ cd tools && $(MAKE)
+
+ *.c.${O}:
+ ${CC} ${CFLAGS} $*.c
+
++${STATICBIN}: ${OBJS}
++ ar rc ${STATICBIN} ${OBJS} && ranlib ${STATICBIN}
++${DYNAMICBIN}: ${OBJS}
++ @SHAREDEXEC@
++
+ clean:
+ rm -f *.o ${STATICBIN} ${DYNAMICBIN} example/test example/new example/sign tools/elfres config.*
+- cd tools && make clean
++ cd tools && $(MAKE) clean
+
+-distclean:
+- make clean
++distclean: clean
+ rm -f Makefile example/Makefile stdelf.h
+- cd tools && make distclean
++ cd tools && $(MAKE) distclean
+
+ install: ${OBJS} ${STATICBIN}
+- cp libmelf.a ${PREFIX}/lib
+- cp libmelf.so ${PREFIX}/lib
++ cp ${STATICBIN} ${PREFIX}/$(LIBDIR)
++ cp ${DYNAMICBIN} ${PREFIX}/$(LIBDIR)
+ cp melf.h ${PREFIX}/include
+ cp stdelf.h ${PREFIX}/include
+
+ uninstall:
+- rm -f ${PREFIX}/lib/libmelf.a ${PREFIX}/lib/libmelf.so ${PREFIX}/include/melf.h ${PREFIX}/include/stdelf.h
++ -rm -f \
++ ${PREFIX}/$(LIBDIR)/${STATICBIN} \
++ ${PREFIX}/$(LIBDIR)/${DYNAMICBIN} \
++ ${PREFIX}/include/melf.h \
++ ${PREFIX}/include/stdelf.h
+diff -Nuar --exclude '*~' libmelf-0.4.0.orig/melf_dynamic.c libmelf-0.4.0/melf_dynamic.c
+--- libmelf-0.4.0.orig/melf_dynamic.c 2004-01-08 23:25:32.000000000 -0800
++++ libmelf-0.4.0/melf_dynamic.c 2010-05-31 19:35:59.230823053 -0700
+@@ -227,7 +227,7 @@
+ return NULL;
+
+ dynamic->content = (void *)base;
+- (unsigned char *)base += dynamic->contentLength;
++ /*(unsigned char *)*/ base += dynamic->contentLength;
+ dynamic->contentLength = newLength;
+
+ base->d_tag = DT_NULL;
+diff -Nuar --exclude '*~' libmelf-0.4.0.orig/melf_note.c libmelf-0.4.0/melf_note.c
+--- libmelf-0.4.0.orig/melf_note.c 2004-01-08 23:25:56.000000000 -0800
++++ libmelf-0.4.0/melf_note.c 2010-05-31 19:36:11.535947632 -0700
+@@ -205,7 +205,7 @@
+ return NULL;
+
+ note->content = (void *)base;
+- (unsigned char *)base += note->contentLength;
++ /*(unsigned char *)*/ base += note->contentLength;
+
+ memset(base, 0, newLength - note->contentLength);
+
+diff -Nuar --exclude '*~' libmelf-0.4.0.orig/tools/Makefile.in libmelf-0.4.0/tools/Makefile.in
+--- libmelf-0.4.0.orig/tools/Makefile.in 2003-09-17 01:03:49.000000000 -0700
++++ libmelf-0.4.0/tools/Makefile.in 2010-05-31 19:57:55.126198024 -0700
+@@ -1,11 +1,15 @@
+ cc=@CC@
+ DEFINES=@DEFINES@
++CFLAGS=${DEFINES} ${OPTFLAGS} -I..
++BINS=elfres
+
+-all:
+- ${CC} ${DEFINES} -I.. -Wall -O3 elfres.c -o elfres ../libmelf.a
++%: %.c
++ ${CC} $(CFLAGS) $^ -o $@ -L.. -lmelf
++
++all: $(BINS)
+
+ clean:
+- rm -f elfres
++ -rm -f $(BINS)
+
+ distclean:
+- rm -f elfres Makefile
++ -rm -f $(BINS) Makefile
diff --git a/dev-libs/libmelf/libmelf-0.4.0.ebuild b/dev-libs/libmelf/libmelf-0.4.0.ebuild
new file mode 100644
index 000000000000..a687b3ae4d34
--- /dev/null
+++ b/dev-libs/libmelf/libmelf-0.4.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libmelf/libmelf-0.4.0.ebuild,v 1.1 2010/06/01 03:12:31 robbat2 Exp $
+
+EAPI=3
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="libmelf is a library interface for manipulating ELF object files."
+HOMEPAGE="http://www.hick.org/code/skape/libmelf/"
+SRC_URI="http://www.hick.org/code/skape/${PN}/${P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gcc-makefile-cleanup.patch
+}
+
+src_compile() {
+ append-flags -fPIC
+ emake CC="$(tc-getCC)" OPTFLAGS="${CFLAGS}" || die "emake failed"
+}
+
+src_install() {
+ into /usr
+ dobin tools/elfres
+ dolib.a libmelf.a
+ dolib.so libmelf.so
+ insinto /usr/include
+ doins melf.h stdelf.h
+ dodoc ChangeLog README
+ dohtml -r docs/html
+}
diff --git a/dev-libs/libmelf/metadata.xml b/dev-libs/libmelf/metadata.xml
new file mode 100644
index 000000000000..02e945c7cb52
--- /dev/null
+++ b/dev-libs/libmelf/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>no-herd</herd>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
+</pkgmetadata>