From 8d18c848108de39180fdc55072bd42f04fe97362 Mon Sep 17 00:00:00 2001 From: "Martin von Gagern (MvG)" Date: Mon, 23 May 2011 20:42:25 +0000 Subject: dev-util/eresi: Fix a number of build issues discussed in bug #253436. svn path=/sunrise/; revision=12083 --- dev-util/eresi/ChangeLog | 11 +++++++- dev-util/eresi/Manifest | 7 +++-- dev-util/eresi/eresi-0.82_beta2.ebuild | 31 ++++++++++++++------- dev-util/eresi/files/0.82_beta2-direct-ld.patch | 32 ++++++++++++++++++++++ .../eresi/files/0.82_beta2-gentoo-autodetect.patch | 17 ++++++++++++ .../eresi/files/0.82_beta2-sed-in-Makefile.patch | 22 +++++++++++++++ 6 files changed, 107 insertions(+), 13 deletions(-) create mode 100644 dev-util/eresi/files/0.82_beta2-direct-ld.patch create mode 100644 dev-util/eresi/files/0.82_beta2-gentoo-autodetect.patch create mode 100644 dev-util/eresi/files/0.82_beta2-sed-in-Makefile.patch (limited to 'dev-util') diff --git a/dev-util/eresi/ChangeLog b/dev-util/eresi/ChangeLog index 0b465dabd..a1daa1b14 100644 --- a/dev-util/eresi/ChangeLog +++ b/dev-util/eresi/ChangeLog @@ -1,7 +1,16 @@ # ChangeLog for dev-util/eresi -# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 23 May 2011; Martin von Gagern (MvG) + +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) eresi-0.82_beta2.ebuild: Fix build issues with glibc 2.12 where __USE_GNU gets unset unless diff --git a/dev-util/eresi/Manifest b/dev-util/eresi/Manifest index 020999fb8..b82d9ddc4 100644 --- a/dev-util/eresi/Manifest +++ b/dev-util/eresi/Manifest @@ -1,7 +1,10 @@ AUX 0.82_beta2-as-needed.patch 1508 RMD160 7f452532bd231fb6bd1a2aed574c50fd3969442c SHA1 053f33cc40e600185fd779e751f1f447359a9a3e SHA256 0c0fc1ba336d9d2bfd22d53a7856fe1ec79e94bb7f86785e4b8b8cca66bd665d +AUX 0.82_beta2-direct-ld.patch 1158 RMD160 00dce5560d4727acdba4a65260dffa40b6d4f18e SHA1 333dd65f712c27016bf18c07c0a8707278d3fe9d SHA256 5d749601907ed594418688bd42ab40e21cb8f841b61e26c84dc2d58377c92df8 AUX 0.82_beta2-drop-dprintf.patch 1113 RMD160 f4f42ef7559704dd82c2700d105bc675fc805d9e SHA1 a43671d5dd40df6997c70761775f58318362340f SHA256 2d1c9b56ac33217242c50000388114e178ea359a328e33f6557cbac4332b81ea +AUX 0.82_beta2-gentoo-autodetect.patch 465 RMD160 9de927f0b6d7ebb6ff21cef8cd2ee8a521417ee1 SHA1 1d9353b8bbccfd8592b02b341a33862879bd747c SHA256 0cc9f3e71db33ff8aa7b35a806059cc894cc3914fe68fef3ccdf59676f8180c1 AUX 0.82_beta2-parallel-make.patch 1970 RMD160 6b7bd0515188264a8ad8c799c6873d15b43f4332 SHA1 6e67edb49670c3c67e9df46abf5d89229ef41459 SHA256 564b6e46e10797b096d75f50691f9bf2244271fe04e4234a908dcd4f7dfade13 +AUX 0.82_beta2-sed-in-Makefile.patch 653 RMD160 ecfb98ce7ac3a2e42b0948d88e71794c3ff5fef0 SHA1 a267524a5908b767e86ceb87f58821df2cdbf760 SHA256 5b6e9b72a887afaf213b5dcf8984a3355f95eb974457f6305bc2ba0b42a5ce16 DIST eresi-0.82_beta2.tar.bz2 1132566 RMD160 a52cb8ae6da30dc9f2dd024e064a8da3c3666d02 SHA1 41d28e4bfc486c8f48cf15fb57e4b3f35f21a3aa SHA256 93daa8e392d33897d2fe3a9b27b198671941a53803fdb9bc08dea8a3f9b13a44 -EBUILD eresi-0.82_beta2.ebuild 2149 RMD160 2857986ac17c0db5e5c56e3b5837a32f0df99626 SHA1 363dfd953f29daa784728e3b5079c11d9cf24145 SHA256 c8f6feb73d3485ce65735732833b26f415122b2527076d942249955fc868bfa0 -MISC ChangeLog 1030 RMD160 b788dfb906ad09d43dfbfadfee9661826dc4d50c SHA1 752dc9be9e2cb84bf9979b52180ce05124957f93 SHA256 ec49edae45b512557a24edd72f252db488fd74176d2a328681648ac83819c526 +EBUILD eresi-0.82_beta2.ebuild 2436 RMD160 a394cdcf05347f99db73739a0299fa4c94df30dd SHA1 2e9efe98a10cc32703e35659aac59e56f2feb86d SHA256 226a9579c8f21f5c5a76739aab27a8e5693a2b6ccea84e84d0c85079642837e4 +MISC ChangeLog 1260 RMD160 eebe04db1ebc9ef8f7635cab30414c6e4e5367d2 SHA1 f7fe1b6b525ccebd55245e2093d61a1c85a1e77d SHA256 cb1d382194059eae118b2ba6d7af18fc6fdc0120ed6b11387dee75f07eaaf7b0 MISC metadata.xml 299 RMD160 c421ce3f432ded8e42ed44e567107616be910947 SHA1 d1621e3de10856ea4aa3d9a6caf1f98626a4dd5c SHA256 f2df47e8793acbc859ce7ad3775bd21be711850f3d5bde3910347b195dc46f5a diff --git a/dev-util/eresi/eresi-0.82_beta2.ebuild b/dev-util/eresi/eresi-0.82_beta2.ebuild index 54844a28c..e4f1ac66e 100644 --- a/dev-util/eresi/eresi-0.82_beta2.ebuild +++ b/dev-util/eresi/eresi-0.82_beta2.ebuild @@ -1,8 +1,10 @@ -# Copyright 1999-2010 Gentoo Foundation +# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ -inherit eutils toolchain-funcs +EAPI=4 + +inherit base eutils toolchain-funcs DESCRIPTION="The ERESI Reverse Engineering Software Interface: elfsh and friends" HOMEPAGE="http://www.eresi-project.org/" @@ -19,6 +21,7 @@ LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~ppc ~x86" IUSE="readline server doc" +REQUIRED_USE="server? ( !readline )" DEPEND="readline? ( sys-libs/readline )" RDEPEND="${DEPEND} @@ -26,20 +29,29 @@ RDEPEND="${DEPEND} # dev-util/elfsh-0.75 should be used as a transition package, # depending on eresi but not installing any files of its own. -src_unpack() { - unpack ${A} - cd "${S}" - epatch "${FILESDIR}"/0.82_beta2-parallel-make.patch - epatch "${FILESDIR}"/0.82_beta2-drop-dprintf.patch - epatch "${FILESDIR}"/0.82_beta2-as-needed.patch +PATCHES=( + "${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 +) + +src_prepare() { + base_src_prepare 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_compile() { +src_configure() { # non-standard configure script # doesn't understand --disable-*, so don't use use_enable local conf="--prefix /usr" @@ -49,7 +61,6 @@ src_compile() { use server && conf="${conf} --enable-network" echo "./configure ${conf}" ./configure ${conf} || die "configure failed" - emake || die "make failed" } src_install() { 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 000000000..f3bb19c74 --- /dev/null +++ b/dev-util/eresi/files/0.82_beta2-direct-ld.patch @@ -0,0 +1,32 @@ +From: Nathan Phillip Brink +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-gentoo-autodetect.patch b/dev-util/eresi/files/0.82_beta2-gentoo-autodetect.patch new file mode 100644 index 000000000..d90fccdad --- /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-sed-in-Makefile.patch b/dev-util/eresi/files/0.82_beta2-sed-in-Makefile.patch new file mode 100644 index 000000000..321e710cb --- /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 <