summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-11-04 02:33:25 +0000
committerMike Frysinger <vapier@gentoo.org>2005-11-04 02:33:25 +0000
commitb45e9561fcc4d060c78cc7354823157881ffb1a8 (patch)
treef667cc664c820d47b0cf6b2dcdc40efb286ae4b6 /sys-devel/libtool
parentchange default abi for mips64 toolchains to n32 and add a warning if we skip ... (diff)
downloadgentoo-2-b45e9561fcc4d060c78cc7354823157881ffb1a8.tar.gz
gentoo-2-b45e9561fcc4d060c78cc7354823157881ffb1a8.tar.bz2
gentoo-2-b45e9561fcc4d060c78cc7354823157881ffb1a8.zip
Dont use non-portable character classes in Gentoo sanity check #111353 by Erik Månsson.
(Portage version: 2.0.53_rc7)
Diffstat (limited to 'sys-devel/libtool')
-rw-r--r--sys-devel/libtool/ChangeLog10
-rw-r--r--sys-devel/libtool/files/1.5.20/libtool-1.5.20-version-checking.patch65
-rw-r--r--sys-devel/libtool/files/digest-libtool-1.5.20-r11
-rw-r--r--sys-devel/libtool/libtool-1.5.20-r1.ebuild158
4 files changed, 233 insertions, 1 deletions
diff --git a/sys-devel/libtool/ChangeLog b/sys-devel/libtool/ChangeLog
index 4ebb4c0d0d13..faca2edbeac5 100644
--- a/sys-devel/libtool/ChangeLog
+++ b/sys-devel/libtool/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-devel/libtool
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/libtool/ChangeLog,v 1.91 2005/10/18 13:03:11 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/libtool/ChangeLog,v 1.92 2005/11/04 02:33:25 vapier Exp $
+
+*libtool-1.5.20-r1 (04 Nov 2005)
+
+ 04 Nov 2005; Mike Frysinger <vapier@gentoo.org>
+ +files/1.5.20/libtool-1.5.20-version-checking.patch,
+ +libtool-1.5.20-r1.ebuild:
+ Dont use non-portable character classes in Gentoo sanity check #111353 by
+ Erik Månsson.
18 Oct 2005; Aron Griffis <agriffis@gentoo.org> libtool-1.5.20.ebuild:
Mark 1.5.20 stable on alpha
diff --git a/sys-devel/libtool/files/1.5.20/libtool-1.5.20-version-checking.patch b/sys-devel/libtool/files/1.5.20/libtool-1.5.20-version-checking.patch
new file mode 100644
index 000000000000..63b8ef5be631
--- /dev/null
+++ b/sys-devel/libtool/files/1.5.20/libtool-1.5.20-version-checking.patch
@@ -0,0 +1,65 @@
+Add a sanity check to make sure the libtool code in the 'configure' script is
+in sync with the local 'ltmain.sh'. If they are out of sync, libtool may
+generate the libraries incorrectly.
+
+http://bugs.gentoo.org/73140
+
+--- libtool-1.5.20/libtool.m4
++++ libtool-1.5.20/libtool.m4
+@@ -212,6 +212,14 @@
+ [pic_mode=default])
+ test -z "$pic_mode" && pic_mode=default
+
++# Check if we have a version mismatch between libtool.m4 and ltmain.sh.
++#
++# Note: This should be in AC_LIBTOOL_SETUP, _after_ $ltmain have been defined.
++# We also should do it _before_ AC_LIBTOOL_LANG_C_CONFIG that actually
++# calls AC_LIBTOOL_CONFIG and creates libtool.
++#
++_LT_VERSION_CHECK
++
+ # Use C for the default configuration in the libtool script
+ tagname=
+ AC_LIBTOOL_LANG_C_CONFIG
+@@ -219,6 +227,41 @@
+ ])# AC_LIBTOOL_SETUP
+
+
++# _LT_VERSION_CHECK
++# -----------------
++AC_DEFUN([_LT_VERSION_CHECK],
++[AC_MSG_CHECKING([for correct ltmain.sh version])
++if test "x$ltmain" = "x" ; then
++ AC_MSG_RESULT(no)
++ AC_MSG_ERROR([
++
++*** @<:@Gentoo@:>@ sanity check failed! ***
++*** \$ltmain is not defined, please check the patch for consistency! ***
++])
++fi
++gentoo_lt_version="@_LT_VERSION@"
++gentoo_ltmain_version=`grep '^@<:@ @:>@*VERSION=' $ltmain | sed -e 's|^@<:@ @:>@*VERSION=||'`
++if test "x$gentoo_lt_version" != "x$gentoo_ltmain_version" ; then
++ AC_MSG_RESULT(no)
++ AC_MSG_ERROR([
++
++*** @<:@Gentoo@:>@ sanity check failed! ***
++*** libtool.m4 and ltmain.sh have a version mismatch! ***
++*** (libtool.m4 = $gentoo_lt_version, ltmain.sh = $gentoo_ltmain_version) ***
++
++Please run:
++
++ libtoolize --copy --force
++
++if appropriate, please contact the maintainer of this
++package (or your distribution) for help.
++])
++else
++ AC_MSG_RESULT(yes)
++fi
++])# _LT_VERSION_CHECK
++
++
+ # _LT_AC_SYS_COMPILER
+ # -------------------
+ AC_DEFUN([_LT_AC_SYS_COMPILER],
diff --git a/sys-devel/libtool/files/digest-libtool-1.5.20-r1 b/sys-devel/libtool/files/digest-libtool-1.5.20-r1
new file mode 100644
index 000000000000..4fab72c472e9
--- /dev/null
+++ b/sys-devel/libtool/files/digest-libtool-1.5.20-r1
@@ -0,0 +1 @@
+MD5 fc3b564700aebcb19de841c1c2d66e99 libtool-1.5.20.tar.gz 2789331
diff --git a/sys-devel/libtool/libtool-1.5.20-r1.ebuild b/sys-devel/libtool/libtool-1.5.20-r1.ebuild
new file mode 100644
index 000000000000..f76df9fb8181
--- /dev/null
+++ b/sys-devel/libtool/libtool-1.5.20-r1.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/libtool/libtool-1.5.20-r1.ebuild,v 1.1 2005/11/04 02:33:25 vapier Exp ${P}-r1.ebuild,v 1.8 2002/10/04 06:34:42 kloeri Exp $
+
+inherit eutils
+
+DESCRIPTION="A shared library tool for developers"
+HOMEPAGE="http://www.gnu.org/software/libtool/libtool.html"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="1.5"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+RDEPEND="sys-devel/gnuconfig
+ >=sys-devel/autoconf-2.59
+ >=sys-devel/automake-1.9"
+DEPEND="${RDEPEND}
+ sys-apps/help2man"
+
+lt_setup() {
+ export WANT_AUTOCONF=2.5
+ export WANT_AUTOMAKE=1.9
+}
+
+gen_ltmain_sh() {
+ local date=
+ local PACKAGE=
+ local VERSION=
+
+ rm -f ltmain.shT
+ date=`./mkstamp < ./ChangeLog` && \
+ eval `egrep '^[[:space:]]*PACKAGE' configure` && \
+ eval `egrep '^[[:space:]]*VERSION' configure` && \
+ sed -e "s/@PACKAGE@/${PACKAGE}/" -e "s/@VERSION@/${VERSION}/" \
+ -e "s%@TIMESTAMP@%$date%" ./ltmain.in > ltmain.shT || return 1
+
+ mv -f ltmain.shT ltmain.sh || {
+ (rm -f ltmain.sh && cp ltmain.shT ltmain.sh && rm -f ltmain.shT)
+ return 1
+ }
+
+ return 0
+}
+
+src_unpack() {
+ lt_setup
+ unpack ${A}
+ cd "${S}"
+
+ # Make sure non of the patches touch ltmain.sh, but rather ltmain.in
+ rm -f ltmain.sh*
+
+ # Fix the relink problem where the relinked libs do not get
+ # installed. It is *VERY* important that you get a updated
+ # 'libtool-1.4.3-relink.patch' if you update this, as it
+ # fixes a very serious bug. Please not that this patch is
+ # included in 'libtool-1.4.3-gentoo.patch' for this ebuild.
+ #
+ # NOTE: all affected apps should get a 'libtoolize --copy --force'
+ # added to update libtool
+ #
+# Seems to be included in shipped tarball ...
+# epatch "${FILESDIR}"/1.4.3/${PN}-1.4.2-relink-58664.patch
+
+ epatch "${FILESDIR}"/1.4.3/${PN}-1.4.2-multilib.patch
+ # Mandrake patches
+ epatch "${FILESDIR}"/1.4.3/${PN}-1.4.3-lib64.patch
+# Fix bug #43244
+# epatch "${FILESDIR}"/1.4.3/${PN}-1.4.2-fix-linkage-of-cxx-code-with-gcc.patch
+ epatch "${FILESDIR}"/1.4.3/${PN}-1.4.2-archive-shared.patch
+ epatch "${FILESDIR}"/1.5.6/${PN}-1.5.6-ltmain-SED.patch
+ epatch "${FILESDIR}"/1.4.3/${PN}-1.4.2-expsym-linux.patch
+ epatch "${FILESDIR}"/1.4.3/${PN}-1.4.3-pass-thread-flags.patch
+ epatch "${FILESDIR}"/1.5.20/${PN}-1.5.20-use-linux-version-in-fbsd.patch #109105
+
+ # Gentoo Patches
+ # Do not create bogus entries in $dependency_libs or $libdir
+ # with ${D} or ${S} in them.
+ # <azarah@gentoo.org> - (07 April 2002)
+ epatch "${FILESDIR}"/1.5.10/${PN}-1.5.10-portage.patch
+ # If a package use an older libtool, and libtool.m4 for that
+ # package is updated, but not libtool, then we may run into an
+ # issue where internal variables are named differently. Often
+ # this shows up as libs being built without '.so' extension #73140
+ epatch "${FILESDIR}"/1.5.20/${PN}-1.5.20-version-checking.patch
+ sed -i "s:@_LT_VERSION@:${PV}:" libtool.m4 || die "sed libtool.m4"
+ # For older autoconf setups's that do not support libtool.m4,
+ # $max_cmd_len are never set, causing all tests against it to
+ # fail, resulting in 'integer expression expected' errors and
+ # possible misbehaviour.
+ # <azarah@gentoo.org> - (11 Feb 2004)
+ epatch "${FILESDIR}"/1.5.20/${PN}-1.5.20-ltmain_sh-max_cmd_len.patch
+
+ # Libtool's autoguessing at tag's sucks ... it get's confused
+ # if the tag's CC says '<CHOST>-gcc' and the env CC says 'gcc'
+ # or vice versa ... newer automakes specify the tag so no
+ # guessing is needed #67692
+ epatch "${FILESDIR}"/1.5.6/libtool-1.5-filter-host-tags.patch
+
+ # Libtool uses links to handle locking object files with
+ # dependencies. Hard links can't cross filesystems though,
+ # so we have to use a diff source for the link. #40992
+ epatch "${FILESDIR}"/1.5.10/libtool-1.5.10-locking.patch
+
+ # In some cases EGREP is not set by the build system.
+ epatch "${FILESDIR}"/1.5.14/libtool-1.5.14-egrep.patch
+
+ # Make sure LD_LIBRARY_PATH doesn't override RUNPATH #99593
+ epatch "${FILESDIR}"/1.5.20/libtool-1.5.20-override-LD_LIBRARY_PATH.patch
+
+ ebegin "Generating ltmain.sh"
+ gen_ltmain_sh || die "Failed to generate ltmain.sh!"
+ eend 0
+
+ # Now let's run all our autotool stuff so that files we patch
+ # below don't get regenerated on us later
+ cp libtool.m4 acinclude.m4
+ local d p
+ for d in . libltdl ; do
+ ebegin "Running autotools in '${d}'"
+ cd "${S}"/${d}
+ touch acinclude.m4
+ for p in aclocal "automake -c -a" autoconf ; do
+ ${p} || die "${p}"
+ done
+ eend 0
+ done
+ cd "${S}"
+
+ epunt_cxx
+}
+
+src_compile() {
+ lt_setup
+ econf || die
+ emake || die
+}
+
+src_install() {
+ make 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
+ done
+
+ for x in $(find "${D}" -name config.guess -o -name config.sub) ; do
+ rm -f "${x}" ; ln -sf ../gnuconfig/$(basename "${x}") "${x}"
+ done
+ cd "${D}"/usr/share/libtool/libltdl
+ for x in config.guess config.sub ; do
+ rm -f ${x} ; ln -sfn ../${x} ${x}
+ done
+}