[Midnightbsd-cvs] mports [18206] trunk/Mk/extensions/pgsql.mk: update pg extension
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Tue Mar 17 22:05:12 EDT 2015
Revision: 18206
http://svnweb.midnightbsd.org/mports/?rev=18206
Author: laffer1
Date: 2015-03-17 22:05:11 -0400 (Tue, 17 Mar 2015)
Log Message:
-----------
update pg extension
Modified Paths:
--------------
trunk/Mk/extensions/pgsql.mk
Modified: trunk/Mk/extensions/pgsql.mk
===================================================================
--- trunk/Mk/extensions/pgsql.mk 2015-03-18 01:53:52 UTC (rev 18205)
+++ trunk/Mk/extensions/pgsql.mk 2015-03-18 02:05:11 UTC (rev 18206)
@@ -22,64 +22,127 @@
# WITH_PGSQL_VER
# - User defined variable to set PostgreSQL version.
# PGSQL_VER
-# - Detected PostgreSQL version.
+# Detected PostgreSQL version. Do *not* use this
+# to add dependencies; use WANT_PGSQL as explained above
+#
-.if defined(USE_PGSQL)
-VALID_PGSQL_VER= 84 90 91 92 93
-DEFAULT_PGSQL_VER?= 92
-PGSQL83_LIBVER= 5
-PGSQL84_LIBVER= 5
-PGSQL90_LIBVER= 5
-PGSQL91_LIBVER= 5
-PGSQL92_LIBVER= 5
-PGSQL93_LIBVER= 5
+VALID_PGSQL_VER= 8.4 9.0 9.1 9.2 9.3 9.4
+# 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
+
+.include "${PORTSDIR}/Mk/components/default-versions.mk"
+
+.for v in ${PGSQL_DEFAULT}
+. if ! ${VALID_PGSQL_VER:M$v}
+IGNORE= Invalid PGSQL default version ${PGSQL_DEFAULT}; valid versions are ${VALID_PGSQL_VER}
+. endif
+.endfor
+
+. 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.
-.if exists(${LOCALBASE}/bin/pg_config) && !defined(PACKAGE_BUILDING)
-_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'
-.endif
+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
-.if defined(WANT_PGSQL_VER)
-.if defined(WITH_PGSQL_VER) && ${WITH_PGSQL_VER} != ${WANT_PGSQL_VER}
-IGNORE= cannot install: the port wants postgresql${WANT_PGSQL_VER}-client and you try to install postgresql${WITH_PGSQL_VER}-client.
-.endif
-PGSQL_VER= ${WANT_PGSQL_VER}
-.elif defined(WITH_PGSQL_VER)
-PGSQL_VER= ${WITH_PGSQL_VER}
-.else
-.if defined(_PGSQL_VER)
-PGSQL_VER= ${_PGSQL_VER}
-.else
-PGSQL_VER= ${DEFAULT_PGSQL_VER}
-.endif
-.endif # WANT_PGSQL_VER
+# Handle the + and - version stuff
+. if !empty(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
-.if defined(_PGSQL_VER) && ${PGSQL_VER} != ${_PGSQL_VER}
-IGNORE= cannot install: the port wants postgresql${PGSQL_VER}-client but you have postgresql${_PGSQL_VER}-client installed
-.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
+
+# We don't want to be :S,.,, the whole time when doing port version checks
+PGSQL_VER_NODOT= ${PGSQL_VER:S,.,,}
+
# And now we are checking if we can use it
-.if defined(PGSQL${PGSQL_VER}_LIBVER)
-# compatability shim
-.if defined(BROKEN_WITH_PGSQL)
-IGNORE_WITH_PGSQL=${BROKEN_WITH_PGSQL}
-.endif
-.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)
+. 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_NODOT}-client (PostgreSQL ${IGNORE_WITH_PGSQL} not supported)
. endif
. endfor
-.endif # IGNORE_WITH_PGSQL
-LIB_DEPENDS+= pq.${PGSQL${PGSQL_VER}_LIBVER}:${PORTSDIR}/databases/postgresql${PGSQL_VER}-client
-.else
-IGNORE= cannot install: unknown PostgreSQL version: ${PGSQL_VER}
-.endif # Check for correct version
+. endif # IGNORE_WITH_PGSQL
+
+.if !defined(WANT_PGSQL) || ${WANT_PGSQL} == lib
+LIB_DEPENDS+= libpq.so.${PGSQL${PGSQL_VER_NODOT}_LIBVER}:${PORTSDIR}/databases/postgresql${PGSQL_VER_NODOT}-client
+.endif
+
+_USE_PGSQL_DEP= client contrib docs pgtcl pltcl plperl server
+_USE_PGSQL_DEP_client= psql
+_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
+. if defined(WANT_PGSQL)
+. 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}:${WANT_PGSQL:M${depend}\:*:C,^[^:]*\:,,}
+. endif
+. endfor
+. endif
+
+. else
+IGNORE?= cannot install: unknown PostgreSQL version: ${PGSQL_VER}
+. endif # Check for correct version
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
-CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
-.endif # USE_PGSQL
-
.endif #defined(_POSTMKINCLUDED) && !defined(Pgsql_Post_Include)
More information about the Midnightbsd-cvs
mailing list