Annotation of pkgsrc/net/samba4/Makefile, Revision 1.121
1.121 ! nia 1: # $NetBSD: Makefile,v 1.120 2021/04/22 15:47:45 adam Exp $
1.1 ryoon 2:
1.120 adam 3: DISTNAME= samba-4.14.3
1.1 ryoon 4: CATEGORIES= net
1.79 taca 5: MASTER_SITES= https://download.samba.org/pub/samba/stable/
1.81 taca 6:
1.1 ryoon 7: MAINTAINER= pkgsrc-users@NetBSD.org
1.77 adam 8: HOMEPAGE= https://www.samba.org/
1.1 ryoon 9: COMMENT= SMB/CIFS protocol server suite
10: LICENSE= gnu-gpl-v3
11:
1.58 adam 12: CONFLICTS+= ja-samba-[0-9]* winbind-[0-9]*
1.1 ryoon 13:
1.63 adam 14: PYTHON_VERSIONS_INCOMPATIBLE= 27
15:
1.41 maya 16: GCC_REQD+= 4.4
1.57 adam 17: BUILD_DEPENDS+= libxslt-[0-9]*:../../textproc/libxslt
18: BUILD_DEPENDS+= docbook-xml-[0-9]*:../../textproc/docbook-xml
1.100 dogcow 19: BUILD_DEPENDS+= docbook-xsl>=1.79.2:../../textproc/docbook-xsl
1.57 adam 20: DEPENDS+= p5-Parse-Yapp>=1.05:../../devel/p5-Parse-Yapp
21: DEPENDS+= ${PYPKGPREFIX}-dns-[0-9]*:../../net/py-dns
22: DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
1.22 wiz 23: DEPENDS+= ${PYPKGPREFIX}-iso8601-[0-9]*:../../time/py-iso8601
1.118 adam 24: DEPENDS+= ${PYPKGPREFIX}-markdown-[0-9]*:../../textproc/py-markdown
1.6 jperkin 25:
1.1 ryoon 26: BUILD_DEFS+= VARBASE
27:
28: .include "../../mk/bsd.prefs.mk"
29:
30: SMB_LIB?= ${PREFIX}/lib
31:
32: PKG_SYSCONFSUBDIR= samba
33: SMB_SHAREDSTATE?= ${PREFIX}/com
34: SMB_LOCALSTATE?= ${VARBASE}
35: SMB_INFO?= ${PREFIX}/info
36: SMB_MAN?= ${PREFIX}/${PKGMANDIR}
1.104 christos 37: SMB_STATE?= ${VARBASE}/db/samba4
38: SMB_PRIVATE?= ${SMB_STATE}/private
1.1 ryoon 39: SMB_PID?= ${VARBASE}/run
1.4 ryoon 40: SMB_CACHE?= ${VARBASE}/run
1.1 ryoon 41: SMB_LOCK?= ${VARBASE}/run
42: SMB_LOGFILEBASE?= ${VARBASE}/log
43: SMB_SOCKETS?= ${VARBASE}/run
44: SMB_MODULES?= ${SMB_LIB}/samba
45: SMB_PRIVATELIB?= ${SMB_LIB}/samba/private
46: SMB_PRIVSOCKETS?= ${VARBASE}/run
47: SMB_CONFIG?= ${PKG_SYSCONFDIR}
48: SMB_DATAROOT?= ${PREFIX}/share/samba
49: SMB_LOCALE?= ${PREFIX}/share/locale
50: SMB_DOC?= ${PREFIX}/share/doc/samba
51: SMB_PAMMODULES?= ${SMB_LIB}/samba/security
52:
53: FILES_SUBST+= SMB_CONFIG=${SMB_CONFIG}
54: FILES_SUBST+= SMB_PID=${SMB_PID}
55:
56: # mktemp is useful for the replacement adduser script, but don't require
57: # a full dependency since it's not actually needed by samba.
1.121 ! nia 58: USE_TOOLS+= gmake mktemp perl:run pkg-config flex
1.1 ryoon 59:
1.108 jperkin 60: .if ${OPSYS} == "NetBSD"
1.1 ryoon 61: USE_GNU_ICONV= yes # FIXME: something doesn't work on NetBSD
1.82 rillig 62: BROKEN_GETTEXT_DETECTION= yes
1.108 jperkin 63: .endif
1.1 ryoon 64:
65: # Debugging
66: #CONFIGURE_ARGS+= -vvv
67: #CONFIGURE_ARGS+= --enable-developer
68: #CONFIGURE_ARGS+= --fatal-errors
69:
70: HAS_CONFIGURE= yes
71: CONFIG_SHELL= ${PYTHONBIN}
72: CONFIGURE_SCRIPT= ${WRKSRC}/buildtools/bin/waf
73: CONFIGURE_ARGS+= configure
74: CONFIGURE_ARGS+= --prefix=${PREFIX}
75: CONFIGURE_ARGS+= --infodir=${SMB_INFO}
76: CONFIGURE_ARGS+= --mandir=${SMB_MAN}
77: CONFIGURE_ARGS+= --datarootdir=${SMB_DATAROOT}
1.57 adam 78: CONFIGURE_ARGS+= --libdir=${SAMBA_LIB}
1.1 ryoon 79: CONFIGURE_ARGS+= --localedir=${SMB_LOCALE}
80: CONFIGURE_ARGS+= --docdir=${SMB_DOC}
81: CONFIGURE_ARGS+= --with-statedir=${SMB_STATE}
82: CONFIGURE_ARGS+= --with-privatedir=${SMB_PRIVATE}
83: CONFIGURE_ARGS+= --with-piddir=${SMB_PID}
84: CONFIGURE_ARGS+= --with-cachedir=${SMB_CACHE}
85: CONFIGURE_ARGS+= --with-lockdir=${SMB_LOCK}
86: CONFIGURE_ARGS+= --with-logfilebase=${SMB_LOGFILEBASE}
87: CONFIGURE_ARGS+= --with-sockets-dir=${SMB_SOCKETS}
88: CONFIGURE_ARGS+= --with-modulesdir=${SMB_MODULES}
89: CONFIGURE_ARGS+= --with-privatelibdir=${SMB_PRIVATELIB}
90: CONFIGURE_ARGS+= --with-privileged-socket-dir=${SMB_PRIVSOCKETS}
91: CONFIGURE_ARGS+= --with-configdir=${SMB_CONFIG}
92: CONFIGURE_ARGS+= --with-libiconv=${BUILDLINK_PREFIX.iconv}
93: #CONFIGURE_ARGS+= --bundled-libraries=com_err
1.57 adam 94: CONFIGURE_ARGS+= --abi-check-disable
95: CONFIGURE_ARGS+= --disable-symbol-versions
1.5 spz 96: .if defined(MAKE_JOBS) && !empty(MAKE_JOBS) && !(defined(MAKE_JOBS_SAFE) && !empty(MAKE_JOBS_SAFE:M[nN][oO]))
97: CONFIGURE_ARGS+= --jobs=${MAKE_JOBS}
98: .else
1.1 ryoon 99: CONFIGURE_ARGS+= --jobs=1
100: .endif
1.51 ryoon 101: CONFIGURE_ARGS+= --without-gpgme
1.1 ryoon 102:
1.9 jperkin 103: # Depends on ncurses, explicitly disable for now.
104: CONFIGURE_ARGS+= --without-regedit
105:
1.62 adam 106: PY_PATCHPLIST= yes
107: MAKE_FLAGS+= WAF_BINARY=${PYTHONBIN}\ ${WRKSRC}/buildtools/bin/waf
108:
1.2 ryoon 109: # for winbind option build.
1.56 adam 110: .if "${OPSYS}" != "Darwin" && "${OPSYS}" != "SunOS"
1.1 ryoon 111: LDFLAGS+= -Wl,--allow-shlib-undefined
1.6 jperkin 112: .endif
113: LDFLAGS+= ${BUILDLINK_LDADD.gettext}
1.1 ryoon 114: LDFLAGS+= ${COMPILER_RPATH_FLAG}${SMB_PRIVATELIB}
115:
1.6 jperkin 116: CFLAGS.SunOS+= -DHAVE_SOLARIS_GETGRENT_R
1.31 wiedi 117: # workaround https://bugzilla.samba.org/show_bug.cgi?id=12502 for now
118: CFLAGS.SunOS+= -DMSG_NOSIGNAL=0
1.72 jperkin 119: LDFLAGS.SunOS+= -lsocket -lnsl -lsendfile
1.31 wiedi 120:
1.1 ryoon 121: .include "options.mk"
122:
1.32 jlam 123: .if ${SHLIB_TYPE} == "dylib"
1.57 adam 124: PLIST_SUBST+= SOEXT=dylib
1.1 ryoon 125: .else
1.57 adam 126: PLIST_SUBST+= SOEXT=so
1.1 ryoon 127: .endif
128:
129: .if !defined(PWD_MKDB)
130: PWD_MKDB!= ${TYPE} pwd_mkdb 2>&1 | \
131: ${AWK} '/not found/ { print "pwd_mkdb"; exit } { print $$3 }'
132: MAKEFLAGS+= PWD_MKDB=${PWD_MKDB:Q}
133: .endif
134: FILES_SUBST+= MKTEMP=${MKTEMP:Q}
135: FILES_SUBST+= PWD_MKDB=${PWD_MKDB:Q}
136:
137: INSTALLATION_DIRS+= ${DOCDIR} ${EGDIR}
138:
139: DOCDIR= share/doc/${PKGBASE}
140: EGDIR= share/examples/${PKGBASE}
141: CONF_FILES= ${PREFIX}/${EGDIR}/smb.conf.default ${SMB_CONFIG}/smb.conf
142: OWN_DIRS_PERMS= ${SMB_PRIVATE} ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0700
143: RCD_SCRIPTS+= samba nmbd smbd ${WINBINDD_RCD_SCRIPT}
144:
1.57 adam 145: SUBST_CLASSES+= docbook
146: SUBST_MESSAGE.docbook= Fixing docbook URLs.
147: SUBST_FILES.docbook+= buildtools/wafsamba/wafsamba.py
148: SUBST_FILES.docbook+= ctdb/doc/*.xml
1.62 adam 149: SUBST_FILES.docbook+= docs-xml/build/DTD/samba-doc
1.57 adam 150: SUBST_FILES.docbook+= docs-xml/xslt/*.xsl
151: SUBST_FILES.docbook+= lib/ldb/docs/builddocs.sh
152: SUBST_FILES.docbook+= librpc/tools/*.xml
153: SUBST_FILES.docbook+= */*/man/*.xml
154: SUBST_FILES.docbook+= */*/*/man/*.xml
155: SUBST_STAGE.docbook= pre-configure
156: SUBST_SED.docbook= -e 's,http://www.oasis-open.org/docbook/xml,${PREFIX}/share/xml/docbook,g'
157: SUBST_SED.docbook+= -e 's,http://docbook.sourceforge.net/release/xsl/current,${PREFIX}/share/xsl/docbook,g'
158:
1.1 ryoon 159: SUBST_CLASSES+= paths
160: SUBST_MESSAGE.paths= Fixing paths.
1.34 taca 161: SUBST_FILES.paths= ${WRKDIR}/adduser.sh ${WRKDIR}/deluser.sh
1.33 fhajny 162: SUBST_FILES.paths+= source3/script/findsmb.in source4/heimdal_build/roken.h
1.45 jperkin 163: SUBST_STAGE.paths= pre-configure
1.28 ryoon 164: SUBST_SED.paths+= -e 's,@PERL@,${PERL5},g'
1.33 fhajny 165: SUBST_VARS.paths= AWK CAT MKTEMP RM PWD_MKDB SH PERL PKG_SYSCONFBASE
1.1 ryoon 166:
167: SUBST_CLASSES+= logpath
168: SUBST_MESSAGE.logpath= Fixing log path.
169: SUBST_FILES.logpath= examples/smb.conf.default
170: SUBST_STAGE.logpath= pre-configure
171: SUBST_SED.logpath+= -e 's,/usr/local/samba/var/log.%m,${SMB_LOGFILEBASE}/log.%m,g'
172:
1.47 wiedi 173: SMF_INSTANCES= smbd nmbd
174:
1.49 jperkin 175: CTF_FILES_SKIP+= lib/libdcerpc-samr.so.* # empty
176:
1.1 ryoon 177: post-extract:
178: ${CP} ${FILESDIR}/adduser.sh ${FILESDIR}/deluser.sh ${WRKDIR}
179:
180: post-install:
1.57 adam 181: ${RUN} cd ${WRKSRC}/docs-xml/registry; for f in *.reg; do \
1.1 ryoon 182: ${INSTALL_DATA} $${f} ${DESTDIR}${PREFIX}/${DOCDIR}/$${f}; \
183: done
184: ${INSTALL_SCRIPT} ${WRKDIR}/adduser.sh \
185: ${DESTDIR}${PREFIX}/${EGDIR}/adduser.sh
186: ${INSTALL_SCRIPT} ${WRKDIR}/deluser.sh \
187: ${DESTDIR}${PREFIX}/${EGDIR}/deluser.sh
188: ${INSTALL_DATA} ${WRKSRC}/examples/LDAP/samba.schema \
189: ${DESTDIR}${PREFIX}/${EGDIR}
190: ${INSTALL_DATA} ${WRKSRC}/examples/smb.conf.default \
191: ${DESTDIR}${PREFIX}/${EGDIR}
192:
1.57 adam 193: REPLACE_PERL+= librpc/tables.pl
1.56 adam 194: REPLACE_PERL+= pidl/pidl
1.57 adam 195: REPLACE_PERL+= pidl/tests/*.pl
196: REPLACE_PERL+= script/*.pl
197: REPLACE_PERL+= source3/script/*.pl
198: REPLACE_PERL+= source4/build/pasn1/pasn1.pl
199: REPLACE_PERL+= source4/script/*.pl
200: REPLACE_PERL+= third_party/nss_wrapper/nss_wrapper.pl
1.56 adam 201: REPLACE_PYTHON+= buildtools/bin/waf
202: REPLACE_PYTHON+= source4/setup/wscript_build
203: REPLACE_PYTHON+= source4/scripting/bin/*
1.1 ryoon 204:
1.57 adam 205: .if "${OPSYS}" == "Linux"
1.1 ryoon 206: .include "../../devel/libuuid/buildlink3.mk"
207: .endif
1.56 adam 208: .include "../../archivers/libarchive/buildlink3.mk"
1.1 ryoon 209: .include "../../converters/libiconv/buildlink3.mk"
1.117 adam 210: BUILDLINK_API_DEPENDS.ldb+= ldb>=2.2.1
1.62 adam 211: .include "../../databases/ldb/buildlink3.mk"
1.75 adam 212: .include "../../databases/lmdb/buildlink3.mk"
1.57 adam 213: .include "../../devel/cmocka/buildlink3.mk"
1.1 ryoon 214: .include "../../devel/gettext-lib/buildlink3.mk"
1.57 adam 215: .include "../../devel/popt/buildlink3.mk"
216: .include "../../devel/readline/buildlink3.mk"
1.89 taca 217: BUILDLINK_API_DEPENDS.talloc+= talloc>=2.2.0
1.56 adam 218: .include "../../devel/talloc/buildlink3.mk"
1.58 adam 219: .include "../../devel/tevent/buildlink3.mk"
1.1 ryoon 220: .include "../../devel/zlib/buildlink3.mk"
1.62 adam 221: .include "../../lang/python/application.mk"
222: .include "../../lang/python/extension.mk"
1.1 ryoon 223: .include "../../security/gnutls/buildlink3.mk"
1.57 adam 224: .include "../../security/libgcrypt/buildlink3.mk"
1.51 ryoon 225: .include "../../textproc/jansson/buildlink3.mk"
1.1 ryoon 226: .include "../../mk/bsd.pkg.mk"
CVSweb <webmaster@jp.NetBSD.org>