Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Nov 2005 11:27:48 -0600
From:      Scot Hetzel <swhetzel@gmail.com>
To:        FreeBSD-gnats-submit@freebsd.org, freebsd-ports-bugs@freebsd.org
Cc:        vsevolod@FreeBSD.org, kde@FreeBSD.org, ume@FreeBSD.org
Subject:   Re: ports/89023: USE_BDB doesn't set name of Berkely dB, or location of the include directory
Message-ID:  <790a9fff0511140927r77af4493m6e33fb162b492dbb@mail.gmail.com>
In-Reply-To: <200511141720.jAEHKE6I043575@freefall.freebsd.org>
References:  <200511141715.jAEHFmfE039558@www.freebsd.org> <200511141720.jAEHKE6I043575@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
------=_Part_13442_26910303.1131989268005
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Attached is the patch to bsd.database.mk for USE_BDB to provide the
BDB_LIB_NAME and BDB_INCLUDE_DIR variables.  As well as dealing with
the WITH_BDB_VER variable.

Also, attached are patches to two ports that make use of the changes
provided in the bsd.database.mk patch.

I've CC the maintaines of these ports so that they can see how this
change affects their ports.
--
DISCLAIMER:
No electrons were mamed while sending this message. Only slightly bruised.

------=_Part_13442_26910303.1131989268005
Content-Type: text/plain; name=database-patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="database-patch"

Index: Mk/bsd.database.mk
===================================================================
RCS file: /home/ncvs/ports/Mk/bsd.database.mk,v
retrieving revision 1.2
diff -u -r1.2 bsd.database.mk
--- Mk/bsd.database.mk	11 Nov 2005 10:29:21 -0000	1.2
+++ Mk/bsd.database.mk	13 Nov 2005 12:00:59 -0000
@@ -52,6 +52,15 @@
 #                 by the user via defined variable), try to find the
 #                 currently installed version.  Fall back to default if
 #                 necessary (db41+).
+# BROKEN_WITH_BDB	- This variable can be defined when the port doesn't support
+#			  one or more versions of Berkley DB.
+# WITH_BDB_VER		- User defined variable to set Berkely DB version.
+# BDB_LIB_NAME		- This variable is automatically set to the name of the
+#			  Berkley DB library (default: db41)
+# BDB_INCLUDE_DIR	- This variable is automatically set to the location of
+#			  the Berkley DB include directory.
+#			  (default: ${LOCALBASE}/include/db41)
+#
 ##
 # USE_SQLITE	- Add dependency on sqlite library. Valid values are:
 #				  3 and 2. If version is not specified directly then
@@ -170,6 +179,13 @@
 _DB_41P=	41 42 43
 _DB_42P=	42 43
 
+.if defined(WITH_BDB_VER)
+. if ${WITH_BDB_VER} == 4
+USE_BDB=	40
+. elif ${WITH_BDB_VER} != "yes" && ${WITH_BDB_VER} != 1
+USE_BDB=	${WITH_BDB_VER}
+. endif
+.endif
 _WANT_BDB_VER=	${USE_BDB}
 
 # Assume the default bdb version as 41
@@ -179,26 +195,24 @@
 
 # Detect bdb version
 _FOUND=	no
