[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