]> Pileus Git - ~andy/sunrise/commitdiff
dev-util/eresi: Fix a number of build issues discussed in bug #253436.
authorMartin von Gagern (MvG) <Martin.vGagern@gmx.net>
Mon, 23 May 2011 20:42:25 +0000 (20:42 +0000)
committerMartin von Gagern (MvG) <Martin.vGagern@gmx.net>
Mon, 23 May 2011 20:42:25 +0000 (20:42 +0000)
svn path=/sunrise/; revision=12083

dev-util/eresi/ChangeLog
dev-util/eresi/Manifest
dev-util/eresi/eresi-0.82_beta2.ebuild
dev-util/eresi/files/0.82_beta2-direct-ld.patch [new file with mode: 0644]
dev-util/eresi/files/0.82_beta2-gentoo-autodetect.patch [new file with mode: 0644]
dev-util/eresi/files/0.82_beta2-sed-in-Makefile.patch [new file with mode: 0644]

index 0b465dabd0ea9968aa79d3633312182e13c0a3af..a1daa1b14971809136330b63854da7848a6abcdd 100644 (file)
@@ -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) <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
index 020999fb85d95e909231c4ffaa048461e359e875..b82d9ddc4914357067c187b55bb962ea86037682 100644 (file)
@@ -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
index 54844a28cd73b3d530b7058ffff812970760658f..e4f1ac66e8a829a0cf5849b20913bc55297e43dc 100644 (file)
@@ -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 (file)
index 0000000..f3bb19c
--- /dev/null
@@ -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-gentoo-autodetect.patch b/dev-util/eresi/files/0.82_beta2-gentoo-autodetect.patch
new file mode 100644 (file)
index 0000000..d90fccd
--- /dev/null
@@ -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 (file)
index 0000000..321e710
--- /dev/null
@@ -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)