[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / databases / mongodb

Annotation of pkgsrc/databases/mongodb/Makefile, Revision 1.44

1.44    ! ryoon       1: # $NetBSD: Makefile,v 1.43 2019/06/28 16:21:11 gdt Exp $
1.1       ryoon       2:
1.33      adam        3: DISTNAME=      mongodb-src-r4.0.6
                      4: PKGNAME=       ${DISTNAME:S/src-r//}
1.44    ! ryoon       5: PKGREVISION=   6
1.1       ryoon       6: CATEGORIES=    databases
                      7: MASTER_SITES=  http://fastdl.mongodb.org/src/
                      8:
1.37      gdt         9: MAINTAINER=    pkgsrc-users@netbsd.org
1.33      adam       10: HOMEPAGE=      https://www.mongodb.com/
1.1       ryoon      11: COMMENT=       NoSQL distributed document-oriented database
1.41      gdt        12: LICENSE=       server-side-public-license # Client and tools licensed under apache-2.0
1.1       ryoon      13:
1.30      gavan      14: # MongoDB 3.4 onwards explicitly does not support 32-bit x86 platforms
                     15: NOT_FOR_PLATFORM+=     *-*-i386
                     16:
1.22      ryoon      17: EXTRACT_USING= bsdtar
                     18:
1.33      adam       19: BUILD_DEPENDS+=        ${PYPKGPREFIX}-cheetah-[0-9]*:../../devel/py-cheetah
                     20: BUILD_DEPENDS+=        ${PYPKGPREFIX}-typing-[0-9]*:../../devel/py-typing
                     21: BUILD_DEPENDS+=        ${PYPKGPREFIX}-regex-[0-9]*:../../textproc/py-regex
                     22: BUILD_DEPENDS+=        ${PYPKGPREFIX}-yaml-[0-9]*:../../textproc/py-yaml
                     23:
1.1       ryoon      24: NO_CONFIGURE=  yes
1.40      gdt        25: # https://github.com/mongodb/mongo/blob/master/docs/building.md
                     26: USE_LANGUAGES= c99 c++17
1.43      gdt        27: # Note that USE_LANGUAGES should contain c11, per SConstruct, but
                     28: # pkgsrc does not yet support that.
1.40      gdt        29: GCC_REQD+=     8
1.38      gdt        30:
1.33      adam       31: USE_TOOLS+=    pkg-config
1.1       ryoon      32:
                     33: SCONS_ARGS=    ${_MAKE_JOBS}
1.33      adam       34: SCONS_ARGS+=   --disable-warnings-as-errors
                     35: SCONS_ARGS+=   --release
                     36: SCONS_ARGS+=   --runtime-hardening=off # does not produce executables
                     37: #SCONS_ARGS+=  --use-system-asio
1.10      ryoon      38: SCONS_ARGS+=   --use-system-boost
1.39      gdt        39: SCONS_ARGS+=   --use-system-icu
1.33      adam       40: SCONS_ARGS+=   --use-system-mongo-c
1.10      ryoon      41: SCONS_ARGS+=   --use-system-pcre
                     42: SCONS_ARGS+=   --use-system-snappy
1.33      adam       43: SCONS_ARGS+=   --use-system-sqlite
1.10      ryoon      44: SCONS_ARGS+=   --use-system-tcmalloc
1.33      adam       45: #SCONS_ARGS+=  --use-system-wiredtiger
1.11      fhajny     46: SCONS_ARGS+=   --use-system-yaml
                     47: SCONS_ARGS+=   --use-system-zlib
1.1       ryoon      48:
1.33      adam       49: PYTHON_VERSIONS_ACCEPTED=      27
1.4       wiz        50:
1.1       ryoon      51: .include "../../mk/bsd.prefs.mk"
                     52:
1.22      ryoon      53: GCC_REQD+=     5.3.0
1.33      adam       54: CPPFLAGS+=     -fno-jump-tables  # XXX: still needed?
                     55: INCL_PATH+=    ${BUILDLINK_PREFIX.mongo-c-driver}/include/libbson-1.0
                     56: INCL_PATH+=    ${BUILDLINK_PREFIX.mongo-c-driver}/include/libmongoc-1.0
                     57: LDFLAGS+=      ${COMPILER_RPATH_FLAG}${PREFIX}/lib -L${PREFIX}/lib
1.1       ryoon      58:
                     59: .include "options.mk"
                     60:
                     61: SMF_METHODS+=          mongodb
                     62:
                     63: BUILD_DEFS+=           VARBASE
                     64: BUILD_DEFS+=           MONGODB_USER MONGODB_GROUP MONGODB_DBPATH
                     65: BUILD_DEFS+=           MONGODB_LOGPATH
                     66:
                     67: MONGODB_USER?=         mongodb
                     68: MONGODB_GROUP?=                mongodb
                     69: MONGODB_DBPATH?=       ${VARBASE}/mongodb
1.33      adam       70: MONGODB_CONFIGDBPATH?= ${VARBASE}/mongoconfigdb
1.1       ryoon      71: MONGODB_LOGPATH?=      ${VARBASE}/log/mongodb
                     72:
                     73: PKG_USERS_VARS+=       MONGODB_USER
                     74: PKG_GROUPS_VARS+=      MONGODB_GROUP
                     75:
                     76: PKG_GROUPS=            ${MONGODB_GROUP}
                     77: PKG_USERS=             ${MONGODB_USER}:${MONGODB_GROUP}
                     78:
                     79: PKG_GECOS.${MONGODB_USER}=     MongoDB database administrator
                     80: PKG_HOME.${MONGODB_USER}=      ${MONGODB_DBPATH}
                     81: PKG_SHELL.${MONGODB_USER}=     ${SH}
                     82:
1.33      adam       83: OWN_DIRS_PERMS+=       ${MONGODB_DBPATH:Q} ${MONGODB_USER} ${MONGODB_GROUP} 0755
                     84: OWN_DIRS_PERMS+=       ${MONGODB_DBPATH:Q}/journal ${MONGODB_USER} ${MONGODB_GROUP} 0755
                     85: OWN_DIRS_PERMS+=       ${MONGODB_LOGPATH:Q} ${MONGODB_USER} ${MONGODB_GROUP} 0755
1.1       ryoon      86:
                     87: FILES_SUBST+=          MONGODB_USER=${MONGODB_USER}
                     88: FILES_SUBST+=          MONGODB_GROUP=${MONGODB_GROUP}
                     89: FILES_SUBST+=          MONGODB_DBPATH=${MONGODB_DBPATH}
                     90: FILES_SUBST+=          MONGODB_LOGPATH=${MONGODB_LOGPATH}
                     91:
                     92: SUBST_CLASSES+=                path
                     93: SUBST_STAGE.path=      pre-build
1.33      adam       94: SUBST_MESSAGE.path=    Replacing database paths.
                     95: SUBST_FILES.path=      debian/mongo.1 debian/mongod.1
                     96: SUBST_FILES.path+=     src/mongo/db/mongod_options.cpp
                     97: SUBST_FILES.path+=     src/mongo/db/storage/storage_options.cpp
                     98: SUBST_SED.path=                -e 's,/data/db,${MONGODB_DBPATH},g'
                     99: SUBST_SED.path+=       -e 's,/data/configdb,${MONGODB_CONFIGDBPATH},g'
                    100: SUBST_SED.path+=       -e 's,/etc,${PKG_SYSCONFDIR},g'
                    101:
                    102: SUBST_CLASSES+=                varbase
                    103: SUBST_STAGE.varbase=   pre-build
                    104: SUBST_MESSAGE.varbase= Changing /var to ${VARBASE}.
                    105: SUBST_FILES.varbase=   debian/mongod.conf
                    106: SUBST_SED.varbase=     -e 's,/var/lib,${VARBASE},g'
                    107: SUBST_SED.varbase+=    -e 's,/var/log,${VARBASE},g'
                    108:
                    109: SUBST_CLASSES+=                python
                    110: SUBST_STAGE.python=    pre-build
                    111: SUBST_MESSAGE.python=  Replacing Python interpreter.
                    112: SUBST_FILES.python=    src/mongo/installer/compass/install_compass.in
                    113: SUBST_SED.python=      -e 's,@python_interpreter@,${PYTHONBIN},'
1.1       ryoon     114:
1.25      tnn       115: NOT_PAX_MPROTECT_SAFE+=        bin/mongo bin/mongod
1.22      ryoon     116:
1.1       ryoon     117: RCD_SCRIPTS=           mongodb
                    118:
                    119: INSTALLATION_DIRS+=    share/doc/mongodb share/examples/mongodb ${PKGMANDIR}/man1
                    120:
                    121: CONF_FILES+=           share/examples/mongodb/mongod.conf \
                    122:                        ${PKG_SYSCONFDIR}/mongod.conf
                    123:
1.33      adam      124: # Copy system specific files for NetBSD and DragonFly
1.1       ryoon     125: post-extract:
1.33      adam      126:        ${CHMOD} -R g-w ${WRKSRC}
                    127:        ${CP} -R ${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/freebsd \
1.22      ryoon     128:                ${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/dragonfly
1.33      adam      129:        ${CP} -R ${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/openbsd \
1.22      ryoon     130:                ${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/netbsd
1.33      adam      131:        ${CP} ${WRKSRC}/src/mongo/db/ftdc/ftdc_system_stats_openbsd.cpp \
1.22      ryoon     132:                ${WRKSRC}/src/mongo/db/ftdc/ftdc_system_stats_netbsd.cpp
1.33      adam      133:        ${CP} ${WRKSRC}/src/mongo/db/ftdc/ftdc_system_stats_freebsd.cpp \
                    134:                ${WRKSRC}/src/mongo/db/ftdc/ftdc_system_stats_dragonfly.cpp
                    135:        ${CP} ${WRKSRC}/src/mongo/util/processinfo_openbsd.cpp \
                    136:                ${WRKSRC}/src/mongo/util/processinfo_netbsd.cpp
                    137:        ${CP} ${WRKSRC}/src/mongo/util/processinfo_freebsd.cpp \
                    138:                ${WRKSRC}/src/mongo/util/processinfo_dragonfly.cpp
                    139:        ${CP} ${WRKSRC}/src/mongo/platform/stack_locator_freebsd.cpp \
                    140:                ${WRKSRC}/src/mongo/platform/stack_locator_netbsd.cpp
                    141:        ${CP} ${WRKSRC}/src/mongo/platform/stack_locator_freebsd.cpp \
                    142:                ${WRKSRC}/src/mongo/platform/stack_locator_dragonfly.cpp
                    143:        ${CP} -R ${WRKSRC}/src/third_party/wiredtiger/build_openbsd \
                    144:                ${WRKSRC}/src/third_party/wiredtiger/build_netbsd
                    145:        ${CP} -R ${WRKSRC}/src/third_party/wiredtiger/build_freebsd \
                    146:                ${WRKSRC}/src/third_party/wiredtiger/build_dragonfly
1.1       ryoon     147:
                    148: do-build:
1.33      adam      149:        cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SCONSBIN} ${SCONS_ARGS} \
                    150:        CC=${CC:Q} CXX=${CXX:Q} CFLAGS=${CFLAGS:Q} CXXFLAGS=${CXXFLAGS:Q} \
                    151:        LINKFLAGS=${LDFLAGS:Q} CPPPATH=${INCL_PATH:Q} VERBOSE=1 core
1.1       ryoon     152:
                    153: do-install:
1.32      tnn       154:        cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SCONSBIN} ${SCONS_ARGS} \
1.33      adam      155:        CC=${CC:Q} CXX=${CXX:Q} CFLAGS=${CFLAGS:Q} CXXFLAGS=${CXXFLAGS:Q} \
                    156:        LINKFLAGS=${LDFLAGS:Q} CPPPATH=${INCL_PATH:Q} \
                    157:        --prefix=${DESTDIR}${PREFIX} install
1.1       ryoon     158:
                    159: post-install:
                    160:        ${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${PREFIX}/share/doc/mongodb
1.33      adam      161:        ${INSTALL_MAN} ${WRKSRC}/debian/*.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
1.1       ryoon     162:        ${INSTALL_DATA} ${WRKSRC}/debian/mongod.conf \
                    163:                ${DESTDIR}${PREFIX}/share/examples/mongodb
                    164:
1.33      adam      165: .include "../../databases/mongo-c-driver/buildlink3.mk"
                    166: .include "../../databases/sqlite3/buildlink3.mk"
                    167: #.include "../../databases/wiredtiger/buildlink3.mk"
                    168: #.include "../../devel/asio/buildlink3.mk"
1.1       ryoon     169: .include "../../devel/boost-headers/buildlink3.mk"
                    170: .include "../../devel/boost-libs/buildlink3.mk"
                    171: .include "../../devel/libexecinfo/buildlink3.mk"
                    172: .include "../../devel/pcre/buildlink3.mk"
1.32      tnn       173: .include "../../devel/scons/buildlink3.mk"
1.1       ryoon     174: .include "../../devel/snappy/buildlink3.mk"
1.11      fhajny    175: .include "../../devel/zlib/buildlink3.mk"
1.33      adam      176: .include "../../lang/python/pyversion.mk"
1.1       ryoon     177: .include "../../net/libpcap/buildlink3.mk"
1.39      gdt       178: .include "../../textproc/icu/buildlink3.mk"
1.11      fhajny    179: .include "../../textproc/yaml-cpp/buildlink3.mk"
1.33      adam      180: .include "../../www/curl/buildlink3.mk"
1.1       ryoon     181: .include "../../mk/bsd.pkg.mk"

CVSweb <webmaster@jp.NetBSD.org>