summaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
Diffstat (limited to 'databases')
-rw-r--r--databases/Makefile2
-rw-r--r--databases/adodb5/Makefile2
-rw-r--r--databases/adodb5/distinfo6
-rw-r--r--databases/evolution-data-server/Makefile19
-rw-r--r--databases/kuzu/Makefile2
-rw-r--r--databases/kuzu/distinfo6
-rw-r--r--databases/mongodb60/Makefile2
-rw-r--r--databases/mongodb60/distinfo6
-rw-r--r--databases/mongodb70/Makefile2
-rw-r--r--databases/mongodb70/distinfo6
-rw-r--r--databases/mongodb70/files/patch-src_mongo_platform_waitable__atomic.cpp64
-rw-r--r--databases/mongodb80/files/patch-src_mongo_platform_waitable__atomic.cpp6
-rw-r--r--databases/nanodbc/Makefile1
-rw-r--r--databases/py-sqlmodel/Makefile46
-rw-r--r--databases/py-sqlmodel/distinfo3
-rw-r--r--databases/py-sqlmodel/pkg-descr19
-rw-r--r--databases/qt6-base_sqldriver/distinfo6
-rw-r--r--databases/tdb1410/Makefile4
-rw-r--r--databases/tdb1413/Makefile68
-rw-r--r--databases/tdb1413/distinfo3
-rw-r--r--databases/tdb1413/files/patch-buildtools_wafsamba_samba__install.py11
-rw-r--r--databases/tdb1413/files/patch-buildtools_wafsamba_wscript15
-rw-r--r--databases/tdb1413/files/patch-lib_replace_wscript11
-rw-r--r--databases/tdb1413/files/patch-wscript11
-rw-r--r--databases/tdb1413/pkg-descr4
-rw-r--r--databases/tdb1413/pkg-plist14
-rw-r--r--databases/unixODBC/Makefile5
27 files changed, 316 insertions, 28 deletions
diff --git a/databases/Makefile b/databases/Makefile
index ffc50810e604..ef5d3508bdae 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -861,6 +861,7 @@
SUBDIR += py-sqlite-migrate
SUBDIR += py-sqlite-utils
SUBDIR += py-sqlite3
+ SUBDIR += py-sqlmodel
SUBDIR += py-sqlobject
SUBDIR += py-sqloxide
SUBDIR += py-sqlparse
@@ -1113,6 +1114,7 @@
SUBDIR += tcl-sqlite3
SUBDIR += tdb
SUBDIR += tdb1410
+ SUBDIR += tdb1413
SUBDIR += tdbc
SUBDIR += tile38
SUBDIR += tiledb
diff --git a/databases/adodb5/Makefile b/databases/adodb5/Makefile
index c85b8b9c0372..1f5d9cbd8820 100644
--- a/databases/adodb5/Makefile
+++ b/databases/adodb5/Makefile
@@ -1,5 +1,5 @@
PORTNAME= adodb
-PORTVERSION= 5.22.9
+PORTVERSION= 5.22.10
DISTVERSIONPREFIX= v
CATEGORIES= databases www
PKGNAMESUFFIX= 5${PHP_PKGNAMESUFFIX}
diff --git a/databases/adodb5/distinfo b/databases/adodb5/distinfo
index 23ee8d24bc4d..7fe48f9887d8 100644
--- a/databases/adodb5/distinfo
+++ b/databases/adodb5/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746523687
-SHA256 (adodb-ADOdb-v5.22.9_GH0.tar.gz) = f77bd016da1daa42337547ffb9a6de5561776884d520f41c63301c8943dec9b3
-SIZE (adodb-ADOdb-v5.22.9_GH0.tar.gz) = 450133
+TIMESTAMP = 1756117722
+SHA256 (adodb-ADOdb-v5.22.10_GH0.tar.gz) = 804d0445d9f2d0b48ad24d72f3cc3e9cf4965aba4156a3dec75dbf56efc0abc2
+SIZE (adodb-ADOdb-v5.22.10_GH0.tar.gz) = 450382
diff --git a/databases/evolution-data-server/Makefile b/databases/evolution-data-server/Makefile
index cbe86962bb4b..db978efd827b 100644
--- a/databases/evolution-data-server/Makefile
+++ b/databases/evolution-data-server/Makefile
@@ -56,8 +56,19 @@ GLIB_SCHEMAS= org.gnome.evolution-data-server.addressbook.gschema.xml \
PLIST_SUB= EVO_VERSION="1.2" CAL_API_VERSION="2.0"
OPTIONS_SUB= yes
-OPTIONS_DEFINE= VAPI WEATHER KERBEROS LDAP
-OPTIONS_DEFAULT= VAPI WEATHER KERBEROS LDAP
+OPTIONS_DEFINE= VAPI WEATHER LDAP
+OPTIONS_DEFAULT= VAPI WEATHER GSSAPI_BASE LDAP
+
+OPTIONS_SINGLE= KERBEROS
+OPTIONS_SINGLE_KERBEROS= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT \
+ GSSAPI_NONE
+
+GSSAPI_BASE_USES= gssapi:base ssl
+GSSAPI_HEIMDAL_USES= gssapi:heimdal
+GSSAPI_MIT_USES= gssapi:mit
+GSSAPI_NONE_CMAKE_ON= -DWITH_KRB5=OFF
+GSSAPI_NONE_CMAKE_OFF= -DWITH_KRB5=${GSSAPIBASEDIR}
+GSSAPI_NONE_CFLAGS_OFF= ${GSSAPICPPFLAGS}
VAPI_USES= vala:build
VAPI_CMAKE_BOOL= ENABLE_VALA_BINDINGS
@@ -66,10 +77,6 @@ WEATHER_DESC= Weather calendar backend
WEATHER_LIB_DEPENDS= libgweather-4.so:net/libgweather4
WEATHER_CMAKE_BOOL= ENABLE_WEATHER
-KERBEROS_CMAKE_ON= -DWITH_KRB5=/usr
-KERBEROS_CMAKE_OFF= -DWITH_KRB5=OFF
-KERBEROS_USES= ssl
-
LDAP_CMAKE_ON= -DWITH_OPENLDAP=${LOCALBASE}
LDAP_CMAKE_OFF= -DWITH_OPENLDAP=OFF
LDAP_USES= ldap
diff --git a/databases/kuzu/Makefile b/databases/kuzu/Makefile
index 0525e279c2ec..50ffb7b0ef08 100644
--- a/databases/kuzu/Makefile
+++ b/databases/kuzu/Makefile
@@ -1,6 +1,6 @@
PORTNAME= kuzu
DISTVERSIONPREFIX= v
-DISTVERSION= 0.11.1
+DISTVERSION= 0.11.2
CATEGORIES= databases
MAINTAINER= mahlon@martini.nu
diff --git a/databases/kuzu/distinfo b/databases/kuzu/distinfo
index fe333e51101b..70beeba78004 100644
--- a/databases/kuzu/distinfo
+++ b/databases/kuzu/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1753508135
-SHA256 (kuzudb-kuzu-v0.11.1_GH0.tar.gz) = 479a9943ad9db3b9a28925438c05563a00e7eb72eaeff07ca21b9d3378069eb7
-SIZE (kuzudb-kuzu-v0.11.1_GH0.tar.gz) = 154108734
+TIMESTAMP = 1755753617
+SHA256 (kuzudb-kuzu-v0.11.2_GH0.tar.gz) = 9340f1151ea6c9f35c007f122d6e08ec119b5c1db743f0303d40ac8a8e2a5d55
+SIZE (kuzudb-kuzu-v0.11.2_GH0.tar.gz) = 154124558
diff --git a/databases/mongodb60/Makefile b/databases/mongodb60/Makefile
index 1a75ba698aae..98525dff3708 100644
--- a/databases/mongodb60/Makefile
+++ b/databases/mongodb60/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mongodb
DISTVERSIONPREFIX= r
-DISTVERSION= 6.0.25
+DISTVERSION= 6.0.26
CATEGORIES= databases net
MASTER_SITES= https://hg.mozilla.org/mozilla-central/raw-rev/:patches
PKGNAMESUFFIX= ${DISTVERSION:R:S/.//}
diff --git a/databases/mongodb60/distinfo b/databases/mongodb60/distinfo
index 4ebe9d833612..4e6a5dc57194 100644
--- a/databases/mongodb60/distinfo
+++ b/databases/mongodb60/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1753788846
+TIMESTAMP = 1755242028
SHA256 (223087fdc29f18678f6174e9807b8780e439acf6) = f234371584e2b2bc9953ae4fd145da19c99a6f04087f53d59616aecf29df039c
SIZE (223087fdc29f18678f6174e9807b8780e439acf6) = 1597
-SHA256 (mongodb-mongo-r6.0.25_GH0.tar.gz) = 9637f83ca74c6faa30853e96e3c897aa61bb74433e1b64084b5e5d70e458f528
-SIZE (mongodb-mongo-r6.0.25_GH0.tar.gz) = 87527607
+SHA256 (mongodb-mongo-r6.0.26_GH0.tar.gz) = 86002ae3f2bfbc31b8f06ad0ecaba44de1dc507fbd2ff812074b31dc1ec895b0
+SIZE (mongodb-mongo-r6.0.26_GH0.tar.gz) = 87528255
SHA256 (mongodb-forks-spidermonkey-82aac6af18abcd5bf188afbc821779ccb0ca0902_GH0.tar.gz) = a365bf54ef4e4fd6a136cf6afa9c620ba0c8982402473b9bfac38928a688a9e0
SIZE (mongodb-forks-spidermonkey-82aac6af18abcd5bf188afbc821779ccb0ca0902_GH0.tar.gz) = 141291901
diff --git a/databases/mongodb70/Makefile b/databases/mongodb70/Makefile
index cae523d04275..44cf0365bf58 100644
--- a/databases/mongodb70/Makefile
+++ b/databases/mongodb70/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mongodb
DISTVERSIONPREFIX= r
-DISTVERSION= 7.0.22
+DISTVERSION= 7.0.23
CATEGORIES= databases net
PKGNAMESUFFIX= ${DISTVERSION:R:S/.//}
diff --git a/databases/mongodb70/distinfo b/databases/mongodb70/distinfo
index cfdc23e0420e..bf5b39db08b1 100644
--- a/databases/mongodb70/distinfo
+++ b/databases/mongodb70/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1752738065
-SHA256 (mongodb-mongo-r7.0.22_GH0.tar.gz) = 031f7e924d1094c001621075f87cb466a84c975702a42796827d1456d4d57857
-SIZE (mongodb-mongo-r7.0.22_GH0.tar.gz) = 87803554
+TIMESTAMP = 1754633156
+SHA256 (mongodb-mongo-r7.0.23_GH0.tar.gz) = 31a59b83ecdf65ba26453eb244682f18aa02204a0017e872dd28008b8d471bde
+SIZE (mongodb-mongo-r7.0.23_GH0.tar.gz) = 87871275
SHA256 (mongodb-forks-spidermonkey-5acd3be6c9563ad3e7ca6182285c69a38de47bab_GH0.tar.gz) = 1420533e23970171ff7a420e3ded1ea493e1976fb8896a5fd6f35e5b2d75733b
SIZE (mongodb-forks-spidermonkey-5acd3be6c9563ad3e7ca6182285c69a38de47bab_GH0.tar.gz) = 280439685
diff --git a/databases/mongodb70/files/patch-src_mongo_platform_waitable__atomic.cpp b/databases/mongodb70/files/patch-src_mongo_platform_waitable__atomic.cpp
new file mode 100644
index 000000000000..6f1b397699a3
--- /dev/null
+++ b/databases/mongodb70/files/patch-src_mongo_platform_waitable__atomic.cpp
@@ -0,0 +1,64 @@
+# Original upstream implementation:
+# https://jira.mongodb.org/browse/SERVER-81797
+# Attempt to upstream this patch:
+# https://github.com/mongodb/mongo/pull/1607
+# https://jira.mongodb.org/browse/SERVER-99225
+#
+--- src/mongo/platform/waitable_atomic.cpp.orig 2024-11-20 23:53:48 UTC
++++ src/mongo/platform/waitable_atomic.cpp
+@@ -34,6 +34,9 @@
+ #ifdef __linux__
+ #include <linux/futex.h>
+ #include <sys/syscall.h>
++#elif defined(__FreeBSD__)
++#include <sys/types.h>
++#include <sys/umtx.h>
+ #elif defined(_WIN32)
+ #include <synchapi.h>
+ #endif
+@@ -233,6 +236,45 @@ bool waitUntil(const void* uaddr,
+ // There isn't a good list of possible errors, so assuming that anything other than a timeout
+ // error is a possible spurious wakeup.
+ return timeoutOverflow || errno != ETIMEDOUT;
++}
++
++#elif defined(__FreeBSD__)
++
++void notifyOne(const void* uaddr) {
++ _umtx_op(const_cast<void*>(uaddr), UMTX_OP_WAKE_PRIVATE, 1, NULL, NULL);
++}
++
++void notifyMany(const void* uaddr, int nToWake) {
++ _umtx_op(const_cast<void*>(uaddr), UMTX_OP_WAKE_PRIVATE, nToWake, NULL, NULL);
++}
++
++void notifyAll(const void* uaddr) {
++ _umtx_op(const_cast<void*>(uaddr), UMTX_OP_WAKE_PRIVATE, INT_MAX, NULL, NULL);
++}
++
++bool waitUntil(const void* uaddr,
++ uint32_t old,
++ boost::optional<system_clock::time_point> deadline) {
++ struct _umtx_time umtx_deadline;
++ void* uaddr2 = nullptr;
++
++ if (deadline) {
++ umtx_deadline._timeout.tv_sec = durationCount<Seconds>(deadline->time_since_epoch());
++ umtx_deadline._timeout.tv_nsec = durationCount<Nanoseconds>(
++ deadline->time_since_epoch() - stdx::chrono::seconds(umtx_deadline._timeout.tv_sec));
++ umtx_deadline._flags = UMTX_ABSTIME;
++ umtx_deadline._clockid = CLOCK_REALTIME_FAST;
++ uaddr2 = &umtx_deadline;
++ }
++
++ int umtxOpRet;
++ if ((umtxOpRet = _umtx_op(const_cast<void*>(uaddr), UMTX_OP_WAIT_UINT_PRIVATE, old, (void*)sizeof(struct _umtx_time), uaddr2)) != 0) {
++ if (errno == ETIMEDOUT) {
++ return false;
++ }
++ invariant(umtxOpRet == 0, errorMessage(lastSystemError()));
++ }
++ return true;
+ }
+
+ #else
diff --git a/databases/mongodb80/files/patch-src_mongo_platform_waitable__atomic.cpp b/databases/mongodb80/files/patch-src_mongo_platform_waitable__atomic.cpp
index e2c815567836..6f1b397699a3 100644
--- a/databases/mongodb80/files/patch-src_mongo_platform_waitable__atomic.cpp
+++ b/databases/mongodb80/files/patch-src_mongo_platform_waitable__atomic.cpp
@@ -1,3 +1,9 @@
+# Original upstream implementation:
+# https://jira.mongodb.org/browse/SERVER-81797
+# Attempt to upstream this patch:
+# https://github.com/mongodb/mongo/pull/1607
+# https://jira.mongodb.org/browse/SERVER-99225
+#
--- src/mongo/platform/waitable_atomic.cpp.orig 2024-11-20 23:53:48 UTC
+++ src/mongo/platform/waitable_atomic.cpp
@@ -34,6 +34,9 @@
diff --git a/databases/nanodbc/Makefile b/databases/nanodbc/Makefile
index 32d6852aa23f..1cc6e298227b 100644
--- a/databases/nanodbc/Makefile
+++ b/databases/nanodbc/Makefile
@@ -11,6 +11,7 @@ WWW= https://nanodbc.github.io/nanodbc/ \
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
+BROKEN_FreeBSD_13= compilation fails with clang-19, see https://github.com/nanodbc/nanodbc/issues/421
BROKEN_FreeBSD_15= compilation fails with clang-19, see https://github.com/nanodbc/nanodbc/issues/421
LIB_DEPENDS= libodbc.so:databases/unixODBC
diff --git a/databases/py-sqlmodel/Makefile b/databases/py-sqlmodel/Makefile
new file mode 100644
index 000000000000..0bf8f21d1d33
--- /dev/null
+++ b/databases/py-sqlmodel/Makefile
@@ -0,0 +1,46 @@
+PORTNAME= sqlmodel
+DISTVERSION= 0.0.24
+CATEGORIES= databases python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= tagattie@FreeBSD.org
+COMMENT= SQL databases in Python, designed for simplicity, compatibility, and robustness
+WWW= https://sqlmodel.tiangolo.com/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pdm-backend>0:devel/py-pdm-backend@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy20>=2.0.14<2.1.0:databases/py-sqlalchemy20@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic2>=1.10.13<3.0.0:devel/py-pydantic2@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}coverage>=6.2<8.0:devel/py-coverage@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mypy>=1.4.1:devel/py-mypy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ruff>=0.9.6:devel/py-ruff@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}fastapi>=0.103.2:www/py-fastapi@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}httpx>=0.24.1:www/py-httpx@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dirty-equals>=0.9.0:devel/py-dirty-equals@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}Jinja2>=3.1.4:devel/py-Jinja2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.12.2:devel/py-typing-extensions@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}black>0:devel/py-black@${PY_FLAVOR}
+
+USES= python shebangfix
+USE_PYTHON= autoplist pep517 pytest
+
+SHEBANG_FILES= scripts/test.sh
+bash_CMD= ${SH}
+
+NO_ARCH= yes
+
+PORTDOCS= README.md
+
+OPTIONS_DEFINE= DOCS
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+do-test:
+ cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ./scripts/test.sh
+
+.include <bsd.port.mk>
diff --git a/databases/py-sqlmodel/distinfo b/databases/py-sqlmodel/distinfo
new file mode 100644
index 000000000000..606cd3026abd
--- /dev/null
+++ b/databases/py-sqlmodel/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1756455526
+SHA256 (sqlmodel-0.0.24.tar.gz) = cc5c7613c1a5533c9c7867e1aab2fd489a76c9e8a061984da11b4e613c182423
+SIZE (sqlmodel-0.0.24.tar.gz) = 116780
diff --git a/databases/py-sqlmodel/pkg-descr b/databases/py-sqlmodel/pkg-descr
new file mode 100644
index 000000000000..ea96d894e9fd
--- /dev/null
+++ b/databases/py-sqlmodel/pkg-descr
@@ -0,0 +1,19 @@
+SQLModel is a library for interacting with SQL databases from Python
+code, with Python objects. It is designed to be intuitive, easy to
+use, highly compatible, and robust.
+
+SQLModel is based on Python type annotations, and powered by Pydantic
+and SQLAlchemy.
+
+The key features are:
+- Intuitive to write: Great editor support. Completion
+ everywhere. Less time debugging. Designed to be easy to use and
+ learn. Less time reading docs.
+- Easy to use: It has sensible defaults and does a lot of work
+ underneath to simplify the code you write.
+- Compatible: It is designed to be compatible with FastAPI, Pydantic,
+ and SQLAlchemy.
+- Extensible: You have all the power of SQLAlchemy and Pydantic
+ underneath.
+- Short: Minimize code duplication. A single type annotation does a
+ lot of work. No need to duplicate models in SQLAlchemy and Pydantic.
diff --git a/databases/qt6-base_sqldriver/distinfo b/databases/qt6-base_sqldriver/distinfo
index 546ff5b5438c..d20b26d71b45 100644
--- a/databases/qt6-base_sqldriver/distinfo
+++ b/databases/qt6-base_sqldriver/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749162799
-SHA256 (KDE/Qt/6.9.1/qtbase-everywhere-src-6.9.1.tar.xz) = 40caedbf83cc9a1959610830563565889878bc95f115868bbf545d1914acf28e
-SIZE (KDE/Qt/6.9.1/qtbase-everywhere-src-6.9.1.tar.xz) = 49755912
+TIMESTAMP = 1756196336
+SHA256 (KDE/Qt/6.9.2/qtbase-everywhere-src-6.9.2.tar.xz) = 44be9c9ecfe04129c4dea0a7e1b36ad476c9cc07c292016ac98e7b41514f2440
+SIZE (KDE/Qt/6.9.2/qtbase-everywhere-src-6.9.2.tar.xz) = 49812824
diff --git a/databases/tdb1410/Makefile b/databases/tdb1410/Makefile
index 0068a797592f..8fa05a1798ea 100644
--- a/databases/tdb1410/Makefile
+++ b/databases/tdb1410/Makefile
@@ -1,6 +1,6 @@
PORTNAME= tdb
DISTVERSION= 1.4.10
-PORTREVISION= 2
+PORTREVISION= 3
PORTEPOCH= 1
CATEGORIES= databases
MASTER_SITES= SAMBA
@@ -29,7 +29,7 @@ CONFIGURE_ARGS+= --disable-rpath \
CONFIGURE_ENV= PYTHONHASHSEED=1
MAKE_ENV= PYTHONHASHSEED=1
-CONFLICTS_INSTALL= tdb
+CONFLICTS_INSTALL= tdb tdb[0-9]*
OPTIONS_DEFINE= MANPAGES DEBUG PYTHON
OPTIONS_DEFAULT= MANPAGES PYTHON
diff --git a/databases/tdb1413/Makefile b/databases/tdb1413/Makefile
new file mode 100644
index 000000000000..164e9098a081
--- /dev/null
+++ b/databases/tdb1413/Makefile
@@ -0,0 +1,68 @@
+PORTNAME= tdb
+DISTVERSION= 1.4.13
+PORTEPOCH= 1
+PORTREVISION= 1
+CATEGORIES= databases
+MASTER_SITES= SAMBA
+PKGNAMESUFFIX= 1413
+
+MAINTAINER= samba@FreeBSD.org
+COMMENT= Trivial Database
+WWW= https://tdb.samba.org/
+
+LICENSE= GPLv3
+
+USES= compiler pkgconfig shebangfix waf
+USE_LDCONFIG= yes
+WAF_CMD= buildtools/bin/waf
+SHEBANG_GLOB= *.py
+CONFIGURE_LOG= bin/config.log
+
+PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig
+
+CONFIGURE_ARGS+= --builtin-libraries=replace \
+ --bundled-libraries=NONE \
+ --disable-rpath \
+ --disable-rpath-install \
+ --without-gettext
+CONFIGURE_ENV= PYTHONHASHSEED=1
+MAKE_ENV= PYTHONHASHSEED=1
+# Some symbols in tdb's linker version scripts are not defined, but since the
+# scripts are generated dynamically, suppress errors with lld >= 17 due to these
+# undefined symbols.
+LDFLAGS+= -Wl,--undefined-version
+
+CONFLICTS_INSTALL= tdb tdb[0-9]*
+
+PLIST_SUB+= PKGCONFIGDIR=${PKGCONFIGDIR:S;^${PREFIX}/;;}
+
+OPTIONS_DEFINE= DEBUG MANPAGES PYTHON
+OPTIONS_DEFAULT= MANPAGES PYTHON
+OPTIONS_SUB= yes
+
+DEBUG_CONFIGURE_ON= --enable-debug \
+ --verbose
+DEBUG_MAKE_ARGS= --verbose
+DEBUG_CFLAGS= -g -ggdb3 -O0
+
+MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \
+ xsltproc:textproc/libxslt
+MANPAGES_CONFIGURE_ENV_OFF= XSLTPROC="false"
+
+PYTHON_USES= gettext-runtime python
+PYTHON_USES_OFF= python:build,test
+PYTHON_USE= PYTHON=py3kplist
+PYTHON_CONFIGURE_OFF= --disable-python
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%PKGCONFIGDIR%%|${PKGCONFIGDIR}|g' \
+ ${BUILD_WRKSRC}/wscript
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/tdb*
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libtdb.so.1
+
+post-install-PYTHON-on:
+ ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/tdb*.so
+
+.include <bsd.port.mk>
diff --git a/databases/tdb1413/distinfo b/databases/tdb1413/distinfo
new file mode 100644
index 000000000000..8cb615a62b1f
--- /dev/null
+++ b/databases/tdb1413/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1751383287
+SHA256 (tdb-1.4.13.tar.gz) = 5ee276e7644d713e19e4b6adc00b440afb5851ff21e65821ffaed89e15a5e167
+SIZE (tdb-1.4.13.tar.gz) = 751677
diff --git a/databases/tdb1413/files/patch-buildtools_wafsamba_samba__install.py b/databases/tdb1413/files/patch-buildtools_wafsamba_samba__install.py
new file mode 100644
index 000000000000..a852de2f200c
--- /dev/null
+++ b/databases/tdb1413/files/patch-buildtools_wafsamba_samba__install.py
@@ -0,0 +1,11 @@
+--- buildtools/wafsamba/samba_install.py.orig 2019-02-14 11:21:38 UTC
++++ buildtools/wafsamba/samba_install.py
+@@ -118,7 +118,7 @@ def install_library(self):
+ inst_name = bld.make_libname(t.target)
+ elif self.vnum:
+ vnum_base = self.vnum.split('.')[0]
+- install_name = bld.make_libname(target_name, version=self.vnum)
++ install_name = bld.make_libname(target_name, version=vnum_base)
+ install_link = bld.make_libname(target_name, version=vnum_base)
+ inst_name = bld.make_libname(t.target)
+ if not self.private_library:
diff --git a/databases/tdb1413/files/patch-buildtools_wafsamba_wscript b/databases/tdb1413/files/patch-buildtools_wafsamba_wscript
new file mode 100644
index 000000000000..b525397fbee9
--- /dev/null
+++ b/databases/tdb1413/files/patch-buildtools_wafsamba_wscript
@@ -0,0 +1,15 @@
+--- buildtools/wafsamba/wscript.orig 2019-02-26 06:44:21 UTC
++++ buildtools/wafsamba/wscript
+@@ -82,10 +82,10 @@ def options(opt):
+
+ opt.add_option('--with-libiconv',
+ help='additional directory to search for libiconv',
+- action='store', dest='iconv_open', default='/usr/local',
++ action='store', dest='iconv_open', default=None,
+ match = ['Checking for library iconv', 'Checking for iconv_open', 'Checking for header iconv.h'])
+ opt.add_option('--without-gettext',
+- help=("Disable use of gettext"),
++ help=("disable use of gettext"),
+ action="store_true", dest='disable_gettext', default=False)
+
+ gr = opt.option_group('developer options')
diff --git a/databases/tdb1413/files/patch-lib_replace_wscript b/databases/tdb1413/files/patch-lib_replace_wscript
new file mode 100644
index 000000000000..ba3eb912e5d7
--- /dev/null
+++ b/databases/tdb1413/files/patch-lib_replace_wscript
@@ -0,0 +1,11 @@
+--- lib/replace/wscript.orig 2019-02-26 06:44:21 UTC
++++ lib/replace/wscript
+@@ -119,7 +119,7 @@ def configure(conf):
+ conf.CHECK_HEADERS('sys/atomic.h stdatomic.h')
+ conf.CHECK_HEADERS('libgen.h')
+
+- if conf.CHECK_CFLAGS('-Wno-format-truncation'):
++ if conf.CHECK_CFLAGS(['-Wno-format-truncation'] + conf.env.WERROR_CFLAGS):
+ conf.define('HAVE_WNO_FORMAT_TRUNCATION', '1')
+
+ if conf.CHECK_CFLAGS('-Wno-unused-function'):
diff --git a/databases/tdb1413/files/patch-wscript b/databases/tdb1413/files/patch-wscript
new file mode 100644
index 000000000000..4869b58adf01
--- /dev/null
+++ b/databases/tdb1413/files/patch-wscript
@@ -0,0 +1,11 @@
+--- wscript.orig 2019-02-26 07:02:52 UTC
++++ wscript
+@@ -121,7 +121,7 @@ def build(bld):
+ COMMON_SRC = bld.SUBDIR('common', COMMON_FILES)
+
+ if bld.env.standalone_tdb:
+- bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
++ bld.env.PKGCONFIGDIR = '%%PKGCONFIGDIR%%'
+ private_library = False
+ else:
+ private_library = True
diff --git a/databases/tdb1413/pkg-descr b/databases/tdb1413/pkg-descr
new file mode 100644
index 000000000000..fa18095b5ca0
--- /dev/null
+++ b/databases/tdb1413/pkg-descr
@@ -0,0 +1,4 @@
+TDB is a Trivial Database. In concept, it is very much like GDBM, and
+BSD's DB except that it allows multiple simultaneous writers and uses
+locking internally to keep writers from trampling on each other. TDB is
+also extremely small.
diff --git a/databases/tdb1413/pkg-plist b/databases/tdb1413/pkg-plist
new file mode 100644
index 000000000000..744b90083e2b
--- /dev/null
+++ b/databases/tdb1413/pkg-plist
@@ -0,0 +1,14 @@
+bin/tdbbackup
+bin/tdbdump
+bin/tdbrestore
+bin/tdbtool
+include/tdb.h
+lib/libtdb.so
+lib/libtdb.so.1
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/_tdb_text.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/tdb%%PYTHON_TAG%%.so
+libdata/pkgconfig/tdb.pc
+%%MANPAGES%%share/man/man8/tdbbackup.8.gz
+%%MANPAGES%%share/man/man8/tdbdump.8.gz
+%%MANPAGES%%share/man/man8/tdbrestore.8.gz
+%%MANPAGES%%share/man/man8/tdbtool.8.gz
diff --git a/databases/unixODBC/Makefile b/databases/unixODBC/Makefile
index 7cc274e40626..12a5ba670120 100644
--- a/databases/unixODBC/Makefile
+++ b/databases/unixODBC/Makefile
@@ -1,6 +1,6 @@
PORTNAME= unixODBC
PORTVERSION= 2.3.12
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= databases
MASTER_SITES= http://www.unixodbc.org/ \
ftp://ftp.unixodbc.org/pub/unixODBC/
@@ -28,6 +28,9 @@ PORTDOCS= *
post-patch:
@${REINPLACE_CMD} -e 's|\.ini$$|.ini.sample|' ${WRKSRC}/Makefile.in
+ @${REINPLACE_CMD} \
+ -e 's|/etc|${LOCALBASE}/etc|' \
+ -e 's|/usr/lib|${LOCALBASE}/lib|' ${WRKSRC}/man/*.[1-9]
post-install:
@${MKDIR} ${STAGEDIR}${DOCSDIR}