diff options
Diffstat (limited to 'dev-util/eresi')
-rw-r--r-- | dev-util/eresi/ChangeLog | 39 | ||||
-rw-r--r-- | dev-util/eresi/Manifest | 10 | ||||
-rw-r--r-- | dev-util/eresi/eresi-0.82_beta2.ebuild | 72 | ||||
-rw-r--r-- | dev-util/eresi/files/0.82_beta2-as-needed.patch | 28 | ||||
-rw-r--r-- | dev-util/eresi/files/0.82_beta2-direct-ld.patch | 32 | ||||
-rw-r--r-- | dev-util/eresi/files/0.82_beta2-drop-dprintf.patch | 25 | ||||
-rw-r--r-- | dev-util/eresi/files/0.82_beta2-gentoo-autodetect.patch | 17 | ||||
-rw-r--r-- | dev-util/eresi/files/0.82_beta2-parallel-make.patch | 66 | ||||
-rw-r--r-- | dev-util/eresi/files/0.82_beta2-sed-in-Makefile.patch | 22 | ||||
-rw-r--r-- | dev-util/eresi/metadata.xml | 8 |
10 files changed, 319 insertions, 0 deletions
diff --git a/dev-util/eresi/ChangeLog b/dev-util/eresi/ChangeLog new file mode 100644 index 0000000..337cda5 --- /dev/null +++ b/dev-util/eresi/ChangeLog @@ -0,0 +1,39 @@ +# ChangeLog for dev-util/eresi +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + + 27 May 2011; Thomas Sachau (Tommy[D]) <tommy@gentoo.org> + eresi-0.82_beta2.ebuild: + Remove unneeded base eclass + + 23 May 2011; Martin von Gagern (MvG) <Martin.vGagern@gmx.net> + +files/0.82_beta2-direct-ld.patch, +files/0.82_beta2-gentoo-autodetect.patch, + +files/0.82_beta2-sed-in-Makefile.patch, eresi-0.82_beta2.ebuild: + * Change to EAPI=4. Prevent readline and server USE flags + from being enabled at the same time. + * Remove sed call at the top level of the Makefile. + * Prevent direct call to ld, call gcc instead. + * Avoid automatic autodetection of gentoo via uname. + + 05 Oct 2010; Martin von Gagern (MvG) <Martin.vGagern@gmx.net> + eresi-0.82_beta2.ebuild: + Fix build issues with glibc 2.12 where __USE_GNU gets unset unless + _GNU_SOURCE is defined, preventing the definition of REG_* macros from + sys/ucontext.h. + + 04 Jul 2010; Martin von Gagern (MvG) <Martin.vGagern@gmx.net> + +files/0.82_beta2-as-needed.patch, + +files/0.82_beta2-drop-dprintf.patch, eresi-0.82_beta2.ebuild: + * Updated SRC_URI to new host + * Fix build-time issue due to conflicting dprintf declarations + * Fix problem with --as-needed + * Fix path of one doc file + + 09 Jan 2009; Thomas Sachau (Tommy[D]) <tommy@gentoo.org> + eresi-0.82_beta2.ebuild: + Adding some bash magic for less dodoc lines + + 02 Jan 2009; Martin von Gagern (MvG) <Martin.vGagern@gmx.net> + +files/0.82-parallel-make.patch, +eresi-0.82_beta2.ebuild, +metadata.xml: + New ebuild for ERESI, to replace dev-util/elfsh. Bug #253436 + diff --git a/dev-util/eresi/Manifest b/dev-util/eresi/Manifest new file mode 100644 index 0000000..bf37441 --- /dev/null +++ b/dev-util/eresi/Manifest @@ -0,0 +1,10 @@ +AUX 0.82_beta2-as-needed.patch 1508 SHA256 0c0fc1ba336d9d2bfd22d53a7856fe1ec79e94bb7f86785e4b8b8cca66bd665d SHA512 f1fa0468a25f70297e6c6fe087fcbd14394c826e211bf66cd5c2b190031087ebb073a0b40e6a99558a3a807107a7faa90248d47b1777ef03a1a14d4a81119d9e WHIRLPOOL e13e4991b13fc640a990dc956c844ef36ea942b60e81d31377de0e892a3b3183a7de326feaa5ec77c4389f2fbde3ea4d0390bd421f58026836808580cc64ce11 +AUX 0.82_beta2-direct-ld.patch 1158 SHA256 5d749601907ed594418688bd42ab40e21cb8f841b61e26c84dc2d58377c92df8 SHA512 5ef0f56dd74c0e4da6834f8b5e71c2a4dff9add002f9e92201fda2f89c48930f83919b97046ec0bfe1b4f20cbd2aec06363770e6a56e97e93758f177b1153b87 WHIRLPOOL b544602fb926c95834ec225dd6e3359ca9708a1a51cd918dc8f6bc33b2682392a387cdb63dbd9bfebaeefabb5daf3b6acc09a331effa94a5bd08de124f5f0f6b +AUX 0.82_beta2-drop-dprintf.patch 1113 SHA256 2d1c9b56ac33217242c50000388114e178ea359a328e33f6557cbac4332b81ea SHA512 462177cd175c9eaaa2fd4593dd506dcbe77eac881d4514f4986693da55b565926e2410797fcd4f8807bb316ebb533bc72e8dbdca2d14dad04dc7f4e9e24ebd95 WHIRLPOOL 5828d527afb49946b2a458d3e2f8332403def1fa6a3480948021bfb1d7c0abad56631d23319ac51353dcf7d5514ce12c4a61743c0196cd5570c62ea326735ece +AUX 0.82_beta2-gentoo-autodetect.patch 465 SHA256 0cc9f3e71db33ff8aa7b35a806059cc894cc3914fe68fef3ccdf59676f8180c1 SHA512 71ec88295f05d29b751b43624849621d919754ee6474fbc1ad735af03a83cd5c34e66421e585ec31739437ba65e96bf15371a97cdda27be33cd63d1e7c2733cf WHIRLPOOL 6a3f97d6a86cc35ec7014bcfb35615a342d0ee96bae2f183952884f8f8b58f44c19f94ab7f671e82b8c4ee5d2067bf7fe30db53200fb81b3f57bf4bcc53e0104 +AUX 0.82_beta2-parallel-make.patch 1970 SHA256 564b6e46e10797b096d75f50691f9bf2244271fe04e4234a908dcd4f7dfade13 SHA512 c8c5dad5bd6f960793aa7e9b7f87a420a133e2d7782ea7ad77a835b536375fcd9e611dcc1c0fe761be78a73ffe2425487cfed70d69a17967be70d6fd2d618d18 WHIRLPOOL c657c0b7eb80e0b94135dda8c1d57012ed1f5c7c737726c4fd1fccad2d2be678c31840c3119897047c504cf76e1bc3da2743491a89d6d940d8133f575ddd46f4 +AUX 0.82_beta2-sed-in-Makefile.patch 653 SHA256 5b6e9b72a887afaf213b5dcf8984a3355f95eb974457f6305bc2ba0b42a5ce16 SHA512 3c344e19a7c549bdf9b6bcc7bdfe91cab14058af908cc75a63676f47c48a35a7c8abaf7aa5b1e9a59ad59fd0ab30ee8b51c9b184ca2283dbf611fb31c0aff5c7 WHIRLPOOL cc0ec29e19dad681d836f897c4337b4512d76569e2791486ca69963809ed7afc02aa476c3a906ac40ed858c8d56d4229c6b96e7e614fd0bed22b42756ec870b9 +DIST eresi-0.82_beta2.tar.bz2 1132566 SHA256 93daa8e392d33897d2fe3a9b27b198671941a53803fdb9bc08dea8a3f9b13a44 +EBUILD eresi-0.82_beta2.ebuild 2414 SHA256 1bd90e0d15af506dc5bf7e6769c0cd9abc1b1ffdb1ca895aeda437a2a2c03488 SHA512 8adaf191fdc37aaea9a8d717367888673cac3ad8a64d540309f5de622c553ede386a9ae48c3dec530fabb1fd5990e3727c9884f97b8b836cdd1385703d550056 WHIRLPOOL eaf5c3577b250d58984eb25d5ccf9b1226f916166458b06e49f74692d70afe7a429391ca5e17e2908900ce21f60d7b21d66f0646ea55a490f67e29e741bcd2b5 +MISC ChangeLog 1619 SHA256 a0cd38a87685be9425bbe08721335c4c30ed132386746e49a33cbf0223d6cc48 SHA512 ef3bd6b2aa1196343ac55dcbb6adf0ee23fee92fbfd66d48cc9c8ec22a66f5a02a981d358773e1dd901e1e1f30641a4cb8de9e43c8bb7227b15ff8ff3288b1fb WHIRLPOOL 81d5225199a58cf3ea8087a8dcecae4c977df54d6bcf195c35462f6c040746c8116ca25a80da9e2c0eb80ea175749e333258a57b86a2249481b770132f927558 +MISC metadata.xml 278 SHA256 bb29e498c85880b80a7ebb4dfb398bf2f796ddbd4749f9a2ebf206b397adda15 SHA512 1be178d279673c856eb027b5d4a179d1ec584d15f31cfc8376426e56216808e5bd0d057f7b4d7d2c5fe5d5504abb78ea1fcab64a852b8933d89e24b7208da4bb WHIRLPOOL c1310a34aa0b97422cdfafff9d6eea751f56fe43092ba0ae489effbd947b67d3543a1444709af179f99436a1e955d4a05b24cbe45fe3ce42df4f588df709268d diff --git a/dev-util/eresi/eresi-0.82_beta2.ebuild b/dev-util/eresi/eresi-0.82_beta2.ebuild new file mode 100644 index 0000000..516e721 --- /dev/null +++ b/dev-util/eresi/eresi-0.82_beta2.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils toolchain-funcs + +DESCRIPTION="The ERESI Reverse Engineering Software Interface: elfsh and friends" +HOMEPAGE="http://www.eresi-project.org/" +# Steps to regenerate archive: +# svn export http://svn.eresi-project.org/svn/trunk@1283 eresi-0.82_beta2 +# tar cvjf eresi-0.82_beta2{.tar.bz2,} +# To find the latest release and the corresponding svn revision: +# svn annotate \ +# http://svn.eresi-project.org/svn/trunk/librevm/include/revm-io.h \ +# | egrep 'REVM_(RELEASE|VERSION)' +SRC_URI="http://martin.von-gagern.net/gentoo/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="readline server doc" +REQUIRED_USE="server? ( !readline )" + +DEPEND="readline? ( sys-libs/readline:= )" +RDEPEND="${DEPEND} + !<dev-util/elfsh-0.75" +# dev-util/elfsh-0.75 should be used as a transition package, +# depending on eresi but not installing any files of its own. + +src_prepare() { + epatch "${FILESDIR}"/0.82_beta2-parallel-make.patch \ + "${FILESDIR}"/0.82_beta2-drop-dprintf.patch \ + "${FILESDIR}"/0.82_beta2-as-needed.patch \ + "${FILESDIR}"/0.82_beta2-sed-in-Makefile.patch \ + "${FILESDIR}"/0.82_beta2-direct-ld.patch \ + "${FILESDIR}"/0.82_beta2-gentoo-autodetect.patch + + sed -i \ + -e 's: -O2 : :g' \ + -e "s: -g3 : ${CFLAGS} -D_GNU_SOURCE :" \ + -e "/^LDFLAGS/s:=:=${LDFLAGS} :" \ + $(find -name Makefile) || die + sed -i \ + -e "s:/usr/local:${EPREFIX%/}/usr:" \ + configure eresi-config libasm/tools/libasm-config.template \ + $(find -name \*.esh) +} + +src_configure() { + # non-standard configure script + # doesn't understand --disable-*, so don't use use_enable + local conf="--prefix /usr" + conf="${conf} --enable-32-64" + conf="${conf} --set-compiler $(tc-getCC)" + use readline && conf="${conf} --enable-readline" + use server && conf="${conf} --enable-network" + echo "./configure ${conf}" + ./configure ${conf} || die "configure failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + dodoc doc/{AUTHOR,CREDITS} README.FIRST || die "dodoc failed" + if use doc; then + dodoc doc/{cerberus2,elfsh-network-0.3,elfsh-ref}.txt \ + doc/{graphers,libelfsh-ref,rtld-multiarch}.txt || die "dodoc failed" + dodoc doc/{Changelog,ERESI.NEWHOOKS,eresirc.example} || die "dodoc failed" + dodoc doc/{KERNSH.bugs,libelfsh.i} || die "dodoc failed" + fi +} diff --git a/dev-util/eresi/files/0.82_beta2-as-needed.patch b/dev-util/eresi/files/0.82_beta2-as-needed.patch new file mode 100644 index 0000000..978bf95 --- /dev/null +++ b/dev-util/eresi/files/0.82_beta2-as-needed.patch @@ -0,0 +1,28 @@ +Index: eresi-0.82_beta2/e2dbg/Makefile +=================================================================== +--- eresi-0.82_beta2.orig/e2dbg/Makefile ++++ eresi-0.82_beta2/e2dbg/Makefile +@@ -38,9 +38,10 @@ CFLAGS64 += -fPIC -g3 -Wall -Iinclude $ + -DERESI64 + + LDFLAGS32 += -L../liballocproxy -lallocproxy -L../libelfsh/ -lelfsh32 \ +- -L../libetrace/ -letrace32 -L../libstderesi -lstderesi32 \ ++ -L../libetrace/ -letrace32 \ + -L../libdump/ -L/usr/pkg/lib/ -L../libasm/ -lasm32 \ + -L../libaspect/ -laspect32 -L../librevm/ -lrevm32 \ ++ -L../libstderesi -lstderesi32 \ + -L../libmjollnir -lmjollnir32 -g3 \ + -L../libui/ -lui32 -L../libedfmt -ledfmt32 \ + $(LDREADLNOPT) $(DLOPT) -L/usr/freeware/lib32/ $(DYNOPT) \ +@@ -48,9 +49,10 @@ LDFLAGS32 += -L../liballocproxy -lalloc + $(LDMJOLLNIR) $(KERNSHLIB32) $(NCURSESLNOPT) $(READLNOPT) + + LDFLAGS64 += -L../liballocproxy -lallocproxy -L../libelfsh/ -lelfsh64 \ +- -L../libetrace/ -letrace64 -L../libstderesi -lstderesi64 \ ++ -L../libetrace/ -letrace64 \ + -L../libdump/ -L/usr/pkg/lib/ -L../libasm/ -lasm64 \ + -L../libaspect/ -laspect64 -L../librevm/ -lrevm64 \ ++ -L../libstderesi -lstderesi64 \ + -L../libmjollnir -lmjollnir64 -g3 \ + -L../libui/ -lui64 -L../libedfmt -ledfmt64 \ + $(LDREADLNOPT) $(DLOPT) -L/usr/freeware/lib32/ $(DYNOPT) \ diff --git a/dev-util/eresi/files/0.82_beta2-direct-ld.patch b/dev-util/eresi/files/0.82_beta2-direct-ld.patch new file mode 100644 index 0000000..f3bb19c --- /dev/null +++ b/dev-util/eresi/files/0.82_beta2-direct-ld.patch @@ -0,0 +1,32 @@ +From: Nathan Phillip Brink <binki@gentoo.org> +Subject: Don't call LD when linking, use CC instead. + +--- a/libdump/Makefile ++++ b/libdump/Makefile +@@ -26,12 +26,12 @@ + all32: $(OBJ32) + $(AR) $(NAME32).a $(OBJ32) + $(RANLIB) $(NAME32).a +- $(LD) -r $(OBJ32) -o $(NAME32).o $(LDFLAGS32) ++ $(CC) -Wl,-r -nostdlib $(OBJ32) -o $(NAME32).o $(LDFLAGS32) + + all64: $(OBJ64) + $(AR) $(NAME64).a $(OBJ64) + $(RANLIB) $(NAME64).a +- $(LD) -r $(OBJ64) -o $(NAME64).o $(LDFLAGS64) ++ $(CC) -Wl,-r -nostdlib $(OBJ64) -o $(NAME64).o $(LDFLAGS64) + + clean : + @rm -f $(OBJ32) $(OBJ64) *~ *\# \#* .\#* dump_main.o + +--- a/elfsh/Makefile ++++ b/elfsh/Makefile +@@ -36,7 +36,7 @@ + -I../libedfmt/include/ $(STATOPT2) \ + $(ASMOPT) -DERESI64 $(NCURSESLNOPT) $(READLNOPT) + +-LDFLAGS32 += -L../libedfmt/ -ledfmt32 -L../libelfsh/ -lelfsh32 \ ++LDFLAGS32 += -L../libedfmt/ -ledfmt32 -L../libdump/ -L../libelfsh/ -lelfsh32 \ + -L../libetrace/ -letrace32 -L../libstderesi/ -lstderesi32 \ + -L/usr/pkg/lib/ -L../libmjollnir/ -lmjollnir32 \ + -L../libetrace -letrace32 $(LPTHREAD) -L../libasm/ -lasm32 \ diff --git a/dev-util/eresi/files/0.82_beta2-drop-dprintf.patch b/dev-util/eresi/files/0.82_beta2-drop-dprintf.patch new file mode 100644 index 0000000..bde1a95 --- /dev/null +++ b/dev-util/eresi/files/0.82_beta2-drop-dprintf.patch @@ -0,0 +1,25 @@ +Drop conflicting dprintf declaration. + +ERESI does declare a prototype for dprintf, which conflicts with the +declaration in stdio.h, leading to the following compiler error: + +../librevm/include/revm.h:604: error: conflicting types for ‘dprintf’ +/usr/include/stdio.h:397: note: previous declaration of ‘dprintf’ was here + +As the whole ERESI source code doesn't even mention dprintf in any +other place, dropping the declaration shouldn't cause any harm at all. + +2010-04-07 Martin von Gagern + +Index: eresi-0.82_beta2/librevm/include/revm.h +=================================================================== +--- eresi-0.82_beta2.orig/librevm/include/revm.h ++++ eresi-0.82_beta2/librevm/include/revm.h +@@ -601,7 +601,6 @@ int revm_isnbr(char *string); + void revm_workfiles_load(); + int revm_implicit(revmcmd_t *actual); + int revm_workfiles_unload(); +-int dprintf(int fd, char *format, ...); + void revm_pht_print(elfsh_Phdr *phdr, uint16_t num, eresi_Addr base); + char *revm_fetch_sht_typedesc(elfsh_Word typenum); + int revm_sht_print(elfsh_Shdr *shdr, u_int num, char rtflag); diff --git a/dev-util/eresi/files/0.82_beta2-gentoo-autodetect.patch b/dev-util/eresi/files/0.82_beta2-gentoo-autodetect.patch new file mode 100644 index 0000000..d90fccd --- /dev/null +++ b/dev-util/eresi/files/0.82_beta2-gentoo-autodetect.patch @@ -0,0 +1,17 @@ +Avoid autodetecting Gentoo using any kind of black magic. + +2011-05-23 Martin von Gagern + +Index: eresi-0.82_beta2/configure +=================================================================== +--- eresi-0.82_beta2.orig/configure ++++ eresi-0.82_beta2/configure +@@ -20,7 +20,7 @@ VARSFILE="librevm/include/revm-vars.h" + LIBVARSFILE="libelfsh/include/libvars.h" + LPTHREAD="-lpthread" + SHELL=`which bash` +-GENTOO=` uname -a | grep gentoo` ++GENTOO=yes + + printHelp() + { diff --git a/dev-util/eresi/files/0.82_beta2-parallel-make.patch b/dev-util/eresi/files/0.82_beta2-parallel-make.patch new file mode 100644 index 0000000..c14d21a --- /dev/null +++ b/dev-util/eresi/files/0.82_beta2-parallel-make.patch @@ -0,0 +1,66 @@ +Index: librevm/Makefile +=================================================================== +--- librevm/Makefile (revision 1284) ++++ librevm/Makefile (working copy) +@@ -42,7 +42,7 @@ + $(MAKE) -C io all32 + $(MAKE) -C api all32 + +-$(NAME32).so : ++$(NAME32).so : mod32 + $(CC) -shared $(OBJ32) -o $(NAME32).so $(LDFLAGS32) \ + $(STATOPT) $(NCURSESLNOPT) $(READLNOPT) + ar rc ${NAME32}.a ${OBJ32} +@@ -57,7 +57,7 @@ + $(MAKE) -C io all64 + $(MAKE) -C api all64 + +-lib64 : ++lib64 : mod64 + $(CC) -shared $(OBJ64) -o $(NAME64).so $(LDFLAGS64) \ + $(STATOPT) $(NCURSESLNOPT) $(READLNOPT) + ar rc ${NAME64}.a ${OBJ64} +Index: libstderesi/Makefile +=================================================================== +--- libstderesi/Makefile (revision 1284) ++++ libstderesi/Makefile (working copy) +@@ -47,7 +47,7 @@ + $(MAKE) -C analysis all32 + $(MAKE) -C files all32 + +-$(NAME32).so : ++$(NAME32).so : mod32 + $(CC) -shared $(OBJ32) -o $(NAME32).so $(LDFLAGS32) \ + $(NCURSESLNOPT) $(READLNOPT) + ar rc ${NAME32}.a ${OBJ32} +@@ -66,7 +66,7 @@ + $(MAKE) -C analysis all64 + $(MAKE) -C files all64 + +-$(NAME64).so : ++$(NAME64).so : mod64 + $(CC) -shared $(OBJ64) -o $(NAME64).so $(LDFLAGS64) \ + $(STATOPT) $(NCURSESLNOPT) $(READLNOPT) + ar rc ${NAME64}.a ${OBJ64} +Index: libe2dbg/Makefile +=================================================================== +--- libe2dbg/Makefile (revision 1284) ++++ libe2dbg/Makefile (working copy) +@@ -52,7 +52,7 @@ + $(MAKE) -C kernel + endif + +-$(DBGNAME32O): ++$(DBGNAME32O): mod32 + @$(CC) -shared $(COBJ32) $(EXTRAOBJ32) $(UOBJ32) $(LDFLAGS32) \ + -o $(DBGNAME32).so + @$(AR) $(DBGNAME32).a $(COBJ32) $(UOBJ32) $(EXTRAOBJ32) +@@ -70,7 +70,7 @@ + $(MAKE) -C common all64 + $(MAKE) -C user all64 + +-$(DBGNAME64O) : ++$(DBGNAME64O) : mod64 + @$(CC) -shared $(COBJ64) $(EXTRAOBJ64) $(UOBJ64) $(LDFLAGS64) \ + -o $(DBGNAME64).so + @$(AR) $(DBGNAME64).a $(OBJ64) diff --git a/dev-util/eresi/files/0.82_beta2-sed-in-Makefile.patch b/dev-util/eresi/files/0.82_beta2-sed-in-Makefile.patch new file mode 100644 index 0000000..321e710 --- /dev/null +++ b/dev-util/eresi/files/0.82_beta2-sed-in-Makefile.patch @@ -0,0 +1,22 @@ +Having a sed command at the top of the Makefile will break with +current (3.82) GNU make. + +2011-05-23 Martin von Gagern + +Index: eresi-0.82_beta2/configure +=================================================================== +--- eresi-0.82_beta2.orig/configure ++++ eresi-0.82_beta2/configure +@@ -618,10 +618,10 @@ echo "RM = rm -f " + echo "" >> Makefile + echo "all : world modules testsuite tags" >> Makefile + ++sed -ie "s%TESTING_ROOT=.*%TESTING_ROOT=`pwd`/%" eresi-config ++ + cat >> Makefile <<EOF + +-sed -ie "s%TESTING_ROOT=.*%TESTING_ROOT=`pwd`/%" eresi-config +- + ifdef NAME + include build/defs/dep-rules.def + component: dep-\$(NAME) diff --git a/dev-util/eresi/metadata.xml b/dev-util/eresi/metadata.xml new file mode 100644 index 0000000..b31a3dd --- /dev/null +++ b/dev-util/eresi/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><email>maintainer-wanted@gentoo.org</email></maintainer> +<use> +<flag name="server">Build eresi server capability</flag> +</use> +</pkgmetadata> |