+_BDB_BROKEN= no
 
 .for bdb in ${_DB_PORTS}
 .if ${_WANT_BDB_VER} == "${bdb}" && ${_FOUND} == "no"
 _MATCHED_DB_VER:=	${bdb:S/+//}
 . if ${_MATCHED_DB_VER} == "${bdb}"
 # USE_BDB is exactly specified
-LIB_DEPENDS+=	${db${bdb}_DEPENDS}
-_FOUND=	yes
+_FOUND=	${bdb}
 .else
 # USE_BDB is specified as VER+
 .  for db4 in ${_DB_${_MATCHED_DB_VER}P}
 .   if exists(${db${db4}_FIND}) && ${_FOUND} == "no"
-LIB_DEPENDS+=   ${db${db4}_DEPENDS}
-_FOUND=	yes
+_FOUND=	${db4}
 .   endif
 .  endfor
 .  if ${_FOUND} == "no"
 # No existing db4 version is detected in system
-LIB_DEPENDS+=	${db${_MATCHED_DB_VER}_DEPENDS}
-_FOUND=	yes
+_FOUND=	${_MATCHED_DB_VER}
 .  endif
 . endif
 .endif
@@ -207,6 +221,31 @@
 # USE_BDB is specified incorrectly, so mark this as IGNORE
 .if ${_FOUND} == "no"
 IGNORE=	"Unknown bdb version: ${USE_BDB}"
+.else
+# Now check if we can use it
+. if defined(BROKEN_WITH_BDB)
+.  for VER in ${BROKEN_WITH_BDB}
+.   if ${_FOUND} == "${VER}"
+_BDB_BROKEN=	yes
+.   endif
+.  endfor
+. endif
+. if ${_BDB_BROKEN} == "yes"
+IGNORE= "Does not work with Berkley DB ${_FOUND} \(${BROKEN_WITH_BDB} not supported\)"
+. else
+# Now add the dependancy on Berkley DB ${_FOUND) version
+LIB_DEPENDS+=	${db${_FOUND}_DEPENDS}
+.  if ${_FOUND} == 40
+BDB_LIB_NAME=	db4
+BDB_INCLUDE_DIR=	${LOCALBASE}/include/db4
+.  elif ${_FOUND} == 42
+BDB_LIB_NAME=	db-4.2
+.  elif ${_FOUND} == 43
+BDB_LIB_NAME=	db-4.3
+.  endif
+BDB_LIB_NAME?=	db${_FOUND}
+BDB_INCLUDE_DIR?=	${LOCALBASE}/include/db${_FOUND}
+. endif
 .endif
 
 .endif # USE_BDB





------=_Part_13442_26910303.1131989268005
Content-Type: text/plain; name=sasl2-patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="sasl2-patch"

Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/security/cyrus-sasl2/Makefile,v
retrieving revision 1.120
diff -u -r1.120 Makefile
--- Makefile	8 Nov 2005 16:51:08 -0000	1.120
+++ Makefile	13 Nov 2005 12:06:55 -0000
@@ -54,20 +54,11 @@
 		--with-saslauthd=${SASLAUTHD_RUNPATH}
 
 .if defined(WITH_BDB_VER)
-.if ${WITH_BDB_VER} == 4
-USE_BDB=	40
-.elif ${WITH_BDB_VER} == 42
-BDB_SUFFIX=	-4.2
-.elif ${WITH_BDB_VER} == 43
-BDB_SUFFIX=	-4.3
-.elif ${WITH_BDB_VER} != 3 && ${WITH_BDB_VER} != 41
-BROKEN=		"WITH_BDB_VER must be 3, 4, 41, 42 or 43"
-.endif
-USE_BDB?=	${WITH_BDB_VER}
-BDB_SUFFIX?=	${WITH_BDB_VER}
+USE_BDB=	40+
+BROKEN_WITH_BDB=	2
 CONFIGURE_ARGS+=--with-dblib=berkeley --with-bdb-libdir=${LOCALBASE}/lib \
-		--with-bdb-incdir=${LOCALBASE}/include/db${WITH_BDB_VER} \
-		--with-bdb=db${BDB_SUFFIX}
+		--with-bdb-incdir=${BDB_INCLUDE_DIR} \
+		--with-bdb=${BDB_LIB_NAME}
 SASLDB_NAME=	sasldb2
 .else
 CONFIGURE_ARGS+=--with-dblib=ndbm





------=_Part_13442_26910303.1131989268005
Content-Type: text/plain; name=kdesdk3-patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="kdesdk3-patch"

Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/devel/kdesdk3/Makefile,v
retrieving revision 1.50
diff -u -r1.50 Makefile
--- Makefile	5 Nov 2005 11:19:28 -0000	1.50
+++ Makefile	14 Nov 2005 04:51:08 -0000
@@ -16,8 +16,7 @@
 COMMENT=	KDE Software Development Kit
 
 RUN_DEPENDS=	bash:${PORTSDIR}/shells/bash
-LIB_DEPENDS=	db4:${PORTSDIR}/databases/db4 \
-		svn_client-1.0:${PORTSDIR}/devel/subversion
+LIB_DEPENDS=	svn_client-1.0:${PORTSDIR}/devel/subversion
 
 CONFLICTS=	umbrello-[0-9]* kcachegrind-[0-9]*
 
@@ -33,8 +32,12 @@
 INSTALLS_SHLIB=	yes
 LDCONFIG_DIRS=	%%PREFIX%%/lib %%PREFIX%%/lib/kde3
 
-CONFIGURE_ARGS+=--with-db-include-dir=/usr/local/include/db4 \
-		--with-db-lib-dir=/usr/local/lib --with-db-name=db4 \
+USE_BDB=	40+
+BROKEN_WITH_BDB=	2 3
+
+CONFIGURE_ARGS+=--with-db-include-dir=${BDB_INCLUDE_DIR} \
+		--with-db-lib-dir=${LOCALBASE}/lib \
+		--with-db-name=${BDB_LIB_NAME} \
 		--with-apr-config=${LOCALBASE}/bin/apr-1-config \
 		--with-apu-config=${LOCALBASE}/bin/apu-1-config
 





------=_Part_13442_26910303.1131989268005--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?790a9fff0511140927r77af4493m6e33fb162b492dbb>