Compare commits
	
		
			478 Commits
		
	
	
		
			cb3f7b6d5c
			...
			main
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| cf509a9900 | |||
| 05847b18f1 | |||
| b46bc97782 | |||
| 3a93d52e7d | |||
| 66adfd38a0 | |||
| bb3c564868 | |||
| 22bf68fce3 | |||
| 089b435d52 | |||
| f77997a8b1 | |||
| 5379c9f4de | |||
| 03f74ef951 | |||
| 7f63b7011b | |||
| 948e8fda45 | |||
| 958a8c9827 | |||
| af9e666648 | |||
| 0c53874a63 | |||
| 229c6fcb3e | |||
| 25fda6cdfc | |||
| 1dd3f5cfe6 | |||
| 9ec4dfe05a | |||
| 714d0b092a | |||
| e57bdae767 | |||
| 7a9993f852 | |||
| 1d89bc4211 | |||
| 728ab5ef13 | |||
| cac773ad0e | |||
| 5a0ccc7e1f | |||
| 7573325668 | |||
| d0414b7994 | |||
| 33bba7b3f3 | |||
| 0bf538d486 | |||
| 0a3601bf16 | |||
| 1c025ed03a | |||
| ff1202d171 | |||
| a500af9cdb | |||
| 6a89c517c8 | |||
| 61ed3aba26 | |||
| ad3c054e69 | |||
| 89340f1a0c | |||
| f0b1a20bc8 | |||
| a63c42cdfd | |||
| d6fb6280c5 | |||
| eac0d0dbf0 | |||
| 1cf7d7802b | |||
| cdb3eed64d | |||
| e601519a5a | |||
| 067b432856 | |||
| 9fd084c297 | |||
| a78fc71ad4 | |||
| 5711c93437 | |||
| e5d8211833 | |||
| c7d8423e53 | |||
| 92e546c2c6 | |||
| d0aefdd1fd | |||
| 12537a2eaa | |||
| 63c65e6742 | |||
| c49304f6c9 | |||
| 63371b48e7 | |||
| bfe8b3d417 | |||
| 000a1fab68 | |||
| d372b06a5a | |||
| 726789c4f0 | |||
| f24eb89380 | |||
| 940383d3c5 | |||
| 6867dbd1cf | |||
| a1e14eb551 | |||
| d0bd08afd7 | |||
| f966ebb261 | |||
| dddfde2022 | |||
| 52ddf32299 | |||
| d0a971040c | |||
| efa6126076 | |||
| 82c12b2341 | |||
| d0ad97eec8 | |||
| 9ab68b1bf2 | |||
| 3aa2ae6c1b | |||
| 9fb465cae4 | |||
| d1f41316a2 | |||
| 1dfc0f2167 | |||
| 2f37b70508 | |||
| dadb838313 | |||
| 02ae36bb47 | |||
| 3e52eb10d5 | |||
| 4ab380a405 | |||
| 7c5d982f3f | |||
| 9bcea35893 | |||
| 087c4ca311 | |||
| c415f64f65 | |||
| 75a62f600f | |||
| 7e1ba411dd | |||
| 3d67332018 | |||
| a795443578 | |||
| 0a66a5635e | |||
| 0657a0ff49 | |||
| f56ed735a0 | |||
| 6d0548c028 | |||
| cb97dd4739 | |||
| 1db773241a | |||
| 2c704daf1d | |||
| 9487fe22d8 | |||
| 4075801cb5 | |||
| 8046ba7502 | |||
| 283cbf65ea | |||
| a55b727590 | |||
| e676a16bc4 | |||
| 1add46f0c1 | |||
| d18b34dfb3 | |||
| 329fe1fe90 | |||
| 864d9a3f8a | |||
| ef6ad0040c | |||
| 5da9f07c05 | |||
| 4444949d58 | |||
| 96772d9b66 | |||
| b571427429 | |||
| abbda3f701 | |||
| 1a7a3a7ecf | |||
| ebc7d420e7 | |||
| fb7d45bc3d | |||
| aeb6fbe34e | |||
| dada1fc5ce | |||
| f3067850e8 | |||
| 966a7f96fa | |||
| 2ee933af85 | |||
| 595982e4cb | |||
| 47e7b1da90 | |||
| 7b9e4397ed | |||
| 4e258a1599 | |||
| 00aac76d11 | |||
| 2948003cdc | |||
| 159d61f161 | |||
| 6a90c9af59 | |||
| ad22304a63 | |||
| 5541c03700 | |||
| 34c3105b84 | |||
| 9e2efadd1c | |||
| c2a41f091e | |||
| d524664c38 | |||
| 1da9e36a1a | |||
| b7aa1f2e70 | |||
| 2d3920dd89 | |||
| 403c700a49 | |||
| de1117886a | |||
| a5bf0a0402 | |||
| cdfcfe78b2 | |||
| e622843475 | |||
| e1c96a1978 | |||
| fbcb1d3bb8 | |||
| 662a41cd01 | |||
| 626ca68358 | |||
| 9d7bf9b364 | |||
| 0ecbee4bbd | |||
| c58055499b | |||
| 88722430ed | |||
| f776862fd2 | |||
| 92504c1c00 | |||
| 0fb7b3f09d | |||
| f83e376a53 | |||
| 6f8c769dfa | |||
| a9f98e0c9a | |||
| d311f6a293 | |||
| ef4ecb830f | |||
| 78c2cbd195 | |||
| e3687455e4 | |||
| a16f047b30 | |||
| e5d5ad4d94 | |||
| 0512a7e3a3 | |||
| 040134f5b2 | |||
| b360af06a9 | |||
| 62b49ec482 | |||
| 6f3e41662d | |||
| e631839318 | |||
| 5d71012c2d | |||
| 602417250d | |||
| 8993dd075b | |||
| 88bd423204 | |||
| 5cc053875f | |||
| 04642ca6f6 | |||
| 9a851e23bd | |||
| 6d4b7f8bba | |||
| ade75f86ff | |||
| 23324988ac | |||
| 057b5afc26 | |||
| f4f071f890 | |||
| 6d44a3eddf | |||
| 441892bc3d | |||
| e026074dac | |||
| 5892ffabe3 | |||
| 9267591109 | |||
| adbb4ea444 | |||
| ea5de217c0 | |||
| de14b751c6 | |||
| d620cf6b4f | |||
| a6a924e808 | |||
| 3f2036bf6d | |||
| eed5e0f7b3 | |||
| c47ac8d562 | |||
| 0d79d4ba69 | |||
| e85a4f35de | |||
| 0dd32babce | |||
| 6452dd8efb | |||
| 1afe3e5d08 | |||
| 95e4663968 | |||
| 5f3651dab4 | |||
| ee33e935c7 | |||
| 3ec35b706e | |||
| 897da73489 | |||
| 14426d85bb | |||
| 50976c650d | |||
| 3be784dbc2 | |||
| 813324109f | |||
| 4c9b82680e | |||
| 3887b81bd7 | |||
| 3201c0b3f4 | |||
| bf6335f804 | |||
| 0f058465d3 | |||
| 5ec920778a | |||
| a78b0b860c | |||
| 0e95b91953 | |||
| d7904ebfdb | |||
| 0ece479d4b | |||
| 456262ff7b | |||
| 478bfcff2d | |||
| b42212354f | |||
| 58d7ed5be4 | |||
| f3e586d3b6 | |||
| 12edae6bef | |||
| d286bd20ad | |||
| 20b46776f1 | |||
| 196defa264 | |||
| 148a4f8dd7 | |||
| be3cf70d1a | |||
| 1f7ff865cd | |||
| fc8c98c39a | |||
| eda630e4b2 | |||
| c75c4b914c | |||
| 9941b08cb5 | |||
| 83f727445f | |||
| 22063264f4 | |||
| fb4fcdca2b | |||
| cdb55721c8 | |||
| cec770b120 | |||
| 59b3658281 | |||
| 8660a0ae86 | |||
| a3be220c85 | |||
| 1d2885fbf9 | |||
| 66fd904640 | |||
| 9cf87dd318 | |||
| 45aadb32ea | |||
| 31fdcd5f79 | |||
| 85a2e481e3 | |||
| 44a9d02f87 | |||
| a5027e1c9e | |||
| eb35f025aa | |||
| e658d61f13 | |||
| 3e9c691316 | |||
| 68b96b1f2e | |||
| 4b78c7ceb6 | |||
| 360d56fbce | |||
| c7ee2425ee | |||
| 0ec3552ce2 | |||
| 994b448b18 | |||
| b3177c95f3 | |||
| 5e911f8366 | |||
| 582220d3ad | |||
| 171d8a9b7b | |||
| 8fe813c80f | |||
| 203e31cda5 | |||
| 3bc4b1708f | |||
| 360db7b1ab | |||
| 94ebf5ce48 | |||
| e800a863bf | |||
| 4368c5f7d0 | |||
| 6b974d959a | |||
| 515cc1e59d | |||
| 3eaf2ae1ad | |||
| c6fa8d4a86 | |||
| 70225f405e | |||
| 7da2eed08e | |||
| 307203176a | |||
| 98941761be | |||
| f6effdf31c | |||
| b7bc74f68e | |||
| 21803c47cc | |||
| afa7c21d94 | |||
| 2587acd24c | |||
| fdf1e23e36 | |||
| 5b039875f0 | |||
| 442524fc45 | |||
| e0b4b09600 | |||
| d644135c79 | |||
| 3e741a8c5f | |||
| 84aa05439d | |||
| eebcd4d28b | |||
| eab7d16461 | |||
| 6d151cad50 | |||
| c98a7cf6ae | |||
| 8fd0f197f5 | |||
| bfd294583c | |||
| 645e1aa275 | |||
| 269ce392fc | |||
| 8d9df8edb5 | |||
| 57dd8a01c0 | |||
| 54b8162128 | |||
| ded6e7b355 | |||
| 8075f07210 | |||
| 59f111c889 | |||
| 217fbbe8fe | |||
| 87785e6981 | |||
| e6e3511490 | |||
| 8ea1dd7711 | |||
| 512e0af4c7 | |||
| 96ee879edd | |||
| 90e0a5af34 | |||
| 0bce97407f | |||
| 54afe9377f | |||
| 39d0c4bb16 | |||
| 78c6b9cfcb | |||
| 26950b0767 | |||
| 7e7593fc57 | |||
| 46ea85fce4 | |||
| d823c2e168 | |||
| 5e13366582 | |||
| b326747158 | |||
| 647f07acc8 | |||
| 4af4ace725 | |||
| 5e61225cf1 | |||
| 4247ecd8ae | |||
| 0742947528 | |||
| a58474841e | |||
| e463189d82 | |||
| ebe952671e | |||
| a9bab0ab24 | |||
| dec2483ec8 | |||
| 31a70a95d0 | |||
| 5806fb08e2 | |||
| 0cc8df06a8 | |||
| 5b3d88618c | |||
| 99b0269979 | |||
| 8d82e18bbd | |||
| 4410ffc5ad | |||
| 5259c2f9d1 | |||
| a14591e59e | |||
| 6856c25916 | |||
| fb746c5923 | |||
| a4cb5f1e58 | |||
| 332d53bda1 | |||
| 27479ea41d | |||
| 22f7180b65 | |||
| 6a25b04934 | |||
| c239254473 | |||
| 739223b5de | |||
| 55b012b0a3 | |||
| b7013c20fd | |||
| 7fef909268 | |||
| 9d21662f4f | |||
| 7fa2ee1b65 | |||
| 0cfde3c0cf | |||
| 38bc40179f | |||
| cf35e3d9f3 | |||
| c7ef7152b8 | |||
| b96824b2cf | |||
| d20b79f7af | |||
| edeabe67e9 | |||
| 1f7ddfdbb0 | |||
| 8ab5ce574b | |||
| b4801f2407 | |||
| 790a15d83e | |||
| 52cc6d125b | |||
| 3d91b58d93 | |||
| 9a0117c755 | |||
| 1cf313876e | |||
| 463119a925 | |||
| e21a5c6809 | |||
| 854e1de3e1 | |||
| d5551df3b2 | |||
| e8259ac6b8 | |||
| 604cdc1471 | |||
| e8bd876824 | |||
| 3bbce25294 | |||
| 9a1551004a | |||
| b142cb651a | |||
| 3ce0a78760 | |||
| e5ffe7eca6 | |||
| e78bbbf248 | |||
| 59d402d2e8 | |||
| a298269c8e | |||
| 154146e5dc | |||
| 3a3b887758 | |||
| 16b105d1e6 | |||
| 499d3a5c7c | |||
| df68f27d1c | |||
| ccc914a7bb | |||
| bc1580781a | |||
| a5114bb6a3 | |||
| 123087aa06 | |||
| 19e3768c10 | |||
| df53d9636f | |||
| f84cef3a7f | |||
| 8e47e994ae | |||
| dedf9e0d4a | |||
| 871bc19cf0 | |||
| 4961859465 | |||
| 6eceedba96 | |||
| cf83d0fbb6 | |||
| c900f1d524 | |||
| d7ef2cac67 | |||
| ac2f847bd9 | |||
| 62ae015b35 | |||
| 922972b17a | |||
| 9fdeccf26a | |||
| 6894485926 | |||
| dc724f4303 | |||
| 497b2165e5 | |||
| 778d3cf61b | |||
| 274a1ca377 | |||
| e690293a31 | |||
| 50481ec04f | |||
| 5abcaeee26 | |||
| 3160615f98 | |||
| f64c6266e7 | |||
| 3ef1c19c85 | |||
| 6d67032b2b | |||
| 09fbccd427 | |||
| f18522740a | |||
| 66c868abd0 | |||
| 245ef97700 | |||
| 9defca04e2 | |||
| 2f1adb5c63 | |||
| cdf4b73806 | |||
| 6f1cf9f9bb | |||
| 35d63f7260 | |||
| ff8a2ebf63 | |||
| 9a19ffcbdb | |||
| a50691f316 | |||
| 5de428735c | |||
| b0b8aa9456 | |||
| 4ea66e22be | |||
| da197ee410 | |||
| d06c175837 | |||
| 158a86af2a | |||
| 921566493c | |||
| c5df2b4b6e | |||
| eb8c372ed9 | |||
| 77fca9c667 | |||
| dc1e93be0a | |||
| ff1d428fd7 | |||
| 6620a35f85 | |||
| 607f5b5692 | |||
| a03a78baca | |||
| cc08517a36 | |||
| 61cf594654 | |||
| c34feb13e2 | |||
| a4e3dd041a | |||
| 2332ec5074 | |||
| 7d1fb3067d | |||
| 509b398bd0 | |||
| fadbc1d0c7 | |||
| b8d4439b5b | |||
| c7690e78d0 | |||
| 2f94c70fb6 | |||
| e6e3be6616 | |||
| 9809350047 | |||
| 9d8d0cb23a | |||
| 663e137198 | |||
| bd051caf10 | |||
| eadad31d21 | |||
| 93f7dd0ff8 | |||
| 5a673bbc29 | |||
| a9bcf8c921 | |||
| 30568c811f | |||
| 62caa771d8 | |||
| 5e86854d9b | |||
| 27007b4250 | |||
| a876ec04b9 | |||
| 9b0300083a | |||
| bb89402e9d | |||
| 0d76176190 | |||
| dcf813dc58 | 
							
								
								
									
										9
									
								
								acct-group/grafana/grafana-0.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								acct-group/grafana/grafana-0.ebuild
									
									
									
									
									
										Normal 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 | ||||||
							
								
								
									
										8
									
								
								acct-group/minio/minio-0-r2.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								acct-group/minio/minio-0-r2.ebuild
									
									
									
									
									
										Normal 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 | ||||||
							
								
								
									
										12
									
								
								acct-user/grafana/grafana-0.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								acct-user/grafana/grafana-0.ebuild
									
									
									
									
									
										Normal 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 | ||||||
							
								
								
									
										13
									
								
								acct-user/minio/minio-0-r2.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								acct-user/minio/minio-0-r2.ebuild
									
									
									
									
									
										Normal 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 | ||||||
							
								
								
									
										1
									
								
								app-admin/mongo-tools/Manifest
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								app-admin/mongo-tools/Manifest
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | DIST mongo-tools-100.9.5.tar.gz 5130120 BLAKE2B 8873e1dbc9aa6a3b181551e620f1a7c646510753c7756d93bc6884256cf06011d1f0357f4e8070a61d46f7488f8b52eef34bbef35c6773ea781fe3e259a2487c SHA512 8aa6c01e6d6a73c74a7ffd405dd1159085d5896efa42b16aa5d1fa7e67e59fedac66deda42cd2136f27d9957256be28e4ff8cc2c90429450cc772af1ae5efbe1 | ||||||
							
								
								
									
										12
									
								
								app-admin/mongo-tools/metadata.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								app-admin/mongo-tools/metadata.xml
									
									
									
									
									
										Normal 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> | ||||||
							
								
								
									
										57
									
								
								app-admin/mongo-tools/mongo-tools-100.9.5.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								app-admin/mongo-tools/mongo-tools-100.9.5.ebuild
									
									
									
									
									
										Normal 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/* | ||||||
|  | } | ||||||
| @@ -1 +0,0 @@ | |||||||
| DIST certbot-1.19.0.tar.gz 1338653 BLAKE2B b6ed909da2aed9853cf3dc6b936c513f33a127548ee30ac45a32a682141c5e4e79401ea328b7caf4e28d1d85aa2a9831e93deaa26c93216708a33be465dc8387 SHA512 2c1beb8c06299b9003fafd970cd3e977db85c4e84f1bf710166b7a99035b5c43a2a222d8d51513ac595255dd8eda02a1fb834c01ce68921927715c880052536e |  | ||||||
| @@ -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 |  | ||||||
| @@ -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 |  | ||||||
| @@ -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
									
								
							
							
						
						
									
										3
									
								
								dev-db/mongodb/Manifest
									
									
									
									
									
										Normal 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 | ||||||
							
								
								
									
										21
									
								
								dev-db/mongodb/files/mongodb-4.4.1-boost.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								dev-db/mongodb/files/mongodb-4.4.1-boost.patch
									
									
									
									
									
										Normal 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") | ||||||
							
								
								
									
										317
									
								
								dev-db/mongodb/files/mongodb-4.4.10-boost-1.81.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										317
									
								
								dev-db/mongodb/files/mongodb-4.4.10-boost-1.81.patch
									
									
									
									
									
										Normal 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() | ||||||
							
								
								
									
										24
									
								
								dev-db/mongodb/files/mongodb-4.4.29-no-enterprise.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								dev-db/mongodb/files/mongodb-4.4.29-no-enterprise.patch
									
									
									
									
									
										Normal 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) | ||||||
							
								
								
									
										16
									
								
								dev-db/mongodb/files/mongodb-5.0.16-arm64-assert.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								dev-db/mongodb/files/mongodb-5.0.16-arm64-assert.patch
									
									
									
									
									
										Normal 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}; | ||||||
|  |   | ||||||
							
								
								
									
										71
									
								
								dev-db/mongodb/files/mongodb-5.0.2-boost-1.79.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								dev-db/mongodb/files/mongodb-5.0.2-boost-1.79.patch
									
									
									
									
									
										Normal 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> | ||||||
							
								
								
									
										32
									
								
								dev-db/mongodb/files/mongodb-5.0.2-fix-scons.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								dev-db/mongodb/files/mongodb-5.0.2-fix-scons.patch
									
									
									
									
									
										Normal 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: | ||||||
							
								
								
									
										12
									
								
								dev-db/mongodb/files/mongodb-5.0.2-no-compass.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								dev-db/mongodb/files/mongodb-5.0.2-no-compass.patch
									
									
									
									
									
										Normal 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=[ | ||||||
							
								
								
									
										13
									
								
								dev-db/mongodb/files/mongodb-5.0.2-skip-no-exceptions.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								dev-db/mongodb/files/mongodb-5.0.2-skip-no-exceptions.patch
									
									
									
									
									
										Normal 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') | ||||||
							
								
								
									
										24
									
								
								dev-db/mongodb/files/mongodb-5.0.2-skip-reqs-check.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								dev-db/mongodb/files/mongodb-5.0.2-skip-reqs-check.patch
									
									
									
									
									
										Normal 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 | ||||||
							
								
								
									
										16
									
								
								dev-db/mongodb/files/mongodb-5.0.26-boost-1.85-extra.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								dev-db/mongodb/files/mongodb-5.0.26-boost-1.85-extra.patch
									
									
									
									
									
										Normal 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); | ||||||
|  |  | ||||||
							
								
								
									
										130
									
								
								dev-db/mongodb/files/mongodb-5.0.26-boost-1.85.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								dev-db/mongodb/files/mongodb-5.0.26-boost-1.85.patch
									
									
									
									
									
										Normal 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> | ||||||
|  |  | ||||||
| @@ -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)); | ||||||
							
								
								
									
										27
									
								
								dev-db/mongodb/files/mongodb-5.0.26-scons.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								dev-db/mongodb/files/mongodb-5.0.26-scons.patch
									
									
									
									
									
										Normal 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': | ||||||
							
								
								
									
										12
									
								
								dev-db/mongodb/files/mongodb-5.0.30-gcc-11.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								dev-db/mongodb/files/mongodb-5.0.30-gcc-11.patch
									
									
									
									
									
										Normal 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" | ||||||
							
								
								
									
										13
									
								
								dev-db/mongodb/files/mongodb-5.0.30-gcc-15.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								dev-db/mongodb/files/mongodb-5.0.30-gcc-15.patch
									
									
									
									
									
										Normal 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> | ||||||
							
								
								
									
										11
									
								
								dev-db/mongodb/files/mongodb-5.0.5-boost-1.81-extra.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								dev-db/mongodb/files/mongodb-5.0.5-boost-1.81-extra.patch
									
									
									
									
									
										Normal 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 { | ||||||
							
								
								
									
										49
									
								
								dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch
									
									
									
									
									
										Normal 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, | ||||||
|  |      }) | ||||||
							
								
								
									
										81
									
								
								dev-db/mongodb/files/mongodb-6.0.21-boost-1.79.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								dev-db/mongodb/files/mongodb-6.0.21-boost-1.79.patch
									
									
									
									
									
										Normal 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> | ||||||
							
								
								
									
										15
									
								
								dev-db/mongodb/files/mongodb-6.0.21-boost-1.85.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								dev-db/mongodb/files/mongodb-6.0.21-boost-1.85.patch
									
									
									
									
									
										Normal 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); | ||||||
| @@ -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 | ||||||
|  |  | ||||||
| @@ -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 | ||||||
|  |  | ||||||
							
								
								
									
										12
									
								
								dev-db/mongodb/files/mongodb-6.0.21-gcc-11.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								dev-db/mongodb/files/mongodb-6.0.21-gcc-11.patch
									
									
									
									
									
										Normal 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" | ||||||
							
								
								
									
										12
									
								
								dev-db/mongodb/files/mongodb-6.0.21-gcc-12.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								dev-db/mongodb/files/mongodb-6.0.21-gcc-12.patch
									
									
									
									
									
										Normal 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" | ||||||
							
								
								
									
										12
									
								
								dev-db/mongodb/files/mongodb-6.0.21-gcc-13.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								dev-db/mongodb/files/mongodb-6.0.21-gcc-13.patch
									
									
									
									
									
										Normal 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 { | ||||||
| @@ -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)); | ||||||
							
								
								
									
										93
									
								
								dev-db/mongodb/files/mongodb-6.0.21-sconstruct-changes.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								dev-db/mongodb/files/mongodb-6.0.21-sconstruct-changes.patch
									
									
									
									
									
										Normal 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") | ||||||
							
								
								
									
										13
									
								
								dev-db/mongodb/files/mongodb-7.0.15-gcc-15.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								dev-db/mongodb/files/mongodb-7.0.15-gcc-15.patch
									
									
									
									
									
										Normal 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> | ||||||
							
								
								
									
										149
									
								
								dev-db/mongodb/files/mongodb-7.0.15-sconstruct.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										149
									
								
								dev-db/mongodb/files/mongodb-7.0.15-sconstruct.patch
									
									
									
									
									
										Normal 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") | ||||||
							
								
								
									
										320
									
								
								dev-db/mongodb/files/mongodb-7.0.15-system-boost.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										320
									
								
								dev-db/mongodb/files/mongodb-7.0.15-system-boost.patch
									
									
									
									
									
										Normal 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> | ||||||
							
								
								
									
										12
									
								
								dev-db/mongodb/files/mongodb-7.0.18-system-pcre.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								dev-db/mongodb/files/mongodb-7.0.18-system-pcre.patch
									
									
									
									
									
										Normal 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)                             \ | ||||||
							
								
								
									
										34
									
								
								dev-db/mongodb/files/mongodb.conf-r3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								dev-db/mongodb/files/mongodb.conf-r3
									
									
									
									
									
										Normal 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: | ||||||
							
								
								
									
										36
									
								
								dev-db/mongodb/files/mongodb.conf-r4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								dev-db/mongodb/files/mongodb.conf-r4
									
									
									
									
									
										Normal 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: | ||||||
							
								
								
									
										11
									
								
								dev-db/mongodb/files/mongodb.confd-r3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								dev-db/mongodb/files/mongodb.confd-r3
									
									
									
									
									
										Normal 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) | ||||||
							
								
								
									
										19
									
								
								dev-db/mongodb/files/mongodb.initd-r3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								dev-db/mongodb/files/mongodb.initd-r3
									
									
									
									
									
										Normal 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 | ||||||
|  | } | ||||||
							
								
								
									
										13
									
								
								dev-db/mongodb/files/mongodb.logrotate
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								dev-db/mongodb/files/mongodb.logrotate
									
									
									
									
									
										Normal 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 | ||||||
|  | } | ||||||
							
								
								
									
										12
									
								
								dev-db/mongodb/files/mongodb.service-r1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								dev-db/mongodb/files/mongodb.service-r1
									
									
									
									
									
										Normal 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 | ||||||
							
								
								
									
										2
									
								
								dev-db/mongodb/files/mongodb.tmpfiles
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								dev-db/mongodb/files/mongodb.tmpfiles
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | d /var/log/mongodb 0750 mongodb mongodb - | ||||||
|  | d /run/mongodb 0750 mongodb mongodb - | ||||||
							
								
								
									
										30
									
								
								dev-db/mongodb/files/mongos.conf-r2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								dev-db/mongodb/files/mongos.conf-r2
									
									
									
									
									
										Normal 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: | ||||||
							
								
								
									
										32
									
								
								dev-db/mongodb/files/mongos.conf-r3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								dev-db/mongodb/files/mongos.conf-r3
									
									
									
									
									
										Normal 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: | ||||||
							
								
								
									
										11
									
								
								dev-db/mongodb/files/mongos.confd-r3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								dev-db/mongodb/files/mongos.confd-r3
									
									
									
									
									
										Normal 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) | ||||||
							
								
								
									
										18
									
								
								dev-db/mongodb/files/mongos.initd-r3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								dev-db/mongodb/files/mongos.initd-r3
									
									
									
									
									
										Normal 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 | ||||||
|  | } | ||||||
							
								
								
									
										24
									
								
								dev-db/mongodb/metadata.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								dev-db/mongodb/metadata.xml
									
									
									
									
									
										Normal 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> | ||||||
							
								
								
									
										211
									
								
								dev-db/mongodb/mongodb-6.0.25.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										211
									
								
								dev-db/mongodb/mongodb-6.0.25.ebuild
									
									
									
									
									
										Normal 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" | ||||||
|  | } | ||||||
							
								
								
									
										212
									
								
								dev-db/mongodb/mongodb-7.0.18.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										212
									
								
								dev-db/mongodb/mongodb-7.0.18.ebuild
									
									
									
									
									
										Normal 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 | ||||||
|  | } | ||||||
							
								
								
									
										1
									
								
								dev-db/postgresql/Manifest
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dev-db/postgresql/Manifest
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | DIST postgresql-17.6.tar.bz2 21623975 BLAKE2B 9287eab85e17a65333d970bf7d4d254e25295615b4787072ff2a6c705cb66b7775dbe3a0c6b6fa3e2ab37c3278d204ccfdd3e587226d4c1d6363868569149216 SHA512 d377ed208b3fd1bf9611f148f4286e8c655374218cc3b12cd766917063001750f7dede140065874b7c8bdc2f2b3ecaf15c18cc6cd341929b2c3a574a7797a67e | ||||||
							
								
								
									
										146
									
								
								dev-db/postgresql/files/postgresql-17.0-no-server.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										146
									
								
								dev-db/postgresql/files/postgresql-17.0-no-server.patch
									
									
									
									
									
										Normal 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 | ||||||
							
								
								
									
										36
									
								
								dev-db/postgresql/files/postgresql-17.6-llvm21.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								dev-db/postgresql/files/postgresql-17.6-llvm21.patch
									
									
									
									
									
										Normal 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 | ||||||
|  |  | ||||||
							
								
								
									
										35
									
								
								dev-db/postgresql/files/postgresql-check-db-dir
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								dev-db/postgresql/files/postgresql-check-db-dir
									
									
									
									
									
										Normal 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 | ||||||
							
								
								
									
										65
									
								
								dev-db/postgresql/files/postgresql.confd-9.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								dev-db/postgresql/files/postgresql.confd-9.3
									
									
									
									
									
										Normal 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" | ||||||
							
								
								
									
										204
									
								
								dev-db/postgresql/files/postgresql.init-9.3-r1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										204
									
								
								dev-db/postgresql/files/postgresql.init-9.3-r1
									
									
									
									
									
										Normal 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} | ||||||
|  | } | ||||||
							
								
								
									
										52
									
								
								dev-db/postgresql/files/postgresql.service-9.6-r1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								dev-db/postgresql/files/postgresql.service-9.6-r1
									
									
									
									
									
										Normal 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 | ||||||
							
								
								
									
										1
									
								
								dev-db/postgresql/files/postgresql.tmpfiles
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dev-db/postgresql/files/postgresql.tmpfiles
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | d /run/postgresql 1775 root postgres - | ||||||
							
								
								
									
										24
									
								
								dev-db/postgresql/metadata.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								dev-db/postgresql/metadata.xml
									
									
									
									
									
										Normal 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> | ||||||
							
								
								
									
										483
									
								
								dev-db/postgresql/postgresql-17.6-r2.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										483
									
								
								dev-db/postgresql/postgresql-17.6-r2.ebuild
									
									
									
									
									
										Normal 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 | ||||||
|  | } | ||||||
| @@ -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 | ||||||
|   | |||||||
							
								
								
									
										70
									
								
								dev-db/timescaledb/timescaledb-2.19.3.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								dev-db/timescaledb/timescaledb-2.19.3.ebuild
									
									
									
									
									
										Normal 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 | ||||||
|  | } | ||||||
							
								
								
									
										70
									
								
								dev-db/timescaledb/timescaledb-2.20.3.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								dev-db/timescaledb/timescaledb-2.20.3.ebuild
									
									
									
									
									
										Normal 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 | ||||||
|  | } | ||||||
| @@ -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
									
								
							
							
						
						
									
										2
									
								
								dev-go/wire/Manifest
									
									
									
									
									
										Normal 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 | ||||||
							
								
								
									
										38
									
								
								dev-go/wire/wire-0.7.0.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								dev-go/wire/wire-0.7.0.ebuild
									
									
									
									
									
										Normal 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 | ||||||
|  | } | ||||||
							
								
								
									
										1
									
								
								dev-java/slf4j-api/Manifest
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dev-java/slf4j-api/Manifest
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | DIST slf4j-1.7.36.tar.gz 2276203 BLAKE2B 930de76047c694b4e566ba743ee90a2efb062358b03209137f686c4bf4ead122aa84c18b79615e5a67f1a890abdc1b8f70f62b7803f7b8e45c766ff8254836d4 SHA512 1384c771aa04d9d351854cf8ddeef66ee9f43df53890a05413c48c14cf1cb78a457bb4b2a6e2f064f1c1ab68b2eaa1d326fc03bb6b7c145915660a2c873692d0 | ||||||
							
								
								
									
										12
									
								
								dev-java/slf4j-api/metadata.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								dev-java/slf4j-api/metadata.xml
									
									
									
									
									
										Normal 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> | ||||||
							
								
								
									
										62
									
								
								dev-java/slf4j-api/slf4j-api-1.7.36.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								dev-java/slf4j-api/slf4j-api-1.7.36.ebuild
									
									
									
									
									
										Normal 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 | ||||||
|  | } | ||||||
							
								
								
									
										1
									
								
								dev-java/slf4j-ext/Manifest
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dev-java/slf4j-ext/Manifest
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | DIST slf4j-1.7.36.tar.gz 2276203 BLAKE2B 930de76047c694b4e566ba743ee90a2efb062358b03209137f686c4bf4ead122aa84c18b79615e5a67f1a890abdc1b8f70f62b7803f7b8e45c766ff8254836d4 SHA512 1384c771aa04d9d351854cf8ddeef66ee9f43df53890a05413c48c14cf1cb78a457bb4b2a6e2f064f1c1ab68b2eaa1d326fc03bb6b7c145915660a2c873692d0 | ||||||
							
								
								
									
										8
									
								
								dev-java/slf4j-ext/metadata.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								dev-java/slf4j-ext/metadata.xml
									
									
									
									
									
										Normal 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> | ||||||
							
								
								
									
										74
									
								
								dev-java/slf4j-ext/slf4j-ext-1.7.36.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								dev-java/slf4j-ext/slf4j-ext-1.7.36.ebuild
									
									
									
									
									
										Normal 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 | ||||||
|  | } | ||||||
| @@ -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 | # Distributed under the terms of the GNU General Public License v2 | ||||||
|  |  | ||||||
| # Skeleton command: | # 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" | SRC_URI="https://github.com/qos-ch/slf4j/archive/refs/tags/v_${PV}.tar.gz -> ${P}-sources.tar.gz" | ||||||
| LICENSE="MIT" | LICENSE="MIT" | ||||||
| SLOT="0" | SLOT="0" | ||||||
| KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" | KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" | ||||||
|  |  | ||||||
| # Common dependencies | # Common dependencies | ||||||
| # POM: pom.xml | # POM: pom.xml | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								dev-java/slf4j-nop/Manifest
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dev-java/slf4j-nop/Manifest
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | DIST slf4j-1.7.36.tar.gz 2276203 BLAKE2B 930de76047c694b4e566ba743ee90a2efb062358b03209137f686c4bf4ead122aa84c18b79615e5a67f1a890abdc1b8f70f62b7803f7b8e45c766ff8254836d4 SHA512 1384c771aa04d9d351854cf8ddeef66ee9f43df53890a05413c48c14cf1cb78a457bb4b2a6e2f064f1c1ab68b2eaa1d326fc03bb6b7c145915660a2c873692d0 | ||||||
							
								
								
									
										8
									
								
								dev-java/slf4j-nop/metadata.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								dev-java/slf4j-nop/metadata.xml
									
									
									
									
									
										Normal 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> | ||||||
							
								
								
									
										58
									
								
								dev-java/slf4j-nop/slf4j-nop-1.7.36.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								dev-java/slf4j-nop/slf4j-nop-1.7.36.ebuild
									
									
									
									
									
										Normal 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 | ||||||
|  | } | ||||||
							
								
								
									
										1
									
								
								dev-java/slf4j-simple/Manifest
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dev-java/slf4j-simple/Manifest
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | DIST slf4j-1.7.36.tar.gz 2276203 BLAKE2B 930de76047c694b4e566ba743ee90a2efb062358b03209137f686c4bf4ead122aa84c18b79615e5a67f1a890abdc1b8f70f62b7803f7b8e45c766ff8254836d4 SHA512 1384c771aa04d9d351854cf8ddeef66ee9f43df53890a05413c48c14cf1cb78a457bb4b2a6e2f064f1c1ab68b2eaa1d326fc03bb6b7c145915660a2c873692d0 | ||||||
							
								
								
									
										12
									
								
								dev-java/slf4j-simple/metadata.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								dev-java/slf4j-simple/metadata.xml
									
									
									
									
									
										Normal 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> | ||||||
							
								
								
									
										77
									
								
								dev-java/slf4j-simple/slf4j-simple-1.7.36.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								dev-java/slf4j-simple/slf4j-simple-1.7.36.ebuild
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										1
									
								
								dev-lang/php/Manifest
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | DIST php-7.4.33-patches-2.tar.xz 21128 BLAKE2B 65d5dee974c2c3ea223dc00591674ee4b596bf082ed9554392f96de00c10606f2408f4053bfe769cdeb7a08bb816cb7a0ae19c30ae878d6c5e50c3d411e76b34 SHA512 e7d990490ace3f69ff7e41e7e1ccb940b39dda43e888d1b59b7217893cabd91117d00ae5e8f95e4a4e1fa147457f302248d9ac19398eab85099f39599f8d9fd3 | ||||||
							
								
								
									
										2
									
								
								dev-lang/php/files/20php5-envd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								dev-lang/php/files/20php5-envd
									
									
									
									
									
										Normal 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/" | ||||||
							
								
								
									
										13
									
								
								dev-lang/php/files/php-fpm_at-simple.service
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								dev-lang/php/files/php-fpm_at-simple.service
									
									
									
									
									
										Normal 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 | ||||||
							
								
								
									
										13
									
								
								dev-lang/php/files/php-fpm_at.service
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								dev-lang/php/files/php-fpm_at.service
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										135
									
								
								dev-lang/php/metadata.xml
									
									
									
									
									
										Normal 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> | ||||||
							
								
								
									
										761
									
								
								dev-lang/php/php-7.4.33_p20251011.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										761
									
								
								dev-lang/php/php-7.4.33_p20251011.ebuild
									
									
									
									
									
										Normal 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 | ||||||
|  | } | ||||||
| @@ -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 | # Distributed under the terms of the GNU General Public License v2 | ||||||
| 
 | 
 | ||||||
| EAPI=8 | EAPI=8 | ||||||
| 
 | 
 | ||||||
| PYTHON_COMPAT=( python3_{8,9,10} ) | PYTHON_COMPAT=( python3_{11..14} ) | ||||||
| 
 | 
 | ||||||
| RUBY_OPTIONAL="yes" | RUBY_OPTIONAL="yes" | ||||||
| USE_RUBY="ruby30" | USE_RUBY="ruby33" | ||||||
| 
 | 
 | ||||||
| PHP_EXT_NAME="IcePHP" | PHP_EXT_NAME="IcePHP" | ||||||
| PHP_EXT_INI="yes" | PHP_EXT_INI="yes" | ||||||
| @@ -14,7 +14,7 @@ PHP_EXT_ZENDEXT="no" | |||||||
| 
 | 
 | ||||||
| PHP_EXT_OPTIONAL_USE=php | 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 | 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 )" | 	doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )" | ||||||
| LICENSE="GPL-2" | LICENSE="GPL-2" | ||||||
| SLOT="0/37" | SLOT="0/37" | ||||||
| KEYWORDS="~amd64 ~arm ~x86" | KEYWORDS="amd64 ~arm ~arm64 x86" | ||||||
| IUSE="debug doc examples php python ruby test" | IUSE="debug doc examples php python ruby test" | ||||||
| RESTRICT="test" | RESTRICT="test" | ||||||
| REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" | REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" | ||||||
| @@ -37,7 +37,7 @@ RDEPEND=">=app-arch/bzip2-1.0.5 | |||||||
| 	dev-libs/openssl:0= | 	dev-libs/openssl:0= | ||||||
| 	virtual/libcrypt:= | 	virtual/libcrypt:= | ||||||
| 	python? ( ${PYTHON_DEPS} ) | 	python? ( ${PYTHON_DEPS} ) | ||||||
| 	ruby? ( $(ruby_implementation_depend ruby30) )" | 	ruby? ( $(ruby_implementation_depend ruby33) )" | ||||||
| DEPEND="${RDEPEND} | DEPEND="${RDEPEND} | ||||||
| 	test? ( | 	test? ( | ||||||
| 		${PYTHON_DEPS} | 		${PYTHON_DEPS} | ||||||
| @@ -51,7 +51,8 @@ S="${WORKDIR}/${P,}" | |||||||
| PHP_EXT_S="${S}/php" | PHP_EXT_S="${S}/php" | ||||||
| 
 | 
 | ||||||
| PATCHES=( | 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() { | pkg_setup() { | ||||||
| @@ -86,12 +87,8 @@ src_prepare() { | |||||||
| 
 | 
 | ||||||
| src_configure() { | src_configure() { | ||||||
| 	MAKE_RULES=( | 	MAKE_RULES=( | ||||||
| 		"prefix=\"${ED}/usr\"" | 		"CONFIGS=shared cpp11-shared" | ||||||
| 		"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\"" | 		"embedded_runpath_prefix=\"${EPREFIX}/usr\"" | ||||||
| 		"new_dtags=yes" |  | ||||||
| 		"OPTIMIZE=$(usex !debug)" | 		"OPTIMIZE=$(usex !debug)" | ||||||
| 		"V=1" | 		"V=1" | ||||||
| 	) | 	) | ||||||
| @@ -102,22 +99,22 @@ src_configure() { | |||||||
| 	fi | 	fi | ||||||
| 
 | 
 | ||||||
| 	if use ruby; then | 	if use ruby; then | ||||||
| 		SITERUBY="$(ruby30 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')" | 		SITERUBY="$(ruby33 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')" | ||||||
| 		SITERUBYARCH="$(ruby30 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')" | 		SITERUBYARCH="$(ruby33 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')" | ||||||
| 		MAKE_RULES_RUBY=( | 		MAKE_RULES_RUBY=( | ||||||
| 			"install_rubydir=\"${ED}/${SITERUBY}\"" | 			"install_rubydir=\"${EPREFIX}/${SITERUBY}\"" | ||||||
| 			"install_rubylibdir=\"${ED}/${SITERUBYARCH}\"" | 			"install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\"" | ||||||
| 		) | 		) | ||||||
| 
 | 
 | ||||||
| 		# make it use ruby30 only | 		# make it use ruby33 only | ||||||
| 		sed -i \ | 		sed -i \ | ||||||
| 			-e 's|RUBY ?= ruby|\030|' \ | 			-e 's|RUBY ?= ruby|\033|' \ | ||||||
| 			ruby/config/Make.rules || die | 			ruby/config/Make.rules || die | ||||||
| 		sed -i \ | 		sed -i \ | ||||||
| 			-e 's|env ruby|\030|' \ | 			-e 's|env ruby|\033|' \ | ||||||
| 			ruby/config/s2rb.rb || die | 			ruby/config/s2rb.rb || die | ||||||
| 		sed -i \ | 		sed -i \ | ||||||
| 			-e 's|env ruby|\030|' \ | 			-e 's|env ruby|\033|' \ | ||||||
| 			ruby/scripts/slice2rb || die | 			ruby/scripts/slice2rb || die | ||||||
| 	fi | 	fi | ||||||
| 
 | 
 | ||||||
| @@ -171,8 +168,8 @@ src_test() { | |||||||
| 			PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \ | 			PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \ | ||||||
| 				"${MAKE_RULES[@]}" \ | 				"${MAKE_RULES[@]}" \ | ||||||
| 				PYTHON="${EPYTHON}" \ | 				PYTHON="${EPYTHON}" \ | ||||||
| 				install_pythondir="\"${D}/$(python_get_sitedir)\"" \ | 				install_pythondir="\"$(python_get_sitedir)\"" \ | ||||||
| 				install_libdir="\"${D}/$(python_get_sitedir)\"" test | 				install_libdir="\"$(python_get_sitedir)\"" test | ||||||
| 		} | 		} | ||||||
| 		local S="${S}/python" | 		local S="${S}/python" | ||||||
| 		python_foreach_impl testing | 		python_foreach_impl testing | ||||||
| @@ -188,10 +185,17 @@ src_install() { | |||||||
| 	use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" ) | 	use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" ) | ||||||
| 	einstalldocs | 	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} | 	insinto /usr/share/${P} | ||||||
| 	doins -r slice | 	doins -r slice | ||||||
| 
 | 
 | ||||||
| 	emake -C cpp "${MAKE_RULES[@]}" install | 	emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install | ||||||
| 
 | 
 | ||||||
| 	if use examples; then | 	if use examples; then | ||||||
| 		docinto examples-cpp | 		docinto examples-cpp | ||||||
| @@ -234,6 +238,7 @@ src_install() { | |||||||
| 
 | 
 | ||||||
| 			emake -C "${BUILD_DIR}" \ | 			emake -C "${BUILD_DIR}" \ | ||||||
| 				"${MAKE_RULES[@]}" \ | 				"${MAKE_RULES[@]}" \ | ||||||
|  | 				"${MAKE_RULES_INSTALL[@]}" \ | ||||||
| 				install_pythondir="\"${D}/$(python_get_sitedir)\"" \ | 				install_pythondir="\"${D}/$(python_get_sitedir)\"" \ | ||||||
| 				install_libdir="\"${D}/$(python_get_sitedir)\"" \ | 				install_libdir="\"${D}/$(python_get_sitedir)\"" \ | ||||||
| 				install | 				install | ||||||
| @@ -244,7 +249,11 @@ src_install() { | |||||||
| 	fi | 	fi | ||||||
| 
 | 
 | ||||||
| 	if use ruby; then | 	if use ruby; then | ||||||
|  | 		MAKE_RULES_RUBY=( | ||||||
|  | 			"install_rubydir=\"${ED}/${SITERUBY}\"" | ||||||
|  | 			"install_rubylibdir=\"${ED}/${SITERUBYARCH}\"" | ||||||
|  | 		) | ||||||
| 		dodir "${SITERUBY}" | 		dodir "${SITERUBY}" | ||||||
| 		emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" install | 		emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install | ||||||
| 	fi | 	fi | ||||||
| } | } | ||||||
| @@ -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 |  | ||||||
| } |  | ||||||
| @@ -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 |  | ||||||
| } |  | ||||||
| @@ -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 | # Distributed under the terms of the GNU General Public License v2 | ||||||
|  |  | ||||||
| EAPI=8 | EAPI=8 | ||||||
|  |  | ||||||
| PYTHON_COMPAT=( python3_{8,9,10} ) | PYTHON_COMPAT=( python3_{10..12} ) | ||||||
|  |  | ||||||
| RUBY_OPTIONAL="yes" | RUBY_OPTIONAL="yes" | ||||||
| USE_RUBY="ruby31" | USE_RUBY="ruby32" | ||||||
|  |  | ||||||
| PHP_EXT_NAME="IcePHP" | PHP_EXT_NAME="IcePHP" | ||||||
| PHP_EXT_INI="yes" | PHP_EXT_INI="yes" | ||||||
| @@ -14,7 +14,7 @@ PHP_EXT_ZENDEXT="no" | |||||||
|  |  | ||||||
| PHP_EXT_OPTIONAL_USE=php | 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_REPO_URI="https://github.com/zeroc-ice/ice.git" | ||||||
| EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}" | EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}" | ||||||
| @@ -39,7 +39,7 @@ RDEPEND=">=app-arch/bzip2-1.0.5 | |||||||
| 	dev-libs/openssl:0= | 	dev-libs/openssl:0= | ||||||
| 	virtual/libcrypt:= | 	virtual/libcrypt:= | ||||||
| 	python? ( ${PYTHON_DEPS} ) | 	python? ( ${PYTHON_DEPS} ) | ||||||
| 	ruby? ( $(ruby_implementation_depend ruby31) )" | 	ruby? ( $(ruby_implementation_depend ruby32) )" | ||||||
| DEPEND="${RDEPEND} | DEPEND="${RDEPEND} | ||||||
| 	test? ( | 	test? ( | ||||||
| 		${PYTHON_DEPS} | 		${PYTHON_DEPS} | ||||||
| @@ -53,7 +53,7 @@ S="${WORKDIR}/${PN}" | |||||||
| PHP_EXT_S="${S}/php" | PHP_EXT_S="${S}/php" | ||||||
|  |  | ||||||
| PATCHES=( | PATCHES=( | ||||||
| 	"${FILESDIR}/${PN}-3.7.7-fix-musl-build.patch" | 	"${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| pkg_setup() { | pkg_setup() { | ||||||
| @@ -88,12 +88,7 @@ src_prepare() { | |||||||
|  |  | ||||||
| src_configure() { | src_configure() { | ||||||
| 	MAKE_RULES=( | 	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\"" | 		"embedded_runpath_prefix=\"${EPREFIX}/usr\"" | ||||||
| 		"new_dtags=yes" |  | ||||||
| 		"OPTIMIZE=$(usex !debug)" | 		"OPTIMIZE=$(usex !debug)" | ||||||
| 		"V=1" | 		"V=1" | ||||||
| 	) | 	) | ||||||
| @@ -104,22 +99,22 @@ src_configure() { | |||||||
| 	fi | 	fi | ||||||
|  |  | ||||||
| 	if use ruby; then | 	if use ruby; then | ||||||
| 		SITERUBY="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')" | 		SITERUBY="$(ruby32 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')" | ||||||
| 		SITERUBYARCH="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')" | 		SITERUBYARCH="$(ruby32 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')" | ||||||
| 		MAKE_RULES_RUBY=( | 		MAKE_RULES_RUBY=( | ||||||
| 			"install_rubydir=\"${ED}/${SITERUBY}\"" | 			"install_rubydir=\"${EPREFIX}/${SITERUBY}\"" | ||||||
| 			"install_rubylibdir=\"${ED}/${SITERUBYARCH}\"" | 			"install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\"" | ||||||
| 		) | 		) | ||||||
|  |  | ||||||
| 		# make it use ruby31 only | 		# make it use ruby32 only | ||||||
| 		sed -i \ | 		sed -i \ | ||||||
| 			-e 's|RUBY ?= ruby|\031|' \ | 			-e 's|RUBY ?= ruby|\032|' \ | ||||||
| 			ruby/config/Make.rules || die | 			ruby/config/Make.rules || die | ||||||
| 		sed -i \ | 		sed -i \ | ||||||
| 			-e 's|env ruby|\031|' \ | 			-e 's|env ruby|\032|' \ | ||||||
| 			ruby/config/s2rb.rb || die | 			ruby/config/s2rb.rb || die | ||||||
| 		sed -i \ | 		sed -i \ | ||||||
| 			-e 's|env ruby|\031|' \ | 			-e 's|env ruby|\032|' \ | ||||||
| 			ruby/scripts/slice2rb || die | 			ruby/scripts/slice2rb || die | ||||||
| 	fi | 	fi | ||||||
|  |  | ||||||
| @@ -173,8 +168,8 @@ src_test() { | |||||||
| 			PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \ | 			PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \ | ||||||
| 				"${MAKE_RULES[@]}" \ | 				"${MAKE_RULES[@]}" \ | ||||||
| 				PYTHON="${EPYTHON}" \ | 				PYTHON="${EPYTHON}" \ | ||||||
| 				install_pythondir="\"${D}/$(python_get_sitedir)\"" \ | 				install_pythondir="\"$(python_get_sitedir)\"" \ | ||||||
| 				install_libdir="\"${D}/$(python_get_sitedir)\"" test | 				install_libdir="\"$(python_get_sitedir)\"" test | ||||||
| 		} | 		} | ||||||
| 		local S="${S}/python" | 		local S="${S}/python" | ||||||
| 		python_foreach_impl testing | 		python_foreach_impl testing | ||||||
| @@ -189,10 +184,17 @@ src_install() { | |||||||
| 	local DOCS=( CHANGELOG*.md README.md ) | 	local DOCS=( CHANGELOG*.md README.md ) | ||||||
| 	einstalldocs | 	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} | 	insinto /usr/share/${P} | ||||||
| 	doins -r slice | 	doins -r slice | ||||||
|  |  | ||||||
| 	emake -C cpp "${MAKE_RULES[@]}" install | 	emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install | ||||||
|  |  | ||||||
| 	if use examples; then | 	if use examples; then | ||||||
| 		docinto examples-cpp | 		docinto examples-cpp | ||||||
| @@ -235,6 +237,7 @@ src_install() { | |||||||
|  |  | ||||||
| 			emake -C "${BUILD_DIR}" \ | 			emake -C "${BUILD_DIR}" \ | ||||||
| 				"${MAKE_RULES[@]}" \ | 				"${MAKE_RULES[@]}" \ | ||||||
|  | 				"${MAKE_RULES_INSTALL[@]}" \ | ||||||
| 				install_pythondir="\"${D}/$(python_get_sitedir)\"" \ | 				install_pythondir="\"${D}/$(python_get_sitedir)\"" \ | ||||||
| 				install_libdir="\"${D}/$(python_get_sitedir)\"" \ | 				install_libdir="\"${D}/$(python_get_sitedir)\"" \ | ||||||
| 				install | 				install | ||||||
| @@ -245,7 +248,11 @@ src_install() { | |||||||
| 	fi | 	fi | ||||||
|  |  | ||||||
| 	if use ruby; then | 	if use ruby; then | ||||||
|  | 		MAKE_RULES_RUBY=( | ||||||
|  | 			"install_rubydir=\"${ED}/${SITERUBY}\"" | ||||||
|  | 			"install_rubylibdir=\"${ED}/${SITERUBYARCH}\"" | ||||||
|  | 		) | ||||||
| 		dodir "${SITERUBY}" | 		dodir "${SITERUBY}" | ||||||
| 		emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" install | 		emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install | ||||||
| 	fi | 	fi | ||||||
| } | } | ||||||
|   | |||||||
| @@ -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 |  | ||||||
| @@ -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
 | --- a/cpp/src/IceUtil/UtilException.cpp
 | ||||||
| +++ b/cpp/src/IceUtil/UtilException.cpp
 | +++ b/cpp/src/IceUtil/UtilException.cpp
 | ||||||
| @@ -43,7 +43,7 @@
 | @@ -43,7 +43,7 @@
 | ||||||
							
								
								
									
										96
									
								
								dev-libs/Ice/files/Ice-3.7.8-python3.13.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								dev-libs/Ice/files/Ice-3.7.8-python3.13.patch
									
									
									
									
									
										Normal 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 | ||||||
							
								
								
									
										3
									
								
								dev-libs/libbson/Manifest
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								dev-libs/libbson/Manifest
									
									
									
									
									
										Normal 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 | ||||||
							
								
								
									
										178
									
								
								dev-libs/libbson/files/libbson-1.30.6-cmake4.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										178
									
								
								dev-libs/libbson/files/libbson-1.30.6-cmake4.patch
									
									
									
									
									
										Normal 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
		Reference in New Issue
	
	Block a user