aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven 'sleipnir' Rebhan <odinshorse@googlemail.com>2009-02-15 20:19:37 +0000
committerSven 'sleipnir' Rebhan <odinshorse@googlemail.com>2009-02-15 20:19:37 +0000
commitc6191121d29df5dee97e2e4dbfdbe16225d81fc7 (patch)
tree9352a28b0c9754ecaca7e8eb873fa508245b69a5 /sys-devel
parentfix tslib compilation via adding -D_FORTIFY_SOURCE=0, (thanks jc) (diff)
downloadembedded-cross-c6191121d29df5dee97e2e4dbfdbe16225d81fc7.tar.gz
embedded-cross-c6191121d29df5dee97e2e4dbfdbe16225d81fc7.tar.bz2
embedded-cross-c6191121d29df5dee97e2e4dbfdbe16225d81fc7.zip
Fix for libtool to no longer trash our builds with "-L${libdir}"
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/libtool/Manifest5
-rw-r--r--sys-devel/libtool/files/1.5.20/libtool-1.5.20-use-linux-version-in-fbsd.patch38
-rw-r--r--sys-devel/libtool/files/2.2.6a/libtool-2.2.6a-add-cross-compile-root-to-libdir.patch20
-rw-r--r--sys-devel/libtool/files/2.2.6a/libtool-2.2.6a-gnuinfo.patch39
-rw-r--r--sys-devel/libtool/libtool-2.2.6a.ebuild61
5 files changed, 163 insertions, 0 deletions
diff --git a/sys-devel/libtool/Manifest b/sys-devel/libtool/Manifest
new file mode 100644
index 0000000..6b9e958
--- /dev/null
+++ b/sys-devel/libtool/Manifest
@@ -0,0 +1,5 @@
+AUX 1.5.20/libtool-1.5.20-use-linux-version-in-fbsd.patch 1185 RMD160 ed02facdc5fd1ea9ffd403f5641f620791d833db SHA1 8d5784695682e3e8a271a9ed635d9d1566c4e99b SHA256 6a17e149e3638c3c94679459e1201f5dd7abbe97e5c8ab3654c1a0d079f53326
+AUX 2.2.6a/libtool-2.2.6a-add-cross-compile-root-to-libdir.patch 765 RMD160 960a5570f0336d6cb3c64764206b4392f6aeab44 SHA1 1d230d4a0d98819c01a4a58ab29dd84d219e28f0 SHA256 f41df31d854878c142ecef7afb9d20e15b2401c3c1081938d0611e036596cde4
+AUX 2.2.6a/libtool-2.2.6a-gnuinfo.patch 1454 RMD160 1342700e864e985559dd55f9d49a7d81c9d2a5ee SHA1 9c5410b857551ec202159dd570ca8a81f40d507e SHA256 a06eee9bbbbb617c6b8014bb67ba1442b0b0a618079998d1f629a6043c97083a
+DIST libtool-2.2.6a.tar.lzma 733923 RMD160 1f1d4d8a86615fb455b76d5edcc92fe1a8ebfa2b SHA1 7c5fdce11777261a6c407fe97ac8a1ae5fe99d2b SHA256 1d22960afeab230c9c380365ea8791b194109a5f9d5916a1e29c3d0bdaa9638a
+EBUILD libtool-2.2.6a.ebuild 1701 RMD160 ef1d9fee27d251107ff7b1680d8454741130c4ed SHA1 b704ee3b1f258efb26a77ded8a07868d6ae837d1 SHA256 fb8217d0677a2e7734b3b27abaf7f14fc40f7573132359ed5561f193da9fb03a
diff --git a/sys-devel/libtool/files/1.5.20/libtool-1.5.20-use-linux-version-in-fbsd.patch b/sys-devel/libtool/files/1.5.20/libtool-1.5.20-use-linux-version-in-fbsd.patch
new file mode 100644
index 0000000..cc9d8b8
--- /dev/null
+++ b/sys-devel/libtool/files/1.5.20/libtool-1.5.20-use-linux-version-in-fbsd.patch
@@ -0,0 +1,38 @@
+Force linux-style versioning when generating shared libraries on
+Gentoo/FreeBSD hosts only.
+
+Patch by Diego Pettenò
+
+http://bugs.gentoo.org/109105
+
+--- libtool-1.5.20/libtool.m4
++++ libtool-1.5.20/libtool.m4
+@@ -1375,7 +1375,14 @@ freebsd* | dragonfly*)
+ *) objformat=elf ;;
+ esac
+ fi
+- version_type=freebsd-$objformat
++ # Handle Gentoo/FreeBSD as it was Linux
++ case $host_vendor in
++ gentoo)
++ version_type=linux ;;
++ *)
++ version_type=freebsd-$objformat ;;
++ esac
++
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+@@ -1386,6 +1392,12 @@ freebsd* | dragonfly*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
++ linux)
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ need_lib_prefix=no
++ need_version=no
++ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
diff --git a/sys-devel/libtool/files/2.2.6a/libtool-2.2.6a-add-cross-compile-root-to-libdir.patch b/sys-devel/libtool/files/2.2.6a/libtool-2.2.6a-add-cross-compile-root-to-libdir.patch
new file mode 100644
index 0000000..3c7d99b
--- /dev/null
+++ b/sys-devel/libtool/files/2.2.6a/libtool-2.2.6a-add-cross-compile-root-to-libdir.patch
@@ -0,0 +1,20 @@
+--- libltdl/config/ltmain.sh 2008-09-07 19:56:33.000000000 +0200
++++ libltdl/config/ltmain.sh.new 2009-02-15 20:37:47.000000000 +0100
+@@ -5768,7 +5768,7 @@
+ test "$hardcode_direct_absolute" = no; then
+ add="$libdir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+- add_dir="-L$libdir"
++ add_dir="-L$ROOT/$libdir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+@@ -5785,7 +5785,7 @@
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+- add_dir="-L$libdir"
++ add_dir="-L$ROOT/$libdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
diff --git a/sys-devel/libtool/files/2.2.6a/libtool-2.2.6a-gnuinfo.patch b/sys-devel/libtool/files/2.2.6a/libtool-2.2.6a-gnuinfo.patch
new file mode 100644
index 0000000..3027dd9
--- /dev/null
+++ b/sys-devel/libtool/files/2.2.6a/libtool-2.2.6a-gnuinfo.patch
@@ -0,0 +1,39 @@
+Fix broken Info files produced by texinfo 4.11
+http://bugs.gentoo.org/249168
+
+--- libtool-2.2.6/doc/libtool.info
++++ libtool-2.2.6/doc/libtool.info
+@@ -1,7 +1,7 @@
++This is libtool.info, produced by makeinfo version 4.11 from /Users/gary/Devo/libtool/doc/libtool.texi.
++
+ INFO-DIR-SECTION GNU programming tools
+ START-INFO-DIR-ENTRY
+-This is libtool.info, produced by makeinfo version 4.11 from /Users/gary/Devo/libtool/doc/libtool.texi.
+-
+ * Libtool: (libtool). Generic shared library support script.
+ END-INFO-DIR-ENTRY
+
+--- libtool-2.2.6/doc/libtool.info-1
++++ libtool-2.2.6/doc/libtool.info-1
+@@ -1,7 +1,7 @@
++This is libtool.info, produced by makeinfo version 4.11 from /Users/gary/Devo/libtool/doc/libtool.texi.
++
+ INFO-DIR-SECTION GNU programming tools
+ START-INFO-DIR-ENTRY
+-This is libtool.info, produced by makeinfo version 4.11 from /Users/gary/Devo/libtool/doc/libtool.texi.
+-
+ * Libtool: (libtool). Generic shared library support script.
+ END-INFO-DIR-ENTRY
+
+--- libtool-2.2.6/doc/libtool.info-2
++++ libtool-2.2.6/doc/libtool.info-2
+@@ -1,7 +1,7 @@
++This is libtool.info, produced by makeinfo version 4.11 from /Users/gary/Devo/libtool/doc/libtool.texi.
++
+ INFO-DIR-SECTION GNU programming tools
+ START-INFO-DIR-ENTRY
+-This is libtool.info, produced by makeinfo version 4.11 from /Users/gary/Devo/libtool/doc/libtool.texi.
+-
+ * Libtool: (libtool). Generic shared library support script.
+ END-INFO-DIR-ENTRY
+
diff --git a/sys-devel/libtool/libtool-2.2.6a.ebuild b/sys-devel/libtool/libtool-2.2.6a.ebuild
new file mode 100644
index 0000000..f051e97
--- /dev/null
+++ b/sys-devel/libtool/libtool-2.2.6a.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/libtool/libtool-2.2.6a.ebuild,v 1.3 2008/11/28 22:41:19 ulm Exp $
+
+LIBTOOLIZE="true" #225559
+inherit eutils autotools
+
+DESCRIPTION="A shared library tool for developers"
+HOMEPAGE="http://www.gnu.org/software/libtool/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.lzma"
+
+LICENSE="GPL-2"
+SLOT="1.5"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+IUSE="vanilla"
+
+RDEPEND="sys-devel/gnuconfig
+ >=sys-devel/autoconf-2.60
+ >=sys-devel/automake-1.10.1"
+DEPEND="${RDEPEND}
+ app-arch/lzma-utils
+ sys-apps/help2man"
+
+S=${WORKDIR}/${P%a}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # In ltmain.sh libtool adds "-L${libdir}" to the compiler options when relinking.
+ # For cross-compilations this kills us because normally ${libdir} points to /usr/lib.
+ # We fix this by simply prefixing this with $ROOT, which points to the correct libs.
+ epatch "${FILESDIR}"/${PV}/${P}-add-cross-compile-root-to-libdir.patch
+
+ epatch "${FILESDIR}"/${PV}/${P}-gnuinfo.patch #249168
+
+ if ! use vanilla ; then
+ epunt_cxx
+ cd libltdl/m4
+ epatch "${FILESDIR}"/1.5.20/${PN}-1.5.20-use-linux-version-in-fbsd.patch #109105
+ cd ..
+ eautoreconf
+ cd ..
+ eautoreconf
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog* NEWS README THANKS TODO doc/PLATFORMS
+
+ local x
+ for x in libtool libtoolize ; do
+ help2man ${x} > ${x}.1
+ doman ${x}.1 || die
+ done
+
+ for x in $(find "${D}" -name config.guess -o -name config.sub) ; do
+ rm -f "${x}" ; ln -sf /usr/share/gnuconfig/${x##*/} "${x}"
+ done
+}