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
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=a...@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