Compare commits

...

478 Commits

Author SHA1 Message Date
cf509a9900 [dev-libs/libbson] and fix it again ugh 2025-10-28 23:39:55 +01:00
05847b18f1 [dev-libs/libbson] fix USE=verify-sig 2025-10-28 19:01:20 +01:00
b46bc97782 [sec-keys/openpgp-keys-mongo-c-driver] rename for tree inclusion 2025-10-28 19:00:48 +01:00
3a93d52e7d [dev-libs/libmongocrypt] bump, untested 2025-10-28 01:16:21 +01:00
66adfd38a0 [www-misc/awstats] bump 2025-10-27 20:42:07 +01:00
bb3c564868 [www-apps/grafana] bump 2025-10-25 19:49:08 +02:00
22bf68fce3 [acct-*/grafana] minor updates i forgot to commit 2025-10-25 19:47:22 +02:00
089b435d52 [dev-lang/php] bump 7.4 2025-10-22 22:26:08 +02:00
f77997a8b1 [dev-db/postgresql] revbump to match tree 2025-10-20 14:10:19 +02:00
5379c9f4de [dev-libs/mongo-c-driver] roll new doc tarball with fixed script (thanks sam) and remove python eclass 2025-10-19 18:15:17 +02:00
03f74ef951 [dev-libs/libbson] roll new doc tarball and remove python eclass 2025-10-19 18:13:34 +02:00
7f63b7011b [dev-libs/mongo-c-driver] jank 1.24.4-r1, as its in a pr 2025-10-19 12:52:43 +02:00
948e8fda45 [dev-libs/mongo-c-driver] bump and static libs regression fix 2025-10-18 15:52:20 +02:00
958a8c9827 [dev-libs/libbson] bump 2025-10-18 15:50:24 +02:00
af9e666648 [net-irc/znc] sync with tree 2025-10-11 20:06:19 +02:00
0c53874a63 [dev-util/include-what-you-use] its in tree 2025-10-10 19:28:06 +02:00
229c6fcb3e [net-dns/bind] bump 2025-10-05 12:17:48 +02:00
25fda6cdfc [www-apps/grafana] add 2025-09-25 10:44:07 +02:00
1dd3f5cfe6 [acct-user/grafana] add for grafana 2025-09-25 10:43:17 +02:00
9ec4dfe05a [acct-group/grafana] add for grafana 2025-09-25 10:42:42 +02:00
714d0b092a [dev-go/wire] add for grafana 2025-09-23 00:49:02 +02:00
e57bdae767 [dev-util/include-what-you-use] py3k14 and LLVM 21 2025-09-22 21:41:28 +02:00
7a9993f852 [dev-libs/mongo-c-driver] disable manpage gen, fix verify-sig 2025-09-15 16:56:55 +02:00
1d89bc4211 [dev-libs/libbson] disable manpage gen, fix verify-sig 2025-09-15 16:56:19 +02:00
728ab5ef13 [dev-db/timescaledb] missed pg14 removal 2025-09-15 16:51:00 +02:00
cac773ad0e [dev-db/postgresql] support llvm21 2025-09-15 15:56:16 +02:00
5a0ccc7e1f [dev-libs/mongo-c-driver] add docs tarball 2025-09-15 15:43:19 +02:00
7573325668 [dev-libs/libbson] add docs tarball 2025-09-15 15:41:11 +02:00
d0414b7994 [dev-libs/mongo-c-driver] migrate to ctest, verify-sig, cmake4 2025-09-14 14:38:57 +02:00
33bba7b3f3 [dev-libs/libbson] add verify-sig, cmake4 compat 2025-09-14 14:33:59 +02:00
0bf538d486 [sec-keys/openpgp-keys-mongo-c-driver] initial import 2025-09-14 14:31:43 +02:00
0a3601bf16 [net-nds/389-ds-base] rm, in tree 2025-09-14 14:31:02 +02:00
1c025ed03a [net-nds/389-ds-base] add some patches 2025-09-12 16:55:13 +02:00
ff1202d171 Revert "[acct-*] change to seaweedfs, plans have changed"
it is not worth it, minio it is, then.

