Add MongoDB 3.4
[unleashed-userland.git] / components / database / mongodb-34 / Makefile
blobe54fa90b6d0d2cbaf709ed50ced499b7a4d8d0c7
2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"). You may
4 # only use this file in accordance with the terms of the CDDL.
6 # A full copy of the text of the CDDL should have accompanied this
7 # source. A copy of the CDDL is also available via the Internet at
8 # http://www.illumos.org/license/CDDL.
12 # Copyright 2017 Alexander Pyhalov
16 include ../../../make-rules/shared-macros.mk
18 COMPONENT_NAME= mongodb
19 COMPONENT_VERSION= 3.4.2
20 COMPONENT_SUMMARY= MongoDB distributed document-oriented database
21 COMPONENT_PROJECT_URL= https://www.mongodb.com/
22 COMPONENT_FMRI= database/mongodb-34
23 COMPONENT_CLASSIFICATION= System/Databases
24 COMPONENT_SRC= $(COMPONENT_NAME)-src-r$(COMPONENT_VERSION)
25 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
26 COMPONENT_ARCHIVE_URL= https://fastdl.mongodb.org/src/$(COMPONENT_ARCHIVE)
27 COMPONENT_ARCHIVE_HASH= sha256:29b60f6c5331fd2ff5242171a65c03e3b47c1ff957fa317bfaa2ddccd8d51b59
28 COMPONENT_LICENSE= Apache v2.0
29 COMPONENT_LICENSE_FILE= APACHE-2.0.txt
31 include $(WS_MAKE_RULES)/prep.mk
32 include $(WS_MAKE_RULES)/justmake.mk
33 include $(WS_MAKE_RULES)/ips.mk
35 # MongoDB 3.4 wants GCC 5 compiler
36 GCC_ROOT=/usr/gcc/5
38 BUILD_TOOLS= $(BUILD_DIR)/tools/.built
39 INSTALL_TOOLS= $(BUILD_DIR)/tools/.installed
41 MONGO_PREFIX=usr/mongodb/3.4
43 GMAKE=scons
45 COMPONENT_BUILD_ARGS += TARGET_ARCH=x86_64
46 COMPONENT_BUILD_ARGS += CXXFLAGS="$(CXXFLAGS)"
47 COMPONENT_BUILD_ARGS += CC="$(CC)"
48 COMPONENT_BUILD_ARGS += CXX="$(CXX)"
49 COMPONENT_BUILD_ARGS += CFLAGS="$(CFLAGS)"
50 COMPONENT_BUILD_ARGS += LIBPATH=/usr/lib/$(MACH64)
51 COMPONENT_BUILD_ARGS += LINKFLAGS="$(LDFLAGS)"
53 COMPONENT_BUILD_ARGS += --prefix=$(PROTO_DIR)/$(MONGO_PREFIX)
54 COMPONENT_BUILD_ARGS += --use-system-zlib
55 COMPONENT_BUILD_ARGS += --ssl
56 COMPONENT_BUILD_ARGS += --release
58 COMPONENT_BUILD_TARGETS= all
60 COMPONENT_INSTALL_ARGS = $(COMPONENT_BUILD_ARGS)
62 $(BUILD_TOOLS): $(BUILD_64)
63 $(MKDIR) $(@D)/bin
64 $(CP) -a $(SOURCE_DIR)/src/mongo/gotools/* $(@D)
65 cd $(@D) && /usr/bin/bash build.sh ssl
66 $(TOUCH) $(@)
68 $(INSTALL_TOOLS): $(BUILD_TOOLS) $(INSTALL_64)
69 $(CP) $(BUILD_DIR)/tools/bin/* $(PROTO_DIR)/$(MONGO_PREFIX)/bin
70 $(TOUCH) $(@)
72 build: $(BUILD_64) $(BUILD_TOOLS)
74 install: $(INSTALL_64) $(INSTALL_TOOLS)
76 test: $(NO_TESTS)
78 REQUIRED_PACKAGES += SUNWcs
79 REQUIRED_PACKAGES += developer/build/scons
80 REQUIRED_PACKAGES += developer/gcc-5
81 REQUIRED_PACKAGES += developer/golang
82 REQUIRED_PACKAGES += library/security/openssl
83 REQUIRED_PACKAGES += library/zlib
84 REQUIRED_PACKAGES += system/library
85 REQUIRED_PACKAGES += system/library/boost
86 REQUIRED_PACKAGES += system/library/libpcap
87 REQUIRED_PACKAGES += system/library/math