From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- dev-db/mongodb/Manifest | 49 ++++ .../files/mongodb-2.4-fix-v8-pythonpath.patch | 11 + .../files/mongodb-2.6.10-fix-boost-1.57.patch | 13 + dev-db/mongodb/files/mongodb-2.6.2-fix-scons.patch | 35 +++ dev-db/mongodb/files/mongodb-3.0.0-fix-scons.patch | 35 +++ .../mongodb/files/mongodb-3.0.14-fix-scons.patch | 36 +++ .../files/mongodb-3.0.14-fix-std-string.patch | 83 ++++++ dev-db/mongodb/files/mongodb-3.2.0-fix-scons.patch | 49 ++++ .../mongodb/files/mongodb-3.2.10-boost-1.62.patch | 15 + ...6-Replace-string-with-explicit-std-string.patch | 283 +++++++++++++++++++ .../mongodb/files/mongodb-3.2.4-boost-1.60.patch | 84 ++++++ dev-db/mongodb/files/mongodb-3.4.0-fix-scons.patch | 35 +++ ...4-Replace-string-with-explicit-std-string.patch | 302 +++++++++++++++++++++ .../files/mongodb-3.4.6-no-boost-check.patch | 11 + .../files/mongodb-3.4.6-sysmacros-include.patch | 38 +++ .../files/mongodb-3.4.7-no-boost-check.patch | 13 + dev-db/mongodb/files/mongodb.conf | 8 + dev-db/mongodb/files/mongodb.conf-r2 | 33 +++ dev-db/mongodb/files/mongodb.conf-r3 | 34 +++ dev-db/mongodb/files/mongodb.confd-r2 | 12 + dev-db/mongodb/files/mongodb.initd-r2 | 26 ++ dev-db/mongodb/files/mongodb.logrotate | 13 + dev-db/mongodb/files/mongodb.service | 10 + dev-db/mongodb/files/mongos.conf-r2 | 30 ++ dev-db/mongodb/files/mongos.confd-r2 | 12 + dev-db/mongodb/files/mongos.initd-r2 | 26 ++ dev-db/mongodb/metadata.xml | 29 ++ dev-db/mongodb/mongodb-2.6.12.ebuild | 183 +++++++++++++ dev-db/mongodb/mongodb-3.0.14.ebuild | 174 ++++++++++++ dev-db/mongodb/mongodb-3.0.15.ebuild | 174 ++++++++++++ dev-db/mongodb/mongodb-3.2.12.ebuild | 192 +++++++++++++ dev-db/mongodb/mongodb-3.2.13.ebuild | 192 +++++++++++++ dev-db/mongodb/mongodb-3.2.16.ebuild | 191 +++++++++++++ dev-db/mongodb/mongodb-3.4.3.ebuild | 189 +++++++++++++ dev-db/mongodb/mongodb-3.4.4.ebuild | 190 +++++++++++++ dev-db/mongodb/mongodb-3.4.6.ebuild | 191 +++++++++++++ dev-db/mongodb/mongodb-3.4.7.ebuild | 189 +++++++++++++ 37 files changed, 3190 insertions(+) create mode 100644 dev-db/mongodb/Manifest create mode 100644 dev-db/mongodb/files/mongodb-2.4-fix-v8-pythonpath.patch create mode 100644 dev-db/mongodb/files/mongodb-2.6.10-fix-boost-1.57.patch create mode 100644 dev-db/mongodb/files/mongodb-2.6.2-fix-scons.patch create mode 100644 dev-db/mongodb/files/mongodb-3.0.0-fix-scons.patch create mode 100644 dev-db/mongodb/files/mongodb-3.0.14-fix-scons.patch create mode 100644 dev-db/mongodb/files/mongodb-3.0.14-fix-std-string.patch create mode 100644 dev-db/mongodb/files/mongodb-3.2.0-fix-scons.patch create mode 100644 dev-db/mongodb/files/mongodb-3.2.10-boost-1.62.patch create mode 100644 dev-db/mongodb/files/mongodb-3.2.16-Replace-string-with-explicit-std-string.patch create mode 100644 dev-db/mongodb/files/mongodb-3.2.4-boost-1.60.patch create mode 100644 dev-db/mongodb/files/mongodb-3.4.0-fix-scons.patch create mode 100644 dev-db/mongodb/files/mongodb-3.4.4-Replace-string-with-explicit-std-string.patch create mode 100644 dev-db/mongodb/files/mongodb-3.4.6-no-boost-check.patch create mode 100644 dev-db/mongodb/files/mongodb-3.4.6-sysmacros-include.patch create mode 100644 dev-db/mongodb/files/mongodb-3.4.7-no-boost-check.patch create mode 100644 dev-db/mongodb/files/mongodb.conf create mode 100644 dev-db/mongodb/files/mongodb.conf-r2 create mode 100644 dev-db/mongodb/files/mongodb.conf-r3 create mode 100644 dev-db/mongodb/files/mongodb.confd-r2 create mode 100644 dev-db/mongodb/files/mongodb.initd-r2 create mode 100644 dev-db/mongodb/files/mongodb.logrotate create mode 100644 dev-db/mongodb/files/mongodb.service create mode 100644 dev-db/mongodb/files/mongos.conf-r2 create mode 100644 dev-db/mongodb/files/mongos.confd-r2 create mode 100644 dev-db/mongodb/files/mongos.initd-r2 create mode 100644 dev-db/mongodb/metadata.xml create mode 100644 dev-db/mongodb/mongodb-2.6.12.ebuild create mode 100644 dev-db/mongodb/mongodb-3.0.14.ebuild create mode 100644 dev-db/mongodb/mongodb-3.0.15.ebuild create mode 100644 dev-db/mongodb/mongodb-3.2.12.ebuild create mode 100644 dev-db/mongodb/mongodb-3.2.13.ebuild create mode 100644 dev-db/mongodb/mongodb-3.2.16.ebuild create mode 100644 dev-db/mongodb/mongodb-3.4.3.ebuild create mode 100644 dev-db/mongodb/mongodb-3.4.4.ebuild create mode 100644 dev-db/mongodb/mongodb-3.4.6.ebuild create mode 100644 dev-db/mongodb/mongodb-3.4.7.ebuild (limited to 'dev-db/mongodb') diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest new file mode 100644 index 000000000000..108fec47311a --- /dev/null +++ b/dev-db/mongodb/Manifest @@ -0,0 +1,49 @@ +AUX mongodb-2.4-fix-v8-pythonpath.patch 439 SHA256 27728aaefca317287147d10c1b9e4331d4d4ab5c813356c32067699f22f4db72 SHA512 8d8a73eaf605cac50fe429c7141500bbc0e4f308c35b36b4ec48b4123f3241b6f5dc2670725bc7caba5769949b254874e9c36871142635c552a4c2d05a339d2c WHIRLPOOL ae1e88085c8db0f6244f3e286c8af5e8fb5b3966a204c0c104a094d27b5832b339b6ffe60f9a06ebdd1c8ec4eee94b3d89cf3b732fed88eb84668475c1e544aa +AUX mongodb-2.6.10-fix-boost-1.57.patch 482 SHA256 e6a633a5bbafebe3e9b7e6f8775b189bda8840e2119c4df0ada97a2b1f492073 SHA512 23ce6b7c7b1d297ed45789e0b6486e699e2353bd4d3c7c0249b6df4efeb06695224e68f198f5a3c424e60fb20cb3f3d0b5d34f3ccc3ebcb9f964683acc5a4a5c WHIRLPOOL 167a68f3ff651fbc6347de4e780477ccb8b80ade178d573afc58b961a182ab5921d6bd3e30e1bf789b2276d76853f930bdf263cf97e36dab94794d9cb28a3f66 +AUX mongodb-2.6.2-fix-scons.patch 1448 SHA256 a2628d1ddb55d7a7adf9080d39ddd9a88980ecb27546fd04b74b01d478560165 SHA512 acda6ee27bf2b9a75bb2a1484fa8754e4dc700e5bd835e9f48b528a89e46a6236c38b68d42d58be6bd504d6287f673e6d71d07807e42c93fd0bd4d492387b8a6 WHIRLPOOL bf3ac06028abf8bacf9631cc763258c436842b45ce36283f5eb2083509c7e05fb854d1099c8f639c6c6282df14dc22bf1df2c416f784be9fa29afe58b775ec0e +AUX mongodb-3.0.0-fix-scons.patch 1455 SHA256 195fdc32d431d23420c33d25b6ebbaedba4a37bd21b6f5698fa3421db70b0a4d SHA512 2dcf2679a520028babda9dd05a593dcb8c935b7232477cb31bb6f3c4240de333f8b463134a27776bd1fe1ac346fe7a44a559d65c47885712b20620ef70654a92 WHIRLPOOL 736b26c4724440729c5f748493655ffff5e9153ee10e2982ab054799a33fe0d4389a0efa922a891816168eaec7c237a3836efe682ee9f13efde22150cb29a4d9 +AUX mongodb-3.0.14-fix-scons.patch 1419 SHA256 b23c96e9c6c7d050c390a2ea656f27f8b2feb6f9286ee27c82c3e876f9e495a1 SHA512 2cf591ee25d33adf98ca6baeb086fb8677720809bc3e2b9398bba6ae84548b2aa3dfd57216e185fc6aa0aa185c9a906fe2a1b97bc81942560f02903b24f7bd25 WHIRLPOOL 2fb334eb1b80c22dd1bf0614f4f733ae096321a2382f9199b3ea8fa5ab2200f960fa247fcc6f9a7ec369ec599b635c087440ea1964b6a92edd50608d5527ec0f +AUX mongodb-3.0.14-fix-std-string.patch 2341 SHA256 f82bb7bdf457c665308159a1bc7fa0ba6f98bca23d03e3a4273af88a2b531d70 SHA512 1c1d46f4d058685371914ac70c8ad36fba387e9a140ddfd5650cf0411a73776d7b8ef6108a778eaeaa5ba22eba0e16b2301d257a47250a67e7e013d7bb402e47 WHIRLPOOL 6fe6af8464bc7eebdfdf1a6a9d0e7cebac5c203b10dabaaa83718f00904a1e5d158d1c63ca84d331d56a3d6b61143c85d4fe9f0aebbc0587fbefa2c2f2b01355 +AUX mongodb-3.2.0-fix-scons.patch 1738 SHA256 1f269f83a0c5c1a44749ef35dd803b8f43facd3e80e6e85c79962d73929c4645 SHA512 04f95586b46960405b7b1906ea3c3c75d37d6831a458f619347ac028c77db5744131cb7bf39cdf62bf564500b1f6785e25b9a0c0526f126bf2072269385afe45 WHIRLPOOL 6a73736acdd53384af3e1426b8a1c1b4f0f0d5bcdc7f2cec2f89ae169f00ceda9a7caa2cbef4e9a9c3c23ef2f1745a68a0f6a8534201319a976615842102f353 +AUX mongodb-3.2.10-boost-1.62.patch 702 SHA256 bf373d1514b7947dc4747e11babf87a4bd8e7d581781c6771a844e69c1c4d273 SHA512 79edfd1a6eaba597b31a82e54722dccab288d8b8840a53f79140b5fca221b5acd9fbc770d99e46ea9fa0da502cdf18dd35d982c95a4aa341806c3d8b61fc732f WHIRLPOOL 4c489e4a5f058873ec6b9215610fd20a73c733699856141b68e6c717977f9620f3723d2c40436cd4963b96ae49dadb6e0227b5368df5a08871cc70d9b12e60f5 +AUX mongodb-3.2.16-Replace-string-with-explicit-std-string.patch 12636 SHA256 c55afdf1ba8d513b7e1ee68ce895c20d45e5eb20666c72cbc982a6fd997fc61d SHA512 43a610b0c37c74576ef3e3df3734c4d9d904271dd3853003ff439f61099666a356ed5d4f046573a753c652dfe1e1c1607b1abe041482b740fe828f543272646c WHIRLPOOL a65574dc682ab6399d7a8f43501a13546e8aaffce786434d18585f41e9a7820d5e1dd9d41325d7517e0ca49311770b4d4d0d981d29689769ee64928bf042d79d +AUX mongodb-3.2.4-boost-1.60.patch 3352 SHA256 c473a461950dd1397b4fa22af8e2e779925847de56fd50e6d525f3bcfb8b3d75 SHA512 260c3edc3a04f3fae9f18fb73b3ae027709aa019751627d1a24b2ee40a72f91ef9de64606aff32c0890861fc56ae3c80341ba87cd16fffdd009b4fa5089c70db WHIRLPOOL d952fd59365a9b85e92774052fc5a9324f1c0e916cf9ad0fb1723da1e88772a3ec0d6f6eb15dd73527597502fb466b7424671e087943bb6bb13185bf3d0c468c +AUX mongodb-3.4.0-fix-scons.patch 1411 SHA256 d7f04f05dc540d992b355a0c4ea6e45a50116526af9e9d887120ce6027248958 SHA512 2e29c91a22663259d2f5413fbb2652702bceb122899e50a8969fb82d74a64a78649e79b005e20e6640740c089b1cee19080890eb8d9344c2ce355a977146b770 WHIRLPOOL 6619adf75585676a89c263d9f6964c9b37dbc9e22df1f49cb594e0ce8be3c5ff9f41437590549723f89cf5dd44624f4df73cb01cd5911b7ecf90208e8af93a06 +AUX mongodb-3.4.4-Replace-string-with-explicit-std-string.patch 14244 SHA256 56c7d7a3076aaf799fcc7b94ff7d3adccccd71a52cad9345a86afc142a8ec42e SHA512 2f01729c2121fdad368c1bc157e4648ff933673107f3d1fb7de1a65e2bfc3a41c678eff345a5060bf26d45636947337cf2b5136a69ca06c012574a91a57d959a WHIRLPOOL 4e1f69a936fcde23c66d123990de4209b2f532e6efc2a1650a517249238c3e59075af82afe44783727caf6fd2eb7b1ae3ae5fa13be9b317d6dee8924fe2b28dc +AUX mongodb-3.4.6-no-boost-check.patch 617 SHA256 752847edb3ecc03672835e8085d6d8a1c020f96b44958c5c7d7e7d0200e298bc SHA512 a7047a0099ff5d0cab7efe60b6980df51b360a6b9750b8c6b4f6b841d9c98f0cc16f8d322de675ec9e97126d03081d4e574abd9b87c6a6c8b34481d9f57c7eb5 WHIRLPOOL 38767c0819c85168d5e37f32b08af73bdef3daa83a947e230ebd3db399fe6afea0bbbb988bd2f0100cdbfb6f5860760bc432ab00483247b7149b283b1e42bdd0 +AUX mongodb-3.4.6-sysmacros-include.patch 1419 SHA256 9ef54b5e58aab228b4ff97374815c8c508be06f6caaabaff295c3f9dc9fe148b SHA512 ab269ec003b74848f981021f5eb09e38216d75dd9d1b8a155068b2a335d9ec9d1f5f575028ae9b4b0d8745d15e464cb05b70aabc6c28c984115574c6747afc05 WHIRLPOOL eaa5a1ff6e4cccdfa20233a22da5ba3453d66bc16f86f370f2750453cdf5bd8ce81160e6c29abd972a95eb1d00f944408328653314b38000c78dd086d5e84e72 +AUX mongodb-3.4.7-no-boost-check.patch 641 SHA256 320763c670703418016b1f0cc176c51fdd28daff2eb7d5cf6f8de759f549fbde SHA512 812eaaadb6f265cfc904e8f3a7ae8276e42e3968529914179efab5e44f1951ab46ac3bbcfb259f924b20a8ca61d2ebcf72b7103ea9d5f25594ff8e9e3e85836b WHIRLPOOL bd3534095ac829466231bc256deca4ff57d27b53a49e1b4d74fce46518263e51bf11f956f8235c759f216c59f421d35b4f144c16b096e7ec4eb768cc2cd395ad +AUX mongodb.conf 246 SHA256 8010ce728d657524cd76b5afda7ffbc1cc389642336b12b89cec5df2b09fc0e4 SHA512 05dead727d3ea5fe8af1a3c3888693f6b3e2b8cb7f197a5d793352e10d2c524e96c9a5c55ad2e88c1114643a9612ec0b26a2574b48a5260a9b51ec8941461f1c WHIRLPOOL 17a27daaa7892140d741256cf9acaf2f2909a545f350c936183aeb7b6671c25a3dc11f191b01ed008195965b8cc39b49f1a3a8c69cfd90c4ca57b9fa2732beff +AUX mongodb.conf-r2 698 SHA256 780fa095f5eacee59f3f683f225fe545c8ec93a27157894885d5f4656a6ae15a SHA512 15480651b5e7b1927b95d633193aee08def71e2f9ef6438f93972e359b2605e51ce6f071f5fd64b73b2bf4db58710a04634a36144db2c2e585588098d69b66fb WHIRLPOOL 2d2d2bf793ae5b1c7c27be227001c3eeb1a76cd620ce8e3882e7d43f10625df8c21d8452dabeef4b8cb750246436d57ad900f915aadd74dcc02c9341ab5d343b +AUX mongodb.conf-r3 722 SHA256 b4009296b3e794fa1686aec0502b01431e94fc4754cb66d1f00bad64dcb24e72 SHA512 ef193bfed673477aa0e868114bd52be6675492c164f218c71ccd02c4a620b5c4799ea1d18df0c3f2b364027b9f25e60ac4475bb216b25e1dc10bfd00a9f5d45d WHIRLPOOL f536abc8102f20c94bf19c9691345a31eaed84768a413d508437b0aab5100e36cb29f193e0d90e1b76d13892789bd9a9bd815d0f76491df0db375315df7a135e +AUX mongodb.confd-r2 549 SHA256 6275df7b1bbee218545331d68da3814d0e0fa89d3b30e21370bbeb776dd19e0a SHA512 75f11e8350e98b90eccafd577d794e4b05f36ede8d95e7839e9fa1eb77ea7bd9cdd2fdd07719abb78a714cd7d72109c177d265d6417ef198a4217453c0a4db68 WHIRLPOOL 974eeb5dd58d52670121b2e8e687250cae4d5c49ec020dc30746bf39356762d63f41371526744f2b9fdd657134e7570d7501a3ce5995e830e039cc9eeb8a427e +AUX mongodb.initd-r2 654 SHA256 aef830c770a9f58ae55fa73caea31eb9d1a2d18c6e2ffba186848aa3f67e860f SHA512 566d47356ef956ee44b170b4498a6361583efea5a01cc3a7e0936c0abdff3100b535eb1259434bd7a68de354b75d165e543362bb93f1fb527b1605de23557398 WHIRLPOOL bffff8adb48c16522adc0226262e4015e74d72367148302f7c6c1897f229eb2210b102d731db257224d142b0cbd3c8f4ad0d99ab1a58e79ce1f943fee3618a5a +AUX mongodb.logrotate 205 SHA256 76994c32d999def5c925bd7be3f96687b3406f1d67b89aa6a4df8053025b1e01 SHA512 8c089b1a11f494e4148fb4646265964c925bf937633a65e395ee1361d42facf837871dd493a9a2e0f480ae0e0829dbd3ed60794c5334e2716332e131fc5c2c51 WHIRLPOOL c1d94339a6e58363ba37bfd0f878ea6db403eaee02aa030891bfd54af1a61e34622286e560ba5217201435a745217b2da55d857fece83d5a94b12d915ad2940c +AUX mongodb.service 220 SHA256 19f55ab28652b3817e98fc3f15cc2f6f3255a5e1dfd7b0d5a27c9ba22fd2703e SHA512 177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9 WHIRLPOOL 0f6e032acbc7f625b03dcec990126cef064925a341e38c27cddbed5a951c8cfeded00ee3b8b0d9044245c833e86748262434665342e6baa98500fb02c07f4281 +AUX mongos.conf-r2 648 SHA256 d1bf479cee999b4e59e5100c134cd3e7af4bb126342418100cf8f9a08a26f6a7 SHA512 5aa8ced8d83572358e008c0df45dbe72a2e9c0003c9f49514d6b91bf9b75d4fb48b189ffe00d14e5675679943a05215a9873c5c9bde9ab1be4ed4813e75714e3 WHIRLPOOL f1036ea1bd7efa54d28d131dd1bfd1e06c1c3ffbf247ee68a33eee0383d87bf3bfa6639040e6b68a0a14cce0bd77bd5b91a8e245f615007fccccb0cbe2becd84 +AUX mongos.confd-r2 546 SHA256 1378a880ffde0efae213ac6d6d4bbe2181c92fbb06535a58c2dab06ef88ee8e3 SHA512 30e208690b5f28bd0442b7ed302d9be991aedd27203f24e5849201d33291ad7f0f9153ae3a00b55697d79a45c40d7b3792ff45f0c24ef2cf4e88222f88ea1400 WHIRLPOOL 68b8eed779e19261c4d13ebd6be8c11b6df94e748bb8f03d632ecbfc5fcd151a693e51c5a4ad4f0af9439d07dedafc29bd9b86b5a532bad48d570fca73002987 +AUX mongos.initd-r2 654 SHA256 02afad9fb6cbea2a04560549931a300faad8afe7a26eb0725f53bdc731a8e62d SHA512 751ddcfa406d6683e33b484ae441f7c8502698b651a1ace9b77bc13be48cee1c1ad657c474764f06bd8ef4bff51cdb235929c8d41b669a326a6ab7d24647a2c5 WHIRLPOOL 8d4ca5e052528e4f8bdf6899e3d87cc87e6f543a5df5568eb824f01217b9906ef288fdb560899f94af04366992777cec0c79bd34be2e5b1081aac2a50d9504e4 +DIST 20140409-mms-monitoring-agent.zip 40122 SHA256 9c4f89cfba10b4604512ab21eb082248104aeabe7e813b852db2b86f47d7ecb2 SHA512 5290a813c407251b5e4def813ce6fe7e09d6c3a1907fd409e326b15b07aed39f7db3a28710ecdaffe2771136c9433253c5d1857c823844a4b75dd38f1d15eefd WHIRLPOOL ce80870e2618f3d9ed80af41b1069ed5bd97af475089564eed1bc111e820c048bc5cbaa03f859349e772fe232f876127e0627c75c135a9b2e196ab13258ed9f1 +DIST mongodb-src-r2.6.12.tar.gz 16462842 SHA256 2dd51eabcfcd133573be74c0131c85b67764042833e7d94077e86adc0b9406dc SHA512 ceed10f2da50ca390f56cc79d39ea4db7a1ef6764e37dae61c3f3f664708be72de09443bbf94f8e58479e4f2923ff2ab9eee45652e82271b3bad591e03ef7657 WHIRLPOOL 1587ef45ee17f9e3357a92b480ea739192076ead280c44c801650d01d2ae29a627a96db611eac6c9b6b47e5e619e2362df94e1792348709b3ea5a4970a8751a0 +DIST mongodb-src-r3.0.14.tar.gz 28093922 SHA256 ebbb758ca7ee53e8d25e2410bb7ef61640829566d094cde2487b55e73d0fd880 SHA512 477fab29ca0ad2a0f24b895e30dc4770af8d6a1a57f3c10a02a989b58dd22510db554da0418129d4e81958342ad169696eed4b86bf5aa73916c7cec879db1152 WHIRLPOOL 7fc02969c52954f0fd9b90ace9efd3677a9d6b8d3618b5dedb470343a3ba71789d451cc30a95742b2b9e61b21ffe0f1a23e239e388a497a327f2cc8ed1ed6aef +DIST mongodb-src-r3.0.15.tar.gz 28096395 SHA256 09ad76e06df007085520025c94a5e5840d65f37660c2b359f4962e135e4ae259 SHA512 21cec235a691dad7d1d2c625ef04a851b59223b8f2c0bdc979f2a0b8249ed46b4e62753fd595afa7b74bce13851d1f6547e54d8ffad8ba1f56e36db664f5b27e WHIRLPOOL 18bf58af05dfa23b0156615578e9a880579ad178416cfe6ab1e77c1a11bc82ebfc2b9e274defa3b3e6f97400677cbb3155353d03c75cb799626c29758cd76238 +DIST mongodb-src-r3.2.12.tar.gz 29178424 SHA256 406ced873a9abe8a3f0f92939bf5374663bac86c72181c80bec144aedf6cd306 SHA512 0c4ddaaddf15d97957faff46dc4a3f79c545cacc8a56dbe1d063778117ba9b645323b0cb7fd054fae805d092b8372c411a82e3370244b7939bda20a65fdb951c WHIRLPOOL 67673788859ea99752f2e0d1d8c7feb40b004efc344a2a589553675be7f9020ed384cb4a9000bb7eee0059105af364a722f17890ea3f0d38508b8d045db7da75 +DIST mongodb-src-r3.2.13.tar.gz 29273616 SHA256 31492b99d12d6363a6ebcbba32269ce9e97dadedda8c470cbff8c1af227e9753 SHA512 649b599da65fc205a6e18cde82da6153fb4c03a21cf679e18fb57f705ac168690a37f9520be1242278bc0fe441fda08f1c10c9924cabc636ba153c545d32f91d WHIRLPOOL f7ac6c5a14814650c4bbb52f25d710613ae3aa4011f2600f4727c0c81d83ec33c9be9ddac594e6a2d1ad4556bc6c9de71d3a11abfb3bd2883322ab85010ae905 +DIST mongodb-src-r3.2.16.tar.gz 29293555 SHA256 7a8b1b16f3fa545af16f48aeef1f918f57d96a80e1ceb6e669cdb81fab6511d0 SHA512 ba57aae430959f7df036b7e19e1b7d81956184bededd35631616c6e3dc9423dc79a50ab3265bc48b06d198a7043bca902aee2ea75954e38151ebead5b5ab2db2 WHIRLPOOL 0ac7b7cfae8b8b3727dc722c616eb576b3ae3aced5340b9fbd9a995d9f55552411c0507cb43a7378fa35187cf940d72d86ee20d08762f87bb4ebcd13eb697f09 +DIST mongodb-src-r3.4.3.tar.gz 39832718 SHA256 889d49312ed072130936cfa3281123a0e89228c04f3f8e992a0b92669b28d767 SHA512 e2fb5fc2f02e9dbca6c30d2e2aaf1569180ca15198226cdad46f47f44905293afe77763fe2e5c9add0b5bcbd62b7ce7905fb183068c0738cdeeae8d39f848cef WHIRLPOOL ba6fa864249cc80e5f65feaed685980b874b46bcf975142e15fa0eda3e474cc85388920e152474dc5527a30d215c309db6d471c716e6bbe374193ff6016ba22e +DIST mongodb-src-r3.4.4.tar.gz 39867133 SHA256 09e962bf3428474b9790bbd464cb6176817f9da6121c30e096240dbb4d51c9f6 SHA512 dbae89b49c363e7258021cd31385e4449bfdfdfd5adfcb1683e4431372731e58ec33bf8f7576d2d52659a52461bd6a32fbc67d5c6e36d52184ec1aabb345d940 WHIRLPOOL 5ad9f80c7f0f597982a32f95365df961fcd80ffa7c04183f9cb4952a52262a27ab09fee4d0115405c5197b6d3848ede56c9a4e5012ec1c358ea8c752164405c2 +DIST mongodb-src-r3.4.6.tar.gz 39922209 SHA256 8170360f6dfede9c19c131f3d76831e952b3f1494925aa7e2a3a2f95b58ad901 SHA512 68da2f385a5e1d636f1699b13818e125af2b7f13c6ff74d5f6dc8f9e04025f9baaa23acfd386118d90ac0eb8b9b7dfbf5b00f1db580a1ea1fe2309361f46eae4 WHIRLPOOL 71b9f42a192b41c797763a02eb8b318488edbd7ffaa149497d3dea5c446c43ff078d24e48971ce4644d54767bcb848e1acaca3e17be9e8c50bbdd349e0d05fab +DIST mongodb-src-r3.4.7.tar.gz 39936247 SHA256 9272e7663c7915e09ad2609e28c58437d760d54a9552c711ea735cd8e1784ec0 SHA512 30f4d0dbd487d148531d7073881cd55db3fef3dcfd199e260e1a51858c5a2c28dfe904d1273b89b27b2fbcde23c3a301a3fa24766489ad6eb2daa25da31d3182 WHIRLPOOL 0ecaa271f9fbe634404aca2d13b0bb0ef47847656fc2825f5ff220655bc213df96170ec6009efc033c5e0a50baf7afd400c240dcaecdaf03fc356138121dd928 +EBUILD mongodb-2.6.12.ebuild 4683 SHA256 b9e07ceec39c1a0e792d1825c25c1c2172de3d875a133dba0587911d4e77e2ea SHA512 e7a8aa76abf8c50c588411a0fc75b9723d1261784d30aa6a0908ffdb6addfa212a9008da68adecd8d49372c7be29050cfad3c06b219f9696ce4e0eb0ba56e5c2 WHIRLPOOL f98d328336e27679f1c3ce383f05234b55bfc840be3917d3c3b07aba437a4890250b2d4f2693cf37306e6ed91ad01cce054f4b0789ff5d8a159c40dec9790a06 +EBUILD mongodb-3.0.14.ebuild 4559 SHA256 50dea173c26b90ecf2e6eaa263ff8fb6ab57a0ca5f103caa97bb54b3f0c54960 SHA512 747424cae955229f6affd867961171d9ad3fe9c34553ddb94e034db76d4e389ba0c6dc47db23c291212b893b7377d1bfac52e79ae4ab1b9dfd8f4c89743e1a19 WHIRLPOOL 13bb75aa3cd7e6a19f9deacbd78679001f622776586b7e65543fd34a325b6c086d6837df191891daa932fcb4acc48d755d278a41e5dfc2a8e36af54f155c9177 +EBUILD mongodb-3.0.15.ebuild 4561 SHA256 89cf9eabd07b61fccc1648ada55f076664f1624fea849f1b6321cb0bbc8119cb SHA512 9385be15a82a988a0f829ffc8e10cd6a093d92f866f57a1b9ebaf87d8e66f90bdbbfb122b8f68575c3fa7ff4667df5f1d2b70c97653caa688012e74ba595033d WHIRLPOOL 22881f43fa9a2813d8fdf1d24f7876a870428094bfb3c4856bc73ed438635474d808a1ae912132042fea8d125b811d25aa231c318d137aab61ff386d274181b2 +EBUILD mongodb-3.2.12.ebuild 5160 SHA256 5e85021266af5ccb8ee6631be7f8f7263bfe26c1062caa769696d247bba7d53a SHA512 79fe16c3ce86b92ba74f353d90eb37d3033c04a8bd7d30b680bed206aa8af3052d8fdec99dc59e7078a7d5ce9d609a886cb6ee89176e8ee0f7b81e42f9820dd9 WHIRLPOOL a282c5bdf69ae2d0b968a06604970614d4d5928dfe50994bc66125b1af3f84674116711b46d222468f19472f724d120aa3182bc3b818c3c7a8f85016c9241f67 +EBUILD mongodb-3.2.13.ebuild 5160 SHA256 5e85021266af5ccb8ee6631be7f8f7263bfe26c1062caa769696d247bba7d53a SHA512 79fe16c3ce86b92ba74f353d90eb37d3033c04a8bd7d30b680bed206aa8af3052d8fdec99dc59e7078a7d5ce9d609a886cb6ee89176e8ee0f7b81e42f9820dd9 WHIRLPOOL a282c5bdf69ae2d0b968a06604970614d4d5928dfe50994bc66125b1af3f84674116711b46d222468f19472f724d120aa3182bc3b818c3c7a8f85016c9241f67 +EBUILD mongodb-3.2.16.ebuild 5180 SHA256 11f821c2c99c402582736bd486e673bea008bcdfc4a090c10c4ff406af13592a SHA512 181671beb49d13d96797b08e4fe24d2603da3b1e5c07ef3f51d59a1fa4f28182f27a504a8b17d2cf0f47a2235af86ee4a397472b706884afb0e57ef8ff3cffd4 WHIRLPOOL 3a19a70268cd4aafc785ec051d1bc39f038f01335f971c3951483dfae785279f9e77ebd9bc9a181ff41d27f520050fed7445225eb2e1864bc16b3c6024618711 +EBUILD mongodb-3.4.3.ebuild 4991 SHA256 d80acf1c9e41145289f7a6b9a726065c7e04df18df365d229bffcba80dc22175 SHA512 3338544cf467e182d87bafdf765dcaf11fac907a9ac40731e27b9bfb0562c3e84334ec3d9d3f165ffac5fc933c1e6ebab356e4bddad5bb6127b6a9d44b4227d5 WHIRLPOOL 1d88dd17d216a7534e575ef3b36552e91312be488581e4569518994bbd743c5f5345c1ea3576f943c75e6a0fdbeeb28cff6e052458301827888b96d1ddc06fef +EBUILD mongodb-3.4.4.ebuild 5067 SHA256 f57f1806f233174b6053f2b5537c738b840d5b7ccf93498ba3a180600e0d46b3 SHA512 d254fcfd2be4462ba36fd51ff55649eca890a83087b8514584d286564816dd2c9e32f96231746d30c38188f94757b01237e18899bae46ecca9ac60aa7db26f38 WHIRLPOOL f95712fe42a22c9a6e4a70568db5d569b1d52d23d5f7210ec2bd24477a5202b05d55cd097195b45584adf27dbfd7506943f3183927f7a0fb194388b0e64f3d79 +EBUILD mongodb-3.4.6.ebuild 5111 SHA256 82daf6f9d8c5e2e6e9adedc3f87e7d6fd4bced645b5c5779fb920d7a63c7c252 SHA512 3f7a4fb7fcfa55f24e2ce4a22bc227b5b69ec21243569c9e4ee272e385b56dbe6986387d09f2b5d90a742e4302f88f3740f8c5e5b2c269b06b4c409b3c339a76 WHIRLPOOL 3eca6a59b8d8adf761f321765d848b80cfd030752a36e52a66da463e6866fefd3270039ed1863cc7d2bcdeb3b3f9818d5ed35a21639a2a55449f4ca70e8f2d0c +EBUILD mongodb-3.4.7.ebuild 5091 SHA256 5ea93a46e08872457d83fdceaa57fa4ef16389a20d3a6c3c5d7d8d14c2cb7b4f SHA512 0e2d5151ee5326ec606b170a902b2672d456de911170001bb4bb49394636b8ca4994dec251636c54c3cead203b04c516dffeb21e698f502d54760c6b6bdd3c7f WHIRLPOOL effb9368d2e7b2d768b0674b4b612a72aecf5a18dc620561bf4adbff3ed9076c0ca39260102318321805032ee68f0b970003a7bbc38dcefd796b70be687c2a70 +MISC ChangeLog 11694 SHA256 2a53f4136a8358cc02fbdc1c6c0dea500c5cf58d01a5879fdc45f01c3c10891d SHA512 88c23a8f81788cbf66e952edfaeb92c9d81754a86539f808d467abf2dfa9c3e5f0d64679692cf3d28c75cae377478fd7c9471965c76607c0f5c43fb723add98d WHIRLPOOL bec26640ffacf717f31061f615f9092ed2af63e16c3f1e86907b1eca189b19e43bfca52e71a4ba4aee5a0b3574a900ee4e55c5d54967489ba6ce7c788117133c +MISC ChangeLog-2015 25355 SHA256 a3aed548a6ffb7287da4945eb5bd03d1fa13d900600ba8b9349065276684e916 SHA512 efaeaa046614ab70a6e790cd9af861ec98a6472f62f3362cc1a935e12eceae8e00bbe210abec070eae6bba6cf791b69b937744acf2053ef2eda7458eb6b62efd WHIRLPOOL 22ad53f03a3f038d53fc8143b2a8a729c0157efe458a7aabd48ea753bc37b90c7424dc5103dafac750db40a47296a8624e566789fa49c71f54d479af860550f5 +MISC metadata.xml 1112 SHA256 1e6f3abb5e292c4df14b673502b88e0636043fb4f3445ea9c050753cf04dbab7 SHA512 39b9bd8afc1c79382130c691154eac4338810fb4069406482648d32fd2aefd5d3697c272321d300154be2e4d37ac10f1372c62687d9c41ca0d3682b0152a53c4 WHIRLPOOL 54e2e1f9465ffa8497a5637d8fae65e34b0c62b8c569344cd02fe48fd51b4c8bdfead6e396b3515b5653459e3cd31f55b1d15af143b2cf8f343af2e72fd83dcf diff --git a/dev-db/mongodb/files/mongodb-2.4-fix-v8-pythonpath.patch b/dev-db/mongodb/files/mongodb-2.4-fix-v8-pythonpath.patch new file mode 100644 index 000000000000..19efad676839 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-2.4-fix-v8-pythonpath.patch @@ -0,0 +1,11 @@ +--- a/src/third_party/v8/SConscript 2014-05-26 11:00:37.725508098 +0200 ++++ b/src/third_party/v8/SConscript 2014-05-26 11:01:13.265029083 +0200 +@@ -29,7 +29,7 @@ + import sys + from os.path import join, dirname, abspath + root_dir = dirname(File('SConscript').rfile().abspath) +-sys.path.append(join(root_dir, 'tools')) ++sys.path.insert(0, join(root_dir, 'tools')) + import js2c + + Import("env windows linux darwin solaris freebsd debugBuild") diff --git a/dev-db/mongodb/files/mongodb-2.6.10-fix-boost-1.57.patch b/dev-db/mongodb/files/mongodb-2.6.10-fix-boost-1.57.patch new file mode 100644 index 000000000000..5f289c078831 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-2.6.10-fix-boost-1.57.patch @@ -0,0 +1,13 @@ +diff -up mongodb-src-r2.6.7/src/mongo/shell/linenoise_utf8.h\~ mongodb-src-r2.6.7/src/mongo/shell/linenoise_utf8.h +--- mongodb-src-r2.6.7/src/mongo/shell/linenoise_utf8.h~ 2015-01-13 18:12:06.000000000 +0100 ++++ mongodb-src-r2.6.7/src/mongo/shell/linenoise_utf8.h 2015-01-28 22:22:50.538934558 +0100 +@@ -17,6 +17,7 @@ + + #include + #include ++#include + + namespace linenoise_utf8 { + + +Diff finished. Wed Jan 28 22:24:47 2015 diff --git a/dev-db/mongodb/files/mongodb-2.6.2-fix-scons.patch b/dev-db/mongodb/files/mongodb-2.6.2-fix-scons.patch new file mode 100644 index 000000000000..76feba7bfe76 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-2.6.2-fix-scons.patch @@ -0,0 +1,35 @@ +--- a/SConstruct 2014-06-16 19:32:46.274507258 +0200 ++++ b/SConstruct 2014-06-16 19:34:04.763586829 +0200 +@@ -813,7 +813,6 @@ + # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used. + env.Append( CCFLAGS=["-fPIC", + "-fno-strict-aliasing", +- "-ggdb", + "-pthread", + "-Wall", + "-Wsign-compare", +@@ -821,13 +820,13 @@ + "-Winvalid-pch"] ) + # env.Append( " -Wconversion" ) TODO: this doesn't really work yet + if linux or darwin: +- env.Append( CCFLAGS=["-pipe"] ) + if not has_option("disable-warnings-as-errors"): + env.Append( CCFLAGS=["-Werror"] ) + + env.Append( CPPDEFINES=["_FILE_OFFSET_BITS=64"] ) +- env.Append( CXXFLAGS=["-Wnon-virtual-dtor", "-Woverloaded-virtual"] ) + env.Append( LINKFLAGS=["-fPIC", "-pthread"] ) ++ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] ) ++ env.Append( LINKFLAGS=os.environ['LDFLAGS'] ) + + # SERVER-9761: Ensure early detection of missing symbols in dependent libraries at program + # startup. +@@ -844,7 +843,7 @@ + if not darwin: + env.Append( LINKFLAGS=["-rdynamic"] ) + +- env.Append( LIBS=[] ) ++ env.Append( LIBS=['pcre', 'pcrecpp', 'snappy', 'yaml-cpp'] ) + + #make scons colorgcc friendly + for key in ('HOME', 'TERM'): diff --git a/dev-db/mongodb/files/mongodb-3.0.0-fix-scons.patch b/dev-db/mongodb/files/mongodb-3.0.0-fix-scons.patch new file mode 100644 index 000000000000..b7378d8ac416 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-3.0.0-fix-scons.patch @@ -0,0 +1,35 @@ +--- SConstruct.orig 2015-02-05 16:33:41.000000000 +0000 ++++ SConstruct 2015-02-18 08:21:23.120134258 +0000 +@@ -1008,7 +1008,6 @@ + # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used. + env.Append( CCFLAGS=["-fPIC", + "-fno-strict-aliasing", +- "-ggdb", + "-pthread", + "-Wall", + "-Wsign-compare", +@@ -1016,13 +1015,13 @@ + "-Winvalid-pch"] ) + # env.Append( " -Wconversion" ) TODO: this doesn't really work yet + if linux or darwin: +- env.Append( CCFLAGS=["-pipe"] ) + if not has_option("disable-warnings-as-errors"): + env.Append( CCFLAGS=["-Werror"] ) + + env.Append( CPPDEFINES=["_FILE_OFFSET_BITS=64"] ) +- env.Append( CXXFLAGS=["-Wnon-virtual-dtor", "-Woverloaded-virtual"] ) + env.Append( LINKFLAGS=["-fPIC", "-pthread"] ) ++ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] ) ++ env.Append( LINKFLAGS=os.environ['LDFLAGS'] ) + + # SERVER-9761: Ensure early detection of missing symbols in dependent libraries at program + # startup. +@@ -1039,7 +1038,7 @@ + if not darwin: + env.Append( LINKFLAGS=["-rdynamic"] ) + +- env.Append( LIBS=[] ) ++ env.Append( LIBS=['pcre', 'pcrecpp', 'snappy', 'yaml-cpp'] ) + + #make scons colorgcc friendly + for key in ('HOME', 'TERM'): diff --git a/dev-db/mongodb/files/mongodb-3.0.14-fix-scons.patch b/dev-db/mongodb/files/mongodb-3.0.14-fix-scons.patch new file mode 100644 index 000000000000..1db5d7695c72 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-3.0.14-fix-scons.patch @@ -0,0 +1,36 @@ +diff --git a/SConstruct b/SConstruct +--- a/SConstruct ++++ b/SConstruct +@@ -1008,7 +1008,6 @@ + # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used. + env.Append( CCFLAGS=["-fPIC", + "-fno-strict-aliasing", +- "-ggdb", + "-pthread", + "-Wall", + "-Wsign-compare", +@@ -1016,13 +1015,13 @@ + "-Winvalid-pch"] ) + # env.Append( " -Wconversion" ) TODO: this doesn't really work yet + if linux or darwin: +- env.Append( CCFLAGS=["-pipe"] ) + if not has_option("disable-warnings-as-errors"): + env.Append( CCFLAGS=["-Werror"] ) + + env.Append( CPPDEFINES=["_FILE_OFFSET_BITS=64"] ) +- env.Append( CXXFLAGS=["-Wnon-virtual-dtor", "-Woverloaded-virtual"] ) + env.Append( LINKFLAGS=["-fPIC", "-pthread"] ) ++ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] ) ++ env.Append( LINKFLAGS=os.environ['LDFLAGS'] ) + + # SERVER-9761: Ensure early detection of missing symbols in dependent libraries at program + # startup. +@@ -1039,7 +1038,7 @@ + if not darwin: + env.Append( LINKFLAGS=["-rdynamic"] ) + +- env.Append( LIBS=[] ) ++ env.Append( LIBS=['pcre', 'pcrecpp', 'snappy', 'yaml-cpp'] ) + + #make scons colorgcc friendly + for key in ('HOME', 'TERM'): diff --git a/dev-db/mongodb/files/mongodb-3.0.14-fix-std-string.patch b/dev-db/mongodb/files/mongodb-3.0.14-fix-std-string.patch new file mode 100644 index 000000000000..9de319bda9dd --- /dev/null +++ b/dev-db/mongodb/files/mongodb-3.0.14-fix-std-string.patch @@ -0,0 +1,83 @@ +--- a/src/mongo/shell/bench.cpp 2017-09-20 19:12:20.893056990 +0200 ++++ b/src/mongo/shell/bench.cpp 2017-09-20 19:14:08.165060566 +0200 +@@ -52,6 +52,9 @@ + #include "mongo/util/time_support.h" + #include "mongo/util/version.h" + ++#include ++using namespace std; ++ + // --------------------------------- + // ---- benchmarking system -------- + // --------------------------------- +--- a/src/mongo/db/dbwebserver.cpp 2017-09-20 19:24:50.042081961 +0200 ++++ b/src/mongo/db/dbwebserver.cpp 2017-09-20 19:26:20.240084968 +0200 +@@ -58,6 +58,8 @@ + #include "mongo/util/ramlog.h" + #include "mongo/util/version.h" + ++#include ++using namespace std; + + namespace mongo { + +--- a/src/mongo/db/matcher/expression_leaf.cpp 2017-09-20 19:27:59.009088260 +0200 ++++ b/src/mongo/db/matcher/expression_leaf.cpp 2017-09-20 19:28:31.082089329 +0200 +@@ -39,6 +39,9 @@ + #include "mongo/db/jsobj.h" + #include "mongo/db/matcher/path.h" + ++#include ++using namespace std; ++ + namespace mongo { + + Status LeafMatchExpression::initPath(const StringData& path) { +--- a/src/mongo/db/repl/master_slave.cpp 2017-09-20 19:30:04.569092445 +0200 ++++ b/src/mongo/db/repl/master_slave.cpp 2017-09-20 19:31:19.145094931 +0200 +@@ -70,6 +70,9 @@ + #include "mongo/util/exit.h" + #include "mongo/util/log.h" + ++#include ++using namespace std; ++ + using boost::scoped_ptr; + using std::auto_ptr; + using std::cout; +--- a/src/mongo/util/net/miniwebserver.cpp 2017-09-20 19:32:55.368098138 +0200 ++++ b/src/mongo/util/net/miniwebserver.cpp 2017-09-20 19:33:57.128100197 +0200 +@@ -39,6 +39,9 @@ + #include "mongo/util/hex.h" + #include "mongo/util/log.h" + ++#include ++using namespace std; ++ + namespace mongo { + + using boost::shared_ptr; +--- a/src/mongo/s/config.cpp 2017-09-20 19:42:45.614117812 +0200 ++++ b/src/mongo/s/config.cpp 2017-09-20 19:43:28.278119234 +0200 +@@ -60,6 +60,9 @@ + #include "mongo/util/net/message.h" + #include "mongo/util/stringutils.h" + ++#include ++using namespace std; ++ + namespace mongo { + + using boost::scoped_ptr; +--- a/src/mongo/s/grid.cpp 2017-09-20 19:51:07.684134547 +0200 ++++ b/src/mongo/s/grid.cpp 2017-09-20 19:51:43.436135739 +0200 +@@ -55,6 +55,9 @@ + #include "mongo/util/startup_test.h" + #include "mongo/util/stringutils.h" + ++#include ++using namespace std; ++ + namespace mongo { + + using std::endl; diff --git a/dev-db/mongodb/files/mongodb-3.2.0-fix-scons.patch b/dev-db/mongodb/files/mongodb-3.2.0-fix-scons.patch new file mode 100644 index 000000000000..8b29bd4a2a4f --- /dev/null +++ b/dev-db/mongodb/files/mongodb-3.2.0-fix-scons.patch @@ -0,0 +1,49 @@ +From ab6f929ee4584f3f1a040e55a63f493603f228d2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Fri, 1 Jan 2016 10:27:35 +0100 +Subject: [PATCH] Fix build for Gentoo + +--- + SConstruct | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/SConstruct b/SConstruct +index 64c8387..fa9ab8b 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -1371,7 +1371,6 @@ if env.TargetOSIs('posix'): + env.Append( CCFLAGS=["-fno-omit-frame-pointer", + "-fPIC", + "-fno-strict-aliasing", +- "-ggdb", + "-pthread", + "-Wall", + "-Wsign-compare", +@@ -1382,8 +1381,9 @@ if env.TargetOSIs('posix'): + if not has_option("disable-warnings-as-errors"): + env.Append( CCFLAGS=["-Werror"] ) + +- env.Append( CXXFLAGS=["-Wnon-virtual-dtor", "-Woverloaded-virtual"] ) + env.Append( LINKFLAGS=["-fPIC", "-pthread"] ) ++ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] ) ++ env.Append( LINKFLAGS=os.environ['LDFLAGS'] ) + + # SERVER-9761: Ensure early detection of missing symbols in dependent libraries at program + # startup. +@@ -1398,10 +1398,10 @@ if env.TargetOSIs('posix'): + env.Append( SHLINKFLAGS=["-Wl,-z,now"] ) + env.Append( LINKFLAGS=["-rdynamic"] ) + +- env.Append( LIBS=[] ) ++ env.Append( LIBS=['pcre', 'pcrecpp', 'snappy', 'yaml-cpp'] ) + +- #make scons colorgcc friendly +- for key in ('HOME', 'TERM'): ++ #make scons colorgcc, distcc, ccache friendly ++ for key in ('HOME', 'PATH', 'TERM'): + try: + env['ENV'][key] = os.environ[key] + except KeyError: +-- +2.6.4 + diff --git a/dev-db/mongodb/files/mongodb-3.2.10-boost-1.62.patch b/dev-db/mongodb/files/mongodb-3.2.10-boost-1.62.patch new file mode 100644 index 000000000000..30a3bdff45f8 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-3.2.10-boost-1.62.patch @@ -0,0 +1,15 @@ +Derived from http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/databases/mongodb/patches/patch-src_mongo_db_fts_unicode_string.cpp v1.1 + +* Fix build with boost 1.62.0 + +--- a/src/mongo/db/fts/unicode/string.cpp 2016-09-26 12:10:04.000000000 +0000 ++++ b/src/mongo/db/fts/unicode/string.cpp +@@ -274,7 +274,7 @@ bool String::substrMatch(const std::stri + + // Case sensitive and diacritic sensitive. + return boost::algorithm::boyer_moore_search( +- haystack.begin(), haystack.end(), needle.begin(), needle.end()) != haystack.end(); ++ haystack.begin(), haystack.end(), needle.begin(), needle.end()) != std::make_pair(haystack.end(), haystack.end()); + } + + } // namespace unicode diff --git a/dev-db/mongodb/files/mongodb-3.2.16-Replace-string-with-explicit-std-string.patch b/dev-db/mongodb/files/mongodb-3.2.16-Replace-string-with-explicit-std-string.patch new file mode 100644 index 000000000000..6067850ad0b2 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-3.2.16-Replace-string-with-explicit-std-string.patch @@ -0,0 +1,283 @@ +diff -Nru mongodb-src-r3.2.16_orig/src/mongo/db/dbwebserver.cpp mongodb-src-r3.2.16/src/mongo/db/dbwebserver.cpp +--- mongodb-src-r3.2.16_orig/src/mongo/db/dbwebserver.cpp 2017-07-14 22:36:01.000000000 +0200 ++++ mongodb-src-r3.2.16/src/mongo/db/dbwebserver.cpp 2017-08-01 15:43:55.860712772 +0200 +@@ -69,6 +69,7 @@ + using std::map; + using std::stringstream; + using std::vector; ++using std::string; + + using namespace html; + +diff -Nru mongodb-src-r3.2.16_orig/src/mongo/db/matcher/expression_leaf.cpp mongodb-src-r3.2.16/src/mongo/db/matcher/expression_leaf.cpp +--- mongodb-src-r3.2.16_orig/src/mongo/db/matcher/expression_leaf.cpp 2017-07-14 22:36:01.000000000 +0200 ++++ mongodb-src-r3.2.16/src/mongo/db/matcher/expression_leaf.cpp 2017-08-01 15:46:17.070708001 +0200 +@@ -200,7 +200,7 @@ + } + + void ComparisonMatchExpression::toBSON(BSONObjBuilder* out) const { +- string opString = ""; ++ std::string opString = ""; + switch (matchType()) { + case LT: + opString = "$lt"; +@@ -880,7 +880,7 @@ + } + + void BitTestMatchExpression::toBSON(BSONObjBuilder* out) const { +- string opString = ""; ++ std::string opString = ""; + + switch (matchType()) { + case BITS_ALL_SET: +diff -Nru mongodb-src-r3.2.16_orig/src/mongo/db/repl/master_slave.cpp mongodb-src-r3.2.16/src/mongo/db/repl/master_slave.cpp +--- mongodb-src-r3.2.16_orig/src/mongo/db/repl/master_slave.cpp 2017-07-14 22:36:01.000000000 +0200 ++++ mongodb-src-r3.2.16/src/mongo/db/repl/master_slave.cpp 2017-08-01 15:54:45.140690837 +0200 +@@ -161,7 +161,7 @@ + + BSONObjBuilder dbsNextPassBuilder; + int n = 0; +- for (set::iterator i = addDbNextPass.begin(); i != addDbNextPass.end(); i++) { ++ for (set::iterator i = addDbNextPass.begin(); i != addDbNextPass.end(); i++) { + n++; + dbsNextPassBuilder.appendBool(*i, 1); + } +@@ -170,7 +170,7 @@ + + BSONObjBuilder incompleteCloneDbsBuilder; + n = 0; +- for (set::iterator i = incompleteCloneDbs.begin(); i != incompleteCloneDbs.end(); i++) { ++ for (set::iterator i = incompleteCloneDbs.begin(); i != incompleteCloneDbs.end(); i++) { + n++; + incompleteCloneDbsBuilder.appendBool(*i, 1); + } +@@ -181,7 +181,7 @@ + } + + void ReplSource::ensureMe(OperationContext* txn) { +- string myname = getHostName(); ++ std::string myname = getHostName(); + + // local.me is an identifier for a server for getLastError w:2+ + bool exists = Helpers::getSingleton(txn, "local.me", _me); +@@ -373,10 +373,10 @@ + } + + virtual bool run(OperationContext* txn, +- const string& ns, ++ const std::string& ns, + BSONObj& cmdObj, + int options, +- string& errmsg, ++ std::string& errmsg, + BSONObjBuilder& result) { + HandshakeArgs handshake; + Status status = handshake.initialize(cmdObj); +@@ -393,7 +393,7 @@ + } handshakeCmd; + + bool replHandshake(DBClientConnection* conn, const OID& myRID) { +- string myname = getHostName(); ++ std::string myname = getHostName(); + + BSONObjBuilder cmd; + cmd.append("handshake", myRID); +@@ -445,7 +445,7 @@ + BSONElement e = i.next(); + if (e.eoo()) + break; +- string name = e.embeddedObject().getField("name").valuestr(); ++ std::string name = e.embeddedObject().getField("name").valuestr(); + if (!e.embeddedObject().getBoolField("empty")) { + if (name != "local") { + if (only.empty() || only == name) { +@@ -459,7 +459,7 @@ + save(txn); + } + +-void ReplSource::resyncDrop(OperationContext* txn, const string& db) { ++void ReplSource::resyncDrop(OperationContext* txn, const std::string& db) { + log() << "resync: dropping database " << db; + OldClientContext ctx(txn, db); + dropDatabase(txn, ctx.db()); +@@ -502,13 +502,13 @@ + + static DatabaseIgnorer ___databaseIgnorer; + +-void DatabaseIgnorer::doIgnoreUntilAfter(const string& db, const Timestamp& futureOplogTime) { ++void DatabaseIgnorer::doIgnoreUntilAfter(const std::string& db, const Timestamp& futureOplogTime) { + if (futureOplogTime > _ignores[db]) { + _ignores[db] = futureOplogTime; + } + } + +-bool DatabaseIgnorer::ignoreAt(const string& db, const Timestamp& currentOplogTime) { ++bool DatabaseIgnorer::ignoreAt(const std::string& db, const Timestamp& currentOplogTime) { + if (_ignores[db].isNull()) { + return false; + } +@@ -598,7 +598,7 @@ + + // The database is present on the master and no conflicting databases + // are present on the master. Drop any local conflicts. +- for (set::const_iterator i = duplicates.begin(); i != duplicates.end(); ++i) { ++ for (set::const_iterator i = duplicates.begin(); i != duplicates.end(); ++i) { + ___databaseIgnorer.doIgnoreUntilAfter(*i, lastTime); + incompleteCloneDbs.erase(*i); + addDbNextPass.erase(*i); +@@ -793,10 +793,10 @@ + } + + void ReplSource::syncToTailOfRemoteLog() { +- string _ns = ns(); ++ std::string _ns = ns(); + BSONObjBuilder b; + if (!only.empty()) { +- b.appendRegex("ns", string("^") + pcrecpp::RE::QuoteMeta(only)); ++ b.appendRegex("ns", std::string("^") + pcrecpp::RE::QuoteMeta(only)); + } + BSONObj last = oplogReader.findOne(_ns.c_str(), Query(b.done()).sort(BSON("$natural" << -1))); + if (!last.isEmpty()) { +@@ -844,7 +844,7 @@ + */ + int ReplSource::_sync_pullOpLog(OperationContext* txn, int& nApplied) { + int okResultCode = 1; +- string ns = string("local.oplog.$") + sourceName(); ++ std::string ns = std::string("local.oplog.$") + sourceName(); + LOG(2) << "sync_pullOpLog " << ns << " syncedTo:" << syncedTo.toStringLong() << '\n'; + + bool tailing = true; +@@ -864,7 +864,7 @@ + BSONElement e = i.next(); + if (e.eoo()) + break; +- string name = e.embeddedObject().getField("name").valuestr(); ++ std::string name = e.embeddedObject().getField("name").valuestr(); + if (!e.embeddedObject().getBoolField("empty")) { + if (name != "local") { + if (only.empty() || only == name) { +@@ -888,7 +888,7 @@ + if (!only.empty()) { + // note we may here skip a LOT of data table scanning, a lot of work for the master. + // maybe append "\\." here? +- query.appendRegex("ns", string("^") + pcrecpp::RE::QuoteMeta(only)); ++ query.appendRegex("ns", std::string("^") + pcrecpp::RE::QuoteMeta(only)); + } + BSONObj queryObj = query.done(); + // e.g. queryObj = { ts: { $gte: syncedTo } } +@@ -907,7 +907,7 @@ + + // show any deferred database creates from a previous pass + { +- set::iterator i = addDbNextPass.begin(); ++ set::iterator i = addDbNextPass.begin(); + if (i != addDbNextPass.end()) { + BSONObjBuilder b; + b.append("ns", *i + '.'); +@@ -938,7 +938,7 @@ + BSONObj op = oplogReader.next(); + BSONElement ts = op.getField("ts"); + if (ts.type() != Date && ts.type() != bsonTimestamp) { +- string err = op.getStringField("$err"); ++ std::string err = op.getStringField("$err"); + if (!err.empty()) { + // 13051 is "tailable cursor requested on non capped collection" + if (op.getIntField("code") == 13051) { +@@ -1106,7 +1106,7 @@ + + // FIXME Handle cases where this db isn't on default port, or default port is spec'd in + // hostName. +- if ((string("localhost") == hostName || string("127.0.0.1") == hostName) && ++ if ((std::string("localhost") == hostName || std::string("127.0.0.1") == hostName) && + serverGlobalParams.port == ServerGlobalParams::DefaultDBPort) { + log() << "can't sync from self (localhost). sources configuration may be wrong." << endl; + sleepsecs(5); +@@ -1251,7 +1251,7 @@ + if (s) { + stringstream ss; + ss << "sleep " << s << " sec before next pass"; +- string msg = ss.str(); ++ std::string msg = ss.str(); + if (!serverGlobalParams.quiet) + log() << msg << endl; + ReplInfo r(msg.c_str()); +diff -Nru mongodb-src-r3.2.16_orig/src/mongo/shell/bench.cpp mongodb-src-r3.2.16/src/mongo/shell/bench.cpp +--- mongodb-src-r3.2.16_orig/src/mongo/shell/bench.cpp 2017-07-14 22:36:01.000000000 +0200 ++++ mongodb-src-r3.2.16/src/mongo/shell/bench.cpp 2017-08-01 16:20:20.864638957 +0200 +@@ -674,7 +674,7 @@ + invariant(bsonTemplateEvaluator.setId(_id) == BsonTemplateEvaluator::StatusSuccess); + + if (_config->username != "") { +- string errmsg; ++ std::string errmsg; + if (!conn->auth("admin", _config->username, _config->password, errmsg)) { + uasserted(15931, "Authenticating to connection for _benchThread failed: " + errmsg); + } +@@ -920,7 +920,7 @@ + + if (!result["err"].eoo() && result["err"].type() == String && + (_config->throwGLE || op.throwGLE)) +- throw DBException((string) "From benchRun GLE" + ++ throw DBException((std::string) "From benchRun GLE" + + causedBy(result["err"].String()), + result["code"].eoo() ? 0 : result["code"].Int()); + } +@@ -987,7 +987,7 @@ + + if (!result["err"].eoo() && result["err"].type() == String && + (_config->throwGLE || op.throwGLE)) +- throw DBException((string) "From benchRun GLE" + ++ throw DBException((std::string) "From benchRun GLE" + + causedBy(result["err"].String()), + result["code"].eoo() ? 0 : result["code"].Int()); + } +@@ -1035,7 +1035,7 @@ + + if (!result["err"].eoo() && result["err"].type() == String && + (_config->throwGLE || op.throwGLE)) +- throw DBException((string) "From benchRun GLE " + ++ throw DBException((std::string) "From benchRun GLE " + + causedBy(result["err"].String()), + result["code"].eoo() ? 0 : result["code"].Int()); + } +@@ -1136,7 +1136,7 @@ + try { + std::unique_ptr conn(_config->createConnection()); + if (!_config->username.empty()) { +- string errmsg; ++ std::string errmsg; + if (!conn->auth("admin", _config->username, _config->password, errmsg)) { + uasserted(15932, "Authenticating to connection for benchThread failed: " + errmsg); + } +@@ -1168,7 +1168,7 @@ + std::unique_ptr conn(_config->createConnection()); + // Must authenticate to admin db in order to run serverStatus command + if (_config->username != "") { +- string errmsg; ++ std::string errmsg; + if (!conn->auth("admin", _config->username, _config->password, errmsg)) { + uasserted(16704, + str::stream() +@@ -1204,7 +1204,7 @@ + { + std::unique_ptr conn(_config->createConnection()); + if (_config->username != "") { +- string errmsg; ++ std::string errmsg; + // this can only fail if admin access was revoked since start of run + if (!conn->auth("admin", _config->username, _config->password, errmsg)) { + uasserted(16705, +diff -Nru mongodb-src-r3.2.16_orig/src/mongo/util/net/miniwebserver.cpp mongodb-src-r3.2.16/src/mongo/util/net/miniwebserver.cpp +--- mongodb-src-r3.2.16_orig/src/mongo/util/net/miniwebserver.cpp 2017-07-14 22:36:01.000000000 +0200 ++++ mongodb-src-r3.2.16/src/mongo/util/net/miniwebserver.cpp 2017-08-01 16:01:01.832678112 +0200 +@@ -45,8 +45,9 @@ + using std::endl; + using std::stringstream; + using std::vector; ++using std::string; + +-MiniWebServer::MiniWebServer(const string& name, const string& ip, int port) ++MiniWebServer::MiniWebServer(const std::string& name, const std::string& ip, int port) + : Listener(name, ip, port, false) {} + + string MiniWebServer::parseURL(const char* buf) { diff --git a/dev-db/mongodb/files/mongodb-3.2.4-boost-1.60.patch b/dev-db/mongodb/files/mongodb-3.2.4-boost-1.60.patch new file mode 100644 index 000000000000..41c9bd2ba85c --- /dev/null +++ b/dev-db/mongodb/files/mongodb-3.2.4-boost-1.60.patch @@ -0,0 +1,84 @@ +Fix issues caused by boost::none changes. +See also: https://bugs.gentoo.org/show_bug.cgi?id=578846 +Adapted from: https://github.com/mongodb/mongo/commit/92c3f80f384d2825efeabd0d26aa534c0deb6988 + +--- mongodb-src-r3.2.4/src/mongo/db/ftdc/compressor.cpp ++++ mongodb-src-r3.2.4/src/mongo/db/ftdc/compressor.cpp +@@ -47,7 +47,7 @@ + if (_referenceDoc.isEmpty()) { + FTDCBSONUtil::extractMetricsFromDocument(sample, sample, &_metrics); + _reset(sample, date); +- return {boost::none_t()}; ++ return {boost::none}; + } + + _metrics.resize(0); +@@ -107,7 +107,7 @@ + } + + // The buffer is not full, inform the caller +- return {boost::none_t()}; ++ return {boost::none}; + } + + StatusWith> FTDCCompressor::getCompressedSamples() { +--- mongodb-src-r3.2.4/src/mongo/db/ftdc/compressor_test.cpp ++++ mongodb-src-r3.2.4/src/mongo/db/ftdc/compressor_test.cpp +@@ -122,7 +122,7 @@ + TestTie() : _compressor(&_config) {} + + ~TestTie() { +- validate(boost::none_t()); ++ validate(boost::none); + } + + StatusWith>> +--- mongodb-src-r3.2.4/src/mongo/db/ftdc/file_writer.cpp ++++ mongodb-src-r3.2.4/src/mongo/db/ftdc/file_writer.cpp +@@ -205,7 +205,7 @@ + + Status FTDCFileWriter::close() { + if (_archiveStream.is_open()) { +- Status s = flush(boost::none_t(), Date_t()); ++ Status s = flush(boost::none, Date_t()); + + _archiveStream.close(); + +--- mongodb-src-r3.2.4/src/mongo/util/concurrency/shared_mutex_win.hpp ++++ mongodb-src-r3.2.4/src/mongo/util/concurrency/shared_mutex_win.hpp +@@ -175,7 +175,7 @@ + return true; + } + +- unsigned long const res=detail::win32::WaitForSingleObject(unlock_sem,::boost::detail::get_milliseconds_until(wait_until)); ++ unsigned long const res=WaitForSingleObject(unlock_sem,::boost::detail::get_milliseconds_until(wait_until)); + if(res==detail::win32::timeout) + { + for(;;) +@@ -328,7 +328,7 @@ + { + return true; + } +- unsigned long const wait_res=detail::win32::WaitForMultipleObjects(2,semaphores,true,::boost::detail::get_milliseconds_until(wait_until)); ++ unsigned long const wait_res=WaitForMultipleObjects(2,semaphores,true,::boost::detail::get_milliseconds_until(wait_until)); + if(wait_res==detail::win32::timeout) + { + for(;;) +@@ -421,7 +421,7 @@ + return; + } + +- BOOST_VERIFY(!detail::win32::WaitForSingleObject(unlock_sem,detail::win32::infinite)); ++ BOOST_VERIFY(!WaitForSingleObject(unlock_sem,detail::win32::infinite)); + } + } + +@@ -502,7 +502,7 @@ + { + if(!last_reader) + { +- BOOST_VERIFY(!detail::win32::WaitForSingleObject(upgrade_sem,detail::win32::infinite)); ++ BOOST_VERIFY(!WaitForSingleObject(upgrade_sem,detail::win32::infinite)); + } + break; + } diff --git a/dev-db/mongodb/files/mongodb-3.4.0-fix-scons.patch b/dev-db/mongodb/files/mongodb-3.4.0-fix-scons.patch new file mode 100644 index 000000000000..2dd751fad813 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-3.4.0-fix-scons.patch @@ -0,0 +1,35 @@ +--- a/SConstruct 2016-12-27 11:10:06.801949538 +0100 ++++ b/SConstruct 2016-12-27 11:12:40.426407713 +0100 +@@ -1557,7 +1557,6 @@ + # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used. + env.Append( CCFLAGS=["-fno-omit-frame-pointer", + "-fno-strict-aliasing", +- "-ggdb", + "-pthread", + "-Wall", + "-Wsign-compare", +@@ -1568,8 +1567,9 @@ + if not has_option("disable-warnings-as-errors"): + env.Append( CCFLAGS=["-Werror"] ) + +- env.Append( CXXFLAGS=["-Woverloaded-virtual"] ) + env.Append( LINKFLAGS=["-pthread"] ) ++ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] ) ++ env.Append( LINKFLAGS=os.environ['LDFLAGS'] ) + + # SERVER-9761: Ensure early detection of missing symbols in dependent libraries at program + # startup. +@@ -1579,10 +1579,10 @@ + env.Append( LINKFLAGS=["-Wl,-z,now"] ) + env.Append( LINKFLAGS=["-rdynamic"] ) + +- env.Append( LIBS=[] ) ++ env.Append( LIBS=['pcre', 'pcrecpp', 'snappy', 'yaml-cpp'] ) + +- #make scons colorgcc friendly +- for key in ('HOME', 'TERM'): ++ #make scons colorgcc, distcc, ccache friendly ++ for key in ('HOME', 'PATH', 'TERM'): + try: + env['ENV'][key] = os.environ[key] + except KeyError: diff --git a/dev-db/mongodb/files/mongodb-3.4.4-Replace-string-with-explicit-std-string.patch b/dev-db/mongodb/files/mongodb-3.4.4-Replace-string-with-explicit-std-string.patch new file mode 100644 index 000000000000..da33d47df7ff --- /dev/null +++ b/dev-db/mongodb/files/mongodb-3.4.4-Replace-string-with-explicit-std-string.patch @@ -0,0 +1,302 @@ +From 9df9837299ab952d4d30db2427beef667e608f79 Mon Sep 17 00:00:00 2001 +From: Steven Green +Date: Mon, 17 Jul 2017 13:05:44 +0100 +Subject: [PATCH] SERVER-30166 Replace string with explicit std::string. + Enables compulation when using --use-system-pcre which presusably used to do + 'using std::string' in an earlier version of pcre + + https://github.com/mongodb/mongo/pull/1166 + +--- + src/mongo/db/dbwebserver.cpp | 1 + + src/mongo/db/matcher/expression_leaf.cpp | 4 ++-- + src/mongo/db/repl/master_slave.cpp | 40 ++++++++++++++++---------------- + src/mongo/shell/bench.cpp | 14 +++++------ + src/mongo/util/net/miniwebserver.cpp | 1 + + 5 files changed, 31 insertions(+), 29 deletions(-) + +diff --git a/src/mongo/db/dbwebserver.cpp b/src/mongo/db/dbwebserver.cpp +index b202e0500b9..02556135240 100644 +--- a/src/mongo/db/dbwebserver.cpp ++++ b/src/mongo/db/dbwebserver.cpp +@@ -67,6 +67,7 @@ namespace mongo { + using std::map; + using std::stringstream; + using std::vector; ++using std::string; + + using namespace html; + +diff --git a/src/mongo/db/matcher/expression_leaf.cpp b/src/mongo/db/matcher/expression_leaf.cpp +index d562bff141e..b96a36d543f 100644 +--- a/src/mongo/db/matcher/expression_leaf.cpp ++++ b/src/mongo/db/matcher/expression_leaf.cpp +@@ -202,7 +202,7 @@ void ComparisonMatchExpression::debugString(StringBuilder& debug, int level) con + } + + void ComparisonMatchExpression::serialize(BSONObjBuilder* out) const { +- string opString = ""; ++ std::string opString = ""; + switch (matchType()) { + case LT: + opString = "$lt"; +@@ -884,7 +884,7 @@ void BitTestMatchExpression::debugString(StringBuilder& debug, int level) const + } + + void BitTestMatchExpression::serialize(BSONObjBuilder* out) const { +- string opString = ""; ++ std::string opString = ""; + + switch (matchType()) { + case BITS_ALL_SET: +diff --git a/src/mongo/db/repl/master_slave.cpp b/src/mongo/db/repl/master_slave.cpp +index 05faad12599..042350465c6 100644 +--- a/src/mongo/db/repl/master_slave.cpp ++++ b/src/mongo/db/repl/master_slave.cpp +@@ -168,7 +168,7 @@ BSONObj ReplSource::jsobj() { + + BSONObjBuilder dbsNextPassBuilder; + int n = 0; +- for (set::iterator i = addDbNextPass.begin(); i != addDbNextPass.end(); i++) { ++ for (set::iterator i = addDbNextPass.begin(); i != addDbNextPass.end(); i++) { + n++; + dbsNextPassBuilder.appendBool(*i, 1); + } +@@ -177,7 +177,7 @@ BSONObj ReplSource::jsobj() { + + BSONObjBuilder incompleteCloneDbsBuilder; + n = 0; +- for (set::iterator i = incompleteCloneDbs.begin(); i != incompleteCloneDbs.end(); i++) { ++ for (set::iterator i = incompleteCloneDbs.begin(); i != incompleteCloneDbs.end(); i++) { + n++; + incompleteCloneDbsBuilder.appendBool(*i, 1); + } +@@ -188,7 +188,7 @@ BSONObj ReplSource::jsobj() { + } + + void ReplSource::ensureMe(OperationContext* txn) { +- string myname = getHostName(); ++ std::string myname = getHostName(); + + // local.me is an identifier for a server for getLastError w:2+ + bool exists = Helpers::getSingleton(txn, "local.me", _me); +@@ -378,10 +378,10 @@ class HandshakeCmd : public Command { + } + + virtual bool run(OperationContext* txn, +- const string& ns, ++ const std::string& ns, + BSONObj& cmdObj, + int options, +- string& errmsg, ++ std::string& errmsg, + BSONObjBuilder& result) { + HandshakeArgs handshake; + Status status = handshake.initialize(cmdObj); +@@ -398,7 +398,7 @@ class HandshakeCmd : public Command { + } handshakeCmd; + + bool replHandshake(DBClientConnection* conn, const OID& myRID) { +- string myname = getHostName(); ++ std::string myname = getHostName(); + + BSONObjBuilder cmd; + cmd.append("handshake", myRID); +@@ -450,7 +450,7 @@ void ReplSource::forceResync(OperationContext* txn, const char* requester) { + BSONElement e = i.next(); + if (e.eoo()) + break; +- string name = e.embeddedObject().getField("name").valuestr(); ++ std::string name = e.embeddedObject().getField("name").valuestr(); + if (!e.embeddedObject().getBoolField("empty")) { + if (name != "local") { + if (only.empty() || only == name) { +@@ -481,7 +481,7 @@ Status ReplSource::_updateIfDoneWithInitialSync() { + return Status::OK(); + } + +-void ReplSource::resyncDrop(OperationContext* txn, const string& dbName) { ++void ReplSource::resyncDrop(OperationContext* txn, const std::string& dbName) { + log() << "resync: dropping database " << dbName; + invariant(txn->lockState()->isW()); + +@@ -531,13 +531,13 @@ void ReplSource::resync(OperationContext* txn, const std::string& dbName) { + + static DatabaseIgnorer ___databaseIgnorer; + +-void DatabaseIgnorer::doIgnoreUntilAfter(const string& db, const Timestamp& futureOplogTime) { ++void DatabaseIgnorer::doIgnoreUntilAfter(const std::string& db, const Timestamp& futureOplogTime) { + if (futureOplogTime > _ignores[db]) { + _ignores[db] = futureOplogTime; + } + } + +-bool DatabaseIgnorer::ignoreAt(const string& db, const Timestamp& currentOplogTime) { ++bool DatabaseIgnorer::ignoreAt(const std::string& db, const Timestamp& currentOplogTime) { + if (_ignores[db].isNull()) { + return false; + } +@@ -627,7 +627,7 @@ bool ReplSource::handleDuplicateDbName(OperationContext* txn, + + // The database is present on the master and no conflicting databases + // are present on the master. Drop any local conflicts. +- for (set::const_iterator i = duplicates.begin(); i != duplicates.end(); ++i) { ++ for (set::const_iterator i = duplicates.begin(); i != duplicates.end(); ++i) { + ___databaseIgnorer.doIgnoreUntilAfter(*i, lastTime); + incompleteCloneDbs.erase(*i); + addDbNextPass.erase(*i); +@@ -826,10 +826,10 @@ void ReplSource::_sync_pullOpLog_applyOperation(OperationContext* txn, + } + + void ReplSource::syncToTailOfRemoteLog() { +- string _ns = ns(); ++ std::string _ns = ns(); + BSONObjBuilder b; + if (!only.empty()) { +- b.appendRegex("ns", string("^") + pcrecpp::RE::QuoteMeta(only)); ++ b.appendRegex("ns", std::string("^") + pcrecpp::RE::QuoteMeta(only)); + } + BSONObj last = oplogReader.findOne(_ns.c_str(), Query(b.done()).sort(BSON("$natural" << -1))); + if (!last.isEmpty()) { +@@ -877,7 +877,7 @@ class ReplApplyBatchSize + */ + int ReplSource::_sync_pullOpLog(OperationContext* txn, int& nApplied) { + int okResultCode = restartSyncAfterSleep; +- string ns = string("local.oplog.$") + sourceName(); ++ std::string ns = std::string("local.oplog.$") + sourceName(); + LOG(2) << "sync_pullOpLog " << ns << " syncedTo:" << syncedTo.toStringLong() << '\n'; + + bool tailing = true; +@@ -897,7 +897,7 @@ int ReplSource::_sync_pullOpLog(OperationContext* txn, int& nApplied) { + BSONElement e = i.next(); + if (e.eoo()) + break; +- string name = e.embeddedObject().getField("name").valuestr(); ++ std::string name = e.embeddedObject().getField("name").valuestr(); + if (!e.embeddedObject().getBoolField("empty")) { + if (name != "local") { + if (only.empty() || only == name) { +@@ -921,7 +921,7 @@ int ReplSource::_sync_pullOpLog(OperationContext* txn, int& nApplied) { + if (!only.empty()) { + // note we may here skip a LOT of data table scanning, a lot of work for the master. + // maybe append "\\." here? +- query.appendRegex("ns", string("^") + pcrecpp::RE::QuoteMeta(only)); ++ query.appendRegex("ns", std::string("^") + pcrecpp::RE::QuoteMeta(only)); + } + BSONObj queryObj = query.done(); + // e.g. queryObj = { ts: { $gte: syncedTo } } +@@ -940,7 +940,7 @@ int ReplSource::_sync_pullOpLog(OperationContext* txn, int& nApplied) { + + // show any deferred database creates from a previous pass + { +- set::iterator i = addDbNextPass.begin(); ++ set::iterator i = addDbNextPass.begin(); + if (i != addDbNextPass.end()) { + BSONObjBuilder b; + b.append("ns", *i + '.'); +@@ -984,7 +984,7 @@ int ReplSource::_sync_pullOpLog(OperationContext* txn, int& nApplied) { + BSONObj op = oplogReader.nextSafe(); + BSONElement ts = op.getField("ts"); + if (ts.type() != Date && ts.type() != bsonTimestamp) { +- string err = op.getStringField("$err"); ++ std::string err = op.getStringField("$err"); + if (!err.empty()) { + // 13051 is "tailable cursor requested on non capped collection" + if (op.getIntField("code") == 13051) { +@@ -1152,7 +1152,7 @@ int ReplSource::sync(OperationContext* txn, int& nApplied) { + + // FIXME Handle cases where this db isn't on default port, or default port is spec'd in + // hostName. +- if ((string("localhost") == hostName || string("127.0.0.1") == hostName) && ++ if ((std::string("localhost") == hostName || std::string("127.0.0.1") == hostName) && + serverGlobalParams.port == ServerGlobalParams::DefaultDBPort) { + log() << "can't sync from self (localhost). sources configuration may be wrong." << endl; + sleepsecs(5); +@@ -1297,7 +1297,7 @@ static void replMain(OperationContext* txn) { + if (s) { + stringstream ss; + ss << "sleep " << s << " sec before next pass"; +- string msg = ss.str(); ++ std::string msg = ss.str(); + if (!serverGlobalParams.quiet) + log() << msg << endl; + ReplInfo r(msg.c_str()); +diff --git a/src/mongo/shell/bench.cpp b/src/mongo/shell/bench.cpp +index 040002f5c6e..338477ebe56 100644 +--- a/src/mongo/shell/bench.cpp ++++ b/src/mongo/shell/bench.cpp +@@ -674,7 +674,7 @@ void BenchRunWorker::generateLoadOnConnection(DBClientBase* conn) { + invariant(bsonTemplateEvaluator.setId(_id) == BsonTemplateEvaluator::StatusSuccess); + + if (_config->username != "") { +- string errmsg; ++ std::string errmsg; + if (!conn->auth("admin", _config->username, _config->password, errmsg)) { + uasserted(15931, "Authenticating to connection for _benchThread failed: " + errmsg); + } +@@ -918,7 +918,7 @@ void BenchRunWorker::generateLoadOnConnection(DBClientBase* conn) { + + if (!result["err"].eoo() && result["err"].type() == String && + (_config->throwGLE || op.throwGLE)) +- throw DBException((string) "From benchRun GLE" + ++ throw DBException((std::string) "From benchRun GLE" + + causedBy(result["err"].String()), + result["code"].eoo() ? 0 : result["code"].Int()); + } +@@ -984,7 +984,7 @@ void BenchRunWorker::generateLoadOnConnection(DBClientBase* conn) { + + if (!result["err"].eoo() && result["err"].type() == String && + (_config->throwGLE || op.throwGLE)) +- throw DBException((string) "From benchRun GLE" + ++ throw DBException((std::string) "From benchRun GLE" + + causedBy(result["err"].String()), + result["code"].eoo() ? 0 : result["code"].Int()); + } +@@ -1031,7 +1031,7 @@ void BenchRunWorker::generateLoadOnConnection(DBClientBase* conn) { + + if (!result["err"].eoo() && result["err"].type() == String && + (_config->throwGLE || op.throwGLE)) +- throw DBException((string) "From benchRun GLE " + ++ throw DBException((std::string) "From benchRun GLE " + + causedBy(result["err"].String()), + result["code"].eoo() ? 0 : result["code"].Int()); + } +@@ -1133,7 +1133,7 @@ void BenchRunWorker::run() { + try { + std::unique_ptr conn(_config->createConnection()); + if (!_config->username.empty()) { +- string errmsg; ++ std::string errmsg; + if (!conn->auth("admin", _config->username, _config->password, errmsg)) { + uasserted(15932, "Authenticating to connection for benchThread failed: " + errmsg); + } +@@ -1165,7 +1165,7 @@ void BenchRunner::start() { + std::unique_ptr conn(_config->createConnection()); + // Must authenticate to admin db in order to run serverStatus command + if (_config->username != "") { +- string errmsg; ++ std::string errmsg; + if (!conn->auth("admin", _config->username, _config->password, errmsg)) { + uasserted( + 16704, +@@ -1201,7 +1201,7 @@ void BenchRunner::stop() { + { + std::unique_ptr conn(_config->createConnection()); + if (_config->username != "") { +- string errmsg; ++ std::string errmsg; + // this can only fail if admin access was revoked since start of run + if (!conn->auth("admin", _config->username, _config->password, errmsg)) { + uasserted( +diff --git a/src/mongo/util/net/miniwebserver.cpp b/src/mongo/util/net/miniwebserver.cpp +index 5f4165d42f4..7a7d0714934 100644 +--- a/src/mongo/util/net/miniwebserver.cpp ++++ b/src/mongo/util/net/miniwebserver.cpp +@@ -47,6 +47,7 @@ namespace mongo { + using std::shared_ptr; + using std::stringstream; + using std::vector; ++using std::string; + + MiniWebServer::MiniWebServer(const string& name, const string& ip, int port, ServiceContext* ctx) + : Listener(name, ip, port, ctx, false, false) {} diff --git a/dev-db/mongodb/files/mongodb-3.4.6-no-boost-check.patch b/dev-db/mongodb/files/mongodb-3.4.6-no-boost-check.patch new file mode 100644 index 000000000000..2abde5ef08e0 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-3.4.6-no-boost-check.patch @@ -0,0 +1,11 @@ +--- SConstruct.orig 2017-06-27 19:02:43.000000000 +0000 ++++ SConstruct 2017-07-07 11:33:13.252639289 +0000 +@@ -2798,8 +2798,6 @@ + if use_system_version_of_library("boost"): + if not conf.CheckCXXHeader( "boost/filesystem/operations.hpp" ): + myenv.ConfError("can't find boost headers") +- if not conf.CheckBoostMinVersion(): +- myenv.ConfError("system's version of boost is too old. version 1.49 or better required") + + # Note that on Windows with using-system-boost builds, the following + # FindSysLibDep calls do nothing useful (but nothing problematic either) diff --git a/dev-db/mongodb/files/mongodb-3.4.6-sysmacros-include.patch b/dev-db/mongodb/files/mongodb-3.4.6-sysmacros-include.patch new file mode 100644 index 000000000000..868ba73e4421 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-3.4.6-sysmacros-include.patch @@ -0,0 +1,38 @@ +From e245cac2b3c18015dee8caddd449532785d15c2b Mon Sep 17 00:00:00 2001 +From: Jason Carey +Date: Mon, 26 Jun 2017 11:09:10 -0400 +Subject: [PATCH] SERVER-29855 Pull major/minor from sys/sysmacros.h + +Per newer versions of glibc: + +---- +error: In the GNU C Library, "major" is defined + by . For historical compatibility, it is + currently defined by as well, but we plan to + remove this soon. To use "major", include + directly. If you did not intend to use a system-defined macro + "major", you should undefine it after including . [-Werror] + string path = str::stream() << "/sys/dev/block/" << major(dev) << ':' << minor(dev) +---- + +Including appears to be the correct solution to quiet +the warning +--- + src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp b/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp +index 5a784b25dc7..c43e148d3f4 100644 +--- a/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp ++++ b/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp +@@ -36,6 +36,10 @@ + #include + #include + ++#ifdef __linux__ ++#include ++#endif ++ + #include "mongo/db/mongod_options.h" + #include "mongo/db/storage/mmap_v1/data_file_sync.h" + #include "mongo/db/storage/mmap_v1/dur.h" diff --git a/dev-db/mongodb/files/mongodb-3.4.7-no-boost-check.patch b/dev-db/mongodb/files/mongodb-3.4.7-no-boost-check.patch new file mode 100644 index 000000000000..1d908e73f438 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-3.4.7-no-boost-check.patch @@ -0,0 +1,13 @@ +diff --git a/SConstruct b/SConstruct +index df92e41659..2c387d5a24 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -2831,8 +2831,6 @@ def doConfigure(myenv): + if use_system_version_of_library("boost"): + if not conf.CheckCXXHeader( "boost/filesystem/operations.hpp" ): + myenv.ConfError("can't find boost headers") +- if not conf.CheckBoostMinVersion(): +- myenv.ConfError("system's version of boost is too old. version 1.49 or better required") + + # Note that on Windows with using-system-boost builds, the following + # FindSysLibDep calls do nothing useful (but nothing problematic either) diff --git a/dev-db/mongodb/files/mongodb.conf b/dev-db/mongodb/files/mongodb.conf new file mode 100644 index 000000000000..c5272b7f2df3 --- /dev/null +++ b/dev-db/mongodb/files/mongodb.conf @@ -0,0 +1,8 @@ +# See http://www.mongodb.org/display/DOCS/File+Based+Configuration for format details +# Run mongod --help to see a list of options + +bind_ip = 127.0.0.1 +quiet = true +dbpath = /var/lib/mongodb +logpath = /var/log/mongodb/mongod.log +logappend = true diff --git a/dev-db/mongodb/files/mongodb.conf-r2 b/dev-db/mongodb/files/mongodb.conf-r2 new file mode 100644 index 000000000000..8e8a64408cdf --- /dev/null +++ b/dev-db/mongodb/files/mongodb.conf-r2 @@ -0,0 +1,33 @@ +# !! IMPORTANT !! +# +# This file uses the YAML format as described in the documentation: +# http://docs.mongodb.org/manual/reference/configuration-options/ + +storage: + dbPath: "/var/lib/mongodb" + +systemLog: + destination: file + path: "/var/log/mongodb/mongodb.log" + quiet: true + logAppend: true + +net: + port: 27017 + bindIp: 127.0.0.1 +# ssl: +# mode: disabled + +#security: + #keyFile: + #clusterAuthMode: + +#replication: + #replSetName: + +# Specifies one of the MongoDB parameters described here: +# http://docs.mongodb.org/manual/reference/parameters/ +# +# You can specify multiple setParameter fields such as: +# setParameter: {enableTestCommands: 1} +#setParameter: diff --git a/dev-db/mongodb/files/mongodb.conf-r3 b/dev-db/mongodb/files/mongodb.conf-r3 new file mode 100644 index 000000000000..83b4cc0589ad --- /dev/null +++ b/dev-db/mongodb/files/mongodb.conf-r3 @@ -0,0 +1,34 @@ +# !! IMPORTANT !! +# +# This file uses the YAML format as described in the documentation: +# http://docs.mongodb.org/manual/reference/configuration-options/ + +storage: + dbPath: "/var/lib/mongodb" + #engine: wiredTiger + +systemLog: + destination: file + path: "/var/log/mongodb/mongodb.log" + quiet: true + logAppend: true + +net: + port: 27017 + bindIp: 127.0.0.1 + #ssl: + # mode: disabled + +#security: + #keyFile: + #clusterAuthMode: + +#replication: + #replSetName: + +# Specifies one of the MongoDB parameters described here: +# http://docs.mongodb.org/manual/reference/parameters/ +# +# You can specify multiple setParameter fields such as: +# setParameter: {enableTestCommands: 1} +#setParameter: diff --git a/dev-db/mongodb/files/mongodb.confd-r2 b/dev-db/mongodb/files/mongodb.confd-r2 new file mode 100644 index 000000000000..dddb67e9301d --- /dev/null +++ b/dev-db/mongodb/files/mongodb.confd-r2 @@ -0,0 +1,12 @@ +# !! IMPORTANT !! +# +# This file is ONLY used to override some of the init script configuration. +# +# You should NOT use this file to configure your mongodb instance, +# see the /etc/mongodb.conf file instead. +# +# Available init script modifiers : +# - config_file : the configuration file to use (default : /etc/mongodb.conf) +# - user : the user used to run your mongodb instance (default : mongodb) +# - group : the group used to run your mongodb instance (default : mongodb) +# - run_dir : the run directory for your PID files (default : /run/mongodb) diff --git a/dev-db/mongodb/files/mongodb.initd-r2 b/dev-db/mongodb/files/mongodb.initd-r2 new file mode 100644 index 000000000000..27b9f2a43872 --- /dev/null +++ b/dev-db/mongodb/files/mongodb.initd-r2 @@ -0,0 +1,26 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +config_file=${config_file:-/etc/${SVCNAME}.conf} +run_dir=${run_dir:-/run/mongodb} + +command="/usr/bin/mongod" +command_args="--config ${config_file}" +command_background="true" +pidfile=${run_dir}/${SVCNAME}.pid +user=${user:-mongodb} +group=${group:-mongodb} +start_stop_daemon_args="--user ${user} --group ${group}" + +depend() { + use net +} + +start_pre() { + checkpath -d -m 0750 -o "${user}":"${group}" "${run_dir}" + if [ ! -f ${config_file} ]; then + eerror "Missing configuration file ${config_file}" + return 1 + fi +} diff --git a/dev-db/mongodb/files/mongodb.logrotate b/dev-db/mongodb/files/mongodb.logrotate new file mode 100644 index 000000000000..f95a438b5b2c --- /dev/null +++ b/dev-db/mongodb/files/mongodb.logrotate @@ -0,0 +1,13 @@ +# Default log rotation / compression keeps 1 year of logs. +/var/log/mongodb/*.log { + daily + rotate 365 + dateext + copytruncate + delaycompress + compress + notifempty + extension gz + sharedscripts + missingok +} diff --git a/dev-db/mongodb/files/mongodb.service b/dev-db/mongodb/files/mongodb.service new file mode 100644 index 000000000000..78d551183838 --- /dev/null +++ b/dev-db/mongodb/files/mongodb.service @@ -0,0 +1,10 @@ +[Unit] +Description=High-performance, schema-free document-oriented database +After=network.target + +[Service] +User=mongodb +ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf + +[Install] +WantedBy=multi-user.target diff --git a/dev-db/mongodb/files/mongos.conf-r2 b/dev-db/mongodb/files/mongos.conf-r2 new file mode 100644 index 000000000000..fc0068962cfd --- /dev/null +++ b/dev-db/mongodb/files/mongos.conf-r2 @@ -0,0 +1,30 @@ +# !! IMPORTANT !! +# +# This file uses the YAML format as described in the documentation: +# http://docs.mongodb.org/manual/reference/configuration-options/ + +systemLog: + destination: file + path: "/var/log/mongodb/mongos.log" + quiet: true + logAppend: true + +net: + port: 27017 + bindIp: 127.0.0.1 + ssl: + mode: disabled + +#security: + #keyFile: + #clusterAuthMode: + +#sharding: + #configDB: + +# Specifies one of the MongoDB parameters described here: +# http://docs.mongodb.org/manual/reference/parameters/ +# +# You can specify multiple setParameter fields such as: +# setParameter: {enableTestCommands: 1} +#setParameter: diff --git a/dev-db/mongodb/files/mongos.confd-r2 b/dev-db/mongodb/files/mongos.confd-r2 new file mode 100644 index 000000000000..0dc2a189ff67 --- /dev/null +++ b/dev-db/mongodb/files/mongos.confd-r2 @@ -0,0 +1,12 @@ +# !! IMPORTANT !! +# +# This file is ONLY used to override some of the init script configuration. +# +# You should NOT use this file to configure your mongos instance, +# see the /etc/mongos.conf file instead. +# +# Available init script modifiers : +# - config_file : the configuration file to use (default : /etc/mongos.conf) +# - user : the user used to run your mongodb instance (default : mongodb) +# - group : the group used to run your mongodb instance (default : mongodb) +# - run_dir : the run directory for your PID files (default : /run/mongodb) diff --git a/dev-db/mongodb/files/mongos.initd-r2 b/dev-db/mongodb/files/mongos.initd-r2 new file mode 100644 index 000000000000..2e7db669a5e0 --- /dev/null +++ b/dev-db/mongodb/files/mongos.initd-r2 @@ -0,0 +1,26 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +config_file=${config_file:-/etc/${SVCNAME}.conf} +run_dir=${run_dir:-/run/mongodb} + +command="/usr/bin/mongos" +command_args="--config ${config_file}" +command_background="true" +pidfile=${run_dir}/${SVCNAME}.pid +user=${user:-mongodb} +group=${group:-mongodb} +start_stop_daemon_args="--user ${user} --group ${group}" + +depend() { + use net +} + +start_pre() { + checkpath -d -m 0750 -o "${user}":"${group}" "${run_dir}" + if [ ! -f ${config_file} ]; then + eerror "Missing configuration file ${config_file}" + return 1 + fi +} diff --git a/dev-db/mongodb/metadata.xml b/dev-db/mongodb/metadata.xml new file mode 100644 index 000000000000..e5bdd69829a7 --- /dev/null +++ b/dev-db/mongodb/metadata.xml @@ -0,0 +1,29 @@ + + + + + julien@thebault.co + Lujeni + Proxy-Maintainer, assign bugs + + + ultrabug@gentoo.org + Alexys Jacob + + + proxy-maint@gentoo.org + Proxy Maintainers + + + MongoDB (from "humongous") is a scalable, high-performance, open source, + schema-free, document-oriented database. Written in C++, MongoDB features: + + MongoDB bridges the gap between key-value stores (which are fast and highly + scalable) and traditional RDBMS systems (which provide structured schemas + and powerful queries). + + + Install the MongoDB Monitoring Service agent + Install the MongoDB tools (mongoimport, mongodump...) from app-admin/mongo-tools + + diff --git a/dev-db/mongodb/mongodb-2.6.12.ebuild b/dev-db/mongodb/mongodb-2.6.12.ebuild new file mode 100644 index 000000000000..e17d7986b3c5 --- /dev/null +++ b/dev-db/mongodb/mongodb-2.6.12.ebuild @@ -0,0 +1,183 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +SCONS_MIN_VERSION="1.2.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit eutils flag-o-matic multilib pax-utils scons-utils systemd user versionator check-reqs + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="http://www.mongodb.org" +SRC_URI="http://downloads.mongodb.org/src/${MY_P}.tar.gz + mms-agent? ( https://dev.gentoo.org/~ultrabug/20140409-mms-monitoring-agent.zip )" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug kerberos mms-agent ssl static-libs" + +PDEPEND="mms-agent? ( dev-python/pymongo app-arch/unzip )" +RDEPEND=" + app-arch/snappy + >=dev-cpp/yaml-cpp-0.5.1 + >=dev-libs/boost-1.50[threads(+)] + >=dev-libs/libpcre-8.37[cxx] + dev-libs/snowball-stemmer + dev-util/google-perftools[-minimal] + net-libs/libpcap + ssl? ( >=dev-libs/openssl-1.0.1g )" +DEPEND="${RDEPEND} + sys-libs/ncurses + sys-libs/readline + kerberos? ( dev-libs/cyrus-sasl[kerberos] )" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + enewgroup mongodb + enewuser mongodb -1 -1 /var/lib/${PN} mongodb + + scons_opts="--variant-dir=build --cc=$(tc-getCC) --cxx=$(tc-getCXX)" + scons_opts+=" --disable-warnings-as-errors" + scons_opts+=" --use-system-boost" + scons_opts+=" --use-system-pcre" + scons_opts+=" --use-system-snappy" + scons_opts+=" --use-system-stemmer" + scons_opts+=" --use-system-tcmalloc" + scons_opts+=" --use-system-yaml" + scons_opts+=" --usev8" + + if use debug; then + scons_opts+=" --dbg=on" + fi + + if use prefix; then + scons_opts+=" --cpppath=${EPREFIX}/usr/include" + scons_opts+=" --libpath=${EPREFIX}/usr/$(get_libdir)" + fi + + if use kerberos; then + scons_opts+=" --use-sasl-client" + fi + + if use ssl; then + scons_opts+=" --ssl" + fi +} + +src_prepare() { + epatch "${FILESDIR}/${PN}-2.6.2-fix-scons.patch" + epatch "${FILESDIR}/${PN}-2.4-fix-v8-pythonpath.patch" + epatch "${FILESDIR}/${PN}-2.6.10-fix-boost-1.57.patch" + + # fix yaml-cpp detection + sed -i -e "s/\[\"yaml\"\]/\[\"yaml-cpp\"\]/" SConstruct || die + + # bug #462606 + sed -i -e "s@\$INSTALL_DIR/lib@\$INSTALL_DIR/$(get_libdir)@g" src/SConscript.client || die + + # bug #482576 + sed -i -e "/-Werror/d" src/third_party/v8/SConscript || die +} + +src_configure() { + # filter some problematic flags + filter-flags "-march=*" + filter-flags -O? +} + +src_compile() { + escons ${scons_opts} all +} + +src_install() { + escons ${scons_opts} --full --nostrip install --prefix="${ED}"/usr + + use static-libs || find "${ED}"/usr/ -type f -name "*.a" -delete + + for x in /var/{lib,log}/${PN}; do + keepdir "${x}" + fowners mongodb:mongodb "${x}" + done + + doman debian/mongo*.1 + dodoc README docs/building.md + + newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} + newinitd "${FILESDIR}/${PN/db/s}.initd-r2" ${PN/db/s} + newconfd "${FILESDIR}/${PN/db/s}.confd-r2" ${PN/db/s} + + insinto /etc + newins "${FILESDIR}/${PN}.conf-r2" ${PN}.conf + newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf + + systemd_dounit "${FILESDIR}/${PN}.service" + + insinto /etc/logrotate.d/ + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + # see bug #526114 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} + + if use mms-agent; then + local MY_PN="mms-agent" + local MY_D="/opt/${MY_PN}" + + insinto /etc + newins "${WORKDIR}/${MY_PN}/settings.py" mms-agent.conf + rm "${WORKDIR}/${MY_PN}/settings.py" + + insinto ${MY_D} + doins "${WORKDIR}/${MY_PN}/"* + dosym /etc/mms-agent.conf ${MY_D}/settings.py + + fowners -R mongodb:mongodb ${MY_D} + newinitd "${FILESDIR}/${MY_PN}.initd-r2" ${MY_PN} + fi +} + +pkg_preinst() { + # wrt bug #461466 + if [[ "$(get_libdir)" == "lib64" ]]; then + rmdir "${ED}"/usr/lib/ &>/dev/null + fi +} + +src_test() { + escons ${scons_opts} test + "${S}"/test --dbpath=unittest || die +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 2.6 ${v}; then + ewarn "!! IMPORTANT !!" + ewarn " " + ewarn "${PN} configuration files have changed !" + ewarn " " + ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" + ewarn " " + ewarn "Make sure you also follow the upgrading process :" + ewarn " http://docs.mongodb.org/master/release-notes/2.6-upgrade/" + ewarn " " + if use mms-agent; then + ewarn "MMS Agent configuration file has been moved to :" + ewarn " /etc/mms-agent.conf" + fi + break + else + if use mms-agent; then + elog "Edit your MMS Agent configuration file :" + elog " /etc/mms-agent.conf" + fi + fi + done +} diff --git a/dev-db/mongodb/mongodb-3.0.14.ebuild b/dev-db/mongodb/mongodb-3.0.14.ebuild new file mode 100644 index 000000000000..97c48d9a1d0b --- /dev/null +++ b/dev-db/mongodb/mongodb-3.0.14.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +SCONS_MIN_VERSION="2.3.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit eutils flag-o-matic multilib pax-utils scons-utils systemd toolchain-funcs user versionator check-reqs + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="http://www.mongodb.org" +SRC_URI="http://downloads.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug kerberos libressl mms-agent ssl +tools" + +RDEPEND="app-arch/snappy + >=dev-cpp/yaml-cpp-0.5.1 + >=dev-libs/boost-1.57[threads(+)] + >=dev-libs/libpcre-8.39[cxx] + dev-libs/snowball-stemmer + net-libs/libpcap + sys-libs/zlib + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + >=sys-devel/gcc-4.8.2:* + sys-libs/ncurses + sys-libs/readline + kerberos? ( dev-libs/cyrus-sasl[kerberos] )" +PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" + +PATCHES=( + "${FILESDIR}/${PN}-3.0.14-fix-scons.patch" + "${FILESDIR}/${PN}-3.0.14-fix-std-string.patch" + "${FILESDIR}/${PN}-3.4.6-sysmacros-include.patch" +) + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + enewgroup mongodb + enewuser mongodb -1 -1 /var/lib/${PN} mongodb + + # Maintainer notes + # + # --use-system-tcmalloc is strongly NOT recommended: + # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ + # + # --c++11 is required by scons instead of auto detection: + # https://jira.mongodb.org/browse/SERVER-19661 + + scons_opts=( + --variant-dir=build --cc=$(tc-getCC) --cxx=$(tc-getCXX) --c++11 + --disable-warnings-as-errors + --use-system-boost + --use-system-pcre + --use-system-snappy + --use-system-stemmer + --use-system-yaml + ) + + if use debug; then + scons_opts+=( --dbg=on ) + fi + + if use prefix; then + scons_opts+=( + --cpppath="${EPREFIX}/usr/include )" + --libpath="${EPREFIX}/usr/$(get_libdir)" + ) + fi + + if use kerberos; then + scons_opts+=( --use-sasl-client ) + fi + + if use ssl; then + scons_opts+=( --ssl ) + fi +} + +src_compile() { + # respect mongoDB upstream's basic recommendations + # see bug #536688 and #526114 + if ! use debug; then + filter-flags '-m*' + filter-flags '-O?' + fi + escons "${scons_opts[@]}" core tools || die +} + +src_install() { + escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr || die + + local x + for x in /var/{lib,log}/${PN}; do + keepdir "${x}" + fowners mongodb:mongodb "${x}" + done + + doman debian/mongo*.1 + dodoc README docs/building.md + + newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} + newinitd "${FILESDIR}/${PN/db/s}.initd-r2" ${PN/db/s} + newconfd "${FILESDIR}/${PN/db/s}.confd-r2" ${PN/db/s} + + insinto /etc + newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf + newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf + + systemd_dounit "${FILESDIR}/${PN}.service" + + insinto /etc/logrotate.d/ + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + # see bug #526114 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} +} + +pkg_preinst() { + # wrt bug #461466 + if [[ "$(get_libdir)" == "lib64" ]]; then + rmdir "${ED}"/usr/lib/ &>/dev/null + fi +} + +src_test() { + escons "${scons_opts[@]}" unittests || die + + # tests fail + sed -i '/\/util\/options_parser\/options_parser_test/d' build/unittests.txt || die + sed -i '/\/mongo\/server_options_test/d' build/unittests.txt || die + + local x + while read x; do + einfo "Running test $x" + ./$x || die + done < build/unittests.txt +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 3.0 ${v}; then + ewarn "!! IMPORTANT !!" + ewarn " " + ewarn "${PN} configuration files have changed !" + ewarn " " + ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" + ewarn " " + ewarn "Make sure you also follow the upgrading process :" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" + ewarn " " + ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." + ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." + ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" + break + fi + done +} diff --git a/dev-db/mongodb/mongodb-3.0.15.ebuild b/dev-db/mongodb/mongodb-3.0.15.ebuild new file mode 100644 index 000000000000..848080d07995 --- /dev/null +++ b/dev-db/mongodb/mongodb-3.0.15.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +SCONS_MIN_VERSION="2.3.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit eutils flag-o-matic multilib pax-utils scons-utils systemd toolchain-funcs user versionator check-reqs + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="http://www.mongodb.org" +SRC_URI="http://downloads.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug kerberos libressl mms-agent ssl +tools" + +RDEPEND="app-arch/snappy + >=dev-cpp/yaml-cpp-0.5.1 + >=dev-libs/boost-1.57[threads(+)] + >=dev-libs/libpcre-8.39[cxx] + dev-libs/snowball-stemmer + net-libs/libpcap + sys-libs/zlib + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + >=sys-devel/gcc-4.8.2:* + sys-libs/ncurses + sys-libs/readline + kerberos? ( dev-libs/cyrus-sasl[kerberos] )" +PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" + +PATCHES=( + "${FILESDIR}/${PN}-3.0.14-fix-scons.patch" + "${FILESDIR}/${PN}-3.0.14-fix-std-string.patch" + "${FILESDIR}/${PN}-3.4.6-sysmacros-include.patch" +) + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + enewgroup mongodb + enewuser mongodb -1 -1 /var/lib/${PN} mongodb + + # Maintainer notes + # + # --use-system-tcmalloc is strongly NOT recommended: + # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ + # + # --c++11 is required by scons instead of auto detection: + # https://jira.mongodb.org/browse/SERVER-19661 + + scons_opts=( + --variant-dir=build --cc=$(tc-getCC) --cxx=$(tc-getCXX) --c++11 + --disable-warnings-as-errors + --use-system-boost + --use-system-pcre + --use-system-snappy + --use-system-stemmer + --use-system-yaml + ) + + if use debug; then + scons_opts+=( --dbg=on ) + fi + + if use prefix; then + scons_opts+=( + --cpppath="${EPREFIX}/usr/include )" + --libpath="${EPREFIX}/usr/$(get_libdir)" + ) + fi + + if use kerberos; then + scons_opts+=( --use-sasl-client ) + fi + + if use ssl; then + scons_opts+=( --ssl ) + fi +} + +src_compile() { + # respect mongoDB upstream's basic recommendations + # see bug #536688 and #526114 + if ! use debug; then + filter-flags '-m*' + filter-flags '-O?' + fi + escons "${scons_opts[@]}" core tools || die +} + +src_install() { + escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr || die + + local x + for x in /var/{lib,log}/${PN}; do + keepdir "${x}" + fowners mongodb:mongodb "${x}" + done + + doman debian/mongo*.1 + dodoc README docs/building.md + + newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} + newinitd "${FILESDIR}/${PN/db/s}.initd-r2" ${PN/db/s} + newconfd "${FILESDIR}/${PN/db/s}.confd-r2" ${PN/db/s} + + insinto /etc + newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf + newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf + + systemd_dounit "${FILESDIR}/${PN}.service" + + insinto /etc/logrotate.d/ + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + # see bug #526114 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} +} + +pkg_preinst() { + # wrt bug #461466 + if [[ "$(get_libdir)" == "lib64" ]]; then + rmdir "${ED}"/usr/lib/ &>/dev/null + fi +} + +src_test() { + escons "${scons_opts[@]}" unittests || die + + # tests fail + sed -i '/\/util\/options_parser\/options_parser_test/d' build/unittests.txt || die + sed -i '/\/mongo\/server_options_test/d' build/unittests.txt || die + + local x + while read x; do + einfo "Running test $x" + ./$x || die + done < build/unittests.txt +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 3.0 ${v}; then + ewarn "!! IMPORTANT !!" + ewarn " " + ewarn "${PN} configuration files have changed !" + ewarn " " + ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" + ewarn " " + ewarn "Make sure you also follow the upgrading process :" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" + ewarn " " + ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." + ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." + ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" + break + fi + done +} diff --git a/dev-db/mongodb/mongodb-3.2.12.ebuild b/dev-db/mongodb/mongodb-3.2.12.ebuild new file mode 100644 index 000000000000..52572e121314 --- /dev/null +++ b/dev-db/mongodb/mongodb-3.2.12.ebuild @@ -0,0 +1,192 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +SCONS_MIN_VERSION="2.3.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit eutils flag-o-matic multilib pax-utils scons-utils systemd toolchain-funcs user versionator check-reqs + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="http://www.mongodb.org" +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug kerberos libressl mms-agent ssl test +tools" + +RDEPEND=">=app-arch/snappy-1.1.2 + || ( =dev-cpp/yaml-cpp-0.5.1 >dev-cpp/yaml-cpp-0.5.2 ) + >=dev-libs/boost-1.57[threads(+)] + >=dev-libs/libpcre-8.39[cxx] + dev-libs/snowball-stemmer + net-libs/libpcap + >=sys-libs/zlib-1.2.8 + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + >=sys-devel/gcc-4.8.2:* + sys-libs/ncurses + sys-libs/readline + debug? ( dev-util/valgrind ) + kerberos? ( dev-libs/cyrus-sasl[kerberos] ) + test? ( + dev-python/pymongo + dev-python/pyyaml + )" +PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" + +S=${WORKDIR}/${MY_P} + +pkg_pretend() { + if [[ ${REPLACING_VERSIONS} < 3.0 ]]; then + ewarn "To upgrade an existing MongoDB deployment to 3.2, you must be" + ewarn "running a 3.0-series release. Please update to the latest 3.0" + ewarn "release before continuing if wish to keep your data." + fi +} + +pkg_setup() { + enewgroup mongodb + enewuser mongodb -1 -1 /var/lib/${PN} mongodb + + # Maintainer notes + # + # --use-system-tcmalloc is strongly NOT recommended: + # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ + + scons_opts=( + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + + --disable-warnings-as-errors + --use-system-boost + --use-system-pcre + --use-system-snappy + --use-system-stemmer + --use-system-yaml + --use-system-zlib + ) + + # wiredtiger not supported on 32bit platforms #572166 + use x86 && scons_opts+=( --wiredtiger=off ) + + if use debug; then + scons_opts+=( --dbg=on ) + fi + + if use prefix; then + scons_opts+=( + --cpppath="${EPREFIX}/usr/include" + --libpath="${EPREFIX}/usr/$(get_libdir)" + ) + fi + + if use kerberos; then + scons_opts+=( --use-sasl-client ) + fi + + if use ssl; then + scons_opts+=( --ssl ) + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}/${PN}-3.2.0-fix-scons.patch" \ + "${FILESDIR}/${PN}-3.2.4-boost-1.60.patch" + if has_version ">=dev-libs/boost-1.62"; then + epatch "${FILESDIR}/${PN}-3.2.10-boost-1.62.patch" + fi + epatch_user +} + +src_compile() { + # respect mongoDB upstream's basic recommendations + # see bug #536688 and #526114 + if ! use debug; then + filter-flags '-m*' + filter-flags '-O?' + fi + escons "${scons_opts[@]}" core tools +} + +src_install() { + escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr + + for x in /var/{lib,log}/${PN}; do + keepdir "${x}" + fowners mongodb:mongodb "${x}" + done + + doman debian/mongo*.1 + dodoc README docs/building.md + + newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} + newinitd "${FILESDIR}/${PN/db/s}.initd-r2" ${PN/db/s} + newconfd "${FILESDIR}/${PN/db/s}.confd-r2" ${PN/db/s} + + insinto /etc + newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf + newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf + + systemd_dounit "${FILESDIR}/${PN}.service" + + insinto /etc/logrotate.d/ + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + # see bug #526114 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} +} + +pkg_preinst() { + # wrt bug #461466 + if [[ "$(get_libdir)" == "lib64" ]]; then + rmdir "${ED}"/usr/lib/ &>/dev/null + fi +} + +src_test() { + # this one test fails + rm jstests/core/repl_write_threads_start_param.js + + ./buildscripts/resmoke.py --dbpathPrefix=test --suites core || die "Tests failed" +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 3.0 ${v}; then + ewarn "!! IMPORTANT !!" + ewarn " " + ewarn "${PN} configuration files have changed !" + ewarn " " + ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" + ewarn " " + ewarn "Make sure you also follow the upgrading process :" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" + ewarn " " + ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." + ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." + ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" + break + fi + done + + ewarn "Make sure to read the release notes and follow the upgrade process:" + ewarn " https://docs.mongodb.org/manual/release-notes/3.2/" + ewarn " https://docs.mongodb.org/master/release-notes/3.2-upgrade/" + ewarn + ewarn " Starting in 3.2, MongoDB uses the WiredTiger as the default storage engine." +} diff --git a/dev-db/mongodb/mongodb-3.2.13.ebuild b/dev-db/mongodb/mongodb-3.2.13.ebuild new file mode 100644 index 000000000000..52572e121314 --- /dev/null +++ b/dev-db/mongodb/mongodb-3.2.13.ebuild @@ -0,0 +1,192 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +SCONS_MIN_VERSION="2.3.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit eutils flag-o-matic multilib pax-utils scons-utils systemd toolchain-funcs user versionator check-reqs + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="http://www.mongodb.org" +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug kerberos libressl mms-agent ssl test +tools" + +RDEPEND=">=app-arch/snappy-1.1.2 + || ( =dev-cpp/yaml-cpp-0.5.1 >dev-cpp/yaml-cpp-0.5.2 ) + >=dev-libs/boost-1.57[threads(+)] + >=dev-libs/libpcre-8.39[cxx] + dev-libs/snowball-stemmer + net-libs/libpcap + >=sys-libs/zlib-1.2.8 + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + >=sys-devel/gcc-4.8.2:* + sys-libs/ncurses + sys-libs/readline + debug? ( dev-util/valgrind ) + kerberos? ( dev-libs/cyrus-sasl[kerberos] ) + test? ( + dev-python/pymongo + dev-python/pyyaml + )" +PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" + +S=${WORKDIR}/${MY_P} + +pkg_pretend() { + if [[ ${REPLACING_VERSIONS} < 3.0 ]]; then + ewarn "To upgrade an existing MongoDB deployment to 3.2, you must be" + ewarn "running a 3.0-series release. Please update to the latest 3.0" + ewarn "release before continuing if wish to keep your data." + fi +} + +pkg_setup() { + enewgroup mongodb + enewuser mongodb -1 -1 /var/lib/${PN} mongodb + + # Maintainer notes + # + # --use-system-tcmalloc is strongly NOT recommended: + # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ + + scons_opts=( + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + + --disable-warnings-as-errors + --use-system-boost + --use-system-pcre + --use-system-snappy + --use-system-stemmer + --use-system-yaml + --use-system-zlib + ) + + # wiredtiger not supported on 32bit platforms #572166 + use x86 && scons_opts+=( --wiredtiger=off ) + + if use debug; then + scons_opts+=( --dbg=on ) + fi + + if use prefix; then + scons_opts+=( + --cpppath="${EPREFIX}/usr/include" + --libpath="${EPREFIX}/usr/$(get_libdir)" + ) + fi + + if use kerberos; then + scons_opts+=( --use-sasl-client ) + fi + + if use ssl; then + scons_opts+=( --ssl ) + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}/${PN}-3.2.0-fix-scons.patch" \ + "${FILESDIR}/${PN}-3.2.4-boost-1.60.patch" + if has_version ">=dev-libs/boost-1.62"; then + epatch "${FILESDIR}/${PN}-3.2.10-boost-1.62.patch" + fi + epatch_user +} + +src_compile() { + # respect mongoDB upstream's basic recommendations + # see bug #536688 and #526114 + if ! use debug; then + filter-flags '-m*' + filter-flags '-O?' + fi + escons "${scons_opts[@]}" core tools +} + +src_install() { + escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr + + for x in /var/{lib,log}/${PN}; do + keepdir "${x}" + fowners mongodb:mongodb "${x}" + done + + doman debian/mongo*.1 + dodoc README docs/building.md + + newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} + newinitd "${FILESDIR}/${PN/db/s}.initd-r2" ${PN/db/s} + newconfd "${FILESDIR}/${PN/db/s}.confd-r2" ${PN/db/s} + + insinto /etc + newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf + newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf + + systemd_dounit "${FILESDIR}/${PN}.service" + + insinto /etc/logrotate.d/ + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + # see bug #526114 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} +} + +pkg_preinst() { + # wrt bug #461466 + if [[ "$(get_libdir)" == "lib64" ]]; then + rmdir "${ED}"/usr/lib/ &>/dev/null + fi +} + +src_test() { + # this one test fails + rm jstests/core/repl_write_threads_start_param.js + + ./buildscripts/resmoke.py --dbpathPrefix=test --suites core || die "Tests failed" +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 3.0 ${v}; then + ewarn "!! IMPORTANT !!" + ewarn " " + ewarn "${PN} configuration files have changed !" + ewarn " " + ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" + ewarn " " + ewarn "Make sure you also follow the upgrading process :" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" + ewarn " " + ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." + ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." + ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" + break + fi + done + + ewarn "Make sure to read the release notes and follow the upgrade process:" + ewarn " https://docs.mongodb.org/manual/release-notes/3.2/" + ewarn " https://docs.mongodb.org/master/release-notes/3.2-upgrade/" + ewarn + ewarn " Starting in 3.2, MongoDB uses the WiredTiger as the default storage engine." +} diff --git a/dev-db/mongodb/mongodb-3.2.16.ebuild b/dev-db/mongodb/mongodb-3.2.16.ebuild new file mode 100644 index 000000000000..f18602bddd95 --- /dev/null +++ b/dev-db/mongodb/mongodb-3.2.16.ebuild @@ -0,0 +1,191 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +SCONS_MIN_VERSION="2.3.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit eutils flag-o-matic multilib pax-utils scons-utils systemd toolchain-funcs user versionator check-reqs + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="http://www.mongodb.org" +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug kerberos libressl mms-agent ssl test +tools" + +RDEPEND=">=app-arch/snappy-1.1.2 + >=dev-cpp/yaml-cpp-0.5.1 + >=dev-libs/boost-1.57[threads(+)] + >=dev-libs/libpcre-8.39[cxx] + dev-libs/snowball-stemmer + net-libs/libpcap + >=sys-libs/zlib-1.2.8 + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + >=sys-devel/gcc-4.8.2:* + sys-libs/ncurses + sys-libs/readline + debug? ( dev-util/valgrind ) + kerberos? ( dev-libs/cyrus-sasl[kerberos] ) + test? ( + dev-python/pymongo + dev-python/pyyaml + )" +PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" + +PATCHES=( + "${FILESDIR}/${PN}-3.2.0-fix-scons.patch" + "${FILESDIR}/${PN}-3.2.4-boost-1.60.patch" + "${FILESDIR}/${PN}-3.2.10-boost-1.62.patch" + "${FILESDIR}/${PN}-3.2.16-Replace-string-with-explicit-std-string.patch" + "${FILESDIR}/${PN}-3.4.6-sysmacros-include.patch" +) + +S=${WORKDIR}/${MY_P} + +pkg_pretend() { + if [[ ${REPLACING_VERSIONS} < 3.0 ]]; then + ewarn "To upgrade an existing MongoDB deployment to 3.2, you must be" + ewarn "running a 3.0-series release. Please update to the latest 3.0" + ewarn "release before continuing if wish to keep your data." + fi +} + +pkg_setup() { + enewgroup mongodb + enewuser mongodb -1 -1 /var/lib/${PN} mongodb + + # Maintainer notes + # + # --use-system-tcmalloc is strongly NOT recommended: + # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ + + scons_opts=( + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + + --disable-warnings-as-errors + --use-system-boost + --use-system-pcre + --use-system-snappy + --use-system-stemmer + --use-system-yaml + --use-system-zlib + ) + + # wiredtiger not supported on 32bit platforms #572166 + use x86 && scons_opts+=( --wiredtiger=off ) + + if use debug; then + scons_opts+=( --dbg=on ) + fi + + if use prefix; then + scons_opts+=( + --cpppath="${EPREFIX}/usr/include" + --libpath="${EPREFIX}/usr/$(get_libdir)" + ) + fi + + if use kerberos; then + scons_opts+=( --use-sasl-client ) + fi + + if use ssl; then + scons_opts+=( --ssl ) + fi +} + +src_compile() { + # respect mongoDB upstream's basic recommendations + # see bug #536688 and #526114 + if ! use debug; then + filter-flags '-m*' + filter-flags '-O?' + fi + escons "${scons_opts[@]}" core tools +} + +src_install() { + escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr + + local x + for x in /var/{lib,log}/${PN}; do + keepdir "${x}" + fowners mongodb:mongodb "${x}" + done + + doman debian/mongo*.1 + dodoc README docs/building.md + + newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} + newinitd "${FILESDIR}/${PN/db/s}.initd-r2" ${PN/db/s} + newconfd "${FILESDIR}/${PN/db/s}.confd-r2" ${PN/db/s} + + insinto /etc + newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf + newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf + + systemd_dounit "${FILESDIR}/${PN}.service" + + insinto /etc/logrotate.d/ + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + # see bug #526114 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} +} + +pkg_preinst() { + # wrt bug #461466 + if [[ "$(get_libdir)" == "lib64" ]]; then + rmdir "${ED}"/usr/lib/ &>/dev/null + fi +} + +src_test() { + # this one test fails + rm jstests/core/repl_write_threads_start_param.js || die + + ./buildscripts/resmoke.py --dbpathPrefix=test --suites core || die "Tests failed" +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 3.0 ${v}; then + ewarn "!! IMPORTANT !!" + ewarn " " + ewarn "${PN} configuration files have changed !" + ewarn " " + ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" + ewarn " " + ewarn "Make sure you also follow the upgrading process :" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" + ewarn " " + ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." + ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." + ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" + break + fi + done + + ewarn "Make sure to read the release notes and follow the upgrade process:" + ewarn " https://docs.mongodb.org/manual/release-notes/3.2/" + ewarn " https://docs.mongodb.org/master/release-notes/3.2-upgrade/" + ewarn + ewarn " Starting in 3.2, MongoDB uses the WiredTiger as the default storage engine." +} diff --git a/dev-db/mongodb/mongodb-3.4.3.ebuild b/dev-db/mongodb/mongodb-3.4.3.ebuild new file mode 100644 index 000000000000..25b6b977c05c --- /dev/null +++ b/dev-db/mongodb/mongodb-3.4.3.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +SCONS_MIN_VERSION="2.3.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit eutils flag-o-matic multilib pax-utils scons-utils systemd toolchain-funcs user versionator check-reqs + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="http://www.mongodb.org" +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug kerberos libressl mms-agent ssl test +tools" + +RDEPEND=">=app-arch/snappy-1.1.3 + >=dev-cpp/yaml-cpp-0.5.3 + >=dev-libs/boost-1.60[threads(+)] + >=dev-libs/libpcre-8.39[cxx] + dev-libs/snowball-stemmer + net-libs/libpcap + >=sys-libs/zlib-1.2.8 + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + >=sys-devel/gcc-5.3.0:* + sys-libs/ncurses + sys-libs/readline + debug? ( dev-util/valgrind ) + kerberos? ( dev-libs/cyrus-sasl[kerberos] ) + test? ( + dev-python/pymongo + dev-python/pyyaml + )" +PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" + +S=${WORKDIR}/${MY_P} + +pkg_pretend() { + if [[ ${REPLACING_VERSIONS} < 3.0 ]]; then + ewarn "To upgrade from a version earlier than the 3.0-series, you must" + ewarn "successively upgrade major releases until you have upgraded" + ewarn "to 3.2-series. Then upgrade to 3.4 series." + fi +} + +pkg_setup() { + enewgroup mongodb + enewuser mongodb -1 -1 /var/lib/${PN} mongodb + + # Maintainer notes + # + # --use-system-tcmalloc is strongly NOT recommended: + # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ + + scons_opts=( + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + + --disable-warnings-as-errors + --use-system-boost + --use-system-pcre + --use-system-snappy + --use-system-stemmer + --use-system-yaml + --use-system-zlib + ) + + # wiredtiger not supported on 32bit platforms #572166 + use x86 && scons_opts+=( --wiredtiger=off ) + + if use debug; then + scons_opts+=( --dbg=on ) + fi + + if use prefix; then + scons_opts+=( + --cpppath="${EPREFIX}/usr/include" + --libpath="${EPREFIX}/usr/$(get_libdir)" + ) + fi + + if use kerberos; then + scons_opts+=( --use-sasl-client ) + fi + + if use ssl; then + scons_opts+=( --ssl ) + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}/${PN}-3.4.0-fix-scons.patch" + if has_version ">=dev-libs/boost-1.62"; then + epatch "${FILESDIR}/${PN}-3.2.10-boost-1.62.patch" + fi + epatch_user +} + +src_compile() { + # respect mongoDB upstream's basic recommendations + # see bug #536688 and #526114 + if ! use debug; then + filter-flags '-m*' + filter-flags '-O?' + fi + escons "${scons_opts[@]}" core tools +} + +src_install() { + escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr + + for x in /var/{lib,log}/${PN}; do + keepdir "${x}" + fowners mongodb:mongodb "${x}" + done + + doman debian/mongo*.1 + dodoc README docs/building.md + + newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} + newinitd "${FILESDIR}/${PN/db/s}.initd-r2" ${PN/db/s} + newconfd "${FILESDIR}/${PN/db/s}.confd-r2" ${PN/db/s} + + insinto /etc + newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf + newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf + + systemd_dounit "${FILESDIR}/${PN}.service" + + insinto /etc/logrotate.d/ + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + # see bug #526114 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} +} + +pkg_preinst() { + # wrt bug #461466 + if [[ "$(get_libdir)" == "lib64" ]]; then + rmdir "${ED}"/usr/lib/ &>/dev/null + fi +} + +src_test() { + # this one test fails + rm jstests/core/repl_write_threads_start_param.js + + ./buildscripts/resmoke.py --dbpathPrefix=test --suites core || die "Tests failed" +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 3.0 ${v}; then + ewarn "!! IMPORTANT !!" + ewarn " " + ewarn "${PN} configuration files have changed !" + ewarn " " + ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" + ewarn " " + ewarn "Make sure you also follow the upgrading process :" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" + ewarn " " + ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." + ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." + ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" + break + fi + done + + ewarn "Make sure to read the release notes and follow the upgrade process:" + ewarn " https://docs.mongodb.org/manual/release-notes/3.4/" + ewarn " https://docs.mongodb.com/manual/release-notes/3.4/#upgrade-procedures" +} diff --git a/dev-db/mongodb/mongodb-3.4.4.ebuild b/dev-db/mongodb/mongodb-3.4.4.ebuild new file mode 100644 index 000000000000..ddb22087d4ab --- /dev/null +++ b/dev-db/mongodb/mongodb-3.4.4.ebuild @@ -0,0 +1,190 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +SCONS_MIN_VERSION="2.3.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit eutils flag-o-matic multilib pax-utils scons-utils systemd toolchain-funcs user versionator check-reqs + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="http://www.mongodb.org" +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug kerberos libressl mms-agent ssl test +tools" + +RDEPEND=">=app-arch/snappy-1.1.3 + >=dev-cpp/yaml-cpp-0.5.3 + >=dev-libs/boost-1.60[threads(+)] + >=dev-libs/libpcre-8.39[cxx] + dev-libs/snowball-stemmer + net-libs/libpcap + >=sys-libs/zlib-1.2.8 + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + >=sys-devel/gcc-5.3.0:* + sys-libs/ncurses + sys-libs/readline + debug? ( dev-util/valgrind ) + kerberos? ( dev-libs/cyrus-sasl[kerberos] ) + test? ( + dev-python/pymongo + dev-python/pyyaml + )" +PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" + +S=${WORKDIR}/${MY_P} + +pkg_pretend() { + if [[ ${REPLACING_VERSIONS} < 3.0 ]]; then + ewarn "To upgrade from a version earlier than the 3.0-series, you must" + ewarn "successively upgrade major releases until you have upgraded" + ewarn "to 3.2-series. Then upgrade to 3.4 series." + fi +} + +pkg_setup() { + enewgroup mongodb + enewuser mongodb -1 -1 /var/lib/${PN} mongodb + + # Maintainer notes + # + # --use-system-tcmalloc is strongly NOT recommended: + # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ + + scons_opts=( + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + + --disable-warnings-as-errors + --use-system-boost + --use-system-pcre + --use-system-snappy + --use-system-stemmer + --use-system-yaml + --use-system-zlib + ) + + # wiredtiger not supported on 32bit platforms #572166 + use x86 && scons_opts+=( --wiredtiger=off ) + + if use debug; then + scons_opts+=( --dbg=on ) + fi + + if use prefix; then + scons_opts+=( + --cpppath="${EPREFIX}/usr/include" + --libpath="${EPREFIX}/usr/$(get_libdir)" + ) + fi + + if use kerberos; then + scons_opts+=( --use-sasl-client ) + fi + + if use ssl; then + scons_opts+=( --ssl ) + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}/${PN}-3.4.0-fix-scons.patch" \ + "${FILESDIR}/${PN}-3.4.4-Replace-string-with-explicit-std-string.patch" + if has_version ">=dev-libs/boost-1.62"; then + epatch "${FILESDIR}/${PN}-3.2.10-boost-1.62.patch" + fi + epatch_user +} + +src_compile() { + # respect mongoDB upstream's basic recommendations + # see bug #536688 and #526114 + if ! use debug; then + filter-flags '-m*' + filter-flags '-O?' + fi + escons "${scons_opts[@]}" core tools +} + +src_install() { + escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr + + for x in /var/{lib,log}/${PN}; do + keepdir "${x}" + fowners mongodb:mongodb "${x}" + done + + doman debian/mongo*.1 + dodoc README docs/building.md + + newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} + newinitd "${FILESDIR}/${PN/db/s}.initd-r2" ${PN/db/s} + newconfd "${FILESDIR}/${PN/db/s}.confd-r2" ${PN/db/s} + + insinto /etc + newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf + newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf + + systemd_dounit "${FILESDIR}/${PN}.service" + + insinto /etc/logrotate.d/ + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + # see bug #526114 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} +} + +pkg_preinst() { + # wrt bug #461466 + if [[ "$(get_libdir)" == "lib64" ]]; then + rmdir "${ED}"/usr/lib/ &>/dev/null + fi +} + +src_test() { + # this one test fails + rm jstests/core/repl_write_threads_start_param.js + + ./buildscripts/resmoke.py --dbpathPrefix=test --suites core || die "Tests failed" +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 3.0 ${v}; then + ewarn "!! IMPORTANT !!" + ewarn " " + ewarn "${PN} configuration files have changed !" + ewarn " " + ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" + ewarn " " + ewarn "Make sure you also follow the upgrading process :" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" + ewarn " " + ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." + ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." + ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" + break + fi + done + + ewarn "Make sure to read the release notes and follow the upgrade process:" + ewarn " https://docs.mongodb.org/manual/release-notes/3.4/" + ewarn " https://docs.mongodb.com/manual/release-notes/3.4/#upgrade-procedures" +} diff --git a/dev-db/mongodb/mongodb-3.4.6.ebuild b/dev-db/mongodb/mongodb-3.4.6.ebuild new file mode 100644 index 000000000000..5900f1f4fac4 --- /dev/null +++ b/dev-db/mongodb/mongodb-3.4.6.ebuild @@ -0,0 +1,191 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +SCONS_MIN_VERSION="2.3.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit eutils flag-o-matic multilib pax-utils scons-utils systemd toolchain-funcs user versionator check-reqs + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="http://www.mongodb.org" +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug kerberos libressl mms-agent ssl test +tools" + +RDEPEND=">=app-arch/snappy-1.1.3 + >=dev-cpp/yaml-cpp-0.5.3 + >=dev-libs/boost-1.60[threads(+)] + >=dev-libs/libpcre-8.39[cxx] + dev-libs/snowball-stemmer + net-libs/libpcap + >=sys-libs/zlib-1.2.8 + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + >=sys-devel/gcc-5.3.0:* + sys-libs/ncurses + sys-libs/readline + debug? ( dev-util/valgrind ) + kerberos? ( dev-libs/cyrus-sasl[kerberos] ) + test? ( + dev-python/pymongo + dev-python/pyyaml + )" +PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" + +S=${WORKDIR}/${MY_P} + +pkg_pretend() { + if [[ ${REPLACING_VERSIONS} < 3.0 ]]; then + ewarn "To upgrade from a version earlier than the 3.0-series, you must" + ewarn "successively upgrade major releases until you have upgraded" + ewarn "to 3.2-series. Then upgrade to 3.4 series." + fi +} + +pkg_setup() { + enewgroup mongodb + enewuser mongodb -1 -1 /var/lib/${PN} mongodb + + # Maintainer notes + # + # --use-system-tcmalloc is strongly NOT recommended: + # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ + + scons_opts=( + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + + --disable-warnings-as-errors + --use-system-boost + --use-system-pcre + --use-system-snappy + --use-system-stemmer + --use-system-yaml + --use-system-zlib + ) + + # wiredtiger not supported on 32bit platforms #572166 + use x86 && scons_opts+=( --wiredtiger=off ) + + if use debug; then + scons_opts+=( --dbg=on ) + fi + + if use prefix; then + scons_opts+=( + --cpppath="${EPREFIX}/usr/include" + --libpath="${EPREFIX}/usr/$(get_libdir)" + ) + fi + + if use kerberos; then + scons_opts+=( --use-sasl-client ) + fi + + if use ssl; then + scons_opts+=( --ssl ) + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}/${PN}-3.4.0-fix-scons.patch" \ + "${FILESDIR}/${P}-no-boost-check.patch" \ + "${FILESDIR}/${PN}-3.4.4-Replace-string-with-explicit-std-string.patch" \ + "${FILESDIR}/${PN}-3.2.10-boost-1.62.patch" \ + "${FILESDIR}/${PN}-3.4.6-sysmacros-include.patch" + + epatch_user +} + +src_compile() { + # respect mongoDB upstream's basic recommendations + # see bug #536688 and #526114 + if ! use debug; then + filter-flags '-m*' + filter-flags '-O?' + fi + escons "${scons_opts[@]}" core tools +} + +src_install() { + escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr + + for x in /var/{lib,log}/${PN}; do + keepdir "${x}" + fowners mongodb:mongodb "${x}" + done + + doman debian/mongo*.1 + dodoc README docs/building.md + + newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} + newinitd "${FILESDIR}/${PN/db/s}.initd-r2" ${PN/db/s} + newconfd "${FILESDIR}/${PN/db/s}.confd-r2" ${PN/db/s} + + insinto /etc + newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf + newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf + + systemd_dounit "${FILESDIR}/${PN}.service" + + insinto /etc/logrotate.d/ + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + # see bug #526114 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} +} + +pkg_preinst() { + # wrt bug #461466 + if [[ "$(get_libdir)" == "lib64" ]]; then + rmdir "${ED}"/usr/lib/ &>/dev/null + fi +} + +src_test() { + # this one test fails + rm jstests/core/repl_write_threads_start_param.js + + ./buildscripts/resmoke.py --dbpathPrefix=test --suites core || die "Tests failed" +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 3.0 ${v}; then + ewarn "!! IMPORTANT !!" + ewarn " " + ewarn "${PN} configuration files have changed !" + ewarn " " + ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" + ewarn " " + ewarn "Make sure you also follow the upgrading process :" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" + ewarn " " + ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." + ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." + ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" + break + fi + done + + ewarn "Make sure to read the release notes and follow the upgrade process:" + ewarn " https://docs.mongodb.org/manual/release-notes/3.4/" + ewarn " https://docs.mongodb.com/manual/release-notes/3.4/#upgrade-procedures" +} diff --git a/dev-db/mongodb/mongodb-3.4.7.ebuild b/dev-db/mongodb/mongodb-3.4.7.ebuild new file mode 100644 index 000000000000..2aef3eaf1253 --- /dev/null +++ b/dev-db/mongodb/mongodb-3.4.7.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +SCONS_MIN_VERSION="2.3.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit eutils flag-o-matic multilib pax-utils scons-utils systemd toolchain-funcs user versionator check-reqs + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="http://www.mongodb.org" +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="AGPL-3 Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug kerberos libressl mms-agent ssl test +tools" + +RDEPEND=">=app-arch/snappy-1.1.3 + >=dev-cpp/yaml-cpp-0.5.3 + >=dev-libs/boost-1.60[threads(+)] + >=dev-libs/libpcre-8.39[cxx] + dev-libs/snowball-stemmer + net-libs/libpcap + >=sys-libs/zlib-1.2.8 + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + >=sys-devel/gcc-5.3.0:* + sys-libs/ncurses + sys-libs/readline + debug? ( dev-util/valgrind ) + kerberos? ( dev-libs/cyrus-sasl[kerberos] ) + test? ( + dev-python/pymongo + dev-python/pyyaml + )" +PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" + +PATCHES=( + "${FILESDIR}/${PN}-3.2.10-boost-1.62.patch" + "${FILESDIR}/${PN}-3.4.0-fix-scons.patch" + "${FILESDIR}/${PN}-3.4.4-Replace-string-with-explicit-std-string.patch" + "${FILESDIR}/${PN}-3.4.6-sysmacros-include.patch" + "${FILESDIR}/${PN}-3.4.7-no-boost-check.patch" +) + +S=${WORKDIR}/${MY_P} + +pkg_pretend() { + if [[ ${REPLACING_VERSIONS} < 3.0 ]]; then + ewarn "To upgrade from a version earlier than the 3.0-series, you must" + ewarn "successively upgrade major releases until you have upgraded" + ewarn "to 3.2-series. Then upgrade to 3.4 series." + fi +} + +pkg_setup() { + enewgroup mongodb + enewuser mongodb -1 -1 /var/lib/${PN} mongodb + + # Maintainer notes + # + # --use-system-tcmalloc is strongly NOT recommended: + # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ + + scons_opts=( + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + + --disable-warnings-as-errors + --use-system-boost + --use-system-pcre + --use-system-snappy + --use-system-stemmer + --use-system-yaml + --use-system-zlib + ) + + # wiredtiger not supported on 32bit platforms #572166 + use x86 && scons_opts+=( --wiredtiger=off ) + + if use debug; then + scons_opts+=( --dbg=on ) + fi + + if use prefix; then + scons_opts+=( + --cpppath="${EPREFIX}/usr/include" + --libpath="${EPREFIX}/usr/$(get_libdir)" + ) + fi + + if use kerberos; then + scons_opts+=( --use-sasl-client ) + fi + + if use ssl; then + scons_opts+=( --ssl ) + fi +} + +src_compile() { + # respect mongoDB upstream's basic recommendations + # see bug #536688 and #526114 + if ! use debug; then + filter-flags '-m*' + filter-flags '-O?' + fi + escons "${scons_opts[@]}" core tools +} + +src_install() { + escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr + + local x + for x in /var/{lib,log}/${PN}; do + keepdir "${x}" + fowners mongodb:mongodb "${x}" + done + + doman debian/mongo*.1 + dodoc README docs/building.md + + newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} + newinitd "${FILESDIR}/${PN/db/s}.initd-r2" ${PN/db/s} + newconfd "${FILESDIR}/${PN/db/s}.confd-r2" ${PN/db/s} + + insinto /etc + newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf + newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf + + systemd_dounit "${FILESDIR}/${PN}.service" + + insinto /etc/logrotate.d/ + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + # see bug #526114 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} +} + +pkg_preinst() { + # wrt bug #461466 + if [[ "$(get_libdir)" == "lib64" ]]; then + rmdir "${ED}"/usr/lib/ &>/dev/null + fi +} + +src_test() { + # this one test fails + rm jstests/core/repl_write_threads_start_param.js || die + + ./buildscripts/resmoke.py --dbpathPrefix=test --suites core || die "Tests failed" +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 3.0 ${v}; then + ewarn "!! IMPORTANT !!" + ewarn " " + ewarn "${PN} configuration files have changed !" + ewarn " " + ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" + ewarn " " + ewarn "Make sure you also follow the upgrading process :" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" + ewarn " " + ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." + ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." + ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" + ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" + break + fi + done + + ewarn "Make sure to read the release notes and follow the upgrade process:" + ewarn " https://docs.mongodb.org/manual/release-notes/3.4/" + ewarn " https://docs.mongodb.com/manual/release-notes/3.4/#upgrade-procedures" +} -- cgit v1.2.3