diff options
Diffstat (limited to 'dev-libs/libmelf')
-rw-r--r-- | dev-libs/libmelf/ChangeLog | 10 | ||||
-rw-r--r-- | dev-libs/libmelf/files/libmelf-0.4.0-gcc-makefile-cleanup.patch | 129 | ||||
-rw-r--r-- | dev-libs/libmelf/libmelf-0.4.0.ebuild | 38 | ||||
-rw-r--r-- | dev-libs/libmelf/metadata.xml | 9 |
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> |