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 | ||||
|  | ||||
| # Skeleton command: | ||||
| @@ -17,7 +17,7 @@ HOMEPAGE="http://www.slf4j.org" | ||||
| SRC_URI="https://github.com/qos-ch/slf4j/archive/refs/tags/v_${PV}.tar.gz -> ${P}-sources.tar.gz" | ||||
| LICENSE="MIT" | ||||
| SLOT="0" | ||||
| KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" | ||||
| KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" | ||||
|  | ||||
| # Common dependencies | ||||
| # POM: pom.xml | ||||
|   | ||||
							
								
								
									
										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 | ||||
| 
 | ||||
| EAPI=8 | ||||
| 
 | ||||
| PYTHON_COMPAT=( python3_{8,9,10} ) | ||||
| PYTHON_COMPAT=( python3_{11..14} ) | ||||
| 
 | ||||
| RUBY_OPTIONAL="yes" | ||||
| USE_RUBY="ruby30" | ||||
| USE_RUBY="ruby33" | ||||
| 
 | ||||
| PHP_EXT_NAME="IcePHP" | ||||
| PHP_EXT_INI="yes" | ||||
| @@ -14,7 +14,7 @@ PHP_EXT_ZENDEXT="no" | ||||
| 
 | ||||
| PHP_EXT_OPTIONAL_USE=php | ||||
| 
 | ||||
| USE_PHP="php8-0 php8-1" | ||||
| USE_PHP="php8-2 php8-3 php8-4" | ||||
| 
 | ||||
| inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs | ||||
| 
 | ||||
