1 | # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 |
---|
2 | # $Id: Portfile 122653 2014-07-25 19:05:34Z ryandesign@macports.org $ |
---|
3 | |
---|
4 | PortSystem 1.0 |
---|
5 | PortGroup compiler_blacklist_versions 1.0 |
---|
6 | PortGroup conflicts_build 1.0 |
---|
7 | PortGroup muniversal 1.0 |
---|
8 | |
---|
9 | name mongodb |
---|
10 | epoch 1 |
---|
11 | version 2.6.3 |
---|
12 | license {AGPL-3 OpenSSLException} |
---|
13 | categories databases |
---|
14 | maintainers ryandesign |
---|
15 | |
---|
16 | description High-performance, schema-free document-oriented database |
---|
17 | long_description ${description} |
---|
18 | |
---|
19 | platforms darwin |
---|
20 | |
---|
21 | homepage http://www.mongodb.org/ |
---|
22 | master_sites http://downloads.mongodb.org/src/ |
---|
23 | distname ${name}-src-r${version} |
---|
24 | |
---|
25 | checksums rmd160 5a21e83947370944982e480396cdfb36e73834ef \ |
---|
26 | sha256 77bd9ec1b3aba25494633b40c21e9e8623d7b7d2b3be5ab0b2315b627a238301 |
---|
27 | |
---|
28 | depends_build port:scons |
---|
29 | |
---|
30 | depends_lib port:boost \ |
---|
31 | port:libpcap \ |
---|
32 | port:pcre \ |
---|
33 | port:snappy |
---|
34 | |
---|
35 | license_noconflict scons |
---|
36 | |
---|
37 | patchfiles-append patch-SConstruct.diff |
---|
38 | patchfiles-append patch-src-mongo-util-compress.cpp.diff |
---|
39 | patchfiles-append patch-src-third_party-s2-util-endian-endian.h.diff |
---|
40 | |
---|
41 | use_configure no |
---|
42 | |
---|
43 | compiler.blacklist gcc-4.0 {clang < 318.0.45} |
---|
44 | |
---|
45 | # TODO: fix me |
---|
46 | conflicts_build v8 |
---|
47 | |
---|
48 | build.env TERM=xterm |
---|
49 | |
---|
50 | build.cmd ${prefix}/bin/scons |
---|
51 | build.target all mongobridge mongosniff |
---|
52 | build.args --cc=${configure.cc} \ |
---|
53 | --cxx=${configure.cxx} \ |
---|
54 | --cpppath=${prefix}/include \ |
---|
55 | --libpath=${prefix}/lib \ |
---|
56 | --osx-version-min=${macosx_deployment_target} \ |
---|
57 | --full \ |
---|
58 | --use-system-boost \ |
---|
59 | --use-system-pcre \ |
---|
60 | --use-system-snappy \ |
---|
61 | --usev8 \ |
---|
62 | --extralib=pcre,pcrecpp,snappy |
---|
63 | |
---|
64 | supported_archs i386 x86_64 |
---|
65 | lappend merger_build_args(i386) --32 |
---|
66 | lappend merger_build_args(x86_64) --64 |
---|
67 | lappend merger_destroot_args(i386) --32 |
---|
68 | lappend merger_destroot_args(x86_64) --64 |
---|
69 | if {![variant_isset universal] && [info exists merger_build_args(${build_arch})]} { |
---|
70 | build.args-append $merger_build_args(${build_arch}) |
---|
71 | } |
---|
72 | |
---|
73 | eval destroot.env [option build.env] |
---|
74 | eval destroot.args [option build.args] |
---|
75 | destroot.destdir --prefix=${destroot}${prefix} |
---|
76 | |
---|
77 | set dbdir ${prefix}/var/db/mongodb |
---|
78 | set logdir ${prefix}/var/log/mongodb |
---|
79 | set mongouser _mongo |
---|
80 | add_users ${mongouser} group=${mongouser} realname=MongoDB\ Server |
---|
81 | |
---|
82 | post-destroot { |
---|
83 | if {[variant_isset universal]} { |
---|
84 | system -W ${worksrcpath} "lipo -create ${worksrcpath}-i386/mongobridge ${worksrcpath}-x86_64/mongobridge -output mongobridge" |
---|
85 | } |
---|
86 | xinstall -W ${worksrcpath} mongobridge ${destroot}${prefix}/bin |
---|
87 | |
---|
88 | xinstall -m 755 -o ${mongouser} -g ${mongouser} -d \ |
---|
89 | ${destroot}${dbdir} \ |
---|
90 | ${destroot}${logdir} |
---|
91 | destroot.keepdirs-append \ |
---|
92 | ${destroot}${dbdir} \ |
---|
93 | ${destroot}${logdir} |
---|
94 | } |
---|
95 | |
---|
96 | startupitem.create yes |
---|
97 | startupitem.executable sudo -u ${mongouser} ${prefix}/bin/mongod --dbpath ${dbdir} --logpath ${logdir}/mongodb.log --logappend |
---|
98 | |
---|
99 | if {${os.platform} eq "darwin" && ${os.major} < 10} { |
---|
100 | depends_build |
---|
101 | depends_lib |
---|
102 | pre-fetch { |
---|
103 | ui_error "${name} @${version} requires Mac OS X 10.6 or greater." |
---|
104 | return -code error "incompatible Mac OS X version" |
---|
105 | } |
---|
106 | } |
---|
107 | |
---|
108 | livecheck.url ${homepage}downloads |
---|
109 | livecheck.regex {mongodb-src-r(\d+\.\d*[02468]\.\d+)\.} |
---|