This reverts commit 61ed3aba26.
2025-09-02 19:20:25 +02:00
a500af9cdb [dev-util/include-what-you-use] add IWYU for clang 20 2025-09-02 19:19:10 +02:00
6a89c517c8 [dev-db/postgresql] bump 2025-08-16 21:20:22 +02:00
61ed3aba26 [acct-*] change to seaweedfs, plans have changed 2025-08-10 20:58:16 +02:00
ad3c054e69 [net-nds/389-ds-base] bump 2025-08-09 19:37:06 +02:00
89340f1a0c [net-dns/bind] bump 2025-08-02 22:33:35 +02:00
f0b1a20bc8 [dev-libs/libmongocrypt] bump 2025-08-02 11:25:48 +02:00
a63c42cdfd [sec-keys/openpgp-keys-mongodb] remove obsolete package 2025-07-22 15:40:28 +02:00
d6fb6280c5 [sec-keys/openpgp-keys-sssd] fix Manifest 2025-07-22 15:39:30 +02:00
eac0d0dbf0 [dev-libs/libmongocrypt] QA fix 2025-07-22 15:38:12 +02:00
1cf7d7802b [dev-libs/mongo-c-driver] bump and also libmongocrypt-less version 2025-07-22 15:37:24 +02:00
cdb3eed64d [dev-libs/libbson] bump 2025-07-22 15:32:59 +02:00
e601519a5a [app-admin/mongo-tools] QA fixes 2025-07-22 15:31:04 +02:00
067b432856 [dev-db/mongodb] bump 6 series 2025-07-19 17:20:57 +02:00
9fd084c297 [dev-db/timescaledb] bump 2025-07-19 02:20:22 +02:00
a78fc71ad4 [dev-db/timescaledb] rm old 2025-07-19 02:19:11 +02:00
5711c93437 [dev-db/postgresql] fix manifest 2025-07-19 02:18:52 +02:00
e5d8211833 [dev-lang/php] update snapshot 2025-07-11 02:52:41 +02:00
c7d8423e53 [sys-kernel/dracut] in-tree is fine now 2025-07-04 19:40:39 +02:00
92e546c2c6 [dev-python/reretry] turns out this was never needed 2025-07-04 19:39:18 +02:00
d0aefdd1fd [dev-python/pymongocrypt] bump 2025-07-04 19:38:41 +02:00
12537a2eaa [dev-libs/libmongocrypt] bump 2025-07-04 19:37:43 +02:00
63c65e6742 [dev-php/pecl-timezonedb] bump and reduce package to only relevant php versions 2025-07-04 19:27:23 +02:00
c49304f6c9 [sys-auth/libnss-extrausers] bump debian version, no source change 2025-07-04 19:10:07 +02:00
63371b48e7 [net-dns/bind] fix IUSE 2025-06-30 15:53:40 +02:00
bfe8b3d417 [net-dns/bind] bump 2025-06-29 23:49:34 +02:00
000a1fab68 [dev-db/postgresql] 16 removal and libxml2 subslot 2025-06-09 12:05:15 +02:00
d372b06a5a [dev-lang/php] add libxml2 subslot 2025-06-09 11:58:54 +02:00
726789c4f0 [sys-cluster/glusterfs] remove overshadowed 2025-06-09 11:57:22 +02:00
f24eb89380 [net-dns/bind] bump 2025-06-01 12:31:50 +02:00
940383d3c5 [dev-libs/Ice] py3.14 apparently works, so does php 8.4 2025-05-30 02:01:20 +02:00
6867dbd1cf [net-dns/bind] sync 2025-05-30 01:24:28 +02:00
a1e14eb551 [sys-auth/sssd] bump 2025-05-27 23:32:35 +02:00
d0bd08afd7 {dev-python/pymongocrypt] bump 2025-05-27 15:22:14 +02:00
f966ebb261 [dev-lang/php] update patchset 2025-05-17 19:37:19 +02:00
dddfde2022 [dev-libs/Ice] py3k13 2025-05-17 12:41:59 +02:00
52ddf32299 [dev-db/timescaledb] bump 2025-05-17 12:36:23 +02:00
d0a971040c [net-fs/nfs-ganesha] py3k13, which i apparently never commited 2025-05-15 14:01:20 +02:00
efa6126076 [dev-db/postgresql] bump 2025-05-15 13:57:32 +02:00
82c12b2341 [sys-cluster/glusterfs] sync 2025-05-11 21:44:01 +02:00
d0ad97eec8 [dev-libs/libmongocrypt] bump, use dot-a 2025-05-07 21:59:47 +02:00
9ab68b1bf2 [dev-libs/mongo-c-driver] bump, use dot-a 2025-05-07 21:58:45 +02:00
3aa2ae6c1b [dev-libs/libbson] bump, use dot-a 2025-05-07 21:58:04 +02:00
9fb465cae4 [dev-db/postgresql] sync 2025-05-07 21:26:53 +02:00
d1f41316a2 [net-nds/389-ds-base] py3k13 2025-05-06 14:33:38 +02:00
1dfc0f2167 [sys-cluster/glusterfs] sync tree 2025-04-25 12:55:16 +02:00
2f37b70508 [net-dns/bind] and the keys 2025-04-21 17:56:59 +02:00
dadb838313 [net-dns/bind] somehow the cache file keeps slipping back in 2025-04-21 17:44:38 +02:00
02ae36bb47 [net-dns/bind] bump 2025-04-21 17:29:49 +02:00
3e52eb10d5 [sys-auth/sssd] sync with tree 2025-04-21 16:45:58 +02:00
4ab380a405 [dev-python/reretry] new package, not tested with mongo8 yet 2025-04-21 16:44:45 +02:00
7c5d982f3f [dev-db/mongodb] bump 7 2025-04-14 22:14:38 +02:00
9bcea35893 [dev-db/mongodb] updates
removed 5, no longer in scope,
updated 6 and refreshed patches, mostly no change, revert to older configs for now to minimize diff to tree
refreshed 7 on top of 6, pending update
2025-04-14 18:29:56 +02:00
087c4ca311 [net-fs/minio] resurrect, probably builds, untested, inspiration from net-fs/mc 2025-04-11 18:46:15 +02:00
c415f64f65 [acct-user/minio] resurrect, eapi bump 2025-04-11 18:44:49 +02:00
75a62f600f [acct-group/minio] resurrect, eapi bump 2025-04-11 18:44:22 +02:00
7e1ba411dd [dev-python/pymongocrypt] bump 2025-04-09 14:35:58 +02:00
3d67332018 [dev-libs/libmongocrypt] bump 2025-04-09 14:34:14 +02:00
a795443578 [dev-libs/mongo-c-driver] bump 2025-04-09 14:32:55 +02:00
0a66a5635e [dev-libs/libbson] bump 2025-04-09 14:30:16 +02:00
0657a0ff49 [dev-python/pymongo-auth-aws] remove py3k10 2025-04-09 14:26:24 +02:00
f56ed735a0 [dev-libs/mongo-c-driver] skip a flaky test 2025-04-07 21:27:43 +02:00
6d0548c028 [dev-libs/mongo-c-driver] touch up old version for the tree again 2025-04-07 20:24:14 +02:00
cb97dd4739 [dev-libs/libbson] touch up old version for the tree again 2025-04-07 20:23:47 +02:00
1db773241a [sys-cluster/glusterfs] try py3k13 2025-04-06 20:56:13 +02:00
2c704daf1d [dev-lang/php] use a newer snapshot 2025-04-01 00:34:19 +02:00
9487fe22d8 [sys-auth/sssd] sync with tree 2025-03-31 21:44:54 +02:00
4075801cb5 [dev-lang/php] update to inode64 version 2025-03-31 21:40:45 +02:00
8046ba7502 [dev-db/mongodb] bump 5 series, sync the others 2025-03-22 23:18:46 +01:00
283cbf65ea [dev-db/timescaledb] bump 2025-03-12 18:13:53 +01:00
a55b727590 [dev-db/postgresql] sync 2025-03-07 19:09:55 +01:00
e676a16bc4 [dev-db/postgresql] bump 2025-02-22 12:48:12 +01:00
1add46f0c1 [app-crypt/certbot-dns-rfc2136] superseded by app-crypt/certbot in-tree 2025-02-21 18:11:22 +01:00
d18b34dfb3 [dev-db/postgresql] bump 2025-02-13 16:32:39 +01:00
329fe1fe90 [dev-db/timescaledb] bump, rm old 2025-02-13 15:55:24 +01:00
864d9a3f8a [sys-auth/sssd] sync 2025-01-15 13:29:16 +01:00
ef6ad0040c [dev-python/pymongocrypt] bump 2025-01-05 08:11:39 +01:00
5da9f07c05 [dev-db/mongodb] fix patch name 2024-12-21 04:40:26 +01:00
4444949d58 [dev-db/mongodb] bump 6 series, tree candidate 2024-12-21 04:36:43 +01:00
96772d9b66 [dev-db/mongodb] fix inherits 2024-12-19 00:00:32 +01:00
b571427429 [dev-lang/php] rebase 2024-12-17 16:21:30 +01:00
abbda3f701 [dev-db/mongodb] fix patch for 6 and up 2024-12-17 16:19:51 +01:00
1a7a3a7ecf [dev-db/mongodb] sync with tree, untested 2024-12-13 15:42:56 +01:00
ebc7d420e7 [sys-auth/sssd] fix the fix 2024-12-09 03:45:55 +01:00
fb7d45bc3d [sys-auth/sssd] fix multilib build 2024-12-09 03:40:01 +01:00
aeb6fbe34e [dev-db/mongodb] more clang. sigh. 2024-12-08 21:42:21 +01:00
dada1fc5ce [sys-auth/sssd] bump 2024-12-08 02:36:42 +01:00
f3067850e8 [dev-db/postgresql] sync with tree 2024-11-23 13:39:04 +01:00
966a7f96fa [dev-lang/php] rebase, new security stuff, change icu patch (no actual change) 2024-11-23 03:59:30 +01:00
2ee933af85 [dev-db/mongodb] bump 7 series 2024-11-20 19:23:06 +01:00
595982e4cb [dev-db/mongodb] bump 6 series, gcc11 patch needs rebase 2024-11-20 19:14:08 +01:00
47e7b1da90 [dev-db/mongodb] bump 5 series 2024-11-20 19:07:46 +01:00
7b9e4397ed [dev-db/timescaledb] sync 2024-11-17 13:45:01 +01:00
4e258a1599 [dev-libs/mongo-c-driver] bump 2024-11-16 20:08:41 +01:00
00aac76d11 [dev-libs/libmongocrypt] bump 2024-11-16 20:06:38 +01:00
2948003cdc [dev-libs/libbson] bump 2024-11-16 20:05:57 +01:00
159d61f161 [dev-db/timescaledb] welcome to "fix multibuild once and for all" season 2 2024-11-16 20:03:55 +01:00
6a90c9af59 [net-nds/389-ds-base] add with maximum rust removed since it builds fine 2024-11-16 15:01:04 +01:00
ad22304a63 [sys-kernel/dracut] sync 2024-11-16 15:00:17 +01:00
5541c03700 [dev-db/postgresql] fix drunk quoting 2024-11-15 22:06:18 +01:00
34c3105b84 [dev-db/mongodb] drop llvm 19 until toolchain upgrade (likely not for 6 anyway) 2024-11-15 22:00:55 +01:00
9e2efadd1c [dev-db/timescaledb] bump 2024-11-15 01:14:22 +01:00
c2a41f091e [dev-db/postgresql] sync 2024-11-15 01:00:24 +01:00
d524664c38 [sys-kernel/dracut] sync to in-tree live, deal with real cpio later 2024-11-12 22:35:47 +01:00
1da9e36a1a [sys-kernel/dracut] sync 2024-11-10 04:09:32 +01:00
b7aa1f2e70 [net-dns/bind] sync 2024-11-09 13:03:26 +01:00
2d3920dd89 [sys-kernel/dracut] sync 2024-11-06 15:35:00 +01:00
403c700a49 [net-dns/bind] fix the fix 2024-10-29 16:35:47 +01:00
de1117886a [net-dns/bind] remove old stuff again 2024-10-29 16:08:33 +01:00
a5bf0a0402 [net-dns/bind] sync 2024-10-29 12:19:41 +01:00
cdfcfe78b2 [sys-auth/sssd] sync 2024-10-29 12:01:26 +01:00
e622843475 [dev-db/mongodb] remove clang support from 5.0, almost EOL 2024-10-18 18:57:47 +02:00
e1c96a1978 [sys-auth/sssd] fix build with samba 4.21 2024-10-18 16:28:49 +02:00
fbcb1d3bb8 [sys-auth/sssd] sync 2024-10-15 11:52:37 +02:00
662a41cd01 [dev-java] arm--; 2024-10-12 19:37:11 +02:00
626ca68358 [app-crypt/certbot-dns-rfc2136] bump 2024-10-12 15:03:03 +02:00
9d7bf9b364 [dev-db/mongodb] bump to 7
doesn't really work on clang, needs variant removal backport as 6 does
2024-10-03 23:34:50 +02:00
0ecbee4bbd [sys-kernel/dracut] sync with tree 2024-10-02 12:18:37 +02:00
c58055499b [dev-db/postgresql] fix Manifest 2024-10-02 12:17:39 +02:00
88722430ed [dev-db/postgresql] fix USE=-server 2024-09-27 15:52:35 +02:00
f776862fd2 [dev-lang/php] --with-pear fix 2024-09-27 15:48:38 +02:00
92504c1c00 [dev-db/postgresql] sync with tree 2024-09-26 23:29:03 +02:00
0fb7b3f09d [dev-lang/php] rebase for new security fixes 2024-09-26 23:17:48 +02:00
f83e376a53 [dev-libs/mongo-c-driver] bump 2024-09-18 18:22:27 +02:00
6f8c769dfa [dev-libs/libbson] bump 2024-09-18 18:21:36 +02:00
a9f98e0c9a [dev-db/mongodb] bump 6 series 2024-09-15 19:05:03 +02:00
d311f6a293 [net-analyzer/netdata] sync, not tested yet 2024-09-14 17:59:19 +02:00
ef4ecb830f ekeyword ^ia64 */*/* 2024-09-12 21:40:03 +02:00
78c2cbd195 [dev-python/pymongo-auth-aws] bump 2024-09-12 01:55:23 +02:00
e3687455e4 [dev-db/mongodb] remove unused patch 2024-09-12 01:54:29 +02:00
a16f047b30 [dev-python/pymongocrypt] bump 2024-09-09 17:33:29 +02:00
e5d5ad4d94 add cpe identifiers for all mongodb packages, add clang useflag description to mongodb 2024-09-09 05:21:36 +02:00
0512a7e3a3 [net-im/spectrum2] remove protobuf hack 2024-09-08 21:33:57 +02:00
040134f5b2 [dev-db/mongodb] hopefully finish clang changes 2024-09-08 19:54:02 +02:00
b360af06a9 [dev-db/mongodb] allow clang on gcc profile 2024-09-08 03:51:44 +02:00
62b49ec482 [dev-db/mongodb] py3k13 stopped segfaulting, also add missed phase function 2024-09-07 22:15:36 +02:00
6f3e41662d [dev-db/mongodb] switch extra useflags to optfeature 2024-09-07 19:35:28 +02:00
e631839318 [dev-db/mongodb] add gcc 15 patch from abseil 2024-09-06 20:05:59 +02:00
5d71012c2d [dev-db/mongodb] clang stuff 2024-09-05 20:25:52 +02:00
602417250d [net-dns/bind] sync 2024-09-04 01:46:38 +02:00
8993dd075b [net-dns/bind] fix paths 2024-09-02 17:31:56 +02:00
88bd423204 [net-dns/bind] forgot to rename the file 2024-09-02 17:13:01 +02:00
5cc053875f [sys-auth/sssd] use in-tree bind dependency string 2024-09-02 16:57:15 +02:00
04642ca6f6 [net-dns/bind] whitespace 2024-09-02 16:50:44 +02:00
9a851e23bd [net-dns/bind] sync with tree, hopefully not breaking anything 2024-09-02 16:47:24 +02:00
6d4b7f8bba [net-dns/bind-tools] unsplit 2024-09-02 16:42:55 +02:00
ade75f86ff [sys-auth/libnss-extrausers] move from froxlor overlay 2024-09-01 17:54:39 +02:00
23324988ac [sys-auth/sssd] sync 2024-08-31 04:50:33 +02:00
057b5afc26 [net-fs/nfs-ganesha] pin for now, add subslot though. 2024-08-31 04:17:06 +02:00
f4f071f890 [dev-db/timescaledb] it helps to save actually. 2024-08-31 04:16:26 +02:00
6d44a3eddf [dev-db/timescaledb] bump 2024-08-31 04:01:33 +02:00
441892bc3d [sys-kernel/dracut] sync 2024-08-27 20:15:09 +02:00
e026074dac [dev-db/mongodb] bump, remove gh suffix 2024-08-26 22:56:13 +02:00
5892ffabe3 sync layout.conf from tree 2024-08-26 19:22:10 +02:00
9267591109 [dev-db/mongodb] fix clang 2024-08-25 00:37:56 +02:00
adbb4ea444 [net-fs/nfs-ganesha] complete the work on it for now, python untested 2024-08-23 16:31:24 +02:00
ea5de217c0 [net-libs/ntirpc] bump, also adjust nfs-ganesha dep so it might actually build this time 2024-08-23 07:03:49 +02:00
de14b751c6 [net-fs/nfs-ganesha] well, its slow, but we are getting somewhere. 2024-08-23 03:33:39 +02:00
d620cf6b4f fix use expand for ganesha for good now 2024-08-23 03:03:01 +02:00
a6a924e808 [dev-php/pecl-timezonedb] bump 2024-08-22 17:41:56 +02:00
3f2036bf6d [sys-kernel/dracut] sync 2024-08-17 22:03:42 +02:00
eed5e0f7b3 [net-mail/automx2] remove old 2024-08-17 14:51:46 +02:00
c47ac8d562 [dev-lang/php] use original patch 2024-08-17 14:02:39 +02:00
0d79d4ba69 [dev-lang/php] rebase (macos only patches) add icu75 from freebsd 2024-08-17 03:13:02 +02:00
e85a4f35de [dev-db/mysql] migrated to mariadb so delete 2024-08-17 02:36:48 +02:00
0dd32babce [dev-db/mongodb] drop py3k13 since it appears to be segfaulting now 2024-08-14 17:25:16 +02:00
6452dd8efb [dev-db/mongodb] fix filename 2024-08-14 04:14:47 +02:00
1afe3e5d08 [dev-db/mongodb] rebase patches and bump 6 series 2024-08-14 03:45:50 +02:00
95e4663968 [dev-db/postgresql] sync with tree 2024-08-11 13:00:42 +02:00
5f3651dab4 [dev-libs/libmongocrypt] bump 2024-08-03 07:50:31 +02:00
ee33e935c7 [dev-db/mongodb] fix last commit for 6 2024-07-26 03:18:21 +02:00
3ec35b706e [dev-db/mongodb] driver dep dropped, added clang patch 2024-07-25 12:10:58 +02:00
897da73489 [dev-db/mongodb] sync with tree 2024-07-24 14:40:39 +02:00
14426d85bb [dev-python/pymongo-auth-aws] replace test with sed from pymongo 2024-07-24 14:35:32 +02:00
50976c650d [dev-python/pymongocrypt] replace test with sed from pymongo 2024-07-24 14:33:24 +02:00
3be784dbc2 [dev-db/timescaledb] remove old 2024-07-24 14:30:40 +02:00
813324109f [app-crypt/certbot-dns-rfc2136] sync with tree 2024-07-23 11:39:03 +02:00
4c9b82680e [sys-kernel/dracut] sync 2024-07-21 12:16:18 +02:00
3887b81bd7 [sys-kernel/dracut] sync with tree 2024-07-20 04:02:15 +02:00
3201c0b3f4 [dev-libs/mongo-c-driver] only kill mongod if its started 2024-07-16 09:10:17 +02:00
bf6335f804 [dev-libs/mongo-c-driver] pkgcheck, minus s3 useflag description 2024-07-14 00:02:22 +02:00
0f058465d3 [dev-libs/libbson] pkgcheck 2024-07-14 00:00:33 +02:00
5ec920778a [dev-libs/mongo-c-driver] clean up 2024-07-13 23:53:27 +02:00
a78b0b860c [dev-libs/libbson] clean up 2024-07-13 23:36:10 +02:00
0e95b91953 [dev-libs/mongo-c-driver] skip mock tests 2024-07-13 19:41:52 +02:00
d7904ebfdb [dev-libs/mongo-c-driver] prepare version for tree 2024-07-13 01:59:29 +02:00
0ece479d4b [dev-libs/libbson] prepare version for tree 2024-07-13 01:58:20 +02:00
456262ff7b [dev-libs/libmongocrypt] add reference to static patch 2024-07-13 01:55:05 +02:00
478bfcff2d [dev-python/pymongocrypt] update PYTHON_COMPAT 2024-07-13 01:54:15 +02:00
b42212354f [dev-python/pymongo-auth-aws] update PYTHON_COMPAT 2024-07-13 01:53:27 +02:00
58d7ed5be4 [dev-db/timescaledb] bump, removing direct openssl linking 2024-07-11 17:23:58 +02:00
f3e586d3b6 [dev-db/mongodb] fix git hash for 5 series 2024-07-09 20:43:06 +02:00
12edae6bef [dev-db/mongodb] bump 5 series 2024-07-09 08:13:56 +02:00
d286bd20ad [dev-libs/libmongocrypt] add fix from pr to fix static, refresh version patch 2024-07-09 08:10:43 +02:00
20b46776f1 [dev-python/pymongocrypt] skip the segfaulting tests, need to check exact reason 2024-07-09 08:05:51 +02:00
196defa264 [dev-libs/libmongocrypt] enable inteldfp again, now that FETCHCOMMAND_FULLY_DISCONNECTED is gone
given its "fetching" from local fs its a non-issue
2024-07-06 02:18:49 +02:00
148a4f8dd7 [dev-libs/mongo-c-driver] bump 2024-07-04 02:56:26 +02:00
be3cf70d1a [dev-libs/libbson] bump 2024-07-04 02:54:43 +02:00
1f7ff865cd [app-admin/mongo-tools] bump 2024-07-04 02:52:43 +02:00
fc8c98c39a [dev-db/mongodb] add back dep on curl, use mongo-c-driver as bdep 2024-07-02 19:25:09 +02:00
eda630e4b2 [dev-python/pymongocrypt] bump, no real changes 2024-07-02 18:08:50 +02:00
c75c4b914c [dev-libs/mongo-c-driver] fix some stupid 2024-06-27 02:47:44 +02:00
9941b08cb5 [dev-libs/mongo-c-driver] bump to use proper release archive and python deps 2024-06-27 02:42:21 +02:00
83f727445f [dev-libs/libbson] bump to use proper release archive and python deps 2024-06-27 02:39:14 +02:00
22063264f4 [dev-db/mongodb] fix patches for 6 series 2024-06-27 00:18:26 +02:00
fb4fcdca2b [dev-python/pymongocrypt] bump, check tests still needed 2024-06-27 00:17:37 +02:00
cdb55721c8 [dev-python/pymongo-auth-aws] bump, tree candidate after checking keywords 2024-06-26 15:40:16 +02:00
cec770b120 [dev-libs/libmongocrypt] bump to 1.10.1 2024-06-25 23:24:35 +02:00
59b3658281 [dev-db/mongodb] bump to 6.0.16 2024-06-25 23:20:49 +02:00
8660a0ae86 [dev-libs/mongo-c-driver] try fixing stable candidate and remove non-existant option 2024-06-25 18:05:22 +02:00
a3be220c85 [dev-db/mongodb] re-add force jobs, needed for distcc 2024-06-25 18:02:26 +02:00
1d2885fbf9 [dev-db/mongodb] remove 4.4, its EOL 2024-06-25 18:01:35 +02:00
66fd904640 [dev-libs/mongo-c-driver] remove test restriction on x86 2024-06-25 01:51:24 +02:00
9cf87dd318 [dev-libs/mongo-c-driver] add a test-full useflag to mask on non-mongodb arches 2024-06-25 01:41:24 +02:00
45aadb32ea [dev-libs/mongo-c-driver] start test mongod with LC_ALL=C 2024-06-24 05:28:06 +02:00
31fdcd5f79 [dev-libs/libbson] restrict tests 2024-06-24 05:27:05 +02:00
85a2e481e3 [dev-libs/libmongocrypt] clean up 2024-06-23 18:14:23 +02:00
44a9d02f87 [dev-python/pymongocrypt] clean up 2024-06-23 18:10:33 +02:00
a5027e1c9e [dev-python/pymongo-auth-aws] clean up 2024-06-23 17:46:45 +02:00
eb35f025aa [dev-python/pymongo-auth-aws] add 2024-06-22 00:59:06 +02:00
e658d61f13 [dev-python/pymongocrypt] add 2024-06-22 00:58:40 +02:00
3e9c691316 [dev-libs/mongo-c-driver] add libmongocrypt and aws support 2024-06-22 00:57:50 +02:00
68b96b1f2e [dev-libs/libmongocrypt] add 2024-06-22 00:56:22 +02:00
4b78c7ceb6 [dev-libs/mongo-c-driver] skip tests with file and also run some more tests 2024-06-18 03:20:31 +02:00
360d56fbce [net-dns/bind] sync with eras overlay and remove uneeded patch 2024-06-18 03:13:38 +02:00
c7ee2425ee [dev-lang/php] refresh for one security fix 2024-06-14 18:29:20 +02:00
0ec3552ce2 [dev-db/timescaledb] fix build 2024-06-14 02:21:55 +02:00
994b448b18 [dev-db/timescaledb] EAPI 8 2024-06-12 16:41:42 +02:00
b3177c95f3 [dev-libs/libbson] move S up 2024-06-11 17:31:05 +02:00
5e911f8366 [dev-db/mongodb] fix typo 2024-06-09 14:57:09 +02:00
582220d3ad [dev-libs/mongo-c-driver] drop unneeded patches 2024-06-08 22:33:03 +02:00
171d8a9b7b [dev-libs/mongo-c-driver] bump, for mongodb6 (or 7, who knows) 2024-06-08 22:30:15 +02:00
8fe813c80f [dev-libs/libbson] bump, for mongodb6 (or 7, who knows) 2024-06-08 22:25:42 +02:00
203e31cda5 [dev-db/mongodb] commit some half finished work i guess 2024-06-08 22:24:15 +02:00
3bc4b1708f [dev-db/mongodb] fix tmpfiles install 2024-06-06 19:57:42 +02:00
360db7b1ab [dev-db/mongodb] for 6 migrate socket to /run and change logdir creation to tmpfiles 2024-06-06 15:20:40 +02:00
94ebf5ce48 [sys-auth/sssd] sync with tree 2024-06-06 03:26:25 +02:00
e800a863bf [dev-db/mongodb] bump 5 series 2024-06-06 03:20:08 +02:00
4368c5f7d0 [sys-kernel/dracut] sync with tree 2024-06-06 03:16:35 +02:00
6b974d959a [dev-db/mongodb] split boost 1.85 so it can be reused, 6 should build now 2024-06-01 18:37:41 +02:00
515cc1e59d [dev-db/mongodb] WIP, 6 still broken 2024-06-01 03:51:38 +02:00
3eaf2ae1ad [net-dns/bind] bump 2024-05-18 14:26:59 +02:00
c6fa8d4a86 [net-dns/bind-tools] bump 2024-05-18 14:26:20 +02:00
70225f405e [app-misc/solaar] in tree 2024-05-17 13:36:46 +02:00
7da2eed08e [app-misc/solaar] test bump and stuff 2024-05-16 17:12:08 +02:00
307203176a [dev-db/mongodb] fix git hash 2024-05-16 17:11:41 +02:00
98941761be [dev-db/postgresql] sync 2024-05-15 15:11:32 +02:00
f6effdf31c [dev-db/mongodb] bump, lightly build tested 2024-05-13 14:49:34 +02:00
b7bc74f68e [dev-db/postgresql] sync 2024-05-13 14:44:58 +02:00
21803c47cc [dev-db/mongodb] use github tarball as per SERVER-90264 2024-05-10 10:16:27 +02:00
afa7c21d94 [app-admin/mongo-tools] remove env vars for testing 2024-05-10 10:15:00 +02:00
2587acd24c [dev-db/postgresql] bump 2024-05-09 19:37:02 +02:00
fdf1e23e36 [dev-libs/Ice] remove in-tree stuff 2024-05-06 05:13:06 +02:00
5b039875f0 [dev-db/mongodb] add back scons as a dep so python flags are synced 2024-04-29 12:52:24 +02:00
442524fc45 [dev-db/mongodb] fix the fix for 5.0 2024-04-28 22:22:31 +02:00
e0b4b09600 [dev-db/mongodb] fix patch 2024-04-28 21:57:37 +02:00
d644135c79 [net-nds/389-ds-base] rm, in tree 2024-04-28 13:12:56 +02:00
3e741a8c5f [dev-db/mongodb] support py3k12 2024-04-28 02:12:04 +02:00
84aa05439d [net-nds/389-ds-base] bump 2024-04-17 01:59:15 +02:00
eebcd4d28b [app-crypt/certbot-dns-rfc2136] bump 2024-04-15 10:58:15 +02:00
eab7d16461 [dev-lang/php] rebase 2024-04-15 02:11:00 +02:00
6d151cad50 [sys-kernel/dracut] bump 2024-04-08 18:03:31 +02:00
c98a7cf6ae [sys-kernel/dracut] back to r1 2024-04-06 22:27:44 +02:00
8fd0f197f5 [sys-kernel/dracut] change to the use of new fork, from gentoo PR 2024-04-06 15:39:18 +02:00
bfd294583c [dev-db/timescaledb] bump 2024-03-27 16:25:18 +01:00
645e1aa275 [dev-db/mongodb] bump 2024-03-22 12:38:21 +01:00
269ce392fc [sys-kernel/dracut] sync 2024-03-19 16:01:45 +01:00
8d9df8edb5 [sys-kernel/dracut] sync 2024-03-07 11:39:42 +01:00
57dd8a01c0 [dev-db/mysql] sync with gentoo 2024-03-07 10:43:34 +01:00
54b8162128 [net-mail/automx2] bump, without tests 2024-03-03 20:49:22 +01:00
ded6e7b355 [net-dns/bind] fix src_install 2024-02-28 15:53:28 +01:00
8075f07210 [net-dns/bind*] fix manifest 2024-02-28 15:49:22 +01:00
59f111c889 [net-dns/bind] bump, remove root hints
at this point, bind releases align well enough to root hint updates to warrant the removal of the extra file
2024-02-28 15:40:05 +01:00
217fbbe8fe [net-dns/bind-tools] bump 2024-02-28 15:35:25 +01:00
87785e6981 sync layout.conf with gentoo 2024-02-25 16:12:14 +01:00
e6e3511490 [dev-db/mongodb] bump, some bugfixes, tree candidate after usersandbox touchup 2024-02-24 16:20:44 +01:00
8ea1dd7711 [sec-keys/openpgp-keys-mongodb] add keys for mongodb 2024-02-24 16:18:21 +01:00
512e0af4c7 [dev-db/mysql] added last 5.7 for short-term usage (hopefully)
test suite not run yet, but builds and works
2024-02-21 17:11:53 +01:00
96ee879edd [net-dns/bind-tools] fix static libs 2024-02-18 21:12:03 +01:00
90e0a5af34 [net-dns/bind] sync a bit from gentoo 2024-02-18 20:44:36 +01:00
0bce97407f [net-dns/bind-tools] sync a bit from gentoo 2024-02-18 20:41:06 +01:00
54afe9377f [dev-libs/Ice] add php 8.3 and ruby 3.3 2024-02-16 16:15:57 +01:00
39d0c4bb16 [dev-db/timescaledb] bump 2024-02-13 10:37:32 +01:00
78c6b9cfcb [app-crypt/certbot-dns-rfc2136] bump 2024-02-13 06:57:54 +01:00
26950b0767 [dev-db/postgresql] sync 2024-02-08 16:43:46 +01:00
7e7593fc57 [dev-db/postgresql] sync 2024-02-04 12:40:02 +01:00
46ea85fce4 [sys-kernel/dracut] sync 2024-02-04 03:33:22 +01:00
d823c2e168 [sys-kernel/dracut] sync 2024-02-03 04:56:27 +01:00
5e13366582 [dev-db/postgresql] sync 2024-02-03 04:26:35 +01:00
b326747158 [sys-auth/sssd] sync 2024-01-23 15:41:43 +01:00
647f07acc8 [sec-keys/openpgp-keys-sssd] use actual commit date of key 2024-01-23 15:30:02 +01:00
4af4ace725 [dev-lang/php] adapt to sodium change 2024-01-17 22:56:18 +01:00
5e61225cf1 [dev-db/mongodb] handle another pkgmove in ::gentoo 2024-01-17 19:15:23 +01:00
4247ecd8ae [dev-db/postgresql] sync 2024-01-17 04:53:56 +01:00
0742947528 [sys-kernel/dracut] fix EGIT_COMMIT 2024-01-16 01:13:17 +01:00
a58474841e [sys-kernel/dracut] sync 2024-01-15 23:12:26 +01:00
e463189d82 handle most package renames 2024-01-15 23:11:23 +01:00
ebe952671e [dev-db/mongodb] sync 2024-01-14 05:33:17 +01:00
a9bab0ab24 [dev-db/mongodb] bump 2024-01-12 02:05:33 +01:00
dec2483ec8 [dev-db/timescaledb] bump 2024-01-12 02:02:51 +01:00
31a70a95d0 [net-im/spectrum2] try a fix for newer protobuf 2024-01-02 17:50:38 +01:00
5806fb08e2 [net-analyzer/netdata] bump to 1.44.1, 9999 still broken 2023-12-31 21:36:10 +01:00
0cc8df06a8 [net-nds/389-ds-base] specify required rust version 2023-12-31 20:38:20 +01:00
5b3d88618c [dev-lang/php] rebase. windows-only change 2023-12-25 17:02:16 +01:00
99b0269979 [net-dns/bind-tools] bump 2023-12-24 16:24:31 +01:00
8d82e18bbd [net-dns/bind] bump 2023-12-24 16:23:08 +01:00
4410ffc5ad [net-nds/389-ds-base] bump 2023-12-24 16:04:31 +01:00
5259c2f9d1 [sys-kernel/dracut] sync, now back to EAPI 8 since CRATES can be empty 2023-12-24 16:02:21 +01:00
a14591e59e [mail-filter/amavisd-new] rm, in tree 2023-12-19 03:14:42 +01:00
6856c25916 [mail-filter/amavisd-new] add from PR 2023-12-16 23:57:18 +01:00
fb746c5923 [dev-db/mongodb] bump, need to rebase patches still 2023-12-15 17:09:56 +01:00
a4cb5f1e58 [app-admin/mongo-tools] bump 2023-12-14 17:00:22 +01:00
332d53bda1 jank jdbc-postgresql, its in tree 2023-12-08 16:51:57 +01:00
27479ea41d add some jdbc-postgresql stuff from a pr 2023-12-06 22:42:40 +01:00
22f7180b65 [dev-db/timescaledb] bump 2023-11-28 17:45:18 +01:00
6a25b04934 [dev-db/timescaledb] bump 2023-11-27 18:46:35 +01:00
c239254473 [dev-db/postgresql] sync 2023-11-11 17:22:53 +01:00
739223b5de [dev-db/postgresql] sync 2023-11-10 18:22:09 +01:00
55b012b0a3 [dev-libs/Ice] add 3.7.10 for testing 2023-11-10 13:00:19 +01:00
b7013c20fd [sys-kernel/dracut] sync with tree 2023-11-10 12:56:03 +01:00
7fef909268 [net-irc/znc] sync 2023-11-07 16:58:59 +01:00
9d21662f4f [sys-kernel/dracut] sync 2023-10-30 16:46:28 +01:00
7fa2ee1b65 [app-crypt/certbot-dns-rfc2136] bump 2023-10-08 17:05:49 +02:00
0cfde3c0cf [dev-db/postgresql] sync 2023-10-08 14:20:03 +02:00
38bc40179f [net-analyzer/netdata] sync 2023-10-05 01:34:25 +02:00
cf35e3d9f3 [dev-db/postgresql] sync 2023-10-05 01:29:23 +02:00
c7ef7152b8 [app-crypt/certbot-dns-rfc2136] bump 2023-10-05 01:19:27 +02:00
b96824b2cf [net-im/swift] drop, its in tree 2023-10-04 23:56:25 +02:00
d20b79f7af [net-im/swift] add a temp r1 for tree, drop 9999 2023-10-04 23:05:45 +02:00
edeabe67e9 [sys-auth/sssd] bump, support py3k12 2023-09-29 12:40:09 +02:00
1f7ddfdbb0 [dev-db/mongodb] bump 2023-09-27 00:17:03 +02:00
8ab5ce574b [sys-kernel/dracut] sync with tree 2023-09-27 00:07:54 +02:00
b4801f2407 [dev-db/mongodb] bump, mostly freemon removal 2023-09-10 23:33:47 +02:00
790a15d83e [dev-lang/php] add php 7.4 junk 2023-09-10 23:05:34 +02:00
52cc6d125b [dev-db/mongodb] disable freemon, breaks with boost 1.83 apparently 2023-09-07 17:25:09 +02:00
3d91b58d93 [net-misc/oidentd] drop, in tree 2023-09-07 01:28:10 +02:00
9a0117c755 [sys-auth/sssd] sync 2023-09-07 01:04:19 +02:00
1cf313876e [sys-auth/sssd] sort deps, remove dupe 2023-09-01 22:35:39 +02:00
463119a925 [app-admin/mongo-tools] bump 2023-09-01 22:33:41 +02:00
e21a5c6809 [sys-auth/sssd] more stupid fixing 2023-08-28 04:57:59 +02:00
854e1de3e1 [sys-auth/sssd] fix some stupid 2023-08-27 23:05:58 +02:00
d5551df3b2 [sys-auth/sssd] merge some changes from recent pr for further testing 2023-08-27 22:52:46 +02:00
e8259ac6b8 [net-dns/bind] bump 2023-08-22 18:01:22 +02:00
604cdc1471 [net-dns/bind-tools] bump 2023-08-22 18:00:57 +02:00
e8bd876824 [dev-db/mongodb] bump 2023-08-22 07:47:21 +02:00
3bbce25294 [net-analyzer/netdata] sync 2023-08-22 05:20:14 +02:00
9a1551004a [net-im/spectrum2] drop twitter, sync 2023-08-21 23:56:21 +02:00
b142cb651a [dev-db/postgresql] bump 2023-08-21 16:35:15 +02:00
3ce0a78760 [dev-db/timescaledb] bump 2023-08-21 16:30:14 +02:00
e5ffe7eca6 [sys-kernel/dracut] sync 2023-07-20 14:42:00 +02:00
e78bbbf248 [dev-db/timescaledb] sync 2023-07-03 13:54:38 +02:00
59d402d2e8 [sys-auth/sssd] bump 2023-06-25 19:00:41 +02:00
a298269c8e [net-analyzer/netdata] sync 2023-06-24 21:26:33 +02:00
154146e5dc [net-dns/bind-tools] bump 2023-06-24 11:26:06 +02:00
3a3b887758 [net-dns/bind] bump 2023-06-24 11:23:14 +02:00
16b105d1e6 [net-misc/oidentd] bump to 3.1.0 2023-06-22 16:58:03 +02:00
499d3a5c7c [net-analyzer/netdata] sync 2023-06-15 17:19:23 +02:00
df68f27d1c [sys-auth/sssd] bump, only lightly tested 2023-06-12 13:39:28 +02:00
ccc914a7bb [dev-libs/Ice] bump python and ruby, untested 2023-06-12 12:50:15 +02:00
bc1580781a [sys-auth/sssd] fix stupidity 2023-05-30 01:56:51 +02:00
a5114bb6a3 [sys-kernel/dracut] sync with tree 2023-05-30 00:34:57 +02:00
123087aa06 [sys-auth/sssd] sync 2023-05-30 00:10:57 +02:00
19e3768c10 [dev-db/postgresql] add from pr with improved init script 2023-05-13 14:20:09 +02:00
df53d9636f [net-dns/bind-tools] disable json-c again 2023-05-09 23:03:59 +02:00
f84cef3a7f py3k9-- 2023-05-02 18:00:00 +02:00
8e47e994ae [sys-kernel/dracut] sync 2023-05-02 17:58:53 +02:00
dedf9e0d4a [net-libs/libmnl] sync 2023-05-02 17:56:26 +02:00
871bc19cf0 [net-firewall/iptables] sync 2023-05-02 17:50:48 +02:00
4961859465 [net-dns/bind-tools] bump 2023-05-02 17:24:40 +02:00
6eceedba96 [net-dns/bind] bump 2023-05-02 17:22:57 +02:00
cf83d0fbb6 [net-analyzer/netdata] sync 2023-05-02 17:18:53 +02:00
c900f1d524 [dev-java/slf4j-*] jss still needs it, so add. 2023-05-02 17:12:50 +02:00
d7ef2cac67 [dev-db/mongodb] bump, new version soon, though 2023-05-02 17:08:10 +02:00
ac2f847bd9 [dev-db/lmdb] remove unmaintained live ebuild 2023-05-02 17:05:12 +02:00
62ae015b35 [app-crypt/certbot-dns-rfc2136] bump 2023-05-02 16:02:06 +02:00
922972b17a [net-mail/automx2] rm, now in tree 2023-05-01 20:31:12 +02:00
9fdeccf26a [net-im/spectrum2] sync 2023-04-30 22:28:42 +02:00
6894485926 [www-misc/awstats] bump 2023-04-30 22:23:02 +02:00
dc724f4303 [dev-db/timescaledb] bump 2023-04-29 18:33:10 +02:00
497b2165e5 [dev-db/timescaledb] bump 2023-04-21 12:46:03 +02:00
778d3cf61b [dev-db/mongodb] sync with tree 2023-04-21 00:47:57 +02:00
274a1ca377 [dev-db/mongodb] bump 2023-04-11 18:52:23 +02:00
e690293a31 [net-dns/bind] bump 2023-04-07 17:46:10 +02:00
50481ec04f [net-dns/bind-tools] bump 2023-04-07 17:45:24 +02:00
5abcaeee26 [net-mail/automx2] add since its last py3k10 consumer on the system 2023-04-07 17:41:15 +02:00
3160615f98 [net-irc/znc] add cctz 2023-04-05 13:55:06 +02:00
f64c6266e7 [dev-db/timescaledb] bump 2023-04-05 12:05:36 +02:00
3ef1c19c85 [dev-db/mongodb] add newer 2023-03-03 18:59:39 +01:00
6d67032b2b [app-admin/mongo-tools] add newer 2023-03-03 18:58:28 +01:00
09fbccd427 [app-crypt/certbot-dns-rfc2136] bump and modernize, from tree 2023-02-17 02:34:56 +01:00
f18522740a [dev-python/aiohttp-json-rpc] use pypi eclass 2023-02-14 02:34:39 +01:00
66c868abd0 [dev-db/timescaledb] bump, now compatible with zabbix 2023-02-07 14:19:48 +01:00
245ef97700 [net-im/swift] py3k11 2023-02-05 18:16:55 +01:00
9defca04e2 [net-im/spectrum2] sync with tree 2023-02-05 00:42:05 +01:00
2f1adb5c63 [sys-auth/sssd] add py3k11 2023-02-04 03:18:31 +01:00
cdf4b73806 [net-analyzer/netdata] fping plugin removed, sync with tree, add py3k11 2023-02-04 03:17:19 +01:00
6f1cf9f9bb [net-dns/bind-tools] bump 2023-02-04 03:09:31 +01:00
35d63f7260 [net-dns/bind] bump 2023-02-04 03:08:29 +01:00
ff8a2ebf63 remove py3.8 2023-01-18 10:41:48 +01:00
9a19ffcbdb [sys-auth/sssd] bump 2022-12-31 00:24:20 +01:00
a50691f316 [sys-kernel/dracut] bump 2022-12-31 00:21:12 +01:00
5de428735c [dev-libs/Ice] rm, in tree 2022-12-31 00:20:48 +01:00
b0b8aa9456 [app-crypt/certbot-dns-rfc2136] bump 2022-12-23 16:20:02 +01:00
4ea66e22be [net-dns/bind] bump and sync a bit with eras overlay 2022-12-23 15:22:36 +01:00
da197ee410 [net-dns/bind-tools] bump and sync a bit with eras overlay 2022-12-23 15:21:58 +01:00
d06c175837 [net-analyzer/netdata] sync with tree 2022-12-19 13:19:14 +01:00
158a86af2a [net-dns/bind-tools] disable json-c only used in named and libisc 2022-12-01 01:56:30 +01:00
921566493c [sys-auth/sssd] condense pac into samba, bind changes for overlay, style 2022-11-28 13:43:32 +01:00
c5df2b4b6e [net-dns/bind] bump from gentoo pr 2022-11-28 13:35:22 +01:00
eb8c372ed9 [dev-php/PEAR-PHP_Archive] add new package 2022-11-23 15:45:41 +01:00
77fca9c667 [dev-libs/Ice] works with PHP 8.2 2022-11-23 15:43:16 +01:00
dc1e93be0a [net-irc/znc] sync 2022-11-06 18:58:35 +01:00
ff1d428fd7 [dev-libs/Ice] add py3k11 support 2022-11-06 04:13:19 +01:00
6620a35f85 [dev-db/timescaledb] bump 2022-11-06 04:11:52 +01:00
607f5b5692 [sys-auth/sssd] bump 2022-11-06 04:09:50 +01:00
a03a78baca [sys-auth/sssd] bump 2022-10-11 16:51:49 +02:00
cc08517a36 [sys-kernel/dracut] sync with tree 2022-10-11 16:46:23 +02:00
61cf594654 [sys-kernel/dracut] restore missing option for rust 2022-10-08 15:18:17 +02:00
c34feb13e2 [sys-auth/sssd] bump 2022-09-30 16:31:40 +02:00
a4e3dd041a [dev-libs/Ice] add arm64 from tree 2022-09-19 19:15:05 +02:00
2332ec5074 [dev-db/timescaledb] bump. no 2.8 yet because zabbix doesn't support it 2022-09-10 15:19:39 +02:00
7d1fb3067d [dev-libs/Ice] bump. this is for tree now 2022-09-10 09:52:17 +02:00
509b398bd0 [net-irc/znc] sync with tree 2022-08-07 22:02:39 +02:00
fadbc1d0c7 [dev-libs/Ice] add upstream fix for IceFuture, more QA 2022-07-15 17:01:38 +02:00
b8d4439b5b [net-firewall/iptables] sync with tree 2022-07-15 16:44:57 +02:00
c7690e78d0 [net-analyzer/netdata] sync with tree 2022-07-15 16:35:00 +02:00
2f94c70fb6 [sys-auth/sssd] version bump 2022-07-11 03:07:39 +02:00
e6e3be6616 [sys-kernel/dracut] sync with tree 2022-07-06 11:23:05 +02:00
9809350047 [dev-libs/Ice] more pkgcheck junk 2022-06-27 17:46:08 +02:00
9d8d0cb23a [dev-libs/Ice] fix pkgcheck stuff, jank p3k11, needs patching 2022-06-26 20:22:58 +02:00
663e137198 [sys-kernel/dracut] bump 2022-06-23 14:21:11 +02:00
bd051caf10 [sys-auth/sssd] bump, fix patch 2022-06-22 23:55:44 +02:00
eadad31d21 [sys-kernel/dracut] sync with tree 2022-06-08 13:41:05 +02:00
93f7dd0ff8 [dev-libs/Ice] fix ruby in 3.1 ebuild, add py3k11 for testing 2022-06-04 10:50:49 +02:00
5a673bbc29 [sys-kernel/dracut] dial back to EAPI 7 2022-06-01 03:26:18 +02:00
a9bcf8c921 [sys-kernel/dracut] sync with tree 2022-05-28 11:48:17 +02:00
30568c811f [dev-db/timescaledb] bump 2022-05-26 12:22:52 +02:00
62caa771d8 [sys-auth/sssd] fix patch 2022-05-16 04:37:09 +02:00
5e86854d9b [sys-auth/sssd] bump 2022-05-16 00:23:35 +02:00
27007b4250 [sec-keys/openpgp-keys-sssd] add key for sys-auth/sssd-2.7.0 and higher 2022-05-16 00:22:59 +02:00
a876ec04b9 [sys-kernel/dracut] fix some stupid 2022-05-14 18:21:13 +02:00
9b0300083a [dev-db/timescaledb] bump 2022-05-14 18:20:11 +02:00
bb89402e9d [dev-libs/Ice] fix patch name 2022-04-26 15:52:09 +02:00
0d76176190 [sys-auth/sssd] sync with tree 2022-03-29 03:05:17 +02:00
dcf813dc58 [net-nds/389-ds-base] rm, its in tree 2022-03-19 02:49:27 +01:00
209 changed files with 8746 additions and 3460 deletions

View File

@@ -0,0 +1,9 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit acct-group
DESCRIPTION="Grafana program group"
ACCT_GROUP_ID=200

View File

@@ -0,0 +1,8 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit acct-group
ACCT_GROUP_ID=309

View File

@@ -0,0 +1,12 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit acct-user
DESCRIPTION="Grafana program user"
ACCT_USER_ID=200
ACCT_USER_GROUPS=( "${PN}" )
acct-user_add_deps

View File

@@ -0,0 +1,13 @@
# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit acct-user
DESCRIPTION="A user for minio"
ACCT_USER_ID=309
ACCT_USER_HOME=/var/lib/minio
ACCT_USER_GROUPS=( minio )
acct-user_add_deps

View File

@@ -0,0 +1 @@
DIST mongo-tools-100.9.5.tar.gz 5130120 BLAKE2B 8873e1dbc9aa6a3b181551e620f1a7c646510753c7756d93bc6884256cf06011d1f0357f4e8070a61d46f7488f8b52eef34bbef35c6773ea781fe3e259a2487c SHA512 8aa6c01e6d6a73c74a7ffd405dd1159085d5896efa42b16aa5d1fa7e67e59fedac66deda42cd2136f27d9957256be28e4ff8cc2c90429450cc772af1ae5efbe1

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>ultrabug@gentoo.org</email>
<name>Alexys Jacob</name>
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:mongodb:database_tools</remote-id>
<remote-id type="github">mongodb/mongo-tools</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,57 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
HOMEPAGE="https://www.mongodb.com"
SRC_URI="https://github.com/mongodb/mongo-tools/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/src/${EGO_PN}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~riscv"
IUSE="kerberos"
RDEPEND="
kerberos? ( app-crypt/mit-krb5 )
"
BDEPEND=">=dev-lang/go-1.21.10:="
# Do not complain about CFLAGS etc since go projects do not use them.
QA_FLAGS_IGNORED='.*'
EGO_PN="github.com/mongodb/mongo-tools"
src_unpack() {
mkdir -p "${S%/*}" || die
default
mv ${P} "${S}" || die
}
src_compile() {
local myconf=()
if use kerberos; then
myconf+=(gssapi)
fi
# build pie to avoid text relocations wrt #582854
local buildmode="pie"
# skip on ppc64 wrt #610984
if use ppc64; then
buildmode="default"
fi
mkdir -p bin || die
for i in bsondump mongostat mongofiles mongoexport mongoimport mongorestore mongodump mongotop; do
echo "Building $i"
go build -buildmode="${buildmode}" -o "bin/$i" \
-ldflags "-X ${EGO_PN}/common/options.VersionStr=${PV}" -x --tags "${myconf[*]}" "$i/main/$i.go" || die
done
}
src_install() {
dobin bin/*
}

View File

@@ -1 +0,0 @@
DIST certbot-1.19.0.tar.gz 1338653 BLAKE2B b6ed909da2aed9853cf3dc6b936c513f33a127548ee30ac45a32a682141c5e4e79401ea328b7caf4e28d1d85aa2a9831e93deaa26c93216708a33be465dc8387 SHA512 2c1beb8c06299b9003fafd970cd3e977db85c4e84f1bf710166b7a99035b5c43a2a222d8d51513ac595255dd8eda02a1fb834c01ce68921927715c880052536e

View File

@@ -1,33 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=(python3_{8..10} )
DISTUTILS_USE_SETUPTOOLS=rdepend
if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
inherit git-r3
S=${WORKDIR}/${P}/${PN}
else
SRC_URI="https://github.com/${PN%-dns-rfc2136}/${PN%-dns-rfc2136}/archive/v${PV}.tar.gz -> ${PN%-dns-rfc2136}-${PV}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
S=${WORKDIR}/${PN%-dns-rfc2136}-${PV}/${PN}
fi
inherit distutils-r1
DESCRIPTION="RFC2136 DNS plugin for certbot (Let's Encrypt Client)"
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
RDEPEND="
>=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
>=app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
dev-python/dnspython[${PYTHON_USEDEP}]"
distutils_enable_tests pytest

View File

@@ -1,33 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=(python3_{8..10} )
DISTUTILS_USE_SETUPTOOLS=rdepend
if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
inherit git-r3
S=${WORKDIR}/${P}/${PN}
else
SRC_URI="https://github.com/${PN%-dns-rfc2136}/${PN%-dns-rfc2136}/archive/v${PV}.tar.gz -> ${PN%-dns-rfc2136}-${PV}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
S=${WORKDIR}/${PN%-dns-rfc2136}-${PV}/${PN}
fi
inherit distutils-r1
DESCRIPTION="RFC2136 DNS plugin for certbot (Let's Encrypt Client)"
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
RDEPEND="
>=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
>=app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
dev-python/dnspython[${PYTHON_USEDEP}]"
distutils_enable_tests pytest

View File

@@ -1,80 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit flag-o-matic multilib-minimal toolchain-funcs
if [[ ${PV} = "9999" ]] ; then
EGIT_REPO_URI="https://github.com/LMDB/lmdb.git"
inherit git-r3
KEYWORDS=""
else
SRC_URI="https://github.com/LMDB/lmdb/archive/${MY_P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="An ultra-fast, ultra-compact key-value embedded data store"
HOMEPAGE="https://symas.com/lmdb/technical/"
LICENSE="OPENLDAP"
SLOT="0/0.9.27"
IUSE="static-libs"
DEPEND=""
RDEPEND=""
S="${WORKDIR}/${P}/libraries/liblmdb"
src_prepare() {
default
if [[ ${CHOST} == *-darwin* && ${CHOST#*-darwin} -lt 10 ]] ; then
# posix_memalign isn't available before 10.6, but on OSX
# malloc is always aligned for any addressable type
sed -i -e '/(__APPLE__)/a#define HAVE_MEMALIGN 1\n#define memalign(X,Y) malloc(X)' mdb.c || die
fi
multilib_copy_sources
}
multilib_src_configure() {
local soname="-Wl,-soname,liblmdb$(get_libname 0)"
if [[ ${CHOST} == *-darwin* ]] ; then
soname="-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/liblmdb$(get_libname 0)"
replace-flags -O[123456789] -O1
fi
sed -i -e "s!^CC.*!CC = $(tc-getCC)!" \
-e "s!^CFLAGS.*!CFLAGS = ${CFLAGS}!" \
-e "s!^AR.*!AR = $(tc-getAR)!" \
-e "s!^SOEXT.*!SOEXT = $(get_libname)!" \
-e "/^prefix/s!/usr/local!${EPREFIX}/usr!" \
-e "/^libdir/s!lib\$!$(get_libdir)!" \
-e "s!shared!shared ${soname}!" \
"Makefile" || die
if [[ ${CHOST} == *-solaris* ]] ; then
# fdatasync lives in -lrt on Solaris 10
[[ ${CHOST#*-solaris2.} -le 10 ]] && append-ldflags -lrt
fi
}
multilib_src_compile() {
emake LDLIBS+=" -pthread"
}
multilib_src_install() {
emake DESTDIR="${D}" install
mv "${ED}"/usr/$(get_libdir)/liblmdb$(get_libname) \
"${ED}"/usr/$(get_libdir)/liblmdb$(get_libname 0) || die
dosym liblmdb$(get_libname 0) /usr/$(get_libdir)/liblmdb$(get_libname)
insinto /usr/$(get_libdir)/pkgconfig
doins "${FILESDIR}/lmdb.pc"
sed -i -e "s!@PACKAGE_VERSION@!${PV}!" \
-e "s!@prefix@!${EPREFIX}/usr!g" \
-e "s!@libdir@!$(get_libdir)!" \
"${ED}"/usr/$(get_libdir)/pkgconfig/lmdb.pc || die
if ! use static-libs; then
rm "${ED}"/usr/$(get_libdir)/liblmdb.a || die
fi
}

3
dev-db/mongodb/Manifest Normal file
View File

@@ -0,0 +1,3 @@
DIST mongodb-6.0.22-patches.tar.xz 8820 BLAKE2B 973e58d0a09d8fb160beefd46b425b0f5dd7ad531f9ccec433fd201517035613c171cddaf5d3cf2883f57d4728438572062cc5c8b9166e15d8e5701efcd8b84c SHA512 fa8f18d259e829df07ec26ab570de9b3968b9b02ed195b47d7a2bfc832f2b7e74a5aaf58e54cfe6d01ea7e3d76efdad2e1efca0da4af0b0d3f50944dfd1fd4e0
DIST mongodb-6.0.25.gh.tar.gz 87527607 BLAKE2B 0ddec1d8b6a9ba78a44fa8f14a3777dfec6ef35d873d0ea488f917762fde6c94f433f048c2da93fd95cfdf449302d23060673e255e94b3d98b69b0e4f4ef6a13 SHA512 3e86e313e84b3a2b57e9688e0a114043492d68ca9c5bbddb588fef87362e1d5e712ea6f478ba2142e86bfc68227e99832c2274cdee320a1bc964782eb1065ff0
DIST mongodb-7.0.18.gh.tar.gz 87225100 BLAKE2B 7ede32f4c6b6968ee8d797ce71457133020a3e4a039cd0db914e344e5042a0b871deb5741f86098b2e82b9ff619a511a754a06a29dcbb9527a3b7a7edf52b3ac SHA512 599767db66e95d8dd0bd0e6d51fd70129ea6df1e18a0cdaa52bc6cbe301c982684ff5aab446c50cb825573051e372d8f791aeab7df58e2a4d855e6073f2b46d5

View File

@@ -0,0 +1,21 @@
--- a/SConstruct
+++ b/SConstruct
@@ -3511,17 +3511,11 @@ def doConfigure(myenv):
"BOOST_LOG_NO_SHORTHAND_NAMES",
"BOOST_LOG_USE_NATIVE_SYSLOG",
"BOOST_LOG_WITHOUT_THREAD_ATTR",
+ "BOOST_LOG_DYN_LINK",
"ABSL_FORCE_ALIGNED_ACCESS",
]
)
- if link_model.startswith("dynamic") and not link_model == 'dynamic-sdk':
- conf.env.AppendUnique(
- CPPDEFINES=[
- "BOOST_LOG_DYN_LINK",
- ]
- )
-
if use_system_version_of_library("boost"):
if not conf.CheckCXXHeader( "boost/filesystem/operations.hpp" ):
myenv.ConfError("can't find boost headers")

View File

@@ -0,0 +1,317 @@
https://bugs.gentoo.org/887037
Workaround https://github.com/boostorg/container/commit/99091420ae553b27345e04279fd19fe24fb684c1
in Boost 1.81.
Upstream s2 (as in real upstream, not MongoDB) has deviated substantially
from the version vendored.
--- a/src/third_party/s2/base/stl_decl_msvc.h
+++ b/src/third_party/s2/base/stl_decl_msvc.h
@@ -118,8 +118,8 @@ namespace msvchash {
class hash_multimap;
} // end namespace msvchash
-using msvchash::hash_set;
-using msvchash::hash_map;
+using msvchash::hash_set = my_hash_set;
+using msvchash::hash_map = my_hash_map;
using msvchash::hash;
using msvchash::hash_multimap;
using msvchash::hash_multiset;
--- a/src/third_party/s2/base/stl_decl_osx.h
+++ b/src/third_party/s2/base/stl_decl_osx.h
@@ -68,8 +68,8 @@ using std::string;
using namespace std;
using __gnu_cxx::hash;
-using __gnu_cxx::hash_set;
-using __gnu_cxx::hash_map;
+using __gnu_cxx::hash_set = my_hash_set;
+using __gnu_cxx::hash_map = my_hash_map;
using __gnu_cxx::select1st;
/* On Linux (and gdrive on OSX), this comes from places like
--- a/src/third_party/s2/hash.h
+++ b/src/third_party/s2/hash.h
@@ -2,10 +2,10 @@
#define THIRD_PARTY_S2_HASH_H_
#include <unordered_map>
-#define hash_map std::unordered_map
+#define my_hash_map std::unordered_map
#include <unordered_set>
-#define hash_set std::unordered_set
+#define my_hash_set std::unordered_set
#define HASH_NAMESPACE_START namespace std {
#define HASH_NAMESPACE_END }
--- a/src/third_party/s2/s2_test.cc
+++ b/src/third_party/s2/s2_test.cc
@@ -10,7 +10,7 @@ using std::reverse;
#include <hash_set>
#include <hash_map>
-using __gnu_cxx::hash_set;
+using __gnu_cxx::hash_set = my_hash_map;
#include "s2.h"
#include "base/logging.h"
@@ -709,8 +709,8 @@ TEST(S2, Frames) {
#if 0
TEST(S2, S2PointHashSpreads) {
int kTestPoints = 1 << 16;
- hash_set<size_t> set;
- hash_set<S2Point> points;
+ my_hash_set<size_t> set;
+ my_hash_set<S2Point> points;
hash<S2Point> hasher;
S2Point base = S2Point(1, 1, 1);
for (int i = 0; i < kTestPoints; ++i) {
@@ -733,7 +733,7 @@ TEST(S2, S2PointHashCollapsesZero) {
double minus_zero = -zero;
EXPECT_NE(*reinterpret_cast<uint64 const*>(&zero),
*reinterpret_cast<uint64 const*>(&minus_zero));
- hash_map<S2Point, int> map;
+ my_hash_map<S2Point, int> map;
S2Point zero_pt(zero, zero, zero);
S2Point minus_zero_pt(minus_zero, minus_zero, minus_zero);
--- a/src/third_party/s2/s2cellid_test.cc
+++ b/src/third_party/s2/s2cellid_test.cc
@@ -10,7 +10,7 @@ using std::reverse;
#include <cstdio>
#include <hash_map>
-using __gnu_cxx::hash_map;
+using __gnu_cxx::hash_map = my_hash_map;
#include <sstream>
#include <vector>
@@ -170,7 +170,7 @@ TEST(S2CellId, Tokens) {
static const int kMaxExpandLevel = 3;
static void ExpandCell(S2CellId const& parent, vector<S2CellId>* cells,
- hash_map<S2CellId, S2CellId>* parent_map) {
+ my_hash_map<S2CellId, S2CellId>* parent_map) {
cells->push_back(parent);
if (parent.level() == kMaxExpandLevel) return;
int i, j, orientation;
@@ -194,7 +194,7 @@ static void ExpandCell(S2CellId const& parent, vector<S2CellId>* cells,
TEST(S2CellId, Containment) {
// Test contains() and intersects().
- hash_map<S2CellId, S2CellId> parent_map;
+ my_hash_map<S2CellId, S2CellId> parent_map;
vector<S2CellId> cells;
for (int face = 0; face < 6; ++face) {
ExpandCell(S2CellId::FromFacePosLevel(face, 0, 0), &cells, &parent_map);
--- a/src/third_party/s2/s2loop.cc
+++ b/src/third_party/s2/s2loop.cc
@@ -120,7 +120,7 @@ bool S2Loop::IsValid(string* err) const {
}
}
// Loops are not allowed to have any duplicate vertices.
- hash_map<S2Point, int> vmap;
+ my_hash_map<S2Point, int> vmap;
for (int i = 0; i < num_vertices(); ++i) {
if (!vmap.insert(make_pair(vertex(i), i)).second) {
VLOG(2) << "Duplicate vertices: " << vmap[vertex(i)] << " and " << i;
--- a/src/third_party/s2/s2polygon.cc
+++ b/src/third_party/s2/s2polygon.cc
@@ -117,7 +117,7 @@ HASH_NAMESPACE_END
bool S2Polygon::IsValid(const vector<S2Loop*>& loops, string* err) {
// If a loop contains an edge AB, then no other loop may contain AB or BA.
if (loops.size() > 1) {
- hash_map<S2PointPair, pair<int, int> > edges;
+ my_hash_map<S2PointPair, pair<int, int> > edges;
for (size_t i = 0; i < loops.size(); ++i) {
S2Loop* lp = loops[i];
for (int j = 0; j < lp->num_vertices(); ++j) {
--- a/src/third_party/s2/s2polygonbuilder.cc
+++ b/src/third_party/s2/s2polygonbuilder.cc
@@ -175,7 +175,7 @@ S2Loop* S2PolygonBuilder::AssembleLoop(S2Point const& v0, S2Point const& v1,
// This ensures that only CCW loops are constructed when possible.
vector<S2Point> path; // The path so far.
- hash_map<S2Point, int> index; // Maps a vertex to its index in "path".
+ my_hash_map<S2Point, int> index; // Maps a vertex to its index in "path".
path.push_back(v0);
path.push_back(v1);
index[v1] = 1;
@@ -361,7 +361,7 @@ void S2PolygonBuilder::BuildMergeMap(PointIndex* index, MergeMap* merge_map) {
// First, we build the set of all the distinct vertices in the input.
// We need to include the source and destination of every edge.
- hash_set<S2Point> vertices;
+ my_hash_set<S2Point> vertices;
for (EdgeSet::const_iterator i = edges_->begin(); i != edges_->end(); ++i) {
vertices.insert(i->first);
VertexSet const& vset = i->second;
@@ -370,7 +370,7 @@ void S2PolygonBuilder::BuildMergeMap(PointIndex* index, MergeMap* merge_map) {
}
// Build a spatial index containing all the distinct vertices.
- for (hash_set<S2Point>::const_iterator i = vertices.begin();
+ for (my_hash_set<S2Point>::const_iterator i = vertices.begin();
i != vertices.end(); ++i) {
index->Insert(*i);
}
@@ -378,7 +378,7 @@ void S2PolygonBuilder::BuildMergeMap(PointIndex* index, MergeMap* merge_map) {
// Next, we loop through all the vertices and attempt to grow a maximial
// mergeable group starting from each vertex.
vector<S2Point> frontier, mergeable;
- for (hash_set<S2Point>::const_iterator vstart = vertices.begin();
+ for (my_hash_set<S2Point>::const_iterator vstart = vertices.begin();
vstart != vertices.end(); ++vstart) {
// Skip any vertices that have already been merged with another vertex.
if (merge_map->find(*vstart) != merge_map->end()) continue;
--- a/src/third_party/s2/s2polygonbuilder.h
+++ b/src/third_party/s2/s2polygonbuilder.h
@@ -262,7 +262,7 @@ class S2PolygonBuilder {
// current position to a new position, and also returns a spatial index
// containing all of the vertices that do not need to be moved.
class PointIndex;
- typedef hash_map<S2Point, S2Point> MergeMap;
+ typedef my_hash_map<S2Point, S2Point> MergeMap;
void BuildMergeMap(PointIndex* index, MergeMap* merge_map);
// Moves a set of vertices from old to new positions.
@@ -282,7 +282,7 @@ class S2PolygonBuilder {
// once. We could have also used a multiset<pair<S2Point, S2Point> >,
// but this representation is a bit more convenient.
typedef multiset<S2Point> VertexSet;
- typedef hash_map<S2Point, VertexSet> EdgeSet;
+ typedef my_hash_map<S2Point, VertexSet> EdgeSet;
scoped_ptr<EdgeSet> edges_;
// Unique collection of the starting (first) vertex of all edges,
--- a/src/third_party/s2/s2regioncoverer.cc
+++ b/src/third_party/s2/s2regioncoverer.cc
@@ -321,7 +321,7 @@ void S2RegionCoverer::GetInteriorCellUnion(S2Region const& region,
void S2RegionCoverer::FloodFill(
S2Region const& region, S2CellId const& start, vector<S2CellId>* output) {
- hash_set<S2CellId> all;
+ my_hash_set<S2CellId> all;
vector<S2CellId> frontier;
output->clear();
all.insert(start);
--- a/src/third_party/s2/s2regioncoverer_test.cc
+++ b/src/third_party/s2/s2regioncoverer_test.cc
@@ -11,7 +11,7 @@ using std::swap;
using std::reverse;
#include <hash_map>
-using __gnu_cxx::hash_map;
+using __gnu_cxx::hash_map = my_hash_map;
#include <queue>
using std::priority_queue;
@@ -65,7 +65,7 @@ static void CheckCovering(S2RegionCoverer const& coverer,
vector<S2CellId> const& covering,
bool interior) {
// Keep track of how many cells have the same coverer.min_level() ancestor.
- hash_map<S2CellId, int> min_level_cells;
+ my_hash_map<S2CellId, int> min_level_cells;
for (int i = 0; i < covering.size(); ++i) {
int level = covering[i].level();
EXPECT_GE(level, coverer.min_level());
@@ -76,7 +76,7 @@ static void CheckCovering(S2RegionCoverer const& coverer,
if (covering.size() > coverer.max_cells()) {
// If the covering has more than the requested number of cells, then check
// that the cell count cannot be reduced by using the parent of some cell.
- for (hash_map<S2CellId, int>::const_iterator i = min_level_cells.begin();
+ for (my_hash_map<S2CellId, int>::const_iterator i = min_level_cells.begin();
i != min_level_cells.end(); ++i) {
EXPECT_EQ(i->second, 1);
}
--- a/src/third_party/s2/strings/split.cc
+++ b/src/third_party/s2/strings/split.cc
@@ -156,7 +156,7 @@ struct simple_insert_iterator {
// SplitStringToIterator{Using|AllowEmpty}().
template <typename T>
struct simple_hash_map_iterator {
- typedef hash_map<T, T> hashmap;
+ typedef my_hash_map<T, T> hashmap;
hashmap* t;
bool even;
typename hashmap::iterator curr;
@@ -246,8 +246,8 @@ void SplitStringAllowEmpty(const string& full, const char* delim,
}
void SplitStringToHashsetAllowEmpty(const string& full, const char* delim,
- hash_set<string>* result) {
- simple_insert_iterator<hash_set<string> > it(result);
+ my_hash_set<string>* result) {
+ simple_insert_iterator<my_hash_set<string> > it(result);
SplitStringToIteratorAllowEmpty(full, delim, 0, it);
}
@@ -258,7 +258,7 @@ void SplitStringToSetAllowEmpty(const string& full, const char* delim,
}
void SplitStringToHashmapAllowEmpty(const string& full, const char* delim,
- hash_map<string, string>* result) {
+ my_hash_map<string, string>* result) {
simple_hash_map_iterator<string> it(result);
SplitStringToIteratorAllowEmpty(full, delim, 0, it);
}
@@ -352,8 +352,8 @@ void SplitStringUsing(const string& full,
}
void SplitStringToHashsetUsing(const string& full, const char* delim,
- hash_set<string>* result) {
- simple_insert_iterator<hash_set<string> > it(result);
+ my_hash_set<string>* result) {
+ simple_insert_iterator<my_hash_set<string> > it(result);
SplitStringToIteratorUsing(full, delim, it);
}
@@ -364,7 +364,7 @@ void SplitStringToSetUsing(const string& full, const char* delim,
}
void SplitStringToHashmapUsing(const string& full, const char* delim,
- hash_map<string, string>* result) {
+ my_hash_map<string, string>* result) {
simple_hash_map_iterator<string> it(result);
SplitStringToIteratorUsing(full, delim, it);
}
--- a/src/third_party/s2/strings/split.h
+++ b/src/third_party/s2/strings/split.h
@@ -41,7 +41,7 @@ using namespace std;
void SplitStringAllowEmpty(const string& full, const char* delim,
vector<string>* res);
void SplitStringToHashsetAllowEmpty(const string& full, const char* delim,
- hash_set<string>* res);
+ my_hash_set<string>* res);
void SplitStringToSetAllowEmpty(const string& full, const char* delim,
set<string>* res);
// The even-positioned (0-based) components become the keys for the
@@ -50,7 +50,7 @@ void SplitStringToSetAllowEmpty(const string& full, const char* delim,
// if the key was already present in the hash table, or will be the
// empty string if the key is a newly inserted key.
void SplitStringToHashmapAllowEmpty(const string& full, const char* delim,
- hash_map<string, string>* result);
+ my_hash_map<string, string>* result);
// ----------------------------------------------------------------------
// SplitStringUsing()
@@ -66,7 +66,7 @@ void SplitStringToHashmapAllowEmpty(const string& full, const char* delim,
void SplitStringUsing(const string& full, const char* delim,
vector<string>* res);
void SplitStringToHashsetUsing(const string& full, const char* delim,
- hash_set<string>* res);
+ my_hash_set<string>* res);
void SplitStringToSetUsing(const string& full, const char* delim,
set<string>* res);
// The even-positioned (0-based) components become the keys for the
@@ -75,7 +75,7 @@ void SplitStringToSetUsing(const string& full, const char* delim,
// if the key was already present in the hash table, or will be the
// empty string if the key is a newly inserted key.
void SplitStringToHashmapUsing(const string& full, const char* delim,
- hash_map<string, string>* result);
+ my_hash_map<string, string>* result);
// ----------------------------------------------------------------------
// SplitOneIntToken()

View File

@@ -0,0 +1,24 @@
buildscripts/moduleconfig.py | 3 ---
1 file changed, 3 deletions(-)
diff --git a/buildscripts/moduleconfig.py b/buildscripts/moduleconfig.py
index b4d0bba0490..03541fab940 100644
--- a/buildscripts/moduleconfig.py
+++ b/buildscripts/moduleconfig.py
@@ -27,7 +27,6 @@ MongoDB SConscript files do.
__all__ = ('discover_modules', 'discover_module_directories', 'configure_modules',
'register_module_test') # pylint: disable=undefined-all-variable
-import imp
import inspect
import os
@@ -71,8 +70,6 @@ def discover_modules(module_root, allowed_modules):
print("adding module: %s" % (name))
fp = open(build_py, "r")
try:
- module = imp.load_module("module_" + name, fp, build_py,
- (".py", "r", imp.PY_SOURCE))
if getattr(module, "name", None) is None:
module.name = name
found_modules.append(module)

View File

@@ -0,0 +1,16 @@
The upstream patch for this is far too big to backport, so for now, just drop
the assert given it's somewhat harmless compared to not being able to build at all.
https://jira.mongodb.org/browse/SERVER-65664
https://bugs.gentoo.org/855128
--- a/src/mongo/db/stats/counters.h
+++ b/src/mongo/db/stats/counters.h
@@ -221,8 +221,6 @@ private:
AtomicWord<long long> requests{0};
};
CacheAligned<Together> _together{};
- static_assert(sizeof(decltype(_together)) <= stdx::hardware_constructive_interference_size,
- "cache line spill");
CacheAligned<AtomicWord<long long>> _logicalBytesOut{0};

View File

@@ -0,0 +1,71 @@
https://bugs.gentoo.org/844235
--- a/src/mongo/db/auth/security_key_test.cpp
+++ b/src/mongo/db/auth/security_key_test.cpp
@@ -30,6 +30,7 @@
#include "mongo/platform/basic.h"
#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
#include "mongo/base/string_data.h"
#include "mongo/db/auth/authorization_manager.h"
--- a/src/mongo/db/storage/storage_repair_observer.cpp
+++ b/src/mongo/db/storage/storage_repair_observer.cpp
@@ -41,6 +41,7 @@
#include <sys/types.h>
#endif
+#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/path.hpp>
#include "mongo/db/dbhelpers.h"
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
@@ -34,6 +34,7 @@
#include "mongo/db/storage/kv/kv_engine_test_harness.h"
#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/path.hpp>
#include <memory>
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
@@ -36,6 +36,7 @@
#include <limits>
#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/path.hpp>
#include <pcrecpp.h>
--- a/src/mongo/shell/shell_utils_extended.cpp
+++ b/src/mongo/shell/shell_utils_extended.cpp
@@ -37,6 +37,7 @@
#endif
#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
#include <fmt/format.h>
#include <fstream>
--- a/src/mongo/util/stacktrace_threads.cpp
+++ b/src/mongo/util/stacktrace_threads.cpp
@@ -36,6 +36,7 @@
#include <array>
#include <atomic>
#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
#include <cstdint>
#include <cstdlib>
#include <dirent.h>
--- a/src/mongo/util/processinfo_linux.cpp
+++ b/src/mongo/util/processinfo_linux.cpp
@@ -36,6 +36,7 @@
#include <iostream>
#include <malloc.h>
#include <pcrecpp.h>
+#include <fstream>
#include <sched.h>
#include <stdio.h>
#include <sys/mman.h>

View File

@@ -0,0 +1,32 @@
diff --git a/SConstruct b/SConstruct
index 115de78a..613110b7 100644
--- a/SConstruct
+++ b/SConstruct
@@ -2366,7 +2366,6 @@ if env.TargetOSIs('posix'):
# -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
env.Append( CCFLAGS=["-fasynchronous-unwind-tables",
- "-ggdb" if not env.TargetOSIs('emscripten') else "-g",
"-Wall",
"-Wsign-compare",
"-Wno-unknown-pragmas",
@@ -2422,6 +2421,8 @@ if env.TargetOSIs('posix'):
# env.Append( " -Wconversion" ) TODO: this doesn't really work yet
env.Append( CXXFLAGS=["-Woverloaded-virtual"] )
+ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] )
+ env.Append( LINKFLAGS=os.environ['LDFLAGS'] )
# On OS X, clang doesn't want the pthread flag at link time, or it
# issues warnings which make it impossible for us to declare link
@@ -2473,8 +2474,8 @@ if env.TargetOSIs('posix'):
],
)
- #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:

View File

@@ -0,0 +1,12 @@
diff --git a/src/mongo/installer/SConscript b/src/mongo/installer/SConscript
index 5bd89fe9..489e70ac 100644
--- a/src/mongo/installer/SConscript
+++ b/src/mongo/installer/SConscript
@@ -7,7 +7,6 @@ env = env.Clone()
env.SConscript(
dirs=[
- 'compass',
'msi',
],
exports=[

View File

@@ -0,0 +1,13 @@
diff --git a/SConstruct b/SConstruct
index 613110b7..4987e24e 100644
--- a/SConstruct
+++ b/SConstruct
@@ -2958,7 +2958,7 @@ def doConfigure(myenv):
# This warning was added in clang-5 and incorrectly flags our implementation of
# exceptionToStatus(). See https://bugs.llvm.org/show_bug.cgi?id=34804
- AddToCCFLAGSIfSupported(myenv, "-Wno-exceptions")
+ #AddToCCFLAGSIfSupported(myenv, "-Wno-exceptions")
# Enable sized deallocation support.
AddToCXXFLAGSIfSupported(myenv, '-fsized-deallocation')

View File

@@ -0,0 +1,24 @@
diff --git a/buildscripts/scons.py b/buildscripts/scons.py
index 534fca32..c38f64df 100755
--- a/buildscripts/scons.py
+++ b/buildscripts/scons.py
@@ -19,13 +19,13 @@ SITE_TOOLS_DIR = os.path.join(MONGODB_ROOT, 'site_scons')
sys.path = [SCONS_DIR, SITE_TOOLS_DIR] + sys.path
# pylint: disable=C0413
-from mongo.pip_requirements import verify_requirements, MissingRequirements
+#from mongo.pip_requirements import verify_requirements, MissingRequirements
-try:
- verify_requirements('etc/pip/compile-requirements.txt')
-except MissingRequirements as ex:
- print(ex)
- sys.exit(1)
+#try:
+# verify_requirements('etc/pip/compile-requirements.txt')
+#except MissingRequirements as ex:
+# print(ex)
+# sys.exit(1)
try:
import SCons.Script

View File

@@ -0,0 +1,16 @@
https://bugs.gentoo.org/932251
https://github.com/mongodb/mongo/commit/f8e4be7f6da71f978b2aa9991febb4c7ad89c903#diff-010644a9158d28e5745762753c7ce454444c9fb9ab4c684e9f2fdcff50c6f539
https://bugs.gentoo.org/932251#c3
--- a/src/mongo/db/initialize_server_global_state.cpp
+++ b/src/mongo/db/initialize_server_global_state.cpp
@@ -328,7 +328,7 @@
<< "\" should name a file, not a directory.");
}
- if (!serverGlobalParams.logAppend && boost::filesystem::is_regular(absoluteLogpath)) {
+ if (!serverGlobalParams.logAppend && boost::filesystem::is_regular_file(absoluteLogpath)) {
std::string renameTarget = absoluteLogpath + "." + terseCurrentTimeForFilename();
boost::system::error_code ec;
boost::filesystem::rename(absoluteLogpath, renameTarget, ec);

View File

@@ -0,0 +1,130 @@
https://bugs.gentoo.org/932251
https://github.com/mongodb/mongo/commit/f8e4be7f6da71f978b2aa9991febb4c7ad89c903#diff-010644a9158d28e5745762753c7ce454444c9fb9ab4c684e9f2fdcff50c6f539
https://bugs.gentoo.org/932251#c3
--- a/src/mongo/db/initialize_server_global_state.cpp
+++ b/src/mongo/db/initialize_server_global_state.cpp
@@ -34,7 +34,7 @@
#include "mongo/db/initialize_server_global_state.h"
#include "mongo/db/initialize_server_global_state_gen.h"
-#include <boost/filesystem/operations.hpp>
+#include <boost/filesystem.hpp>
#include <fmt/format.h>
#include <iostream>
#include <memory>
--- a/src/mongo/db/startup_warnings_mongod.cpp
+++ b/src/mongo/db/startup_warnings_mongod.cpp
@@ -34,6 +34,7 @@
#include "mongo/db/startup_warnings_mongod.h"
#include <boost/filesystem/operations.hpp>
+#include <boost/filesystem/exception.hpp>
#include <fstream>
#ifndef _WIN32
#include <sys/resource.h>
--- a/src/mongo/db/storage/storage_engine_lock_file_posix.cpp
+++ b/src/mongo/db/storage/storage_engine_lock_file_posix.cpp
@@ -55,7 +55,7 @@
// if called without a fully qualified path it asserts; that makes mongoperf fail.
// so make a warning. need a better solution longer term.
// massert(40389, str::stream() << "Couldn't find parent dir for file: " << file.string(),);
- if (!file.has_branch_path()) {
+ if (!file.has_parent_path()) {
LOGV2(22274,
"warning flushMyDirectory couldn't find parent dir for file: {file}",
"flushMyDirectory couldn't find parent dir for file",
@@ -64,7 +64,7 @@
}
- boost::filesystem::path dir = file.branch_path(); // parent_path in new boosts
+ boost::filesystem::path dir = file.parent_path(); // parent_path in new boosts
LOGV2_DEBUG(22275, 1, "flushing directory {dir_string}", "dir_string"_attr = dir.string());
--- a/src/mongo/db/storage/storage_engine_metadata.cpp
+++ b/src/mongo/db/storage/storage_engine_metadata.cpp
@@ -220,7 +220,7 @@
// if called without a fully qualified path it asserts; that makes mongoperf fail.
// so make a warning. need a better solution longer term.
// massert(13652, str::stream() << "Couldn't find parent dir for file: " << file.string(),);
- if (!file.has_branch_path()) {
+ if (!file.has_parent_path()) {
LOGV2(22283,
"warning flushMyDirectory couldn't find parent dir for file: {file}",
"flushMyDirectory couldn't find parent dir for file",
@@ -229,7 +229,7 @@
}
- boost::filesystem::path dir = file.branch_path(); // parent_path in new boosts
+ boost::filesystem::path dir = file.parent_path(); // parent_path in new boosts
LOGV2_DEBUG(22284, 1, "flushing directory {dir_string}", "dir_string"_attr = dir.string());
--- a/src/mongo/scripting/engine.cpp
+++ b/src/mongo/scripting/engine.cpp
@@ -35,6 +35,7 @@
#include <algorithm>
#include <boost/filesystem/operations.hpp>
+#include <boost/filesystem/directory.hpp>
#include "mongo/base/string_data.h"
#include "mongo/client/dbclient_base.h"
--- a/src/mongo/shell/shell_utils_launcher.cpp
+++ b/src/mongo/shell/shell_utils_launcher.cpp
@@ -39,6 +39,7 @@
#include <boost/iostreams/stream.hpp>
#include <boost/iostreams/stream_buffer.hpp>
#include <boost/iostreams/tee.hpp>
+#include <boost/filesystem.hpp>
#include <fcntl.h>
#include <fmt/format.h>
#include <iostream>
@@ -947,26 +948,26 @@
boost::filesystem::directory_iterator i(from);
while (i != end) {
boost::filesystem::path p = *i;
- if (p.leaf() == "metrics.interim" || p.leaf() == "metrics.interim.temp") {
+ if (p.filename() == "metrics.interim" || p.filename() == "metrics.interim.temp") {
// Ignore any errors for metrics.interim* files as these may disappear during copy
boost::system::error_code ec;
- boost::filesystem::copy_file(p, to / p.leaf(), ec);
+ boost::filesystem::copy_file(p, to / p.filename(), ec);
if (ec) {
LOGV2_INFO(22814,
"Skipping copying of file from '{from}' to "
"'{to}' due to: {error}",
"Skipping copying of file due to error"
"from"_attr = p.generic_string(),
- "to"_attr = (to / p.leaf()).generic_string(),
+ "to"_attr = (to / p.filename()).generic_string(),
"error"_attr = ec.message());
}
- } else if (p.leaf() != "mongod.lock" && p.leaf() != "WiredTiger.lock") {
+ } else if (p.filename() != "mongod.lock" && p.filename() != "WiredTiger.lock") {
if (boost::filesystem::is_directory(p)) {
- boost::filesystem::path newDir = to / p.leaf();
+ boost::filesystem::path newDir = to / p.filename();
boost::filesystem::create_directory(newDir);
copyDir(p, newDir);
} else {
- boost::filesystem::copy_file(p, to / p.leaf());
+ boost::filesystem::copy_file(p, to / p.filename());
}
}
++i;
--- a/src/mongo/shell/shell_utils_launcher.h
+++ b/src/mongo/shell/shell_utils_launcher.h
@@ -29,7 +29,7 @@
#pragma once
-#include <boost/filesystem/convenience.hpp>
+#include <boost/filesystem/path.hpp>
#include <map>
#include <sstream>
#include <string>

View File

@@ -0,0 +1,25 @@
https://phabricator.services.mozilla.com/D209108
https://github.com/mozilla/gecko-dev/commit/33cdc6655b0de44cb7a431216dcbb0d5a552aec6
clang 19 will report error if w/o this patch:
src/third_party/mozjs-60/extract/js/src/threading/ExclusiveData.h:124:33: error: reference to non-static member function must be called
diff --git a/src/third_party/mozjs-60/extract/js/src/threading/ExclusiveData.h b/src/third_party/mozjs-60/extract/js/src/threading/ExclusiveData.h
index 25b977e..379a509 100644
--- a/src/third_party/mozjs-60/extract/js/src/threading/ExclusiveData.h
+++ b/src/third_party/mozjs-60/extract/js/src/threading/ExclusiveData.h
@@ -120,13 +120,6 @@ class ExclusiveData
release();
}
- ExclusiveData(ExclusiveData&& rhs)
- : lock_(mozilla::Move(rhs.lock))
- {
- MOZ_ASSERT(&rhs != this, "self-move disallowed!");
- new (mozilla::KnownNotNull, value_.addr()) T(mozilla::Move(*rhs.value_.addr()));
- }
-
ExclusiveData& operator=(ExclusiveData&& rhs) {
this->~ExclusiveData();
new (mozilla::KnownNotNull, this) ExclusiveData(mozilla::Move(rhs));

View File

@@ -0,0 +1,27 @@
https://jira.mongodb.org/browse/SERVER-94430 Upstream respond:
> we intentionally do not ingest the environment PATH as this makes build
> reproducibility and hermiticity much harder. Instead, you should set the
> absolute paths to the tools you want to use on the command line, instead of
> relying on the PATH.
Gentoo bug https://bugs.gentoo.org/829340
In Gentoo, we have LLVM slotted and we put clang in /usr/lib/llvm/18/bin (or
whatever), not in /usr/bin, and if upstream strip PATH and construct it
themselves, they surely won't contain this location.
So we add PATH backup for scons.
diff --git a/SConstruct b/SConstruct
index 3d831c9..f07feeb 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1201,7 +1201,7 @@ envDict = dict(BUILD_ROOT=buildDir,
if get_option('build-tools') == 'next':
SCons.Tool.DefaultToolpath.insert(0, os.path.abspath('site_scons/site_tools/next'))
-env = Environment(variables=env_vars, **envDict)
+env = Environment(variables=env_vars, ENV={'PATH': os.environ['PATH']}, **envDict)
del envDict
if get_option('cache-signature-mode') == 'validate':

View File

@@ -0,0 +1,12 @@
https://bugs.gentoo.org/768339
--- a/src/mongo/db/exec/plan_stats.h
+++ b/src/mongo/db/exec/plan_stats.h
@@ -33,6 +33,7 @@
#include <cstdlib>
#include <string>
#include <vector>
+#include <optional>
#include "mongo/db/index/multikey_paths.h"
#include "mongo/db/jsobj.h"

View File

@@ -0,0 +1,13 @@
https://github.com/abseil/abseil-cpp/commit/809e5de7b92950849289236a5a09e9cb4f32c7b9
diff --git a/src/third_party/abseil-cpp-master/abseil-cpp/absl/container/internal/container_memory.h b/src/third_party/abseil-cpp-master/abseil-cpp/absl/container/internal/container_memory.h
index e67529ecb6e..d777480d604 100644
--- a/src/third_party/abseil-cpp-master/abseil-cpp/absl/container/internal/container_memory.h
+++ b/src/third_party/abseil-cpp-master/abseil-cpp/absl/container/internal/container_memory.h
@@ -17,6 +17,7 @@
#include <cassert>
#include <cstddef>
+#include <cstdint>
#include <memory>
#include <new>
#include <tuple>

View File

@@ -0,0 +1,11 @@
https://bugs.gentoo.org/889020
--- a/src/mongo/util/boost_assert_shim.cpp
+++ b/src/mongo/util/boost_assert_shim.cpp
@@ -31,6 +31,7 @@
#if defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && !defined(NDEBUG)
+#include <exception>
#include <boost/assert.hpp>
namespace mongo {

View File

@@ -0,0 +1,49 @@
Don't automagically force lld > gold > bfd. Leave it up to the user.
In particular, avoids issues with LTO enabled (via the flag/scons option)
where using GCC as compiler, as lld can't do LTO with GCC.
https://bugs.gentoo.org/769986
--- a/SConstruct
+++ b/SConstruct
@@ -2824,40 +2824,6 @@ def doConfigure(myenv):
def AddToSHLINKFLAGSIfSupported(env, flag):
return AddFlagIfSupported(env, 'C', '.c', flag, True, SHLINKFLAGS=[flag])
- if myenv.ToolchainIs('gcc', 'clang'):
- # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker
- # because it is much faster. Don't use it if the user has already configured another linker
- # selection manually.
- if any(flag.startswith('-fuse-ld=') for flag in env['LINKFLAGS']):
- myenv.FatalError(f"Use the '--linker' option instead of modifying the LINKFLAGS directly.")
-
- linker_ld = get_option('linker')
- if linker_ld == 'auto':
- # lld has problems with separate debug info on some platforms. See:
- # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556
- # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556
- #
- # lld also apparently has problems with symbol resolution
- # in some esoteric configurations that apply for us when
- # using --link-model=dynamic mode, so disable lld there
- # too. See:
- # - https://bugs.llvm.org/show_bug.cgi?id=46676
- #
- # We should revisit all of these issues the next time we upgrade our clang minimum.
- if get_option('separate-debug') == 'off' and get_option('link-model') != 'dynamic':
- if not AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=lld'):
- AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=gold')
- else:
- AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=gold')
- elif link_model.startswith("dynamic") and linker_ld == 'bfd':
- # BFD is not supported due to issues with it causing warnings from some of
- # the third party libraries that mongodb is linked with:
- # https://jira.mongodb.org/browse/SERVER-49465
- myenv.FatalError(f"Linker {linker_ld} is not supported with dynamic link model builds.")
- else:
- if not AddToLINKFLAGSIfSupported(myenv, f'-fuse-ld={linker_ld}'):
- myenv.FatalError(f"Linker {linker_ld} could not be configured.")
-
detectCompiler = Configure(myenv, help=False, custom_tests = {
'CheckForCXXLink': CheckForCXXLink,
})

View File

@@ -0,0 +1,81 @@
https://bugs.gentoo.org/844235
--- a/src/mongo/db/auth/security_key_test.cpp
+++ b/src/mongo/db/auth/security_key_test.cpp
@@ -30,6 +30,7 @@
#include "mongo/platform/basic.h"
#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
#include "mongo/base/string_data.h"
#include "mongo/db/auth/authorization_manager.h"
--- a/src/mongo/db/storage/storage_repair_observer.cpp
+++ b/src/mongo/db/storage/storage_repair_observer.cpp
@@ -41,6 +41,7 @@
#include <sys/types.h>
#endif
+#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/path.hpp>
#include "mongo/db/dbhelpers.h"
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
@@ -34,6 +34,7 @@
#include "mongo/db/storage/kv/kv_engine_test_harness.h"
#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/path.hpp>
#include <memory>
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
@@ -48,6 +48,7 @@
#include "mongo/db/storage/wiredtiger/wiredtiger_kv_engine.h"
#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
#include <boost/system/error_code.hpp>
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
@@ -36,6 +36,7 @@
#include <limits>
#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/path.hpp>
#include <pcrecpp.h>
--- a/src/mongo/shell/shell_utils_extended.cpp
+++ b/src/mongo/shell/shell_utils_extended.cpp
@@ -37,6 +37,7 @@
#endif
#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
#include <fmt/format.h>
#include <fstream>
--- a/src/mongo/util/stacktrace_threads.cpp
+++ b/src/mongo/util/stacktrace_threads.cpp
@@ -36,6 +36,7 @@
#include <array>
#include <atomic>
#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
#include <cstdint>
#include <cstdlib>
#include <dirent.h>
--- a/src/mongo/util/processinfo_linux.cpp
+++ b/src/mongo/util/processinfo_linux.cpp
@@ -36,6 +36,7 @@
#include <iostream>
#include <malloc.h>
#include <pcrecpp.h>
+#include <fstream>
#include <sched.h>
#include <stdio.h>
#include <sys/mman.h>

View File

@@ -0,0 +1,15 @@
https://bugs.gentoo.org/932251
https://github.com/mongodb/mongo/commit/f8e4be7f6da71f978b2aa9991febb4c7ad89c903#diff-010644a9158d28e5745762753c7ce454444c9fb9ab4c684e9f2fdcff50c6f539
https://bugs.gentoo.org/932251#c3
--- a/src/mongo/db/initialize_server_global_state.cpp
+++ b/src/mongo/db/initialize_server_global_state.cpp
@@ -307,7 +307,7 @@ bool checkAndMoveLogFile(const std::string& absoluteLogpath) {
<< "\" should name a file, not a directory.");
}
- if (!serverGlobalParams.logAppend && boost::filesystem::is_regular(absoluteLogpath)) {
+ if (!serverGlobalParams.logAppend && boost::filesystem::is_regular_file(absoluteLogpath)) {
std::string renameTarget = absoluteLogpath + "." + terseCurrentTimeForFilename();
boost::system::error_code ec;
boost::filesystem::rename(absoluteLogpath, renameTarget, ec);

View File

@@ -0,0 +1,25 @@
From 01c202b65f136450e0bd3f516d7268322e9beafc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Valenduc?= <francoisvalenduc@gmail.com>
Date: Fri, 11 Apr 2025 18:50:10 +0200
Subject: [PATCH] replace change_extension by replace_extension
---
src/mongo/db/storage/backup_block.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mongo/db/storage/backup_block.cpp b/src/mongo/db/storage/backup_block.cpp
index 9b8dc29f209..a8b86398665 100644
--- a/src/mongo/db/storage/backup_block.cpp
+++ b/src/mongo/db/storage/backup_block.cpp
@@ -59,7 +59,7 @@ std::string extractIdentFromPath(const boost::filesystem::path& dbpath,
// Remove the file extension and convert to generic form (i.e. replace "\" with "/"
// on windows, no-op on unix).
- return boost::filesystem::change_extension(identWithExtension, "").generic_string();
+ return boost::filesystem::path(identWithExtension).replace_extension("").generic_string();
}
} // namespace details
--
2.49.0

View File

@@ -0,0 +1,26 @@
From 2605c36cf9a5c3e49d59dcd36ee5b57ab3437922 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Valenduc?= <francoisvalenduc@gmail.com>
Date: Mon, 17 Feb 2025 21:57:45 +0100
Subject: [PATCH] add boost include
---
src/mongo/db/storage/backup_block.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/mongo/db/storage/backup_block.cpp b/src/mongo/db/storage/backup_block.cpp
index 9b8dc29f209..6328a727fbe 100644
--- a/src/mongo/db/storage/backup_block.cpp
+++ b/src/mongo/db/storage/backup_block.cpp
@@ -30,6 +30,9 @@
#include "mongo/db/storage/backup_block.h"
#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
+#include <boost/filesystem/operations.hpp>
+#include <boost/filesystem/path.hpp>
#include <set>
#include "mongo/base/string_data.h"
--
2.45.3

View File

@@ -0,0 +1,12 @@
https://bugs.gentoo.org/768339
--- a/src/mongo/db/exec/plan_stats.h
+++ b/src/mongo/db/exec/plan_stats.h
@@ -33,6 +33,7 @@
#include <cstdlib>
#include <string>
#include <vector>
+#include <optional>
#include "mongo/db/exec/plan_stats_visitor.h"
#include "mongo/db/index/multikey_paths.h"

View File

@@ -0,0 +1,12 @@
diff --git a/src/mongo/db/repl/tenant_file_cloner.h b/src/mongo/db/repl/tenant_file_cloner.h
index def0952..0625e46 100644
--- a/src/mongo/db/repl/tenant_file_cloner.h
+++ b/src/mongo/db/repl/tenant_file_cloner.h
@@ -32,6 +32,7 @@
#include <boost/filesystem.hpp>
#include <memory>
#include <vector>
+#include <fstream>
#include "mongo/db/repl/base_cloner.h"
#include "mongo/db/repl/task_runner.h"

View File

@@ -0,0 +1,12 @@
diff --git a/src/mongo/util/ctype.h b/src/mongo/util/ctype.h
index a3880e2..78ee57e 100644
--- a/src/mongo/util/ctype.h
+++ b/src/mongo/util/ctype.h
@@ -67,6 +67,7 @@
#pragma once
#include <array>
+#include <cstdint>
namespace mongo::ctype {
namespace detail {

View File

@@ -0,0 +1,23 @@
https://phabricator.services.mozilla.com/D209108
https://github.com/mozilla/gecko-dev/commit/33cdc6655b0de44cb7a431216dcbb0d5a552aec6
clang 19 will report error if w/o this patch:
src/third_party/mozjs/extract/js/src/threading/ExclusiveData.h:113:29: error: reference to non-static member function must be called
diff --git a/src/third_party/mozjs/extract/js/src/threading/ExclusiveData.h b/src/third_party/mozjs/extract/js/src/threading/ExclusiveData.h
index c43cd1797ca..c401797fafd 100644
--- a/src/third_party/mozjs/extract/js/src/threading/ExclusiveData.h
+++ b/src/third_party/mozjs/extract/js/src/threading/ExclusiveData.h
@@ -109,11 +109,6 @@ class ExclusiveData {
explicit ExclusiveData(const MutexId& id, Args&&... args)
: lock_(id), value_(std::forward<Args>(args)...) {}
- ExclusiveData(ExclusiveData&& rhs)
- : lock_(std::move(rhs.lock)), value_(std::move(rhs.value_)) {
- MOZ_ASSERT(&rhs != this, "self-move disallowed!");
- }
-
ExclusiveData& operator=(ExclusiveData&& rhs) {
this->~ExclusiveData();
new (mozilla::KnownNotNull, this) ExclusiveData(std::move(rhs));

View File

@@ -0,0 +1,93 @@
diff --git a/SConstruct b/SConstruct
index 8367691..9061849 100644
--- a/SConstruct
+++ b/SConstruct
@@ -2441,7 +2441,6 @@ if env.TargetOSIs('posix'):
# -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
env.Append( CCFLAGS=["-fasynchronous-unwind-tables",
- "-ggdb" if not env.TargetOSIs('emscripten') else "-g",
"-Wall",
"-Wsign-compare",
"-Wno-unknown-pragmas",
@@ -2497,6 +2496,8 @@ if env.TargetOSIs('posix'):
# env.Append( " -Wconversion" ) TODO: this doesn't really work yet
env.Append( CXXFLAGS=["-Woverloaded-virtual"] )
+ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] )
+ env.Append( LINKFLAGS=os.environ['LDFLAGS'] )
# On OS X, clang doesn't want the pthread flag at link time, or it
# issues warnings which make it impossible for us to declare link
@@ -2549,7 +2550,7 @@ if env.TargetOSIs('posix'):
)
#make scons colorgcc friendly
- for key in ('HOME', 'TERM'):
+ for key in ('HOME', 'TERM', 'PATH'):
try:
env['ENV'][key] = os.environ[key]
except KeyError:
@@ -2968,43 +2969,6 @@ def doConfigure(myenv):
myenv.AddMethod(
functools.partial(var_func, var=var, func=CheckFlag), f"Check{var}Supported")
- if myenv.ToolchainIs('gcc', 'clang'):
- # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker
- # because it is much faster. Don't use it if the user has already configured another linker
- # selection manually.
- if any(flag.startswith('-fuse-ld=') for flag in env['LINKFLAGS']):
- myenv.FatalError(f"Use the '--linker' option instead of modifying the LINKFLAGS directly.")
-
- linker_ld = get_option('linker')
- if linker_ld == 'auto':
- # lld has problems with separate debug info on some platforms. See:
- # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556
- # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556
- #
- # lld also apparently has problems with symbol resolution
- # in some esoteric configurations that apply for us when
- # using --link-model=dynamic mode, so disable lld there
- # too. See:
- # - https://bugs.llvm.org/show_bug.cgi?id=46676
- #
- # We should revisit all of these issues the next time we upgrade our clang minimum.
- if get_option('separate-debug') == 'off' and get_option('link-model') != 'dynamic':
- if not myenv.AddToLINKFLAGSIfSupported('-fuse-ld=lld'):
- myenv.AddToLINKFLAGSIfSupported('-fuse-ld=gold')
- else:
- myenv.AddToLINKFLAGSIfSupported('-fuse-ld=gold')
- elif link_model.startswith("dynamic") and linker_ld == 'bfd':
- # BFD is not supported due to issues with it causing warnings from some of
- # the third party libraries that mongodb is linked with:
- # https://jira.mongodb.org/browse/SERVER-49465
- myenv.FatalError(f"Linker {linker_ld} is not supported with dynamic link model builds.")
- else:
- if not myenv.AddToLINKFLAGSIfSupported(f'-fuse-ld={linker_ld}'):
- myenv.FatalError(f"Linker {linker_ld} could not be configured.")
-
- if has_option('gcov') and myenv.AddToCCFLAGSIfSupported('-fprofile-update=single'):
- myenv.AppendUnique(LINKFLAGS=['-fprofile-update=single'])
-
detectCompiler = Configure(myenv, help=False, custom_tests = {
'CheckForCXXLink': CheckForCXXLink,
})
@@ -4344,17 +4308,11 @@ def doConfigure(myenv):
"BOOST_LOG_NO_SHORTHAND_NAMES",
"BOOST_LOG_USE_NATIVE_SYSLOG",
"BOOST_LOG_WITHOUT_THREAD_ATTR",
+ "BOOST_LOG_DYN_LINK",
"ABSL_FORCE_ALIGNED_ACCESS",
]
)
- if link_model.startswith("dynamic") and not link_model == 'dynamic-sdk':
- conf.env.AppendUnique(
- CPPDEFINES=[
- "BOOST_LOG_DYN_LINK",
- ]
- )
-
if use_system_version_of_library("boost"):
if not conf.CheckCXXHeader( "boost/filesystem/operations.hpp" ):
myenv.ConfError("can't find boost headers")

View File

@@ -0,0 +1,13 @@
https://github.com/abseil/abseil-cpp/commit/809e5de7b92950849289236a5a09e9cb4f32c7b9
diff --git a/src/third_party/abseil-cpp/dist/absl/container/internal/container_memory.h b/src/third_party/abseil-cpp/dist/absl/container/internal/container_memory.h
index e67529ecb6e..d777480d604 100644
--- a/src/third_party/abseil-cpp/dist/absl/container/internal/container_memory.h
+++ b/src/third_party/abseil-cpp/dist/absl/container/internal/container_memory.h
@@ -17,6 +17,7 @@
#include <cassert>
#include <cstddef>
+#include <cstdint>
#include <memory>
#include <new>
#include <tuple>

View File

@@ -0,0 +1,149 @@
diff --git a/SConstruct b/SConstruct
index 92d557b..80ee9e8 100644
--- a/SConstruct
+++ b/SConstruct
@@ -23,7 +23,6 @@ from pkg_resources import parse_version
import SCons
import SCons.Script
-from mongo_tooling_metrics.lib.top_level_metrics import SConsToolingMetrics
from site_scons.mongo import build_profiles
# This must be first, even before EnsureSConsVersion, if
@@ -1649,13 +1648,6 @@ env.AddMethod(lambda env, name, **kwargs: add_option(name, **kwargs), 'AddOption
# The placement of this is intentional. Here we setup an atexit method to store tooling metrics.
# We should only register this function after env, env_vars and the parser have been properly initialized.
-SConsToolingMetrics.register_metrics(
- utc_starttime=datetime.utcnow(),
- artifact_dir=env.Dir('$BUILD_DIR').get_abspath(),
- env_vars=env_vars,
- env=env,
- parser=_parser,
-)
if get_option('build-metrics'):
env['BUILD_METRICS_ARTIFACTS_DIR'] = '$BUILD_ROOT/$VARIANT_DIR'
@@ -3026,7 +3018,6 @@ if env.TargetOSIs('posix'):
env.Append(
CCFLAGS=[
"-fasynchronous-unwind-tables",
- "-g2" if not env.TargetOSIs('emscripten') else "-g",
"-Wall",
"-Wsign-compare",
"-Wno-unknown-pragmas",
@@ -3093,6 +3084,8 @@ if env.TargetOSIs('posix'):
# env.Append( " -Wconversion" ) TODO: this doesn't really work yet
env.Append(CXXFLAGS=["-Woverloaded-virtual"])
+ env.Append(CXXFLAGS=os.environ['CXXFLAGS'])
+ env.Append(LINKFLAGS=os.environ['LDFLAGS'])
# On OS X, clang doesn't want the pthread flag at link time, or it
# issues warnings which make it impossible for us to declare link
@@ -3143,7 +3136,7 @@ if env.TargetOSIs('posix'):
], )
#make scons colorgcc friendly
- for key in ('HOME', 'TERM'):
+ for key in ('HOME', 'TERM', 'PATH'):
try:
env['ENV'][key] = os.environ[key]
except KeyError:
@@ -3543,33 +3536,6 @@ def doConfigure(myenv):
myenv.AddMethod(
functools.partial(var_func, var=var, func=CheckFlag), f"Check{var}Supported")
- if myenv.ToolchainIs('gcc', 'clang'):
- # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker
- # because it is much faster. Don't use it if the user has already configured another linker
- # selection manually.
- if any(flag.startswith('-fuse-ld=') for flag in env['LINKFLAGS']):
- myenv.FatalError(
- f"Use the '--linker' option instead of modifying the LINKFLAGS directly.")
-
- linker_ld = get_option('linker')
- if linker_ld == 'auto':
- if not env.TargetOSIs('darwin', 'macOS'):
- if not myenv.AddToLINKFLAGSIfSupported('-fuse-ld=lld'):
- myenv.FatalError(
- f"The recommended linker 'lld' is not supported with the current compiler configuration, you can try the 'gold' linker with '--linker=gold'."
- )
- elif link_model.startswith("dynamic") and linker_ld == 'bfd':
- # BFD is not supported due to issues with it causing warnings from some of
- # the third party libraries that mongodb is linked with:
- # https://jira.mongodb.org/browse/SERVER-49465
- myenv.FatalError(f"Linker {linker_ld} is not supported with dynamic link model builds.")
- else:
- if not myenv.AddToLINKFLAGSIfSupported(f'-fuse-ld={linker_ld}'):
- myenv.FatalError(f"Linker {linker_ld} could not be configured.")
-
- if has_option('gcov') and myenv.AddToCCFLAGSIfSupported('-fprofile-update=single'):
- myenv.AppendUnique(LINKFLAGS=['-fprofile-update=single'])
-
detectCompiler = Configure(
myenv,
help=False,
@@ -4621,43 +4587,6 @@ def doConfigure(myenv):
if optBuild == "off" and myenv.ToolchainIs('clang') and env.TargetOSIs('darwin'):
myenv.AddToLINKFLAGSIfSupported("-Wl,-no_deduplicate")
- # Apply any link time optimization settings as selected by the 'lto' option.
- if has_option('lto'):
- if myenv.ToolchainIs('msvc'):
- # Note that this is actually more aggressive than LTO, it is whole program
- # optimization due to /GL. However, this is historically what we have done for
- # windows, so we are keeping it.
- #
- # /GL implies /LTCG, so no need to say it in CCFLAGS, but we do need /LTCG on the
- # link flags.
- myenv.Append(CCFLAGS=['/GL'])
- myenv.Append(LINKFLAGS=['/LTCG'])
- myenv.Append(ARFLAGS=['/LTCG'])
- elif myenv.ToolchainIs('gcc', 'clang'):
- # For GCC and clang, the flag is -flto, and we need to pass it both on the compile
- # and link lines.
- if not myenv.AddToCCFLAGSIfSupported('-flto') or \
- not myenv.AddToLINKFLAGSIfSupported('-flto'):
- myenv.ConfError("Link time optimization requested, "
- "but selected compiler does not honor -flto")
-
- if myenv.TargetOSIs('darwin'):
- myenv.AddToLINKFLAGSIfSupported('-Wl,-object_path_lto,${TARGET}.lto')
- else:
- # According to intel benchmarks -fno-plt increases perf
- # See PM-2215
- if linker_ld != "gold":
- myenv.ConfError("lto compilation currently only works with the --linker=gold")
- if link_model != "object":
- myenv.ConfError(
- "lto compilation currently only works with the --link-model=object")
- if not myenv.AddToCCFLAGSIfSupported('-fno-plt') or \
- not myenv.AddToLINKFLAGSIfSupported('-fno-plt'):
- myenv.ConfError("-fno-plt is not supported by the compiler")
-
- else:
- myenv.ConfError("Don't know how to enable --lto on current toolchain")
-
if get_option('runtime-hardening') == "on" and optBuild != "off":
# Older glibc doesn't work well with _FORTIFY_SOURCE=2. Selecting 2.11 as the minimum was an
# emperical decision, as that is the oldest non-broken glibc we seem to require. It is possible
@@ -5120,17 +5049,13 @@ def doConfigure(myenv):
"BOOST_LOG_NO_SHORTHAND_NAMES",
"BOOST_LOG_USE_NATIVE_SYSLOG",
"BOOST_LOG_WITHOUT_THREAD_ATTR",
+ "BOOST_LOG_DYN_LINK",
"BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS",
"BOOST_SYSTEM_NO_DEPRECATED",
"BOOST_THREAD_USES_DATETIME",
("BOOST_THREAD_VERSION", "5"),
])
- if link_model.startswith("dynamic") and not link_model == 'dynamic-sdk':
- conf.env.AppendUnique(CPPDEFINES=[
- "BOOST_LOG_DYN_LINK",
- ])
-
if use_system_version_of_library("boost"):
if not conf.CheckCXXHeader("boost/filesystem/operations.hpp"):
myenv.ConfError("can't find boost headers")

View File

@@ -0,0 +1,320 @@
diff -u -r a/src/mongo/client/sdam/sdam_json_test_runner.cpp b/src/mongo/client/sdam/sdam_json_test_runner.cpp
--- a/src/mongo/client/sdam/sdam_json_test_runner.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/client/sdam/sdam_json_test_runner.cpp 2024-09-08 13:38:28.557633361 +0800
@@ -33,6 +33,7 @@
#include <boost/algorithm/string.hpp>
#include <boost/filesystem.hpp>
+#include <boost/filesystem/directory.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/format.hpp>
#include <boost/optional/optional.hpp>
diff -u -r a/src/mongo/client/sdam/server_selection_json_test_runner.cpp b/src/mongo/client/sdam/server_selection_json_test_runner.cpp
--- a/src/mongo/client/sdam/server_selection_json_test_runner.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/client/sdam/server_selection_json_test_runner.cpp 2024-09-08 13:38:28.557633361 +0800
@@ -33,6 +33,7 @@
#include <boost/algorithm/string.hpp>
#include <boost/filesystem.hpp>
+#include <boost/filesystem/directory.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/format.hpp>
diff -u -r a/src/mongo/db/ftdc/file_manager.cpp b/src/mongo/db/ftdc/file_manager.cpp
--- a/src/mongo/db/ftdc/file_manager.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/db/ftdc/file_manager.cpp 2024-09-08 13:38:28.560966720 +0800
@@ -33,6 +33,7 @@
#include "mongo/db/ftdc/file_manager.h"
#include <boost/filesystem.hpp>
+#include <boost/filesystem/directory.hpp>
#include <memory>
#include <string>
diff -u -r a/src/mongo/db/ftdc/ftdc_test.cpp b/src/mongo/db/ftdc/ftdc_test.cpp
--- a/src/mongo/db/ftdc/ftdc_test.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/db/ftdc/ftdc_test.cpp 2024-09-08 13:38:28.560966720 +0800
@@ -32,6 +32,7 @@
#include "mongo/db/ftdc/ftdc_test.h"
#include <boost/filesystem.hpp>
+#include <boost/filesystem/directory.hpp>
#include <memory>
#include "mongo/base/data_type_validated.h"
diff -u -r a/src/mongo/db/initialize_server_global_state.cpp b/src/mongo/db/initialize_server_global_state.cpp
--- a/src/mongo/db/initialize_server_global_state.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/db/initialize_server_global_state.cpp 2024-09-08 13:44:23.743647036 +0800
@@ -33,6 +33,7 @@
#include "mongo/db/initialize_server_global_state.h"
#include "mongo/db/initialize_server_global_state_gen.h"
+#include <boost/filesystem/exception.hpp>
#include <boost/filesystem/operations.hpp>
#include <fmt/format.h>
#include <iostream>
@@ -310,7 +311,7 @@
<< "\" should name a file, not a directory.");
}
- if (!serverGlobalParams.logAppend && boost::filesystem::is_regular(absoluteLogpath)) {
+ if (!serverGlobalParams.logAppend && boost::filesystem::is_regular_file(absoluteLogpath)) {
std::string renameTarget = absoluteLogpath + "." + terseCurrentTimeForFilename();
boost::system::error_code ec;
boost::filesystem::rename(absoluteLogpath, renameTarget, ec);
diff -u -r a/src/mongo/db/sorter/sorter_test.cpp b/src/mongo/db/sorter/sorter_test.cpp
--- a/src/mongo/db/sorter/sorter_test.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/db/sorter/sorter_test.cpp 2024-09-08 13:38:28.564300078 +0800
@@ -32,6 +32,7 @@
#include "mongo/platform/basic.h"
#include <boost/filesystem.hpp>
+#include <boost/filesystem/directory.hpp>
#include <fstream>
#include <memory>
diff -u -r a/src/mongo/db/startup_recovery.cpp b/src/mongo/db/startup_recovery.cpp
--- a/src/mongo/db/startup_recovery.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/db/startup_recovery.cpp 2024-09-08 13:38:28.567633437 +0800
@@ -29,6 +29,8 @@
#include "mongo/db/startup_recovery.h"
+#include <boost/filesystem/directory.hpp>
+
#include "mongo/db/catalog/collection_write_path.h"
#include "mongo/db/catalog/create_collection.h"
#include "mongo/db/catalog/database_holder.h"
diff -u -r a/src/mongo/db/startup_warnings_mongod.cpp b/src/mongo/db/startup_warnings_mongod.cpp
--- a/src/mongo/db/startup_warnings_mongod.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/db/startup_warnings_mongod.cpp 2024-09-08 13:40:57.852092056 +0800
@@ -32,6 +32,7 @@
#include "mongo/db/startup_warnings_mongod.h"
+#include <boost/filesystem/exception.hpp>
#include <boost/filesystem/operations.hpp>
#include <fstream>
#ifndef _WIN32
diff -u -r a/src/mongo/db/storage/storage_engine_lock_file_posix.cpp b/src/mongo/db/storage/storage_engine_lock_file_posix.cpp
--- a/src/mongo/db/storage/storage_engine_lock_file_posix.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/db/storage/storage_engine_lock_file_posix.cpp 2024-09-08 13:45:35.370855295 +0800
@@ -57,7 +57,7 @@
// if called without a fully qualified path it asserts; that makes mongoperf fail.
// so make a warning. need a better solution longer term.
// massert(40389, str::stream() << "Couldn't find parent dir for file: " << file.string(),);
- if (!file.has_branch_path()) {
+ if (!file.has_parent_path()) {
LOGV2(22274,
"warning flushMyDirectory couldn't find parent dir for file: {file}",
"flushMyDirectory couldn't find parent dir for file",
@@ -66,7 +66,7 @@
}
- boost::filesystem::path dir = file.branch_path(); // parent_path in new boosts
+ boost::filesystem::path dir = file.parent_path(); // parent_path in new boosts
LOGV2_DEBUG(22275, 1, "flushing directory {dir_string}", "dir_string"_attr = dir.string());
diff -u -r a/src/mongo/db/storage/storage_engine_lock_file_test.cpp b/src/mongo/db/storage/storage_engine_lock_file_test.cpp
--- a/src/mongo/db/storage/storage_engine_lock_file_test.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/db/storage/storage_engine_lock_file_test.cpp 2024-09-08 13:38:28.570966795 +0800
@@ -30,6 +30,7 @@
#include "mongo/platform/basic.h"
#include <boost/filesystem.hpp>
+#include <boost/filesystem/directory.hpp>
#include <fstream>
#include <ostream>
diff -u -r a/src/mongo/db/storage/storage_engine_metadata.cpp b/src/mongo/db/storage/storage_engine_metadata.cpp
--- a/src/mongo/db/storage/storage_engine_metadata.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/db/storage/storage_engine_metadata.cpp 2024-09-08 13:46:14.344483426 +0800
@@ -222,7 +222,7 @@
// if called without a fully qualified path it asserts; that makes mongoperf fail.
// so make a warning. need a better solution longer term.
// massert(13652, str::stream() << "Couldn't find parent dir for file: " << file.string(),);
- if (!file.has_branch_path()) {
+ if (!file.has_parent_path()) {
LOGV2(22283,
"warning flushMyDirectory couldn't find parent dir for file: {file}",
"flushMyDirectory couldn't find parent dir for file",
@@ -231,7 +231,7 @@
}
- boost::filesystem::path dir = file.branch_path(); // parent_path in new boosts
+ boost::filesystem::path dir = file.parent_path(); // parent_path in new boosts
LOGV2_DEBUG(22284, 1, "flushing directory {dir_string}", "dir_string"_attr = dir.string());
diff -u -r a/src/mongo/db/storage/wiredtiger/wiredtiger_c_api_test.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_c_api_test.cpp
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_c_api_test.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_c_api_test.cpp 2024-09-08 13:38:28.570966795 +0800
@@ -28,6 +28,7 @@
*/
#include <boost/filesystem.hpp>
+#include <boost/filesystem/directory.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
#include <boost/system/error_code.hpp>
diff -u -r a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp 2024-09-08 13:38:28.574300153 +0800
@@ -31,6 +31,7 @@
#include "mongo/db/storage/wiredtiger/wiredtiger_util.h"
#include <boost/filesystem.hpp>
+#include <boost/filesystem/directory.hpp>
#include <boost/filesystem/fstream.hpp>
#include "mongo/base/simple_string_data_comparator.h"
diff -u -r a/src/mongo/dbtests/framework_options.cpp b/src/mongo/dbtests/framework_options.cpp
--- a/src/mongo/dbtests/framework_options.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/dbtests/framework_options.cpp 2024-09-08 13:41:53.502512039 +0800
@@ -33,6 +33,8 @@
#include "mongo/dbtests/framework_options.h"
+#include <boost/filesystem/directory.hpp>
+#include <boost/filesystem/exception.hpp>
#include <boost/filesystem/operations.hpp>
#include <iostream>
diff -u -r a/src/mongo/scripting/engine.cpp b/src/mongo/scripting/engine.cpp
--- a/src/mongo/scripting/engine.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/scripting/engine.cpp 2024-09-08 13:38:28.577633512 +0800
@@ -33,6 +33,7 @@
#include "mongo/scripting/engine.h"
#include <algorithm>
+#include <boost/filesystem/directory.hpp>
#include <boost/filesystem/operations.hpp>
#include "mongo/base/string_data.h"
diff -u -r a/src/mongo/scripting/mozjs/module_loader.cpp b/src/mongo/scripting/mozjs/module_loader.cpp
--- a/src/mongo/scripting/mozjs/module_loader.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/scripting/mozjs/module_loader.cpp 2024-09-08 13:38:28.577633512 +0800
@@ -28,6 +28,7 @@
*/
#include <boost/filesystem.hpp>
+#include <boost/filesystem/directory.hpp>
#include "mongo/logv2/log.h"
#include "mongo/scripting/mozjs/implscope.h"
diff -u -r a/src/mongo/shell/shell_utils_extended.cpp b/src/mongo/shell/shell_utils_extended.cpp
--- a/src/mongo/shell/shell_utils_extended.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/shell/shell_utils_extended.cpp 2024-09-08 13:42:27.456101736 +0800
@@ -36,6 +36,8 @@
#endif
#include <boost/filesystem.hpp>
+#include <boost/filesystem/directory.hpp>
+#include <boost/filesystem/exception.hpp>
#include <boost/filesystem/fstream.hpp>
#include <fmt/format.h>
#include <fstream>
diff -u -r a/src/mongo/shell/shell_utils_launcher.cpp b/src/mongo/shell/shell_utils_launcher.cpp
--- a/src/mongo/shell/shell_utils_launcher.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/shell/shell_utils_launcher.cpp 2024-09-08 13:47:56.188587429 +0800
@@ -31,6 +31,8 @@
#include <algorithm>
#include <array>
+#include <boost/filesystem/directory.hpp>
+#include <boost/filesystem/exception.hpp>
#include <boost/iostreams/device/file_descriptor.hpp>
#include <boost/iostreams/stream.hpp>
#include <boost/iostreams/stream_buffer.hpp>
@@ -316,26 +318,26 @@
boost::filesystem::directory_iterator i(from);
while (i != end) {
boost::filesystem::path p = *i;
- if (p.leaf() == "metrics.interim" || p.leaf() == "metrics.interim.temp") {
+ if (p.filename() == "metrics.interim" || p.filename() == "metrics.interim.temp") {
// Ignore any errors for metrics.interim* files as these may disappear during copy
boost::system::error_code ec;
- boost::filesystem::copy_file(p, to / p.leaf(), ec);
+ boost::filesystem::copy_file(p, to / p.filename(), ec);
if (ec) {
LOGV2_INFO(22814,
"Skipping copying of file from '{from}' to "
"'{to}' due to: {error}",
"Skipping copying of file due to error"
"from"_attr = p.generic_string(),
- "to"_attr = (to / p.leaf()).generic_string(),
+ "to"_attr = (to / p.filename()).generic_string(),
"error"_attr = ec.message());
}
- } else if (p.leaf() != "mongod.lock" && p.leaf() != "WiredTiger.lock") {
+ } else if (p.filename() != "mongod.lock" && p.filename() != "WiredTiger.lock") {
if (boost::filesystem::is_directory(p)) {
- boost::filesystem::path newDir = to / p.leaf();
+ boost::filesystem::path newDir = to / p.filename();
boost::filesystem::create_directory(newDir);
copyDir(p, newDir);
} else {
- boost::filesystem::copy_file(p, to / p.leaf());
+ boost::filesystem::copy_file(p, to / p.filename());
}
}
++i;
diff -u -r a/src/mongo/shell/shell_utils_launcher.h b/src/mongo/shell/shell_utils_launcher.h
--- a/src/mongo/shell/shell_utils_launcher.h 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/shell/shell_utils_launcher.h 2024-09-08 13:43:55.856769586 +0800
@@ -29,7 +29,6 @@
#pragma once
-#include <boost/filesystem/convenience.hpp>
#include <map>
#include <sstream>
#include <string>
diff -u -r a/src/mongo/unittest/golden_test_base.cpp b/src/mongo/unittest/golden_test_base.cpp
--- a/src/mongo/unittest/golden_test_base.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/unittest/golden_test_base.cpp 2024-09-08 13:48:19.232095193 +0800
@@ -95,7 +95,7 @@
fs::path outputRoot;
if (opts.outputRootPattern) {
fs::path pattern(*opts.outputRootPattern);
- outputRoot = pattern.parent_path() / fs::unique_path(pattern.leaf());
+ outputRoot = pattern.parent_path() / fs::unique_path(pattern.filename());
} else {
outputRoot = fs::temp_directory_path() / fs::unique_path("out-%%%%-%%%%-%%%%-%%%%");
}
diff -u -r a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp
--- a/src/mongo/util/processinfo_linux.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/util/processinfo_linux.cpp 2024-09-08 13:43:30.446577565 +0800
@@ -53,6 +53,7 @@
#endif
#include <boost/filesystem.hpp>
+#include <boost/filesystem/exception.hpp>
#include <boost/none.hpp>
#include <boost/optional.hpp>
#include <fmt/format.h>
diff -u -r a/src/mongo/util/procparser.cpp b/src/mongo/util/procparser.cpp
--- a/src/mongo/util/procparser.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/util/procparser.cpp 2024-09-08 13:38:28.584300228 +0800
@@ -37,6 +37,7 @@
#include <boost/algorithm/string/finder.hpp>
#include <boost/algorithm/string/split.hpp>
#include <boost/filesystem.hpp>
+#include <boost/filesystem/directory.hpp>
#include <fcntl.h>
#include <string>
#include <sys/stat.h>
diff -u -r a/src/mongo/util/stacktrace_threads.cpp b/src/mongo/util/stacktrace_threads.cpp
--- a/src/mongo/util/stacktrace_threads.cpp 2024-08-15 04:38:09.000000000 +0800
+++ b/src/mongo/util/stacktrace_threads.cpp 2024-09-08 13:38:28.584300228 +0800
@@ -35,6 +35,7 @@
#include <array>
#include <atomic>
#include <boost/filesystem.hpp>
+#include <boost/filesystem/directory.hpp>
#include <boost/filesystem/fstream.hpp>
#include <csignal>
#include <cstdint>

View File

@@ -0,0 +1,12 @@
diff -u -r a/src/mongo/util/pcre.h b/src/mongo/util/pcre.h
--- a/src/mongo/util/pcre.h 2025-03-02 16:46:18.443355487 -0500
+++ b/src/mongo/util/pcre.h 2025-03-02 16:46:59.651708274 -0500
@@ -155,7 +155,7 @@
X(ERROR_ALPHA_ASSERTION_UNKNOWN) \
X(ERROR_SCRIPT_RUN_NOT_AVAILABLE) \
X(ERROR_TOO_MANY_CAPTURES) \
- X(ERROR_CONDITION_ATOMIC_ASSERTION_EXPECTED) \
+ /*X(ERROR_CONDITION_ATOMIC_ASSERTION_EXPECTED)*/ \
X(ERROR_BACKSLASH_K_IN_LOOKAROUND) \
X(ERROR_NOMATCH) \
X(ERROR_PARTIAL) \

View File

@@ -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:

View File

@@ -0,0 +1,36 @@
# !! 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
unixDomainSocket:
pathPrefix: "/run/mongodb"
#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:

View File

@@ -0,0 +1,11 @@
# !! 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)

View File

@@ -0,0 +1,19 @@
#!/sbin/openrc-run
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
: ${config_file:="/etc/${RC_SVCNAME}.conf"}
: ${user:=mongodb}
: ${group:=mongodb}
command="/usr/bin/mongod"
command_args="--config ${config_file}"
command_background="true"
pidfile="/run/${RC_SVCNAME}.pid"
command_user="${user}:${group}"
required_files="${config_file}"
retry="SIGTERM/30"
depend() {
use net
}

View File

@@ -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
}

View File

@@ -0,0 +1,12 @@
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,2 @@
d /var/log/mongodb 0750 mongodb mongodb -
d /run/mongodb 0750 mongodb mongodb -

View File

@@ -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:

View File

@@ -0,0 +1,32 @@
# !! 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
unixDomainSocket:
pathPrefix: "/run/mongodb"
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:

View File

@@ -0,0 +1,11 @@
# !! 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)

View File

@@ -0,0 +1,18 @@
#!/sbin/openrc-run
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
: ${config_file:="/etc/${RC_SVCNAME}.conf"}
: ${user:=mongodb}
: ${group:=mongodb}
command="/usr/bin/mongos"
command_args="--config ${config_file}"
command_background="true"
pidfile="/run/${RC_SVCNAME}.pid"
command_user="${user}:${group}"
required_files="${config_file}"
depend() {
use net
}

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>ultrabug@gentoo.org</email>
<name>Alexys Jacob</name>
</maintainer>
<longdescription lang="en">
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).
</longdescription>
<use>
<flag name="mongosh">Install the MongoDB shell from <pkg>app-admin/mongosh-bin</pkg></flag>
<flag name="tools">Install the MongoDB tools (mongoimport, mongodump...) from <pkg>app-admin/mongo-tools</pkg></flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:mongodb:mongodb</remote-id>
<remote-id type="github">mongodb/mongo</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,211 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..13} )
SCONS_MIN_VERSION="3.3.1"
CHECKREQS_DISK_BUILD="2400M"
CHECKREQS_DISK_USR="512M"
CHECKREQS_MEMORY="1024M"
inherit check-reqs eapi9-ver flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
MY_PV=r${PV/_rc/-rc}
MY_P=mongo-${MY_PV}
DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
HOMEPAGE="https://www.mongodb.com"
SRC_URI="https://github.com/mongodb/mongo/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-6.0.22-patches.tar.xz"
S="${WORKDIR}/${MY_P}"
LICENSE="Apache-2.0 SSPL-1"
SLOT="0"
KEYWORDS="~amd64 ~arm64 -riscv"
CPU_FLAGS="cpu_flags_x86_avx"
IUSE="debug kerberos mongosh ssl +tools ${CPU_FLAGS}"
# https://github.com/mongodb/mongo/wiki/Test-The-Mongodb-Server
# resmoke needs python packages not yet present in Gentoo
RESTRICT="test"
RDEPEND="acct-group/mongodb
acct-user/mongodb
>=app-arch/snappy-1.1.7:=
app-arch/zstd:=
>=dev-cpp/yaml-cpp-0.6.2:=
dev-libs/boost:=[nls]
>=dev-libs/libpcre-8.42[cxx]
dev-libs/snowball-stemmer:=
net-misc/curl
>=sys-libs/zlib-1.2.12:=
kerberos? ( dev-libs/cyrus-sasl[kerberos] )
ssl? (
>=dev-libs/openssl-1.0.1g:0=
)"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
sys-libs/ncurses:0=
sys-libs/readline:0=
debug? ( dev-debug/valgrind )"
BDEPEND="
$(python_gen_any_dep '
>=dev-build/scons-3.1.1[${PYTHON_USEDEP}]
dev-python/cheetah3[${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
dev-python/pymongo[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
')
"
PDEPEND="
mongosh? ( app-admin/mongosh-bin )
tools? ( >=app-admin/mongo-tools-100 )
"
PATCHES=(
"${WORKDIR}/mongodb-6.0.22-patches/mongodb-4.4.29-no-enterprise.patch"
"${WORKDIR}/mongodb-6.0.22-patches/${PN}-5.0.2-no-compass.patch"
"${WORKDIR}/mongodb-6.0.22-patches/${PN}-5.0.2-skip-reqs-check.patch"
"${WORKDIR}/mongodb-6.0.22-patches/${PN}-4.4.10-boost-1.81.patch"
"${WORKDIR}/mongodb-6.0.22-patches/mongodb-6.0.0-boost-1.79.patch"
"${WORKDIR}/mongodb-6.0.22-patches/mongodb-6.0.0-gcc12.patch"
"${WORKDIR}/mongodb-6.0.22-patches/mongodb-6.0.7-gcc-13.patch"
"${WORKDIR}/mongodb-6.0.22-patches/mongodb-6.0.21-boost-1.85.patch"
"${WORKDIR}/mongodb-6.0.22-patches/mongodb-6.0.2-sconstruct-changes.patch"
"${FILESDIR}/mongodb-6.0.21-mozjs-remove-unused-constructor.patch"
"${FILESDIR}/mongodb-5.0.30-gcc-15.patch"
)
python_check_deps() {
python_has_version -b ">=dev-build/scons-3.1.1[${PYTHON_USEDEP}]" &&
python_has_version -b "dev-python/cheetah3[${PYTHON_USEDEP}]" &&
python_has_version -b "dev-python/psutil[${PYTHON_USEDEP}]" &&
python_has_version -b "dev-python/pymongo[${PYTHON_USEDEP}]" &&
python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]"
}
pkg_pretend() {
# Bug 809692 + 890294
if use amd64 && ! use cpu_flags_x86_avx; then
ewarn "MongoDB $(ver_cut 2) requires use of the AVX instruction set."
ewarn "This ebuild will use --experimental-optimization=-sandybridge which"
ewarn "will result in an experimental build of MongoDB as per upstream."
ewarn "https://docs.mongodb.com/v$(ver_cut 2)/administration/production-notes/"
fi
local oldver=$(($(ver_cut 1) - 1))
if [[ -n ${REPLACING_VERSIONS} ]]; then
if ver_replacing -lt ${oldver}.0; then
ewarn "To upgrade from a version earlier than the ${oldver}.0-series, you must"
ewarn "successively upgrade major releases until you have upgraded"
ewarn "to ${oldver}.0-series. Then upgrade to $(ver_cut 2) series."
else
ewarn "Be sure to set featureCompatibilityVersion to ${oldver}.0 before upgrading."
fi
fi
}
src_prepare() {
default
# remove bundled libs
rm -r src/third_party/{boost,pcre-*,snappy-*,yaml-cpp,zlib-*} || die
# remove compass
rm -r src/mongo/installer/compass || die
}
src_configure() {
# https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
# --use-system-icu fails tests
# --use-system-tcmalloc is strongly NOT recommended:
# for MONGO_GIT_HASH use GitOrigin-RevId from the commit of the tag
scons_opts=(
AR="$(tc-getAR)"
CC="$(tc-getCC)"
CXX="$(tc-getCXX)"
CCFLAGS="${CXXFLAGS}"
VERBOSE=1
VARIANT_DIR=gentoo
MONGO_VERSION="${PV}"
MONGO_GIT_HASH="be2ab84df04dd10fcecc8efd8f4e0c5e7640dec8"
--disable-warnings-as-errors
--force-jobs # Reapply #906897, fix #935274
--jobs="$(makeopts_jobs)"
--use-system-boost
--use-system-pcre
--use-system-snappy
--use-system-stemmer
--use-system-yaml
--use-system-zlib
--use-system-zstd
)
use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300
use amd64 && scons_opts+=( --experimental-optimization=-sandybridge ) # Bug 890294
use debug && scons_opts+=( --dbg=on )
use kerberos && scons_opts+=( --use-sasl-client )
scons_opts+=( --ssl=$(usex ssl on off) )
# Needed to avoid forcing FORTIFY_SOURCE
# Gentoo's toolchain applies these anyway
scons_opts+=( --runtime-hardening=off )
# gold is an option here but we don't really do that anymore
if tc-ld-is-lld; then
scons_opts+=( --linker=lld )
else
scons_opts+=( --linker=bfd )
fi
# respect mongoDB upstream's basic recommendations
# see bug #536688 and #526114
if ! use debug; then
filter-flags '-m*'
filter-flags '-O?'
fi
default
}
src_compile() {
PREFIX="${EPREFIX}/usr" ./buildscripts/scons.py "${scons_opts[@]}" install-devcore || die
}
src_install() {
dobin build/install/bin/{mongo,mongod,mongos}
doman debian/mongo*.{1,5}
dodoc README.md docs/building.md
newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
newinitd "${FILESDIR}/mongos.initd-r3" mongos
newconfd "${FILESDIR}/mongos.confd-r3" mongos
insinto /etc
newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
newins "${FILESDIR}/mongos.conf-r2" mongos.conf
systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
insinto /etc/logrotate.d/
newins "${FILESDIR}/${PN}.logrotate" ${PN}
# see bug #526114
pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
diropts -m0750 -o mongodb -g mongodb
keepdir /var/log/${PN}
}
pkg_postinst() {
ewarn "Make sure to read the release notes and follow the upgrade process:"
ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
}

View File

@@ -0,0 +1,212 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
SCONS_MIN_VERSION="3.3.1"
CHECKREQS_DISK_BUILD="2400M"
CHECKREQS_DISK_USR="512M"
CHECKREQS_MEMORY="1024M"
inherit check-reqs eapi9-ver flag-o-matic multiprocessing optfeature pax-utils python-any-r1 \
scons-utils systemd tmpfiles toolchain-funcs
MY_PV=r${PV/_rc/-rc}
MY_P=mongo-${MY_PV}
DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
HOMEPAGE="https://www.mongodb.com"
SRC_URI="https://github.com/mongodb/mongo/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="Apache-2.0 SSPL-1"
SLOT="0"
KEYWORDS="~amd64 ~arm64 -riscv"
CPU_FLAGS="cpu_flags_x86_avx"
IUSE="debug kerberos ssl ${CPU_FLAGS}"
# https://github.com/mongodb/mongo/wiki/Test-The-Mongodb-Server
# resmoke needs python packages not yet present in Gentoo
RESTRICT="test"
RDEPEND="acct-group/mongodb
acct-user/mongodb
>=app-arch/snappy-1.1.7:=
app-arch/zstd:=
>=dev-cpp/yaml-cpp-0.6.2:=
dev-libs/boost:=[nls]
>=dev-libs/libpcre2-10.40:=
dev-libs/snowball-stemmer:=
net-misc/curl
>=sys-libs/zlib-1.2.12:=
kerberos? ( dev-libs/cyrus-sasl[kerberos] )
ssl? (
>=dev-libs/openssl-1.0.1g:0=
)"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
sys-libs/ncurses:0=
sys-libs/readline:0=
debug? ( dev-debug/valgrind )"
BDEPEND="
$(python_gen_any_dep '
>=dev-build/scons-3.1.1[${PYTHON_USEDEP}]
dev-python/cheetah3[${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
dev-python/pymongo[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/regex[${PYTHON_USEDEP}]
dev-python/typing-extensions[${PYTHON_USEDEP}]
')
"
PATCHES=(
"${FILESDIR}/${PN}-5.0.2-no-compass.patch"
"${FILESDIR}/${PN}-5.0.2-skip-reqs-check.patch"
"${FILESDIR}/${PN}-7.0.15-sconstruct.patch"
"${FILESDIR}/${PN}-4.4.29-no-enterprise.patch"
"${FILESDIR}/${PN}-7.0.15-system-boost.patch"
"${FILESDIR}/${PN}-7.0.15-gcc-15.patch"
"${FILESDIR}/${PN}-5.0.26-scons.patch"
"${FILESDIR}/${PN}-6.0.21-mozjs-remove-unused-constructor.patch"
"${FILESDIR}/${PN}-6.0.21-boost-filesystem-1.85.patch"
"${FILESDIR}/${PN}-6.0.21-boost-filesystem-1.85-2.patch"
"${FILESDIR}/${PN}-7.0.18-system-pcre.patch"
)
python_check_deps() {
python_has_version -b ">=dev-build/scons-3.1.1[${PYTHON_USEDEP}]" &&
python_has_version -b "dev-python/cheetah3[${PYTHON_USEDEP}]" &&
python_has_version -b "dev-python/psutil[${PYTHON_USEDEP}]" &&
python_has_version -b "dev-python/pymongo[${PYTHON_USEDEP}]" &&
python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" &&
python_has_version -b "dev-python/regex[${PYTHON_USEDEP}]" &&
python_has_version -b "dev-python/typing-extensions[${PYTHON_USEDEP}]"
}
pkg_pretend() {
# Bug 809692 + 890294
if use amd64 && ! use cpu_flags_x86_avx; then
ewarn "MongoDB $(ver_cut 2) requires use of the AVX instruction set."
ewarn "This ebuild will use --experimental-optimization=-sandybridge which"
ewarn "will result in an experimental build of MongoDB as per upstream."
ewarn "https://docs.mongodb.com/v$(ver_cut 2)/administration/production-notes/"
fi
local oldver=$(($(ver_cut 1) - 1))
if [[ -n ${REPLACING_VERSIONS} ]]; then
if ver_replacing -lt ${oldver}.0; then
ewarn "To upgrade from a version earlier than the ${oldver}.0-series, you must"
ewarn "successively upgrade major releases until you have upgraded"
ewarn "to ${oldver}.0-series. Then upgrade to $(ver_cut 1).0 series."
else
ewarn "Be sure to set featureCompatibilityVersion to ${oldver}.0 before upgrading."
fi
fi
}
src_prepare() {
default
# remove bundled libs
rm -r src/third_party/{boost,pcre2,snappy-*,yaml-cpp,zlib} || die
# remove compass
rm -r src/mongo/installer/compass || die
}
src_configure() {
# --use-system-tcmalloc is strongly NOT recommended:
# for MONGO_GIT_HASH use GitOrigin-RevId from the commit of the tag
scons_opts=(
AR="$(tc-getAR)"
CC="$(tc-getCC)"
CXX="$(tc-getCXX)"
CCFLAGS="${CXXFLAGS}"
VERBOSE=1
VARIANT_DIR=gentoo
MONGO_VERSION="${PV}"
MONGO_GIT_HASH="1624e181d0dac03edb34ef25b9b58a6d79969825"
--disable-warnings-as-errors
--force-jobs # Reapply #906897, fix #935274
--jobs="$(makeopts_jobs)"
--use-system-boost
--use-system-pcre2
--use-system-snappy
--use-system-stemmer
--use-system-yaml
--use-system-zlib
--use-system-zstd
)
use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300
use amd64 && scons_opts+=( --experimental-optimization=-sandybridge ) # Bug 890294
use debug && scons_opts+=( --dbg=on )
use kerberos && scons_opts+=( --use-sasl-client )
scons_opts+=( --ssl=$(usex ssl on off) )
# Needed to avoid forcing FORTIFY_SOURCE
# Gentoo's toolchain applies these anyway
scons_opts+=( --runtime-hardening=off )
# gold is an option here but we don't really do that anymore
if tc-ld-is-lld; then
scons_opts+=( --linker=lld )
else
scons_opts+=( --linker=bfd )
fi
# respect mongoDB upstream's basic recommendations
# see bug #536688 and #526114
if ! use debug; then
filter-flags '-m*'
filter-flags '-O?'
fi
default
}
src_compile() {
PREFIX="${EPREFIX}/usr" ./buildscripts/scons.py "${scons_opts[@]}" install-devcore || die
}
src_install() {
dobin build/install/bin/{mongo,mongod,mongos}
doman debian/mongo*.{1,5}
dodoc README.md docs/building.md
newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
newinitd "${FILESDIR}/mongos.initd-r3" mongos
newconfd "${FILESDIR}/mongos.confd-r3" mongos
insinto /etc
newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
newins "${FILESDIR}/mongos.conf-r2" mongos.conf
systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
newtmpfiles "${FILESDIR}"/mongodb.tmpfiles mongodb.conf
insinto /etc/logrotate.d/
newins "${FILESDIR}/${PN}.logrotate" ${PN}
# see bug #526114
pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
}
pkg_postinst() {
tmpfiles_process mongodb.conf
ewarn "Make sure to read the release notes and follow the upgrade process:"
ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
optfeature "MongoDB Shell" app-admin/mongosh-bin
optfeature "MongoDB tools (mongoimport, mongodump...)" app-admin/mongo-tools
}

View File

@@ -0,0 +1 @@
DIST postgresql-17.6.tar.bz2 21623975 BLAKE2B 9287eab85e17a65333d970bf7d4d254e25295615b4787072ff2a6c705cb66b7775dbe3a0c6b6fa3e2ab37c3278d204ccfdd3e587226d4c1d6363868569149216 SHA512 d377ed208b3fd1bf9611f148f4286e8c655374218cc3b12cd766917063001750f7dede140065874b7c8bdc2f2b3ecaf15c18cc6cd341929b2c3a574a7797a67e

View File

@@ -0,0 +1,146 @@
--- a/contrib/Makefile
+++ b/contrib/Makefile
@@ -5,57 +5,9 @@
include $(top_builddir)/src/Makefile.global
SUBDIRS = \
- amcheck \
- auth_delay \
- auto_explain \
- basic_archive \
- basebackup_to_shell \
- bloom \
- btree_gin \
- btree_gist \
- citext \
- cube \
- dblink \
- dict_int \
- dict_xsyn \
- earthdistance \
- file_fdw \
- fuzzystrmatch \
- hstore \
- intagg \
- intarray \
- isn \
- lo \
- ltree \
oid2name \
- pageinspect \
- passwordcheck \
- pg_buffercache \
- pg_freespacemap \
- pg_prewarm \
- pg_stat_statements \
- pg_surgery \
- pg_trgm \
- pgrowlocks \
- pgstattuple \
- pg_visibility \
- pg_walinspect \
- postgres_fdw \
- seg \
- spi \
- tablefunc \
- tcn \
- test_decoding \
- tsm_system_rows \
- tsm_system_time \
- unaccent \
vacuumlo
-ifeq ($(with_ssl),openssl)
-SUBDIRS += pgcrypto sslinfo
-else
-ALWAYS_SUBDIRS += pgcrypto sslinfo
-endif
ifneq ($(with_uuid),no)
SUBDIRS += uuid-ossp
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
@@ -56,7 +56,7 @@
##########################################################################
-all: submake-libpgport submake-catalog-headers submake-utils-headers postgres $(POSTGRES_IMP)
+all: generated-headers
ifneq ($(PORTNAME), cygwin)
ifneq ($(PORTNAME), win32)
@@ -194,23 +194,7 @@
##########################################################################
-install: all installdirs install-bin
-ifeq ($(PORTNAME), cygwin)
-ifeq ($(MAKE_DLL), true)
- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a'
-endif
-endif
-ifeq ($(PORTNAME), win32)
-ifeq ($(MAKE_DLL), true)
- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a'
-endif
-endif
- $(MAKE) -C catalog install-data
- $(MAKE) -C tsearch install-data
- $(MAKE) -C utils install-data
- $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample '$(DESTDIR)$(datadir)/pg_hba.conf.sample'
- $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample '$(DESTDIR)$(datadir)/pg_ident.conf.sample'
- $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample '$(DESTDIR)$(datadir)/postgresql.conf.sample'
+install:
ifeq ($(with_llvm), yes)
install-bin: install-postgres-bitcode
--- a/src/bin/Makefile
+++ b/src/bin/Makefile
@@ -14,24 +14,8 @@
include $(top_builddir)/src/Makefile.global
SUBDIRS = \
- initdb \
- pg_amcheck \
- pg_archivecleanup \
- pg_basebackup \
- pg_checksums \
- pg_combinebackup \
pg_config \
- pg_controldata \
- pg_ctl \
pg_dump \
- pg_resetwal \
- pg_rewind \
- pg_test_fsync \
- pg_test_timing \
- pg_upgrade \
- pg_verifybackup \
- pg_waldump \
- pg_walsummary \
pgbench \
psql \
scripts
--- a/src/Makefile
+++ b/src/Makefile
@@ -17,19 +17,11 @@
port \
timezone \
backend \
- backend/utils/mb/conversion_procs \
- backend/snowball \
include \
interfaces \
- backend/replication/libpqwalreceiver \
- backend/replication/pgoutput \
fe_utils \
bin \
- pl \
- makefiles \
- test/regress \
- test/isolation \
- test/perl
+ makefiles
ifeq ($(with_llvm), yes)
SUBDIRS += backend/jit/llvm

View File

@@ -0,0 +1,36 @@
From 282d0bdee6192f1a859ee34672ae73abf49794dc Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Mon, 15 Sep 2025 08:13:21 +0200
Subject: [PATCH 1/1] jit: fix build with LLVM-21
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
LLVM-21 renamed llvm::GlobalValue::getGUID() to
getGUIDAssumingExternalLinkage(), so add a version guard.
Author: Holger Hoffstätte <holger@applied-asynchrony.com>
Discussion: https://www.postgresql.org/message-id/flat/d25e6e4a-d1b4-84d3-2f8a-6c45b975f53d%40applied-asynchrony.com
---
src/backend/jit/llvm/llvmjit_inline.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/backend/jit/llvm/llvmjit_inline.cpp b/src/backend/jit/llvm/llvmjit_inline.cpp
index 2764c3bbe2f..51b32cd9f94 100644
--- a/src/backend/jit/llvm/llvmjit_inline.cpp
+++ b/src/backend/jit/llvm/llvmjit_inline.cpp
@@ -238,7 +238,11 @@ llvm_build_inline_plan(LLVMContextRef lc, llvm::Module *mod)
llvm_split_symbol_name(symbolName.data(), &cmodname, &cfuncname);
+#if LLVM_VERSION_MAJOR >= 21
+ funcGUID = llvm::GlobalValue::getGUIDAssumingExternalLinkage(cfuncname);
+#else
funcGUID = llvm::GlobalValue::getGUID(cfuncname);
+#endif
/* already processed */
if (inlineState.processed)
--
2.39.5

View File

@@ -0,0 +1,35 @@
#!/bin/sh
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
eerror() {
echo "$@" >&2
}
# Check that DATA_DIR has been set
if [ -z ${DATA_DIR} ] ; then
eerror "DATA_DIR not set"
exit 1
fi
# Check that DATA_DIR exists
if [ ! -d ${DATA_DIR} ] ; then
eerror "Directory not found: ${DATA_DIR}"
eerror "HINT: Ensure that DATA_DIR points to the right path."
eerror "HINT: Or perhaps you need to create the database cluster:"
eerror " emerge --config dev-db/postgresql:@SLOT@"
exit 1
fi
# Check for the existence of PostgreSQL's config files, and set the
# proper mode and ownership.
# Only three files should be checked as potentially other files
# may be in PGDATA that should not be touched.
for file in postgresql pg_hba pg_ident ; do
file="${PGDATA%/}/${file}.conf"
if [ ! -f ${file} ] ; then
eerror "${file} not found"
eerror "HINT: mv ${DATA_DIR%/}/*.conf ${PGDATA}"
exit 1
fi
done

View File

@@ -0,0 +1,65 @@
# Comma-separated list of directories that contain a unix
# socket. Created and controlled by the related initscript. The
# directories created will be owned root:postgres with mode 1775.
#
# /run/postgresql is the default directory.
PG_SOCKET_DIRECTORIES="/run/postgresql"
# Which port and socket to bind PostgreSQL
PGPORT="5432"
# How long to wait for server to start in seconds
START_TIMEOUT=10
# NICE_QUIT ignores new connections and wait for clients to disconnect from
# server before shutting down. NICE_TIMEOUT in seconds determines how long to
# wait for this to succeed.
NICE_TIMEOUT=60
# Forcefully disconnect clients from server and shut down. This is performed
# after NICE_QUIT. Terminated client connections have their open transactions
# rolled back.
# Set RUDE_QUIT to "NO" to disable. RUDE_TIMEOUT in seconds.
RUDE_QUIT="YES"
RUDE_TIMEOUT=30
# If the server still fails to shutdown, you can force it to quit by setting
# this to YES and a recover-run will execute on the next startup.
# Set FORCE_QUIT to "YES" to enable. FORCE_TIMEOUT in seconds.
FORCE_QUIT="NO"
FORCE_TIMEOUT=2
# Extra options to run postmaster with, e.g.:
# -N is the maximal number of client connections
# -B is the number of shared buffers and has to be at least 2x the value for -N
# Please read the man-page to postmaster for more options. Many of these
# options can be set directly in the configuration file.
#PGOPTS="-N 512 -B 1024"
# Pass extra environment variables. If you have to export environment variables
# for the database process, this can be done here.
# Don't forget to escape quotes.
#PG_EXTRA_ENV="PGPASSFILE=\"/path/to/.pgpass\""
##############################################################################
#
# The following values should not be arbitrarily changed.
#
# `emerge --config dev-db/postgresql:@SLOT@' uses these values to
# determine where to create the data directory, where to place the
# configuration files, and any additional options to pass to initdb.
#
# The initscript also uses these variables to inform PostgreSQL where to find
# its data directory and configuration files.
#
##############################################################################
# Location of configuration files
PGDATA="/etc/postgresql-@SLOT@/"
# Where the data directory is located/to be created
DATA_DIR="/var/lib/postgresql/@SLOT@/data"
# Additional options to pass to initdb.
# See `man initdb' for available options.
PG_INITDB_OPTS="--encoding=UTF8"

View File

@@ -0,0 +1,204 @@
#!/sbin/openrc-run
# Copyright 1999-2023 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
extra_started_commands="reload promote"
PG_CTL="/usr/@LIBDIR@/postgresql-@SLOT@/bin/pg_ctl"
PG_CONTROLDATA="/usr/@LIBDIR@/postgresql-@SLOT@/bin/pg_controldata"
description="PostgreSQL @SLOT@ -- the world's most advanced open source database --
${RC_SERVICE} is a wrapper around pg_ctl with additional administrative checks
and convenience"
# pid is read by fscanf(3) with the first argument which should be integer,
# so this multiple line pidfile can be used.
PIDFILE="${DATA_DIR%/}/postmaster.pid"
get_config() {
[ -f "${PGDATA%/}/postgresql.conf" ] || return 1
eval echo $(sed -e 's:#.*::' "${PGDATA%/}/postgresql.conf" \
| awk '$1 == "'$1'" { print ($2 == "=" ? $3 : $2) }')
}
depend() {
use net
provide postgresql
if [ "$(get_config log_destination)" = "syslog" ] ; then
use logger
fi
}
configured_port=${PGPORT}
config_port() {
local port=$(get_config port)
[ -z ${port} ] || configured_port=${port}
}
checkconfig() {
# Check that DATA_DIR has been set
if [ -z "${DATA_DIR}" ] ; then
eerror "DATA_DIR not set"
eerror "HINT: Perhaps you need to update /etc/conf.d/postgresql-@SLOT@"
return 1
fi
# Check that DATA_DIR exists
if [ ! -d "${DATA_DIR}" ] ; then
eerror "Directory not found: ${DATA_DIR}"
eerror "HINT: Ensure that DATA_DIR points to the right path."
eerror "HINT: Or perhaps you need to create the database cluster:"
eerror " emerge --config dev-db/postgresql:@SLOT@"
return 1
fi
# Check for the existence of PostgreSQL's config files, and set the
# proper mode and ownership.
# Only three files should be checked as potentially other files
# may be in PGDATA that should not be touched.
local file
for file in postgresql pg_hba pg_ident ; do
file="${PGDATA%/}/${file}.conf"
if [ -f "${file}" ] ; then
checkpath -f -m 0600 -o postgres:postgres "${file}"
else
eerror "${file} not found"
eerror "HINT: mv ${DATA_DIR%/}/*.conf ${PGDATA}"
return 1
fi
done
# Set the proper permission for the socket paths and create it if
# it doesn't exist.
set -f
local IFS=',' s
for s in ${PG_SOCKET_DIRECTORIES}; do
checkpath -d -m 1775 -o root:postgres "${s}"
if [ -e "${s%/}/.s.PGSQL.${configured_port}" ] ; then
eerror "Socket conflict."
eerror "A server is already listening on:"
eerror " ${s%/}/.s.PGSQL.${configured_port}"
eerror "HINT: Change PGPORT to listen on a different socket."
return 1
fi
done
set +f
}
start() {
config_port
checkconfig || return 1
ebegin "Starting PostgreSQL @SLOT@"
rm -f "${DATA_DIR%/}/postmaster.pid"
export PGPORT=${configured_port}
eval "${PG_EXTRA_ENV:+export} ${PG_EXTRA_ENV}"
start-stop-daemon --start --user postgres:postgres \
--pidfile "${PIDFILE}" \
--exec "${PG_CTL}" -- \
start \
-s -w -t ${START_TIMEOUT} -l "${DATA_DIR%/}/postmaster.log" \
-D "${PGDATA}" \
-o "-c data_directory=\"${DATA_DIR}\" \
-c unix_socket_directories=\"${PG_SOCKET_DIRECTORIES}\" \
${PGOPTS}"
local retval=$?
if [ ${retval} -ne 0 ] ; then
eerror "Check the log for a possible explanation of the above error."
eerror "The log may be located at:"
eerror " ${DATA_DIR%/}/postmaster.log"
eerror "Or wherever you configured PostgreSQL @SLOT@ to log."
fi
eend ${retval}
}
stop() {
: "${NICE_TIMEOUT:=5}"
: "${RUDE_TIMEOUT:=5}"
: "${FORCE_TIMEOUT:=5}"
# The SIGTERM is the default signal for s-s-d, and corresponds to the
# default stop mode 'smart' of postgres.
local retry="SIGTERM/${NICE_TIMEOUT}"
local seconds=${NICE_TIMEOUT}
if yesno RUDE_QUIT; then
# retry fast stop mode after NICE_TIMEOUT
retry="${retry}/SIGINT/${RUDE_TIMEOUT}"
seconds=$(( ${seconds} + ${RUDE_TIMEOUT} ))
fi
if yesno FORCE_QUIT; then
# retry immediate stop mode after RUDE_TIMEOUT
retry="${retry}/SIGQUIT/${FORCE_TIMEOUT}"
seconds=$(( ${seconds} + ${FORCE_TIMEOUT} ))
fi
ebegin "Stopping PostgreSQL @SLOT@ (this can take up to ${seconds} seconds)"
start-stop-daemon --stop --retry ${retry} --pidfile ${PIDFILE}
local retval=$?
if [ ${retval} -eq 0 ] ; then
# clean up remaining socket files for the case which postgres has crashed before stopping
config_port
local IFS=',' s
for s in ${PG_SOCKET_DIRECTORIES}; do
if ls -1 "${s%/}/.s.PGSQL.${configured_port}"* >/dev/null 2>&1; then
ewarn "cleaning up remaining socket files in '$s'"
rm -vf "${s%/}/.s.PGSQL.${configured_port}"*
fi
done
fi
eend ${retval}
}
status() {
default_status
local retval=$?
local postopts_file="${DATA_DIR%/}/postmaster.opts"
if [ $retval -eq 0 -a -r "${postopts_file}" ] ; then
einfo "opts: $(cat ${postopts_file})"
fi
}
description_reload="Simply sends the postgres process a SIGHUP signal, causing
it to reread its configuration files (postgresql.conf, pg_hba.conf,
etc.). This allows changing of configuration-file options that do not
require a complete restart to take effect."
reload() {
ebegin "Reloading PostgreSQL @SLOT@ configuration"
start-stop-daemon \
--signal SIGHUP \
--user postgres:postgres \
--pidfile "${PIDFILE}"
eend $?
}
description_promote="If the server is in standby, it is commanded to exit
recovery and begin read-write operations."
promote() {
ebegin "Promoting PostgreSQL @SLOT@"
local retval=1
if "${PG_CONTROLDATA}" -D "${DATA_DIR}" 2>/dev/null \
| grep 'in archive recovery' >/dev/null 2>&1; then
local promotefile="${DATA_DIR%/}/promote"
checkpath -q -f -m 644 -o postgres:postgres "${promotefile}" && \
start-stop-daemon \
--signal SIGUSR1 \
--user postgres:postgres \
--pidfile "${PIDFILE}"
retval=$?
if [ ${retval} -ne 0 ] ; then
rm -f "${promotefile}"
fi
else
eerror "server is not in standby mode"
fi
eend ${retval}
}

View File

@@ -0,0 +1,52 @@
# It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades. If you want to customize, the
# best way is to create file
# "/etc/systemd/system/postgresql-@SLOT@.service.d/*.conf"
# containing your changes
# For example, if you want to change the server's port number to 5433,
# create a file named
# "/etc/systemd/system/postgresql-@SLOT@.service.d/port.conf"
# containing:
# [Service]
# Environment=PGPORT=5433
# This will override the setting appearing below.
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=notify
User=postgres
Group=postgres
# Port number for server to listen on
Environment=PGPORT=5432
# Location of configuration files
Environment=PGDATA=/etc/postgresql-@SLOT@
# Where the data directory is located
Environment=DATA_DIR=/var/lib/postgresql/@SLOT@/data
# Where to send early-startup messages from the server (before the logging
# options of postgresql.conf take effect)
# This is normally controlled by the global default set by systemd
# StandardOutput=syslog
ExecStartPre=/usr/bin/postgresql-@SLOT@-check-db-dir
ExecStart=/usr/@LIBDIR@/postgresql-@SLOT@/bin/postgres -p ${PGPORT} -D ${DATA_DIR}
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
# Disable OOM kill on the postmaster
OOMScoreAdjust=-1000
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1 @@
d /run/postgresql 1775 root postgres -

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>pgsql-bugs@gentoo.org</email>
<name>PostgreSQL and Related Package Development</name>
</maintainer>
<use>
<flag name="llvm">
Add support for llvm JIT engine
</flag>
<flag name="server">
Disable to build and install the clients and libraries
only.
</flag>
<flag name="uuid">
Enable server side UUID generation (via
<pkg>dev-libs/ossp-uuid</pkg>).
</flag>
</use>
<upstream>
<remote-id type="github">postgres/postgres</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,483 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..14} )
LLVM_COMPAT=( {15..21} )
LLVM_OPTIONAL=1
inherit dot-a flag-o-matic linux-info llvm-r1 pam python-single-r1 systemd tmpfiles
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
SLOT=$(ver_cut 1)
MY_PV=${PV/_/}
S="${WORKDIR}/${PN}-${MY_PV}"
SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
HOMEPAGE="https://www.postgresql.org/"
IUSE="debug doc +icu kerberos ldap llvm +lz4 nls pam perl python
+readline selinux +server systemd ssl static-libs tcl uuid xml
zlib +zstd"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
CDEPEND="
>=app-eselect/eselect-postgresql-2.0
acct-group/postgres
acct-user/postgres
sys-apps/less
virtual/libintl
icu? ( dev-libs/icu:= )
kerberos? ( app-crypt/mit-krb5 )
ldap? ( net-nds/openldap:= )
llvm? ( $(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}
llvm-core/llvm:${LLVM_SLOT}
') )
lz4? ( app-arch/lz4 )
pam? ( sys-libs/pam )
perl? ( >=dev-lang/perl-5.8:= )
python? ( ${PYTHON_DEPS} )
readline? ( sys-libs/readline:0= )
server? ( systemd? ( sys-apps/systemd ) )
ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
tcl? ( >=dev-lang/tcl-8:0= )
xml? ( dev-libs/libxml2:= dev-libs/libxslt )
zlib? ( sys-libs/zlib )
zstd? ( app-arch/zstd )
"
# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
# the libc includes UUID functions.
UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
nest_usedep() {
local front back
while [[ ${#} -gt 1 ]]; do
front+="${1}? ( "
back+=" )"
shift
done
echo "${front}${1}${back}"
}
CDEPEND+="
uuid? (
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
$(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
)"
DEPEND="${CDEPEND}
sys-devel/bison
app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-postgresql )
"
# Openjade, docbook, XML, and XSLT are needed to generate manpages and
# any documentation that may be elected.
BDEPEND="
app-text/openjade
app-text/docbook-dsssl-stylesheets
app-text/docbook-sgml-dtd:4.5
app-text/docbook-xml-dtd:4.5
app-text/docbook-xsl-stylesheets
dev-libs/libxml2
dev-libs/libxslt
"
PATCHES=( "${FILESDIR}"/postgresql-17.6-llvm21.patch )
pkg_setup() {
use llvm && llvm-r1_pkg_setup
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
use python && python-single-r1_pkg_setup
}
src_prepare() {
# Set proper run directory
sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-i src/include/pg_config_manual.h || die
# Rely on $PATH being in the proper order so that the correct
# install program is used for modules utilizing PGXS in both
# hardened and non-hardened environments. (Bug #528786)
sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
use server || eapply "${FILESDIR}/${PN}-17.0-no-server.patch"
if use pam ; then
sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-i src/backend/libpq/auth.c || \
die 'PGSQL_PAM_SERVICE rename failed.'
fi
default
eapply_user
}
src_configure() {
use static-libs && lto-guarantee-fat
# Fails to build with C23, fallback to the old default in < GCC 15
# for now: https://marc.info/?l=pgsql-bugs&m=173185132906874&w=2
append-cflags -std=gnu17
case ${CHOST} in
*-darwin*|*-solaris*)
use nls && append-libs intl
;;
esac
export LDFLAGS_SL="${LDFLAGS}"
export LDFLAGS_EX="${LDFLAGS}"
local PO="${EPREFIX}"
local i uuid_config=""
if use uuid; then
for i in ${UTIL_LINUX_LIBC[@]}; do
use ${i} && uuid_config="--with-uuid=e2fs"
done
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
fi
local myconf="\
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
--includedir="${PO}/usr/include/postgresql-${SLOT}" \
--mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
--with-system-tzdata="${PO}/usr/share/zoneinfo" \
$(use_enable debug) \
$(use_with icu) \
$(use_with kerberos gssapi) \
$(use_with ldap) \
$(use_with llvm) \
$(use_with lz4) \
$(use_with pam) \
$(use_with perl) \
$(use_with python) \
$(use_with readline) \
$(use_with ssl openssl) \
$(usex server "$(use_with systemd)" '--without-systemd') \
$(use_with tcl) \
${uuid_config} \
$(use_with xml libxml) \
$(use_with xml libxslt) \
$(use_with zlib) \
$(use_with zstd) \
$(use_enable nls)"
if use alpha; then
myconf+=" --disable-spinlocks"
else
# Should be the default but just in case
myconf+=" --enable-spinlocks"
fi
econf ${myconf}
}
src_compile() {
emake
emake -C contrib
emake -C doc
}
src_install() {
emake DESTDIR="${D}" install
emake DESTDIR="${D}" install -C contrib
dodoc HISTORY
# man pages are already built, but if we have the target make them,
# they'll be generated from source before being installed so we
# manually install man pages.
# We use ${SLOT} instead of doman for postgresql.eselect
insinto /usr/share/postgresql-${SLOT}/man/
doins -r doc/src/sgml/man{1,3,7}
if ! use server; then
# Remove man pages for non-existent binaries
serverman=(
initdb
pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
pg_{test_{fsync,timing},upgrade,waldump}
post{gres,master}
)
for m in ${serverman[@]} ; do
rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
done
fi
docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
# Create slot specific man pages
local bn f mansec slotted_name
for mansec in 1 3 7 ; do
local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
bn=$(basename "${f}")
slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
case ${bn} in
TABLE.7|WITH.7)
echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
;;
*)
echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
;;
esac
done
popd > /dev/null
done
insinto /etc/postgresql-${SLOT}
newins src/bin/psql/psqlrc.sample psqlrc
# Don't delete libpg{port,common}.a (Bug #571046). They're always
# needed by extensions utilizing PGXS.
use static-libs || \
find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-delete
strip-lto-bytecode "${ED}"
# Make slot specific links to programs
local f bn
for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-mindepth 1 -maxdepth 1)
do
bn=$(basename "${f}")
dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
"/usr/bin/${bn}${SLOT/.}"
done
if use doc ; then
docinto html
dodoc doc/src/sgml/html/*
fi
if use server; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
if use systemd; then
sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
"${FILESDIR}/${PN}.service-9.6-r1" | \
systemd_newunit - ${PN}-${SLOT}.service
newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
fi
use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
if use prefix ; then
keepdir /run/postgresql
fperms 1775 /run/postgresql
fi
fi
}
pkg_postinst() {
use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
postgresql-config update
elog "If you need a global psqlrc-file, you can place it in:"
elog " ${EROOT}/etc/postgresql-${SLOT}/"
if use server ; then
elog
elog "Gentoo specific documentation:"
elog "https://wiki.gentoo.org/wiki/PostgreSQL"
elog
elog "Official documentation:"
elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
elog
elog "The default location of the Unix-domain socket is:"
elog " ${EROOT}/run/postgresql/"
elog
elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
elog "so that it contains your preferred locale in:"
elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
elog
elog "Then, execute the following command to setup the initial database"
elog "environment:"
elog " emerge --config =${CATEGORY}/${PF}"
if [[ -n ${REPLACING_VERSIONS} ]] ; then
ewarn "If your system is using 'pg_stat_statements' and you are running a"
ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
ewarn "the following command after upgrading:"
ewarn
ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
fi
fi
}
pkg_prerm() {
if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
sleep 10
eend 0
fi
}
pkg_postrm() {
postgresql-config update
}
pkg_config() {
use server || die "USE flag 'server' not enabled. Nothing to configure."
[[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
&& source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
[[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
[[ -z "${DATA_DIR}" ]] \
&& DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
# environment.bz2 may not contain the same locale as the current system
# locale. Unset and source from the current system locale.
if [ -f "${EROOT}/etc/env.d/02locale" ]; then
unset LANG
unset LC_CTYPE
unset LC_NUMERIC
unset LC_TIME
unset LC_COLLATE
unset LC_MONETARY
unset LC_MESSAGES
unset LC_ALL
source "${EROOT}/etc/env.d/02locale"
[ -n "${LANG}" ] && export LANG
[ -n "${LC_CTYPE}" ] && export LC_CTYPE
[ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
[ -n "${LC_TIME}" ] && export LC_TIME
[ -n "${LC_COLLATE}" ] && export LC_COLLATE
[ -n "${LC_MONETARY}" ] && export LC_MONETARY
[ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
[ -n "${LC_ALL}" ] && export LC_ALL
fi
einfo "You can modify the paths and options passed to initdb by editing:"
einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
einfo
einfo "Information on options that can be passed to initdb are found at:"
einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
einfo
einfo "PG_INITDB_OPTS is currently set to:"
if [[ -z "${PG_INITDB_OPTS}" ]] ; then
einfo " (none)"
else
einfo " ${PG_INITDB_OPTS}"
fi
einfo
einfo "Configuration files will be installed to:"
einfo " ${PGDATA}"
einfo
einfo "The database cluster will be created in:"
einfo " ${DATA_DIR}"
einfo
ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
sleep 5
eend 0
if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
eerror "The given directory, '${DATA_DIR}', is not empty."
eerror "Modify DATA_DIR to point to an empty directory."
die "${DATA_DIR} is not empty."
fi
einfo "Creating the data directory ..."
if [[ ${EUID} == 0 ]] ; then
mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
fi
einfo "Initializing the database ..."
if [[ ${EUID} == 0 ]] ; then
su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
else
"${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
fi
if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
fi
# unix_socket_directory has no effect in postgresql.conf as it's
# overridden in the initscript
sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
einfo "The autovacuum function, which was in contrib, has been moved to the main"
einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
einfo "by default. You can disable it in the cluster's:"
einfo " ${PGDATA%/}/postgresql.conf"
einfo
if ! use systemd; then
einfo "The PostgreSQL server, by default, will log events to:"
einfo " ${DATA_DIR%/}/postmaster.log"
einfo
fi
if use prefix ; then
einfo "The location of the configuration files have moved to:"
einfo " ${PGDATA}"
einfo "To start the server:"
einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
einfo "To stop:"
einfo " pg_ctl stop -D ${DATA_DIR}"
einfo
einfo "Or move the configuration files back:"
einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
elif use systemd; then
einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
einfo "instead of 'pg_ctl'."
else
einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
einfo "instead of 'pg_ctl'."
fi
}
src_test() {
if use server && [[ ${UID} -ne 0 ]] ; then
# Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the same. We set
# LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by Portage.
local old_ctype=${LC_CTYPE}
export LC_CTYPE=${LC_COLLATE}
emake check
export LC_CTYPE=${old_ctype}
einfo "If you think other tests besides the regression tests are necessary, please"
einfo "submit a bug including a patch for this ebuild to enable them."
else
use server || \
ewarn 'Tests cannot be run without the "server" use flag enabled.'
[[ ${UID} -eq 0 ]] || \
ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
ewarn 'Skipping.'
fi
}

View File

@@ -1 +1,2 @@
DIST timescaledb-2.6.0.tar.gz 2863860 BLAKE2B 14b7bbfcfe1ca874ef24a7d31f3855f78cde0be57022251e1b1eb141819e19af45a2269123583a2d97c08c778aed38d9662cd4a6ff9c44281a605b8c0faed1ec SHA512 b076a44e3b30e99986dba710079cdc1a38b59a9d65ecd9f78fa16f3b762f253d7a9236a34a4d7e7beb29c1051113ea8877973e07ed3116012c9d2175a77e2edc
DIST timescaledb-2.19.3.tar.gz 8010948 BLAKE2B f1bf6b376c281b35f154f47d00c1e7777cf7cfe9bece09097ac28d0d14b90f23c589f2cd8e5377fda1a65ef066530c8d958d0456d320304da26d013c318e12bd SHA512 44310ddced2899b6a60989fc5e96aa4c999898e5ec59a29ea1bc4c82e6ae9339fa11fd6e20805a2d09a351c1c6fe1429593367f73a91229043c02ba6648468e7
DIST timescaledb-2.20.3.tar.gz 7802166 BLAKE2B 5dcc9c121d2dee7bf81f92ed38c8a32c23fa2ea814aa52d6253fba921e13e5937836a39a018c6decf1941b5362e7849336ab6cdb32385b5a44ac324895da613d SHA512 657dd5d5f6583b03a8daccbe9c4432d810614c65700a881ac5e30e0a75d4f07083d1085c71682552fe46e4bb211439b37bbf2b267d41d1ed60744d83776a42b6

View File

@@ -0,0 +1,70 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
POSTGRES_COMPAT=( {14..17} )
POSTGRES_USEDEP="ssl"
inherit postgres-multi cmake
DESCRIPTION="Open-source time-series SQL database"
HOMEPAGE="https://www.timescale.com/"
SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0
tsl? ( timescale )"
SLOT=0
KEYWORDS="~amd64"
IUSE="+tsl"
RESTRICT="test"
DEPEND="${POSTGRES_DEP}"
RDEPEND="${DEPEND}"
timescale_src_prepare() {
local CMAKE_USE_DIR=$BUILD_DIR
cmake_src_prepare
}
src_prepare() {
postgres-multi_src_prepare
postgres-multi_foreach timescale_src_prepare
}
timescale_configure() {
local CMAKE_USE_DIR=$BUILD_DIR
local mycmakeargs=(
-DAPACHE_ONLY=$(usex tsl OFF ON)
-DWARNINGS_AS_ERRORS=OFF
-DSEND_TELEMETRY_DEFAULT=OFF
-DREGRESS_CHECKS=OFF
-DPG_CONFIG=${PG_CONFIG}
)
cmake_src_configure
}
src_configure() {
postgres-multi_foreach timescale_configure
}
timescale_src_compile() {
local CMAKE_USE_DIR=$BUILD_DIR
cmake_src_compile
}
src_compile() {
postgres-multi_foreach timescale_src_compile
}
timescale_src_install() {
local CMAKE_USE_DIR=$BUILD_DIR
cmake_src_install
}
src_install() {
postgres-multi_foreach timescale_src_install
find "${ED}" -name '*.a' -delete
}

View File

@@ -0,0 +1,70 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
POSTGRES_COMPAT=( {15..17} )
POSTGRES_USEDEP="ssl"
inherit postgres-multi cmake
DESCRIPTION="Open-source time-series SQL database"
HOMEPAGE="https://www.timescale.com/"
SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0
tsl? ( timescale )"
SLOT=0
KEYWORDS="~amd64"
IUSE="+tsl"
RESTRICT="test"
DEPEND="${POSTGRES_DEP}"
RDEPEND="${DEPEND}"
timescale_src_prepare() {
local CMAKE_USE_DIR=$BUILD_DIR
cmake_src_prepare
}
src_prepare() {
postgres-multi_src_prepare
postgres-multi_foreach timescale_src_prepare
}
timescale_configure() {
local CMAKE_USE_DIR=$BUILD_DIR
local mycmakeargs=(
-DAPACHE_ONLY=$(usex tsl OFF ON)
-DWARNINGS_AS_ERRORS=OFF
-DSEND_TELEMETRY_DEFAULT=OFF
-DREGRESS_CHECKS=OFF
-DPG_CONFIG=${PG_CONFIG}
)
cmake_src_configure
}
src_configure() {
postgres-multi_foreach timescale_configure
}
timescale_src_compile() {
local CMAKE_USE_DIR=$BUILD_DIR
cmake_src_compile
}
src_compile() {
postgres-multi_foreach timescale_src_compile
}
timescale_src_install() {
local CMAKE_USE_DIR=$BUILD_DIR
cmake_src_install
}
src_install() {
postgres-multi_foreach timescale_src_install
find "${ED}" -name '*.a' -delete
}

View File

@@ -1,54 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
POSTGRES_COMPAT=( {12..14} )
POSTGRES_USEDEP="ssl"
inherit cmake postgres-multi
DESCRIPTION="A time-series database optimized for fast ingest and complex queries"
HOMEPAGE="https://www.timescale.com/"
SRC_URI="https://github.com/timescale/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0
tsl? ( timescale )"
SLOT="0"
IUSE="+tsl"
KEYWORDS="~amd64 ~x86"
RESTRICT="test"
DEPEND="${POSTGRES_DEP}"
RDEPEND="${DEPEND}"
CMAKE_BUILD_TYPE=RelWithDebInfo
src_prepare() {
postgres-multi_foreach cmake_src_prepare
}
src_configure() {
pg_src_configure () {
local mycmakeargs=(
-DAPACHE_ONLY=$(usex tsl OFF ON)
-DUSE_OPENSSL=ON
-DWARNINGS_AS_ERRORS=OFF
-DSEND_TELEMETRY_DEFAULT=OFF
-DREGRESS_CHECKS=OFF
-DPG_CONFIG=${PG_CONFIG}
)
cmake_src_configure
}
postgres-multi_foreach pg_src_configure
}
src_compile() {
postgres-multi_foreach cmake_src_compile
}
src_install() {
postgres-multi_foreach cmake_src_install
find "${ED}" -name '*.a' -delete
}

2
dev-go/wire/Manifest Normal file
View File

@@ -0,0 +1,2 @@
DIST wire-0.7.0-vendor.tar.xz 250152 BLAKE2B 48387d7f9b14d8d91486c0017feb2b31bceb9b49b93253363e100ced0c6d7d47db8029a4b3f0c69c4f05bda6cf57d246a485465979bc6f53b89bcc0a27de20ee SHA512 650441cf60e7f3c9f15dcd1187357162bb01eedb1db26659f16123ea47258d2660ab2557bd7b4973447758984eab4281ac9665e8baa4c6bde93d601297d288b3
DIST wire-0.7.0.tar.gz 87605 BLAKE2B ef2a714a772660fbd2631ef68e70df6d4f121b118118103a532f428fc6da1fc9431b3a82494c653f00b44069f982e36210e5457e6d0e48b5bbdb3c583cb399fa SHA512 edad580d3b4e63db2c397774bc18ea8eb82be0e6dfeec279d79086596862333934d6c7fd1d1ed1dc7e3aebd3514a8b4068f11badf340fead39f495a92ce29324

View File

@@ -0,0 +1,38 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module
DESCRIPTION="Wire: Automated Initialization in Go"
HOMEPAGE="https://github.com/google/${PN}"
# creating vendor bundle:
# >> git clone https://github.com/google/wire -b v<version> /tmp/wire
# >> cd /tmp/wire && version=`git describe --tags | sed -E "s/v([0-9.]+)/\1/g"`
# >> go mod vendor && mkdir wire-${version} && mv vendor wire-${version}/vendor
# >> tar -caf wire-${version}-vendor.tar.xz wire-${version}/vendor
SRC_URI="
https://github.com/google/${PN}/archive/v${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz
https://people.znc.in/~dessa/gentoo-dessa/distfiles/${CATEGORY}/${PN}/${PN}-${PV}-vendor.tar.xz
"
KEYWORDS="~amd64"
LICENSE="Apache-2.0"
SLOT="0"
DEPEND="dev-lang/go"
#src_compile() {
# GO111MODULE=on GOCACHE="${T}"/go-cache go build -mod=vendor -o ./bin/${PN} ./cmd/wire/main.go
#}
src_compile() {
ego build -mod=vendor -o wire ./cmd/wire/main.go
}
src_install() {
dobin wire
dodoc {README,CONTRIBUTING}.md
}

View File

@@ -0,0 +1 @@
DIST slf4j-1.7.36.tar.gz 2276203 BLAKE2B 930de76047c694b4e566ba743ee90a2efb062358b03209137f686c4bf4ead122aa84c18b79615e5a67f1a890abdc1b8f70f62b7803f7b8e45c766ff8254836d4 SHA512 1384c771aa04d9d351854cf8ddeef66ee9f43df53890a05413c48c14cf1cb78a457bb4b2a6e2f064f1c1ab68b2eaa1d326fc03bb6b7c145915660a2c873692d0

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
<upstream>
<doc>http://www.slf4j.org/docs.html</doc>
<bugs-to>http://www.slf4j.org/bug-reporting.html</bugs-to>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,62 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Skeleton command:
# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri https://github.com/qos-ch/slf4j/archive/v_1.7.36.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild slf4j-api-1.7.36.ebuild
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="org.slf4j:slf4j-api:1.7.36"
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="The slf4j API"
HOMEPAGE="https://www.slf4j.org"
SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 arm64 ppc64 x86"
DEPEND="
>=virtual/jdk-1.8:*
"
RDEPEND="
>=virtual/jre-1.8:*
"
BDEPEND="app-arch/zip"
DOCS=( LICENSE.txt ../README.md )
S="${WORKDIR}/slf4j-v_${PV}/${PN}"
JAVA_SRC_DIR="src/main/java"
JAVA_RESOURCE_DIRS="src/main/resources"
JAVA_TEST_GENTOO_CLASSPATH="junit-4"
JAVA_TEST_SRC_DIR="src/test/java"
JAVA_TEST_EXCLUDES=(
# java.lang.InstantiationException - not run by upstream anyway
"org.slf4j.helpers.MultithreadedInitializationTest"
)
src_prepare() {
default
java-pkg_clean
}
src_compile() {
java-pkg-simple_src_compile
# remove org/slf4j/impl/ from the jar file
zip -d ${PN}.jar org/slf4j/impl/\* || die "Failed to remove impl files"
}
src_install() {
default # https://bugs.gentoo.org/789582
java-pkg-simple_src_install
}

View File

@@ -0,0 +1 @@
DIST slf4j-1.7.36.tar.gz 2276203 BLAKE2B 930de76047c694b4e566ba743ee90a2efb062358b03209137f686c4bf4ead122aa84c18b79615e5a67f1a890abdc1b8f70f62b7803f7b8e45c766ff8254836d4 SHA512 1384c771aa04d9d351854cf8ddeef66ee9f43df53890a05413c48c14cf1cb78a457bb4b2a6e2f064f1c1ab68b2eaa1d326fc03bb6b7c145915660a2c873692d0

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1,74 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Skeleton command:
# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri https://github.com/qos-ch/slf4j/archive/v_1.7.36.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild slf4j-ext-1.7.36.ebuild
EAPI=8
JAVA_PKG_IUSE="doc source"
MAVEN_ID="org.slf4j:slf4j-ext:1.7.36"
# JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Extensions to the SLF4J API"
HOMEPAGE="https://www.slf4j.org"
SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 arm64 ppc64 x86"
# Common dependencies
# POM: pom.xml
# ch.qos.cal10n:cal10n-api:0.8.1 -> >=dev-java/cal10n-0.8.1:0
# commons-lang:commons-lang:2.4 -> >=dev-java/commons-lang-2.6:2.1
# javassist:javassist:3.4.GA -> >=dev-java/javassist-3.18.2:3
# org.slf4j:slf4j-api:1.7.36 -> >=dev-java/slf4j-api-1.7.36:0
CP_DEPEND="
dev-java/cal10n:0
dev-java/commons-lang:2.1
dev-java/javassist:3
~dev-java/slf4j-api-${PV}:0
"
# Compile dependencies
# POM: pom.xml
# test? junit:junit:4.13 -> >=dev-java/junit-4.13.2:4
# test? org.slf4j:slf4j-reload4j:1.7.36 -> !!!artifactId-not-found!!!
# slf4j-reload4j has further dependencies which are not available in ::gentoo.
DEPEND="
>=virtual/jdk-1.8:*
${CP_DEPEND}
"
RDEPEND="
>=virtual/jre-1.8:*
${CP_DEPEND}"
DOCS=( ../LICENSE.txt ../README.md )
S="${WORKDIR}/slf4j-v_${PV}/${PN}"
JAVA_SRC_DIR="src/main/java"
JAVA_RESOURCE_DIRS="src/main/resources"
# JAVA_TEST_GENTOO_CLASSPATH="junit-4,!!!artifactId-not-found!!!"
# JAVA_TEST_SRC_DIR="src/test/java"
# JAVA_TEST_RESOURCE_DIRS=(
# "src/test/resources"
# )
src_prepare() {
default
java-pkg_clean
}
src_install() {
default # https://bugs.gentoo.org/789582
java-pkg-simple_src_install
}

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Skeleton command:
@@ -17,7 +17,7 @@ HOMEPAGE="http://www.slf4j.org"
SRC_URI="https://github.com/qos-ch/slf4j/archive/refs/tags/v_${PV}.tar.gz -> ${P}-sources.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
# Common dependencies
# POM: pom.xml

View File

@@ -0,0 +1 @@
DIST slf4j-1.7.36.tar.gz 2276203 BLAKE2B 930de76047c694b4e566ba743ee90a2efb062358b03209137f686c4bf4ead122aa84c18b79615e5a67f1a890abdc1b8f70f62b7803f7b8e45c766ff8254836d4 SHA512 1384c771aa04d9d351854cf8ddeef66ee9f43df53890a05413c48c14cf1cb78a457bb4b2a6e2f064f1c1ab68b2eaa1d326fc03bb6b7c145915660a2c873692d0

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1,58 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Skeleton command:
# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri https://github.com/qos-ch/slf4j/archive/v_1.7.36.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild slf4j-nop-1.7.36.ebuild
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="org.slf4j:slf4j-nop:1.7.36"
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="SLF4J NOP Binding"
HOMEPAGE="https://www.slf4j.org"
SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 arm64 ppc64 x86"
# Common dependencies
# POM: pom.xml
# org.slf4j:slf4j-api:1.7.36 -> >=dev-java/slf4j-api-1.7.36:0
CP_DEPEND="
~dev-java/slf4j-api-${PV}:0
"
DEPEND="
>=virtual/jdk-1.8:*
${CP_DEPEND}
"
RDEPEND="
>=virtual/jre-1.8:*
${CP_DEPEND}"
DOCS=( LICENSE.txt ../README.md )
S="${WORKDIR}/slf4j-v_${PV}/${PN}"
JAVA_SRC_DIR="src/main/java"
JAVA_RESOURCE_DIRS="src/main/resources"
JAVA_TEST_GENTOO_CLASSPATH="junit-4"
JAVA_TEST_SRC_DIR="src/test/java"
src_prepare() {
default
java-pkg_clean
}
src_install() {
default # https://bugs.gentoo.org/789582
java-pkg-simple_src_install
}

View File

@@ -0,0 +1 @@
DIST slf4j-1.7.36.tar.gz 2276203 BLAKE2B 930de76047c694b4e566ba743ee90a2efb062358b03209137f686c4bf4ead122aa84c18b79615e5a67f1a890abdc1b8f70f62b7803f7b8e45c766ff8254836d4 SHA512 1384c771aa04d9d351854cf8ddeef66ee9f43df53890a05413c48c14cf1cb78a457bb4b2a6e2f064f1c1ab68b2eaa1d326fc03bb6b7c145915660a2c873692d0

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
<upstream>
<doc>http://www.slf4j.org/docs.html</doc>
<bugs-to>http://www.slf4j.org/bug-reporting.html</bugs-to>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,77 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Skeleton command:
# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri https://github.com/qos-ch/slf4j/archive/v_1.7.36.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild slf4j-simple-1.7.36.ebuild
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="org.slf4j:slf4j-simple:1.7.36"
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="SLF4J Simple binding"
HOMEPAGE="https://www.slf4j.org"
SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 arm64 ppc64 x86"
# Common dependencies
# POM: pom.xml
# org.slf4j:slf4j-api:1.7.36 -> >=dev-java/slf4j-api-1.7.36:0
CP_DEPEND="
~dev-java/slf4j-api-${PV}:0
"
# Compile dependencies
# POM: pom.xml
# test? junit:junit:4.13 -> >=dev-java/junit-4.13.2:4
# test? org.slf4j:slf4j-api:1.7.36 -> >=dev-java/slf4j-api-1.7.36:0
DEPEND="
>=virtual/jdk-1.8:*
${CP_DEPEND}
test? (
~dev-java/slf4j-api-${PV}:0
)
"
RDEPEND="
>=virtual/jre-1.8:*
${CP_DEPEND}"
DOCS=( LICENSE.txt ../README.md )
S="${WORKDIR}/slf4j-v_${PV}/${PN}"
JAVA_SRC_DIR="src/main/java"
JAVA_RESOURCE_DIRS="src/main/resources"
JAVA_TEST_GENTOO_CLASSPATH="junit-4,slf4j-api"
JAVA_TEST_SRC_DIR="src/test/java"
JAVA_TEST_RESOURCE_DIRS="src/test/resources"
JAVA_TEST_EXCLUDES=(
# java.lang.InstantiationException
"org.slf4j.helpers.MultithreadedInitializationTest"
# java.lang.AssertionError: 1284 < 1263+16
"org.slf4j.helpers.SimpleLoggerMultithreadedInitializationTest"
)
src_prepare() {
default
java-pkg_clean
cp {../slf4j-api/,}src/test/java/org/slf4j/helpers/MultithreadedInitializationTest.java || die
cp {../slf4j-api/,}src/test/java/org/slf4j/LoggerAccessingThread.java || die
}
src_install() {
default # https://bugs.gentoo.org/789582
java-pkg-simple_src_install
}

1
dev-lang/php/Manifest Normal file
View File

@@ -0,0 +1 @@
DIST php-7.4.33-patches-2.tar.xz 21128 BLAKE2B 65d5dee974c2c3ea223dc00591674ee4b596bf082ed9554392f96de00c10606f2408f4053bfe769cdeb7a08bb816cb7a0ae19c30ae878d6c5e50c3d411e76b34 SHA512 e7d990490ace3f69ff7e41e7e1ccb940b39dda43e888d1b59b7217893cabd91117d00ae5e8f95e4a4e1fa147457f302248d9ac19398eab85099f39599f8d9fd3

View File

@@ -0,0 +1,2 @@
MANPATH="/usr/lib/php5/man/"
CONFIG_PROTECT_MASK="/etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/fpm-php5/ext-active/ /etc/php/phpdbg-php5/ext-active/"

View File

@@ -0,0 +1,13 @@
[Unit]
Description=The PHP FastCGI Process Manager
After=network.target
[Service]
Type=simple
PIDFile=/run/php-fpm/php-fpm-%I.pid
ExecStart=/usr/libexec/php-fpm-launcher php%I -y /etc/php/fpm-php%I/php-fpm.conf --nodaemonize
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,13 @@
[Unit]
Description=The PHP FastCGI Process Manager
After=network.target
[Service]
Type=notify
PIDFile=/run/php-fpm/php-fpm-%I.pid
ExecStart=/usr/libexec/php-fpm-launcher php%I -y /etc/php/fpm-php%I/php-fpm.conf --nodaemonize
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

135
dev-lang/php/metadata.xml Normal file
View File

@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>php-bugs@gentoo.org</email>
<name>PHP</name>
</maintainer>
<maintainer type="person">
<email>mjo@gentoo.org</email>
<name>Michael Orlitzky</name>
</maintainer>
<use>
<flag name="apparmor">
Support FPM application confinement through
<pkg>sys-libs/libapparmor</pkg>
</flag>
<flag name="argon2">
Enable password hashing algorithm from <pkg>app-crypt/argon2</pkg>
</flag>
<flag name="avif">
Enable AVIF support in bundled libgd
</flag>
<flag name="bcmath">
Enable the BCMath Arbitrary Precision Mathematics extension
</flag>
<flag name="cli">
Enable the Command-Line Interface (CLI) SAPI
</flag>
<flag name="coverage">
Include gcov symbols for test coverage and lcov reports. Only
useful for extension developers, and requires GCC.
</flag>
<flag name="ctype">
Enable the Character type checking (ctype) extension
</flag>
<flag name="embed">
Enable embed SAPI
</flag>
<flag name="enchant">
Enable the Enchant spelling library extension using
<pkg>app-text/enchant</pkg>
</flag>
<flag name="ffi">
Enable the Foreign Function Interface (FFI) extension using
<pkg>dev-libs/libffi</pkg>
</flag>
<flag name="fileinfo">
Enable the File Information extension
</flag>
<flag name="filter">
Enable the Data Filtering extension
</flag>
<flag name="flatfile">
Add dbm support for flat files
</flag>
<flag name="fpm">
Enable the FastCGI Process Manager SAPI
</flag>
<flag name="gd">
Enable the Image Processing and GD extension (requires
<pkg>media-libs/libjpeg-turbo</pkg> and
<pkg>media-libs/libpng</pkg>)
</flag>
<flag name="inifile">
Add dbm support for .ini files
</flag>
<flag name="jit">
Enable PCRE JIT support
</flag>
<flag name="json">
Enable the JavaScript Object Notation extension
</flag>
<flag name="ldap-sasl">
Add SASL support for the PHP LDAP extension using
<pkg>dev-libs/cyrus-sasl</pkg>
</flag>
<flag name="lmdb">
Enable support for <pkg>dev-db/lmdb</pkg> db backend
</flag>
<flag name="intl">
Enables the intl extension for extended internalization support
</flag>
<flag name="opcache">
Enables built-in opcode cache, replacing pecl-apc et al.
</flag>
<flag name="pcntl">
Enable the Process Control extension
</flag>
<flag name="pdo">
Enable the PHP Data Objects extension
</flag>
<flag name="phar">
Enables the phar extension to provide phar archive support
</flag>
<flag name="phpdbg">
Enable the PHP Debug Command Line SAPI (like gdb for php)
</flag>
<flag name="session-mm">
Include <pkg>dev-libs/mm</pkg> support for session storage
</flag>
<flag name="sharedmem">
Enable the shmop extension
</flag>
<flag name="simplexml">
Enable the SimpleXML extension
</flag>
<flag name="sodium">
Enable support for crypto through <pkg>dev-libs/libsodium</pkg>
</flag>
<flag name="sysvipc">
Enable the PHP System-V semaphore, shared memory and IPC extension
</flag>
<flag name="tokenizer">
Add support for the PHP file parser
</flag>
<flag name="tokyocabinet">
Enable support for <pkg>dev-db/tokyocabinet</pkg> db backend
</flag>
<flag name="xmlreader">
Enable the XMLReader extension
</flag>
<flag name="xmlwriter">
Enable the XMLWriter extension
</flag>
<flag name="xslt">
Build the XSL extension
</flag>
<flag name="webp">
Enable webp support for GD in php-7.x
</flag>
</use>
<upstream>
<remote-id type="github">php/php-src</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,761 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic git-r3 systemd autotools multilib
# Extra fixes
## https://github.com/zboszor/meta-parallel-php/tree/main/recipes-php/php/php74
PHP_MV="$(ver_cut 1)"
PHP_PATCH="php-$(ver_cut 1-3)-patches-2.tar.xz"
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://www.php.net/"
SRC_URI="https://raw.githubusercontent.com/inode64/inode64-overlay/main/dist/${PHP_PATCH}"
EGIT_REPO_URI="https://github.com/shivammathur/php-src-backports"
# Alternative
#EGIT_REPO_URI="https://github.com/remicollet/php-src-security"
EGIT_BRANCH="PHP-7.4-security-backports"
EGIT_COMMIT="e5b417c927f43ba9c4b237a672de1ec60d6f77ca"
LICENSE="PHP-3.01
BSD
Zend-2.0
bcmath? ( LGPL-2.1+ )
fpm? ( BSD-2 )
gd? ( gd )
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2 phpdbg"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
"
IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
+ctype curl debug
enchant exif ffi +fileinfo +filter firebird
+flatfile ftp gd gdbm gmp +iconv imap inifile
intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
# The Oracle instant client provides its own incompatible ldap library.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
cli? ( ^^ ( readline libedit ) )
!cli? ( ?? ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
exif? ( gd zlib )
xpm? ( gd zlib )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
xmlrpc? ( xml iconv )
xmlreader? ( xml )
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
oci8-instant-client? ( !ldap )
qdbm? ( !gdbm )
session-mm? ( session )
mysql? ( || ( mysqli pdo ) )
firebird? ( pdo )
mssql? ( pdo )
"
RESTRICT="!test? ( test )"
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
COMMON_DEPEND="
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
>=dev-libs/libpcre2-10.30[jit?,unicode]
virtual/libcrypt:=
fpm? ( acl? ( sys-apps/acl ) )
apache2? ( www-servers/apache[apache2_modules_unixd(+)] )
argon2? ( app-crypt/argon2:= )
berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) )
bzip2? ( app-arch/bzip2:0= )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( app-text/enchant:0 )
ffi? ( >=dev-libs/libffi-3.0.11:= )
firebird? ( dev-db/firebird )
gd? ( media-libs/libjpeg-turbo:0= media-libs/libpng:0= )
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
gmp? ( dev-libs/gmp:0= )
iconv? ( virtual/libiconv )
imap? ( net-libs/c-client[kerberos=,ssl=] )
intl? ( dev-libs/icu:= )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11:= )
ldap-sasl? ( dev-libs/cyrus-sasl )
libedit? ( dev-libs/libedit )
lmdb? ( dev-db/lmdb:= )
mssql? ( dev-db/freetds[mssql] )
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0= )
session-mm? ( dev-libs/mm )
snmp? ( >=net-analyzer/net-snmp-5.2 )
sodium? ( dev-libs/libsodium )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? ( dev-libs/openssl:= )
tidy? ( app-text/htmltidy )
tokyocabinet? ( dev-db/tokyocabinet )
truetype? ( =media-libs/freetype-2* )
unicode? ( dev-libs/oniguruma:= )
webp? ( media-libs/libwebp:0= )
xml? ( >=dev-libs/libxml2-2.7.6:= )
xpm? ( x11-libs/libXpm )
xslt? ( dev-libs/libxslt )
zip? ( >=dev-libs/libzip-1.2.0:= )
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
"
RDEPEND="${COMMON_DEPEND}
virtual/mta
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
# Bison isn't actually needed when building from a release tarball
# However, the configure script will warn if it's absent or if you
# have an incompatible version installed. See bug 593278.
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
>=sys-devel/bison-3.0.1"
BDEPEND="virtual/pkgconfig"
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
# Always install the production INI file, bug 611214.
local phpinisrc="php.ini-production-${phpsapi}"
cp php.ini-production "${phpinisrc}" || die
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-i "${phpinisrc}" || die
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" php.ini
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
if use opcache; then
elog "Adding opcache to $PHP_EXT_INI_DIR"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
dosym "../ext/opcache.ini" \
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
einfo "Installing FPM config files php-fpm.conf and www.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
doins sapi/fpm/php-fpm.conf
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
doins sapi/fpm/www.conf
fi
dodoc php.ini-{development,production}
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_unpack() {
git-r3_src_unpack
unpack "${PHP_PATCH}"
}
src_prepare() {
default
local patchdir="${WORKDIR}/patches"
eapply "${patchdir}/"
# In php-7.x, the FPM pool configuration files have been split off
# of the main config. By default the pool config files go in
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
# we'll install the pool configuration file "www.conf" there.
php_set_ini_dir fpm
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
sapi/fpm/php-fpm.conf.in \
|| die 'failed to move the include directory in php-fpm.conf'
# Emulate buildconf to support cross-compilation
rm -fr aclocal.m4 autom4te.cache config.cache \
configure main/php_config.h.in || die
eautoconf --force
eautoheader
}
src_configure() {
filter-lto # bug 855644
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
local our_conf=(
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}/man"
--infodir="${PHP_DESTDIR}/info"
--libdir="${PHP_DESTDIR}/lib"
--with-libdir="$(get_libdir)"
--localstatedir="${EPREFIX}/var"
--without-pear
--without-valgrind
)
# remove obsolete gcov support
our_conf+=(
--disable-gcov
)
our_conf+=(
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
$(use_enable bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar)
$(use_enable ctype)
$(use_with curl)
$(use_enable xml dom)
$(use_with enchant)
$(use_enable exif)
$(use_with ffi)
$(use_enable fileinfo)
$(use_enable filter)
$(use_enable ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(use_with mhash mhash "${EPREFIX}/usr")
$(use_with iconv iconv \
$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl)
$(use_enable ipv6)
$(use_enable json)
$(use_with kerberos)
$(use_with xml libxml)
$(use_enable unicode mbstring)
$(use_with ssl openssl)
$(use_enable pcntl)
$(use_enable phar)
$(use_enable pdo)
$(use_enable opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_enable simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap)
$(use_enable sockets)
$(use_with sodium)
$(use_with sqlite sqlite3)
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer)
$(use_enable xml)
$(use_enable xmlreader)
$(use_enable xmlwriter)
$(use_with xmlrpc)
$(use_with xslt xsl)
$(use_with zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable debug)
)
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm || use lmdb || use tokyocabinet ; then
our_conf+=( "--enable-dba" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
$(use_with lmdb lmdb "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype)
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg)
$(use_with xpm)
$(use_with webp)
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_enable gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl)
)
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
if use mysql || use mysqli ; then
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
fi
# ODBC support
if use odbc && use iodbc ; then
our_conf+=(
--without-unixODBC
--with-iodbc
$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
)
elif use odbc ; then
our_conf+=(
--with-unixODBC="${EPREFIX}/usr"
--without-iodbc
$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
)
else
our_conf+=(
--without-unixODBC
--without-iodbc
--without-pdo-odbc
)
fi
# Oracle support
our_conf+=( $(use_with oci8-instant-client oci8) )
# PDO support
if use pdo ; then
our_conf+=(
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
$(use_with mysql pdo-mysql "${mysqllib}")
$(use_with postgres pdo-pgsql)
$(use_with sqlite pdo-sqlite)
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit)
)
# Session support
if use session ; then
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable session) )
fi
# Use pic for shared modules such as apache2's mod_php
our_conf+=( --with-pic )
# we use the system copy of pcre
# --with-external-pcre affects ext/pcre
our_conf+=(
--with-external-pcre
$(use_with jit pcre-jit)
)
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Cache the ./configure test results between SAPIs.
our_conf+=( --cache-file="${T}/config.cache" )
# Support user-passed configuration parameters
our_conf+=( ${EXTRA_ECONF:-} )
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
local one_sapi
local sapi
mkdir -p "${WORKDIR}/sapis-build" || die
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
# The BUILD_DIR variable is used to determine where to output
# the files that autotools creates. This was all originally
# based on the autotools-utils eclass.
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
cp -a "${S}" "${BUILD_DIR}" || die
cd "${BUILD_DIR}" || die
local sapi_conf=(
--with-config-file-path="${PHP_INI_DIR}"
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
)
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm|phpdbg)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( "--enable-${sapi}" )
if [[ "fpm" == "${sapi}" ]] ; then
sapi_conf+=(
$(use_with acl fpm-acl)
$(use_with systemd fpm-systemd)
)
fi
else
sapi_conf+=( "--disable-${sapi}" )
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
else
sapi_conf+=( --without-apxs2 )
fi
;;
esac
done
# Construct the $myeconfargs array by concatenating $our_conf
# (the common args) and $sapi_conf (the SAPI-specific args).
local myeconfargs=( "${our_conf[@]}" )
myeconfargs+=( "${sapi_conf[@]}" )
pushd "${BUILD_DIR}" > /dev/null || die
econf "${myeconfargs[@]}"
popd > /dev/null || die
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
local sapi
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || \
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index #nowarn
# grab the first SAPI that got built and install common files from there
local first_sapi="", sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi" || die
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir "/usr/share/php${PHP_MV}"
local file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}" || die
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp${PHP_MV}$(get_libname)" \
"libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
# Install the "phar" archive utility.
if use phar ; then
emake INSTALL_ROOT="${D}" install-pharcmd
dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
fi
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
phpdbg)
source="sapi/phpdbg/phpdbg"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}"
else
dobin "${source}"
local name="$(basename ${source})"
dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use opcache ; then
into "${PHP_DESTDIR#${EPREFIX}}"
dolib.so "modules/opcache$(get_libname)"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
"php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
"php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
fi
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
"session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
"session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
elog
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
elog "your apache2 command. OpenRC users can append that string to"
elog "APACHE2_OPTS in /etc/conf.d/apache2."
elog
elog "The apache module configuration file 70_mod_php.conf is"
elog "provided (and maintained) by eselect-php."
elog
fi
# Create the symlinks for php
local m
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT} || die
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
# Remove dead symlinks for SAPIs that were just disabled. For
# example, if the user has the cgi SAPI enabled, then he has an
# eselect-php symlink for it. If he later reinstalls PHP with
# USE="-cgi", that symlink will break. This call to eselect is
# supposed to remove that dead link per bug 572436.
eselect php cleanup || die
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
elog "To build extensions for this version of PHP, you will need to"
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
elog
fi
# Warn about the removal of PHP_INI_VERSION if the user has it set.
if [[ -n "${PHP_INI_VERSION}" ]]; then
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
ewarn 'remove it from your configuration at your convenience. See'
ewarn
ewarn ' https://bugs.gentoo.org/611214'
ewarn
ewarn 'for more information.'
fi
elog "For details on how version slotting works, please see"
elog "the wiki:"
elog
elog " https://wiki.gentoo.org/wiki/PHP"
elog
}
pkg_postrm() {
# This serves two purposes. First, if we have just removed the last
# installed version of PHP, then this will remove any dead symlinks
# belonging to eselect-php. Second, if a user upgrades slots from
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
# his existing symlinks to point to the new 7.0 installation. The
# latter is bug 432962.
#
# Note: the eselect-php package may not be installed at this point,
# so we can't die() if this command fails.
eselect php cleanup
}

View File

@@ -1,12 +1,12 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8,9,10} )
PYTHON_COMPAT=( python3_{11..14} )
RUBY_OPTIONAL="yes"
USE_RUBY="ruby30"
USE_RUBY="ruby33"
PHP_EXT_NAME="IcePHP"
PHP_EXT_INI="yes"
@@ -14,7 +14,7 @@ PHP_EXT_ZENDEXT="no"
PHP_EXT_OPTIONAL_USE=php
USE_PHP="php8-0 php8-1"
USE_PHP="php8-2 php8-3 php8-4"
inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
@@ -24,7 +24,7 @@ SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )"
LICENSE="GPL-2"
SLOT="0/37"
KEYWORDS="~amd64 ~arm ~x86"
KEYWORDS="amd64 ~arm ~arm64 x86"
IUSE="debug doc examples php python ruby test"
RESTRICT="test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -37,7 +37,7 @@ RDEPEND=">=app-arch/bzip2-1.0.5
dev-libs/openssl:0=
virtual/libcrypt:=
python? ( ${PYTHON_DEPS} )
ruby? ( $(ruby_implementation_depend ruby30) )"
ruby? ( $(ruby_implementation_depend ruby33) )"
DEPEND="${RDEPEND}
test? (
${PYTHON_DEPS}
@@ -51,7 +51,8 @@ S="${WORKDIR}/${P,}"
PHP_EXT_S="${S}/php"
PATCHES=(
"${FILESDIR}/${P}-fix-musl-build.patch"
"${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch"
"${FILESDIR}/${PN}-3.7.8-python3.13.patch"
)
pkg_setup() {
@@ -86,12 +87,8 @@ src_prepare() {
src_configure() {
MAKE_RULES=(
"prefix=\"${ED}/usr\""
"install_docdir=\"${ED}/usr/share/doc/${PF}\""
"install_configdir=\"${ED}/usr/share/${P}/config\""
"install_mandir=\"${ED}/usr/share/man/man1\""
"CONFIGS=shared cpp11-shared"
"embedded_runpath_prefix=\"${EPREFIX}/usr\""
"new_dtags=yes"
"OPTIMIZE=$(usex !debug)"
"V=1"
)
@@ -102,22 +99,22 @@ src_configure() {
fi
if use ruby; then
SITERUBY="$(ruby30 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
SITERUBYARCH="$(ruby30 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
SITERUBY="$(ruby33 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
SITERUBYARCH="$(ruby33 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
MAKE_RULES_RUBY=(
"install_rubydir=\"${ED}/${SITERUBY}\""
"install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
"install_rubydir=\"${EPREFIX}/${SITERUBY}\""
"install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\""
)
# make it use ruby30 only
# make it use ruby33 only
sed -i \
-e 's|RUBY ?= ruby|\030|' \
-e 's|RUBY ?= ruby|\033|' \
ruby/config/Make.rules || die
sed -i \
-e 's|env ruby|\030|' \
-e 's|env ruby|\033|' \
ruby/config/s2rb.rb || die
sed -i \
-e 's|env ruby|\030|' \
-e 's|env ruby|\033|' \
ruby/scripts/slice2rb || die
fi
@@ -171,8 +168,8 @@ src_test() {
PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
"${MAKE_RULES[@]}" \
PYTHON="${EPYTHON}" \
install_pythondir="\"${D}/$(python_get_sitedir)\"" \
install_libdir="\"${D}/$(python_get_sitedir)\"" test
install_pythondir="\"$(python_get_sitedir)\"" \
install_libdir="\"$(python_get_sitedir)\"" test
}
local S="${S}/python"
python_foreach_impl testing
@@ -188,10 +185,17 @@ src_install() {
use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" )
einstalldocs
MAKE_RULES_INSTALL=(
"prefix=\"${ED}/usr\""
"install_docdir=\"${ED}/usr/share/doc/${PF}\""
"install_configdir=\"${ED}/usr/share/${P}/config\""
"install_mandir=\"${ED}/usr/share/man/man1\""
)
insinto /usr/share/${P}
doins -r slice
emake -C cpp "${MAKE_RULES[@]}" install
emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install
if use examples; then
docinto examples-cpp
@@ -234,6 +238,7 @@ src_install() {
emake -C "${BUILD_DIR}" \
"${MAKE_RULES[@]}" \
"${MAKE_RULES_INSTALL[@]}" \
install_pythondir="\"${D}/$(python_get_sitedir)\"" \
install_libdir="\"${D}/$(python_get_sitedir)\"" \
install
@@ -244,7 +249,11 @@ src_install() {
fi
if use ruby; then
MAKE_RULES_RUBY=(
"install_rubydir=\"${ED}/${SITERUBY}\""
"install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
)
dodir "${SITERUBY}"
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" install
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install
fi
}

View File

@@ -1,250 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8,9,10} )
RUBY_OPTIONAL="yes"
USE_RUBY="ruby30"
PHP_EXT_NAME="IcePHP"
PHP_EXT_INI="yes"
PHP_EXT_ZENDEXT="no"
PHP_EXT_OPTIONAL_USE=php
USE_PHP="php8-0 php8-1"
inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
DESCRIPTION="ICE middleware C++ library and generator tools"
HOMEPAGE="https://zeroc.com/products/ice"
SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )"
LICENSE="GPL-2"
SLOT="0/37"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="debug doc examples php python ruby test"
RESTRICT="test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND=">=app-arch/bzip2-1.0.5
>=dev-libs/expat-2.0.1
dev-libs/libedit
dev-cpp/libmcpp
dev-db/lmdb:=
dev-libs/openssl:0=
virtual/libcrypt:=
python? ( ${PYTHON_DEPS} )
ruby? ( $(ruby_implementation_depend ruby31) )"
DEPEND="${RDEPEND}
test? (
${PYTHON_DEPS}
dev-python/passlib[${PYTHON_USEDEP}]
)"
# Maintainer notes:
# TODO: java bindings
S="${WORKDIR}/${P,}"
PHP_EXT_S="${S}/php"
PATCHES=(
"${FILESDIR}/${P}-fix-musl-build.patch"
)
pkg_setup() {
# prevent ruby-ng.eclass from messing with pkg_setup
return
}
src_unpack() {
# prevent ruby-ng.eclass from messing with src_unpack
default
}
src_prepare() {
default
sed -i \
-e 's|-Werror ||g' \
config/Make.rules.Linux || die
# fix for x86 IceBox test
sed -i \
-e 's|"32"|""|' \
scripts/IceBoxUtil.py || die
if use !test; then
# Disable building tests
sed -i \
-e 's|include \$(top_srcdir)/config/Make.tests.rules||' \
config/Make.rules || die
fi
}
src_configure() {
MAKE_RULES=(
"prefix=\"${ED}/usr\""
"install_docdir=\"${ED}/usr/share/doc/${PF}\""
"install_configdir=\"${ED}/usr/share/${P}/config\""
"install_mandir=\"${ED}/usr/share/man/man1\""
"embedded_runpath_prefix=\"${EPREFIX}/usr\""
"new_dtags=yes"
"OPTIMIZE=$(usex !debug)"
"V=1"
)
if use python; then
local S="${S}/python"
python_copy_sources
fi
if use ruby; then
SITERUBY="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
SITERUBYARCH="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
MAKE_RULES_RUBY=(
"install_rubydir=\"${ED}/${SITERUBY}\""
"install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
)
# make it use ruby31 only
sed -i \
-e 's|RUBY ?= ruby|\031|' \
ruby/config/Make.rules || die
sed -i \
-e 's|env ruby|\031|' \
ruby/config/s2rb.rb || die
sed -i \
-e 's|env ruby|\031|' \
ruby/scripts/slice2rb || die
fi
use test && python_setup
}
src_compile() {
# Do not remove this export or build will break!
tc-export CXX
emake -C cpp "${MAKE_RULES[@]}"
if use php; then
local i
for i in $(php_get_slots); do
mkdir -p "${WORKDIR}/${i}" || die
cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
pushd "${WORKDIR}/${i}" >/dev/null || die
ln -s "${S}/cpp" || die
ln -s "${S}/config" || die
ln -s "${S}/slice" || die
ln -s "${S}/Makefile" || die
emake -C php "${MAKE_RULES[@]}" "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
popd >/dev/null || die
done
fi
if use python; then
building() {
emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
}
local S="${S}/python"
python_foreach_impl building
fi
if use ruby; then
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
fi
}
src_test() {
local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
emake -C cpp "${MAKE_RULES[@]}" test
# php tests require the extension loaded and are therefore skipped
if use python; then
testing() {
PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
"${MAKE_RULES[@]}" \
PYTHON="${EPYTHON}" \
install_pythondir="\"${D}/$(python_get_sitedir)\"" \
install_libdir="\"${D}/$(python_get_sitedir)\"" test
}
local S="${S}/python"
python_foreach_impl testing
fi
if use ruby; then
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
fi
}
src_install() {
local DOCS=( CHANGELOG*.md README.md )
use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" )
einstalldocs
insinto /usr/share/${P}
doins -r slice
emake -C cpp "${MAKE_RULES[@]}" install
if use examples; then
docinto examples-cpp
dodoc cpp/config/*.cfg
docompress -x /usr/share/doc/${PF}/examples-cpp
fi
if use php; then
insinto "/usr/share/php/${PN}"
local i
while IFS="" read -d $'\0' -r i; do
doins "${i}"
done < <(find "${S}/php/lib/" -name '*.php' -print0)
pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
for i in *; do
mkdir -p "${ED}/usr/share/php/${i}" || die
"${ED}"/usr/bin/slice2php \
-I"${ED}/usr/share/${P}/slice/" --all \
--output-dir "${ED}/usr/share/php/${i}" \
--ice "${ED}/usr/share/${P}/slice/${i}"/*
done
for i in $(php_get_slots); do
php_init_slot_env "${i}"
insinto "${EXT_DIR}"
newins "php/lib/ice.so" "${PHP_EXT_NAME}.so"
done
php-ext-source-r3_createinifiles
popd >/dev/null || die
fi
if use python; then
installation() {
mkdir -p "${D}/$(python_get_sitedir)" || die
emake -C "${BUILD_DIR}" \
"${MAKE_RULES[@]}" \
install_pythondir="\"${D}/$(python_get_sitedir)\"" \
install_libdir="\"${D}/$(python_get_sitedir)\"" \
install
python_optimize
}
local S="${S}/python"
python_foreach_impl installation
fi
if use ruby; then
dodir "${SITERUBY}"
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" install
fi
}

View File

@@ -1,250 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8,9,10} )
RUBY_OPTIONAL="yes"
USE_RUBY="ruby27"
PHP_EXT_NAME="IcePHP"
PHP_EXT_INI="yes"
PHP_EXT_ZENDEXT="no"
PHP_EXT_OPTIONAL_USE=php
USE_PHP="php8-0 php8-1"
inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
DESCRIPTION="ICE middleware C++ library and generator tools"
HOMEPAGE="https://zeroc.com/products/ice"
SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )"
LICENSE="GPL-2"
SLOT="0/37"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="debug doc examples php python ruby test"
RESTRICT="test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND=">=app-arch/bzip2-1.0.5
>=dev-libs/expat-2.0.1
dev-libs/libedit
dev-cpp/libmcpp
dev-db/lmdb:=
dev-libs/openssl:0=
virtual/libcrypt:=
python? ( ${PYTHON_DEPS} )
ruby? ( $(ruby_implementation_depend ruby27) )"
DEPEND="${RDEPEND}
test? (
${PYTHON_DEPS}
dev-python/passlib[${PYTHON_USEDEP}]
)"
# Maintainer notes:
# TODO: java bindings
S="${WORKDIR}/${P,}"
PHP_EXT_S="${S}/php"
PATCHES=(
"${FILESDIR}/${P}-fix-musl-build.patch"
)
pkg_setup() {
# prevent ruby-ng.eclass from messing with pkg_setup
return
}
src_unpack() {
# prevent ruby-ng.eclass from messing with src_unpack
default
}
src_prepare() {
default
sed -i \
-e 's|-Werror ||g' \
config/Make.rules.Linux || die
# fix for x86 IceBox test
sed -i \
-e 's|"32"|""|' \
scripts/IceBoxUtil.py || die
if use !test; then
# Disable building tests
sed -i \
-e 's|include \$(top_srcdir)/config/Make.tests.rules||' \
config/Make.rules || die
fi
}
src_configure() {
MAKE_RULES=(
"prefix=\"${ED}/usr\""
"install_docdir=\"${ED}/usr/share/doc/${PF}\""
"install_configdir=\"${ED}/usr/share/${P}/config\""
"install_mandir=\"${ED}/usr/share/man/man1\""
"embedded_runpath_prefix=\"${EPREFIX}/usr\""
"new_dtags=yes"
"OPTIMIZE=$(usex !debug)"
"V=1"
)
if use python; then
local S="${S}/python"
python_copy_sources
fi
if use ruby; then
SITERUBY="$(ruby27 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
SITERUBYARCH="$(ruby27 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
MAKE_RULES_RUBY=(
"install_rubydir=\"${ED}/${SITERUBY}\""
"install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
)
# make it use ruby27 only
sed -i \
-e 's|RUBY ?= ruby|\027|' \
ruby/config/Make.rules || die
sed -i \
-e 's|env ruby|\027|' \
ruby/config/s2rb.rb || die
sed -i \
-e 's|env ruby|\027|' \
ruby/scripts/slice2rb || die
fi
use test && python_setup
}
src_compile() {
# Do not remove this export or build will break!
tc-export CXX
emake -C cpp "${MAKE_RULES[@]}"
if use php; then
local i
for i in $(php_get_slots); do
mkdir -p "${WORKDIR}/${i}" || die
cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
pushd "${WORKDIR}/${i}" >/dev/null || die
ln -s "${S}/cpp" || die
ln -s "${S}/config" || die
ln -s "${S}/slice" || die
ln -s "${S}/Makefile" || die
emake -C php "${MAKE_RULES[@]}" "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
popd >/dev/null || die
done
fi
if use python; then
building() {
emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
}
local S="${S}/python"
python_foreach_impl building
fi
if use ruby; then
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
fi
}
src_test() {
local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
emake -C cpp "${MAKE_RULES[@]}" test
# php tests require the extension loaded and are therefore skipped
if use python; then
testing() {
PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
"${MAKE_RULES[@]}" \
PYTHON="${EPYTHON}" \
install_pythondir="\"${D}/$(python_get_sitedir)\"" \
install_libdir="\"${D}/$(python_get_sitedir)\"" test
}
local S="${S}/python"
python_foreach_impl testing
fi
if use ruby; then
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
fi
}
src_install() {
local DOCS=( CHANGELOG*.md README.md )
use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" )
einstalldocs
insinto /usr/share/${P}
doins -r slice
emake -C cpp "${MAKE_RULES[@]}" install
if use examples; then
docinto examples-cpp
dodoc cpp/config/*.cfg
docompress -x /usr/share/doc/${PF}/examples-cpp
fi
if use php; then
insinto "/usr/share/php/${PN}"
local i
while IFS="" read -d $'\0' -r i; do
doins "${i}"
done < <(find "${S}/php/lib/" -name '*.php' -print0)
pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
for i in *; do
mkdir -p "${ED}/usr/share/php/${i}" || die
"${ED}"/usr/bin/slice2php \
-I"${ED}/usr/share/${P}/slice/" --all \
--output-dir "${ED}/usr/share/php/${i}" \
--ice "${ED}/usr/share/${P}/slice/${i}"/*
done
for i in $(php_get_slots); do
php_init_slot_env "${i}"
insinto "${EXT_DIR}"
newins "php/lib/ice.so" "${PHP_EXT_NAME}.so"
done
php-ext-source-r3_createinifiles
popd >/dev/null || die
fi
if use python; then
installation() {
mkdir -p "${D}/$(python_get_sitedir)" || die
emake -C "${BUILD_DIR}" \
"${MAKE_RULES[@]}" \
install_pythondir="\"${D}/$(python_get_sitedir)\"" \
install_libdir="\"${D}/$(python_get_sitedir)\"" \
install
python_optimize
}
local S="${S}/python"
python_foreach_impl installation
fi
if use ruby; then
dodir "${SITERUBY}"
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" install
fi
}

View File

@@ -1,12 +1,12 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8,9,10} )
PYTHON_COMPAT=( python3_{10..12} )
RUBY_OPTIONAL="yes"
USE_RUBY="ruby31"
USE_RUBY="ruby32"
PHP_EXT_NAME="IcePHP"
PHP_EXT_INI="yes"
@@ -14,7 +14,7 @@ PHP_EXT_ZENDEXT="no"
PHP_EXT_OPTIONAL_USE=php
USE_PHP="php8-0 php8-1"
USE_PHP="php8-1 php8-2 php8-3"
EGIT_REPO_URI="https://github.com/zeroc-ice/ice.git"
EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}"
@@ -39,7 +39,7 @@ RDEPEND=">=app-arch/bzip2-1.0.5
dev-libs/openssl:0=
virtual/libcrypt:=
python? ( ${PYTHON_DEPS} )
ruby? ( $(ruby_implementation_depend ruby31) )"
ruby? ( $(ruby_implementation_depend ruby32) )"
DEPEND="${RDEPEND}
test? (
${PYTHON_DEPS}
@@ -53,7 +53,7 @@ S="${WORKDIR}/${PN}"
PHP_EXT_S="${S}/php"
PATCHES=(
"${FILESDIR}/${PN}-3.7.7-fix-musl-build.patch"
"${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch"
)
pkg_setup() {
@@ -88,12 +88,7 @@ src_prepare() {
src_configure() {
MAKE_RULES=(
"prefix=\"${ED}/usr\""
"install_docdir=\"${ED}/usr/share/doc/${PF}\""
"install_configdir=\"${ED}/usr/share/${P}/config\""
"install_mandir=\"${ED}/usr/share/man/man1\""
"embedded_runpath_prefix=\"${EPREFIX}/usr\""
"new_dtags=yes"
"OPTIMIZE=$(usex !debug)"
"V=1"
)
@@ -104,22 +99,22 @@ src_configure() {
fi
if use ruby; then
SITERUBY="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
SITERUBYARCH="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
SITERUBY="$(ruby32 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
SITERUBYARCH="$(ruby32 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
MAKE_RULES_RUBY=(
"install_rubydir=\"${ED}/${SITERUBY}\""
"install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
"install_rubydir=\"${EPREFIX}/${SITERUBY}\""
"install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\""
)
# make it use ruby31 only
# make it use ruby32 only
sed -i \
-e 's|RUBY ?= ruby|\031|' \
-e 's|RUBY ?= ruby|\032|' \
ruby/config/Make.rules || die
sed -i \
-e 's|env ruby|\031|' \
-e 's|env ruby|\032|' \
ruby/config/s2rb.rb || die
sed -i \
-e 's|env ruby|\031|' \
-e 's|env ruby|\032|' \
ruby/scripts/slice2rb || die
fi
@@ -173,8 +168,8 @@ src_test() {
PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
"${MAKE_RULES[@]}" \
PYTHON="${EPYTHON}" \
install_pythondir="\"${D}/$(python_get_sitedir)\"" \
install_libdir="\"${D}/$(python_get_sitedir)\"" test
install_pythondir="\"$(python_get_sitedir)\"" \
install_libdir="\"$(python_get_sitedir)\"" test
}
local S="${S}/python"
python_foreach_impl testing
@@ -189,10 +184,17 @@ src_install() {
local DOCS=( CHANGELOG*.md README.md )
einstalldocs
MAKE_RULES_INSTALL=(
"prefix=\"${ED}/usr\""
"install_docdir=\"${ED}/usr/share/doc/${PF}\""
"install_configdir=\"${ED}/usr/share/${P}/config\""
"install_mandir=\"${ED}/usr/share/man/man1\""
)
insinto /usr/share/${P}
doins -r slice
emake -C cpp "${MAKE_RULES[@]}" install
emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install
if use examples; then
docinto examples-cpp
@@ -235,6 +237,7 @@ src_install() {
emake -C "${BUILD_DIR}" \
"${MAKE_RULES[@]}" \
"${MAKE_RULES_INSTALL[@]}" \
install_pythondir="\"${D}/$(python_get_sitedir)\"" \
install_libdir="\"${D}/$(python_get_sitedir)\"" \
install
@@ -245,7 +248,11 @@ src_install() {
fi
if use ruby; then
MAKE_RULES_RUBY=(
"install_rubydir=\"${ED}/${SITERUBY}\""
"install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
)
dodir "${SITERUBY}"
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" install
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install
fi
}

View File

@@ -1,2 +0,0 @@
DIST Ice-3.7.1.pdf 9351739 BLAKE2B 527f2c37aea19aedbfc580efd93ce4fae2eb7264342bb485822593e2da6fb75a61eea2b1a46187898af07f138d10bf9a213d0b2a0685c18cd1d4c624709a935b SHA512 199b59f14b87b2896ba970bf5aa32f6fd858cbd3fed18eac93acafe4e296db1361ca2d2000ed49f3390ed66c1d4ff8c1fcd3f14ab8197d7804c87fce422c8486
DIST Ice-3.7.7.tar.gz 10848321 BLAKE2B 51c695e9c9d75293122e3bc914662c264b4c354efe085697e3d5a8b1c89abedc1d34a809b1767a0f6f64f22c086a19d71bdd9622e7bca7d0184b5b53f0a7fd1a SHA512 73c3a2bb14c9e145383e4026206edd3e03b29c60a33af628611bfdab71d69a3aed108ce4e6cbfd67eb852560110e3495b4bd238c8cdf0de9d1f8e2f1088513ee

View File

@@ -1,3 +1,5 @@
https://github.com/void-linux/void-packages/blob/master/srcpkgs/Ice/patches/fix-musl.patch
--- a/cpp/src/IceUtil/UtilException.cpp
+++ b/cpp/src/IceUtil/UtilException.cpp
@@ -43,7 +43,7 @@

View File

@@ -0,0 +1,96 @@
Description: Python 3.13 build fixes
Author: Jose <jose@zeroc.com>
Origin: backport
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1092441
Applied-Upstream: https://github.com/zeroc-ice/ice/commit/019976e2db4899a5ac30f497aa45b51335b024ec
Reviewed-by: Simon Quigley <tsimonq2@debian.org>
Last-Update: 2025-02-24
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/python/modules/IcePy/Types.cpp
+++ b/python/modules/IcePy/Types.cpp
@@ -455,14 +455,7 @@ IcePy::StreamUtil::setSlicedDataMember(P
assert(_sliceInfoType);
}
- IcePy::PyObjectHandle args = PyTuple_New(0);
- if(!args.get())
- {
- assert(PyErr_Occurred());
- throw AbortMarshaling();
- }
-
- PyObjectHandle sd = PyEval_CallObject(_slicedDataType, args.get());
+ PyObjectHandle sd{PyObject_CallObject(_slicedDataType, nullptr)};
if(!sd.get())
{
assert(PyErr_Occurred());
@@ -488,7 +481,7 @@ IcePy::StreamUtil::setSlicedDataMember(P
int i = 0;
for(vector<Ice::SliceInfoPtr>::const_iterator p = slicedData->slices.begin(); p != slicedData->slices.end(); ++p)
{
- PyObjectHandle slice = PyEval_CallObject(_sliceInfoType, args.get());
+ PyObjectHandle slice{PyObject_CallObject(_sliceInfoType, nullptr)};
if(!slice.get())
{
assert(PyErr_Occurred());
@@ -1669,18 +1662,17 @@ IcePy::SequenceInfo::marshal(PyObject* p
Py_ssize_t sz = 0;
if(p != Py_None)
{
- const void* buf = 0;
- if(PyObject_AsReadBuffer(p, &buf, &sz) == 0)
+ Py_buffer pybuf;
+ if (pi && PyObject_GetBuffer(p, &pybuf, PyBUF_SIMPLE | PyBUF_FORMAT) == 0)
{
- if(pi->kind == PrimitiveInfo::KindString)
- {
- PyErr_Format(PyExc_ValueError, STRCAST("expected sequence value"));
- throw AbortMarshaling();
- }
+ // Strings are handled as variable length types above.
+ assert(pi->kind != PrimitiveInfo::KindString);
+ sz = pybuf.len;
+ PyBuffer_Release(&pybuf);
}
else
{
- PyErr_Clear(); // PyObject_AsReadBuffer sets an exception on failure.
+ PyErr_Clear(); // PyObject_GetBuffer sets an exception on failure.
PyObjectHandle fs;
if(pi)
@@ -1906,7 +1898,7 @@ IcePy::SequenceInfo::marshalPrimitiveSeq
if(pi->kind != PrimitiveInfo::KindString)
{
//
- // With Python 3 and greater we marshal sequences of pritive types using the new
+ // With Python 3 and greater we marshal sequences of primitive types using the new
// buffer protocol when possible, for older versions we use the old buffer protocol.
//
#if PY_VERSION_HEX >= 0x03000000
@@ -2030,7 +2022,7 @@ IcePy::SequenceInfo::marshalPrimitiveSeq
}
else
{
- PyErr_Clear(); // PyObject_GetBuffer/PyObject_AsReadBuffer sets an exception on failure.
+ PyErr_Clear(); // PyObject_GetBuffer sets an exception on failure.
}
}
--- a/python/modules/IcePy/Util.cpp
+++ b/python/modules/IcePy/Util.cpp
@@ -729,12 +729,7 @@ PyObject*
IcePy::createExceptionInstance(PyObject* type)
{
assert(PyExceptionClass_Check(type));
- IcePy::PyObjectHandle args = PyTuple_New(0);
- if(!args.get())
- {
- return 0;
- }
- return PyEval_CallObject(type, args.get());
+ return PyObject_CallObject(type, nullptr);
}
static void

View File

@@ -0,0 +1,3 @@
DIST libbson-1.30.6-docs.tar.xz 40372 BLAKE2B d1e04239bb2ff123b72060fb51892b5354908f7d452789f8bed269ca3d9f417758b6a2c7f993b631fe08162cbc679c34551f53ccb767e0d180fc5f46926e3029 SHA512 00fd68b4549f1fb20ee4828e42fbcf620374615bff9c445af66f0417b7c49ef00451b73e1c712e23bcdc84414d41cf9a55e68c0f9c983290d2a7ed91cb283f0a
DIST mongo-c-driver-1.30.6.tar.gz 7450898 BLAKE2B 242b41fed6b6155a35cb8dc696bc3d246795aa6df77c1eb2eb58c16fb603e4bcdf01cbdb382f68c4ede6d29186cdbfebab3fc2262b2acd9994f5f936ffc30e34 SHA512 3351fd784dcaffd5454776e8ebceae444634b525aee63ff1dc45a9f3a0ab5d0716b990bb0a0960553f76e64ac99b18a1f88bec6225f5c000aee48688b9d6d318
DIST mongo-c-driver-1.30.6.tar.gz.asc 833 BLAKE2B 2be5cf50f50191a74213ae7400793a1b4142f34b4ef589eff90db4a00b66514142fe510e941b50a304590cdec256f6020ff1f8220c25fd6aa63444e24dd817c0 SHA512 93c82ba89d4d6741fbe3a92dc36c6fbca16c6d43e2d874261ab38736cba4d74dc6d20808aae9afe8e112a04a65ae27f301d45c9ab9d585f258e7f7fea219f1a1

View File

@@ -0,0 +1,178 @@
https://jira.mongodb.org/browse/CDRIVER-6059
https://github.com/mongodb/mongo-c-driver/pull/2066
https://github.com/mongodb/mongo-c-driver/commit/e8ea70127f7bbbb4bcdb450026f059d8459b98db
Removed non cmake changes
From e8ea70127f7bbbb4bcdb450026f059d8459b98db Mon Sep 17 00:00:00 2001
From: Ezra Chung <88335979+eramongodb@users.noreply.github.com>
Date: Tue, 22 Jul 2025 15:47:09 -0500
Subject: [PATCH] CDRIVER-6059 Set CMake max policy version to 4.0 (#2066)
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required (VERSION 3.15)
+cmake_minimum_required (VERSION 3.15...4.0)
list (INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_LIST_DIR}/build/cmake")
# Defines BUILD_VERSION, which we use throughout:
@@ -402,11 +402,6 @@ set (CMAKE_INSTALL_RPATH_USE_LINK_PATH ON)
# Install libs with names like @rpath/libmongoc-1.0.0.dylib, not bare names.
set (CMAKE_MACOSX_RPATH ON)
-# https://cmake.org/cmake/help/v3.11/policy/CMP0042.html
-# Enable a CMake 3.0+ policy that sets CMAKE_MACOSX_RPATH by default, and
-# silence a CMake 3.11 warning that the old behavior is deprecated.
-cmake_policy (SET CMP0042 NEW)
-
# By default, ensure conformance with a minimum C standard.
# Required extensions to the language (i.e. POSIX) are (re)enabled further below.
if (NOT DEFINED CMAKE_C_STANDARD)
--- a/build/cmake/GenerateUninstaller.cmake
+++ b/build/cmake/GenerateUninstaller.cmake
@@ -1,5 +1,3 @@
-cmake_policy(VERSION 3.15)
-
if(NOT CMAKE_SCRIPT_MODE_FILE)
# We are being included from within a project, so we should generate the install rules
# The script name is "uninstall" by default:
--- a/src/libbson/CMakeLists.txt
+++ b/src/libbson/CMakeLists.txt
@@ -11,7 +11,7 @@
# 888
# 888
-cmake_minimum_required (VERSION 3.15)
+cmake_minimum_required (VERSION 3.15...4.0)
project (libbson
LANGUAGES C
--- a/src/libbson/examples/cmake-deprecated/find_package/CMakeLists.txt
+++ b/src/libbson/examples/cmake-deprecated/find_package/CMakeLists.txt
@@ -15,7 +15,7 @@
# Demonstrates how to use the CMake 'find_package' mechanism to locate
# and build against libbson.
-cmake_minimum_required (VERSION 2.8)
+cmake_minimum_required (VERSION 3.15)
project (hello_bson LANGUAGES C)
--- a/src/libbson/examples/cmake-deprecated/find_package_static/CMakeLists.txt
+++ b/src/libbson/examples/cmake-deprecated/find_package_static/CMakeLists.txt
@@ -15,7 +15,7 @@
# Demonstrates how to use the CMake 'find_package' mechanism to locate
# and build against libbson.
-cmake_minimum_required (VERSION 2.8)
+cmake_minimum_required (VERSION 3.15)
project (hello_bson LANGUAGES C)
--- a/src/libbson/examples/cmake/find_package/CMakeLists.txt
+++ b/src/libbson/examples/cmake/find_package/CMakeLists.txt
@@ -15,7 +15,7 @@
# Demonstrates how to use the CMake 'find_package' mechanism to locate
# and build against libbson.
-cmake_minimum_required (VERSION 3.0)
+cmake_minimum_required (VERSION 3.15...4.0)
project (hello_bson LANGUAGES C)
--- a/src/libbson/examples/cmake/find_package_static/CMakeLists.txt
+++ b/src/libbson/examples/cmake/find_package_static/CMakeLists.txt
@@ -15,7 +15,7 @@
# Demonstrates how to use the CMake 'find_package' mechanism to locate
# and build against libbson.
-cmake_minimum_required (VERSION 2.8)
+cmake_minimum_required (VERSION 3.15...4.0)
project (hello_bson LANGUAGES C)
--- a/src/libmongoc/CMakeLists.txt
+++ b/src/libmongoc/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required (VERSION 3.15)
+cmake_minimum_required (VERSION 3.15...4.0)
project (libmongoc
LANGUAGES C
--- a/src/libmongoc/examples/cmake-deprecated/find_package/CMakeLists.txt
+++ b/src/libmongoc/examples/cmake-deprecated/find_package/CMakeLists.txt
@@ -15,7 +15,7 @@
# Demonstrates how to use the CMake 'find_package' mechanism to locate
# and build against libmongoc.
-cmake_minimum_required (VERSION 2.8)
+cmake_minimum_required (VERSION 3.15)
project (hello_mongoc LANGUAGES C)
--- a/src/libmongoc/examples/cmake-deprecated/find_package_static/CMakeLists.txt
+++ b/src/libmongoc/examples/cmake-deprecated/find_package_static/CMakeLists.txt
@@ -15,7 +15,7 @@
# Demonstrates how to use the CMake 'find_package' mechanism to locate
# and build against libmongoc.
-cmake_minimum_required (VERSION 2.8)
+cmake_minimum_required (VERSION 3.15)
project (hello_mongoc LANGUAGES C)
--- a/src/libmongoc/examples/cmake/find_package/CMakeLists.txt
+++ b/src/libmongoc/examples/cmake/find_package/CMakeLists.txt
@@ -15,7 +15,7 @@
# Demonstrates how to use the CMake 'find_package' mechanism to locate
# and build against libmongoc.
-cmake_minimum_required (VERSION 3.0)
+cmake_minimum_required (VERSION 3.15...4.0)
project (hello_mongoc LANGUAGES C)
--- a/src/libmongoc/examples/cmake/find_package_static/CMakeLists.txt
+++ b/src/libmongoc/examples/cmake/find_package_static/CMakeLists.txt
@@ -15,7 +15,7 @@
# Demonstrates how to use the CMake 'find_package' mechanism to locate
# and build against libmongoc.
-cmake_minimum_required (VERSION 3.0)
+cmake_minimum_required (VERSION 3.15...4.0)
project (hello_mongoc LANGUAGES C)
--- a/src/libmongoc/examples/cmake/vcpkg/CMakeLists.txt
+++ b/src/libmongoc/examples/cmake/vcpkg/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.15)
+cmake_minimum_required (VERSION 3.15...4.0)
project(vcpkg-example-project)
find_package(mongoc CONFIG REQUIRED)
--- a/src/libmongoc/tests/cmake-import/CMakeLists.txt
+++ b/src/libmongoc/tests/cmake-import/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.15)
+cmake_minimum_required (VERSION 3.15...4.0)
project(ImportTestProject)
include(CTest)
--- a/src/zlib-1.3.1/CMakeLists.txt
+++ b/src/zlib-1.3.1/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.4.4...3.15.0)
+cmake_minimum_required(VERSION 3.15.0)
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
project(zlib C)
--- a/src/kms-message/CMakeLists.txt
+++ b/src/kms-message/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required (VERSION 3.5)
+cmake_minimum_required (VERSION 3.15...4.0)
project (kms_message
VERSION 0.0.1
LANGUAGES C

Some files were not shown because too many files have changed in this diff Show More