aboutsummaryrefslogtreecommitdiff
path: root/Mk
diff options
context:
space:
mode:
authorChris Rees <crees@FreeBSD.org>2014-01-12 21:16:06 +0000
committerChris Rees <crees@FreeBSD.org>2014-01-12 21:16:06 +0000
commit2bbe67e0a200601d8ce2950ea57686e967845545 (patch)
tree28e6ba3507f08777135558fecb204bb522650340 /Mk
parente6e704fec223d0b1de500a57162e7e54c441c1eb (diff)
downloadports-2bbe67e0a200601d8ce2950ea57686e967845545.tar.gz
ports-2bbe67e0a200601d8ce2950ea57686e967845545.zip
Notes
Diffstat (limited to 'Mk')
-rw-r--r--Mk/Uses/pgsql.mk142
-rw-r--r--Mk/bsd.database.mk117
-rw-r--r--Mk/bsd.default-versions.mk7
3 files changed, 159 insertions, 107 deletions
diff --git a/Mk/Uses/pgsql.mk b/Mk/Uses/pgsql.mk
new file mode 100644
index 000000000000..522673924964
--- /dev/null
+++ b/Mk/Uses/pgsql.mk
@@ -0,0 +1,142 @@
+# $FreeBSD$
+#
+# Provide support for PostgreSQL (pgsql)
+#
+# MAINTAINER: pgsql@FreeBSD.org
+#
+# Feature: pgsql
+# Usage: USES= pgsql[:version]
+#
+# Maintainer can set version required. Minimum and maximum
+# versions can be specified; e.g. 9.0-, 8.4+
+#
+# WANT_PGSQL= server[:fetch] pltcl plperl
+#
+# Add PostgreSQL component dependency, using
+# WANT_PGSQL= component[:target].
+# For the full list use make -V _USE_PGSQL_DEP
+# If no version is given (by the maintainer via the port or
+# by the user via defined variable), try to find the
+# currently installed version. Fall back to default if
+# necessary.
+
+.if !defined(_INCLUDE_USES_PGSQL_MK)
+
+_INCLUDE_USES_PGSQL_MK= yes
+
+# Variables set by pgsql.mk:
+#
+# PGSQL_VER
+# Detected PostgreSQL version. Do *not* use this
+# to add dependencies; use WANT_PGSQL as explained above
+#
+
+VALID_PGSQL_VER= 8.4 9.0 9.1 9.2 9.3
+
+# Override non-default LIBVERS like this:
+#PGSQL99_LIBVER=6
+
+PGSQL_LIBVER= 5
+.for v in ${VALID_PGSQL_VER:S,.,,}
+PGSQL$v_LIBVER?= ${PGSQL_LIBVER}
+.endfor
+
+# We don't want to be :S,.,, the whole time when doing port version checks
+PGSQL_VER_NODOT= ${PGSQL_VER:S,.,,}
+
+.include "${PORTSDIR}/Mk/bsd.default-versions.mk"
+
+. for w in WITH DEFAULT
+. ifdef $w_PGSQL_VER
+WARNING+= "$w_PGSQL_VER is defined, consider using DEFAULT_VERSIONS=pgsql=${$w_PGSQL_VER:C,^.,&.,} instead"
+PGSQL_DEFAULT?= ${$w_PGSQL_VER:C,^.,&.,}
+. endif
+. endfor
+
+. ifdef DEFAULT_PGSQL_VER && WITH_PGSQL_VER
+IGNORE= will not allow setting both DEFAULT_PGSQL_VER and WITH_PGSQL_VER. Use DEFAULT_VERSIONS=pgsql=9.0 instead
+. endif
+
+# Setting/finding PostgreSQL version we want.
+PG_CONFIG?= ${LOCALBASE}/bin/pg_config
+. if exists(${PG_CONFIG})
+_PGSQL_VER!= ${PG_CONFIG} --version | ${SED} -n 's/PostgreSQL[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\)[^0-9].*/\1/p'
+. endif
+
+# Handle the + and - version stuff
+. if defined(pgsql_ARGS)
+. if ${pgsql_ARGS:M*+}
+. for version in ${VALID_PGSQL_VER}
+. if ${pgsql_ARGS:S/+//} <= ${version}
+_WANT_PGSQL_VER+=${version}
+. endif
+. endfor
+. elif ${pgsql_ARGS:M*-}
+. for version in ${VALID_PGSQL_VER}
+. if ${pgsql_ARGS:S/-//} >= ${version}
+_WANT_PGSQL_VER+=${version}
+. endif
+. endfor
+. endif
+_WANT_PGSQL_VER?= ${pgsql_ARGS}
+. endif
+
+# Try to match default version, otherwise just take the first version
+# that matches
+. if !empty(_WANT_PGSQL_VER)
+. for version in ${_WANT_PGSQL_VER}
+. if ${PGSQL_DEFAULT} == ${version}
+PGSQL_VER= ${version}
+. endif
+PGSQL_VER?= ${version}
+. endfor
+. if defined(_PGSQL_VER) && ${_PGSQL_VER} != ${PGSQL_VER}
+IGNORE?= cannot install: the port wants postgresql-client version ${_WANT_PGSQL_VER} and you have version ${_PGSQL_VER} installed
+. endif
+. endif
+
+# OK, so the port is ambivalent, we'll just take what's on the system.
+PGSQL_VER?= ${_PGSQL_VER}
+
+# After all that, we still have found nothing!
+. if empty(PGSQL_VER)
+PGSQL_VER= ${PGSQL_DEFAULT}
+. endif
+
+# And now we are checking if we can use it
+. if defined(PGSQL${PGSQL_VER_NODOT}_LIBVER)
+# Compat. Please DO NOT use IGNORE_WITH_PGSQL!
+. if defined(IGNORE_WITH_PGSQL)
+DEV_WARNING+= "Do not set IGNORE_WITH_PGSQL, use the version argument to USES=pgsql"
+. for ver in ${IGNORE_WITH_PGSQL}
+. if (${PGSQL_VER} == ${ver})
+IGNORE?= cannot install: does not work with postgresql${PGSQL_VER}-client (PostgreSQL ${IGNORE_WITH_PGSQL} not supported)
+. endif
+. endfor
+. endif # IGNORE_WITH_PGSQL
+
+LIB_DEPENDS+= pq.${PGSQL${PGSQL_VER_NODOT}_LIBVER}:${PORTSDIR}/databases/postgresql${PGSQL_VERS_NODOT}-client
+
+_USE_PGSQL_DEP= contrib docs pgtcl pltcl plperl server
+_USE_PGSQL_DEP_contrib= pgbench
+_USE_PGSQL_DEP_docs= postgresql${PGSQL_VER}-docs>0
+_USE_PGSQL_DEP_pgtcl= ${LOCALBASE}/lib/pgtcl/pkgIndex.tcl
+_USE_PGSQL_DEP_plperl= postgresql${PGSQL_VER}-plperl>0
+_USE_PGSQL_DEP_pltcl= postgresql${PGSQL_VER}-pltcl>0
+_USE_PGSQL_DEP_server= postgres
+. for depend in ${_USE_PGSQL_DEP}
+. if ${WANT_PGSQL:M${depend}}
+BUILD_DEPENDS+= ${_USE_PGSQL_DEP_${depend}}:${PORTSDIR}/databases/postgresql${PGSQL_VER_NODOT}-${depend}
+RUN_DEPENDS+= ${_USE_PGSQL_DEP_${depend}}:${PORTSDIR}/databases/postgresql${PGSQL_VER_NODOT}-${depend}
+. elif ${WANT_PGSQL:M${depend}\:*}
+BUILD_DEPENDS+= ${NONEXISTENT}:${PORTSDIR}/databases/postgresql${PGSQL_VER_NODOT}-${depend}:${USE_PGSQL:M${depend}\:*:C,^[^:]*\:,,}
+. endif
+. endfor
+
+. else
+IGNORE?= cannot install: unknown PostgreSQL version: ${PGSQL_VER}
+. endif # Check for correct version
+CPPFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+
+.endif # !defined(_INCLUDE_USES_PGSQL_MK)
diff --git a/Mk/bsd.database.mk b/Mk/bsd.database.mk
index c255981852ed..e1395e117e84 100644
--- a/Mk/bsd.database.mk
+++ b/Mk/bsd.database.mk
@@ -35,24 +35,6 @@ Database_Include_MAINTAINER= ports@FreeBSD.org
# MYSQL_VER
# - Detected MySQL version.
##
-# USE_PGSQL - Add PostgreSQL client dependency. Components can be depended
-# on using USE_PGSQL= component[:target]. For the full list
-# use make -V _USE_PGSQL_DEP
-# If no version is given (by the maintainer via the port or
-# by the user via defined variable), try to find the
-# currently installed version. Fall back to default if
-# necessary (PostgreSQL-9.0 = 90).
-# DEFAULT_PGSQL_VER
-# - PostgreSQL default version, currently 90.
-# WANT_PGSQL_VER
-# - Maintainer can set an arbitrary version of PostgreSQL to
-# always build this port with (overrides WITH_PGSQL_VER).
-# Minimum and maximum versions can be set (e.g. 90+)
-# WITH_PGSQL_VER
-# - User defined variable to set PostgreSQL version.
-# PGSQL_VER
-# - Detected PostgreSQL version.
-##
# USE_BDB - Add Berkeley DB library dependency.
# If no version is given (by the maintainer via the port or
# by the user via defined variable), try to find the
@@ -189,96 +171,23 @@ IGNORE= cannot install: unknown MySQL version: ${MYSQL_VER}
.endif # USE_MYSQL
.if defined(USE_PGSQL)
-VALID_PGSQL_VER= 84 90 91 92 93
-DEFAULT_PGSQL_VER?= 90
-PGSQL83_LIBVER= 5
-PGSQL84_LIBVER= 5
-PGSQL90_LIBVER= 5
-PGSQL91_LIBVER= 5
-PGSQL92_LIBVER= 5
-PGSQL93_LIBVER= 5
-
-# Setting/finding PostgreSQL version we want.
-. if exists(${LOCALBASE}/bin/pg_config)
-_PGSQL_VER!= ${LOCALBASE}/bin/pg_config --version | ${SED} -n 's/PostgreSQL[^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\)[^0-9].*/\1\2/p'
-WITH_PGSQL_VER?= ${_PGSQL_VER}
-. if ${WITH_PGSQL_VER} != ${_PGSQL_VER}
-IGNORE?= cannot install: you have set WITH_PGSQL_VER=${WITH_PGSQL_VER} in make.conf, but you have postgresql${_PGSQL_VER}-client installed
-. endif
-. endif
-
-. if defined(WANT_PGSQL_VER)
-. if ${WANT_PGSQL_VER:M*+}
-. for version in ${VALID_PGSQL_VER}
-. if ${WANT_PGSQL_VER:S/+//} <= ${version}
-_WANT_PGSQL_VER+=${version}
-. endif
-. endfor
-. elif ${WANT_PGSQL_VER:M*-}
-. for version in ${VALID_PGSQL_VER}
-. if ${WANT_PGSQL_VER:S/-//} >= ${version}
-_WANT_PGSQL_VER+=${version}
-. endif
-. endfor
-. endif
-_WANT_PGSQL_VER?= ${WANT_PGSQL_VER}
-. endif
-
-. if !empty(_WANT_PGSQL_VER)
-. for version in ${_WANT_PGSQL_VER}
-. if defined(WITH_PGSQL_VER)
-. if ${WITH_PGSQL_VER} == ${version}
-PGSQL_VER= ${WITH_PGSQL_VER}
-. endif
-. elif ${DEFAULT_PGSQL_VER} == ${version}
-PGSQL_VER= ${version}
-. endif
-PGSQL_VER?= ${version}
-. endfor
-. if defined(WITH_PGSQL_VER) && ${WITH_PGSQL_VER} != ${PGSQL_VER}
-IGNORE?= cannot install: the port wants postgresql-client version ${WANT_PGSQL_VER} and you have version ${WITH_PGSQL_VER} installed or set in make.conf
-. endif
-. endif
-
-.if !empty(WITH_PGSQL_VER)
-PGSQL_VER?= ${WITH_PGSQL_VER}
+.ifdef WANT_PGSQL_VER
+_USES_POST+= pgsql:${WANT_PGSQL_VER:C,^.,&.,}
+_pgsql_devwarning= USE_PGSQL is deprecated, please use USES=pgsql:${WANT_PGSQL_VER:C,^.,&.,}
.else
-PGSQL_VER?= ${DEFAULT_PGSQL_VER}
+_USES_POST+= pgsql
+_pgsql_devwarning= USE_PGSQL is deprecated, please use USES=pgsql
.endif
+.for dep in contrib docs pgtcl pltcl plperl server
+WANT_PGSQL+= ${USE_PGSQL:M$dep}
+.endfor
-# And now we are checking if we can use it
-.if defined(PGSQL${PGSQL_VER}_LIBVER)
-.if defined(IGNORE_WITH_PGSQL)
-. for ver in ${IGNORE_WITH_PGSQL}
-. if (${PGSQL_VER} == ${ver})
-IGNORE?= cannot install: does not work with postgresql${PGSQL_VER}-client (PostgresSQL ${IGNORE_WITH_PGSQL} not supported)
-. endif
-. endfor
-.endif # IGNORE_WITH_PGSQL
-
-LIB_DEPENDS+= pq.${PGSQL${PGSQL_VER}_LIBVER}:${PORTSDIR}/databases/postgresql${PGSQL_VER}-client
-
-_USE_PGSQL_DEP= contrib docs pgtcl pltcl plperl server
-_USE_PGSQL_DEP_contrib= pgbench
-_USE_PGSQL_DEP_docs= postgresql${PGSQL_VER}-docs>0
-_USE_PGSQL_DEP_pgtcl= ${LOCALBASE}/lib/pgtcl/pkgIndex.tcl
-_USE_PGSQL_DEP_plperl= postgresql${PGSQL_VER}-plperl>0
-_USE_PGSQL_DEP_pltcl= postgresql${PGSQL_VER}-pltcl>0
-_USE_PGSQL_DEP_server= postgres
-. for depend in ${_USE_PGSQL_DEP}
-. if ${USE_PGSQL:M${depend}}
-BUILD_DEPENDS+= ${_USE_PGSQL_DEP_${depend}}:${PORTSDIR}/databases/postgresql${PGSQL_VER}-${depend}
-RUN_DEPENDS+= ${_USE_PGSQL_DEP_${depend}}:${PORTSDIR}/databases/postgresql${PGSQL_VER}-${depend}
-. elif ${USE_PGSQL:M${depend}\:*}
-BUILD_DEPENDS+= ${NONEXISTENT}:${PORTSDIR}/databases/postgresql${PGSQL_VER}-${depend}:${USE_PGSQL:M${depend}\:*:C,^[^:]*\:,,}
-. endif
-. endfor
-
+.if !empty(WANT_PGSQL)
+DEV_WARNING+= "${_pgsql_devwarning} and WANT_PGSQL=${WANT_PGSQL}"
.else
-IGNORE?= cannot install: unknown PostgreSQL version: ${PGSQL_VER}
-.endif # Check for correct version
-CPPFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
+DEV_WARNING+= "${_pgsql_devwarning}"
+.endif
+
.endif # USE_PGSQL
.if defined(USE_BDB)
diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk
index 94f88afad882..c843799c80ed 100644
--- a/Mk/bsd.default-versions.mk
+++ b/Mk/bsd.default-versions.mk
@@ -17,12 +17,13 @@ _l= ${lang:C/=.*//g}
${_l:U}_DEFAULT= ${lang:C/.*=//g}
.endfor
+LUA_DEFAULT?= 5.2
PERL5_DEFAULT?= 5.16
-RUBY_DEFAULT?= 1.9
-TCLTK_DEFAULT?= 8.6
+PGSQL_DEFAULT?= 9.0
PYTHON_DEFAULT?= 2.7
PYTHON2_DEFAULT?= 2.7
PYTHON3_DEFAULT?= 3.3
-LUA_DEFAULT?= 5.2
+RUBY_DEFAULT?= 1.9
+TCLTK_DEFAULT?= 8.6
.endif