ports default version system

Allan Jude freebsd at allanjude.com
Sat Nov 9 02:34:37 UTC 2013


Attached is a proposed patch for Mk/bsd.default-versions.mk

Currently, perl, python, ruby and tcl are supported

The patch adds support for apache, fpc, mysql, pgsql, and php

Users can specify in /etc/make.conf

DEFAULT_VERSIONS=     perl5=5.18 ruby=2.0 php=5.3 mysql=55p

and change the default version of php from lang/php5 to lang/php53
and mysql from database/mysql55-server to database/perconba55-server
etc.

The apache part of the patch might also consider deprecating the
APACHE_PORT make.conf variable.

Using the 'old way' produces a warning the same way it does for ruby,
perl etc.


-- 
Allan Jude
-------------- next part --------------
Index: Mk/bsd.apache.mk
===================================================================
--- Mk/bsd.apache.mk	(revision 333272)
+++ Mk/bsd.apache.mk	(working copy)
@@ -80,7 +80,13 @@
 
 Apache_Pre_Include=		bsd.apache.mk
 
-DEFAULT_APACHE_VERSION=		22
+.include "${PORTSDIR}/Mk/bsd.default-versions.mk"
+
+.if defined(DEFAULT_APACHE_VER)
+WARNING+=	"DEFAULT_APACHE_VER is defined, consider using DEFAULT_VERSIONS=apache=${DEFAULT_APACHE_VER} instead"
+.endif
+
+DEFAULT_APACHE_VERSION?=		${APACHE_DEFAULT:S/.//}
 APACHE_SUPPORTED_VERSION=	22 24 # preferred version first
 
 # Print warnings
@@ -335,19 +341,17 @@
 .	endif
 .endif
 
-.if ${APACHE_VERSION} >= 22
 AP_BUILDEXT=	la
-APACHEMODDIR=	libexec/apache${APACHE_VERSION}
-APACHEINCLUDEDIR=include/apache${APACHE_VERSION}
-APACHEETCDIR=	etc/apache${APACHE_VERSION}
-APACHE_PORT?=	www/apache${APACHE_VERSION}
-.endif
+APACHEMODDIR=	libexec/apache${DEFAULT_APACHE_VERSION}
+APACHEINCLUDEDIR=include/apache${DEFAULT_APACHE_VERSION}
+APACHEETCDIR=	etc/apache${DEFAULT_APACHE_VERSION}
+APACHE_PORT?=	www/apache${DEFAULT_APACHE_VERSION}
 
 PLIST_SUB+=	APACHEMODDIR="${APACHEMODDIR}" \
 		APACHEINCLUDEDIR="${APACHEINCLUDEDIR}" \
 		APACHEETCDIR="${APACHEETCDIR}"
 
-APACHE_PKGNAMEPREFIX=	ap${APACHE_VERSION}-
+APACHE_PKGNAMEPREFIX=	ap${DEFAULT_APACHE_VERSION}-
 .if defined(AP_FAST_BUILD)
 PKGNAMEPREFIX?=	${APACHE_PKGNAMEPREFIX}
 .endif
Index: Mk/bsd.database.mk
===================================================================
--- Mk/bsd.database.mk	(revision 333272)
+++ Mk/bsd.database.mk	(working copy)
@@ -102,8 +102,18 @@
 # FIREBIRD_VER
 #				- Detected Firebird version.
 
+.include "${PORTSDIR}/Mk/bsd.default-versions.mk"
+
+.if defined(DEFAULT_MYSQL_VER)
+WARNING+=	"DEFAULT_MYSQL_VER is defined, consider using DEFAULT_VERSIONS=mysql=${DEFAULT_MYSQL_VER} instead"
+.endif
+
+.if defined(DEFAULT_PGSQL_VER)
+WARNING+=	"DEFAULT_PGSQL_VER is defined, consider using DEFAULT_VERSIONS=pgsql=${DEFAULT_PGSQL_VER} instead"
+.endif
+
 .if defined(USE_MYSQL)
-DEFAULT_MYSQL_VER?=	55
+DEFAULT_MYSQL_VER?=	${MYSQL_DEFAULT:S/.//}
 # MySQL client version currently supported.
 MYSQL51_LIBVER=		16
 MYSQL53m_LIBVER=	16
@@ -190,7 +200,7 @@
 
 .if defined(USE_PGSQL)
 VALID_PGSQL_VER=	84 90 91 92 93
-DEFAULT_PGSQL_VER?=	90
+DEFAULT_PGSQL_VER?=	${PGSQL_DEFAULT:S/.//}
 PGSQL83_LIBVER=		5
 PGSQL84_LIBVER=		5
 PGSQL90_LIBVER=		5
Index: Mk/bsd.default-versions.mk
===================================================================
--- Mk/bsd.default-versions.mk	(revision 333272)
+++ Mk/bsd.default-versions.mk	(working copy)
@@ -17,11 +17,16 @@
 ${_l:U}_DEFAULT=	${lang:C/.*=//g}
 .endfor
 
+APACHE_DEFAULT?=	2.2
+FPC_DEFAULT?=		2.6.2
+MYSQL_DEFAULT?=		5.5
 PERL5_DEFAULT?=		5.16
-RUBY_DEFAULT?=		1.9
-TCLTK_DEFAULT?=		8.6
+PGSQL_DEFAULT?=		9.0
+PHP_DEFAULT?=		5.4
 PYTHON_DEFAULT?=	2.7
 PYTHON2_DEFAULT?=	2.7
 PYTHON3_DEFAULT?=	3.3
+RUBY_DEFAULT?=		1.9
+TCLTK_DEFAULT?=		8.6
 
 .endif
Index: Mk/bsd.fpc.mk
===================================================================
--- Mk/bsd.fpc.mk	(revision 333272)
+++ Mk/bsd.fpc.mk	(working copy)
@@ -27,10 +27,16 @@
 
 _FPCMKINCLUDED=	yes
 
+.include "${PORTSDIR}/Mk/bsd.default-versions.mk"
+
+.if defined(DEFAULT_FPC_VER)
+WARNING+=	"DEFAULT_FPC_VER is defined, consider using DEFAULT_VERSIONS=fpc=${DEFAULT_FPC_VER} instead"
+.endif
+
 FPC_Include_MAINTAINER=	acm at FreeBSD.org
 FPC_Pre_Include=	bsd.fpc.mk
 
-DEFAULT_FPC_VER=	2.6.2
+DEFAULT_FPC_VER=	${FPC_DEFAULT}
 FPC_VER=		${DEFAULT_FPC_VER}
 FPC_ARCH=		${ARCH:S/amd64/x86_64/}
 
Index: Mk/bsd.php.mk
===================================================================
--- Mk/bsd.php.mk	(revision 333272)
+++ Mk/bsd.php.mk	(working copy)
@@ -39,13 +39,19 @@
 
 _PHPMKINCLUDED=	yes
 
+.include "${PORTSDIR}/Mk/bsd.default-versions.mk"
+
+.if defined(DEFAULT_PHP_VER)
+WARNING+=	"DEFAULT_PHP_VER is defined, consider using DEFAULT_VERSIONS=php=${DEFAULT_PHP_VER} instead"
+.endif
+
 PHPBASE?=	${LOCALBASE}
 .if exists(${PHPBASE}/etc/php.conf)
 .include "${PHPBASE}/etc/php.conf"
 PHP_EXT_DIR!=	${PHPBASE}/bin/php-config --extension-dir | ${SED} -ne 's,^${PHPBASE}/lib/php/\(.*\),\1,p'
 
 .else
-DEFAULT_PHP_VER?=	5
+DEFAULT_PHP_VER?=	${PHP_DEFAULT:S/.//}
 
 PHP_VER?=	${DEFAULT_PHP_VER}
 .if ${PHP_VER}  == 52
@@ -56,6 +62,10 @@
 .elif ${PHP_VER}  == 55
 PHP_EXT_DIR=	20121212
 PHP_EXT_INC=	pcre spl
+.elif ${PHP_VER}  == 54
+PHP_VER=	5
+PHP_EXT_DIR=	20100525
+PHP_EXT_INC=	pcre spl
 .else
 PHP_EXT_DIR=	20100525
 PHP_EXT_INC=	pcre spl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 899 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-apache/attachments/20131108/56abea0d/attachment.sig>


More information about the freebsd-apache mailing list