aboutsummaryrefslogtreecommitdiff
path: root/databases/tdb
diff options
context:
space:
mode:
authorTimur I. Bakeyev <timur@FreeBSD.org>2017-11-20 06:40:28 +0000
committerTimur I. Bakeyev <timur@FreeBSD.org>2017-11-20 06:40:28 +0000
commit17009f74ad847d12cb23c5beb346038af63da3fb (patch)
tree27db3b9603b551a0b503cbc4997a80d2cc6a48c0 /databases/tdb
parentf4afbe855303248492ef9807c6f00644b07d97ff (diff)
downloadports-17009f74ad847d12cb23c5beb346038af63da3fb.tar.gz
ports-17009f74ad847d12cb23c5beb346038af63da3fb.zip
Notes
Diffstat (limited to 'databases/tdb')
-rw-r--r--databases/tdb/Makefile71
-rw-r--r--databases/tdb/distinfo6
-rw-r--r--databases/tdb/files/patch-buildtools__wafsamba__samba_autoconf.py11
-rw-r--r--databases/tdb/files/patch-buildtools__wafsamba__samba_python.py36
-rw-r--r--databases/tdb/files/patch-lib__replace__wscript11
-rw-r--r--databases/tdb/files/patch-wscript8
6 files changed, 117 insertions, 26 deletions
diff --git a/databases/tdb/Makefile b/databases/tdb/Makefile
index 68c3e5c52d49..12812a79c478 100644
--- a/databases/tdb/Makefile
+++ b/databases/tdb/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= tdb
-PORTVERSION= 1.3.12
+PORTVERSION= 1.3.15
PORTREVISION= 0
PORTEPOCH= 1
CATEGORIES= databases
@@ -12,7 +12,7 @@ COMMENT= Trivial Database
LICENSE= GPLv3
-CONFLICTS= *samba3[0-4]-3.*
+IGNORE_NONTHREAD_PYTHON=needs port lang/python${PYTHON_SUFFIX} to be build with THREADS support
USES= compiler pkgconfig waf
USE_LDCONFIG= yes
@@ -32,12 +32,48 @@ MANPAGES_DESC= Build and install manpages (requires textproc/docbook-xsl)
.include <bsd.port.options.mk>
+TDB_BINS= bin/tdbbackup \
+ bin/tdbdump \
+ bin/tdbrestore \
+ bin/tdbtool
+
+PLIST_FILES+= include/tdb.h \
+ ${TDB_BINS} \
+ lib/libtdb.so \
+ lib/libtdb.so.1 \
+ %%PKGCONFIGDIR%%/tdb.pc
+
.if defined(NO_PYTHON)
CONFIGURE_ARGS+= --disable-python
.else
-USES+= python:2
+USES+= python:2.7+
+
PLIST_FILES+= %%PYTHON_SITELIBDIR%%/tdb.so \
%%PYTHON_SITELIBDIR%%/_tdb_text.py
+# XXX: This is a gross hack to make port use both Python 2.7+ and 3.3+
+# This is not officially supported, use at your own risk
+.if defined(WITH_SAMBA_PYTHON3) && ${WITH_SAMBA_PYTHON3:Mpython3\.[0-9]}
+SAMBA_PYTHON3= ${WITH_SAMBA_PYTHON3}
+SAMBA_PYTHON3_VERSION:= ${SAMBA_PYTHON3:S/^python//}
+SAMBA_PYTHON3_VER:= ${SAMBA_PYTHON3_VERSION:C/\.//}
+.if !exists(${PORTSDIR}/lang/python${SAMBA_PYTHON3_VER})
+.error unsupported or unknown Python version ${SAMBA_PYTHON3_VERSION}
+.endif
+BUILD_DEPENDS+= ${SAMBA_PYTHON3}:lang/python${SAMBA_PYTHON3_VER}
+RUN_DEPENDS+= ${SAMBA_PYTHON3}:lang/python${SAMBA_PYTHON3_VER}
+# cpython-36m
+SAMBA_PYTHON3_SO_ABI!= [ ! -f "${LOCALBASE}/bin/${SAMBA_PYTHON3}" ] || ${LOCALBASE}/bin/${SAMBA_PYTHON3} -c 'import sysconfig; print(sysconfig.get_config_var("SOABI") or "")' 2>/dev/null
+SAMBA_PYTHON3_SITELIBDIR=lib/python${SAMBA_PYTHON3_VERSION}/site-packages
+
+CONFIGURE_ENV+= PYTHON3_SO_ABI_FLAG=.${SAMBA_PYTHON3_SO_ABI}
+CONFIGURE_ARGS+= --extra-python=${LOCALBASE}/bin/${SAMBA_PYTHON3}
+
+PLIST_SUB+= SAMBA_PYTHON3_SO_ABI=${SAMBA_PYTHON3_SO_ABI} \
+ SAMBA_PYTHON3_SITELIBDIR=${SAMBA_PYTHON3_SITELIBDIR}
+
+PLIST_FILES+= %%SAMBA_PYTHON3_SITELIBDIR%%/tdb.so \
+ %%SAMBA_PYTHON3_SITELIBDIR%%/_tdb_text.py
+.endif
.endif
.include <bsd.port.pre.mk>
@@ -48,16 +84,6 @@ CONFIGURE_ENV+= XSLTPROC="true"
BUILD_DEPENDS+= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \
xsltproc:textproc/libxslt
.endif
-
-PLIST_FILES+= bin/tdbbackup \
- bin/tdbdump \
- bin/tdbrestore \
- bin/tdbtool \
- include/tdb.h \
- lib/libtdb.so \
- lib/libtdb.so.1 \
- %%PKGCONFIGDIR%%/tdb.pc
-
# No fancy color error messages
.if ${COMPILER_TYPE} == "clang"
CFLAGS+= -fno-color-diagnostics
@@ -72,8 +98,6 @@ TDB_MAN8= man/man8/tdbbackup.8.gz \
PLIST_FILES+= ${TDB_MAN8}
-IGNORE_NONTHREAD_PYTHON=needs port lang/python${PYTHON_SUFFIX} to be build with THREADS support
-
post-patch:
@${REINPLACE_CMD} -e 's|%%PKGCONFIGDIR%%|${PKGCONFIGDIR}|g' \
${BUILD_WRKSRC}/wscript
@@ -87,12 +111,21 @@ pre-configure:
${FALSE}; \
fi
-pre-build:
-.if ! ${PORT_OPTIONS:MMANPAGES}
+pre-build-MANPAGES-off:
-${MKDIR} ${BUILD_WRKSRC}/bin/default/man
-. for man in ${TDB_MAN8}
+.for man in ${TDB_MAN8}
${INSTALL_MAN} ${FILESDIR}/`basename ${man} .gz` ${BUILD_WRKSRC}/bin/default/man
-. endfor
+.endfor
+
+post-install:
+.for lib in ${TDB_BINS} lib/libtdb.so
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${lib}
+.endfor
+.if !defined(NO_PYTHON)
+ ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/tdb.so
+.if defined(SAMBA_PYTHON3)
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${SAMBA_PYTHON3_SITELIBDIR}/tdb.so
+.endif
.endif
.include <bsd.port.post.mk>
diff --git a/databases/tdb/distinfo b/databases/tdb/distinfo
index 3c934cc6839f..2cc8d01b3183 100644
--- a/databases/tdb/distinfo
+++ b/databases/tdb/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1483301977
-SHA256 (tdb-1.3.12.tar.gz) = 60134e32253cac8e2efe5e0185d20123c208bcf6ad15edf2f50d80daadf8c348
-SIZE (tdb-1.3.12.tar.gz) = 495520
+TIMESTAMP = 1507427511
+SHA256 (tdb-1.3.15.tar.gz) = b4a1bf3833601bd9f10aff363cb750860aef9ce5b4617989239923192f946728
+SIZE (tdb-1.3.15.tar.gz) = 502627
diff --git a/databases/tdb/files/patch-buildtools__wafsamba__samba_autoconf.py b/databases/tdb/files/patch-buildtools__wafsamba__samba_autoconf.py
new file mode 100644
index 000000000000..5245d0e4857b
--- /dev/null
+++ b/databases/tdb/files/patch-buildtools__wafsamba__samba_autoconf.py
@@ -0,0 +1,11 @@
+--- buildtools/wafsamba/samba_autoconf.py.orig 2016-10-07 04:45:35 UTC
++++ buildtools/wafsamba/samba_autoconf.py
+@@ -873,7 +873,7 @@ def SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS(c
+ conf.env.undefined_ldflags = conf.ADD_LDFLAGS('-Wl,-no-undefined', testflags=True)
+
+ if not sys.platform.startswith("openbsd") and conf.env.undefined_ignore_ldflags == []:
+- if conf.CHECK_LDFLAGS(['-undefined', 'dynamic_lookup']):
++ if conf.CHECK_LDFLAGS(['-undefined', 'dynamic_lookup'] + conf.env.WERROR_CFLAGS):
+ conf.env.undefined_ignore_ldflags = ['-undefined', 'dynamic_lookup']
+
+ @conf
diff --git a/databases/tdb/files/patch-buildtools__wafsamba__samba_python.py b/databases/tdb/files/patch-buildtools__wafsamba__samba_python.py
new file mode 100644
index 000000000000..dcea3ffd78c3
--- /dev/null
+++ b/databases/tdb/files/patch-buildtools__wafsamba__samba_python.py
@@ -0,0 +1,36 @@
+--- buildtools/wafsamba/samba_python.py.orig 2017-04-28 08:57:26 UTC
++++ buildtools/wafsamba/samba_python.py
+@@ -76,17 +76,31 @@ def SAMBA_CHECK_PYTHON_HEADERS(conf, man
+
+ def _check_python_headers(conf, mandatory):
+ try:
++ from python import _get_python_variables
+ Configure.ConfigurationError
+ conf.check_python_headers(mandatory=mandatory)
++ conf.env['PYTHON_SO_ABI'] = _get_python_variables(
++ conf.env['PYTHON'],
++ ["get_config_var('SOABI') or ''"],
++ ['from distutils.sysconfig import get_config_var']
++ )[0]
+ except Configure.ConfigurationError:
+ if mandatory:
+ raise
+
+ if conf.env['PYTHON_VERSION'] > '3':
+- abi_pattern = os.path.splitext(conf.env['pyext_PATTERN'])[0]
+- conf.env['PYTHON_SO_ABI_FLAG'] = abi_pattern % ''
++ override_PYTHON3_SO_ABI_FLAG = os.getenv('PYTHON3_SO_ABI_FLAG', None)
++ if override_PYTHON3_SO_ABI_FLAG is not None:
++ conf.env['PYTHON_SO_ABI_FLAG'] = override_PYTHON3_SO_ABI_FLAG
++ if not conf.env['PYTHON_SO_ABI_FLAG']:
++ if conf.env['PYTHON_SO_ABI']:
++ conf.env['PYTHON_SO_ABI_FLAG'] = '.'+conf.env['PYTHON_SO_ABI']
++ else:
++ abi_pattern = os.path.splitext(conf.env['pyext_PATTERN'])[0]
++ conf.env['PYTHON_SO_ABI_FLAG'] = abi_pattern % ''
+ else:
+ conf.env['PYTHON_SO_ABI_FLAG'] = ''
++
+ conf.env['PYTHON_LIBNAME_SO_ABI_FLAG'] = (
+ conf.env['PYTHON_SO_ABI_FLAG'].replace('_', '-'))
+
diff --git a/databases/tdb/files/patch-lib__replace__wscript b/databases/tdb/files/patch-lib__replace__wscript
new file mode 100644
index 000000000000..d6d32b6c3dca
--- /dev/null
+++ b/databases/tdb/files/patch-lib__replace__wscript
@@ -0,0 +1,11 @@
+--- lib/replace/wscript.orig 2017-08-24 11:27:53 UTC
++++ lib/replace/wscript
+@@ -81,7 +81,7 @@ def configure(conf):
+ conf.CHECK_HEADERS('sys/atomic.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')
+
+ # Check for process set name support
diff --git a/databases/tdb/files/patch-wscript b/databases/tdb/files/patch-wscript
index ce7c161e3ab1..c1b8d4560be8 100644
--- a/databases/tdb/files/patch-wscript
+++ b/databases/tdb/files/patch-wscript
@@ -1,7 +1,7 @@
---- ./wscript.orig 2012-04-11 12:36:12.000000000 +0000
-+++ ./wscript 2013-01-29 20:56:34.289900427 +0000
-@@ -68,7 +68,7 @@
- io.c open.c transaction.c hash.c summary.c''')
+--- wscript.orig 2017-08-24 11:29:08 UTC
++++ wscript
+@@ -115,7 +115,7 @@ def build(bld):
+ COMMON_SRC = bld.SUBDIR('common', COMMON_FILES)
if bld.env.standalone_tdb:
- bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'