diff options
author | 2010-06-01 03:48:20 +0000 | |
---|---|---|
committer | 2010-06-01 03:48:20 +0000 | |
commit | 0f78bf2a992145106442c50e365a4284bb07f58c (patch) | |
tree | c8255fd08d0e442ee8e621f2cc145e65a6e9346b /dev-libs | |
parent | Automated update of use.local.desc (diff) | |
download | historical-0f78bf2a992145106442c50e365a4284bb07f58c.tar.gz historical-0f78bf2a992145106442c50e365a4284bb07f58c.tar.bz2 historical-0f78bf2a992145106442c50e365a4284bb07f58c.zip |
Add in upstream changes from the 0.4.1 that was never released.
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/libmelf/ChangeLog | 10 | ||||
-rw-r--r-- | dev-libs/libmelf/Manifest | 5 | ||||
-rw-r--r-- | dev-libs/libmelf/files/libmelf-0.4.0-r1-gcc-makefile-cleanup.patch | 105 | ||||
-rw-r--r-- | dev-libs/libmelf/files/libmelf-0.4.1-unfinal-release.patch | 145 | ||||
-rw-r--r-- | dev-libs/libmelf/libmelf-0.4.0-r1.ebuild | 41 |
5 files changed, 304 insertions, 2 deletions
diff --git a/dev-libs/libmelf/ChangeLog b/dev-libs/libmelf/ChangeLog index 42f412e3fd89..16c5cfeb4292 100644 --- a/dev-libs/libmelf/ChangeLog +++ b/dev-libs/libmelf/ChangeLog @@ -1,6 +1,14 @@ # 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.2 2010/06/01 03:28:45 robbat2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libmelf/ChangeLog,v 1.3 2010/06/01 03:48:20 robbat2 Exp $ + +*libmelf-0.4.0-r1 (01 Jun 2010) + + 01 Jun 2010; Robin H. Johnson <robbat2@gentoo.org> + +libmelf-0.4.0-r1.ebuild, + +files/libmelf-0.4.0-r1-gcc-makefile-cleanup.patch, + +files/libmelf-0.4.1-unfinal-release.patch: + Add in upstream changes from the 0.4.1 that was never released. 01 Jun 2010; Robin H. Johnson <robbat2@gentoo.org> files/libmelf-0.4.0-gcc-makefile-cleanup.patch: diff --git a/dev-libs/libmelf/Manifest b/dev-libs/libmelf/Manifest index 00a83b85862b..e8d370c151b9 100644 --- a/dev-libs/libmelf/Manifest +++ b/dev-libs/libmelf/Manifest @@ -1,5 +1,8 @@ AUX libmelf-0.4.0-gcc-makefile-cleanup.patch 4079 RMD160 644f0bd830e7b35010a2ff0f3e6a78ed93d67625 SHA1 69b457d2eafc8bf5a485eb5bacec943eb015c3ca SHA256 656cece4da2d88055db265923d631d1994aff5b01c59551fbf58fb846cf614f8 +AUX libmelf-0.4.0-r1-gcc-makefile-cleanup.patch 3132 RMD160 7f9ece3c222ad08b0166147f56201815527fd4bd SHA1 e823e1dabee67645e809b2a1d52eb555390b1b39 SHA256 a5b7955879c72edcb6c57943927f2ab738fd62a403b2fa4e83b5ccbd9ec73535 +AUX libmelf-0.4.1-unfinal-release.patch 5246 RMD160 a5a3db1c54ff6869dbdea81c8808c33db5cf5716 SHA1 eeeee0c9ee321073871cec7318537dd53dbbce05 SHA256 030cb76d083e90cb0b0680631b69d5b01da99dda8e3d91efa5e063ac1e9c7068 DIST libmelf-0.4.0.tar.gz 163173 RMD160 0d46a5e456196a33c14feb3c33724aadfb756407 SHA1 4d8857249e92da3d09b29aef272b132f32adde69 SHA256 f0820cec3b4338b4441743fc74d183fd28ad4e405e90d99c1dc01cf787ff0246 +EBUILD libmelf-0.4.0-r1.ebuild 1055 RMD160 aad15ace29facf5ea9c4bea902f9816abcf46d0e SHA1 cc003e52052c7dec4e1440da075a0f5d0c0c5852 SHA256 bad0876937954d374b7be37741b522bebc6089cfe47b110b508f87794e7632d9 EBUILD libmelf-0.4.0.ebuild 913 RMD160 7cbbd2692530fec800755d1664a7844388f2e183 SHA1 fbcd2734e709c8bfbe7194e44459235c5fa20270 SHA256 098597a58f1b3a9109b1870d8a73ad646e5771af57ca7456978088e01c00fbf4 -MISC ChangeLog 636 RMD160 887de18ac1fa4ef8ea598f246b2cb7ee8867462b SHA1 8472439f3c2337f0b6e768c7f82144040cac3360 SHA256 3f7d008584b7009958a1100b4ca43d2e2cc6ace6f0ea54faff892492f030a425 +MISC ChangeLog 917 RMD160 ca66928e994fe669414618906eea491436c77f8e SHA1 a696335d7e37bb1ca3985b285ed08c74cfad828c SHA256 62fee5b7cc89094c7dfeaebc98fa0157871bc0763609042bb3964eb18d1d5d82 MISC metadata.xml 279 RMD160 f84566b5a463b59cc5ddd8a2210a54de9492ed2f SHA1 98caf044b8fce3f5ff202c7f7b71f0dcb9d51947 SHA256 785db7b7f8e4f9a526dc574ce2aa10024cc83af170f38ec9af9f56c23fc15543 diff --git a/dev-libs/libmelf/files/libmelf-0.4.0-r1-gcc-makefile-cleanup.patch b/dev-libs/libmelf/files/libmelf-0.4.0-r1-gcc-makefile-cleanup.patch new file mode 100644 index 000000000000..384818f57630 --- /dev/null +++ b/dev-libs/libmelf/files/libmelf-0.4.0-r1-gcc-makefile-cleanup.patch @@ -0,0 +1,105 @@ +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: $(BINS) ++ ++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 -fPIC +-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/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/files/libmelf-0.4.1-unfinal-release.patch b/dev-libs/libmelf/files/libmelf-0.4.1-unfinal-release.patch new file mode 100644 index 000000000000..359ceda352bb --- /dev/null +++ b/dev-libs/libmelf/files/libmelf-0.4.1-unfinal-release.patch @@ -0,0 +1,145 @@ +diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//ChangeLog elfsign-0.2.2/melf//ChangeLog +--- libmelf-0.4.0.orig//ChangeLog 2004-05-03 22:15:29.000000000 -0700 ++++ elfsign-0.2.2/melf//ChangeLog 2004-11-30 08:14:39.000000000 -0800 +@@ -1,3 +1,7 @@ ++0.4.1 ++ ++ * Fixed issues with serializing SHT_DYNSYM ++ + 0.4.0 05/04/2004 + + * Major enhancements to make the library more robust +diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//configure.in elfsign-0.2.2/melf//configure.in +--- libmelf-0.4.0.orig//configure.in 2003-11-07 22:08:15.000000000 -0800 ++++ elfsign-0.2.2/melf//configure.in 2004-06-05 10:44:17.000000000 -0700 +@@ -25,7 +25,7 @@ + if test "x$cache_sys_os" = "xSolaris"; then + SHAREDEXEC="ld -dy -r -o libmelf.so \${OBJS}" + else +- SHAREDEXEC="\${CC} \${FLAGS} -shared -fPIC \${OBJS} -o libmelf.so" ++ SHAREDEXEC="\${CC} \${FLAGS} -shared \${OBJS} -o libmelf.so" + fi + + AC_C_BIGENDIAN() +diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//example/enum_sym.c elfsign-0.2.2/melf//example/enum_sym.c +--- libmelf-0.4.0.orig//example/enum_sym.c 1969-12-31 16:00:00.000000000 -0800 ++++ elfsign-0.2.2/melf//example/enum_sym.c 2004-11-27 18:04:36.000000000 -0800 +@@ -0,0 +1,39 @@ ++#include <stdlib.h> ++#include <stdio.h> ++ ++#include "melf.h" ++ ++void enum_symtab(MELF *melf, ELF_SPEC_HEADER *curr); ++ ++int main(int argc, char **argv) ++{ ++ ELF_SPEC_HEADER *curr; ++ MELF *melf = melf_open(argv[1], MELF_ACCESS_ALL); ++ ++ if (!melf) ++ return 0; ++ ++ for (curr = melf_sectionGetEnum(melf); ++ curr; ++ curr = melf_sectionEnumNext(melf, curr)) ++ { ++ if ((curr->spec.section.sh_type == SHT_DYNSYM) || ++ (curr->spec.section.sh_type == SHT_SYMTAB)) ++ { ++ enum_symtab(melf, curr); ++ } ++ } ++ ++ return 0; ++} ++ ++void enum_symtab(MELF *melf, ELF_SPEC_HEADER *curr) ++{ ++ Elf32_Sym *sym; ++ unsigned long index = 0; ++ ++ while ((sym = melf_symbolTableEnum(melf, curr, index++))) ++ { ++ printf("%s\n", melf_symbolGetName(melf, curr, sym)); ++ } ++} +diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//Makefile.in elfsign-0.2.2/melf//Makefile.in +--- libmelf-0.4.0.orig//Makefile.in 2003-11-07 22:09:10.000000000 -0800 ++++ elfsign-0.2.2/melf//Makefile.in 2004-06-05 10:44:06.000000000 -0700 +@@ -6,7 +6,7 @@ + DEFINES=@DEFINES@ -DMELF_COMP + INCLUDES=-I. + PREFIX=@PREFIX@ +-CFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} -Wall -O3 ++CFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} -Wall -O3 -fPIC + LFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} -Wall -O3 -o + LIBS= + OBJS=melf.o melf_dynamic.o melf_elf.o melf_list.o melf_note.o melf_program.o melf_reloc.o \ +diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//melf_dynamic.c elfsign-0.2.2/melf//melf_dynamic.c +--- libmelf-0.4.0.orig//melf_dynamic.c 2004-01-08 23:25:32.000000000 -0800 ++++ elfsign-0.2.2/melf//melf_dynamic.c 2004-12-19 13:12:45.000000000 -0800 +@@ -227,7 +227,7 @@ + return NULL; + + dynamic->content = (void *)base; +- (unsigned char *)base += dynamic->contentLength; ++ base = (Elf32_Dyn *)((char *)base + dynamic->contentLength); + dynamic->contentLength = newLength; + + base->d_tag = DT_NULL; +diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//melf_note.c elfsign-0.2.2/melf//melf_note.c +--- libmelf-0.4.0.orig//melf_note.c 2004-01-08 23:25:56.000000000 -0800 ++++ elfsign-0.2.2/melf//melf_note.c 2004-12-19 13:13:16.000000000 -0800 +@@ -204,8 +204,8 @@ + if (!base) + return NULL; + +- note->content = (void *)base; +- (unsigned char *)base += note->contentLength; ++ note->content = (void *)base; ++ base = (Elf32_Nhdr *)((char *)base + note->contentLength); + + memset(base, 0, newLength - note->contentLength); + +diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//melf_section.c elfsign-0.2.2/melf//melf_section.c +--- libmelf-0.4.0.orig//melf_section.c 2004-05-03 21:37:29.000000000 -0700 ++++ elfsign-0.2.2/melf//melf_section.c 2004-11-27 17:46:45.000000000 -0800 +@@ -485,6 +485,7 @@ + melf_relocInitializeRelaEntryList(melf, sect); + break; + case SHT_SYMTAB: ++ case SHT_DYNSYM: + melf_symbolTableInitializeEntryList(melf, sect); + break; + case SHT_DYNAMIC: +@@ -511,6 +512,7 @@ + case SHT_REL: + case SHT_RELA: + case SHT_SYMTAB: ++ case SHT_DYNSYM: + case SHT_DYNAMIC: + case SHT_NOTE: + case SHT_RES: +@@ -534,6 +536,7 @@ + melf_relocSynchronizeRelaEntryList(melf, sect); + break; + case SHT_SYMTAB: ++ case SHT_DYNSYM: + melf_symbolTableSynchronizeEntryList(melf, sect); + break; + case SHT_DYNAMIC: +diff -Nuar --exclude enum_sym --exclude configure libmelf-0.4.0.orig//stdelf.h.in elfsign-0.2.2/melf//stdelf.h.in +--- libmelf-0.4.0.orig//stdelf.h.in 2003-06-01 11:13:56.000000000 -0700 ++++ elfsign-0.2.2/melf//stdelf.h.in 2004-05-11 07:38:17.000000000 -0700 +@@ -919,8 +919,8 @@ + #define AT_FLAGS 8 /* Flags */ + #define AT_ENTRY 9 /* Entry point of program */ + #define AT_NOTELF 10 /* Program is not ELF */ +-#define AT_UID 11 /* Real uid */ +-#define AT_EUID 12 /* Effective uid */ ++#define E_AT_UID 11 /* Real uid */ ++#define E_AT_EUID 12 /* Effective uid */ + #define AT_GID 13 /* Real gid */ + #define AT_EGID 14 /* Effective gid */ + #define AT_CLKTCK 17 /* Frequency of times() */ diff --git a/dev-libs/libmelf/libmelf-0.4.0-r1.ebuild b/dev-libs/libmelf/libmelf-0.4.0-r1.ebuild new file mode 100644 index 000000000000..9e4f6c1d61ce --- /dev/null +++ b/dev-libs/libmelf/libmelf-0.4.0-r1.ebuild @@ -0,0 +1,41 @@ +# 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-r1.ebuild,v 1.1 2010/06/01 03:48:20 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() { + # This patch was gained from the elfsign-0.2.2 release + epatch "${FILESDIR}"/${PN}-0.4.1-unfinal-release.patch + # Cleanup stuff + epatch "${FILESDIR}"/${PN}-0.4.0-r1-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 +} |