summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-05-17 21:36:04 +0000
committerMike Frysinger <vapier@gentoo.org>2009-05-17 21:36:04 +0000
commit83b14953d9cd8e20a1646ee2bba2ba5cf5f0d250 (patch)
treeef5358b38af6ad5788b0da5dbb38418d20b4a5cb /sys-devel/automake-wrapper
parentold (diff)
downloadgentoo-2-83b14953d9cd8e20a1646ee2bba2ba5cf5f0d250.tar.gz
gentoo-2-83b14953d9cd8e20a1646ee2bba2ba5cf5f0d250.tar.bz2
gentoo-2-83b14953d9cd8e20a1646ee2bba2ba5cf5f0d250.zip
Create a real new version rather than mucking with the FILESDIR.
(Portage version: 2.2_rc33/cvs/Linux x86_64)
Diffstat (limited to 'sys-devel/automake-wrapper')
-rw-r--r--sys-devel/automake-wrapper/ChangeLog8
-rw-r--r--sys-devel/automake-wrapper/automake-wrapper-4.ebuild29
-rwxr-xr-xsys-devel/automake-wrapper/files/am-wrapper-4.sh159
3 files changed, 195 insertions, 1 deletions
diff --git a/sys-devel/automake-wrapper/ChangeLog b/sys-devel/automake-wrapper/ChangeLog
index 04335f22496c..6e6f7e8448fd 100644
--- a/sys-devel/automake-wrapper/ChangeLog
+++ b/sys-devel/automake-wrapper/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-devel/automake-wrapper
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/automake-wrapper/ChangeLog,v 1.34 2009/05/17 13:01:41 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/automake-wrapper/ChangeLog,v 1.35 2009/05/17 21:36:03 vapier Exp $
+
+*automake-wrapper-4 (17 May 2009)
+
+ 17 May 2009; Mike Frysinger <vapier@gentoo.org>
+ +automake-wrapper-4.ebuild, +files/am-wrapper-4.sh:
+ Create a real new version rather than mucking with the FILESDIR.
*automake-wrapper-3-r2 (17 May 2009)
diff --git a/sys-devel/automake-wrapper/automake-wrapper-4.ebuild b/sys-devel/automake-wrapper/automake-wrapper-4.ebuild
new file mode 100644
index 000000000000..269b4934a03c
--- /dev/null
+++ b/sys-devel/automake-wrapper/automake-wrapper-4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/automake-wrapper/automake-wrapper-4.ebuild,v 1.1 2009/05/17 21:36:03 vapier Exp $
+
+inherit multilib
+
+DESCRIPTION="wrapper for automake to manage multiple automake versions"
+HOMEPAGE="http://www.gentoo.org/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE=""
+
+S=${WORKDIR}
+
+src_install() {
+ exeinto /usr/$(get_libdir)/misc
+ newexe "${FILESDIR}"/am-wrapper-${PV}.sh am-wrapper.sh || die
+
+ keepdir /usr/share/aclocal
+
+ dodir /usr/bin
+ local x=
+ for x in aclocal automake ; do
+ dosym ../$(get_libdir)/misc/am-wrapper.sh /usr/bin/${x}
+ done
+}
diff --git a/sys-devel/automake-wrapper/files/am-wrapper-4.sh b/sys-devel/automake-wrapper/files/am-wrapper-4.sh
new file mode 100755
index 000000000000..b2adc427ea92
--- /dev/null
+++ b/sys-devel/automake-wrapper/files/am-wrapper-4.sh
@@ -0,0 +1,159 @@
+#!/bin/bash
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/automake-wrapper/files/am-wrapper-4.sh,v 1.1 2009/05/17 21:36:04 vapier Exp $
+
+# Based on the am-wrapper.pl script provided by MandrakeSoft
+# Rewritten in bash by Gregorio Guidi
+#
+# Executes the correct automake version.
+#
+# - defaults to newest version available (hopefully automake-1.10)
+# - runs automake-1.9 if:
+# - envvar WANT_AUTOMAKE is set to `1.9'
+# -or-
+# - `Makefile.in' was generated by automake-1.9
+# -or-
+# - 'aclocal.m4' contain AM_AUTOMAKE_VERSION, specifying the use of 1.9
+# - runs automake-1.8 if:
+# - envvar WANT_AUTOMAKE is set to `1.8'
+# -or-
+# - `Makefile.in' was generated by automake-1.8
+# -or-
+# - 'aclocal.m4' contain AM_AUTOMAKE_VERSION, specifying the use of 1.8
+# - runs automake-1.7 if:
+# - envvar WANT_AUTOMAKE is set to `1.7'
+# -or-
+# - `Makefile.in' was generated by automake-1.7
+# -or-
+# - 'aclocal.m4' contain AM_AUTOMAKE_VERSION, specifying the use of 1.7
+# - runs automake-1.6 if:
+# - envvar WANT_AUTOMAKE is set to `1.6'
+# -or-
+# - `Makefile.in'
+# -or-
+# - 'aclocal.m4' contain AM_AUTOMAKE_VERSION, specifying the use of 1.6
+# - runs automake-1.5 if:
+# - envvar WANT_AUTOMAKE is set to `1.5'
+# -or-
+# - `Makefile.in' was generated by automake-1.5
+# -or-
+# - 'aclocal.m4' contain AM_AUTOMAKE_VERSION, specifying the use of 1.5
+# - runs automake-1.4 if:
+# - envvar WANT_AUTOMAKE is set to `1.4'
+# -or-
+# - `Makefile.in' was generated by automake-1.4
+# -or-
+# - 'aclocal.m4' contain AM_AUTOMAKE_VERSION, specifying the use of 1.4
+
+if [ "${0##*/}" = "am-wrapper.sh" ] ; then
+ echo "Don't call this script directly." >&2
+ exit 1
+fi
+
+vers="1.11 1.10 1.9 1.8 1.7 1.6 1.5 1.4"
+
+#
+# Export the proper variable/versions and try to locate a usuable
+# default (newer versions are preferred)
+#
+binary=""
+for v in ${vers} ; do
+ eval binary_${v/./_}="${0}-${v}"
+
+ if [ -z "${binary}" ] && [ -x "${0}-${v}" ] ; then
+ binary="${0}-${v}"
+ fi
+done
+if [ -z "${binary}" ] ; then
+ echo "am-wrapper: Unable to locate any usuable version of automake." >&2
+ echo " I tried these versions: ${vers}" >&2
+ echo " With a base name of '${0}'." >&2
+ exit 1
+fi
+
+#
+# Check the WANT_AUTOMAKE setting. We accept a whitespace delimited
+# list of automake versions.
+#
+if [ -n "${WANT_AUTOMAKE}" ] ; then
+ for v in ${vers} x ; do
+ if [ "${v}" = "x" ] ; then
+ echo "am-wrapper: warning: invalid WANT_AUTOMAKE '${WANT_AUTOMAKE}'; ignoring." >&2
+ unset WANT_AUTOMAKE
+ break
+ fi
+
+ for wx in ${WANT_AUTOMAKE} ; do
+ if [ "${wx}" = "${v}" ] ; then
+ binary="binary_${v/./_}"
+ binary="${!binary}"
+ v="x"
+ fi
+ done
+ [ "${v}" = "x" ] && break
+ done
+fi
+
+#
+# autodetect helpers
+#
+do_awk() {
+ local file=$1 ; shift
+ local arg=$1 ; shift
+ echo $(gawk "{ if (match(\$0, \"$*\", res)) { print res[${arg}]; exit } }" ${file})
+}
+
+#
+# autodetect routine
+#
+if [ -z "${WANT_AUTOMAKE}" ] ; then
+ if [ -r "Makefile.in" ] ; then
+ confversion_mf=$(do_awk Makefile.in 2 "^# Makefile.in generated (automatically )?by automake ([0-9].[0-9]+)")
+ fi
+ if [ -r "aclocal.m4" ] ; then
+ confversion_ac=$(do_awk aclocal.m4 1 'generated automatically by aclocal ([0-9].[0-9]+)')
+ confversion_am=$(do_awk aclocal.m4 1 '[[:space:]]*\\[?AM_AUTOMAKE_VERSION\\(\\[?([0-9].[0-9]+)[^)]*\\]?\\)')
+ fi
+
+ for v in ${vers} ; do
+ if [ "${confversion_mf}" = "${v}" ] \
+ || [ "${confversion_ac}" = "${v}" ] \
+ || [ "${confversion_am}" = "${v}" ] ; then
+ binary="binary_${v/./_}"
+ binary="${!binary}"
+ break
+ fi
+ done
+fi
+
+if [ "${WANT_AMWRAPPER_DEBUG}" ] ; then
+ if [ "${WANT_AUTOMAKE}" ] ; then
+ echo "am-wrapper: DEBUG: WANT_AUTOMAKE is set to ${WANT_AUTOMAKE}" >&2
+ fi
+ echo "am-wrapper: DEBUG: will execute <$binary>" >&2
+fi
+
+#
+# for further consistency
+#
+for v in ${vers} ; do
+ mybin="binary_${v/./_}"
+ if [ "${binary}" = "${!mybin}" ] ; then
+ export WANT_AUTOMAKE="${v}"
+ fi
+done
+
+#
+# Now try to run the binary
+#
+if [ ! -x "${binary}" ] ; then
+ echo "am-wrapper: $binary is missing or not executable." >&2
+ echo " Please try emerging the correct version of automake." >&2
+ exit 1
+fi
+
+exec "$binary" "$@"
+
+echo "am-wrapper: was unable to exec $binary !?" >&2
+exit 1