Annotation of pkgsrc/databases/mongodb3/Makefile, Revision 1.14
1.14 ! ryoon 1: # $NetBSD: Makefile,v 1.13 2020/06/02 08:23:25 adam Exp $
1.1 gdt 2:
3: # This package is intentionally old to avoid:
4: # Server Side Public License
1.10 gdt 5: # c++14
6: # and further exists to support net/unifi.
1.8 adam 7: DISTNAME= mongodb-src-r3.4.24
1.3 adam 8: PKGNAME= ${DISTNAME:S/src-r//}
1.14 ! ryoon 9: PKGREVISION= 5
1.1 gdt 10: CATEGORIES= databases
11: MASTER_SITES= http://fastdl.mongodb.org/src/
12:
13: MAINTAINER= gdt@NetBSD.org
1.3 adam 14: HOMEPAGE= https://www.mongodb.com/
1.1 gdt 15: COMMENT= NoSQL distributed document-oriented database
16: LICENSE= gnu-agpl-v3 # Client and tools licensed under apache-2.0
17:
18: # MongoDB 3.4 onwards explicitly does not support 32-bit x86 platforms
19: NOT_FOR_PLATFORM+= *-*-i386
20:
21: EXTRACT_USING= bsdtar
22:
23: NO_CONFIGURE= yes
24: USE_LANGUAGES= c c++
1.3 adam 25: GCC_REQD+= 5.3.0
1.1 gdt 26:
27: SCONS_ARGS= ${_MAKE_JOBS}
1.8 adam 28: SCONS_ARGS+= --dbg=off # on: argument parsing problem
1.3 adam 29: SCONS_ARGS+= --disable-warnings-as-errors
30: SCONS_ARGS+= --release
1.8 adam 31: SCONS_ARGS+= --runtime-hardening=off # on: does not produce executables
1.1 gdt 32: SCONS_ARGS+= --use-system-boost
1.8 adam 33: SCONS_ARGS+= --use-system-icu
1.1 gdt 34: SCONS_ARGS+= --use-system-pcre
35: SCONS_ARGS+= --use-system-snappy
36: SCONS_ARGS+= --use-system-tcmalloc
37: SCONS_ARGS+= --use-system-yaml
38: SCONS_ARGS+= --use-system-zlib
39:
1.8 adam 40: PYTHON_VERSIONS_ACCEPTED= 27 # not yet supported as of 3.4.23
1.1 gdt 41:
42: .include "../../mk/bsd.prefs.mk"
43:
1.3 adam 44: CPPFLAGS+= -fno-jump-tables # XXX: still needed?
45: LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib -L${PREFIX}/lib
1.1 gdt 46:
47: .include "options.mk"
48:
49: SMF_METHODS+= mongodb
50:
51: BUILD_DEFS+= VARBASE
52: BUILD_DEFS+= MONGODB_USER MONGODB_GROUP MONGODB_DBPATH
53: BUILD_DEFS+= MONGODB_LOGPATH
54:
55: MONGODB_USER?= mongodb
56: MONGODB_GROUP?= mongodb
57: MONGODB_DBPATH?= ${VARBASE}/mongodb
1.3 adam 58: MONGODB_CONFIGDBPATH?= ${VARBASE}/mongoconfigdb
1.1 gdt 59: MONGODB_LOGPATH?= ${VARBASE}/log/mongodb
60:
61: PKG_USERS_VARS+= MONGODB_USER
62: PKG_GROUPS_VARS+= MONGODB_GROUP
63:
64: PKG_GROUPS= ${MONGODB_GROUP}
65: PKG_USERS= ${MONGODB_USER}:${MONGODB_GROUP}
66:
67: PKG_GECOS.${MONGODB_USER}= MongoDB database administrator
68: PKG_HOME.${MONGODB_USER}= ${MONGODB_DBPATH}
69: PKG_SHELL.${MONGODB_USER}= ${SH}
70:
1.3 adam 71: OWN_DIRS_PERMS+= ${MONGODB_DBPATH:Q} ${MONGODB_USER} ${MONGODB_GROUP} 0755
72: OWN_DIRS_PERMS+= ${MONGODB_DBPATH:Q}/journal ${MONGODB_USER} ${MONGODB_GROUP} 0755
73: OWN_DIRS_PERMS+= ${MONGODB_LOGPATH:Q} ${MONGODB_USER} ${MONGODB_GROUP} 0755
1.1 gdt 74:
75: FILES_SUBST+= MONGODB_USER=${MONGODB_USER}
76: FILES_SUBST+= MONGODB_GROUP=${MONGODB_GROUP}
77: FILES_SUBST+= MONGODB_DBPATH=${MONGODB_DBPATH}
78: FILES_SUBST+= MONGODB_LOGPATH=${MONGODB_LOGPATH}
79:
80: SUBST_CLASSES+= path
81: SUBST_STAGE.path= pre-build
1.3 adam 82: SUBST_MESSAGE.path= Replacing database paths.
83: SUBST_FILES.path= debian/mongo.1 debian/mongod.1
84: SUBST_FILES.path+= src/mongo/shell/dbshell.cpp
85: SUBST_FILES.path+= src/mongo/db/storage/storage_options.cpp
86: SUBST_SED.path= -e 's,/data/db,${MONGODB_DBPATH},g'
87: SUBST_SED.path+= -e 's,/data/configdb,${MONGODB_CONFIGDBPATH},g'
88: SUBST_SED.path+= -e 's,/etc,${PKG_SYSCONFDIR},g'
89:
90: SUBST_CLASSES+= varbase
91: SUBST_STAGE.varbase= pre-build
92: SUBST_MESSAGE.varbase= Changing /var to ${VARBASE}.
93: SUBST_FILES.varbase= debian/mongod.conf
94: SUBST_SED.varbase= -e 's,/var/lib,${VARBASE},g'
95: SUBST_SED.varbase+= -e 's,/var/log,${VARBASE},g'
1.1 gdt 96:
97: NOT_PAX_MPROTECT_SAFE+= bin/mongo bin/mongod
98:
99: RCD_SCRIPTS= mongodb
100:
101: INSTALLATION_DIRS+= share/doc/mongodb share/examples/mongodb ${PKGMANDIR}/man1
102:
103: CONF_FILES+= share/examples/mongodb/mongod.conf \
104: ${PKG_SYSCONFDIR}/mongod.conf
105:
1.3 adam 106: # Copy system specific files for NetBSD and DragonFly
1.1 gdt 107: post-extract:
1.3 adam 108: ${CHMOD} -R g-w ${WRKSRC}
109: ${CP} -R ${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/freebsd \
1.1 gdt 110: ${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/dragonfly
1.3 adam 111: ${CP} -R ${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/openbsd \
1.1 gdt 112: ${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/netbsd
1.3 adam 113: ${CP} ${WRKSRC}/src/mongo/db/ftdc/ftdc_system_stats_openbsd.cpp \
1.1 gdt 114: ${WRKSRC}/src/mongo/db/ftdc/ftdc_system_stats_netbsd.cpp
1.3 adam 115: ${CP} ${WRKSRC}/src/mongo/db/ftdc/ftdc_system_stats_freebsd.cpp \
116: ${WRKSRC}/src/mongo/db/ftdc/ftdc_system_stats_dragonfly.cpp
117: ${CP} ${WRKSRC}/src/mongo/util/processinfo_openbsd.cpp \
118: ${WRKSRC}/src/mongo/util/processinfo_netbsd.cpp
119: ${CP} ${WRKSRC}/src/mongo/util/processinfo_freebsd.cpp \
120: ${WRKSRC}/src/mongo/util/processinfo_dragonfly.cpp
121: ${CP} ${WRKSRC}/src/mongo/platform/stack_locator_freebsd.cpp \
122: ${WRKSRC}/src/mongo/platform/stack_locator_netbsd.cpp
123: ${CP} ${WRKSRC}/src/mongo/platform/stack_locator_freebsd.cpp \
124: ${WRKSRC}/src/mongo/platform/stack_locator_dragonfly.cpp
125: ${CP} -R ${WRKSRC}/src/third_party/wiredtiger/build_openbsd \
126: ${WRKSRC}/src/third_party/wiredtiger/build_netbsd
127: ${CP} -R ${WRKSRC}/src/third_party/wiredtiger/build_freebsd \
128: ${WRKSRC}/src/third_party/wiredtiger/build_dragonfly
1.1 gdt 129:
130: do-build:
1.3 adam 131: cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SCONSBIN} ${SCONS_ARGS} \
132: CC=${CC:Q} CXX=${CXX:Q} CFLAGS=${CFLAGS:Q} CXXFLAGS=${CXXFLAGS:Q} \
133: LINKFLAGS=${LDFLAGS:Q} CPPPATH=${INCL_PATH:Q} VERBOSE=1 core
1.1 gdt 134:
135: do-install:
136: cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SCONSBIN} ${SCONS_ARGS} \
1.3 adam 137: CC=${CC:Q} CXX=${CXX:Q} CFLAGS=${CFLAGS:Q} CXXFLAGS=${CXXFLAGS:Q} \
138: LINKFLAGS=${LDFLAGS:Q} CPPPATH=${INCL_PATH:Q} \
139: --prefix=${DESTDIR}${PREFIX} install
1.1 gdt 140:
141: post-install:
142: ${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${PREFIX}/share/doc/mongodb
1.3 adam 143: ${INSTALL_MAN} ${WRKSRC}/debian/*.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
1.1 gdt 144: ${INSTALL_DATA} ${WRKSRC}/debian/mongod.conf \
145: ${DESTDIR}${PREFIX}/share/examples/mongodb
146:
147: .include "../../devel/boost-headers/buildlink3.mk"
148: .include "../../devel/boost-libs/buildlink3.mk"
149: .include "../../devel/libexecinfo/buildlink3.mk"
150: .include "../../devel/pcre/buildlink3.mk"
151: .include "../../devel/scons/buildlink3.mk"
152: .include "../../devel/snappy/buildlink3.mk"
153: .include "../../devel/zlib/buildlink3.mk"
154: .include "../../net/libpcap/buildlink3.mk"
1.8 adam 155: .include "../../textproc/icu/buildlink3.mk"
1.1 gdt 156: .include "../../textproc/yaml-cpp/buildlink3.mk"
157: .include "../../mk/bsd.pkg.mk"
CVSweb <webmaster@jp.NetBSD.org>