diff options
author | Sven 'sleipnir' Rebhan <odinshorse@googlemail.com> | 2009-02-15 20:19:37 +0000 |
---|---|---|
committer | Sven 'sleipnir' Rebhan <odinshorse@googlemail.com> | 2009-02-15 20:19:37 +0000 |
commit | c6191121d29df5dee97e2e4dbfdbe16225d81fc7 (patch) | |
tree | 9352a28b0c9754ecaca7e8eb873fa508245b69a5 /sys-devel | |
parent | fix tslib compilation via adding -D_FORTIFY_SOURCE=0, (thanks jc) (diff) | |
download | embedded-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')
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 +} |