8 MASTER_SITES= ${MASTER_SITE_SAMBA}
9 MASTER_SITE_SUBDIR= tdb
11 MAINTAINER= timur@FreeBSD.org
12 COMMENT= Not so Trivial DataBase
18 USES= compiler pkgconfig
20 WAF_TOOL= buildtools/bin/waf
21 CONFIGURE_LOG= bin/config.log
23 PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig
24 PLIST_SUB+= PKGCONFIGDIR=${PKGCONFIGDIR:S;${PREFIX}/;;}
26 CONFIGURE_ARGS+= --prefix=${PREFIX} \
27 --mandir=${MANPREFIX}/man \
28 --infodir=${PREFIX}/${INFO_PATH}/${INFO_SUBDIR} \
31 DESTDIRNAME= --destdir
33 OPTIONS_DEFINE= MANPAGES
34 MANPAGES_DESC= Build and install manpages (requires textproc/docbook-xsl)
36 .include <bsd.port.options.mk>
38 .if defined(NO_PYTHON)
39 CONFIGURE_ARGS+= --disable-python
43 PLIST_FILES+= %%PYTHON_SITELIBDIR%%/ntdb.so
46 .include <bsd.port.pre.mk>
48 .if ! ${PORT_OPTIONS:MMANPAGES}
49 CONFIGURE_ENV+= XSLTPROC="true"
51 BUILD_DEPENDS+= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:${PORTSDIR}/textproc/docbook-xsl \
52 xsltproc:${PORTSDIR}/textproc/libxslt
55 PLIST_FILES+= bin/ntdbbackup \
62 %%PKGCONFIGDIR%%/ntdb.pc
64 # No fancy color error messages
65 .if ${COMPILER_TYPE} == "clang"
66 CFLAGS+= -fno-color-diagnostics
68 CONFIGURE_ENV+= NOCOLOR=yes
69 MAKE_ENV+= NOCOLOR=yes
71 .if !defined(DISABLE_MAKE_JOBS) && !defined(MAKE_JOBS_UNSAFE)
72 CONFIGURE_ARGS+= --jobs=${MAKE_JOBS_NUMBER}
73 _MAKE_JOBS+= --jobs=${MAKE_JOBS_NUMBER}
76 TDB_MAN3= man/man3/ntdb.3.gz
78 TDB_MAN8= man/man8/ntdbbackup.8.gz \
79 man/man8/ntdbdump.8.gz \
80 man/man8/ntdbrestore.8.gz \
81 man/man8/ntdbtool.8.gz
83 PLIST_FILES+= ${TDB_MAN3} ${TDB_MAN8}
85 CONFIGURE_TARGET= configure
87 INSTALL_TARGET= install
89 IGNORE_NONTHREAD_PYTHON=needs port lang/python${PYTHON_SUFFIX} to be build with THREADS support
92 @${REINPLACE_CMD} -e 's|%%PKGCONFIGDIR%%|${PKGCONFIGDIR}|g' \
93 ${BUILD_WRKSRC}/wscript
95 # Use threading (or multiprocessing) but not thread (renamed in python 3+).
97 @if ! ${PYTHON_CMD} -c "import multiprocessing;" 2>/dev/null; then \
99 ${ECHO_MSG} "===> ${PKGNAME} "${IGNORE_NONTHREAD_PYTHON:Q}.; \
105 @(cd ${CONFIGURE_WRKSRC} && \
106 ${SET_LATE_CONFIGURE_ARGS} \
107 if ! ${SETENV} CC="${CC}" CPP="${CPP}" CXX="${CXX}" \
108 CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" CXXFLAGS="${CXXFLAGS}" \
109 LDFLAGS="${LDFLAGS}" \
110 INSTALL="/usr/bin/install -c ${_BINOWNGRP}" \
111 INSTALL_DATA="${INSTALL_DATA}" \
112 INSTALL_LIB="${INSTALL_LIB}" \
113 INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
114 INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
115 ${CONFIGURE_ENV} ${PYTHON_CMD} ${CONFIGURE_WRKSRC}/${WAF_TOOL} ${CONFIGURE_ARGS} ${CONFIGURE_TARGET}; then \
116 ${ECHO_MSG} "===> Script \"${CONFIGURE_SCRIPT}\" failed unexpectedly."; \
117 (${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | ${FMT} 75 79 ; \
122 .if ! ${PORT_OPTIONS:MMANPAGES}
123 -${MKDIR} ${BUILD_WRKSRC}/bin/default/man
124 . for man in ${TDB_MAN3} ${TDB_MAN8}
125 ${INSTALL_MAN} ${FILESDIR}/`basename ${man} .gz` ${BUILD_WRKSRC}/bin/default/man
130 @(cd ${BUILD_WRKSRC}; \
131 if ! ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${BUILD_WRKSRC}/${WAF_TOOL} ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET}; then \
132 if [ x != x${BUILD_FAIL_MESSAGE} ] ; then \
133 ${ECHO_MSG} "===> Compilation failed unexpectedly."; \
134 (${ECHO_CMD} ${BUILD_FAIL_MESSAGE}) | ${FMT} 75 79 ; \
140 @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${INSTALL_WRKSRC}/${WAF_TOOL} ${MAKE_ARGS} ${INSTALL_TARGET})
142 .include <bsd.port.post.mk>