svn commit: r327602 - in head/Mk: . Uses
Baptiste Daroussin
bapt at FreeBSD.org
Thu Sep 19 08:16:44 UTC 2013
Author: bapt
Date: Thu Sep 19 08:16:43 2013
New Revision: 327602
URL: http://svnweb.freebsd.org/changeset/ports/327602
Log:
Introduce the one-true-way to handle multi version ports
This defines a new macros for end users!
DEFAULT_VERSIONS.
This macros is used to end-users to define what version they want to be
the default version for the whole ports tree (for ports allowing that)
Syntax is the following:
DEFAULT_VERSIONS= perl5=5.18 ruby=2.0
Swith bsd.ruby.mk to use it[1], switch Uses/perl5.mk to use it[2]
If you are maintaining settable multi version port, please change it so
it uses DEFAULT_VERSIONS.
Reviewed by: ruby (swills) [1], perl (az) [2]
Approved by: ruby (swills) [1], perl (az) [2]
Added:
head/Mk/bsd.default-versions.mk (contents, props changed)
Modified:
head/Mk/Uses/perl5.mk
head/Mk/bsd.ruby.mk
Modified: head/Mk/Uses/perl5.mk
==============================================================================
--- head/Mk/Uses/perl5.mk Thu Sep 19 08:05:05 2013 (r327601)
+++ head/Mk/Uses/perl5.mk Thu Sep 19 08:16:43 2013 (r327602)
@@ -46,7 +46,18 @@ USE_PERL5?= run build
PERL_VERSION!= perl -e 'printf "%vd\n", $$^V;'
.endif
.else
-PERL_VERSION?= 5.14.4
+.include "${PORTSDIR}/Mk/bsd.default-versions.mk"
+.if ${PERL5_DEFAULT} == 5.12
+PERL_VERSION= 5.12.5
+.elif ${PERL5_DEFAULT} == 5.14
+PERL_VERSION= 5.14.4
+.elif ${PERL5_DEFAULT} == 5.16
+PERL_VERSION= 5.16.3
+.elif ${PERL5_DEFAULT} == 5.18
+PERL_VERSION= 5.18.1
+.else
+IGNORE= Invalid perl5 version ${PERL5_DEFAULT}
+.endif
.endif
PERL_VER?= ${PERL_VERSION:C/\.[0-9]+$//}
Added: head/Mk/bsd.default-versions.mk
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/Mk/bsd.default-versions.mk Thu Sep 19 08:16:43 2013 (r327602)
@@ -0,0 +1,23 @@
+# $FreeBSD$
+#
+# MAINTAINER: ports at FreeBSD.org
+#
+# Handle the default versions for users chosable multi versions.
+#
+# It expects users to define DEFAULT_VERSIONS in there make.conf
+# Syntax is the following:
+#
+# DEFAULT_VERSION= perl5=5.18 ruby=2.0
+
+.if !defined(_INCLUDE_BSD_DEFAULT_VERSIONS_MK)
+_INCLUDE_BSD_DEFAULT_VERSIONS_MK= yes
+
+.for lang in ${DEFAULT_VERSIONS}
+_l= ${lang:C/=.*//g}
+${_l:U}_DEFAULT= ${lang:C/.*=//g}
+.endfor
+
+PERL5_DEFAULT?= 5.14
+RUBY_DEFAULT?= 1.9
+
+.endif
Modified: head/Mk/bsd.ruby.mk
==============================================================================
--- head/Mk/bsd.ruby.mk Thu Sep 19 08:05:05 2013 (r327601)
+++ head/Mk/bsd.ruby.mk Thu Sep 19 08:16:43 2013 (r327602)
@@ -137,7 +137,13 @@ Ruby_Include_MAINTAINER= ruby at FreeBSD.or
# RUBY_ELISPDIR - Installation path for emacs lisp files.
#
-RUBY_DEFAULT_VER?= 1.9
+.include "${PORTSDIR}/Mk/bsd.default-versions.mk"
+
+.if defined(RUBY_DEFAULT_VER)
+WARNING+= "Using RUBY_DEFAULT_VER in make.conf, consider using DEFAULT_VERSION=ruby=${RUBY_DEFAULT_VER}"
+.endif
+
+RUBY_DEFAULT_VER?= ${RUBY_DEFAULT}
RUBY_VER?= ${RUBY_DEFAULT_VER}
More information about the svn-ports-all
mailing list