[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