diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-libs/libmelf | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/libmelf')
-rw-r--r-- | dev-libs/libmelf/Manifest | 5 | ||||
-rw-r--r-- | dev-libs/libmelf/files/libmelf-0.4.0-r1-gcc-makefile-cleanup.patch | 73 | ||||
-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 | 56 | ||||
-rw-r--r-- | dev-libs/libmelf/metadata.xml | 8 |
5 files changed, 287 insertions, 0 deletions
diff --git a/dev-libs/libmelf/Manifest b/dev-libs/libmelf/Manifest new file mode 100644 index 000000000000..8a18e046e0b8 --- /dev/null +++ b/dev-libs/libmelf/Manifest @@ -0,0 +1,5 @@ +AUX libmelf-0.4.0-r1-gcc-makefile-cleanup.patch 1819 BLAKE2B bc8c9e09d56be3daca289cdfe4d2c740261f283453307f154f1c973a8589523beda7e33c95f0c6401b99d2574e23d10e1d13066bd6a57952554d463c006ee3e7 SHA512 7fe79182f35906104bd9f7bad3590e0fdfa4fbe93f0d0548063169b7385a962b36eda39e435b8fde31a7ed0bdae6300989c869dc2bf32d817597190582c72584 +AUX libmelf-0.4.1-unfinal-release.patch 5246 BLAKE2B 67cf2513222d11edcb03afd7210f62a1a8b7510c1f986f0499785a2bb55e929c2a85d21624d9878bd4240ea7b5ddbf7e277a42e4dacacb4d0ac9cd5d704d5faf SHA512 4d828c626e7b9f9399bd0bfe6428970995d2b386cb60ebf80ba68be67dae23a1671ed4cf766675e17d72d5d4e4b9265ae99dd40c022c20cf233b237f88ab94ec +DIST libmelf-0.4.0.tar.gz 163173 BLAKE2B 64627de126d941bc8fa05a0e6a44158c35483e85de0294837e0537e0923f49ff8c7d406f22094480a3cf6505227b80e3081597a161219aedf48064f43091b7d6 SHA512 c702c72026f494b0d3ee665d6734cbd302c002c904721c0b58f71850f20c3249e5cabca4fcc5ecfe0a4e114df2e31c6faed84634ad593ff61de2e5acffd70227 +EBUILD libmelf-0.4.0-r1.ebuild 1136 BLAKE2B 8841bbbed818c61813f7c7eb916c2b7f8272a3f8890c31b313b9d94f5509a0c368779ae5a4f2f2331445fcbccee8539ef19b871c5befd9e006474c32a372e08e SHA512 26eb64c6316d61297932c01b42954f315cedcebfd3ca726e951810c6e39b0caba49cc256b3e052a8071a8559a99a45b753e782d1f632318c7a2515f2d000dd64 +MISC metadata.xml 268 BLAKE2B 914b6995ad966e2b83ec718b2598969b181c119d8805241b0046f69e161ac22a9f769204f4783240056804008475aa406cbd91b9de499ec7840f9595158bd291 SHA512 ffda1db3fd6ac952f41a970e2e496c6a9fd0b12ed11cdf363fd269c3b00f627c6e70421fd545aad61d69594af2e5f43d8ebc197232a39b596d012818fe758850 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..10bda2a476a8 --- /dev/null +++ b/dev-libs/libmelf/files/libmelf-0.4.0-r1-gcc-makefile-cleanup.patch @@ -0,0 +1,73 @@ +--- a/example/Makefile.in ++++ b/example/Makefile.in +@@ -1,7 +1,11 @@ +-cc=@CC@ + DEFINES=@DEFINES@ ++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) $(CPPFLAGS) $(LDFLAGS) $^ -o $@ -L.. -lmelf ++ ++all: $(BINS) ++ ++clean: ++ -rm -f $(BINS) +--- a/Makefile.in ++++ b/Makefile.in +@@ -1,25 +1,23 @@ +-CC=gcc +- + STATICBIN=libmelf.a + DYNAMICBIN=libmelf.so + DEBUG= + DEFINES=@DEFINES@ -DMELF_COMP + INCLUDES=-I. + PREFIX=@PREFIX@ +-CFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} -Wall -O3 -fPIC +-LFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} -Wall -O3 -o ++CFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} ${OPTFLAGS} ++LFLAGS=${DEBUG} ${DEFINES} ${INCLUDES} ${OPTFLAGS} -o + 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} ++ $(MAKE) -C example ++ $(MAKE) -C tools + +-*.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.* +--- a/tools/Makefile.in ++++ b/tools/Makefile.in +@@ -1,8 +1,11 @@ +-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) $(CPPFLAGS) $(LDFLAGS) $^ -o $@ -L.. -lmelf ++ ++all: $(BINS) + + clean: + rm -f elfres 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..be54175c6c62 --- /dev/null +++ b/dev-libs/libmelf/libmelf-0.4.0-r1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit 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="static-libs" + +DEPEND="" +RDEPEND="${DEPEND}" + +PATCHES=( + # This patch was gained from the elfsign-0.2.2 release + "${FILESDIR}"/${PN}-0.4.1-unfinal-release.patch + # Cleanup stuff + "${FILESDIR}"/${PN}-0.4.0-r1-gcc-makefile-cleanup.patch +) + +src_prepare() { + default + + # * QA Notice: The following shared libraries lack a SONAME + # * /usr/lib64/libmelf.so + sed 's/\(-shared -fPIC\)/\1 -Wl,-soname,libmelf.so/' -i configure || die +} + +src_configure() { + tc-export CC AR RANLIB + append-flags -fPIC + default +} + +src_compile() { + emake OPTFLAGS="${CFLAGS}" +} + +src_install() { + dobin tools/elfres + + dolib.so libmelf.so + use static-libs && dolib.a libmelf.a + + insinto /usr/include + doins melf.h stdelf.h + + HTML_DOCS=( docs/html/. ) + einstalldocs +} diff --git a/dev-libs/libmelf/metadata.xml b/dev-libs/libmelf/metadata.xml new file mode 100644 index 000000000000..a4e0d354f696 --- /dev/null +++ b/dev-libs/libmelf/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + <name>Robin H. Johnson</name> + </maintainer> +</pkgmetadata> |