diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-05-17 21:36:04 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-05-17 21:36:04 +0000 |
commit | 83b14953d9cd8e20a1646ee2bba2ba5cf5f0d250 (patch) | |
tree | ef5358b38af6ad5788b0da5dbb38418d20b4a5cb /sys-devel/automake-wrapper | |
parent | old (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | sys-devel/automake-wrapper/automake-wrapper-4.ebuild | 29 | ||||
-rwxr-xr-x | sys-devel/automake-wrapper/files/am-wrapper-4.sh | 159 |
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 |