| @@ -24,7 +24,7 @@ SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz | ||||
| 	doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )" | ||||
| LICENSE="GPL-2" | ||||
| SLOT="0/37" | ||||
| KEYWORDS="~amd64 ~arm ~x86" | ||||
| KEYWORDS="amd64 ~arm ~arm64 x86" | ||||
| IUSE="debug doc examples php python ruby test" | ||||
| RESTRICT="test" | ||||
| REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" | ||||
| @@ -37,7 +37,7 @@ RDEPEND=">=app-arch/bzip2-1.0.5 | ||||
| 	dev-libs/openssl:0= | ||||
| 	virtual/libcrypt:= | ||||
| 	python? ( ${PYTHON_DEPS} ) | ||||
| 	ruby? ( $(ruby_implementation_depend ruby30) )" | ||||
| 	ruby? ( $(ruby_implementation_depend ruby33) )" | ||||
| DEPEND="${RDEPEND} | ||||
| 	test? ( | ||||
| 		${PYTHON_DEPS} | ||||
| @@ -51,7 +51,8 @@ S="${WORKDIR}/${P,}" | ||||
| PHP_EXT_S="${S}/php" | ||||
| 
 | ||||
| PATCHES=( | ||||
| 	"${FILESDIR}/${P}-fix-musl-build.patch" | ||||
| 	"${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch" | ||||
| 	"${FILESDIR}/${PN}-3.7.8-python3.13.patch" | ||||
| ) | ||||
| 
 | ||||
| pkg_setup() { | ||||
| @@ -86,12 +87,8 @@ src_prepare() { | ||||
| 
 | ||||
| src_configure() { | ||||
| 	MAKE_RULES=( | ||||
| 		"prefix=\"${ED}/usr\"" | ||||
| 		"install_docdir=\"${ED}/usr/share/doc/${PF}\"" | ||||
| 		"install_configdir=\"${ED}/usr/share/${P}/config\"" | ||||
| 		"install_mandir=\"${ED}/usr/share/man/man1\"" | ||||
| 		"CONFIGS=shared cpp11-shared" | ||||
| 		"embedded_runpath_prefix=\"${EPREFIX}/usr\"" | ||||
| 		"new_dtags=yes" | ||||
| 		"OPTIMIZE=$(usex !debug)" | ||||
| 		"V=1" | ||||
| 	) | ||||
| @@ -102,22 +99,22 @@ src_configure() { | ||||
| 	fi | ||||
| 
 | ||||
| 	if use ruby; then | ||||
| 		SITERUBY="$(ruby30 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')" | ||||
| 		SITERUBYARCH="$(ruby30 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')" | ||||
| 		SITERUBY="$(ruby33 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')" | ||||
| 		SITERUBYARCH="$(ruby33 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')" | ||||
| 		MAKE_RULES_RUBY=( | ||||
| 			"install_rubydir=\"${ED}/${SITERUBY}\"" | ||||
| 			"install_rubylibdir=\"${ED}/${SITERUBYARCH}\"" | ||||
| 			"install_rubydir=\"${EPREFIX}/${SITERUBY}\"" | ||||
| 			"install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\"" | ||||
| 		) | ||||
| 
 | ||||
| 		# make it use ruby30 only | ||||
| 		# make it use ruby33 only | ||||
| 		sed -i \ | ||||
| 			-e 's|RUBY ?= ruby|\030|' \ | ||||
| 			-e 's|RUBY ?= ruby|\033|' \ | ||||
| 			ruby/config/Make.rules || die | ||||
| 		sed -i \ | ||||
| 			-e 's|env ruby|\030|' \ | ||||
| 			-e 's|env ruby|\033|' \ | ||||
| 			ruby/config/s2rb.rb || die | ||||
| 		sed -i \ | ||||
| 			-e 's|env ruby|\030|' \ | ||||
| 			-e 's|env ruby|\033|' \ | ||||
| 			ruby/scripts/slice2rb || die | ||||
| 	fi | ||||
| 
 | ||||
| @@ -171,8 +168,8 @@ src_test() { | ||||
| 			PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \ | ||||
| 				"${MAKE_RULES[@]}" \ | ||||
| 				PYTHON="${EPYTHON}" \ | ||||
| 				install_pythondir="\"${D}/$(python_get_sitedir)\"" \ | ||||
| 				install_libdir="\"${D}/$(python_get_sitedir)\"" test | ||||
| 				install_pythondir="\"$(python_get_sitedir)\"" \ | ||||
| 				install_libdir="\"$(python_get_sitedir)\"" test | ||||
| 		} | ||||
| 		local S="${S}/python" | ||||
| 		python_foreach_impl testing | ||||
| @@ -188,10 +185,17 @@ src_install() { | ||||
| 	use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" ) | ||||
| 	einstalldocs | ||||
| 
 | ||||
| 	MAKE_RULES_INSTALL=( | ||||
| 		"prefix=\"${ED}/usr\"" | ||||
| 		"install_docdir=\"${ED}/usr/share/doc/${PF}\"" | ||||
| 		"install_configdir=\"${ED}/usr/share/${P}/config\"" | ||||
| 		"install_mandir=\"${ED}/usr/share/man/man1\"" | ||||
| 	) | ||||
| 
 | ||||
| 	insinto /usr/share/${P} | ||||
| 	doins -r slice | ||||
| 
 | ||||
| 	emake -C cpp "${MAKE_RULES[@]}" install | ||||
| 	emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install | ||||
| 
 | ||||
| 	if use examples; then | ||||
| 		docinto examples-cpp | ||||
| @@ -234,6 +238,7 @@ src_install() { | ||||
| 
 | ||||
| 			emake -C "${BUILD_DIR}" \ | ||||
| 				"${MAKE_RULES[@]}" \ | ||||
| 				"${MAKE_RULES_INSTALL[@]}" \ | ||||
| 				install_pythondir="\"${D}/$(python_get_sitedir)\"" \ | ||||
| 				install_libdir="\"${D}/$(python_get_sitedir)\"" \ | ||||
| 				install | ||||
| @@ -244,7 +249,11 @@ src_install() { | ||||
| 	fi | ||||
| 
 | ||||
| 	if use ruby; then | ||||
| 		MAKE_RULES_RUBY=( | ||||
| 			"install_rubydir=\"${ED}/${SITERUBY}\"" | ||||
| 			"install_rubylibdir=\"${ED}/${SITERUBYARCH}\"" | ||||
| 		) | ||||
| 		dodir "${SITERUBY}" | ||||
| 		emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" install | ||||
| 		emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install | ||||
| 	fi | ||||
| } | ||||
| @@ -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 | ||||
|  | ||||
| EAPI=8 | ||||
|  | ||||
| PYTHON_COMPAT=( python3_{8,9,10} ) | ||||
| PYTHON_COMPAT=( python3_{10..12} ) | ||||
|  | ||||
| RUBY_OPTIONAL="yes" | ||||
| USE_RUBY="ruby31" | ||||
| USE_RUBY="ruby32" | ||||
|  | ||||
| PHP_EXT_NAME="IcePHP" | ||||
| PHP_EXT_INI="yes" | ||||
| @@ -14,7 +14,7 @@ PHP_EXT_ZENDEXT="no" | ||||
|  | ||||
| PHP_EXT_OPTIONAL_USE=php | ||||
|  | ||||
| USE_PHP="php8-0 php8-1" | ||||
| USE_PHP="php8-1 php8-2 php8-3" | ||||
|  | ||||
| EGIT_REPO_URI="https://github.com/zeroc-ice/ice.git" | ||||
| EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}" | ||||
| @@ -39,7 +39,7 @@ RDEPEND=">=app-arch/bzip2-1.0.5 | ||||
| 	dev-libs/openssl:0= | ||||
| 	virtual/libcrypt:= | ||||
| 	python? ( ${PYTHON_DEPS} ) | ||||
| 	ruby? ( $(ruby_implementation_depend ruby31) )" | ||||
| 	ruby? ( $(ruby_implementation_depend ruby32) )" | ||||
| DEPEND="${RDEPEND} | ||||
| 	test? ( | ||||
| 		${PYTHON_DEPS} | ||||
| @@ -53,7 +53,7 @@ S="${WORKDIR}/${PN}" | ||||
| PHP_EXT_S="${S}/php" | ||||
|  | ||||
| PATCHES=( | ||||
| 	"${FILESDIR}/${PN}-3.7.7-fix-musl-build.patch" | ||||
| 	"${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch" | ||||
| ) | ||||
|  | ||||
| pkg_setup() { | ||||
| @@ -88,12 +88,7 @@ src_prepare() { | ||||
|  | ||||
| src_configure() { | ||||
| 	MAKE_RULES=( | ||||
| 		"prefix=\"${ED}/usr\"" | ||||
| 		"install_docdir=\"${ED}/usr/share/doc/${PF}\"" | ||||
| 		"install_configdir=\"${ED}/usr/share/${P}/config\"" | ||||
| 		"install_mandir=\"${ED}/usr/share/man/man1\"" | ||||
| 		"embedded_runpath_prefix=\"${EPREFIX}/usr\"" | ||||
| 		"new_dtags=yes" | ||||
| 		"OPTIMIZE=$(usex !debug)" | ||||
| 		"V=1" | ||||
| 	) | ||||
| @@ -104,22 +99,22 @@ src_configure() { | ||||
| 	fi | ||||
|  | ||||
| 	if use ruby; then | ||||
| 		SITERUBY="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')" | ||||
| 		SITERUBYARCH="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')" | ||||
| 		SITERUBY="$(ruby32 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')" | ||||
| 		SITERUBYARCH="$(ruby32 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')" | ||||
| 		MAKE_RULES_RUBY=( | ||||
| 			"install_rubydir=\"${ED}/${SITERUBY}\"" | ||||
| 			"install_rubylibdir=\"${ED}/${SITERUBYARCH}\"" | ||||
| 			"install_rubydir=\"${EPREFIX}/${SITERUBY}\"" | ||||
| 			"install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\"" | ||||
| 		) | ||||
|  | ||||
| 		# make it use ruby31 only | ||||
| 		# make it use ruby32 only | ||||
| 		sed -i \ | ||||
| 			-e 's|RUBY ?= ruby|\031|' \ | ||||
| 			-e 's|RUBY ?= ruby|\032|' \ | ||||
| 			ruby/config/Make.rules || die | ||||
| 		sed -i \ | ||||
| 			-e 's|env ruby|\031|' \ | ||||
| 			-e 's|env ruby|\032|' \ | ||||
| 			ruby/config/s2rb.rb || die | ||||
| 		sed -i \ | ||||
| 			-e 's|env ruby|\031|' \ | ||||
| 			-e 's|env ruby|\032|' \ | ||||
| 			ruby/scripts/slice2rb || die | ||||
| 	fi | ||||
|  | ||||
| @@ -173,8 +168,8 @@ src_test() { | ||||
| 			PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \ | ||||
| 				"${MAKE_RULES[@]}" \ | ||||
| 				PYTHON="${EPYTHON}" \ | ||||
| 				install_pythondir="\"${D}/$(python_get_sitedir)\"" \ | ||||
| 				install_libdir="\"${D}/$(python_get_sitedir)\"" test | ||||
| 				install_pythondir="\"$(python_get_sitedir)\"" \ | ||||
| 				install_libdir="\"$(python_get_sitedir)\"" test | ||||
| 		} | ||||
| 		local S="${S}/python" | ||||
| 		python_foreach_impl testing | ||||
| @@ -189,10 +184,17 @@ src_install() { | ||||
| 	local DOCS=( CHANGELOG*.md README.md ) | ||||
| 	einstalldocs | ||||
|  | ||||
| 	MAKE_RULES_INSTALL=( | ||||
| 		"prefix=\"${ED}/usr\"" | ||||
| 		"install_docdir=\"${ED}/usr/share/doc/${PF}\"" | ||||
| 		"install_configdir=\"${ED}/usr/share/${P}/config\"" | ||||
| 		"install_mandir=\"${ED}/usr/share/man/man1\"" | ||||
| 	) | ||||
|  | ||||
| 	insinto /usr/share/${P} | ||||
| 	doins -r slice | ||||
|  | ||||
| 	emake -C cpp "${MAKE_RULES[@]}" install | ||||
| 	emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install | ||||
|  | ||||
| 	if use examples; then | ||||
| 		docinto examples-cpp | ||||
| @@ -235,6 +237,7 @@ src_install() { | ||||
|  | ||||
| 			emake -C "${BUILD_DIR}" \ | ||||
| 				"${MAKE_RULES[@]}" \ | ||||
| 				"${MAKE_RULES_INSTALL[@]}" \ | ||||
| 				install_pythondir="\"${D}/$(python_get_sitedir)\"" \ | ||||
| 				install_libdir="\"${D}/$(python_get_sitedir)\"" \ | ||||
| 				install | ||||
| @@ -245,7 +248,11 @@ src_install() { | ||||
| 	fi | ||||
|  | ||||
| 	if use ruby; then | ||||
| 		MAKE_RULES_RUBY=( | ||||
| 			"install_rubydir=\"${ED}/${SITERUBY}\"" | ||||
| 			"install_rubylibdir=\"${ED}/${SITERUBYARCH}\"" | ||||
| 		) | ||||
| 		dodir "${SITERUBY}" | ||||
| 		emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" install | ||||
| 		emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install | ||||
| 	fi | ||||
| } | ||||
|   | ||||
| @@ -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
 | ||||
| +++ b/cpp/src/IceUtil/UtilException.cpp
 | ||||
| @@ -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