[Midnightbsd-cvs] mports: mports/devel: Add automake and autoconf wrappers.
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sun Mar 23 16:32:41 EDT 2008
Log Message:
-----------
Add automake and autoconf wrappers.
Modified Files:
--------------
mports/devel:
Makefile (r1.200 -> r1.201)
Added Files:
-----------
mports/devel/automake-wrapper:
Makefile (r1.1)
pkg-descr (r1.1)
mports/devel/autoconf-wrapper:
Makefile (r1.1)
pkg-descr (r1.1)
mports/devel/autoconf-wrapper/files:
autotools-wrapper.sh (r1.1)
-------------- next part --------------
Index: Makefile
===================================================================
RCS file: /home/cvs/mports/devel/Makefile,v
retrieving revision 1.200
retrieving revision 1.201
diff -L devel/Makefile -L devel/Makefile -u -r1.200 -r1.201
--- devel/Makefile
+++ devel/Makefile
@@ -11,11 +11,13 @@
SUBDIR += apache-ant
SUBDIR += apr
SUBDIR += apr-svn
+ SUBDIR += autoconf-wrapper
SUBDIR += autoconf213
SUBDIR += autoconf253
SUBDIR += autoconf259
SUBDIR += autoconf261
SUBDIR += autogen
+ SUBDIR += automake-wrapper
SUBDIR += automake14
SUBDIR += automake15
SUBDIR += automake19
--- /dev/null
+++ devel/automake-wrapper/pkg-descr
@@ -0,0 +1,3 @@
+This port installs a wrapper script for automake, with symlinks to the
+unversioned name of each tool included with automake. This allows the
+correct version to be selected depending on the user's requirements.
--- /dev/null
+++ devel/automake-wrapper/Makefile
@@ -0,0 +1,19 @@
+# New ports collection makefile for: automake-wrapper
+# Date created: 2007-04-04
+# Whom: des
+#
+# $MidnightBSD: mports/devel/automake-wrapper/Makefile,v 1.1 2008/03/23 20:32:39 laffer1 Exp $
+# $FreeBSD: ports/devel/automake-wrapper/Makefile,v 1.1 2007/07/28 06:33:45 ade Exp $
+#
+
+PORTNAME= automake-wrapper
+
+COMMENT= Wrapper script for GNU automake
+
+MASTERDIR= ${.CURDIR}/../../devel/autoconf-wrapper
+PKGDIR= ${.CURDIR}
+
+TOOL= AUTOMAKE
+WRAPPED_TOOLS= aclocal automake
+
+.include "${MASTERDIR}/Makefile"
--- /dev/null
+++ devel/autoconf-wrapper/pkg-descr
@@ -0,0 +1,3 @@
+This port installs a wrapper script for autoconf, with symlinks to the
+unversioned name of each tool included with autoconf. This allows the
+correct version to be selected depending on the user's requirements.
--- /dev/null
+++ devel/autoconf-wrapper/Makefile
@@ -0,0 +1,46 @@
+# New ports collection makefile for: autoconf-wrapper
+# Date created: 4th April 2007
+# Whom: des
+#
+# $MidnightBSD: mports/devel/autoconf-wrapper/Makefile,v 1.1 2008/03/23 20:32:39 laffer1 Exp $
+# $FreeBSD: ports/devel/autoconf-wrapper/Makefile,v 1.3 2007/11/09 14:47:26 des Exp $
+#
+
+PORTNAME?= autoconf-wrapper
+PORTVERSION= 20071109
+CATEGORIES= devel
+MASTER_SITES= # none
+DISTFILES= # none
+
+MAINTAINER= ports at MidnightBSD.org
+COMMENT?= Wrapper script for GNU autoconf
+LICENSE= bsd2
+
+WRKSRC= ${WRKDIR}
+NO_BUILD= YES
+
+TOOL?= AUTOCONF
+WRAPPED_TOOLS?= autoconf autoheader autom4te autoreconf autoscan \
+ autoupdates ifnames
+.include <bsd.port.pre.mk>
+
+TOOLS_CASE!= ${ECHO_CMD} ${WRAPPED_TOOLS} | ${TR} ' ' '|'
+PLIST_FILES= bin/${PORTNAME}
+.for tool in ${WRAPPED_TOOLS}
+PLIST_FILES+= bin/${tool}
+.endfor
+
+do-configure:
+ @${SED} \
+ -e 's,%%PREFIX%%,${PREFIX},g' \
+ -e 's,%%TOOL%%,${TOOL},g' \
+ -e 's,%%TOOLS_CASE%%,${TOOLS_CASE},g' \
+ <${FILESDIR}/autotools-wrapper.sh >${WRKDIR}/${PORTNAME}.sh
+
+do-install:
+ @${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}.sh ${PREFIX}/bin/${PORTNAME}
+.for tool in ${WRAPPED_TOOLS}
+ @${LN} -s ${PORTNAME} ${PREFIX}/bin/${tool}
+.endfor
+
+.include <bsd.port.post.mk>
--- /dev/null
+++ devel/autoconf-wrapper/files/autotools-wrapper.sh
@@ -0,0 +1,96 @@
+#!/bin/sh
+#-
+# Copyright (c) 2007 Dag-Erling Coïdan Smørgrav
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer
+# in this position and unchanged.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $MidnightBSD: mports/devel/autoconf-wrapper/files/autotools-wrapper.sh,v 1.1 2008/03/23 20:32:39 laffer1 Exp $
+# $FreeBSD: ports/devel/autoconf-wrapper/files/autotools-wrapper.sh,v 1.3 2007/11/09 14:47:27 des Exp $
+#
+
+bindir=%%PREFIX%%/bin
+tool=$(basename $0)
+
+error() {
+ echo "$@" 1>&2
+ exit 1
+}
+
+# Verify that the requested tool is one we know about
+case ${tool} in
+%%TOOLS_CASE%%)
+ ;;
+*)
+ error "${tool}: unknown tool"
+ ;;
+esac
+
+if [ -n "${AUTOTOOLS_DEBUG}" -a -n "${%%TOOL%%_VERSION}" ] ; then
+ echo "Requested ${tool} version ${%%TOOL%%_VERSION}" 1>&2
+fi
+
+#
+# Identify available versions. Most of the complexity here stems from
+# the fact that some versions are installed as "toolXYZ" while some
+# are installed as "tool-X.YZ". The latter is the canonical form,
+# i.e. the one intended by the authors and expected by the tools
+# themselves.
+#
+# The double sort is necessary to correctly identify 1.10 as newer
+# than 1.9.
+#
+# Note that it is conceivable that version A.BC of the requested tool
+# is present both as "toolABC" and as "tool-A.BC". We take no special
+# measures to handle this case.
+#
+/usr/bin/find ${bindir}/ -name "${tool}*[0-9]" | /usr/bin/sed -E \
+ -e "s@^.*/${tool}-([0-9])\\.([0-9]+)\$@\1 \2 -\1.\2@" \
+ -e "s@^.*/${tool}([0-9])([0-9]+)\$@\1 \2 \1\2@" | \
+ /usr/bin/sort -n -k1 | /usr/bin/sort -n -s -k2 | {
+while read maj min suffix ; do
+ selected_version="$maj$min"
+ selected_suffix=$suffix
+ if [ -n "${%%TOOL%%_VERSION}" -a \
+ "x${%%TOOL%%_VERSION}" = x${selected_version} ] ; then
+ break
+ fi
+done
+
+if [ -z "${selected_version}" ] ; then
+ error "${tool}: not installed"
+fi
+
+if [ -n "${%%TOOL%%_VERSION}" -a \
+ "x${%%TOOL%%_VERSION}" != x${selected_version} ] ; then
+ error "${tool}: required version" \
+ "${%%TOOL%%_VERSION} not found"
+fi
+
+if [ -n "${AUTOTOOLS_DEBUG}" ] ; then
+ echo "Selecting ${tool} version ${selected_version}" \
+ "(${bindir}/${tool}${selected_suffix})" 1>&2
+fi
+
+exec ${bindir}/${tool}${selected_suffix} "$@"
+}
More information about the Midnightbsd-cvs
mailing list