summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin6223 -> 6224 bytes
-rw-r--r--sys-devel/bc/Manifest2
-rw-r--r--sys-devel/bc/bc-1.08.1.ebuild2
-rw-r--r--sys-devel/binutils-hppa64/Manifest12
-rw-r--r--sys-devel/binutils-hppa64/binutils-hppa64-2.42-r2.ebuild4
-rw-r--r--sys-devel/binutils-hppa64/binutils-hppa64-2.43-r2.ebuild4
-rw-r--r--sys-devel/binutils-hppa64/binutils-hppa64-2.44.ebuild (renamed from sys-devel/binutils/binutils-2.43-r1.ebuild)53
-rw-r--r--sys-devel/binutils-hppa64/binutils-hppa64-9999.ebuild (renamed from sys-devel/binutils-hppa64/binutils-hppa64-2.43-r1.ebuild)107
-rw-r--r--sys-devel/binutils-hppa64/metadata.xml1
-rw-r--r--sys-devel/binutils/Manifest16
-rw-r--r--sys-devel/binutils/binutils-2.42-r2.ebuild4
-rw-r--r--sys-devel/binutils/binutils-2.43-r2.ebuild2
-rw-r--r--sys-devel/binutils/binutils-2.43.9999.ebuild2
-rw-r--r--sys-devel/binutils/binutils-2.44.9999.ebuild578
-rw-r--r--sys-devel/binutils/binutils-2.44.ebuild578
-rw-r--r--sys-devel/binutils/binutils-9999.ebuild32
-rw-r--r--sys-devel/binutils/metadata.xml1
-rw-r--r--sys-devel/bison/Manifest2
-rw-r--r--sys-devel/bison/bison-3.8.2-r3.ebuild2
-rw-r--r--sys-devel/bpf-toolchain/Manifest2
-rw-r--r--sys-devel/bpf-toolchain/bpf-toolchain-14.2.0_p1.ebuild2
-rw-r--r--sys-devel/clang-crossdev-wrappers/Manifest9
-rw-r--r--sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-16.ebuild5
-rw-r--r--sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-17.ebuild5
-rw-r--r--sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-18.ebuild7
-rw-r--r--sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-19.ebuild7
-rw-r--r--sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-20.ebuild42
-rw-r--r--sys-devel/crosstool-ng/Manifest4
-rw-r--r--sys-devel/crosstool-ng/crosstool-ng-1.27.0.ebuild84
-rw-r--r--sys-devel/crosstool-ng/crosstool-ng-9999.ebuild13
-rw-r--r--sys-devel/dev86/Manifest7
-rw-r--r--sys-devel/dev86/dev86-0.16.21-r3.ebuild11
-rw-r--r--sys-devel/dev86/dev86-1.0.1.ebuild69
-rw-r--r--sys-devel/dev86/files/dev86-1.0.1-makefile.patch66
-rw-r--r--sys-devel/dev86/metadata.xml5
-rw-r--r--sys-devel/dwz/Manifest2
-rw-r--r--sys-devel/dwz/dwz-0.15-r4.ebuild2
-rw-r--r--sys-devel/elftoolchain/Manifest5
-rw-r--r--sys-devel/elftoolchain/elftoolchain-0.7.1-r2.ebuild58
-rw-r--r--sys-devel/elftoolchain/files/elftoolchain-0.7.1-fno-common.patch34
-rw-r--r--sys-devel/elftoolchain/metadata.xml1
-rw-r--r--sys-devel/gcc/Manifest56
-rw-r--r--sys-devel/gcc/files/gcc-15.0.1_pre20250223-c-Fix-range-for-with-PMFs-PR118923.patch231
-rw-r--r--sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-ice.patch99
-rw-r--r--sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-pgo-ice.patch58
-rw-r--r--sys-devel/gcc/gcc-12.4.1_p20250220.ebuild (renamed from sys-devel/gcc/gcc-12.4.1_p20250116.ebuild)0
-rw-r--r--sys-devel/gcc/gcc-12.4.1_p20250227.ebuild65
-rw-r--r--sys-devel/gcc/gcc-12.4.1_p20250306.ebuild (renamed from sys-devel/gcc/gcc-12.4.1_p20250123.ebuild)0
-rw-r--r--sys-devel/gcc/gcc-13.3.1_p20250221.ebuild (renamed from sys-devel/gcc/gcc-13.3.1_p20250117.ebuild)0
-rw-r--r--sys-devel/gcc/gcc-13.3.1_p20250301.ebuild66
-rw-r--r--sys-devel/gcc/gcc-13.3.1_p20250307.ebuild (renamed from sys-devel/gcc/gcc-13.3.1_p20250124.ebuild)0
-rw-r--r--sys-devel/gcc/gcc-14.2.1_p20250222.ebuild (renamed from sys-devel/gcc/gcc-14.2.1_p20250118.ebuild)2
-rw-r--r--sys-devel/gcc/gcc-14.2.1_p20250301.ebuild54
-rw-r--r--sys-devel/gcc/gcc-14.2.1_p20250308.ebuild (renamed from sys-devel/gcc/gcc-14.2.1_p20250125.ebuild)2
-rw-r--r--sys-devel/gcc/gcc-15.0.1_pre20250216.ebuild (renamed from sys-devel/gcc/gcc-15.0.1_pre20250126.ebuild)2
-rw-r--r--sys-devel/gcc/gcc-15.0.1_pre20250223-r1.ebuild53
-rw-r--r--sys-devel/gcc/gcc-15.0.1_pre20250223.ebuild (renamed from sys-devel/gcc/gcc-15.0.0_pre20250112-r3.ebuild)2
-rw-r--r--sys-devel/gcc/gcc-15.0.1_pre20250302-r1.ebuild54
-rw-r--r--sys-devel/gcc/gcc-15.0.1_pre20250302.ebuild (renamed from sys-devel/gcc/gcc-15.0.1_pre20250119.ebuild)3
-rw-r--r--sys-devel/gcc/gcc-15.0.1_pre20250309.ebuild52
-rw-r--r--sys-devel/gcc/metadata.xml1
-rw-r--r--sys-devel/gettext/Manifest11
-rw-r--r--sys-devel/gettext/files/gettext-0.23-libxml2-2.12.0.patch44
-rw-r--r--sys-devel/gettext/gettext-0.22.4-r1.ebuild2
-rw-r--r--sys-devel/gettext/gettext-0.22.5-r1.ebuild4
-rw-r--r--sys-devel/gettext/gettext-0.23.1.ebuild (renamed from sys-devel/gettext/gettext-0.23.ebuild)5
-rw-r--r--sys-devel/mold/Manifest6
-rw-r--r--sys-devel/mold/mold-2.36.0.ebuild12
-rw-r--r--sys-devel/mold/mold-2.37.1.ebuild112
-rw-r--r--sys-devel/mold/mold-9999.ebuild17
-rw-r--r--sys-devel/multilib-gcc-wrapper/Manifest2
-rw-r--r--sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0-r2.ebuild4
-rw-r--r--sys-devel/patch/Manifest13
-rw-r--r--sys-devel/patch/files/patch-2.7.6-configure-mkdir-spruced-up.patch38
-rw-r--r--sys-devel/patch/files/patch-2.7.6-ndebug-assert-hash-table.patch40
-rw-r--r--sys-devel/patch/files/patch-2.7.6_p20250206-no-backup-if-mismatch-regression.patch131
-rw-r--r--sys-devel/patch/files/patch-2.7.6_p20250206-traditional-diff-lines.patch114
-rw-r--r--sys-devel/patch/patch-2.7.6-r7.ebuild86
-rw-r--r--sys-devel/patch/patch-2.7.6_p20250206-r1.ebuild (renamed from sys-devel/patch/patch-2.7.6_p20241103.ebuild)30
-rw-r--r--sys-devel/patch/patch-9999.ebuild11
-rw-r--r--sys-devel/reflex/Manifest2
-rw-r--r--sys-devel/reflex/reflex-20241231.ebuild2
-rw-r--r--sys-devel/rust-std/Manifest6
-rw-r--r--sys-devel/rust-std/rust-std-1.84.1.ebuild (renamed from sys-devel/rust-std/rust-std-1.84.0.ebuild)0
-rw-r--r--sys-devel/rust-std/rust-std-1.85.0.ebuild152
-rw-r--r--sys-devel/smatch/Manifest9
-rw-r--r--sys-devel/smatch/files/smatch-1.72-C23.patch20
-rw-r--r--sys-devel/smatch/files/smatch-1.72-function-prototype.patch54
-rw-r--r--sys-devel/smatch/files/smatch-1.72-make-deps.patch14
-rw-r--r--sys-devel/smatch/smatch-1.72-r2.ebuild (renamed from sys-devel/smatch/smatch-1.72.ebuild)17
-rw-r--r--sys-devel/smatch/smatch-1.73-r1.ebuild73
-rw-r--r--sys-devel/smatch/smatch-9999.ebuild10
92 files changed, 3337 insertions, 346 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index 75740648e961..26d7b1e304c4 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/bc/Manifest b/sys-devel/bc/Manifest
index b55db26624c4..492f17b31c41 100644
--- a/sys-devel/bc/Manifest
+++ b/sys-devel/bc/Manifest
@@ -5,5 +5,5 @@ DIST bc-1.08.0.tar.gz 452231 BLAKE2B f42af858507e72171caf0786ca7b72506d79c93a73a
DIST bc-1.08.1.tar.gz 458434 BLAKE2B 51d1bac17f31bb7dbb044c28752cccfe59dd5bcb78a2c3bfa66a345577ea3aee37fef8d7efae83a57e41ae77d7317008f3682dfbc3165c76888770636deead01 SHA512 256c94833ead8029122d3ba6475cf4ff030c208a5bd3e2e9c5c8888467215e0fa9ab34e4226791bbd6e47498c0c61f0dc6399eecb0c8cf6a43453e84911c1847
EBUILD bc-1.07.1-r6.ebuild 2104 BLAKE2B 9e29f6c2651a13b85dfff8008ecc0ddcda1420fb8596e084061516ca87d1e43dd971055ca1714299fd7b89e3640c0b05625ed5e61c057e7d0cbdbdb0005760d2 SHA512 534298cd238651d8b1894e4fd2ec99487c7afc141c93e3b42b614b2a94da459932c1a4a1e2e15f111e2067bdb06b0ca25cd1099d601018cbe3ac5e645482d25f
EBUILD bc-1.08.0.ebuild 1882 BLAKE2B 84054d088ab139ee68e38a4a320b66f87529ada02b262e52cd6ecb41d7f37f40150e4d77abf2792a781bc6aaff6101f865fbce82180af79c120578a9e401f862 SHA512 54aa5a122f8744d02f133f43a69425fdf2f0f35c8f5c20ceb81ab80aa06a2ddeaea65f900130dcc6bf919566032f46b359008a36221f5d3beadd78bdc53f1cef
-EBUILD bc-1.08.1.ebuild 1882 BLAKE2B 84054d088ab139ee68e38a4a320b66f87529ada02b262e52cd6ecb41d7f37f40150e4d77abf2792a781bc6aaff6101f865fbce82180af79c120578a9e401f862 SHA512 54aa5a122f8744d02f133f43a69425fdf2f0f35c8f5c20ceb81ab80aa06a2ddeaea65f900130dcc6bf919566032f46b359008a36221f5d3beadd78bdc53f1cef
+EBUILD bc-1.08.1.ebuild 1874 BLAKE2B a5973b41b26d9234c6f6c892c2ad570e213c6491c5323ae52a0e3bb80530f212e49e8361c29b37d21614ae77d716acaf9ea37d9874ed23ac11ae52cf5ba6923a SHA512 3e16fc5b430be71062ca7ff9b48a655b66eccf6db2b291a63ae5a114b9c343d4607932a09fef7de95ac542184171b7402b280beeb790db179971c0f6d301e07c
MISC metadata.xml 258 BLAKE2B b3ebb9691cf2c860b26172c2fc7ead843959a83806b7c06f4eec2ea349a6d2f39afe2f4b08c09bc7f65d18bece520b8b6306c8c7c2075d653f04b09af43db8fd SHA512 02ab38ca1547c68e87cbcad1dd4bb121e90d1fcca941cbfd29583ea803ed50617aa6a29df11915af5e95d63fc817df2250c7b8189157d705ef86e477d6a1685e
diff --git a/sys-devel/bc/bc-1.08.1.ebuild b/sys-devel/bc/bc-1.08.1.ebuild
index 0a08fa03bab1..1c7027b1f9af 100644
--- a/sys-devel/bc/bc-1.08.1.ebuild
+++ b/sys-devel/bc/bc-1.08.1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/bc/${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="libedit readline static"
RDEPEND="
diff --git a/sys-devel/binutils-hppa64/Manifest b/sys-devel/binutils-hppa64/Manifest
index f3d7177b4061..a256019fc4bb 100644
--- a/sys-devel/binutils-hppa64/Manifest
+++ b/sys-devel/binutils-hppa64/Manifest
@@ -10,15 +10,17 @@ DIST binutils-2.41-patches-5.tar.xz 95176 BLAKE2B bbc94b3c7d70653a1056afe57a120b
DIST binutils-2.41.tar.xz 26765692 BLAKE2B 3bccec2b52f7e82a727121bf2a2e51a6249ba63dcd74c665fd834e858645c912ffd8245d848435288b938852830b482905606f55c40df4061215fd75c52ffc75 SHA512 5df45d0bd6ddabdce4f35878c041e46a92deef01e7dea5facc97fd65cc06b59abc6fba0eb454b68e571c7e14038dc823fe7f2263843e6e627b7444eaf0fe9374
DIST binutils-2.42-patches-6.tar.xz 50664 BLAKE2B f13b65a761cfba80caf2e4740c6383b40305558365b950fba22aca95a104e799e8bd476082f36fb9288de4f224b09f317792c1444e549c40d15a4b64cdf61989 SHA512 1203eca0a9e622411eac377509de8fd0db3ffcb282ac38ab7a0369b166cc1091197daad85b51b145b34a4832f1a1a4d573c8254e8d67aeb22f35adb1ab3ece1f
DIST binutils-2.42.tar.xz 27567160 BLAKE2B e67a5c028fba70e70088fd11b38ec8c9c4ed5a019badefda25abeb6275997b16f0891e7ff3424c4b82bbfae92e8992669826920dd53df61cd48469d8f7cd5bd1 SHA512 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6
-DIST binutils-2.43-patches-2.tar.xz 35184 BLAKE2B fa35c9f182c7ae0fed28614f47618d1563a58f223fd1805f348b618c1fbf039a444e44d88f46d040b6971e481e0da882e5c4492fd167d17bf39579d87a446434 SHA512 a7e167d3f6a2c08f19af4685d90a6160a1a52f1a87f5660fb6d80ec664033829c0eacad0d77b1306620e50ff89d1f9f63a7c2b064ad9775400f0cb0eba3159a4
DIST binutils-2.43-patches-3.tar.xz 62692 BLAKE2B a189a01a6a99c4fdff124cf90ecc18f874812c17fc735376c855469c487b6a71489ad5c2f86c518d2e029cc83d65757144ff9abddbe7ec3fc06e22f9501c62f4 SHA512 99a30e18fdfd7bdce85bb903f8d61837cfbb639ead8a680ff1a85ad1d615b658e696bdf196c4a002d029f952d34aa441e09e861b22f5400c65f07cce5934cd8f
DIST binutils-2.43.tar.xz 28175768 BLAKE2B 28b0a04a28273b76eab2d00e00160be889f155f77f5a9d8759ef8dce505c97e97641bf7ec70b92b731b520570a02b06e04e8215b068fcb1bb2573e9ef24732d9 SHA512 93e063163e54d6a6ee2bd48dc754270bf757a3635b49a702ed6b310e929e94063958512d191e66beaf44275f7ea60865dbde138b624626739679fcc306b133bb
+DIST binutils-2.44-patches-1.tar.xz 9156 BLAKE2B c72a7d0ffdb852f8de9c18e187b5768085b3a070744a4fadef508ab0e865d3a3967ec12a0ee7a325b6b689f39e5243aacd9d3f73ceb723d53592ec6ca640161b SHA512 053de98536e92837d0a08fac26bb0f057431747fe6e82f8b9ac54dd9aed65d8de379d653c0e8a8cd31267b9769825a420db5f40957f8c4eb54a7e4a9d76fadb8
+DIST binutils-2.44.tar.xz 27285788 BLAKE2B 0eb031ace9fb5a7047b81b5a05b1760f7d332c8ed67f98899f153a45f181b83e661a484551af05c0a9b2adc422da84619103c7b1f3c9fad5327872832b5446aa SHA512 b85d3bbc0e334cf67a96219d3c7c65fbf3e832b2c98a7417bf131f3645a0307057ec81cd2b29ff2563cec53e3d42f73e2c60cc5708e80d4a730efdcc6ae14ad7
EBUILD binutils-hppa64-2.37_p1-r2.ebuild 12850 BLAKE2B 3359bbaab0af3be9e6cc5f84959caa5b3d57d0af838b7a952854051b647fa496bf7dc3b0582c5bbd518f55fc38bb06d3bdf67ea85f7c3af0d892993741cc3672 SHA512 5e9ff80f051dde6a7909b2d6827745b038d57ee0aeee7e1f5dbbbdb1f08941444a971d5296dc65b9341e02ca383b46f7bd484f68cee74bb1682de22cab7bd4d5
EBUILD binutils-hppa64-2.38-r2.ebuild 12858 BLAKE2B a91eea4d22fd3dc6c3d9010b256d006f3a832cb390ba9e387bfd4a5c4ceeb6fe8ad02624f50c957b2917b528451e31e2c4d5f048d12f78c1224ee71660f06b21 SHA512 b185556f88eff64c40a12fecee2f9d7f0873b9d59926cd853831d6d7a9b6f7fba71541ca0f93eb9919795041f5e2ff0049f855dda8537300e66e1bd687e8f446
EBUILD binutils-hppa64-2.39-r5.ebuild 13863 BLAKE2B 0e88fddae6ee0f05a7a34d60a8781bae08c2fca3c8599756054dcb51d304b2ff4ae43c072e68ed8045f70a120efa9422cf6ed76302f1fd1e088721f24cca73d4 SHA512 5973e97817c730917c2697a542e67c63e3c51494094ced7778f932fee35fd192fbc0d0b2e5bfbc8cb554224586a48afdcd0ca331ab8531e01a8410a59c422890
EBUILD binutils-hppa64-2.40-r7.ebuild 13863 BLAKE2B 0e88fddae6ee0f05a7a34d60a8781bae08c2fca3c8599756054dcb51d304b2ff4ae43c072e68ed8045f70a120efa9422cf6ed76302f1fd1e088721f24cca73d4 SHA512 5973e97817c730917c2697a542e67c63e3c51494094ced7778f932fee35fd192fbc0d0b2e5bfbc8cb554224586a48afdcd0ca331ab8531e01a8410a59c422890
EBUILD binutils-hppa64-2.41-r5.ebuild 14048 BLAKE2B 4290a888bb76e52e1e9f32e081934d2f39759bc4aaa2b750a465325f3a9068a257dda9a45c3aae0848c4120bc4df4692cce382acca265f042c0bb75783e80242 SHA512 56928ada7bd013904eae956667997492dfc707975632171a5124f66d6306308f03de6decfb36700adf0cc2759737527716eb9a919267304844c394468ffbb994
-EBUILD binutils-hppa64-2.42-r2.ebuild 15050 BLAKE2B 12c416e003cb069390df8b41c52ff3d39336762103f1ed772504b8827da75353a5c713ba8f3871e909f29964a367663a8c8702c66fb2f7be9b9f874114f55517 SHA512 1dc91becc7d292b93e9e1a61509883c516910f7611820309d5d435b47711b12e76aebf65f687486230b4dea8e27b7bd543082b3e94951bb4d9884382cebbca2f
-EBUILD binutils-hppa64-2.43-r1.ebuild 15051 BLAKE2B 4e4fbe505015299a78d0094c478fff36335a9649e1d72fb49ab70cd5484d040c86db957ff278fcff2880210c3cb77bdd5bed0696b4886710bb0dcfb5a7870d7c SHA512 7767ad7dfa5f2a62f0f24f93327a425284947311889c50c9eac6b4642cc89ea940ad7ac3897b987cc54f609be13c4accc8fd3ed03ecab5b88f25d5855d2d3c95
-EBUILD binutils-hppa64-2.43-r2.ebuild 15050 BLAKE2B 012fdcedf5e30e8fe3efe783491bd08521d0c5493fc09ff69e63ceaba07c3e67b69e7abf0522de4585da5267fc9924e5c69a0382a37e2c035b9425eaeedbf267 SHA512 49de0dd639484578847a1bc27cd2f574ed91b85e9194a7dd7458f22deae4407ada606927c8b4d2f62c39b1f2f992baea93f7d8b99e68f2e3006d9fd2b9911914
-MISC metadata.xml 1110 BLAKE2B 0a916aa36bbf2a81095732fc321d989c9ff369de43474ff98317530c19085d1f20f5934ede2caa5939e2b4dbd29c1d98ea35de1ad4056db396c72e75abf97aa9 SHA512 216d0df87f2eb99c79b9417ff295280a05c48757d4969b3a6a48a8dfbe4004a67511006b192680432f971ebb6e5950a2b0d20ce50415cb13123badbe9ece95d5
+EBUILD binutils-hppa64-2.42-r2.ebuild 15050 BLAKE2B 50aea94e1aedde4a019a48d2fe0259b7062b642dc56054e7a60af8d186b386720980042a2e8302b18ab8f35b965724d6aa4e4a65b5b767be0c95d84f7320a90c SHA512 880ca15e82f854d439eb20bb26b11cbe9794c2cf4a3472df343c261f95de30d59288d275041db4670f6ae70cee897840887b6e1411c2655394978be272488942
+EBUILD binutils-hppa64-2.43-r2.ebuild 15050 BLAKE2B 46f2cf10d55d3e375c50e317fe51496233e0b6d48f128a6caf53e3e05ac029d20c3e7dbdbafd61772b8534dffe34898c768df2c6004780a59e6fa9d7d30b11d7 SHA512 cc01f78e9542ebed3d97d4b1b1ef463c3da3b5270afb775faeac98a8add4f383593a18b473b176f71c449d6b285cfa97a8f65d26e377ba5c105d6e0b71415e4e
+EBUILD binutils-hppa64-2.44.ebuild 16373 BLAKE2B 3ba119c73d3050455e82c72a03a55d81a33128f88cd02acb285cad3a01506b23a72b7c9bdaab16fb4da22b0b2fb65c666d0a1658acd3565613a70dcb92424c0d SHA512 5e4ebe6492cf1e9b118f1d698144e18f1d01cd989136bd55ead530a885913f0d3c71dffc873e94767a2475853a01757259ae015dd1f981f3d144b4a57da24572
+EBUILD binutils-hppa64-9999.ebuild 16375 BLAKE2B b68844b2768ea01f2f56de2f5d537554eb31f1d20ec0c30c2311c5e1409b4d6ef20df96ee9c39ee4623bd69f259c2ec194893bb1f891826b2f48007983c4a433 SHA512 b4b9afe5ea5218a2c1bf94cf417fc48038bf2e0261f5eb701ce6f2e6d786f3c53be379301bd7ff60e0441c5855b47938b95377358b8b497782cfabd254f2bce3
+MISC metadata.xml 1196 BLAKE2B a4ddcf2032f9a57adcbf32b4439a4461ef1fda39d06d391252463c75ac454ee63556d5e23410f3460f84f48b93d56bd8d11e7922d29f477c298fde1d61881622 SHA512 40e9f31b3a75ec8c29b89ba7a218d7ba87eeb420495b32243e0a021f46642ea8fb133dcf4083a04306d0b608538187fafa89c67ffe0b09a8bd882e6e9ba38620
diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.42-r2.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.42-r2.ebuild
index 73dc3ceeedb0..5ad530101093 100644
--- a/sys-devel/binutils-hppa64/binutils-hppa64-2.42-r2.ebuild
+++ b/sys-devel/binutils-hppa64/binutils-hppa64-2.42-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -306,7 +306,7 @@ src_configure() {
if use hardened ; then
myconf+=(
- # TOOD: breaks glibc test suite
+ # TODO: breaks glibc test suite
#--enable-error-execstack=yes
#--enable-error-rwx-segments=yes
--enable-default-execstack=no
diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.43-r2.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.43-r2.ebuild
index fa9d8b2f4555..ba46b854f6a7 100644
--- a/sys-devel/binutils-hppa64/binutils-hppa64-2.43-r2.ebuild
+++ b/sys-devel/binutils-hppa64/binutils-hppa64-2.43-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -306,7 +306,7 @@ src_configure() {
if use hardened ; then
myconf+=(
- # TOOD: breaks glibc test suite
+ # TODO: breaks glibc test suite
#--enable-error-execstack=yes
#--enable-error-rwx-segments=yes
--enable-default-execstack=no
diff --git a/sys-devel/binutils/binutils-2.43-r1.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.44.ebuild
index 65d4e3c31f14..26975a54a36d 100644
--- a/sys-devel/binutils/binutils-2.43-r1.ebuild
+++ b/sys-devel/binutils-hppa64/binutils-hppa64-2.44.ebuild
@@ -1,15 +1,17 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+export CTARGET=hppa64-${CHOST#*-}
+
inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
DESCRIPTION="Tools necessary to build programs"
HOMEPAGE="https://sourceware.org/binutils/"
LICENSE="GPL-3+"
-IUSE="cet debuginfod doc gold gprofng hardened multitarget +nls pgo +plugins static-libs test vanilla zstd"
+IUSE="cet debuginfod doc gprofng hardened multitarget +nls pgo +plugins static-libs test vanilla xxhash zstd"
# Variables that can be set here (ignored for live ebuilds)
# PATCH_VER - the patchset version
@@ -19,7 +21,7 @@ IUSE="cet debuginfod doc gold gprofng hardened multitarget +nls pgo +plugins sta
# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
# for the patchsets
-PATCH_VER=2
+PATCH_VER=1
PATCH_DEV=dilfridge
if [[ ${PV} == 9999 ]]; then
@@ -35,7 +37,7 @@ else
[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
SLOT=$(ver_cut 1-2)
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="-* hppa"
fi
#
@@ -60,7 +62,10 @@ RDEPEND="
)
zstd? ( app-arch/zstd:= )
"
-DEPEND="${RDEPEND}"
+DEPEND="
+ ${RDEPEND}
+ xxhash? ( dev-libs/xxhash )
+"
BDEPEND="
doc? ( sys-apps/texinfo )
pgo? (
@@ -79,11 +84,15 @@ BDEPEND="
RESTRICT="!test? ( test )"
-MY_BUILDDIR=${WORKDIR}/build
+MY_BUILDDIR="${WORKDIR}"/build
+S="${WORKDIR}"/${P/-hppa64/}
src_unpack() {
if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git"
+ EGIT_REPO_URI="
+ https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git
+ https://github.com/gentoo/binutils-patches
+ "
EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
git-r3_src_unpack
mv patches-git/9999 patch || die
@@ -91,7 +100,11 @@ src_unpack() {
if [[ ${PV} != 9999 ]] ; then
EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch
fi
- EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
+ EGIT_REPO_URI="
+ https://sourceware.org/git/binutils-gdb.git
+ https://git.sr.ht/~sourceware/binutils-gdb
+ https://gitlab.com/x86-binutils/binutils-gdb.git
+ "
S=${WORKDIR}/binutils
EGIT_CHECKOUT_DIR=${S}
git-r3_src_unpack
@@ -130,7 +143,7 @@ src_prepare() {
# This is applied conditionally for now just out of caution.
# It should be okay on non-prefix systems though. See bug #892549.
- if is_cross || use prefix; then
+ if [[ ${PN} != binutils-hppa64 ]] && { is_cross || use prefix; } ; then
eapply "${FILESDIR}"/binutils-2.43-linker-search-path.patch \
"${FILESDIR}"/binutils-2.43-linker-prefix.patch
fi
@@ -185,9 +198,6 @@ src_configure() {
use cet && filter-flags -mindirect-branch -mindirect-branch=*
use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
- # https://sourceware.org/PR32372
- append-cflags $(test-flags-CC -std=gnu17)
-
local x
echo
for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do
@@ -201,10 +211,6 @@ src_configure() {
if use plugins ; then
myconf+=( --enable-plugins )
fi
- # enable gold (installed as ld.gold) and ld's plugin architecture
- if use gold ; then
- myconf+=( --enable-gold )
- fi
if use nls ; then
myconf+=( --without-included-gettext )
@@ -269,6 +275,7 @@ src_configure() {
--with-bugurl="$(toolchain-binutils_bugurl)"
--with-pkgversion="$(toolchain-binutils_pkgversion)"
$(use_enable static-libs static)
+ $(use_with xxhash)
$(use_with zstd)
# Disable modules that are in a combined binutils/gdb tree, bug #490566
@@ -295,6 +302,10 @@ src_configure() {
# - Broken at runtime without Java (https://sourceware.org/bugzilla/show_bug.cgi?id=29479)
# - binutils-config (and this ebuild?) needs adaptation first (https://bugs.gentoo.org/865113)
$(use_enable gprofng)
+
+ # Enables colored disassembly by default (equivalent to passing
+ # --disassembler-color=terminal to all objdump invocations).
+ --enable-colored-disassembly
)
case ${CTARGET} in
@@ -316,7 +327,7 @@ src_configure() {
if use hardened ; then
myconf+=(
- # TOOD: breaks glibc test suite
+ # TODO: breaks glibc test suite
#--enable-error-execstack=yes
#--enable-error-rwx-segments=yes
--enable-default-execstack=no
@@ -341,7 +352,8 @@ src_configure() {
fi
if ! is_cross ; then
- myconf+=( $(use_enable pgo pgo-build $(tc-is-lto && echo "lto" || echo "yes")) )
+ # No LTO for HPPA64 right now as we don't build kgcc64 with LTO support.
+ myconf+=( $(use_enable pgo pgo-build) )
if use pgo ; then
# We let configure handle it for us because it has to run
@@ -500,6 +512,11 @@ src_install() {
# Trim all empty dirs
find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null
+
+ # the hppa64 hack; this should go into 9999 as a PN-conditional
+ # tweak the default fake list a little bit
+ cd "${D}"/etc/env.d/binutils
+ sed -i '/FAKE_TARGETS=/s:"$: hppa64-linux":' ${CTARGET}-${PV} || die
}
pkg_postinst() {
diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.43-r1.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-9999.ebuild
index a71d9243c9cc..6a28de62f155 100644
--- a/sys-devel/binutils-hppa64/binutils-hppa64-2.43-r1.ebuild
+++ b/sys-devel/binutils-hppa64/binutils-hppa64-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ DESCRIPTION="Tools necessary to build programs"
HOMEPAGE="https://sourceware.org/binutils/"
LICENSE="GPL-3+"
-IUSE="cet debuginfod doc gold gprofng hardened multitarget +nls pgo +plugins static-libs test vanilla zstd"
+IUSE="cet debuginfod doc gprofng hardened multitarget +nls pgo +plugins static-libs test vanilla xxhash zstd"
# Variables that can be set here (ignored for live ebuilds)
# PATCH_VER - the patchset version
@@ -21,12 +21,15 @@ IUSE="cet debuginfod doc gold gprofng hardened multitarget +nls pgo +plugins sta
# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
# for the patchsets
-PATCH_VER=2
+PATCH_VER=1
PATCH_DEV=dilfridge
-if [[ ${PV} == 9999* ]]; then
+if [[ ${PV} == 9999 ]]; then
inherit git-r3
SLOT=${PV}
+elif [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ SLOT=$(ver_cut 1-2)
else
PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
PATCH_DEV=${PATCH_DEV:-dilfridge}
@@ -34,7 +37,7 @@ else
[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
SLOT=$(ver_cut 1-2)
- KEYWORDS="-* ~hppa"
+ #KEYWORDS="-* ~hppa"
fi
#
@@ -59,9 +62,16 @@ RDEPEND="
)
zstd? ( app-arch/zstd:= )
"
-DEPEND="${RDEPEND}"
+DEPEND="
+ ${RDEPEND}
+ xxhash? ( dev-libs/xxhash )
+"
BDEPEND="
doc? ( sys-apps/texinfo )
+ pgo? (
+ dev-util/dejagnu
+ app-alternatives/bc
+ )
test? (
dev-util/dejagnu
app-alternatives/bc
@@ -78,13 +88,23 @@ MY_BUILDDIR="${WORKDIR}"/build
S="${WORKDIR}"/${P/-hppa64/}
src_unpack() {
- if [[ ${PV} == 9999* ]] ; then
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git"
+ if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="
+ https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git
+ https://github.com/gentoo/binutils-patches
+ "
EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
git-r3_src_unpack
mv patches-git/9999 patch || die
- EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
+ if [[ ${PV} != 9999 ]] ; then
+ EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch
+ fi
+ EGIT_REPO_URI="
+ https://sourceware.org/git/binutils-gdb.git
+ https://git.sr.ht/~sourceware/binutils-gdb
+ https://gitlab.com/x86-binutils/binutils-gdb.git
+ "
S=${WORKDIR}/binutils
EGIT_CHECKOUT_DIR=${S}
git-r3_src_unpack
@@ -107,13 +127,15 @@ src_unpack() {
src_prepare() {
local patchsetname
- if [[ ${PV} == 9999* ]] ; then
+ if [[ ${PV} == 9999 ]] ; then
patchsetname="from git master"
+ elif [[ ${PV} == *9999 ]] ; then
+ patchsetname="from git branch ${EGIT_BRANCH}"
else
patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
fi
- if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
+ if [[ -n ${PATCH_VER} ]] || [[ ${PV} == *9999 ]] ; then
if ! use vanilla; then
einfo "Applying binutils patchset ${patchsetname}"
eapply "${WORKDIR}/patch"
@@ -122,8 +144,8 @@ src_prepare() {
# This is applied conditionally for now just out of caution.
# It should be okay on non-prefix systems though. See bug #892549.
if [[ ${PN} != binutils-hppa64 ]] && { is_cross || use prefix; } ; then
- eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch \
- "${FILESDIR}"/binutils-2.41-linker-prefix.patch
+ eapply "${FILESDIR}"/binutils-2.43-linker-search-path.patch \
+ "${FILESDIR}"/binutils-2.43-linker-prefix.patch
fi
fi
fi
@@ -176,8 +198,6 @@ src_configure() {
use cet && filter-flags -mindirect-branch -mindirect-branch=*
use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
local x
echo
for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do
@@ -191,10 +211,6 @@ src_configure() {
if use plugins ; then
myconf+=( --enable-plugins )
fi
- # enable gold (installed as ld.gold) and ld's plugin architecture
- if use gold ; then
- myconf+=( --enable-gold )
- fi
if use nls ; then
myconf+=( --without-included-gettext )
@@ -259,10 +275,11 @@ src_configure() {
--with-bugurl="$(toolchain-binutils_bugurl)"
--with-pkgversion="$(toolchain-binutils_pkgversion)"
$(use_enable static-libs static)
+ $(use_with xxhash)
$(use_with zstd)
# Disable modules that are in a combined binutils/gdb tree, bug #490566
- --disable-{gdb,libdecnumber,readline,sim}
+ --disable-{gdb,gdbserver,libbacktrace,libdecnumber,readline,sim}
# Strip out broken static link flags: https://gcc.gnu.org/PR56750
--without-stage1-ldflags
# Change SONAME to avoid conflict across {native,cross}/binutils, binutils-libs. bug #666100
@@ -285,6 +302,10 @@ src_configure() {
# - Broken at runtime without Java (https://sourceware.org/bugzilla/show_bug.cgi?id=29479)
# - binutils-config (and this ebuild?) needs adaptation first (https://bugs.gentoo.org/865113)
$(use_enable gprofng)
+
+ # Enables colored disassembly by default (equivalent to passing
+ # --disassembler-color=terminal to all objdump invocations).
+ --enable-colored-disassembly
)
case ${CTARGET} in
@@ -306,7 +327,7 @@ src_configure() {
if use hardened ; then
myconf+=(
- # TOOD: breaks glibc test suite
+ # TODO: breaks glibc test suite
#--enable-error-execstack=yes
#--enable-error-rwx-segments=yes
--enable-default-execstack=no
@@ -325,11 +346,21 @@ src_configure() {
)
fi
+ if use test || { use pgo && tc-is-lto ; } ; then
+ # -Wa,* needs to be consistent everywhere or lto-wrapper will complain
+ filter-flags '-Wa,*'
+ fi
+
if ! is_cross ; then
# No LTO for HPPA64 right now as we don't build kgcc64 with LTO support.
myconf+=( $(use_enable pgo pgo-build) )
if use pgo ; then
+ # We let configure handle it for us because it has to run
+ # the testsuite later on for profiling, and LTO isn't compatible
+ # with the testsuite.
+ filter-lto
+
export BUILD_CFLAGS="${CFLAGS}"
fi
fi
@@ -367,10 +398,24 @@ src_compile() {
src_test() {
cd "${MY_BUILDDIR}" || die
- # bug #637066
- filter-flags -Wall -Wreturn-type
+ (
+ # Tests don't expect LTO
+ filter-lto
+
+ # lto-wrapper warnings which confuse tests
+ filter-flags '-Wa,*'
- emake -k check
+ # bug #637066
+ filter-flags -Wall -Wreturn-type
+
+ emake -k check \
+ CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \
+ CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \
+ LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \
+ CFLAGS="${CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+ )
}
src_install() {
@@ -401,7 +446,6 @@ src_install() {
done
if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then
- # No die for now, dies on hppa?
mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH}
mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/
rm -r "${ED}"/usr/${CHOST}/{include,lib}
@@ -421,9 +465,8 @@ src_install() {
)
doins "${libiberty_headers[@]/#/${S}/include/}"
if [[ -d ${ED}/${LIBPATH}/lib ]] ; then
- # TODO: add || die here, fails on hppa?
- mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/
- rm -r "${ED}"/${LIBPATH}/lib
+ mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ || die
+ rm -r "${ED}"/${LIBPATH}/lib || die
fi
# Generate an env.d entry for this binutils
@@ -479,7 +522,7 @@ src_install() {
pkg_postinst() {
# Make sure this ${CTARGET} has a binutils version selected
[[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
- binutils-config ${CTARGET}-${PV}
+ binutils-config ${CTARGET}-${PV} || eerror binutils-config returned an error
}
pkg_postrm() {
@@ -496,12 +539,12 @@ pkg_postrm() {
choice=${choice//$'\n'/ }
choice=${choice/* }
if [[ -z ${choice} ]] ; then
- binutils-config -u ${CTARGET}
+ binutils-config -u ${CTARGET} || eerror binutils-config returned an error
else
- binutils-config ${choice}
+ binutils-config ${choice} || eerror binutils-config returned an error
fi
elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
- binutils-config ${CTARGET}-${PV}
+ binutils-config ${CTARGET}-${PV} || eerror binutils-config returned an error
fi
}
diff --git a/sys-devel/binutils-hppa64/metadata.xml b/sys-devel/binutils-hppa64/metadata.xml
index 5e566060dac2..2b2732a97fa5 100644
--- a/sys-devel/binutils-hppa64/metadata.xml
+++ b/sys-devel/binutils-hppa64/metadata.xml
@@ -18,6 +18,7 @@
<flag name="plugins">Enable plugin support in tools</flag>
<flag name="multitarget">Adds support to binutils for cross compiling (does not work with gas)</flag>
<flag name="debuginfod">Enable debuginfod support via <pkg>dev-libs/elfutils</pkg> libdebuginfod</flag>
+ <flag name="xxhash">Use <pkg>dev-libs/xxhash</pkg> for --build-id=xx support</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:gnu:binutils</remote-id>
diff --git a/sys-devel/binutils/Manifest b/sys-devel/binutils/Manifest
index a47047092968..32aa61faa3e8 100644
--- a/sys-devel/binutils/Manifest
+++ b/sys-devel/binutils/Manifest
@@ -29,9 +29,10 @@ DIST binutils-2.41-patches-5.tar.xz 95176 BLAKE2B bbc94b3c7d70653a1056afe57a120b
DIST binutils-2.41.tar.xz 26765692 BLAKE2B 3bccec2b52f7e82a727121bf2a2e51a6249ba63dcd74c665fd834e858645c912ffd8245d848435288b938852830b482905606f55c40df4061215fd75c52ffc75 SHA512 5df45d0bd6ddabdce4f35878c041e46a92deef01e7dea5facc97fd65cc06b59abc6fba0eb454b68e571c7e14038dc823fe7f2263843e6e627b7444eaf0fe9374
DIST binutils-2.42-patches-6.tar.xz 50664 BLAKE2B f13b65a761cfba80caf2e4740c6383b40305558365b950fba22aca95a104e799e8bd476082f36fb9288de4f224b09f317792c1444e549c40d15a4b64cdf61989 SHA512 1203eca0a9e622411eac377509de8fd0db3ffcb282ac38ab7a0369b166cc1091197daad85b51b145b34a4832f1a1a4d573c8254e8d67aeb22f35adb1ab3ece1f
DIST binutils-2.42.tar.xz 27567160 BLAKE2B e67a5c028fba70e70088fd11b38ec8c9c4ed5a019badefda25abeb6275997b16f0891e7ff3424c4b82bbfae92e8992669826920dd53df61cd48469d8f7cd5bd1 SHA512 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6
-DIST binutils-2.43-patches-2.tar.xz 35184 BLAKE2B fa35c9f182c7ae0fed28614f47618d1563a58f223fd1805f348b618c1fbf039a444e44d88f46d040b6971e481e0da882e5c4492fd167d17bf39579d87a446434 SHA512 a7e167d3f6a2c08f19af4685d90a6160a1a52f1a87f5660fb6d80ec664033829c0eacad0d77b1306620e50ff89d1f9f63a7c2b064ad9775400f0cb0eba3159a4
DIST binutils-2.43-patches-3.tar.xz 62692 BLAKE2B a189a01a6a99c4fdff124cf90ecc18f874812c17fc735376c855469c487b6a71489ad5c2f86c518d2e029cc83d65757144ff9abddbe7ec3fc06e22f9501c62f4 SHA512 99a30e18fdfd7bdce85bb903f8d61837cfbb639ead8a680ff1a85ad1d615b658e696bdf196c4a002d029f952d34aa441e09e861b22f5400c65f07cce5934cd8f
DIST binutils-2.43.tar.xz 28175768 BLAKE2B 28b0a04a28273b76eab2d00e00160be889f155f77f5a9d8759ef8dce505c97e97641bf7ec70b92b731b520570a02b06e04e8215b068fcb1bb2573e9ef24732d9 SHA512 93e063163e54d6a6ee2bd48dc754270bf757a3635b49a702ed6b310e929e94063958512d191e66beaf44275f7ea60865dbde138b624626739679fcc306b133bb
+DIST binutils-2.44-patches-1.tar.xz 9156 BLAKE2B c72a7d0ffdb852f8de9c18e187b5768085b3a070744a4fadef508ab0e865d3a3967ec12a0ee7a325b6b689f39e5243aacd9d3f73ceb723d53592ec6ca640161b SHA512 053de98536e92837d0a08fac26bb0f057431747fe6e82f8b9ac54dd9aed65d8de379d653c0e8a8cd31267b9769825a420db5f40957f8c4eb54a7e4a9d76fadb8
+DIST binutils-2.44.tar.xz 27285788 BLAKE2B 0eb031ace9fb5a7047b81b5a05b1760f7d332c8ed67f98899f153a45f181b83e661a484551af05c0a9b2adc422da84619103c7b1f3c9fad5327872832b5446aa SHA512 b85d3bbc0e334cf67a96219d3c7c65fbf3e832b2c98a7417bf131f3645a0307057ec81cd2b29ff2563cec53e3d42f73e2c60cc5708e80d4a730efdcc6ae14ad7
EBUILD binutils-2.32-r2.ebuild 11734 BLAKE2B e444592c29be99e72f80090c85a383bb307c741ed77bcf71058dad5d78eff13d5185cdb4bce47b51422154f998ae67e117f2c49e39d4b4ec49b7396f4103d306 SHA512 19a752a8789b698769217873864b9f544830521ed41be54db86b947343ee83af655b74104365c2e8fd195c4285fa3dc65e0bc1aa78bf9c16be5ea22aea519c13
EBUILD binutils-2.33.1-r1.ebuild 11470 BLAKE2B 70541c64c7ca2734b1cdfc27e2a7bd8bc72fde852a7fdbcbf763795463e481556e36910dbe9fe2e0df4d7621bfaffcc36de70222919852b44419b02efad0ff4f SHA512 3c9f95f54f6c55692ef5daac6dd4d6e5a2514a27f8c6f4b592582f23bd3b3e4c83ce5c6fbfc1f5a6bb845a717b30458d40772a661d74adbddeb0d4081a88c438
EBUILD binutils-2.34-r2.ebuild 11566 BLAKE2B 6490e77611835748738230495725ec099c45e65cfa20109a4d185fcf456f012cc9f95fed6b33a6774906c1b826046f79082ac740548830d0befc0a488e6c447e SHA512 a9d14b875f30c613c9b533f116db09d0743d3079007b149da31a9f87a5dd308c03bb495ccd65efee7524c38a7684ff4c22ced5ec8e3d70d4f71103e2e467a883
@@ -42,9 +43,10 @@ EBUILD binutils-2.38-r2.ebuild 13205 BLAKE2B 64b9c6e6780c1ece2239e019981ade00492
EBUILD binutils-2.39-r5.ebuild 13726 BLAKE2B f3a42e6963397e5f6b20e1323ceb4bdb43fb00ab4e98461f46c0265244c1d11e2ce150fa62350c8180bdf9cf63c483aea6bec110e09a8065e197cdc27c87f251 SHA512 50933d5dfa86cecb2c52f75306392f5b2a2e1128718ac589974134653dcc25917dbaf0fe734800e61f5834b3f1cd7ec46cd16a2b5029b90ff338c55d3e1516f1
EBUILD binutils-2.40-r9.ebuild 14203 BLAKE2B 7e9038bb5bd10baa51e0b00c760861f9da00a4b1ad583f61be2e8f5786bc1e832a30dd5abccaa370b8d5b8afe011605b8ab87a000afa8f125f50b4c88b261d6f SHA512 1487ab81b89ce044dea12953aa6c31d7ec519d1b2fea8acd50c8a409939088f0f573585abcec084f7943ecd3e131640b4b019947d00f90cf6991eaa8cff4b4c9
EBUILD binutils-2.41-r5.ebuild 14725 BLAKE2B b9a9abaa3309cf4f9d1c2cdaaf4daedfe667689e2e8e4db980226197c5e70d86cb7b3aa6b4fda4938a89ee686faf73e7856e839d298066c17779900355a3aaa1 SHA512 4c4161d93ec3dcdac855045c47062237d2054f54660418dde524bbfab444013312a240311b0166c9f9cc9405e3a5bb44c80dd035df1629516481781b06930b2c
-EBUILD binutils-2.42-r2.ebuild 15820 BLAKE2B dddc8ff1ef483b95e221ee2546a98ac55c15953bf5917ba9af44b735d816dc4ebc28bcbb35517d47514e966f345b27ea916b9f913db5c34fba890cb83ee0a43c SHA512 b293a31e90825eeb30b82ff3e8a331a7c6e82acce901c0fcca0976b292447bf1bd65ac1b3734879c03365e92adbb75fe85da57023f6b822ae50d5293f18e1408
-EBUILD binutils-2.43-r1.ebuild 15926 BLAKE2B b3b35bfa409fe26d430f2c17f3f52a1523b29e34caedda21ad488cb428e94c0db85d468e3e53265fd3429a1827418c3b66f9f5ee0bbf87e0c9c0c8b5e2d1ff20 SHA512 a33b271959387d4d31340cf96a684f648e3d5893c47013de4ce77a94342f332bd68090e72288272f53fd2c381217cf4e9edbde2542f0f4a8f6bed1917d046b81
-EBUILD binutils-2.43-r2.ebuild 15915 BLAKE2B 5e1134d93cd165c867bdf25c825dfd7122a2494ed0ea4487cdde57d44e0032c98f37c0a416635c03e7ec7bea491f340d35b00f07678a9f134d21cbf1a5855c7b SHA512 a523d0d50f9aade97195b61837518dc82d8a7616fbf1080e51c916cfea3d200a72657967e4ad60c56099cf8e3f271f310683d52d77d1f65d24d4a2070aa62613
-EBUILD binutils-2.43.9999.ebuild 16246 BLAKE2B 3433cab71a488713b2ccc757f59c2d9677a038f2569aaaf9425bd14302b5eb63129df40d9f71b19822c93ed167d3fc1c0458e9dea140ffe69ee1a6b2ab06c612 SHA512 958749d5c3d31575d5d413f8dd8b6d78d32b840a27838a650afdeaf2713b43ddc47ffbc921bfdbffe227edd02c3ccad2f29e020da134a43a7935afe1a9ffa027
-EBUILD binutils-9999.ebuild 16168 BLAKE2B 726f64f1e160dc4f9e06235a755ec8805885190e4f07add2abc2a970830f81f11be4dc2d44a3e11d5afcb625b63f7850537326ee0b01de13f3a47cd861cd6b6b SHA512 d7c3047b807b84fcb0504fed59c50bb1f6d6c04ccd0b90f472b3ad7eec61c2b048af5a37f11ad63c3f149ae5190e2c0ebfbff9fbb518d2b0401dec52834c0c13
-MISC metadata.xml 995 BLAKE2B 85ccdd924f8c459a4cd7e608dff59c7281523da0d9457b0094b97e140cd07a300cb38383d9402808859100ca0bf219ce86e367bb5282216121bd81f68d588c17 SHA512 3ee538640e5d8c0efe6b8cf1de299e0d78965dece1ad814384844e8e24db72b11ca30d5fb68dfae2e71046d35aee0e71ee3ecbda3730ca49446dd0b2cd0f817c
+EBUILD binutils-2.42-r2.ebuild 15820 BLAKE2B 87a25289661a96d90dfd5df0bb68151b75c44ae166889de2b6508785c8b77117408cc99f50cec2546fe6711f42127b149c06b325e0aba3f755743d8ccfafff55 SHA512 18d7821187289a777ee5bb6d2385cfd076d90d3dc9a544fea9f734180a5f429dc3a1337be3b02273a9a01d76295bc2be0fc82a0e0d19aa7e65a293b73ad8cc20
+EBUILD binutils-2.43-r2.ebuild 15915 BLAKE2B 8c51957a6b971cbc75764aa2dd73aa45670fc49316e7a456e9439d199079334a949db0386b3815fe7f6b0a447eef02ecb9ad8a4f429c2cc1fee45316e4cd233e SHA512 2849b6773fa748de176badfd8b98e55005b97e53422f6efcf512e15fdb9c80ffb984c035ea92f0210eae873447de04a5807af45ea64adea1b88535d04e4594a0
+EBUILD binutils-2.43.9999.ebuild 16246 BLAKE2B 9a3e64ad92ba503c3a67940f7b518bc0d982b4df6d207850b8267c98ef183f6b0adca7ff4e54f288ba2bad903d3306a37b83446e3576954d552e0b0d68ed618c SHA512 6d030df61ffde1c05b61f218e05781688ca7a1c6775a710ae4b0b210774cf9d472d498ae5254cc0d41d2e0817b8ad42bde6da0596c805f9868bab0c3e9998817
+EBUILD binutils-2.44.9999.ebuild 16473 BLAKE2B e44aa5b5c2f3ad3b5fe3d419bfb209dd4e83b6de1461c8d88f8d5157dfeb2d069c5b0ebe9fc321eb0355493b29922e7f2116233e5e32a0f2c38291bace077e14 SHA512 c63ff86772fccd9ca76a228a21875740cb0ba9be6ad3b7f3d08df0b6ba5ac0a1da620deb0eb1cf2e840c16c91bb8b9e0159ffdcb248c11a2a1ebe9ea78ab80ce
+EBUILD binutils-2.44.ebuild 16465 BLAKE2B 9edd1d31c2e0b2204a01bbcdeda333d50ea4eee6a4de8ba48ac854ee818aa8d271ce304cb608580fcaeef2ce591f58bfc54c8c3bbf35b0d44b150fb32ec9ee44 SHA512 4a6a3114e7b3e0761ff9bd9c76e07814b333195b20dc1bcf2a8dc16881fa646881ffbb2ec7368db539982e66e69021653f52ecb9b9414bb2449d57e90a1eeb9d
+EBUILD binutils-9999.ebuild 16381 BLAKE2B eedac67ae186fb6448923e1eb8b15b518cd132e7523a1083ccab0c62c4102194548d472edac5389c1d35f05db797d9cc8fe9bc7a3e6e5e7e25266935aad69159 SHA512 8833620bc5aeec19c6006df32c333a69bfcd259e5671499997831d8df396c22ee31c1a451ef4965b9133c58a823e54be84bbdea20d485cd7669046752d390ffd
+MISC metadata.xml 1081 BLAKE2B 84552999d26b3fa492cd1fd9116339229bb88b0132c083355800c65df993650f23cdff42d232a150d36fc9b21b63001198fda9e39bac26459556a04002542069 SHA512 5be692843451ee199cae8e5aae10232de600ef8158190ff067818cc90884aaf7712c1f72941a6c64d19565d39a59190b8eeb770e6d123283b35385f23fc2f93d
diff --git a/sys-devel/binutils/binutils-2.42-r2.ebuild b/sys-devel/binutils/binutils-2.42-r2.ebuild
index 267d2d3fd4b8..741c42f7de4d 100644
--- a/sys-devel/binutils/binutils-2.42-r2.ebuild
+++ b/sys-devel/binutils/binutils-2.42-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -309,7 +309,7 @@ src_configure() {
if use hardened ; then
myconf+=(
- # TOOD: breaks glibc test suite
+ # TODO: breaks glibc test suite
#--enable-error-execstack=yes
#--enable-error-rwx-segments=yes
--enable-default-execstack=no
diff --git a/sys-devel/binutils/binutils-2.43-r2.ebuild b/sys-devel/binutils/binutils-2.43-r2.ebuild
index 3771850d2087..675b58d5c5fd 100644
--- a/sys-devel/binutils/binutils-2.43-r2.ebuild
+++ b/sys-devel/binutils/binutils-2.43-r2.ebuild
@@ -316,7 +316,7 @@ src_configure() {
if use hardened ; then
myconf+=(
- # TOOD: breaks glibc test suite
+ # TODO: breaks glibc test suite
#--enable-error-execstack=yes
#--enable-error-rwx-segments=yes
--enable-default-execstack=no
diff --git a/sys-devel/binutils/binutils-2.43.9999.ebuild b/sys-devel/binutils/binutils-2.43.9999.ebuild
index 1aaa2aa7ea05..aba22e72ca21 100644
--- a/sys-devel/binutils/binutils-2.43.9999.ebuild
+++ b/sys-devel/binutils/binutils-2.43.9999.ebuild
@@ -327,7 +327,7 @@ src_configure() {
if use hardened ; then
myconf+=(
- # TOOD: breaks glibc test suite
+ # TODO: breaks glibc test suite
#--enable-error-execstack=yes
#--enable-error-rwx-segments=yes
--enable-default-execstack=no
diff --git a/sys-devel/binutils/binutils-2.44.9999.ebuild b/sys-devel/binutils/binutils-2.44.9999.ebuild
new file mode 100644
index 000000000000..3c840be5f3ee
--- /dev/null
+++ b/sys-devel/binutils/binutils-2.44.9999.ebuild
@@ -0,0 +1,578 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
+
+DESCRIPTION="Tools necessary to build programs"
+HOMEPAGE="https://sourceware.org/binutils/"
+
+LICENSE="GPL-3+"
+IUSE="cet debuginfod doc gprofng hardened multitarget +nls pgo +plugins static-libs test vanilla xxhash zstd"
+
+# Variables that can be set here (ignored for live ebuilds)
+# PATCH_VER - the patchset version
+# Default: empty, no patching
+# PATCH_BINUTILS_VER - the binutils version in the patchset name
+# - Default: PV
+# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
+# for the patchsets
+
+PATCH_VER=1
+PATCH_DEV=dilfridge
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ SLOT=${PV}
+elif [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ SLOT=$(ver_cut 1-2)
+else
+ PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
+ PATCH_DEV=${PATCH_DEV:-dilfridge}
+ SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://sourceware.org/pub/binutils/releases/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz"
+ [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
+ SLOT=$(ver_cut 1-2)
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+#
+# The cross-compile logic
+#
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+#
+# The dependencies
+#
+RDEPEND="
+ >=sys-devel/binutils-config-3
+ sys-libs/zlib
+ debuginfod? (
+ dev-libs/elfutils[debuginfod(-)]
+ )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="
+ ${RDEPEND}
+ xxhash? ( dev-libs/xxhash )
+"
+BDEPEND="
+ doc? ( sys-apps/texinfo )
+ pgo? (
+ dev-util/dejagnu
+ app-alternatives/bc
+ )
+ test? (
+ dev-util/dejagnu
+ app-alternatives/bc
+ )
+ nls? ( sys-devel/gettext )
+ zstd? ( virtual/pkgconfig )
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+RESTRICT="!test? ( test )"
+
+MY_BUILDDIR=${WORKDIR}/build
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="
+ https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git
+ https://github.com/gentoo/binutils-patches
+ "
+ EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
+ git-r3_src_unpack
+ mv patches-git/9999 patch || die
+
+ if [[ ${PV} != 9999 ]] ; then
+ EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch
+ fi
+ EGIT_REPO_URI="
+ https://sourceware.org/git/binutils-gdb.git
+ https://git.sr.ht/~sourceware/binutils-gdb
+ https://gitlab.com/x86-binutils/binutils-gdb.git
+ "
+ S=${WORKDIR}/binutils
+ EGIT_CHECKOUT_DIR=${S}
+ git-r3_src_unpack
+ else
+ unpack ${P/-hppa64/}.tar.xz
+
+ cd "${WORKDIR}" || die
+ unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz
+
+ # _p patch versions are Gentoo specific tarballs ...
+ local dir=${P%_p?}
+ dir=${dir/-hppa64/}
+
+ S=${WORKDIR}/${dir}
+ fi
+
+ cd "${WORKDIR}" || die
+ mkdir -p "${MY_BUILDDIR}" || die
+}
+
+src_prepare() {
+ local patchsetname
+ if [[ ${PV} == 9999 ]] ; then
+ patchsetname="from git master"
+ elif [[ ${PV} == *9999 ]] ; then
+ patchsetname="from git branch ${EGIT_BRANCH}"
+ else
+ patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
+ fi
+
+ if [[ -n ${PATCH_VER} ]] || [[ ${PV} == *9999 ]] ; then
+ if ! use vanilla; then
+ einfo "Applying binutils patchset ${patchsetname}"
+ eapply "${WORKDIR}/patch"
+ einfo "Done."
+
+ # This is applied conditionally for now just out of caution.
+ # It should be okay on non-prefix systems though. See bug #892549.
+ if is_cross || use prefix; then
+ eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch \
+ "${FILESDIR}"/binutils-2.41-linker-prefix.patch
+ fi
+ fi
+ fi
+
+ # Make sure our explicit libdir paths don't get clobbered, bug #562460
+ sed -i \
+ -e 's:@bfdlibdir@:@libdir@:g' \
+ -e 's:@bfdincludedir@:@includedir@:g' \
+ {bfd,opcodes}/Makefile.in || die
+
+ # Apply things from PATCHES and user dirs
+ default
+
+ # Run misc portage update scripts
+ gnuconfig_update
+ elibtoolize --portage --no-uclibc
+}
+
+toolchain-binutils_bugurl() {
+ printf "https://bugs.gentoo.org/"
+}
+toolchain-binutils_pkgversion() {
+ printf "Gentoo ${PV}"
+ [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}"
+}
+
+src_configure() {
+ # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html
+ # Avoid really confusing logs from subconfigure spam, makes logs far
+ # more legible.
+ MAKEOPTS="--output-sync=line ${MAKEOPTS}"
+
+ # Setup some paths
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ TOOLPATH=/usr/${CHOST}/${CTARGET}
+ else
+ TOOLPATH=/usr/${CTARGET}
+ fi
+ BINPATH=${TOOLPATH}/binutils-bin/${PV}
+
+ # Make sure we filter $LINGUAS so that only ones that
+ # actually work make it through, bug #42033
+ strip-linguas -u */po
+
+ # Keep things sane
+ strip-flags
+ use cet && filter-flags -mindirect-branch -mindirect-branch=*
+ use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
+
+ local x
+ echo
+ for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do
+ einfo "$(printf '%10s' ${x}:) ${!x}"
+ done
+ echo
+
+ cd "${MY_BUILDDIR}" || die
+ local myconf=()
+
+ if use plugins ; then
+ myconf+=( --enable-plugins )
+ fi
+
+ if use nls ; then
+ myconf+=( --without-included-gettext )
+ else
+ myconf+=( --disable-nls )
+ fi
+
+ myconf+=( --with-system-zlib )
+
+ # For bi-arch systems, enable a 64bit bfd. This matches the bi-arch
+ # logic in toolchain.eclass. bug #446946
+ #
+ # We used to do it for everyone, but it's slow on 32bit arches. bug #438522
+ case $(tc-arch) in
+ ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;;
+ esac
+
+ use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd )
+
+ [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} )
+
+ is_cross && myconf+=(
+ --with-sysroot="${EPREFIX}"/usr/${CTARGET}
+ --enable-poison-system-directories
+ )
+
+ myconf+=( --enable-secureplt )
+
+ # mips can't do hash-style=gnu ...
+ if [[ $(tc-arch) != mips ]] ; then
+ myconf+=( --enable-default-hash-style=gnu )
+ fi
+
+ myconf+=(
+ --prefix="${EPREFIX}"/usr
+ --host=${CHOST}
+ --target=${CTARGET}
+ --datadir="${EPREFIX}"${DATAPATH}
+ --datarootdir="${EPREFIX}"${DATAPATH}
+ --infodir="${EPREFIX}"${DATAPATH}/info
+ --mandir="${EPREFIX}"${DATAPATH}/man
+ --bindir="${EPREFIX}"${BINPATH}
+ --libdir="${EPREFIX}"${LIBPATH}
+ --libexecdir="${EPREFIX}"${LIBPATH}
+ --includedir="${EPREFIX}"${INCPATH}
+ # portage's econf() does not detect presence of --d-d-t
+ # because it greps only top-level ./configure. But not
+ # libiberty's or bfd's configure.
+ --disable-dependency-tracking
+ --disable-silent-rules
+ --enable-obsolete
+ --enable-shared
+ --enable-threads
+ --enable-relro
+ --enable-install-libiberty
+ --enable-textrel-check=$(usex hardened error warning)
+ # Things to think about
+ #--enable-deterministic-archives
+ --enable-new-dtags
+ --disable-jansson
+ --disable-werror
+ --with-bugurl="$(toolchain-binutils_bugurl)"
+ --with-pkgversion="$(toolchain-binutils_pkgversion)"
+ $(use_enable static-libs static)
+ $(use_with xxhash)
+ $(use_with zstd)
+
+ # Disable modules that are in a combined binutils/gdb tree, bug #490566
+ --disable-{gdb,gdbserver,libbacktrace,libdecnumber,readline,sim}
+ # Strip out broken static link flags: https://gcc.gnu.org/PR56750
+ --without-stage1-ldflags
+ # Change SONAME to avoid conflict across {native,cross}/binutils, binutils-libs. bug #666100
+ --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)
+
+ $(use_with debuginfod)
+
+ # Avoid automagic dev-libs/msgpack dep, bug #865875
+ --without-msgpack
+
+ # Allow user to opt into CET for host libraries.
+ # Ideally we would like automagic-or-disabled here.
+ # But the check does not quite work on i686: bug #760926.
+ $(use_enable cet)
+
+ # We can enable this by default in future, but it's brand new
+ # in 2.39 with several bugs:
+ # - Doesn't build on musl (https://sourceware.org/bugzilla/show_bug.cgi?id=29477)
+ # - No man pages (https://sourceware.org/bugzilla/show_bug.cgi?id=29521)
+ # - Broken at runtime without Java (https://sourceware.org/bugzilla/show_bug.cgi?id=29479)
+ # - binutils-config (and this ebuild?) needs adaptation first (https://bugs.gentoo.org/865113)
+ $(use_enable gprofng)
+
+ # Enables colored disassembly by default (equivalent to passing
+ # --disassembler-color=terminal to all objdump invocations).
+ --enable-colored-disassembly
+ )
+
+ case ${CTARGET} in
+ x86_64-*|aarch64*|arm64*|i[3456]*)
+ # These hardening options are available from 2.39+ but
+ # they unconditionally enable the behaviour even on arches
+ # where e.g. execstacks can't be avoided.
+ # See https://sourceware.org/bugzilla/show_bug.cgi?id=29592.
+ #
+ # TODO: Get the logic for this fixed upstream so it doesn't
+ # create impossible broken combinations on some arches, like mips.
+ #
+ # TODO: Get the logic for this fixed upstream so --disable-* works
+ # as expected.
+ myconf+=(
+ --enable-warn-execstack=yes
+ --enable-warn-rwx-segments=yes
+ )
+
+ if use hardened ; then
+ myconf+=(
+ # TODO: breaks glibc test suite
+ #--enable-error-execstack=yes
+ #--enable-error-rwx-segments=yes
+ --enable-default-execstack=no
+ )
+ fi
+ ;;
+ *)
+ ;;
+ esac
+
+ if use elibc_musl ; then
+ # Override our earlier setting for musl, as textrels don't
+ # work there at all. See bug #707660.
+ myconf+=(
+ --enable-textrel-check=error
+ )
+ fi
+
+ if use test || { use pgo && tc-is-lto ; } ; then
+ # -Wa,* needs to be consistent everywhere or lto-wrapper will complain
+ filter-flags '-Wa,*'
+ fi
+
+ if ! is_cross ; then
+ myconf+=( $(use_enable pgo pgo-build $(tc-is-lto && echo "lto" || echo "yes")) )
+
+ if use pgo ; then
+ # We let configure handle it for us because it has to run
+ # the testsuite later on for profiling, and LTO isn't compatible
+ # with the testsuite.
+ filter-lto
+
+ export BUILD_CFLAGS="${CFLAGS}"
+ fi
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+
+ # Prevent makeinfo from running if doc is unset.
+ if ! use doc ; then
+ sed -i \
+ -e '/^MAKEINFO/s:=.*:= true:' \
+ Makefile || die
+ fi
+}
+
+src_compile() {
+ cd "${MY_BUILDDIR}" || die
+
+ # see Note [tooldir hack for ldscripts]
+ # see linker prefix patch
+ emake \
+ tooldir="${EPREFIX}${TOOLPATH}" \
+ gentoo_prefix=$(usex prefix-guest "${EPREFIX}"/usr /usr) \
+ all
+
+ # only build info pages if the user wants them
+ if use doc ; then
+ emake info
+ fi
+
+ # we nuke the manpages when we're left with junk
+ # (like when we bootstrap, no perl -> no manpages)
+ find . -name '*.1' -a -size 0 -delete
+}
+
+src_test() {
+ cd "${MY_BUILDDIR}" || die
+
+ (
+ # Tests don't expect LTO
+ filter-lto
+
+ # If we have e.g. -mfpmath=sse -march=pentium4 in CFLAGS,
+ # we'll get lto1 warnings for some tests which cause
+ # spurious failures because -mfpmath isn't passed at
+ # link-time. Filter accordingly.
+ #
+ # Alternatively, we could pass C{C,XX}_FOR_TARGET with
+ # some (ideally not all, surely would break some tests)
+ # stuffed in.
+ filter-flags '-mfpmath=*'
+
+ # lto-wrapper warnings which confuse tests
+ filter-flags '-Wa,*'
+
+ # bug #637066
+ filter-flags -Wall -Wreturn-type
+
+ emake -k check \
+ CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \
+ CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \
+ LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \
+ CFLAGS="${CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+ )
+}
+
+src_install() {
+ local x d
+
+ cd "${MY_BUILDDIR}" || die
+
+ # see Note [tooldir hack for ldscripts]
+ emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install
+ rm -rf "${ED}"/${LIBPATH}/bin || die
+ use static-libs || find "${ED}" -name '*.la' -delete
+
+ # Newer versions of binutils get fancy with ${LIBPATH}, bug #171905
+ cd "${ED}"/${LIBPATH} || die
+ for d in ../* ; do
+ [[ ${d} == ../${PV} ]] && continue
+ mv ${d}/* . || die
+ rmdir ${d} || die
+ done
+
+ # Now we collect everything intp the proper SLOT-ed dirs
+ # When something is built to cross-compile, it installs into
+ # /usr/$CHOST/ by default ... we have to 'fix' that :)
+ if is_cross ; then
+ cd "${ED}"/${BINPATH} || die
+ for x in * ; do
+ mv ${x} ${x/${CTARGET}-} || die
+ done
+
+ if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then
+ mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH}
+ mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/
+ rm -r "${ED}"/usr/${CHOST}/{include,lib}
+ fi
+ fi
+
+ insinto ${INCPATH}
+ local libiberty_headers=(
+ # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir.
+ demangle.h
+ dyn-string.h
+ fibheap.h
+ hashtab.h
+ libiberty.h
+ objalloc.h
+ splay-tree.h
+ )
+ doins "${libiberty_headers[@]/#/${S}/include/}"
+ if [[ -d ${ED}/${LIBPATH}/lib ]] ; then
+ mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ || die
+ rm -r "${ED}"/${LIBPATH}/lib || die
+ fi
+
+ # Generate an env.d entry for this binutils
+ insinto /etc/env.d/binutils
+ cat <<-EOF > "${T}"/env.d
+ TARGET="${CTARGET}"
+ VER="${PV}"
+ LIBPATH="${EPREFIX}${LIBPATH}"
+ EOF
+ newins "${T}"/env.d ${CTARGET}-${PV}
+
+ # Handle documentation
+ if ! is_cross ; then
+ cd "${S}" || die
+ dodoc README
+
+ docinto bfd
+ dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO
+
+ docinto binutils
+ dodoc binutils/ChangeLog binutils/NEWS binutils/README
+
+ docinto gas
+ dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README*
+
+ docinto gprof
+ dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl
+
+ docinto ld
+ dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
+
+ docinto libiberty
+ dodoc libiberty/ChangeLog* libiberty/README
+
+ docinto opcodes
+ dodoc opcodes/ChangeLog*
+ fi
+
+ # Remove shared info pages
+ rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info}
+
+ docompress "${DATAPATH}"/{info,man}
+
+ # Trim all empty dirs
+ find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null
+}
+
+pkg_postinst() {
+ # Make sure this ${CTARGET} has a binutils version selected
+ [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
+ binutils-config ${CTARGET}-${PV} || eerror binutils-config returned an error
+}
+
+pkg_postrm() {
+ local current_profile=$(binutils-config -c ${CTARGET})
+
+ # If no other versions exist, then uninstall for this
+ # target ... otherwise, switch to the newest version
+ # Note: only do this if this version is unmerged. We
+ # rerun binutils-config if this is a remerge, as
+ # we want the mtimes on the symlinks updated (if
+ # it is the same as the current selected profile)
+ if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then
+ local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}')
+ choice=${choice//$'\n'/ }
+ choice=${choice/* }
+ if [[ -z ${choice} ]] ; then
+ binutils-config -u ${CTARGET} || eerror binutils-config returned an error
+ else
+ binutils-config ${choice} || eerror binutils-config returned an error
+ fi
+ elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
+ binutils-config ${CTARGET}-${PV} || eerror binutils-config returned an error
+ fi
+}
+
+# Note [slotting support]
+# -----------------------
+# Gentoo's layout for binutils files is non-standard as Gentoo
+# supports slotted installation for binutils. Many tools
+# still expect binutils to reside in known locations.
+# binutils-config package restores symlinks into known locations,
+# like:
+# /usr/bin/${CTARGET}-<tool>
+# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips
+# /usr/include/
+#
+# Note [tooldir hack for ldscripts]
+# ---------------------------------
+# Build system does not allow ./configure to tweak every location
+# we need for slotting binutils hence all the shuffling in
+# src_install(). This note is about SCRIPTDIR define handling.
+#
+# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value
+# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib'
+# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time.
+# Thus we can't just move files around after compilation finished.
+#
+# Our goal is the following:
+# - at build-time set scriptdir to point to symlinked location:
+# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case)
+# - at install-time set scriptdir to point to slotted location:
+# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV}
diff --git a/sys-devel/binutils/binutils-2.44.ebuild b/sys-devel/binutils/binutils-2.44.ebuild
new file mode 100644
index 000000000000..d8629b626de8
--- /dev/null
+++ b/sys-devel/binutils/binutils-2.44.ebuild
@@ -0,0 +1,578 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
+
+DESCRIPTION="Tools necessary to build programs"
+HOMEPAGE="https://sourceware.org/binutils/"
+
+LICENSE="GPL-3+"
+IUSE="cet debuginfod doc gprofng hardened multitarget +nls pgo +plugins static-libs test vanilla xxhash zstd"
+
+# Variables that can be set here (ignored for live ebuilds)
+# PATCH_VER - the patchset version
+# Default: empty, no patching
+# PATCH_BINUTILS_VER - the binutils version in the patchset name
+# - Default: PV
+# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
+# for the patchsets
+
+PATCH_VER=1
+PATCH_DEV=dilfridge
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ SLOT=${PV}
+elif [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ SLOT=$(ver_cut 1-2)
+else
+ PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
+ PATCH_DEV=${PATCH_DEV:-dilfridge}
+ SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://sourceware.org/pub/binutils/releases/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz"
+ [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
+ SLOT=$(ver_cut 1-2)
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+
+#
+# The cross-compile logic
+#
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+#
+# The dependencies
+#
+RDEPEND="
+ >=sys-devel/binutils-config-3
+ sys-libs/zlib
+ debuginfod? (
+ dev-libs/elfutils[debuginfod(-)]
+ )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="
+ ${RDEPEND}
+ xxhash? ( dev-libs/xxhash )
+"
+BDEPEND="
+ doc? ( sys-apps/texinfo )
+ pgo? (
+ dev-util/dejagnu
+ app-alternatives/bc
+ )
+ test? (
+ dev-util/dejagnu
+ app-alternatives/bc
+ )
+ nls? ( sys-devel/gettext )
+ zstd? ( virtual/pkgconfig )
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+RESTRICT="!test? ( test )"
+
+MY_BUILDDIR=${WORKDIR}/build
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="
+ https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git
+ https://github.com/gentoo/binutils-patches
+ "
+ EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
+ git-r3_src_unpack
+ mv patches-git/9999 patch || die
+
+ if [[ ${PV} != 9999 ]] ; then
+ EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch
+ fi
+ EGIT_REPO_URI="
+ https://sourceware.org/git/binutils-gdb.git
+ https://git.sr.ht/~sourceware/binutils-gdb
+ https://gitlab.com/x86-binutils/binutils-gdb.git
+ "
+ S=${WORKDIR}/binutils
+ EGIT_CHECKOUT_DIR=${S}
+ git-r3_src_unpack
+ else
+ unpack ${P/-hppa64/}.tar.xz
+
+ cd "${WORKDIR}" || die
+ unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz
+
+ # _p patch versions are Gentoo specific tarballs ...
+ local dir=${P%_p?}
+ dir=${dir/-hppa64/}
+
+ S=${WORKDIR}/${dir}
+ fi
+
+ cd "${WORKDIR}" || die
+ mkdir -p "${MY_BUILDDIR}" || die
+}
+
+src_prepare() {
+ local patchsetname
+ if [[ ${PV} == 9999 ]] ; then
+ patchsetname="from git master"
+ elif [[ ${PV} == *9999 ]] ; then
+ patchsetname="from git branch ${EGIT_BRANCH}"
+ else
+ patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
+ fi
+
+ if [[ -n ${PATCH_VER} ]] || [[ ${PV} == *9999 ]] ; then
+ if ! use vanilla; then
+ einfo "Applying binutils patchset ${patchsetname}"
+ eapply "${WORKDIR}/patch"
+ einfo "Done."
+
+ # This is applied conditionally for now just out of caution.
+ # It should be okay on non-prefix systems though. See bug #892549.
+ if is_cross || use prefix; then
+ eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch \
+ "${FILESDIR}"/binutils-2.41-linker-prefix.patch
+ fi
+ fi
+ fi
+
+ # Make sure our explicit libdir paths don't get clobbered, bug #562460
+ sed -i \
+ -e 's:@bfdlibdir@:@libdir@:g' \
+ -e 's:@bfdincludedir@:@includedir@:g' \
+ {bfd,opcodes}/Makefile.in || die
+
+ # Apply things from PATCHES and user dirs
+ default
+
+ # Run misc portage update scripts
+ gnuconfig_update
+ elibtoolize --portage --no-uclibc
+}
+
+toolchain-binutils_bugurl() {
+ printf "https://bugs.gentoo.org/"
+}
+toolchain-binutils_pkgversion() {
+ printf "Gentoo ${PV}"
+ [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}"
+}
+
+src_configure() {
+ # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html
+ # Avoid really confusing logs from subconfigure spam, makes logs far
+ # more legible.
+ MAKEOPTS="--output-sync=line ${MAKEOPTS}"
+
+ # Setup some paths
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ TOOLPATH=/usr/${CHOST}/${CTARGET}
+ else
+ TOOLPATH=/usr/${CTARGET}
+ fi
+ BINPATH=${TOOLPATH}/binutils-bin/${PV}
+
+ # Make sure we filter $LINGUAS so that only ones that
+ # actually work make it through, bug #42033
+ strip-linguas -u */po
+
+ # Keep things sane
+ strip-flags
+ use cet && filter-flags -mindirect-branch -mindirect-branch=*
+ use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
+
+ local x
+ echo
+ for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do
+ einfo "$(printf '%10s' ${x}:) ${!x}"
+ done
+ echo
+
+ cd "${MY_BUILDDIR}" || die
+ local myconf=()
+
+ if use plugins ; then
+ myconf+=( --enable-plugins )
+ fi
+
+ if use nls ; then
+ myconf+=( --without-included-gettext )
+ else
+ myconf+=( --disable-nls )
+ fi
+
+ myconf+=( --with-system-zlib )
+
+ # For bi-arch systems, enable a 64bit bfd. This matches the bi-arch
+ # logic in toolchain.eclass. bug #446946
+ #
+ # We used to do it for everyone, but it's slow on 32bit arches. bug #438522
+ case $(tc-arch) in
+ ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;;
+ esac
+
+ use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd )
+
+ [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} )
+
+ is_cross && myconf+=(
+ --with-sysroot="${EPREFIX}"/usr/${CTARGET}
+ --enable-poison-system-directories
+ )
+
+ myconf+=( --enable-secureplt )
+
+ # mips can't do hash-style=gnu ...
+ if [[ $(tc-arch) != mips ]] ; then
+ myconf+=( --enable-default-hash-style=gnu )
+ fi
+
+ myconf+=(
+ --prefix="${EPREFIX}"/usr
+ --host=${CHOST}
+ --target=${CTARGET}
+ --datadir="${EPREFIX}"${DATAPATH}
+ --datarootdir="${EPREFIX}"${DATAPATH}
+ --infodir="${EPREFIX}"${DATAPATH}/info
+ --mandir="${EPREFIX}"${DATAPATH}/man
+ --bindir="${EPREFIX}"${BINPATH}
+ --libdir="${EPREFIX}"${LIBPATH}
+ --libexecdir="${EPREFIX}"${LIBPATH}
+ --includedir="${EPREFIX}"${INCPATH}
+ # portage's econf() does not detect presence of --d-d-t
+ # because it greps only top-level ./configure. But not
+ # libiberty's or bfd's configure.
+ --disable-dependency-tracking
+ --disable-silent-rules
+ --enable-obsolete
+ --enable-shared
+ --enable-threads
+ --enable-relro
+ --enable-install-libiberty
+ --enable-textrel-check=$(usex hardened error warning)
+ # Things to think about
+ #--enable-deterministic-archives
+ --enable-new-dtags
+ --disable-jansson
+ --disable-werror
+ --with-bugurl="$(toolchain-binutils_bugurl)"
+ --with-pkgversion="$(toolchain-binutils_pkgversion)"
+ $(use_enable static-libs static)
+ $(use_with xxhash)
+ $(use_with zstd)
+
+ # Disable modules that are in a combined binutils/gdb tree, bug #490566
+ --disable-{gdb,gdbserver,libbacktrace,libdecnumber,readline,sim}
+ # Strip out broken static link flags: https://gcc.gnu.org/PR56750
+ --without-stage1-ldflags
+ # Change SONAME to avoid conflict across {native,cross}/binutils, binutils-libs. bug #666100
+ --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)
+
+ $(use_with debuginfod)
+
+ # Avoid automagic dev-libs/msgpack dep, bug #865875
+ --without-msgpack
+
+ # Allow user to opt into CET for host libraries.
+ # Ideally we would like automagic-or-disabled here.
+ # But the check does not quite work on i686: bug #760926.
+ $(use_enable cet)
+
+ # We can enable this by default in future, but it's brand new
+ # in 2.39 with several bugs:
+ # - Doesn't build on musl (https://sourceware.org/bugzilla/show_bug.cgi?id=29477)
+ # - No man pages (https://sourceware.org/bugzilla/show_bug.cgi?id=29521)
+ # - Broken at runtime without Java (https://sourceware.org/bugzilla/show_bug.cgi?id=29479)
+ # - binutils-config (and this ebuild?) needs adaptation first (https://bugs.gentoo.org/865113)
+ $(use_enable gprofng)
+
+ # Enables colored disassembly by default (equivalent to passing
+ # --disassembler-color=terminal to all objdump invocations).
+ --enable-colored-disassembly
+ )
+
+ case ${CTARGET} in
+ x86_64-*|aarch64*|arm64*|i[3456]*)
+ # These hardening options are available from 2.39+ but
+ # they unconditionally enable the behaviour even on arches
+ # where e.g. execstacks can't be avoided.
+ # See https://sourceware.org/bugzilla/show_bug.cgi?id=29592.
+ #
+ # TODO: Get the logic for this fixed upstream so it doesn't
+ # create impossible broken combinations on some arches, like mips.
+ #
+ # TODO: Get the logic for this fixed upstream so --disable-* works
+ # as expected.
+ myconf+=(
+ --enable-warn-execstack=yes
+ --enable-warn-rwx-segments=yes
+ )
+
+ if use hardened ; then
+ myconf+=(
+ # TODO: breaks glibc test suite
+ #--enable-error-execstack=yes
+ #--enable-error-rwx-segments=yes
+ --enable-default-execstack=no
+ )
+ fi
+ ;;
+ *)
+ ;;
+ esac
+
+ if use elibc_musl ; then
+ # Override our earlier setting for musl, as textrels don't
+ # work there at all. See bug #707660.
+ myconf+=(
+ --enable-textrel-check=error
+ )
+ fi
+
+ if use test || { use pgo && tc-is-lto ; } ; then
+ # -Wa,* needs to be consistent everywhere or lto-wrapper will complain
+ filter-flags '-Wa,*'
+ fi
+
+ if ! is_cross ; then
+ myconf+=( $(use_enable pgo pgo-build $(tc-is-lto && echo "lto" || echo "yes")) )
+
+ if use pgo ; then
+ # We let configure handle it for us because it has to run
+ # the testsuite later on for profiling, and LTO isn't compatible
+ # with the testsuite.
+ filter-lto
+
+ export BUILD_CFLAGS="${CFLAGS}"
+ fi
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+
+ # Prevent makeinfo from running if doc is unset.
+ if ! use doc ; then
+ sed -i \
+ -e '/^MAKEINFO/s:=.*:= true:' \
+ Makefile || die
+ fi
+}
+
+src_compile() {
+ cd "${MY_BUILDDIR}" || die
+
+ # see Note [tooldir hack for ldscripts]
+ # see linker prefix patch
+ emake \
+ tooldir="${EPREFIX}${TOOLPATH}" \
+ gentoo_prefix=$(usex prefix-guest "${EPREFIX}"/usr /usr) \
+ all
+
+ # only build info pages if the user wants them
+ if use doc ; then
+ emake info
+ fi
+
+ # we nuke the manpages when we're left with junk
+ # (like when we bootstrap, no perl -> no manpages)
+ find . -name '*.1' -a -size 0 -delete
+}
+
+src_test() {
+ cd "${MY_BUILDDIR}" || die
+
+ (
+ # Tests don't expect LTO
+ filter-lto
+
+ # If we have e.g. -mfpmath=sse -march=pentium4 in CFLAGS,
+ # we'll get lto1 warnings for some tests which cause
+ # spurious failures because -mfpmath isn't passed at
+ # link-time. Filter accordingly.
+ #
+ # Alternatively, we could pass C{C,XX}_FOR_TARGET with
+ # some (ideally not all, surely would break some tests)
+ # stuffed in.
+ filter-flags '-mfpmath=*'
+
+ # lto-wrapper warnings which confuse tests
+ filter-flags '-Wa,*'
+
+ # bug #637066
+ filter-flags -Wall -Wreturn-type
+
+ emake -k check \
+ CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \
+ CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \
+ LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \
+ CFLAGS="${CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+ )
+}
+
+src_install() {
+ local x d
+
+ cd "${MY_BUILDDIR}" || die
+
+ # see Note [tooldir hack for ldscripts]
+ emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install
+ rm -rf "${ED}"/${LIBPATH}/bin || die
+ use static-libs || find "${ED}" -name '*.la' -delete
+
+ # Newer versions of binutils get fancy with ${LIBPATH}, bug #171905
+ cd "${ED}"/${LIBPATH} || die
+ for d in ../* ; do
+ [[ ${d} == ../${PV} ]] && continue
+ mv ${d}/* . || die
+ rmdir ${d} || die
+ done
+
+ # Now we collect everything intp the proper SLOT-ed dirs
+ # When something is built to cross-compile, it installs into
+ # /usr/$CHOST/ by default ... we have to 'fix' that :)
+ if is_cross ; then
+ cd "${ED}"/${BINPATH} || die
+ for x in * ; do
+ mv ${x} ${x/${CTARGET}-} || die
+ done
+
+ if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then
+ mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH}
+ mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/
+ rm -r "${ED}"/usr/${CHOST}/{include,lib}
+ fi
+ fi
+
+ insinto ${INCPATH}
+ local libiberty_headers=(
+ # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir.
+ demangle.h
+ dyn-string.h
+ fibheap.h
+ hashtab.h
+ libiberty.h
+ objalloc.h
+ splay-tree.h
+ )
+ doins "${libiberty_headers[@]/#/${S}/include/}"
+ if [[ -d ${ED}/${LIBPATH}/lib ]] ; then
+ mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ || die
+ rm -r "${ED}"/${LIBPATH}/lib || die
+ fi
+
+ # Generate an env.d entry for this binutils
+ insinto /etc/env.d/binutils
+ cat <<-EOF > "${T}"/env.d
+ TARGET="${CTARGET}"
+ VER="${PV}"
+ LIBPATH="${EPREFIX}${LIBPATH}"
+ EOF
+ newins "${T}"/env.d ${CTARGET}-${PV}
+
+ # Handle documentation
+ if ! is_cross ; then
+ cd "${S}" || die
+ dodoc README
+
+ docinto bfd
+ dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO
+
+ docinto binutils
+ dodoc binutils/ChangeLog binutils/NEWS binutils/README
+
+ docinto gas
+ dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README*
+
+ docinto gprof
+ dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl
+
+ docinto ld
+ dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
+
+ docinto libiberty
+ dodoc libiberty/ChangeLog* libiberty/README
+
+ docinto opcodes
+ dodoc opcodes/ChangeLog*
+ fi
+
+ # Remove shared info pages
+ rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info}
+
+ docompress "${DATAPATH}"/{info,man}
+
+ # Trim all empty dirs
+ find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null
+}
+
+pkg_postinst() {
+ # Make sure this ${CTARGET} has a binutils version selected
+ [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
+ binutils-config ${CTARGET}-${PV} || eerror binutils-config returned an error
+}
+
+pkg_postrm() {
+ local current_profile=$(binutils-config -c ${CTARGET})
+
+ # If no other versions exist, then uninstall for this
+ # target ... otherwise, switch to the newest version
+ # Note: only do this if this version is unmerged. We
+ # rerun binutils-config if this is a remerge, as
+ # we want the mtimes on the symlinks updated (if
+ # it is the same as the current selected profile)
+ if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then
+ local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}')
+ choice=${choice//$'\n'/ }
+ choice=${choice/* }
+ if [[ -z ${choice} ]] ; then
+ binutils-config -u ${CTARGET} || eerror binutils-config returned an error
+ else
+ binutils-config ${choice} || eerror binutils-config returned an error
+ fi
+ elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
+ binutils-config ${CTARGET}-${PV} || eerror binutils-config returned an error
+ fi
+}
+
+# Note [slotting support]
+# -----------------------
+# Gentoo's layout for binutils files is non-standard as Gentoo
+# supports slotted installation for binutils. Many tools
+# still expect binutils to reside in known locations.
+# binutils-config package restores symlinks into known locations,
+# like:
+# /usr/bin/${CTARGET}-<tool>
+# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips
+# /usr/include/
+#
+# Note [tooldir hack for ldscripts]
+# ---------------------------------
+# Build system does not allow ./configure to tweak every location
+# we need for slotting binutils hence all the shuffling in
+# src_install(). This note is about SCRIPTDIR define handling.
+#
+# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value
+# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib'
+# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time.
+# Thus we can't just move files around after compilation finished.
+#
+# Our goal is the following:
+# - at build-time set scriptdir to point to symlinked location:
+# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case)
+# - at install-time set scriptdir to point to slotted location:
+# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV}
diff --git a/sys-devel/binutils/binutils-9999.ebuild b/sys-devel/binutils/binutils-9999.ebuild
index cf451757ad6c..65d9f15ce0f0 100644
--- a/sys-devel/binutils/binutils-9999.ebuild
+++ b/sys-devel/binutils/binutils-9999.ebuild
@@ -9,7 +9,7 @@ DESCRIPTION="Tools necessary to build programs"
HOMEPAGE="https://sourceware.org/binutils/"
LICENSE="GPL-3+"
-IUSE="cet debuginfod doc gold gprofng hardened multitarget +nls pgo +plugins static-libs test vanilla zstd"
+IUSE="cet debuginfod doc gprofng hardened multitarget +nls pgo +plugins static-libs test vanilla xxhash zstd"
# Variables that can be set here (ignored for live ebuilds)
# PATCH_VER - the patchset version
@@ -60,7 +60,10 @@ RDEPEND="
)
zstd? ( app-arch/zstd:= )
"
-DEPEND="${RDEPEND}"
+DEPEND="
+ ${RDEPEND}
+ xxhash? ( dev-libs/xxhash )
+"
BDEPEND="
doc? ( sys-apps/texinfo )
pgo? (
@@ -205,10 +208,6 @@ src_configure() {
if use plugins ; then
myconf+=( --enable-plugins )
fi
- # enable gold (installed as ld.gold) and ld's plugin architecture
- if use gold ; then
- myconf+=( --enable-gold )
- fi
if use nls ; then
myconf+=( --without-included-gettext )
@@ -273,6 +272,7 @@ src_configure() {
--with-bugurl="$(toolchain-binutils_bugurl)"
--with-pkgversion="$(toolchain-binutils_pkgversion)"
$(use_enable static-libs static)
+ $(use_with xxhash)
$(use_with zstd)
# Disable modules that are in a combined binutils/gdb tree, bug #490566
@@ -294,9 +294,9 @@ src_configure() {
# We can enable this by default in future, but it's brand new
# in 2.39 with several bugs:
- # - Doesn't build on musl (https://sourceware.org/bugzilla/show_bug.cgi?id=29477)
- # - No man pages (https://sourceware.org/bugzilla/show_bug.cgi?id=29521)
- # - Broken at runtime without Java (https://sourceware.org/bugzilla/show_bug.cgi?id=29479)
+ # - Doesn't build on musl (https://sourceware.org/PR29477)
+ # - No man pages (https://sourceware.org/PR29521)
+ # - Broken at runtime without Java (https://sourceware.org/PR29479)
# - binutils-config (and this ebuild?) needs adaptation first (https://bugs.gentoo.org/865113)
$(use_enable gprofng)
@@ -310,7 +310,7 @@ src_configure() {
# These hardening options are available from 2.39+ but
# they unconditionally enable the behaviour even on arches
# where e.g. execstacks can't be avoided.
- # See https://sourceware.org/bugzilla/show_bug.cgi?id=29592.
+ # See https://sourceware.org/PR29592.
#
# TODO: Get the logic for this fixed upstream so it doesn't
# create impossible broken combinations on some arches, like mips.
@@ -324,7 +324,7 @@ src_configure() {
if use hardened ; then
myconf+=(
- # TOOD: breaks glibc test suite
+ # TODO: breaks glibc test suite
#--enable-error-execstack=yes
#--enable-error-rwx-segments=yes
--enable-default-execstack=no
@@ -398,6 +398,16 @@ src_test() {
# Tests don't expect LTO
filter-lto
+ # If we have e.g. -mfpmath=sse -march=pentium4 in CFLAGS,
+ # we'll get lto1 warnings for some tests which cause
+ # spurious failures because -mfpmath isn't passed at
+ # link-time. Filter accordingly.
+ #
+ # Alternatively, we could pass C{C,XX}_FOR_TARGET with
+ # some (ideally not all, surely would break some tests)
+ # stuffed in.
+ filter-flags '-mfpmath=*'
+
# lto-wrapper warnings which confuse tests
filter-flags '-Wa,*'
diff --git a/sys-devel/binutils/metadata.xml b/sys-devel/binutils/metadata.xml
index 3cc106863437..88560e418c0e 100644
--- a/sys-devel/binutils/metadata.xml
+++ b/sys-devel/binutils/metadata.xml
@@ -14,6 +14,7 @@
<flag name="plugins">Enable plugin support in tools</flag>
<flag name="multitarget">Adds support to binutils for cross compiling (does not work with gas)</flag>
<flag name="debuginfod">Enable debuginfod support via <pkg>dev-libs/elfutils</pkg> libdebuginfod</flag>
+ <flag name="xxhash">Use <pkg>dev-libs/xxhash</pkg> for --build-id=xx support</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:gnu:binutils</remote-id>
diff --git a/sys-devel/bison/Manifest b/sys-devel/bison/Manifest
index 712e675e3b59..3fad30fe488f 100644
--- a/sys-devel/bison/Manifest
+++ b/sys-devel/bison/Manifest
@@ -2,5 +2,5 @@ AUX bison-3.8.2-gcc15-glibcxx-assertions.patch 2340 BLAKE2B 8e7afaa6d42a9c8eccaa
DIST bison-3.8.2.tar.xz 2817324 BLAKE2B e211b61494c911f55b72a8b70b5a48cdf4000ce9e675a1f1f52735bb8f57d93a3f8075341451263af9c9c531004907ae2b62b1873e7e4664c2cd26fa3b12271c SHA512 d4d23af6671406e97257892f90651b67f2ab95219831372be032190b7156c10a3435d457857e677445df8b2327aacccc15344acbbc3808a6f332a93cce23b444
DIST bison-3.8.2.tar.xz.sig 195 BLAKE2B b9bd21adb5115d3d3174c94223fbc9cd33afa0e9c1805008e49f77ff154fc2b656d8a9e9503dc5290658ae2948a2ca7c0dbc812f62aec268d8f8bfafb6349096 SHA512 8bb7743ca326e81a6c091b1413e3c09bd43c7eabbb80bac0638ccd52bdf7e3395cce300a86acd95f4637a9ec8a1b0e9a4d3d25d95ab0a8f03e57fd82eb87a7ac
EBUILD bison-3.8.2-r2.ebuild 3007 BLAKE2B 383ff56feae6295d9b11e32e15578be954f3c0b5aa8142f1971657a425885fad440fd9bdbc392efd2f5b0101d96cbb0ecad0fed985cdcafd6a125e8e39a72194 SHA512 c0c5fa9907c1bb4196c255b54dee86a919eeb4d5e11eee3e19ae2c6f2c7c23b6d693ec03dceeea6fd665e060507e26ddff8cfdffff939c7d98782a576548217f
-EBUILD bison-3.8.2-r3.ebuild 3080 BLAKE2B 834e167653c0fa1a5e335546ae7ea411980207f8be0a48f5542969b2ebbeef30aca10e80caeed6b65eb256e95d7a157ec23b8a49f6c8d28b6fc982f5daa66d45 SHA512 2ab87f41172c77eef5c3b6b9e6c705acd42eea58777b71d16b1060a43508136134f7dc560802a2911b915a09d41d3bdd901f1db5111c15243d444a807b64f5ce
+EBUILD bison-3.8.2-r3.ebuild 3079 BLAKE2B 37c86202cceb4e658c1da5d93a2dfa9c807fd95e356297e56671d507b52b67f41d80ebe86ea8269580a0381f7d7dd1e416f98ce194f4e78ec1113ac42883aa31 SHA512 a49ab30e5e080dbf5d40633595d75aa3093d80a276651f10729655810879c92fb4f286e480f24cf220696ade96896cd2e15951cab0da8c504e54801658db77c4
MISC metadata.xml 434 BLAKE2B ff2a68a1c7ee92b241c18b0b7e9760dfb8355b50061096e525a7b3e50d7882054a3b4407138156747b4fe011d50c9bf83f6d81d99c61682c73fd97e7deaa8b5f SHA512 2709d880cc8b3a25a8e5790eebd62e491ea51b91b62a387763e66e75e1b650482b55933c2010c110eefc61adc8284de519edf68d67ee7eb430f9bfb0d843ac6c
diff --git a/sys-devel/bison/bison-3.8.2-r3.ebuild b/sys-devel/bison/bison-3.8.2-r3.ebuild
index b8c28351a7c5..82a6f6ebe1c2 100644
--- a/sys-devel/bison/bison-3.8.2-r3.ebuild
+++ b/sys-devel/bison/bison-3.8.2-r3.ebuild
@@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="examples nls static test"
RESTRICT="!test? ( test )"
diff --git a/sys-devel/bpf-toolchain/Manifest b/sys-devel/bpf-toolchain/Manifest
index 5f2cdda85184..1e1e9122d6e9 100644
--- a/sys-devel/bpf-toolchain/Manifest
+++ b/sys-devel/bpf-toolchain/Manifest
@@ -1,4 +1,4 @@
DIST binutils-2.43.1.tar.xz 28174300 BLAKE2B c4cd765cea326cd00b5cfe306e2937d820603b42f07a714ceb1349d36ddba0d45c3e125599dadf290d97954035c381781067155600ed87066e494cb9c4b34b45 SHA512 20977ad17729141a2c26d358628f44a0944b84dcfefdec2ba029c2d02f40dfc41cc91c0631044560d2bd6f9a51e1f15846b4b311befbe14f1239f14ff7d57824
DIST gcc-14.2.0.tar.xz 92306460 BLAKE2B 87baf2a06dfa75d8fb6cd62c747ef1f57d3b9bbbe33a360d9ed3de4b4dbeaa8d920504c67e409bd9863414202c14fd854b46108e984418171205119216d03d3b SHA512 932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396
-EBUILD bpf-toolchain-14.2.0_p1.ebuild 6458 BLAKE2B ee8692cc2729d00c0ae82c9437118d178eeb63fa2af5ae100f9173a6640ef9389c8a5f36840952bc341d6890cac64b1ba153a0b8a30c81a05fc2ef85b226ab6b SHA512 ef2c3c7b2f89304a448b55c9b71fa0df69af1fdc6d89d4a9b3ea3b4aad3b5935c9c92b7815f969bf99c6df73757d6a33ba2877af209ee1e9398ae1e7c06e65f7
+EBUILD bpf-toolchain-14.2.0_p1.ebuild 6464 BLAKE2B 588d18a31e45b46e1bdffdd0fd260636a378c20a86e0438900598f17e9a90e734d4c5b88443f68c5b53d40a9842e94c3a8a7e997fb4bc657a16e75f10de9e5d6 SHA512 8cdca8a8b38b85cc365802537ed9849625288b2bfc74b04188fde88c96fdac6c58e41d0bd5c49cf55f52649a35715cfbaa14fbed969523363077ef5d9ef1e8cb
MISC metadata.xml 599 BLAKE2B c41d219a2ba989105be860668dae9a75ed7283924017bc5f452853325f7800d90f87f3acd8c56c51efbc150a45d630f20dff2867a73753e4a71fef2cc5adea04 SHA512 c0e7d480106f9803602288191de6b5295d80c8f4da7458dd1630dcb40ea67cf0e1258865bd7be646306b60700c991ed15c487d54c083f2a65717ac46c27a70de
diff --git a/sys-devel/bpf-toolchain/bpf-toolchain-14.2.0_p1.ebuild b/sys-devel/bpf-toolchain/bpf-toolchain-14.2.0_p1.ebuild
index 3644b4e4e259..73526b0e40a8 100644
--- a/sys-devel/bpf-toolchain/bpf-toolchain-14.2.0_p1.ebuild
+++ b/sys-devel/bpf-toolchain/bpf-toolchain-14.2.0_p1.ebuild
@@ -40,7 +40,7 @@ LICENSE="
LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 )
"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+bin-symlinks custom-cflags +strip"
RDEPEND="
diff --git a/sys-devel/clang-crossdev-wrappers/Manifest b/sys-devel/clang-crossdev-wrappers/Manifest
index f9457aeae90d..c715e7ae3098 100644
--- a/sys-devel/clang-crossdev-wrappers/Manifest
+++ b/sys-devel/clang-crossdev-wrappers/Manifest
@@ -1,5 +1,6 @@
-EBUILD clang-crossdev-wrappers-16.ebuild 996 BLAKE2B 56a2eac0f968771216c974bbb55f4dbf1ea3fe39e23b0bac0836cc4120e06c25c5b47c1daa4b3f2be15442f69344edfd6190e651d5a93b918e1996ec317258ba SHA512 24cec49a7e8fee2ee340c46a6534e15779466dd0ed96fe386a5c1aeb1aafee0a6c0302fd3eeea396d088964e9dd5213c6af7a3705a30cbe46b40bb5242f76156
-EBUILD clang-crossdev-wrappers-17.ebuild 996 BLAKE2B 56a2eac0f968771216c974bbb55f4dbf1ea3fe39e23b0bac0836cc4120e06c25c5b47c1daa4b3f2be15442f69344edfd6190e651d5a93b918e1996ec317258ba SHA512 24cec49a7e8fee2ee340c46a6534e15779466dd0ed96fe386a5c1aeb1aafee0a6c0302fd3eeea396d088964e9dd5213c6af7a3705a30cbe46b40bb5242f76156
-EBUILD clang-crossdev-wrappers-18.ebuild 1003 BLAKE2B 191b26e83e16debcef0636ab948bf9df52fb61373d7a97c5710a7a881a7bc6c208f0a093cf8bb4bda593e105ec49ba40b87281d894df84b846825754f635b940 SHA512 734ce2a7e4f2ff4fb9922333669076474fe84c73eabc6e6e460beb43c9b16fc9cfce1e5a3bcdf9a605dec6545edef057d9d561d5fef2614a9488c3a01e0c82a9
-EBUILD clang-crossdev-wrappers-19.ebuild 928 BLAKE2B fa6de481884755c7231ed388b364edbbae1099d8e333e1890f85aab20f23e0d2f8f931acd8560164a7442a24495fb73189871f15bfadb9e19a4c6ad2707d18c9 SHA512 a3a7698657ec490d98b7d66829df12a2a4f9ffabf764f601a78dbf55014a1933f70f7ce9aae3e6e3d149801e9e8347957d362f072b3c85dfa4f240441368ac9b
+EBUILD clang-crossdev-wrappers-16.ebuild 975 BLAKE2B 8c32f9f4dc0d4bc4cab789684f39264c223d386df7076fa70b7ccd9de0040c7caaec7361ee12b48695136168ba48e324c0024c57e79ea970710868346b98bfba SHA512 a217d3e066c8aa5cb527d4c2c2bdcf015273fce92ff842cb9f029639ce7cd81730ce54fdc4af67faad8d7f956014080a5a6e1c29a44669e36b5fbaba9b2e875e
+EBUILD clang-crossdev-wrappers-17.ebuild 975 BLAKE2B 8c32f9f4dc0d4bc4cab789684f39264c223d386df7076fa70b7ccd9de0040c7caaec7361ee12b48695136168ba48e324c0024c57e79ea970710868346b98bfba SHA512 a217d3e066c8aa5cb527d4c2c2bdcf015273fce92ff842cb9f029639ce7cd81730ce54fdc4af67faad8d7f956014080a5a6e1c29a44669e36b5fbaba9b2e875e
+EBUILD clang-crossdev-wrappers-18.ebuild 981 BLAKE2B 73de4506f2e2ec3a38b3813827a82b39b75a2a1dbb1288f8f14a5539fdc7e957d45af7e1fa72f0b27f81e74f5f42f85ce0d080cbb185d6e653b5cc9838aa3105 SHA512 7dabe2e7e84e4a8e51d8b3649df0ffe162e721521e3660cf37ee9179966fce12e05be1ebd91858d1716e07f8bc88498c6ab5b90f828b38aa6f6816d3b740abcb
+EBUILD clang-crossdev-wrappers-19.ebuild 999 BLAKE2B f53fc876389bce28ccd6b410820f76e5b0e51570191831c60104f0b5da385a69d9d10f4657d2266c485d8724889b13c06a7e7ae3c1ab981c2e93f9296b6f1f0a SHA512 f35fdb8afb006addc9fb494bc1430a09b1086ef53d9b55777277c600a2a6a43249c10bc74227502b07104908f5e0c6a306ea836459b97e9ec90d32cb0945bc42
+EBUILD clang-crossdev-wrappers-20.ebuild 895 BLAKE2B e0a139f452496de51af7f679a0546ff1149a3d7ccb448ed71fe0462d5781c94cce6d518f331e87505e73667a4889506ca1a3f8caecbf0719dd1c89d04b04f102 SHA512 fd992f0ddcb23ad183a68391897d10dad9f616a5e0f76866e6fd0cad0a9e9b40733fbfb160157a15632345a538259ed62a460ac598746bb49e19a21216845600
MISC metadata.xml 308 BLAKE2B 8a56e0600fd80db6bd01529b04bd4616962e67ee955c95cc6082153f6835efc50e405d18f778ebdb67572c9fe552f6f292ddb960e2802c4bfdac88e00d911d37 SHA512 4c6483cbed3a1b379d433406ac7f04af61d7a0baa8df68e84a173c2d25d6b1dd27e961215235c7cf59a62c5db5917ef8af06696cf84e52d40b364b688c49458a
diff --git a/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-16.ebuild b/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-16.ebuild
index 8c956f0568fa..7681bde0dd88 100644
--- a/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-16.ebuild
+++ b/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-16.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,6 @@ inherit crossdev
DESCRIPTION="Symlinks to a Clang crosscompiler"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:LLVM"
-SRC_URI=""
S=${WORKDIR}
LICENSE="public-domain"
@@ -20,7 +19,7 @@ RDEPEND="
"
src_install() {
- local llvm_path="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ local llvm_path="/usr/lib/llvm/${SLOT}"
into "${llvm_path}"
for exe in "clang" "clang++" "clang-cpp"; do
diff --git a/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-17.ebuild b/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-17.ebuild
index 8c956f0568fa..7681bde0dd88 100644
--- a/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-17.ebuild
+++ b/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-17.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,6 @@ inherit crossdev
DESCRIPTION="Symlinks to a Clang crosscompiler"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:LLVM"
-SRC_URI=""
S=${WORKDIR}
LICENSE="public-domain"
@@ -20,7 +19,7 @@ RDEPEND="
"
src_install() {
- local llvm_path="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ local llvm_path="/usr/lib/llvm/${SLOT}"
into "${llvm_path}"
for exe in "clang" "clang++" "clang-cpp"; do
diff --git a/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-18.ebuild b/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-18.ebuild
index 344337caf896..500d6e8d3742 100644
--- a/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-18.ebuild
+++ b/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-18.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,12 +7,11 @@ inherit crossdev
DESCRIPTION="Symlinks to a Clang crosscompiler"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:LLVM"
-SRC_URI=""
S=${WORKDIR}
LICENSE="public-domain"
SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~arm64-macos ~x64-macos"
RDEPEND="
llvm-core/clang:${SLOT}
@@ -20,7 +19,7 @@ RDEPEND="
"
src_install() {
- local llvm_path="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ local llvm_path="/usr/lib/llvm/${SLOT}"
into "${llvm_path}"
for exe in "clang" "clang++" "clang-cpp"; do
diff --git a/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-19.ebuild b/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-19.ebuild
index 0681adeb8455..2387858ba289 100644
--- a/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-19.ebuild
+++ b/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-19.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,12 +7,11 @@ inherit crossdev
DESCRIPTION="Symlinks to a Clang crosscompiler"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:LLVM"
-SRC_URI=""
S=${WORKDIR}
LICENSE="public-domain"
SLOT="${PV}"
-KEYWORDS=""
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~arm64-macos ~x64-macos"
PROPERTIES="live"
RDEPEND="
@@ -21,7 +20,7 @@ RDEPEND="
"
src_install() {
- local llvm_path="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ local llvm_path="/usr/lib/llvm/${SLOT}"
into "${llvm_path}"
for exe in "clang" "clang++" "clang-cpp"; do
diff --git a/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-20.ebuild b/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-20.ebuild
new file mode 100644
index 000000000000..38497dbb9fa7
--- /dev/null
+++ b/sys-devel/clang-crossdev-wrappers/clang-crossdev-wrappers-20.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit crossdev
+
+DESCRIPTION="Symlinks to a Clang crosscompiler"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:LLVM"
+S=${WORKDIR}
+
+LICENSE="public-domain"
+SLOT="${PV}"
+PROPERTIES="live"
+
+RDEPEND="
+ llvm-core/clang:${SLOT}
+ llvm-core/lld:${SLOT}
+"
+
+src_install() {
+ local llvm_path="/usr/lib/llvm/${SLOT}"
+ into "${llvm_path}"
+
+ for exe in "clang" "clang++" "clang-cpp"; do
+ newbin - "${CTARGET}-${exe}" <<-EOF
+ #!/bin/sh
+ exec ${exe}-${SLOT} --no-default-config --config="/etc/clang/cross/${CTARGET}.cfg" \${@}
+ EOF
+ done
+
+ local tools=(
+ ${CTARGET}-clang-${SLOT}:${CTARGET}-clang
+ ${CTARGET}-clang-cpp-${SLOT}:${CTARGET}-clang-cpp
+ ${CTARGET}-clang++-${SLOT}:${CTARGET}-clang++
+ )
+
+ local t
+ for t in "${tools[@]}"; do
+ dosym "${t#*:}" "${llvm_path}/bin/${t%:*}"
+ done
+}
diff --git a/sys-devel/crosstool-ng/Manifest b/sys-devel/crosstool-ng/Manifest
index 1861cb62f44c..30c1e31da286 100644
--- a/sys-devel/crosstool-ng/Manifest
+++ b/sys-devel/crosstool-ng/Manifest
@@ -1,4 +1,6 @@
DIST crosstool-ng-1.26.0.tar.xz 1144720 BLAKE2B 68c38dca58a239bd2a7a4e0f0adfa0069d97aba632c8a8a70594a67bf1049f0576db2d20b8a6ac90b170c1a3d8245f952a949e4fd006abe1d5e54effbb8e100b SHA512 7834184ae5792fd347455f9f48fee826248dcb82d271954ed4304b1a18f63995ff8a2c3b817564dcf147ac7e16e02d779195b26d97eb57db27f1118a1837002a
+DIST crosstool-ng-1.27.0.tar.xz 1163084 BLAKE2B 6f9c7e16a6bdccbfd31fd7839df59878deedf193251ef0896bfde79b9b844646b83316fdaf26ca826377375cc36f77e6ddf6503c10ca30dbcf9d9086b3272830 SHA512 2201106561a199ebaddd238ed5158f62f63787333b87d2692aa726ad21bc90b08483deed7257fc35af995e355cfb567d7550b5ea171259ec5a0e0c3bee3b3ca2
EBUILD crosstool-ng-1.26.0-r1.ebuild 1715 BLAKE2B 13d4fc08a83bc2bfed5f7f20fb11c81c20c0e1e584798a37953037f909dd954cc7ffb34e04b782be07fb8cdd83a0a88b0cdaf6751cd170c06ef5ce8244b7dd5c SHA512 495b9002de96e19b98b9cc635d7d86ac16d2ad04e1a73aaf088ea25530a175625add3940cc45f9f1514edb400f03f744f2e53ee818e0c3c2e8b5764cbc2dfd0d
-EBUILD crosstool-ng-9999.ebuild 2152 BLAKE2B c6bc736dbf5019427043d79c37dfaf4401e410f60059fa9e0ed53d8c408185091d88515ea5960f284ae139ba8911ffa0aa8dd14f947f260c9c485c8e8b254a46 SHA512 e845065fd4d1b7610b7fc7ae5c35c5761308861578728d3b89eb9f538c457e72df7eaedbc278bc4edc048c7894ef74a87b5d2e3e6ffc555db2ddeb504c718054
+EBUILD crosstool-ng-1.27.0.ebuild 2018 BLAKE2B 200e1babd59ef3285bd5ba5a0fc7e56f42f008ccee8108041b7461b5599bf7c18d86357ab85d7fc9fffa861b4a5f9a12470269a405c1f17b8c18591fc4ba1ba0 SHA512 f0cdea868cfc3ea30471493d37976da721903eca33cd970b0ca7b846b8d17221ef2603957c0456966f38a1511fae3c8c346dc79dcabf3e2b40608415b71b2dd7
+EBUILD crosstool-ng-9999.ebuild 2018 BLAKE2B 200e1babd59ef3285bd5ba5a0fc7e56f42f008ccee8108041b7461b5599bf7c18d86357ab85d7fc9fffa861b4a5f9a12470269a405c1f17b8c18591fc4ba1ba0 SHA512 f0cdea868cfc3ea30471493d37976da721903eca33cd970b0ca7b846b8d17221ef2603957c0456966f38a1511fae3c8c346dc79dcabf3e2b40608415b71b2dd7
MISC metadata.xml 973 BLAKE2B e910f49277500ae3bebdd7307c8e6bce9cf8b16e968790c308c08678da2742ce04aae68b6fef00af59c4f56ecfbf6a1ed1a7a255d7c78925af30e0ecd22195a1 SHA512 012a54cb5bac5775dd0f7ea8980a8422a108d3447ec34386ca5c1d2fd5bb996e22e2a683a66b401822ccf59aee864580066c97d3d6b85c797373223c68e47379
diff --git a/sys-devel/crosstool-ng/crosstool-ng-1.27.0.ebuild b/sys-devel/crosstool-ng/crosstool-ng-1.27.0.ebuild
new file mode 100644
index 000000000000..2a0c5d8f9e91
--- /dev/null
+++ b/sys-devel/crosstool-ng/crosstool-ng-1.27.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit python-single-r1
+
+DESCRIPTION="Versatile (cross-)toolchain generator"
+HOMEPAGE="https://crosstool-ng.github.io/"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/crosstool-ng/crosstool-ng.git"
+ inherit autotools git-r3
+else
+ SRC_URI="
+ https://github.com/crosstool-ng/crosstool-ng/releases/download/${PN}-${PV/_rc/-rc}/${P}.tar.xz
+ http://crosstool-ng.org/download/crosstool-ng/${P}.tar.xz
+ "
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~amd64 ~x86"
+ fi
+fi
+
+LICENSE="GPL-2 doc? ( CC-BY-SA-2.5 )"
+SLOT="0"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+IUSE="curl cvs doc dtc git lzip meson ninja python rsync subversion wget"
+
+# TODO: Consider dropping these USE (optfeature), but configure does check for them
+BDEPEND="
+ app-arch/unzip
+ >=app-shells/bash-3.1
+ sys-apps/help2man
+ >=sys-apps/sed-4.0
+ sys-apps/gawk
+ sys-apps/texinfo
+ sys-apps/which
+ sys-devel/bison
+ sys-devel/flex
+ curl? ( net-misc/curl )
+ cvs? ( dev-vcs/cvs )
+ dtc? ( sys-apps/dtc )
+ git? ( dev-vcs/git )
+ lzip? ( app-arch/lzip )
+ meson? ( dev-build/meson )
+ python? ( ${PYTHON_DEPS} )
+ ninja? ( app-alternatives/ninja )
+ rsync? ( net-misc/rsync )
+ subversion? ( dev-vcs/subversion )
+ wget? ( net-misc/wget )
+"
+RDEPEND="
+ ${BDEPEND}
+"
+
+src_prepare() {
+ if [[ ${PV} == 9999 ]]; then
+ # Some data files must be generated before autoreconf, and the logic
+ # is non-trivial, so the upstream bootstrap script must be used.
+ # In addition, eautoreconf mis-detects the project to make use of
+ # gettext while it actually isn't, so just rely on the invocation of
+ # autoreconf for us in the bootstrap script.
+ ./bootstrap || die "bootstrap failed"
+ fi
+
+ default
+}
+
+src_configure() {
+ # Needs bison+flex
+ unset YACC LEX
+
+ CONFIG_SHELL="${BROOT}"/bin/bash econf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ rm -f "${ED}"/usr/share/man/man1/ct-ng.1.gz || die
+ doman docs/ct-ng.1
+}
diff --git a/sys-devel/crosstool-ng/crosstool-ng-9999.ebuild b/sys-devel/crosstool-ng/crosstool-ng-9999.ebuild
index 78700c65fe2d..2a0c5d8f9e91 100644
--- a/sys-devel/crosstool-ng/crosstool-ng-9999.ebuild
+++ b/sys-devel/crosstool-ng/crosstool-ng-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit python-single-r1
DESCRIPTION="Versatile (cross-)toolchain generator"
@@ -73,17 +73,12 @@ src_configure() {
# Needs bison+flex
unset YACC LEX
- default
+ CONFIG_SHELL="${BROOT}"/bin/bash econf
}
src_install() {
emake DESTDIR="${D}" install
- if use doc ; then
- mv "${ED}"/usr/share/doc/crosstool-ng/crosstool-ng-${PVR} "${ED}"/usr/share/doc/ || die
- fi
-
- rm -rf "${ED}"/usr/share/doc/crosstool-ng || die
- rm -rf "${ED}"/usr/share/man/man1/ct-ng.1.gz || die
+ rm -f "${ED}"/usr/share/man/man1/ct-ng.1.gz || die
doman docs/ct-ng.1
}
diff --git a/sys-devel/dev86/Manifest b/sys-devel/dev86/Manifest
index 8864431fb32b..0f63a315de2b 100644
--- a/sys-devel/dev86/Manifest
+++ b/sys-devel/dev86/Manifest
@@ -2,7 +2,10 @@ AUX dev86-0.16.19-fortify.patch 325 BLAKE2B 3747ed3c7cc2df559bfdec185e1db8d45138
AUX dev86-0.16.21-make.patch 2299 BLAKE2B 7bc53ca455c545fe72b71a0daae8de8fd54da6ec915edfabd0d44acef2d3525936272fa666de5f6126013491d4b9f8b93f2086106177210d3490620eeec7771e SHA512 d75913f1c340a4601ca56cda5ad9cf389c0bac874b8f23e2a1362150e26d02ca3da53aee96a47136a3daf06b3020744680e3e479870199f1304bb2f9afd1ab45
AUX dev86-0.16.21-non-void-return-clang.patch 425 BLAKE2B e781f5f38fb5cd4c427aaccc6d47f8935797bc92ac4024ca6bef2c40585ace38bd720e9cf4b3be391d81ff0e4e8708bbf5758979d544417e135430cbd1a06af8 SHA512 57781aab833999b86d57a4c62d686b61f11a64225debf82ca57252bfe5043d0bdef04749bbbf3e1af73a6d40242ebd5efa41b147e4677b7c8ed4b071c5100318
AUX dev86-0.16.21-void-return-check-msdos-clang-fix.patch 512 BLAKE2B 41644161eeb5f28a016f5c70bd5a303217cea9eda2b9c81625779b7d07c01de625d63b53292eea876e48610c88bc836d7e63b41d169cd0be666a02aad178bf03 SHA512 97ef0ecf2294fe1bf6db6ad393023075a9713c4d44ea7acc4a0cb2569e25be8ee35e51d69d9cc2e554f36e8a022a6f686ec0ed1f84ae19560ec91c6da2bc6a81
+AUX dev86-1.0.1-makefile.patch 1867 BLAKE2B d6315c1815792763f4891dd860d7abe25aae3160ee50b0b7fe634f568d1a0be7bd6a83d15cfe7ae6d12d5cb447922a9e2056d406f7a193f8ec7573194c592fd7 SHA512 4ee5542b1619ff4d30147176d4180c5f3223e020fc315646147143bb6a75eb7a5ccd0baa2aacb5e5408f48a90ecbcf9e0c2580a563ef35d9c9923e0301d05fdb
AUX dev86-pic.patch 574 BLAKE2B e6566a39aad0a48b2b1c626630fce8071567c98efd06a37105e5012c6a0c06341a801809efb3d4b3da9ff2313bdbf14c14d885b9eed37ae6ca93011ec3b9edd3 SHA512 44f0649fbb4b2514ecdd54c988db1a5547d68afed2bff7ebe15163ff287fd4be81bc2d700ed92414caea5c967b7455817fdefd1d19a86609221940a495b5ceda
DIST Dev86src-0.16.21.tar.gz 717215 BLAKE2B 977353422937f57d2046f151a53008dcec90f4060d60675dcb81fa58af5f1ed758a1950dcbd211cda57c84b55bf58ffbad28195ff115db50a7a1108d434b8b4e SHA512 6d35dc3c7f9735cf7967cdb2bc0f7bee967ae26667cd8cef56bbdf7d7855ef1d35057db4c0031ff86b9b95d3c8ee44aff408446115b35b6c10cf207a33838016
-EBUILD dev86-0.16.21-r3.ebuild 1979 BLAKE2B 589d7ac1ef48e1deeb404f3e6b5dbd8d1da2b7a1b3a0639880cb81398eaad6e056029144f6e9270e63430506a8766426fa043698912c63b3f1fe71804cc94165 SHA512 5935239b7e3b4c0f60144424ffd01efc286bacabd3600b4dfbfa2d4e941cae37573b6f8ec9bb2d06b7b9968e14131fbca5391f6d00d50612d3271b4b005c876e
-MISC metadata.xml 247 BLAKE2B 01cc3acb954cf4492e36e364972bd63fdb3139f30a4fe37e1346e8dc7635048ee456273388ddaf6e378841f3a3876ea69fb2bc1e1ca37d50d34159d367592b35 SHA512 552e06ee0e8d78822d8179d9b9956f9a7eb01034bded27609b3a69d965757239a27d16cf22acae56202faf9a23b1d962234bebaf2de3514c1d66ca7bfb1568bd
+DIST Dev86src-1.0.1.tar.gz 745528 BLAKE2B e64ab251342cb97bdb581a6170d269282221983d3c751963e6a3ec2d5f1d6878bdf96740a3a84939e2bed110ec84179e9bd8f55209b2be8f66c178d829ac390e SHA512 0b0e08d8a66faf12599085c44082832101202bfe9c5fcbe4e564e104f56075c699b2680d61924a523fc9f61288a75648ec30cd5257c15abed8d95fab55211231
+EBUILD dev86-0.16.21-r3.ebuild 2074 BLAKE2B 3ff690c2f1026c4a4362bffe56f511e8e3c981cd281e430da9fd27ea2af97ec36a71ad080f01e881bca03003fc3c29201b9c5459aa6576eee8e6985a4876c76c SHA512 d12a53c7e627cf76929e4d395ac62d8eff1dcda20be3b16dfd7bb5fb05190be6488e21109814c7d5a04e93954cec497b2b85bb4d2f3de00cfa04e442342e45c1
+EBUILD dev86-1.0.1.ebuild 1862 BLAKE2B b3a1c7968da365d55e2f288e60cfa28c7a9a62f35c0540fb2a67bc85b893198116ad641418e5479779fcf7b9939b7909d2665373e9b01f1e121608a896c7d20e SHA512 099c98a3640934b64119a88e0f8ebcd3df73df0afbbc27becb0487aacebf9b04e4352978b2e3b7e3a4451a3cac1e63a03a55428d68eb9348192c52eec79a7416
+MISC metadata.xml 481 BLAKE2B 875b3332a4d85fd96015cdc0e16c14748755b5607e33693574d79939fe060ca862180dad0974dd3807eb41cf0a29b8e9a91f4896aa1b6546d6f4033e1f709f3e SHA512 500a76b97b61760e629807d75aa3db607d4b2963ca4e1791e60be9e04a22457a5a399b2f60a785a55ef16cd8318291e6a3fa61fb31d528536a2b10d4d3b50b58
diff --git a/sys-devel/dev86/dev86-0.16.21-r3.ebuild b/sys-devel/dev86/dev86-0.16.21-r3.ebuild
index e3784e658bfb..e5f0660f954f 100644
--- a/sys-devel/dev86/dev86-0.16.21-r3.ebuild
+++ b/sys-devel/dev86/dev86-0.16.21-r3.ebuild
@@ -1,7 +1,8 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+
inherit toolchain-funcs
DESCRIPTION="Bruce's C compiler - Simple C compiler to generate 8086 code"
@@ -11,7 +12,6 @@ SRC_URI="http://v3.sk/~lkundrak/dev86/Dev86src-${PV}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
-IUSE=""
RDEPEND="sys-devel/bin86"
DEPEND="${RDEPEND}
@@ -37,10 +37,11 @@ src_prepare() {
makefile.in || die
fi
- sed -i -e "s|-O2 -g|${CFLAGS}|" -e '/INEXE=/s:-s::' makefile.in || die
+ sed -i -e "s|-O2 -g|${CFLAGS} -std=gnu89|" -e '/INEXE=/s:-s::' makefile.in || die
sed -i -e "s:/lib/:/$(get_libdir)/:" bcc/bcc.c || die
sed -i -e '/INSTALL_OPTS=/s:-s::' bin86/Makefile || die
sed -i -e '/install -m 755 -s/s:-s::' dis88/Makefile || die
+ sed -i -e 's:CFLAGS=-O:CFLAGS=-O -std=gnu89:' dis88/Makefile || die
}
src_compile() {
@@ -50,7 +51,7 @@ src_compile() {
# First `make` is also a config, so set all the path vars here
emake -j1 \
- CC="$(tc-getCC)" \
+ CC="$(tc-getCC) -std=gnu89" \
LIBDIR="/usr/$(get_libdir)/bcc" \
INCLDIR="/usr/$(get_libdir)/bcc" \
all
@@ -63,7 +64,7 @@ src_compile() {
cd bootblocks || die
emake \
- HOSTCC="$(tc-getCC)"
+ HOSTCC="$(tc-getCC) -std=gnu89"
}
diff --git a/sys-devel/dev86/dev86-1.0.1.ebuild b/sys-devel/dev86/dev86-1.0.1.ebuild
new file mode 100644
index 000000000000..ba0d392d0fd0
--- /dev/null
+++ b/sys-devel/dev86/dev86-1.0.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Bruce's C compiler - Simple C compiler to generate 8086 code"
+HOMEPAGE="http://www.debath.co.uk/ https://github.com/lkundrak/dev86"
+SRC_URI="https://codeberg.org/jbruchon/dev86/archive/v${PV}.tar.gz -> Dev86src-${PV}.tar.gz"
+S="${WORKDIR}/dev86"
+
+LICENSE="GPL-2 LGPL-2 public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+
+RDEPEND="sys-devel/bin86"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-makefile.patch"
+)
+
+src_prepare() {
+ default
+
+ sed -i -e "s|-O2 -g|${CFLAGS}|" -e '/INEXE=/s:-s::' makefile.in || die
+ sed -i -e "s:/lib/:/$(get_libdir)/:" bcc/bcc.c || die
+ sed -i -e '/INSTALL_OPTS=/s:-s::' bin86/Makefile || die
+ sed -i -e '/install -m 755 -s/s:-s::' dis88/Makefile || die
+}
+
+src_compile() {
+ # Don't mess with CPPFLAGS as they tend to break compilation
+ # (bug #343655).
+ unset CPPFLAGS
+
+ ln -s lib lib64 || die
+ ln -s ../kinclude/arch libc/include/arch || die
+ ln -s ../kinclude/linuxmt libc/include/linuxmt || die
+
+ # This is needed to help find `bcc` and `bcc-cpp`.
+ export PATH=${S}/bcc:${S}/cpp:${S}/copt:${S}/bin:${PATH}
+
+ # First `make` is also a config, so set all the path vars here
+ emake -j1 \
+ CC="$(tc-getCC) -std=gnu17" \
+ LIBDIR="/usr/$(get_libdir)/bcc" \
+ INCLDIR="/usr/$(get_libdir)/bcc" \
+ all
+ emake -j1 \
+ CC="$(tc-getCC) -std=gnu17" \
+ LIBDIR="/usr/$(get_libdir)/bcc" \
+ INCLDIR="/usr/$(get_libdir)/bcc" \
+ bootblocks
+}
+
+src_install() {
+ emake -j1 install-all DIST="${D}"
+ dostrip -x "/usr/*/bcc/lib*.a /usr/*/i386/libc.a"
+
+ dobin bootblocks/makeboot
+ # remove all the stuff supplied by bin86
+ rm "${D}"/usr/bin/{as,ld,nm,objdump,size}86 || die
+ rm "${D}"/usr/man/man1/{as,ld}86.1 || die
+
+ dodir /usr/share
+ mv "${D}"/usr/{man,share/man} || die
+}
diff --git a/sys-devel/dev86/files/dev86-1.0.1-makefile.patch b/sys-devel/dev86/files/dev86-1.0.1-makefile.patch
new file mode 100644
index 000000000000..0362d7aa49b4
--- /dev/null
+++ b/sys-devel/dev86/files/dev86-1.0.1-makefile.patch
@@ -0,0 +1,66 @@
+quick fix to make build success w/ modern compiler
+
+fix should be done in upstream
+diff --git a/Makefile b/Makefile
+index 359c47a..8868558 100644
+--- a/Makefile
++++ b/Makefile
+@@ -29,7 +29,7 @@ BUILD_LDFLAGS ?= $(LDFLAGS)
+
+ # Some makes take the last of a list as the default ...
+ all: make.fil
+- PATH="`pwd`/bin:$$PATH" $(MAKE) -f make.fil VERSION=$(VERSION) TOPDIR=`pwd` $@
++ PATH="`pwd`/bin:`pwd`/bcc:`pwd`/copt:`pwd`/cpp:$$PATH" $(MAKE) -f make.fil VERSION=$(VERSION) TOPDIR=`pwd` $@
+
+ $(TARGETS): make.fil
+ PATH="`pwd`/bin:$$PATH" $(MAKE) -f make.fil VERSION=$(VERSION) TOPDIR=`pwd` $@
+diff --git a/bootblocks/Makefile b/bootblocks/Makefile
+index a4c3a2e..4b4aca1 100644
+--- a/bootblocks/Makefile
++++ b/bootblocks/Makefile
+@@ -1,5 +1,5 @@
+ HOSTCC=cc
+-HOSTCCFLAGS=-O2 -pipe
++HOSTCCFLAGS=-O2 -pipe -std=c89 -Wno-error=return-type
+ BCC=bcc
+ AS86=as86
+
+diff --git a/dis88/Makefile b/dis88/Makefile
+index 146d1cf..9c3ab4f 100644
+--- a/dis88/Makefile
++++ b/dis88/Makefile
+@@ -25,7 +25,7 @@
+ # be necessary to alter the formats of the tables.
+
+ #CC=bcc
+-CFLAGS=-O
++CFLAGS=-O -std=c89
+ LDFLAGS=
+ PREFIX=/usr
+
+diff --git a/dis88/dis.h b/dis88/dis.h
+index 21bbc2e..bfc64e7 100644
+--- a/dis88/dis.h
++++ b/dis88/dis.h
+@@ -163,7 +163,7 @@ _PROTOTYPE(void mahand, (int j ));
+ _PROTOTYPE(void mjhand, (int j ));
+
+ /* dismain.c */
+-_PROTOTYPE(void main, (int argc, char **argv ));
++_PROTOTYPE(int main, (int argc, char **argv ));
+
+ /* distabs.c */
+ _PROTOTYPE(char *getnam, (int k ));
+diff --git a/dis88/dismain.c b/dis88/dismain.c
+index 6f51e73..fb07d3e 100644
+--- a/dis88/dismain.c
++++ b/dis88/dismain.c
+@@ -538,7 +538,7 @@ static void disbss()
+ * *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+-void
++int
+ main(argc,argv)
+
+ int argc; /* Command-line args from OS */
diff --git a/sys-devel/dev86/metadata.xml b/sys-devel/dev86/metadata.xml
index c4f5ea2afda9..0e4064273a2f 100644
--- a/sys-devel/dev86/metadata.xml
+++ b/sys-devel/dev86/metadata.xml
@@ -3,6 +3,9 @@
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
- <remote-id type="github">lkundrak/dev86</remote-id>
+ <bugs-to>https://codeberg.org/jbruchon/dev86/issues</bugs-to>
+ <changelog>https://codeberg.org/jbruchon/dev86/src/branch/master/Changes</changelog>
+ <remote-id type="codeberg">jbruchon/dev86</remote-id>
+ <remote-id type="github">lkundrak/dev86</remote-id> <!-- previous upstream -->
</upstream>
</pkgmetadata>
diff --git a/sys-devel/dwz/Manifest b/sys-devel/dwz/Manifest
index 2c6c229e8aa6..aaad539d9f46 100644
--- a/sys-devel/dwz/Manifest
+++ b/sys-devel/dwz/Manifest
@@ -2,6 +2,6 @@ AUX dwz-0.15-gdb-15.patch 13050 BLAKE2B 9f00c3dc0b8e8f4f64da11e41d52afe611c38ba6
AUX dwz-0.15-readelf.patch 1464 BLAKE2B c8a3752b116f7e79bef4e477e655ee3b490f83013f57c2eaab3890b62f7981df9adb1d2d23ca7789e6c019c04ed541bb42c280c806b98738ab1423317be60b77 SHA512 c8f1fc676008d97ba1e011192a1238f67f52b44617ee6e4aea3579b97dd55fb6a5cd264ff212e55767d48e2731641f8c17339a3c964fcfcec1b86e425524c055
DIST dwz-0.15.tar.xz 150080 BLAKE2B 4ce1722a53cb588cda8195211a26b28d69891ed32cc59e44897270298d033590c79c8c73168dc3b261cb017fc12874a9cbd50db3bfaa0aa7de8ed7cf8a588cca SHA512 43eb4b08c1f529859dc3466697d5ad7e172d6efbf21409530a67a2492ae4acc3734d5134bbd6e07c089ecc358d915871b13e22f6e4f1dd4c3af19ef804f8fcc5
EBUILD dwz-0.15-r1.ebuild 1024 BLAKE2B b184f8872b3b1b9edadacabd12fc503ef08d1c4cb44a189a95cbabb29a9bd4effa0ac4d9ebc74baae0ffdeb53f6dadfa7db849f623e741d9a405ac9e3d66eb1d SHA512 6d52170c348aaa928cf44cca1404d97943e48484f9f9d18e32533847db67f6733f9c5f3058c37af0f841724254d307bf05039f9e8879da25307604db3fe6c40e
-EBUILD dwz-0.15-r4.ebuild 1574 BLAKE2B 006c92015c06725602e069889ede8412c0ca8a018a6d1e9ea909612ba5490149cae4c48c9974a9a8b5432e4828beed6061f64fbaaaf103c515dd2c9edddb55f0 SHA512 7c03e591d6136787f7842d31b540bd583f065abe2e34ce7fe29116e6a1a1cd27a7394e428b75cda120fe6ea9a2141ca912b3088ba56f141731bc95d83a6bae07
+EBUILD dwz-0.15-r4.ebuild 1573 BLAKE2B 4d52200df3b5ec8e4724b4f27ff1892bcb59f90dabaf8abea3abdada6494fbc11b8283b718256a37cc61ac24fca4ac3e94356c03e6787be5c9c073026198bc19 SHA512 f07171dca6c0c3094d137e785dd36eb7a79d4ebf12a549ff5746bf7db1b80d3e8fdf35756b12e6b3886192c7b914fa992764b66b19aeb57355e2eaf185b0cf6e
EBUILD dwz-9999.ebuild 1038 BLAKE2B 942aa7a71de42218ab7a734a0c4b62e82e36045f37ccdef1bbb87f6948c72c0cd7fe9775d3a53e1a331cce07ef08e2c715bc48093e9d68b248263c5eea5dbeb4 SHA512 466762c125ed44a7c764f7f0907798541c8cbab8e2df2494cd08101c2085691fc1db269ac0122cb7024436a55dc314d68303d443c8d624020274dbd4d048ac72
MISC metadata.xml 812 BLAKE2B abd6e645ab8cf502bfb6b90cd5712ff43d22a4e17ed7a2025bfbb16407a907b6b482497ce060ffb55b250a441fcbc495a37cb540b9d1152ed42dbdbbb4b074ca SHA512 7dea9a490d130dc0a03291b01000f38b880be517c13d762a6b6ac82e7313375c0dc5c0506ead51dd6789e72ffc612ade73e734456bfa8696777ede3f90dd6394
diff --git a/sys-devel/dwz/dwz-0.15-r4.ebuild b/sys-devel/dwz/dwz-0.15-r4.ebuild
index aff95634ad3b..329c701a4973 100644
--- a/sys-devel/dwz/dwz-0.15-r4.ebuild
+++ b/sys-devel/dwz/dwz-0.15-r4.ebuild
@@ -15,7 +15,7 @@ else
S="${WORKDIR}/${PN}"
#KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
- KEYWORDS="amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv ~sparc x86"
+ KEYWORDS="amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv sparc x86"
fi
LICENSE="GPL-2+ GPL-3+"
diff --git a/sys-devel/elftoolchain/Manifest b/sys-devel/elftoolchain/Manifest
index 199ca150b638..25700ac10e2f 100644
--- a/sys-devel/elftoolchain/Manifest
+++ b/sys-devel/elftoolchain/Manifest
@@ -1,6 +1,3 @@
-AUX elftoolchain-0.7.1-fno-common.patch 631 BLAKE2B 8808d37d9a0a92f224501d2e29ac05a19c836d65d0a5628da4c63f8324db126e86ba84d916869f21a01e8997512c4fa7578b68ce8e99f4eb9f4453b8e78ddf54 SHA512 3ae70a0c117dbb4531ff1e7449216dde63d7bc35412d308b295099c85634404ed577ffbb8392f39764a5a139fbb6ca790fd5bb27368c297d5e0b04e259b0b367
-DIST elftoolchain-0.7.1.tar.bz2 5361427 BLAKE2B f86204b3c89433948eaf2cd2edc57abf9b77bfab777dc2a840b7aa5fbddfd31665bd27f31d7af2dea09fab0118e201b12802b4da85f8210af29094661f6f1fe5 SHA512 8226c468b393f0d567167a9dd6b16d2a226227e4d05dab8f44550038da44dcbfb92749f8e1a4b130b893675337a6771e24a81f350f3f864b1b8b17402ed23b26
DIST elftoolchain-0.7.1_p20210319.tar.gz 6767324 BLAKE2B c7e068577744fd42a44784e6a2b03ffdaa9dd15e41f4ff2a6d5fd80df24a61a950ff11fa63ebbbaf2c90bc1b19e58f7184a2b883a6f866adcbf0940ad9fca81c SHA512 968d3247e160dd6f90a88e69bf3cb8e6bf2b8216500a0a91699bc2b8d3de22db8f013212813139701e75c3a9eb852bb4c1360e8058f85959e0973e05e4851c8c
-EBUILD elftoolchain-0.7.1-r2.ebuild 1284 BLAKE2B 0fe3ad82a8dd0cece9fa641841102958e80ab1400a93d61581604b34f1ee808c1fe19aa46ec7771550e0905f2177072ce2d343afa712091642d8fb3f8b88e603 SHA512 cab20a79a275085f14779700d1d9cd6bf0a767ebc264bb17709ec786e25b7ba050659804983e69978d3bc86f6df49abbc1bf0e410baeb23863db28f99da8616d
EBUILD elftoolchain-0.7.1_p20210319.ebuild 1409 BLAKE2B 70538d768eb3b3b9e7c7abcabf1445df1ef8a577cd05cb2676e83bff5ed1b9614449e08010fcc7fd3a7de58a13595fdb355ac53bfa444d3f9d8a972fc9f1d1d7 SHA512 9a3509aa9dc1bc73109591455ace6d4c7bdb80d9fc5e14841227c1e3c788559e8ab280c9349f33e99df3ceb0872fc8dc225cd2ebddf664cc07ec1905f87bcb3b
-MISC metadata.xml 250 BLAKE2B 0189975a715ce20aa28de72566aa359fa6715f9f75324f7de69a1ab6e065ea07c6e7f3c0c9da8527b94e1050ef2c6bc4582d165c7f027c9d3a070d403b039982 SHA512 a3ac7002012889b26f0fda34c352adbb37da21843ca37fb45b571d7670b046d56ba0c3eb7f2866febff50b78098bbd557248946cc49c00c463489ca5bda1aa9e
+MISC metadata.xml 315 BLAKE2B 16dee2937d1602338caf5d187a225fc8b1fac4d592ca2758f76e66b9e54a6a39f1714932fb668b6e11c0f7ba21b50e5c8e8bbc29ce2f40b084afc66a0e83b5ee SHA512 a704b331001a5a823bb7b375582f44d41b227bb9839bb020093daf2a1c12295f25d76808dc4191cc78e4c9fff79e7c3e02fe39981a03aab56069c026cedb3e5a
diff --git a/sys-devel/elftoolchain/elftoolchain-0.7.1-r2.ebuild b/sys-devel/elftoolchain/elftoolchain-0.7.1-r2.ebuild
deleted file mode 100644
index a237b0a27ce2..000000000000
--- a/sys-devel/elftoolchain/elftoolchain-0.7.1-r2.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Libraries/utilities to handle ELF objects (BSD drop in replacement for libelf)"
-HOMEPAGE="https://wiki.freebsd.org/LibElf"
-SRC_URI="https://netcologne.dl.sourceforge.net/project/elftoolchain/Sources/${P}/${P}.tar.bz2"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- app-arch/libarchive:=
- !dev-libs/elfutils
- !dev-libs/libelf"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-vcs/subversion
- sys-apps/lsb-release
- >=dev-build/bmake-20210314-r1
- app-alternatives/yacc"
-
-PATCHES=( "${FILESDIR}"/${P}-fno-common.patch )
-
-src_prepare() {
- default
-
- # needs unpackaged TET tools
- rm -r test || die
-
- sed -i -e "s@cc@$(tc-getCC)@" common/native-elf-format || die
- sed -i -e "s@readelf@$(tc-getREADELF)@" common/native-elf-format || die
-}
-
-src_configure() {
- tc-export AR CC LD RANLIB
- export MAKESYSPATH="${BROOT}"/usr/share/mk/bmake
-}
-
-src_compile() {
- bmake || die
-}
-
-src_install() {
- bmake \
- DESTDIR="${D}" \
- BINDIR="${EPREFIX}"/usr/bin/${CHOST}-elftoolchain \
- LIBDIR="${EPREFIX}"/usr/$(get_libdir) \
- DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
- install || die
-
- # remove static libraries
- find "${ED}" -name '*.a' -delete || die
-}
diff --git a/sys-devel/elftoolchain/files/elftoolchain-0.7.1-fno-common.patch b/sys-devel/elftoolchain/files/elftoolchain-0.7.1-fno-common.patch
deleted file mode 100644
index d03bff2d4af3..000000000000
--- a/sys-devel/elftoolchain/files/elftoolchain-0.7.1-fno-common.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Author: Dimitry Andric <dimitry@andric.com>
-Taken from: https://sourceforge.net/p/elftoolchain/code/3879/
---- a/ld/amd64.h
-+++ b/ld/amd64.h
-@@ -26,6 +26,6 @@
- * $Id$
- */
-
--char *amd64_script;
-+extern char *amd64_script;
-
- void amd64_register(struct ld *);
---- a/ld/i386.h
-+++ b/ld/i386.h
-@@ -26,6 +26,6 @@
- * $Id$
- */
-
--char *i386_script;
-+extern char *i386_script;
-
- void i386_register(struct ld *);
---- a/ld/mips.h
-+++ b/ld/mips.h
-@@ -23,7 +23,7 @@
- * SUCH DAMAGE.
- */
-
--char *littlemips_script;
--char *bigmips_script;
-+extern char *littlemips_script;
-+extern char *bigmips_script;
-
- void mips_register(struct ld *);
diff --git a/sys-devel/elftoolchain/metadata.xml b/sys-devel/elftoolchain/metadata.xml
index a56d1ca0c6ea..a8a33055a145 100644
--- a/sys-devel/elftoolchain/metadata.xml
+++ b/sys-devel/elftoolchain/metadata.xml
@@ -3,6 +3,7 @@
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
+ <remote-id type="github">elftoolchain/elftoolchain</remote-id>
<remote-id type="sourceforge">elftoolchain</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 307ed9c29b60..88ff2b0c2faf 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,5 +1,8 @@
AUX gcc-13-fix-cross-fixincludes.patch 883 BLAKE2B 1ae33195320754c55f42e1206bcfdf98914af5190df5939a4c7b072a2bc25216c354ea5d76f5171e1b8a150ca7764bdf57cea1bc137c237a5e8bb44713885f1b SHA512 ca9625001f0a10826d75691fdba35ca5783ed2f80e605b935785f8dc7591b0e650dca28bf1fc7e688e27547dddc7ab38232459b4f1865ed10a148978d0e09703
AUX gcc-14.2.1_p20241221-arm-Revert-arm-MVE-intrinsics-Fix-support-for-predicate-.patch 5160 BLAKE2B f229bc58851d348a67d636d65878166479f2eb735dddc6368e21c2cc5b1c2b8660b1c87024c1637a25a9acf609662823337307f21fe9a51fe9cbfc6fdcbb0a16 SHA512 c62e991b826cee7258abfa3f1305fc33b8b0e0dce2aaa1ae5a753b547126d9dde6632894eb72e46c6c78c9777029a7593a4f9afbb6a3ac6d831c63ea0c19decd
+AUX gcc-15.0.1_pre20250223-c-Fix-range-for-with-PMFs-PR118923.patch 7059 BLAKE2B 20118efd091888c495b25a1fc9372931a328336fe94fd43c084419557c44b054859ff98283e66cc59d633a3402c9b7260fe84344502c3e5a42f234cd51afaf5f SHA512 1b19210be96e337abf1cd2cc6879f7e418aadaa098314013b80c0adf767ad9bb7923aee72bca25d148482f1779550bf70f280adeac1538963fb8ded51365c172
+AUX gcc-15.0.1_pre20250302-firefox-ice.patch 3245 BLAKE2B 10d80ae54ca2dc82d1fa16db1bd49339aae3477ecf812ba6015396c1a23a85c47426ebed7dcc3e9bd4296917ab082e92cfc5ae1e28f4a98ce9065c4aefdb0aea SHA512 6d7d6385bb6bb6303d4f863f4ae9729d719bc46caa88025bda1e5798875688357f3446374c7e0fbd7225ce2eae70cb1ce177252ba4a20dfa18dcf20b0e3c7e85
+AUX gcc-15.0.1_pre20250302-firefox-pgo-ice.patch 1993 BLAKE2B ea3be0d39bb52f49f96f541205676438182ebb1aaee96aa34c145ea1a301adf3f6f38902910cc8d36daff64a9d1c1462ecd881cdee703e7a50a64b000377cbd6 SHA512 552199c7f1f8d27644b0a4b0efbb24bb57c30405ce4d9d461beb5d3a7b3ef186d5fa5e8fd8a6559c0c965ecc2d8318d33a3c657b0dd66694b6e0fbd866da6ca3
AUX gcc-configure-texinfo.patch 341 BLAKE2B d2ea3b2ea08f5d3a498ba27d0fb95e325097e2104e55caa28b66515cb48662649140d90b639369aedc54b2b1178fa4b49cda442f5f504e09d88a2efa45a5057c SHA512 e8d34c5077409df5495cf0c5fbf5e77f841c5698108fa6a5fde33eb28202c685603bdefd8368918e55f30c4b995e895d71d64c715c1ec2b017e09eb2c54c09ff
DIST gcc-10.5.0-musl-patches-2.tar.xz 3452 BLAKE2B 5387e516d07d81477b3f39b8b3bd986bf861d32cd25dc5481c97bd3620d00c918c5661e86857f66dbf28a655401a53e43417f638c443e44cbfdbf5e950caac4d SHA512 86f2ce31cc4fc4fb5a6043fb527bf822d895e1a6220652024f78a1cbd5a962edb6be8dc5f43c32053e075f39bb2350ea8f14e7d57e0473dd2933a7b44676bde5
DIST gcc-10.5.0-patches-6.tar.xz 18208 BLAKE2B 4cac3340108fb378c76ad62b728429f3c97f348d178744e7536575f3576ca8aa682b878b7df3b1c162dccae64a3cb56c66d8d60eae323e1ece2de4278084fdbd SHA512 9d6c84325fbc118cee01347468ce729c278e5b026b16da945fe54050726e26f86a46ee7b71a01a47cf927b70bfcce459c49a6bc4fb93dcfaa047c76d4c5bc5bc
@@ -8,31 +11,34 @@ DIST gcc-11.4.0-musl-patches-2.tar.xz 4308 BLAKE2B a2335e155fc57816fed822a648e0e
DIST gcc-11.5.0-patches-1.tar.xz 13664 BLAKE2B 64fd9c2d074aca58ecd8c0035ccf2d2b84d83b93b46367f3e068a95651a094a07b9aad7635bb9c7d2e5ea20dc5957bc19217ca32cbd6cf6f0344f4a3d943a60a SHA512 55828751008575fe89760a224477ee9e5132c0780fbe232e0b80b16ecd9854f85ae54bdcd216ae04de67f3a8b417ee2aad4f8bf9d9df5318613d3efb55bd92df
DIST gcc-11.5.0.tar.xz 82399864 BLAKE2B f4a61faad32aac9e9cb553c1a1a011df0a057f6e2cac92a13cc7e285d08191dd4a117f41a8faac2359c0e2a16f954c7fef354dda9df8c63bff1c5cefda82602c SHA512 88f17d5a5e69eeb53aaf0a9bc9daab1c4e501d145b388c5485ebeb2cc36178fbb2d3e49ebef4a8c007a05e88471a06b97cf9b08870478249f77fbfa3d4abd9a8
DIST gcc-12-20241219.tar.xz 79920016 BLAKE2B 71044352515f33eaf0bcc64cc6eacdecb8b7b1dbca6d8836b629f76e60320f5090178ff37b6804fbda0913c0f55afca37588647974fd72e9961edd338ccf6ffb SHA512 e0c08366f392083feb1ae242242e9bd335681234808ed44d4e75afe157be2814bef321d2327186d217f38bbb6176706e1258228904d31fdb3bb37c8e245dacb0
-DIST gcc-12-20250116.tar.xz 79921816 BLAKE2B b4c2ee7fb76b15834b5637d157c39cbdedca4b458d767eaa5b7275ef835db5f2f44437a7242dcccb1c57a706cdb7788cecc42bfb99795b8ed0ccf589c24296f5 SHA512 271f31a7d213da38f197fe8124030780b334dd84b62d09e58757c722232c3465d2344e0664be6c62f0b5187f604e5af01fffa262a6b4f5b27a0199693e563ac4
-DIST gcc-12-20250123.tar.xz 79912136 BLAKE2B f143da3aaa36020b99c0da4b4951743f90fcbcdf93af325bd76878944187005e80b11657b85ab0cf014434acf5431a45cb29effb9a8e3922092ec5dee6606b51 SHA512 1b9dba666d9538171f935334c5a7106499758f26422a497c748c4ea90983e77bfaaecdb8a96099e1a43c0722e15d34a3c0f549e531cb56ea3a990e71f0b2135b
+DIST gcc-12-20250220.tar.xz 79919964 BLAKE2B 01ac8e2865b46d8dde41b73b5b5dd8c6bd533dc1ecff9a05455ad10fc125ad1ba4bb15de637ca639a82057fbd354a6225c0dcd0144c313b91833aa712f2e133a SHA512 0ba3b3b1eca1a62da5f0f0238c5980bcb6f2efbc1e0dffefd04b107bc48d4dfaf72cc9037689d7725a4aa9e4478d0b43339eccfea718bb45a113aef14604d215
+DIST gcc-12-20250227.tar.xz 79915940 BLAKE2B 0adb19847cb3f317316549f657434654b9923806366a4b95e496effea9c07995b7d3de65c40cc2f62ba1e87cfb0f8cd8a1a833284042fdc5e6fce2bd7e7e9543 SHA512 d01cad1771762f5b56c783d6a3b39415be1c7619229b5ff056fe40ef0bf821c67a2d1a2272c2227a44f92825582579625352d19e2342d11f76a079556dae0ae8
+DIST gcc-12-20250306.tar.xz 79914120 BLAKE2B 52744beac63301b3e0f2564efc82384f6452cd05bb2543f3c421d14fdfc4eed107d25d24183e9d7045d33f1e9f14741b8cb8580bb0c7e8cda8b3e5b4dd5e0d4e SHA512 585aeab071fda880a6ad5c9e0e766164683faf4e84ad63764ad7dc0420fe5e355452338234f76f6f2cb2b25f4b39b059658323f53594c2c7da3db6631c69a14c
DIST gcc-12.4.0-musl-patches-1.tar.xz 3068 BLAKE2B e5e39c24934072ea89e4467d0dc5196f3dadfb5ffba0c856d051648a2fbf57d434a57e95227cdf2b8cea45f0f5555aec2bc372d2f6cb0b69efd87831d248d364 SHA512 b9db204845a25be043d76cae826d42eebeeb4f9be7c3049af6fe7601a552bedfd24731156a6a36b4b5e2e2af656a589a5c556d2b0b3ded33ba290a773ee87c62
DIST gcc-12.4.0-patches-1.tar.xz 15576 BLAKE2B 98c29888de7701b365be7ac9062f0cee3340d58c85485e26f0d02f1483ec64cc9c10651488a4fd937551afe30f4e19777e6766871a724ae3ba6c290c16f4fdf1 SHA512 3f7c5d36e56e07ea9dd143a5d13342a6c1ccbf0643abd1c0bcbfb46bb7c7b1308aef6e3e882031c9c191610f01af906b19be5aa2b139cf617614f46e97463aec
DIST gcc-12.4.0-patches-2.tar.xz 14876 BLAKE2B 6bf5abbb2abba4b9fe9fa153ac4112fe5f563e97cd4e1b885ccd0d88abf1124fa91f20d6be972e2242410447be73bca60014785f8551b8087ed0d4cc3e868225 SHA512 dfd5f02d4c1076fad4ee998b2f620171dd3eb65a1160312def9dae89b18327a06db853f569e0e3c049e5ab06c61488bb6faecec52bafe737fddeb43628c54a1f
DIST gcc-12.4.0.tar.xz 83377372 BLAKE2B 0d5aa9995bf53fa2dc976a846240cfb8fafd125ad6c54f45dc9d770215eae3e9ea0db82a9a4f79c51b4d5f8461a1d730c17db6841bc31bd96dba11d9ed7544ae SHA512 5bd29402cad2deb5d9388d0236c7146414d77e5b8d5f1c6c941c7a1f47691c3389f08656d5f6e8e2d6717bf2c81f018d326f632fb468f42925b40bd217fc4853
DIST gcc-13-20241220.tar.xz 84504500 BLAKE2B 60d6dcdcafa36399a0c0de7fef3a4eb4ca8e0b6780cd31c9eace2965c53115205bf64e8247b833a4375c1e3ad2d94820b5bdc97a4689be95d8ab55a676afa689 SHA512 10fe009dc3b8872b24350e4fb999f71b848bd5a03e48e8292f76e6eca3dbdef8383a3b13b813aada983ebdbe3ecab1642961b3210cd1e0063a86655a44493017
-DIST gcc-13-20250117.tar.xz 84520416 BLAKE2B 3ce98ce1a17ec5a733e3cb8eab0a6084d5e32b225213f0af6f3ff699552d162514a0d6eb6e2805b07d5f97229a92a15f67958dc2ccc82e9d937b8af688a9528b SHA512 121f176f2d9779e33245ddc4048f1ca683311cf20c240e8e76ad6fea892a2e968876b838cc1d90cba06184a9cf4b4408b78dcbabc27368e0cadf1d8de749eed2
-DIST gcc-13-20250124.tar.xz 84528596 BLAKE2B db8c45b1babd48158644899fe1a3e263eee6e716bc117be95f53aa30e00bf4a87b6de7c852e558887001cea53fbaaea4fe176f8a2361cf122cd05c36c7a0ae8f SHA512 d5d32c66d22a1fb2fca1db1c473125003ef204c68711459eb358374259efb924ea160c363b7b1c81659cc6bf154de499949c02e9adde1ddb4dcb2f2ebbb27e42
+DIST gcc-13-20250221.tar.xz 84535136 BLAKE2B 8f56681b291231c7922680e77fa29f84510c37911713635cd3806a366fcc74f708c3c3dd6020cfcaf6a6adb84099a83e8de455ba201281264e9eff916c4b0c36 SHA512 4527db4becbe2a49c42e82fd817089cc4b861693560829350d0787685ccad0cd6c6ced2ec9a7ce538589f7b431c0e118dd2bc157435328065941e98e3facce96
+DIST gcc-13-20250301.tar.xz 84525780 BLAKE2B c366f4de63b7956abb1bf2d1039acdf90c7a801adbb2793e4c199b0f743d143327aac9c2b078991f802da758ed4326dd913d9f60aec4fc471eff9af72f781a8e SHA512 075bfb3c5aeaf1c9bf7ab69ef117fcc1fd3ce1042edc9442d95df717e622c2ea9cfabbabf8be5eda32b3cf115d7d3e73907fd577a69f0beb6895f7ec2c5fc813
+DIST gcc-13-20250307.tar.xz 84518416 BLAKE2B 2afe5b57ab2d6af1800c3c74ab629e9033ec4368471d103377958d5225912ffa259f1fbb9d04804f817df9527b7659913ff762b40147a40f65eaa1caaef2c4f5 SHA512 c2a63fcab70db6a5123347897a47a60d7423723e3e202e4c56c77f50caeb460b629d7fa3af9102467c73271273e7018fc431f2254993b039d5270ba093c7a865
DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69
DIST gcc-13.2.0-patches-3.tar.xz 30956 BLAKE2B 29ce043b46645640ca1e983397af3e158588ad87575f0bc59451ea4a7dd5e3bb5b190ed031de6a22cd790d423ba111e95d222187dd09985dceb12db9f0a2d907 SHA512 4ffecae7be320124ad0c4e71e39e142b7aa8db0e70b5f486f491d7a33ea31efc6464c6abeea77df02a8bd5cf81f08225d625c8af5c27f9afa32c0d7d989f7a3c
DIST gcc-13.2.0.tar.xz 87858592 BLAKE2B 0034b29d3d6cc05821f0c4253ce077805943aff7b370729dd203bda57d89c107edd657eeddc2fb1e69ea15c7b0323b961f46516c7f4af89a3ccf7fea84701be2 SHA512 d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2
DIST gcc-13.3.0-patches-2.tar.xz 44440 BLAKE2B ebde73f6c3cd1a5fdc5bbce36414a59dda0925cba9d422d3689fc9c14fece44ee2391982a674411aa99bf47ffd49200f3ce51cc908beb8298adfff78e709a84c SHA512 eb56e0d7e69b5c3cca21f4cbff21c1204cf64ede7e66d689f45cf5ff37de8a59f24eb1f4b30d9c4222fd4126654fe4ffc146851f504761014995553c1202e8fd
DIST gcc-14-20241221.tar.xz 88198252 BLAKE2B 7491c2e1c8885e201859143bdf5cae95af4c0db77709ec7d761ad535df30042f5deb8488ba7c508de3673e4b0f2af1de8d17476f39cd47b745ddccec6a9e4470 SHA512 91fe1e1d1f8e8fad64930a2eadf942a542bd42f841fceb49f475bccac00f04692b8cd38821ea9ee05f78b5c51001d8bd39df5f71f3a3d89aab8980019cea9be8
-DIST gcc-14-20250118.tar.xz 88214804 BLAKE2B dd35140f0565d419eee272f70e668a8614cfc8f6b7d352a1df8ba2408c6533711e024ca1a7b5e309421138e21d63c5b7f8b581d50b0680abf3dfd6002004bd14 SHA512 692fc50fec856c6cc5a0576d1caa59fd8b5ec298e36daaf5855ea0f922ed134fff346f73e38e47673b692cf03606a66f82e6bdb46e5d7729c370299645a2a093
-DIST gcc-14-20250125.tar.xz 88214960 BLAKE2B c8f89803928db5c0374751b10a7d0bcaacfaa425f2b869fac96d35173afa9adf24d6969cdbfe20eea7425b97c23c14dbfda94bd72f447e530632e33719cd9916 SHA512 8d61d0002de3738ef51bbf0338d849121eb009a2908314511da0f79914f73bb5d1f8b1cc06b932188a3814f3bd6a61d0911da942ccc2352d8e2844f9f10ad039
+DIST gcc-14-20250222.tar.xz 88217556 BLAKE2B 38023332b91bf6ff50d06b0967f7c4ed2f511ffd6cf29cc09a429572a2a69db39f3e6e0e0067752012d105abbbd64c17d21f1c6086e7754c9e90fa94343384f9 SHA512 517abef61c8a45a19fc3bc5aec276a82bed3e4d3e1cd2f468c9a5e92b8b727bf90c5914507b1c5b58721ee29dc6e4756184bc6a1ebef7b4800ff2e08762e5fe4
+DIST gcc-14-20250301.tar.xz 88230928 BLAKE2B 2b65e7cccbf431a74df73adac53995873e78240d7abd97e9c9c576806c389b3c1abb6d47710a25a26f2ee399de750a07c3fb7916a580875d08a3a83354d89c1c SHA512 6b2afe19ce95a595307ae10b89054927116d33b499f1ef8233936d719271c04cb8f66890068ef2252c59ab0276dd0e6210990cb88abdfb4965818c25949f431e
+DIST gcc-14-20250308.tar.xz 88224372 BLAKE2B d5b76b553cc48aa16a4d00fb1ba232856a52deef32049a10b9d2ffe7a010a5afbc782ad1ebec0a2546ec74703e0afabea936d81180b19ce8c4786d07b0495bf2 SHA512 900a43be42471e6d9484dbfdc972065fcd342908d0115f28edb35ff371e3f4ae0e219e99a4ecd52bcd23a156b3df2da80d508e2236cbb7495ae3df655154dc9c
DIST gcc-14.1.0-musl-patches-1.tar.xz 3600 BLAKE2B 4cd920b7ca1f122cae806707564d8e45bfd48e78c88788a12a301f6068b5a5f335d8885e67479ac536c66aeaa81f2ecb7240ae56e9fc821a7246ab66b453711f SHA512 61c48d90a55dfc2129d96aee69d939d6a89f6407f69f7bd12c1a619f28989f471fd219d731958f8e62b0fd650c32300f0ad8dc06d5df23d9fc8c1a77fe210c25
DIST gcc-14.2.0-patches-7.tar.xz 14244 BLAKE2B 11236e91e1fe83fec8ffaa40ec0cdd4b52a00a951e9aa9a7a0a932b234b8f1a9603333a7ccf55859f4ef53dd4d8ad1fd5c1d2514b6e45fce5b86bb58622a0ecc SHA512 5a4d86d943e31fa068b5a784c0132bd83c23243dcb3cf972557a42e004469a415e1b3185f31b1bb36f916594d475f266a2fda031a414e4a15e0bbfe471269eee
-DIST gcc-15-20250112.tar.xz 90584884 BLAKE2B 35200ad43eaca0b97d330d22abb517ee5f8d196b83d40650e5a2e39b5a847b2c686108d15edf998df511992930bf3464b7e63d4562c17a6330a22a693b795122 SHA512 cd2b282eb7cd352fb326df692b653572319edc179ae6dec0c96ead858da4a85134098e128afa9dd76ff691262fd3cfce176c38420a78f56121b039a2a297f63e
-DIST gcc-15-20250119.tar.xz 90709176 BLAKE2B da815cd472c0bb4101fb65fac73e93d8da8981c268880222501deb48f03865824773f93ae182ec60465e2b122a1503936dc10337b9b87dfdd15cde5e18641026 SHA512 9f3bb4ff5b04fe84ec3ce5342a29ca1d98f1988c0b3703c63b3f5bd5d58d035ed7c676cdf6bf730f5399a7b461e2929f28494f9ca4a87a6783c6e30114d2c838
-DIST gcc-15-20250126.tar.xz 90895328 BLAKE2B 472b5c0ad2da8525a40530089f02bcdf6b8b3d3e31c1f5f86339d624c3a461ab24d35d815554513ba6dbe807f8f3a7f9e123f63ec0fe33796bee9e6da411deab SHA512 e55a19e07bd10b6c5f4a639d0fe548495297a4a1efe4c2cd4e891f27a2962bd929baeaf312b4f3a9e0a51b105e470de37a717fd8161ff75759aaa6b48c937d8a
+DIST gcc-14.2.0-patches-8.tar.xz 14540 BLAKE2B 09f66035343d4cab694b8ab382170f8e2d546ddffedf3477f26edbd6a798ddf94294f569c2661729d40088d590bc17a4eb651710d8d9f66f33703734a1a82b67 SHA512 7a9a2724ef8db3c57b033d90751192969c16e5eaa8f4777b7f16470222ff3a18771b461bd89feaad701e7f0d573b883b487981588129933c732fb76117728b86
+DIST gcc-15-20250216.tar.xz 91404792 BLAKE2B 1a007a432c7f7ac6ba0169caf2561e26267ae5c75403ecd52227dbee255eff4c1bca5db9d6ce2e772ee357dc06e648d7ebfb3629117b13d48343a474a17901c6 SHA512 8dcb3968e157a2cb6a06e4ba76a0fd95936025d99f48333aacc554f347d19df8e6b9a0c9c454acd730a5608122ff4c12a712ccdf09919f8e310cf6688c00df84
+DIST gcc-15-20250223.tar.xz 91424896 BLAKE2B 0527c35ef3e24a9defe99bdccc39ba4c839cd867428f5424e3f8089381b3c3f68407bc2e8ddb9db72ea4860deed558b1ae584a41fa0623d127a055e9227d2216 SHA512 7e3296bcf7ed7868a5d4540525143995d6fd7d7144e223ae3666e3e4e716eef6ef1ea0389527df6d410442fc998ad5db6e07f52582819dfeadb0cba2d87d3208
+DIST gcc-15-20250302.tar.xz 91196748 BLAKE2B d6eef1753179f813ef1908c4ddc56144161abde36e602930bf4e53cccc7c352ee882bfa376528f20c34aa3544b1cb703c0fa062bb67245b0a3499125d4dd2bfc SHA512 407857cfe454cfa690eab0b01183811c7ef618921b64152f322e67bd27b708e57ee3de57274827340e387c5f906643bf2dc362b541d4d08f6a7283bc3da8bcb3
+DIST gcc-15-20250309.tar.xz 90853908 BLAKE2B 403b9b3a2eb1ed5d23558eff000784b8b6345c419b9050d68e38343a30ceb58c7ddaebb44c345668c98e19f66c1dd1edcc22a3a911754cb85f8fbfc6559ba3f1 SHA512 b20760997cf8111429524ca1400e1a23c328e303a8b4652cd859dcc3dc3e2dd11c72cf9e1b744c88374ebdb9fbb90f217ffe892eca24e581b781e2741b177d04
DIST gcc-15.0.0-musl-patches-2.tar.xz 3076 BLAKE2B 0073248fe4f7dd827980559017b5aa1fb5c4c46acc9ad5c410dc152fd1e44966d3066bf7152338573cb45b1c36027de5f0c519abd414d97a37bccef07f6a5281 SHA512 295f1a669020bbe2874e9b03afd46b5d083073b276fca3543f3767a2d74f35df81cf0a67abad50c200cf7a3af36ec98ff9977cb7d5c19f334af7d3bb1926a3de
-DIST gcc-15.0.0-patches-41.tar.xz 33308 BLAKE2B d95b2798837a40380d06818fb047b7a5ea2e5a20de12a760b168c4dbb39c7af6b45621034d17250754f6dbc83dacdd7a75ff41c505b158bcf2090eca678d5f05 SHA512 203bedbab8e5d139ac3421e6347a2aecba48f5757ea524241feff7154eb918dad0c7f9f7505bf9041ab67b7c57170f5ea26f8160af3b268aec2b9a1113325733
-DIST gcc-15.0.0-patches-42.tar.xz 26904 BLAKE2B 21fad98bfa977cb359dfeecec5b35d4470429acf103f99e3519a34f87926225e83257f23eb2983adf68d2a8a3089f7769dedfde7302ef9f55c30b59bba47d1bb SHA512 3ede6bf4c908a179b4b9bf8d281385a6ecf64be481479c88ad0b250b6c93050ff76dd2cf6fc9b12bf8b503a123cad2b8c418abc4ab233524d7bd78e1d9f31009
-DIST gcc-15.0.0-patches-43.tar.xz 25892 BLAKE2B 1d0dbbe277179aefaab20e03bf152ded962c69fe4b3afcdcf7211a71327149977109fe0e8b2bc198ee16a59ab2569d2b698f216712eaa65c2cdb6de209aa1ffb SHA512 ddf3e6d2876c4d567830de91b39acedda280d739f7948ec02d04b409be10d8e1bb41a510d1b5f78b26e79de18aa2b281f9ce2182088b6b514f2f46389af8c22e
+DIST gcc-15.0.0-patches-46.tar.xz 22212 BLAKE2B 159b2693ded0b1dbddd271ca56d7f6db3569a8f79155521737b968ad131eee2730d3441dacef821b9dcd31b17ca0bf16a7b24001e7cb4ae1b36c55750184a3f6 SHA512 26d293ee368c75570e606949480feed18a69baad4687beaf2f50629bfc72d542bbce4b1cb6580fe7e578409a108891dc9762bb15c53b611434c83db5dd83d695
DIST gcc-8.5.0-patches-4.tar.xz 18616 BLAKE2B 7594cbaea5daecf1a0b3d526c06aeba0a84c6da66aee2e105a51fda6be8d30a37ccc3814281b284a4582d892a1d556bca063551584edfc2525bed8ea5b6888e7 SHA512 1aa5742c361186637e7855f06feb1a4547e7d4d5de6e51f3d049e0ef3c19e2eff179465f52781739f59422035b7f8e4c0efa3844849f920f3c96acfdc37ca6a6
DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12 SHA512 92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8
DIST gcc-9.5.0-patches-2.tar.xz 14324 BLAKE2B 1d3bf3e673108ad2fcdcb86daefb4603d1c9f6aa815e34d1591054d466b76d6f50cce124ab4760528c4951ea16eb00888a3e6485417f81ebf250548732df4a8e SHA512 a6d6f650aaf0bd193a17ac279649f0544a282cea295824384c59341c3000eac4b574b60e00dd427585d928f9768166abf85168b47772132790ad98854acacbbf
@@ -42,22 +48,28 @@ EBUILD gcc-10.5.0.ebuild 1449 BLAKE2B a73661c664c8a682a2756e9d6652e482555d011e43
EBUILD gcc-11.5.0.ebuild 1608 BLAKE2B fec194acf8db837d4261b6f5b2b953ef28a6ad35e87b1b917179d8fd3b3ab45ee4a2a4138fb9a4394553114d8bd86d75203ffbc369eadaca8edce77d8ff88479 SHA512 fbbbd0379abe8a4e7c6b5cfe567274a21487a1667df82358c5534b770fb6f207981c0ebb0a3e3a941b80a627449ae4ebe8113ac917ca4ad1e7fc191185aa4bfb
EBUILD gcc-12.4.0.ebuild 1615 BLAKE2B c241479503ef04500043053c4e400559aba8d0b71e245c322a2eaba9eace24305b52a26e1166533351620cc1a253681371b5c9c41a0524ed71784b779754e3a6 SHA512 673af96489f9b069067f78f68130a7b559829aeea74b8ca0af20bccd90be5a24fec24224fac2287ca1ac30147ca1b0843984fe18b21bde195450241a83fc4b60
EBUILD gcc-12.4.1_p20241219.ebuild 1615 BLAKE2B ea5fc1179a82bc8c92c01be77a9c6cff68018ff4fc196627cd4daf66ebec4019b89ff7b682cf8560d456f18e1800808d4ba94c9b9cfc1b717eac132eb8c0f9b9 SHA512 ef2d2cf32e012f5074a26853aac97fa76d979881ff81b1e788cfe192e61d1973729553268f6c7e419320315bd0da0a40f47ef0ff099425626e6aa0debfccdcb7
-EBUILD gcc-12.4.1_p20250116.ebuild 1624 BLAKE2B f4a16d6af11158666ec0ad9ced5841c89b6ce70964950b3c439105b240a3534b633dca7bf97aaef847b222f8aa323f815fa7410b5f4b115f07f50f4ff1cd31db SHA512 30bc2e09a28caf65eccc0e2f496d5095d2735e5e118b269d2cfad638c8874283ce364a14074d63c4e43862e247cc0626364c7f19ab3ac314250a5e52360331fc
-EBUILD gcc-12.4.1_p20250123.ebuild 1624 BLAKE2B f4a16d6af11158666ec0ad9ced5841c89b6ce70964950b3c439105b240a3534b633dca7bf97aaef847b222f8aa323f815fa7410b5f4b115f07f50f4ff1cd31db SHA512 30bc2e09a28caf65eccc0e2f496d5095d2735e5e118b269d2cfad638c8874283ce364a14074d63c4e43862e247cc0626364c7f19ab3ac314250a5e52360331fc
+EBUILD gcc-12.4.1_p20250220.ebuild 1624 BLAKE2B f4a16d6af11158666ec0ad9ced5841c89b6ce70964950b3c439105b240a3534b633dca7bf97aaef847b222f8aa323f815fa7410b5f4b115f07f50f4ff1cd31db SHA512 30bc2e09a28caf65eccc0e2f496d5095d2735e5e118b269d2cfad638c8874283ce364a14074d63c4e43862e247cc0626364c7f19ab3ac314250a5e52360331fc
+EBUILD gcc-12.4.1_p20250227.ebuild 1623 BLAKE2B c1a1de3e527d07739c4b4ba10b7c0f318cd593b271bb52e86d14fae39d0d30c8c2e28b5849dd60ddaf74fe01e391654dc0f5b517149cd621b387612fdf67f406 SHA512 a59988681339c1d63f7ae7347369e2559289a6748912674ab2ff72def0ea475e29c8af4ef09e21d2627bfdd5eafa0215776cd8de7071c90819a803141210ab3f
+EBUILD gcc-12.4.1_p20250306.ebuild 1624 BLAKE2B f4a16d6af11158666ec0ad9ced5841c89b6ce70964950b3c439105b240a3534b633dca7bf97aaef847b222f8aa323f815fa7410b5f4b115f07f50f4ff1cd31db SHA512 30bc2e09a28caf65eccc0e2f496d5095d2735e5e118b269d2cfad638c8874283ce364a14074d63c4e43862e247cc0626364c7f19ab3ac314250a5e52360331fc
EBUILD gcc-12.5.9999.ebuild 1592 BLAKE2B 287d83b5979c9cf974e890e5835bab37fa34a97dfc8fd473d1344e9896835a2980c885e7584649ebaede68b06dcf5cdbbc0f768aa1fa6c1603d3b0135a93d170 SHA512 025fa1a7803303e99c2186bc2eb2e69e9cd5401f787aa4eac2f0ad709558142130adff6fb75e610d2b9acf9ea7775540e4b249ecbd348d30167a04108e97d523
EBUILD gcc-13.2.0.ebuild 1682 BLAKE2B 5a19639504afafced19bd1ad913e3106a65d16b4b3d5aeabedb0cbc891bdac22d9cd0a21928eef51b88dcbbe64927fabe8fc9bf0fe19ea755ad5959bf5acfb67 SHA512 3865dff4bb19f022f6a1a2d653bc8f7eab9c47e99ec5b30e4600506faab301f410ff26f1155b5305f219f3b89f344cc8271aef8b6d6fb2568e8937d5867ea843
EBUILD gcc-13.3.1_p20241220.ebuild 1674 BLAKE2B f259931c9581507f6140ee400ddab4bb7f0889a6eefdf2f7f72430cf34c487f0aa0cde5b3bbe13b513331e3f656078c5033f3540b8873de949d3225b2f584976 SHA512 865c309f411438db3b85ee5cdc93025e4ae7808236d382057c4d0c40a03850555d559357168f2928c174660fbe7a4aa530fb055af90ad5f086af7f46c9654029
-EBUILD gcc-13.3.1_p20250117.ebuild 1683 BLAKE2B 206ccd1583bf86e8facebad527f8deb2aa0c804bb3db379016e8bcc60319a42647510c0e27b1fd622121721877346d07565d15878c5bdd7ea6ef4bf8473f9db3 SHA512 d593a33b2b28477201788954afc6c307e8ad9d1d720cf4de273742c441e43894516ae8c57756dca8cd504c2a1da021aeb2a403bacbf8870ea9d9f8e823373c9f
-EBUILD gcc-13.3.1_p20250124.ebuild 1683 BLAKE2B 206ccd1583bf86e8facebad527f8deb2aa0c804bb3db379016e8bcc60319a42647510c0e27b1fd622121721877346d07565d15878c5bdd7ea6ef4bf8473f9db3 SHA512 d593a33b2b28477201788954afc6c307e8ad9d1d720cf4de273742c441e43894516ae8c57756dca8cd504c2a1da021aeb2a403bacbf8870ea9d9f8e823373c9f
+EBUILD gcc-13.3.1_p20250221.ebuild 1683 BLAKE2B 206ccd1583bf86e8facebad527f8deb2aa0c804bb3db379016e8bcc60319a42647510c0e27b1fd622121721877346d07565d15878c5bdd7ea6ef4bf8473f9db3 SHA512 d593a33b2b28477201788954afc6c307e8ad9d1d720cf4de273742c441e43894516ae8c57756dca8cd504c2a1da021aeb2a403bacbf8870ea9d9f8e823373c9f
+EBUILD gcc-13.3.1_p20250301.ebuild 1682 BLAKE2B 6140a01b163bafd70f9144a8f0f1791fe85d1a675875d6e29bcea753968ea9a510caddc22249311f1a4705d25f0bf6038ef9530cfe5910f8c4e520275a07e2c7 SHA512 de42788db89616c99df7672de1075f14fb1ea238dce1949a4c558ae2cd2963a483e1d19eee81a8b5edcba0a0441bd9a9f358ec1440fa4859180e00c76a3ec44b
+EBUILD gcc-13.3.1_p20250307.ebuild 1683 BLAKE2B 206ccd1583bf86e8facebad527f8deb2aa0c804bb3db379016e8bcc60319a42647510c0e27b1fd622121721877346d07565d15878c5bdd7ea6ef4bf8473f9db3 SHA512 d593a33b2b28477201788954afc6c307e8ad9d1d720cf4de273742c441e43894516ae8c57756dca8cd504c2a1da021aeb2a403bacbf8870ea9d9f8e823373c9f
EBUILD gcc-13.4.9999.ebuild 1651 BLAKE2B 48ad06325489ff94c03e1a1584a9d92f3d624aa8c6a1bb1a55ec8818ef66a75b9acca9a3b18c2743d11b118f1643fecdd5be577f780dad86dc89f67ac095e761 SHA512 7670b8cd00501d127cfaa8ca283bf83b1b29cbe65aa3e2f956c0c3fb169a903f1ef55d298c05b833cd3a2b3e6a72c0f7a2145aca698be730e20fc1a1c406c2de
EBUILD gcc-14.2.1_p20241221.ebuild 1537 BLAKE2B c7c007768b41459ce15112d6b1847aba0793f45416979433d1416ea786c2eb93c340da86af3e78999c68bbf16cce0f67f7653587bfb549fb68cd0ba9d25dd300 SHA512 021fec1ab5cf2073a93018221caa9af35c0a2975fb9820e484a03250136edc15135ccfd2861f7815b04ea1fd1bf109bca9bd66222469c99414fecd0b5ef072be
-EBUILD gcc-14.2.1_p20250118.ebuild 1440 BLAKE2B e19fede45adb75c13176dc209b4ffa6818bd0753db3dd8710327bf8402307f5e48bef65116de97b437987a0eceb153156c3996250ab240f06c68d946f29f2fd5 SHA512 d966850a6b8759390507ffe1975298975699a2272f293e69cef9173b3c252065685ded61a8870700d2dd4d420525d4813243daed279ac7836e00dab4c2cd116f
-EBUILD gcc-14.2.1_p20250125.ebuild 1440 BLAKE2B e19fede45adb75c13176dc209b4ffa6818bd0753db3dd8710327bf8402307f5e48bef65116de97b437987a0eceb153156c3996250ab240f06c68d946f29f2fd5 SHA512 d966850a6b8759390507ffe1975298975699a2272f293e69cef9173b3c252065685ded61a8870700d2dd4d420525d4813243daed279ac7836e00dab4c2cd116f
+EBUILD gcc-14.2.1_p20250222.ebuild 1440 BLAKE2B 403218e223a17ec1336d65ecc52686145d09d644278a3edd92af74ca9d83d172c14ccac9250f6c968976a5b3ebdc9ed6f6bd9194ae08c167d5c53cb65e83009c SHA512 bafbc66c0d28630b563f419d73c165f954e98ee03b9f92a859383957c2f980d8b9f6648056b13a9e7a17d99b406e58adebd86b02be0975f6daec10bc0aac5077
+EBUILD gcc-14.2.1_p20250301.ebuild 1439 BLAKE2B c2cad8f8237ba7e082598ad05a483575e29d00d688aef2584e70c7ca96327991758c297911b1b61ebb5433ccaeed190e9013f062848776b4e355ded5df509995 SHA512 04618a03e3fa2b8f660887960d3351eef65993285fb49847c83442460a396614143d36126f66d4588de29e04b5583139f1e81ce739bbd94683e1cd7f9437b5ec
+EBUILD gcc-14.2.1_p20250308.ebuild 1440 BLAKE2B 403218e223a17ec1336d65ecc52686145d09d644278a3edd92af74ca9d83d172c14ccac9250f6c968976a5b3ebdc9ed6f6bd9194ae08c167d5c53cb65e83009c SHA512 bafbc66c0d28630b563f419d73c165f954e98ee03b9f92a859383957c2f980d8b9f6648056b13a9e7a17d99b406e58adebd86b02be0975f6daec10bc0aac5077
EBUILD gcc-14.3.9999.ebuild 1410 BLAKE2B 0f77f0e17b7bf3d617ed4feec61406108d92e9ac8bd3597651b7f6814c45ddf56393228cda23fccf189e3fa106b9d389196da4f565283a10923bfe29a06fbfe2 SHA512 802582faf27fe46fcd75b8b917aa155739e4e0f70d010f14bf42cea3007da124a53fe1ee903e6004d4d8277350ac88d7ade78f79ce8a036b29e14dec45ba2d15
-EBUILD gcc-15.0.0_pre20250112-r3.ebuild 1360 BLAKE2B 2664e6319b5295dcee40ab54f116eb5d95e74f62c9c49895199f2e9ba0c708732ff2ed04ee4c6f427e414383f7033c74613fc3f373f7731273097a154dfaecf1 SHA512 6482fae23fb13f6d726b77d4241026a58e9e0afe9fde4191cc879a9c953625b2c92213d76427f743a5ef54cc4d90eddccc66562e09c21ba48ea15336c8540d51
-EBUILD gcc-15.0.1_pre20250119.ebuild 1360 BLAKE2B 87f127b63e1fc913bd57a354fb9d9a8e8628f22767793ce4a54be7f29ec5af0dd02e22103644318a32f1dcee378e3ece07cc714523d8f9955b377d8d4cb6c610 SHA512 41c9ea8e3932e365c369551c4c9649780cfa8fed2b9b682a1359e4fc8c415ae945f2e59e9d045701bec266946808ff2e486d2fa26eae30e4efe657cbd1a11659
-EBUILD gcc-15.0.1_pre20250126.ebuild 1360 BLAKE2B b443a664f9fce1f359cb45a8af97255d94862013198fd9f2c659bbef3374e0911307c3b74dc4354dc68cc8c8277ee3db287d1e00514265ae3ebb372f76d5217f SHA512 c65a8406610fd429dc6d9501b39d4e43ef6151322159cf062c15f99dfd3e0494cca0fe59c132a5a9cd8ac02b4d619ac9be7cc9657c3d3f9e1d176beaa5f80cc7
+EBUILD gcc-15.0.1_pre20250216.ebuild 1360 BLAKE2B 4212d360f6f9ca7db4090606330079f41f1c9610d32b6baccb64a1d20b39ee16c4517e90040a4fd1cf089cb0195543d57124a73452d8128cfbfef2b651732f53 SHA512 7286c47637b84199caf031fadf163893a8abb0d7533ac2a4759fac3e9d81936ff45b7c15afa8b53174e5e6b38b6a4821a11daa0a27c658ca41aa47393008ece5
+EBUILD gcc-15.0.1_pre20250223-r1.ebuild 1427 BLAKE2B f96bc8e59d6194d6141d073edd11d343cd97fb7637973f36807171cc6ac0c6e5925f26874810d3a92ab190976bc5df7cbb1c87b175c014ec1a0287c04d74c8bc SHA512 0d6668d0b13f57c14b659c169f9d5959d84c537857f257c1df89a73704542c11fec08c5cc318fb45d3173d44c141bdc54897bc68e3b6fda5bbda33670ec7a73c
+EBUILD gcc-15.0.1_pre20250223.ebuild 1360 BLAKE2B 4212d360f6f9ca7db4090606330079f41f1c9610d32b6baccb64a1d20b39ee16c4517e90040a4fd1cf089cb0195543d57124a73452d8128cfbfef2b651732f53 SHA512 7286c47637b84199caf031fadf163893a8abb0d7533ac2a4759fac3e9d81936ff45b7c15afa8b53174e5e6b38b6a4821a11daa0a27c658ca41aa47393008ece5
+EBUILD gcc-15.0.1_pre20250302-r1.ebuild 1453 BLAKE2B 1aa3e59f6d87fe4701f6ae8338563f6d943f7cb72ef09bf513a80365c4799990595047477c8f421349140ced67e558a916c49ba57526aeb0dc003b33cde5a9b2 SHA512 fcd694696536a3a581165505bdca7c57778c471725dc41f5af7b9faf83962d8e962aa37c21467b147ec98f4f51bfbef9d897c8dff86b41eb7809bce06d51da37
+EBUILD gcc-15.0.1_pre20250302.ebuild 1359 BLAKE2B 0e4dcef21ac4b8541a43eb8fad28c3cafddbc91b186f8d5f3ed67e42c3c34f8614234d203b0e80f314f9454b1132c30e5b1f79b08a4f4b34c061839e911b8b7e SHA512 4b5f3b8b0df693d95204b8983d3c51a07a286ef0d0b56e9a1b3d9bfa37a4e8559fa7133eae15a101c70e5b9783dc7c81d8d72437366ae08b2e4d62732db9de2e
+EBUILD gcc-15.0.1_pre20250309.ebuild 1359 BLAKE2B 0e4dcef21ac4b8541a43eb8fad28c3cafddbc91b186f8d5f3ed67e42c3c34f8614234d203b0e80f314f9454b1132c30e5b1f79b08a4f4b34c061839e911b8b7e SHA512 4b5f3b8b0df693d95204b8983d3c51a07a286ef0d0b56e9a1b3d9bfa37a4e8559fa7133eae15a101c70e5b9783dc7c81d8d72437366ae08b2e4d62732db9de2e
EBUILD gcc-15.0.9999.ebuild 1332 BLAKE2B 6f17f77603522bac72d4d57094cc086263a9bfe6273c04d91b169ebc23d78fa2943c0950d4a40fe846d9d92648e54ca54ad1cecd5446ed5710062f9dca569b4b SHA512 4e4a673229a36dee68238e10efb2d9e0ff1c530411395e5230bbf567c92342a4b79d0ecb0ec91573c52fd8b5efd5cf6d20e612971848c9529378e0c42c0e213d
EBUILD gcc-8.5.0-r2.ebuild 549 BLAKE2B 2856372670c76fbe54778c0532815e3510b01b1c8aad99acc3e9183bf6829251952e29887340895625c1e421e19302430ae1a0a8dddcd8470bd71cc221f0b6b0 SHA512 559ba0dbdc7542b6af5d101f19a5b3c9eab38b9996c26330834ffa924fd8c792988f223b492e6ac84255eccbc4af762be50c2d60e84ca24b7a9ebba134608c6d
EBUILD gcc-9.5.0.ebuild 1257 BLAKE2B b398cea6cb4227fd126b85feb3e735f6b505236f54aecc9983e46fd30dbfcd8f16e80680c231567212c7cbd524b0d485574f7c5c5830137f9ebeea089a641e90 SHA512 0faea0a2389563bede22ba172ae6ab490a693c221bf6700152e9f63b23fad8d74a595a50c40cdf2eed32ee5e9cdddfdb6e2907629036c94034327f5772c93f6f
-MISC metadata.xml 5558 BLAKE2B 5d264b1143974131488d394e0bab95126a5ac0233f63d9704da0383592776fb828ea895915f0b4de10de295e435fc96c9b380c3ef0c1cf035c3a3fdd27a42ef3 SHA512 989d773a0e06b9049e75cd29d192a84eb8b46ef0847730a603da9e01d3875e2b3afc09e01526e10e490a4ecc2548dd865c177f63dc390a583986ec383298ed62
+MISC metadata.xml 5636 BLAKE2B d45615a6e5e5dae0218d127b8c1351734ea94327a8c08ba2561c6bdae8653eff09fd6f14ec09910832b09583e1c318f95bf61dce3b6b9f6ef6792407208c90e8 SHA512 a469c5932c32209633508d9f28d90f24999706c6a180043fea1feab04812bda651f9cb2bd289d65fad7e526278ca9c7d038d7b1fce49ed0965a4927feaa88ee6
diff --git a/sys-devel/gcc/files/gcc-15.0.1_pre20250223-c-Fix-range-for-with-PMFs-PR118923.patch b/sys-devel/gcc/files/gcc-15.0.1_pre20250223-c-Fix-range-for-with-PMFs-PR118923.patch
new file mode 100644
index 000000000000..04cf198fb673
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-15.0.1_pre20250223-c-Fix-range-for-with-PMFs-PR118923.patch
@@ -0,0 +1,231 @@
+From a41b3f54c13890b1327bb3d4fbae8f7feb37d00b Mon Sep 17 00:00:00 2001
+Message-ID: <a41b3f54c13890b1327bb3d4fbae8f7feb37d00b.1740542521.git.sam@gentoo.org>
+From: Jakub Jelinek <jakub@redhat.com>
+Date: Tue, 25 Feb 2025 09:26:46 +0100
+Subject: [PATCH] c++: Fix range for with PMFs [PR118923]
+
+The following testcases segfault because the new range for -frange-for-ext-temps
+temporary extension extends even the internal TARGET_EXPRs created by
+get_member_function_from_ptrfunc.
+
+The following patch fixes that by using get_internal_target_expr for those
+instead of force_target_expr (similarly in cp_finish_decl and
+build_comparison_op) and using force_target_expr inside of
+get_internal_target_expr.
+
+2025-02-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/118923
+ * tree.cc (get_internal_target_expr): Use force_target_expr
+ instead of build_target_expr_with_type.
+ * typeck.cc (get_member_function_from_ptrfunc): Use
+ get_internal_target_expr instead of force_target_expr.
+ * decl.cc (cp_finish_decl): Likewise.
+ * method.cc (build_comparison_op): Likewise.
+
+ * g++.dg/cpp0x/pr118923.C: New test.
+ * g++.dg/cpp1y/pr118923.C: New test.
+---
+ gcc/cp/decl.cc | 6 +--
+ gcc/cp/method.cc | 2 +-
+ gcc/cp/tree.cc | 3 +-
+ gcc/cp/typeck.cc | 6 +--
+ gcc/testsuite/g++.dg/cpp0x/pr118923.C | 66 +++++++++++++++++++++++++++
+ gcc/testsuite/g++.dg/cpp1y/pr118923.C | 38 +++++++++++++++
+ 6 files changed, 110 insertions(+), 11 deletions(-)
+ create mode 100644 gcc/testsuite/g++.dg/cpp0x/pr118923.C
+ create mode 100644 gcc/testsuite/g++.dg/cpp1y/pr118923.C
+
+diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc
+index 05ad9bb24d59..936e48e907e2 100644
+--- a/gcc/cp/decl.cc
++++ b/gcc/cp/decl.cc
+@@ -9377,8 +9377,7 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
+ tree guard = NULL_TREE;
+ if (cleanups || cleanup)
+ {
+- guard = force_target_expr (boolean_type_node,
+- boolean_false_node, tf_none);
++ guard = get_internal_target_expr (boolean_false_node);
+ add_stmt (guard);
+ guard = TARGET_EXPR_SLOT (guard);
+ }
+@@ -9407,8 +9406,7 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
+ popped that all, so push those extra cleanups around
+ the whole sequence with a guard variable. */
+ gcc_assert (TREE_CODE (sl) == STATEMENT_LIST);
+- guard = force_target_expr (integer_type_node,
+- integer_zero_node, tf_none);
++ guard = get_internal_target_expr (integer_zero_node);
+ add_stmt (guard);
+ guard = TARGET_EXPR_SLOT (guard);
+ for (unsigned i = 0; i < n_extra_cleanups; ++i)
+diff --git a/gcc/cp/method.cc b/gcc/cp/method.cc
+index 3914bbb1ef23..05c19cf0661e 100644
+--- a/gcc/cp/method.cc
++++ b/gcc/cp/method.cc
+@@ -1597,7 +1597,7 @@ build_comparison_op (tree fndecl, bool defining, tsubst_flags_t complain)
+ /* Some other array, will need runtime loop. */
+ else
+ {
+- idx = force_target_expr (sizetype, maxval, complain);
++ idx = get_internal_target_expr (maxval);
+ loop_indexes = tree_cons (idx, NULL_TREE, loop_indexes);
+ }
+ expr_type = TREE_TYPE (expr_type);
+diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc
+index 5628a576f01b..5863b6878f02 100644
+--- a/gcc/cp/tree.cc
++++ b/gcc/cp/tree.cc
+@@ -982,8 +982,7 @@ tree
+ get_internal_target_expr (tree init)
+ {
+ init = convert_bitfield_to_declared_type (init);
+- tree t = build_target_expr_with_type (init, TREE_TYPE (init),
+- tf_warning_or_error);
++ tree t = force_target_expr (TREE_TYPE (init), init, tf_warning_or_error);
+ TARGET_EXPR_INTERNAL_P (t) = true;
+ return t;
+ }
+diff --git a/gcc/cp/typeck.cc b/gcc/cp/typeck.cc
+index a9c32ff930d5..bbaca960bd7c 100644
+--- a/gcc/cp/typeck.cc
++++ b/gcc/cp/typeck.cc
+@@ -4219,16 +4219,14 @@ get_member_function_from_ptrfunc (tree *instance_ptrptr, tree function,
+ && !DECL_P (instance_ptr)
+ && !TREE_CONSTANT (instance_ptr)))
+ instance_ptr = instance_save_expr
+- = force_target_expr (TREE_TYPE (instance_ptr), instance_ptr,
+- complain);
++ = get_internal_target_expr (instance_ptr);
+
+ /* See above comment. */
+ if (TREE_SIDE_EFFECTS (function)
+ || (!nonvirtual
+ && !DECL_P (function)
+ && !TREE_CONSTANT (function)))
+- function
+- = force_target_expr (TREE_TYPE (function), function, complain);
++ function = get_internal_target_expr (function);
+
+ /* Start by extracting all the information from the PMF itself. */
+ e3 = pfn_from_ptrmemfunc (function);
+diff --git a/gcc/testsuite/g++.dg/cpp0x/pr118923.C b/gcc/testsuite/g++.dg/cpp0x/pr118923.C
+new file mode 100644
+index 000000000000..55d3052b61f3
+--- /dev/null
++++ b/gcc/testsuite/g++.dg/cpp0x/pr118923.C
+@@ -0,0 +1,66 @@
++// PR c++/118923
++// { dg-do run { target c++11 } }
++// { dg-additional-options "-frange-for-ext-temps" { target c++23 } }
++// { dg-additional-options "-fno-range-for-ext-temps" { target c++20_down } }
++
++int g;
++
++struct A {
++ int a[3];
++ A (int x, int y, int z) : a{x, y, z} { if ((g++ & 7) != 4) __builtin_abort (); }
++ A (const A &x) = delete;
++ ~A () { if ((g++ & 7) != 7 - 2 * (__cpp_range_based_for >= 202211)) __builtin_abort (); }
++ int *begin () { return a; }
++ int *end () { return a + 3; }
++};
++
++struct B {
++ B () { if ((g++ & 7) != 3) __builtin_abort (); }
++ B (const B &) = delete;
++ ~B () { if ((g++ & 7) != 5 + (__cpp_range_based_for >= 202211)) __builtin_abort (); }
++};
++
++struct C {
++ A foo (const B &) { return { 1, 2, 3 }; }
++ A bar (const B &) { return { 4, 5, 6 }; }
++ bool baz () { return b; }
++ bool b = false;
++ static C c;
++};
++
++C C::c;
++
++struct D {
++ D () { if ((g++ & 5) != 0) __builtin_abort (); }
++ D (const D &) = delete;
++ ~D () { if ((g & 7) != 1 && (g & 7) != 6 + (__cpp_range_based_for >= 202211)) __builtin_abort (); g++; }
++};
++
++inline C *
++qux (const D &)
++{
++ return &C::c;
++}
++
++void
++foo ()
++{
++ int z = 1;
++ auto d = qux (D {})->baz () ? &C::bar : &C::foo;
++ for (const int &r : (qux (D {})->*d) (B {}))
++ if (z++ != r)
++ __builtin_abort ();
++ C::c.b = true;
++ d = qux (D {})->baz () ? &C::bar : &C::foo;
++ for (const int &r : (qux (D {})->*d) (B {}))
++ if (z++ != r)
++ __builtin_abort ();
++}
++
++int
++main ()
++{
++ foo ();
++ if (g != 16)
++ __builtin_abort ();
++}
+diff --git a/gcc/testsuite/g++.dg/cpp1y/pr118923.C b/gcc/testsuite/g++.dg/cpp1y/pr118923.C
+new file mode 100644
+index 000000000000..b375f47a7d0f
+--- /dev/null
++++ b/gcc/testsuite/g++.dg/cpp1y/pr118923.C
+@@ -0,0 +1,38 @@
++// PR c++/118923
++// { dg-do run { target c++14 } }
++
++struct A {
++ int a[3] = { 0, 0, 0 };
++ int *begin () { return a; }
++ int *end () { return a + 3; }
++};
++
++struct B {
++ A foo () { return { 1, 2, 3 }; }
++ A bar () { return { 1, 2, 3 }; }
++ bool baz () { return b; }
++ bool b = false;
++ static B c;
++};
++
++B B::c;
++
++inline B *
++qux ()
++{
++ return &B::c;
++}
++
++void
++foo ()
++{
++ auto d = qux ()->baz () ? &B::foo : &B::bar;
++ for (const int &r : (qux ()->*d) ())
++ ;
++}
++
++int
++main ()
++{
++ foo ();
++}
+--
+2.48.1
+
diff --git a/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-ice.patch b/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-ice.patch
new file mode 100644
index 000000000000..6fbc91e926b1
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-ice.patch
@@ -0,0 +1,99 @@
+https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=f22e89167b3abfbf6d67f42fc4d689d8ffdc1810
+https://gcc.gnu.org/PR119067
+
+From f22e89167b3abfbf6d67f42fc4d689d8ffdc1810 Mon Sep 17 00:00:00 2001
+From: Richard Biener <rguenther@suse.de>
+Date: Mon, 3 Mar 2025 09:54:15 +0100
+Subject: [PATCH] ipa/119067 - bogus TYPE_PRECISION check on VECTOR_TYPE
+
+odr_types_equivalent_p can end up using TYPE_PRECISION on vector
+types which is a no-go. The following instead uses TYPE_VECTOR_SUBPARTS
+for vector types so we also end up comparing the number of vector elements.
+
+ PR ipa/119067
+ * ipa-devirt.cc (odr_types_equivalent_p): Check
+ TYPE_VECTOR_SUBPARTS for vectors.
+
+ * g++.dg/lto/pr119067_0.C: New testcase.
+ * g++.dg/lto/pr119067_1.C: Likewise.
+---
+ gcc/ipa-devirt.cc | 10 +++++++++-
+ gcc/testsuite/g++.dg/lto/pr119067_0.C | 22 ++++++++++++++++++++++
+ gcc/testsuite/g++.dg/lto/pr119067_1.C | 10 ++++++++++
+ 3 files changed, 41 insertions(+), 1 deletion(-)
+ create mode 100644 gcc/testsuite/g++.dg/lto/pr119067_0.C
+ create mode 100644 gcc/testsuite/g++.dg/lto/pr119067_1.C
+
+diff --git a/gcc/ipa-devirt.cc b/gcc/ipa-devirt.cc
+index c31658f57ef2..532e25e87c60 100644
+--- a/gcc/ipa-devirt.cc
++++ b/gcc/ipa-devirt.cc
+@@ -1259,13 +1259,21 @@ odr_types_equivalent_p (tree t1, tree t2, bool warn, bool *warned,
+ || TREE_CODE (t1) == OFFSET_TYPE
+ || POINTER_TYPE_P (t1))
+ {
+- if (TYPE_PRECISION (t1) != TYPE_PRECISION (t2))
++ if (!VECTOR_TYPE_P (t1) && TYPE_PRECISION (t1) != TYPE_PRECISION (t2))
+ {
+ warn_odr (t1, t2, NULL, NULL, warn, warned,
+ G_("a type with different precision is defined "
+ "in another translation unit"));
+ return false;
+ }
++ if (VECTOR_TYPE_P (t1)
++ && maybe_ne (TYPE_VECTOR_SUBPARTS (t1), TYPE_VECTOR_SUBPARTS (t2)))
++ {
++ warn_odr (t1, t2, NULL, NULL, warn, warned,
++ G_("a vector type with different number of elements "
++ "is defined in another translation unit"));
++ return false;
++ }
+ if (TYPE_UNSIGNED (t1) != TYPE_UNSIGNED (t2))
+ {
+ warn_odr (t1, t2, NULL, NULL, warn, warned,
+diff --git a/gcc/testsuite/g++.dg/lto/pr119067_0.C b/gcc/testsuite/g++.dg/lto/pr119067_0.C
+new file mode 100644
+index 000000000000..e0f813ceffed
+--- /dev/null
++++ b/gcc/testsuite/g++.dg/lto/pr119067_0.C
+@@ -0,0 +1,22 @@
++/* { dg-lto-do link } */
++/* { dg-skip-if "" { ! { x86_64-*-* i?86-*-* } } } */
++/* { dg-require-effective-target avx2 } */
++/* { dg-require-effective-target shared } */
++/* { dg-lto-options { { -O2 -fPIC -flto } } } */
++/* { dg-extra-ld-options { -shared } } */
++
++#pragma GCC push_options
++#pragma GCC target("avx2")
++typedef char __v32qi __attribute__ ((__vector_size__ (32)));
++struct ff
++{
++ __v32qi t;
++};
++__v32qi g(struct ff a);
++
++__v32qi h(__v32qi a)
++{
++ struct ff t = {a};
++ return g(t);
++}
++#pragma GCC pop_options
+diff --git a/gcc/testsuite/g++.dg/lto/pr119067_1.C b/gcc/testsuite/g++.dg/lto/pr119067_1.C
+new file mode 100644
+index 000000000000..d8e2935fa24d
+--- /dev/null
++++ b/gcc/testsuite/g++.dg/lto/pr119067_1.C
+@@ -0,0 +1,10 @@
++/* { dg-options "-mavx2" } */
++
++typedef char __v32qi __attribute__ ((__vector_size__ (32)));
++struct ff
++{
++ __v32qi t;
++};
++__v32qi g(struct ff a) {
++ return a.t;
++}
+--
+2.43.5
diff --git a/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-pgo-ice.patch b/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-pgo-ice.patch
new file mode 100644
index 000000000000..9486b69147d3
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-pgo-ice.patch
@@ -0,0 +1,58 @@
+https://inbox.sourceware.org/gcc-patches/ri6bjui45il.fsf@virgil.suse.cz/
+
+From 833d679c3c071b78dfb22015fe03d2cecfd650ec Mon Sep 17 00:00:00 2001
+Message-ID: <833d679c3c071b78dfb22015fe03d2cecfd650ec.1741019831.git.sam@gentoo.org>
+From: Martin Jambor <mjambor@suse.cz>
+Date: Mon, 3 Mar 2025 14:18:10 +0100
+Subject: [PATCH] ipa-cp: Avoid ICE when redistributing nodes among edges to
+ recursive clones (PR 118318)
+
+Hi,
+
+PR 118318 reported an ICE during PGO build of Firefox when IPA-CP, in
+the final stages of update_counts_for_self_gen_clones where it
+attempts to guess how to distribute profile count among clones created
+for recursive edges and the various edges that are created in the
+process. If one such edge has profile count of kind GUESSED_GLOBAL0,
+the compatibility check in the operator+ will lead to an ICE. After
+discussing the situation with Honza, we concluded that there is little
+more we can do other than check for this situation before touching the
+edge count, so this is what this patch does.
+
+Bootstrapped and LTO-profile-bootstrapped and tested on x86_64. OK for
+master? (Should I then backport this to active release branches? I
+guess it would make sense.)
+
+Thanks,
+
+Martin
+
+gcc/ChangeLog:
+
+2025-02-28 Martin Jambor <mjambor@suse.cz>
+
+PR ipa/118318
+ * ipa-cp.cc (adjust_clone_incoming_counts): Add a compatible_p check.
+---
+ gcc/ipa-cp.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/ipa-cp.cc b/gcc/ipa-cp.cc
+index 3c994f24f540..264568989a96 100644
+--- a/gcc/ipa-cp.cc
++++ b/gcc/ipa-cp.cc
+@@ -4638,7 +4638,8 @@ adjust_clone_incoming_counts (cgraph_node *node,
+ cs->count = cs->count.combine_with_ipa_count (sum);
+ }
+ else if (!desc->processed_edges->contains (cs)
+- && cs->caller->clone_of == desc->orig)
++ && cs->caller->clone_of == desc->orig
++ && cs->count.compatible_p (desc->count))
+ {
+ cs->count += desc->count;
+ if (dump_file)
+
+base-commit: f1c30c6213fb228f1e8b5973d10c868b834a4acd
+--
+2.48.1
+
diff --git a/sys-devel/gcc/gcc-12.4.1_p20250116.ebuild b/sys-devel/gcc/gcc-12.4.1_p20250220.ebuild
index 83011b194d30..83011b194d30 100644
--- a/sys-devel/gcc/gcc-12.4.1_p20250116.ebuild
+++ b/sys-devel/gcc/gcc-12.4.1_p20250220.ebuild
diff --git a/sys-devel/gcc/gcc-12.4.1_p20250227.ebuild b/sys-devel/gcc/gcc-12.4.1_p20250227.ebuild
new file mode 100644
index 000000000000..2ea8273862ee
--- /dev/null
+++ b/sys-devel/gcc/gcc-12.4.1_p20250227.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
+PATCH_GCC_VER="12.4.0"
+PATCH_VER="2"
+MUSL_VER="1"
+MUSL_GCC_VER="12.4.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ ${PV} == *.9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ MY_PV_3=1
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ MY_PV_3=0
+ else
+ MY_PV_2=$((${MY_PV_2} - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply_user
+}
diff --git a/sys-devel/gcc/gcc-12.4.1_p20250123.ebuild b/sys-devel/gcc/gcc-12.4.1_p20250306.ebuild
index 83011b194d30..83011b194d30 100644
--- a/sys-devel/gcc/gcc-12.4.1_p20250123.ebuild
+++ b/sys-devel/gcc/gcc-12.4.1_p20250306.ebuild
diff --git a/sys-devel/gcc/gcc-13.3.1_p20250117.ebuild b/sys-devel/gcc/gcc-13.3.1_p20250221.ebuild
index ac245b9b4177..ac245b9b4177 100644
--- a/sys-devel/gcc/gcc-13.3.1_p20250117.ebuild
+++ b/sys-devel/gcc/gcc-13.3.1_p20250221.ebuild
diff --git a/sys-devel/gcc/gcc-13.3.1_p20250301.ebuild b/sys-devel/gcc/gcc-13.3.1_p20250301.ebuild
new file mode 100644
index 000000000000..4ffc7cf0e20a
--- /dev/null
+++ b/sys-devel/gcc/gcc-13.3.1_p20250301.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
+PATCH_GCC_VER="13.3.0"
+MUSL_GCC_VER="13.2.0"
+PATCH_VER="2"
+MUSL_VER="2"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ ${PV} == *.9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ MY_PV_3=1
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ MY_PV_3=0
+ else
+ MY_PV_2=$((${MY_PV_2} - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
+ eapply_user
+}
diff --git a/sys-devel/gcc/gcc-13.3.1_p20250124.ebuild b/sys-devel/gcc/gcc-13.3.1_p20250307.ebuild
index ac245b9b4177..ac245b9b4177 100644
--- a/sys-devel/gcc/gcc-13.3.1_p20250124.ebuild
+++ b/sys-devel/gcc/gcc-13.3.1_p20250307.ebuild
diff --git a/sys-devel/gcc/gcc-14.2.1_p20250118.ebuild b/sys-devel/gcc/gcc-14.2.1_p20250222.ebuild
index 95c826f0298f..8797a7ea318b 100644
--- a/sys-devel/gcc/gcc-14.2.1_p20250118.ebuild
+++ b/sys-devel/gcc/gcc-14.2.1_p20250222.ebuild
@@ -6,7 +6,7 @@ EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="14.2.0"
-PATCH_VER="7"
+PATCH_VER="8"
MUSL_VER="1"
MUSL_GCC_VER="14.1.0"
PYTHON_COMPAT=( python3_{10..12} )
diff --git a/sys-devel/gcc/gcc-14.2.1_p20250301.ebuild b/sys-devel/gcc/gcc-14.2.1_p20250301.ebuild
new file mode 100644
index 000000000000..ec135f5bd0b7
--- /dev/null
+++ b/sys-devel/gcc/gcc-14.2.1_p20250301.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
+PATCH_GCC_VER="14.2.0"
+PATCH_VER="8"
+MUSL_VER="1"
+MUSL_GCC_VER="14.1.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # m68k doesnt build (ICE, bug 932733)
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
+ eapply_user
+}
diff --git a/sys-devel/gcc/gcc-14.2.1_p20250125.ebuild b/sys-devel/gcc/gcc-14.2.1_p20250308.ebuild
index 95c826f0298f..8797a7ea318b 100644
--- a/sys-devel/gcc/gcc-14.2.1_p20250125.ebuild
+++ b/sys-devel/gcc/gcc-14.2.1_p20250308.ebuild
@@ -6,7 +6,7 @@ EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="14.2.0"
-PATCH_VER="7"
+PATCH_VER="8"
MUSL_VER="1"
MUSL_GCC_VER="14.1.0"
PYTHON_COMPAT=( python3_{10..12} )
diff --git a/sys-devel/gcc/gcc-15.0.1_pre20250126.ebuild b/sys-devel/gcc/gcc-15.0.1_pre20250216.ebuild
index bd26365ddc1e..876aa1eb35e2 100644
--- a/sys-devel/gcc/gcc-15.0.1_pre20250126.ebuild
+++ b/sys-devel/gcc/gcc-15.0.1_pre20250216.ebuild
@@ -6,7 +6,7 @@ EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="15.0.0"
-PATCH_VER="43"
+PATCH_VER="46"
MUSL_VER="2"
MUSL_GCC_VER="15.0.0"
PYTHON_COMPAT=( python3_{10..12} )
diff --git a/sys-devel/gcc/gcc-15.0.1_pre20250223-r1.ebuild b/sys-devel/gcc/gcc-15.0.1_pre20250223-r1.ebuild
new file mode 100644
index 000000000000..a4f89c791044
--- /dev/null
+++ b/sys-devel/gcc/gcc-15.0.1_pre20250223-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
+PATCH_GCC_VER="15.0.0"
+PATCH_VER="46"
+MUSL_VER="2"
+MUSL_GCC_VER="15.0.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=master
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+ eapply "${FILESDIR}"/${P}-c-Fix-range-for-with-PMFs-PR118923.patch
+ eapply_user
+}
diff --git a/sys-devel/gcc/gcc-15.0.0_pre20250112-r3.ebuild b/sys-devel/gcc/gcc-15.0.1_pre20250223.ebuild
index e5348afa3eab..876aa1eb35e2 100644
--- a/sys-devel/gcc/gcc-15.0.0_pre20250112-r3.ebuild
+++ b/sys-devel/gcc/gcc-15.0.1_pre20250223.ebuild
@@ -6,7 +6,7 @@ EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="15.0.0"
-PATCH_VER="41"
+PATCH_VER="46"
MUSL_VER="2"
MUSL_GCC_VER="15.0.0"
PYTHON_COMPAT=( python3_{10..12} )
diff --git a/sys-devel/gcc/gcc-15.0.1_pre20250302-r1.ebuild b/sys-devel/gcc/gcc-15.0.1_pre20250302-r1.ebuild
new file mode 100644
index 000000000000..290862949c1d
--- /dev/null
+++ b/sys-devel/gcc/gcc-15.0.1_pre20250302-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
+PATCH_GCC_VER="15.0.0"
+PATCH_VER="46"
+MUSL_VER="2"
+MUSL_GCC_VER="15.0.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=master
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+ eapply "${FILESDIR}"/${P}-firefox-ice.patch
+ eapply "${FILESDIR}"/${P}-firefox-pgo-ice.patch
+ eapply_user
+}
diff --git a/sys-devel/gcc/gcc-15.0.1_pre20250119.ebuild b/sys-devel/gcc/gcc-15.0.1_pre20250302.ebuild
index f62140512804..729c8b24821d 100644
--- a/sys-devel/gcc/gcc-15.0.1_pre20250119.ebuild
+++ b/sys-devel/gcc/gcc-15.0.1_pre20250302.ebuild
@@ -6,7 +6,7 @@ EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="15.0.0"
-PATCH_VER="42"
+PATCH_VER="46"
MUSL_VER="2"
MUSL_GCC_VER="15.0.0"
PYTHON_COMPAT=( python3_{10..12} )
@@ -48,6 +48,5 @@ src_prepare() {
done
toolchain_src_prepare
-
eapply_user
}
diff --git a/sys-devel/gcc/gcc-15.0.1_pre20250309.ebuild b/sys-devel/gcc/gcc-15.0.1_pre20250309.ebuild
new file mode 100644
index 000000000000..729c8b24821d
--- /dev/null
+++ b/sys-devel/gcc/gcc-15.0.1_pre20250309.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
+PATCH_GCC_VER="15.0.0"
+PATCH_VER="46"
+MUSL_VER="2"
+MUSL_GCC_VER="15.0.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=master
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+ eapply_user
+}
diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
index 9b51b891ae5e..142253a37e48 100644
--- a/sys-devel/gcc/metadata.xml
+++ b/sys-devel/gcc/metadata.xml
@@ -34,6 +34,7 @@
On arm64, GCC will set -mbranch-protection=standard by default
when building software.
</flag>
+ <flag name="cobol">Enable support for the COBOL programming language</flag>
<flag name="d">Enable support for the D programming language</flag>
<flag name="debug">
Enables GCC's 'checking' facility via --enable-checking=yes,extra,rtl.
diff --git a/sys-devel/gettext/Manifest b/sys-devel/gettext/Manifest
index 78e8b870e110..7a41383e7097 100644
--- a/sys-devel/gettext/Manifest
+++ b/sys-devel/gettext/Manifest
@@ -4,7 +4,6 @@ AUX gettext-0.21-CVE-2020-12825.patch 14074 BLAKE2B 67da10f81edf92004b8d1f4099c7
AUX gettext-0.21-musl-omit_setlocale_lock.patch 1598 BLAKE2B 6b27ad4db1fcaed8b88345f47f75eb36580eb848ed3e914f2625c8136d34c1a13cd67ca043b2d42ee352d1214b3db0e3684b1be470072640bfc7c6892b78e2cb SHA512 04bf3d840c3687255f8333ae6de1af1774b80611fbfd69a9eff0b49bed74510a0e6c40768e1c1e52853221c2ee19ccad78a211500f0b1c05763670a1dbebbf70
AUX gettext-0.21.1-java-autoconf.patch 2280 BLAKE2B 79605c0ea6c5a56be1a6d586210ed40d913e30fd56c955c49a796a78e2f7d068ccdfdeb2b13ee68458612a40e6a7130e4e8d30661136cee888e7319cecce6899 SHA512 60948e0e45ea8628d6041448d4152696e3026e9d8d7dd4441977a0f8496976fb16cb8578d549287ab9d1a783cc764c9d7c3041d1e47bf1c789b5ff9a34a66dc1
AUX gettext-0.21_rc1-avoid_eautomake.patch 1362 BLAKE2B eed15ecde829aa63859dc196052f97abc0386e6c496b7d7e073769e0ad6208623cc1fb6322ff422647f3a55aac6453bd6390432d707d179da7cfc820d487c23a SHA512 5089af3dabb2459345aec6196de70591dafabfc292495f052dd67ce3d2566c4b62a8554eb11db7499378e16a8d11953f044fcfd23c77a71ad01feec4c0c41956
-AUX gettext-0.23-libxml2-2.12.0.patch 1417 BLAKE2B 6ebf749c052465d01dbd8aa16cca196190a579cd6d71f5731e27b139c33d6c9f1798a31dfaae0c51f3a80148bff3cdccd06dacc82b22a0bba3e49e849be44a52 SHA512 428a6668437c5a63fd5b984e5c7374611d552c851e17367952767c3446d57b723c09ddf0358ef600f2a6760792a188abb0b0c7da4c70e3bacb5287b8ad26f377
AUX gettext-0.23-no-nls.patch 5158 BLAKE2B 3d989698288f493ed9f51f701d153c10d54acf13d630c50d9b33f6647b6490238b29d4cf584f7b394dc98a8707d86666f519883a668f8b1e5e0fdbc4d5dabc0c SHA512 bfde98fcc3db13ea130843f8461b7ce75fe1c73672019c9de1b3fe83a75b51885487d8355f376ab215723a09846045c6d2ee7c8811a09c28b09898ee89cae6bd
DIST gettext-0.21.1.tar.xz 10054564 BLAKE2B e994924284b3fd5b3e3bf59d4bf43eb30c9b21cc213dc3b98616b4a9fc321c90911d94d314f323cfffd0d2c3e9371b5b8f7985b9a785adc61617dd042b6f4df5 SHA512 61e93bc9876effd3ca1c4e64ff6ba5bd84b24951ec2cc6f40a0e3248410e60f887552f29ca1f70541fb5524f6a4e8191fed288713c3e280e18922dd5bff1a2c9
DIST gettext-0.21.1.tar.xz.sig 833 BLAKE2B f673436d315e972f9e110a1b5c8d1b2f20a32fc1b7ce027fcd3bc2fe7a81af183fb8db744cbed1a8c3a6ce1a13d55e19a8e8829fc944960fbfc7efcd9aaed91c SHA512 fba912830c57d0616fb66cf81da0cb7a3ab1e27497c45daa63249d3c9f85182a4f42dfeb1591d8f31c2a340ba0c519f04fd2f05429d1cf26a3ea316d047993d0
@@ -12,12 +11,12 @@ DIST gettext-0.22.4.tar.xz 10255384 BLAKE2B 3f93aa5aef8e40d2e01acaa5aeed11efefd0
DIST gettext-0.22.4.tar.xz.sig 833 BLAKE2B fbb00b53c807934a11263c120861971fffebbd39689eda1fae0fb956476e69c3fb6799440cbf3acfcf43ecea2c134ea4dadb95becbac98badb43e546f3c8e9fb SHA512 a774c98de643b1ea3df645e451878652c2baa5cd786642aa457e6d5f5c44787cb1231eb15ad4390acdf314822633acaffffaa853eb69cbbc72c3b79b547a8854
DIST gettext-0.22.5.tar.xz 10270724 BLAKE2B 18c383518f5a78b5c04cf76de976524da2a87a892a30d6386778bb4c7dd526ffc3f14f484906c5d3a513b7caf76ea560e53962b325e552182d6940055d798f24 SHA512 a60999bb9d09441f138214d87acb7e59aab81e765bb9253a77c54902681c5de164a5a04de2a9778dfb479dbdefaab2d5de1fbaf6095c555c43e7e9fd7a1c09bd
DIST gettext-0.22.5.tar.xz.sig 833 BLAKE2B bb3e5ced34ab109f498347a3567103fe3491f69addb4a5ce25bf854fae1a11340eef1a9826b369d2416b53e5f7065aeebdb1609615f064cf7fb4151e82a5b4e5 SHA512 87f1df69206702be928b09a59a19ae4c23072cbc78ea16e76bfc4c929de76a3c0bb8e4eb2c3100c6e7b3b51d23e3b0e484c7e1d576ba7e25fd887934dc9ed8f7
-DIST gettext-0.23.tar.xz 11053572 BLAKE2B 208e5a73ed021c22357b1a1f0324dd7c9fa14b458b610c6f2fbd85f6541dd2bc23179c63dcd43000689482d8a6337f5255f501581d67ee2338ef3d50ec5e9c2e SHA512 1de09c0a83b1b4bb810abacbaf7c3e0fedbfbddea1cf7c89df3838c5f0a14cf58d686eb5876cfae302acb31c93beefb61a12c8a889a998fd235798699dc2c155
-DIST gettext-0.23.tar.xz.sig 833 BLAKE2B 5da93144e3d2eb745729b3f2d68e85ad508214b62694a22da7d37c6a3c9eaacd0d44339564b6373690dce29d9140a8af31ccea9e61726d2651ecc8234405b681 SHA512 25a6a2d1d9eb406b2be036b01f709a0badb84b70e23908c51fcbc1e26836510748f9623a075622271962d37bb859d4553755c6ed9832c1f39742ae1179b9292a
+DIST gettext-0.23.1.tar.xz 11038556 BLAKE2B 08d10340f3d855a87a96594c6f2dcf72925394f02e86235090f8d272e0a27ce32e57a0fbaed61aaf61d7328ff30be076dccaecaa13832d8db3ec0a51786780b9 SHA512 d75908f73eabe36c01d72d342ca694dbefad5f43da54f0ccb43bfd0518baff5becc8f50e787f21fadb7c29b3123638e4559334ea4f8e48a97107e8c5e22453b6
+DIST gettext-0.23.1.tar.xz.sig 833 BLAKE2B 7ab3c5b76825fcd71371f25f0cc3d79704c5ae405f153917901f583f5780f3707f622522b2bac89dbf32a7bf281216ad7469608af490ad6072f12c81e472200a SHA512 8aa2ba38d863d15a91b526b8b22d5aa54e07bc9cf716a551338d4f7f4230288bfa1234d4628e28fcdb4dc4050786a233a194197ca247d98c939e4d06bca4c230
EBUILD gettext-0.21.1.ebuild 5183 BLAKE2B abbb7e45677f053c241c9d05f1c1598157ff5a1fc67739b46ea54143973a7b95f6a2540cf50091ae5c34d649b5029edc9e2c9c85443d2c1684d64e92d1ba6169 SHA512 52b8bab71bbbf4cd7fe48ce64c730f172022003e0e9847d4adc0e3c67dcccfba9f453e25b6a4a7fade689dda6798ac55f7e790d737d94edcc2488a76e9495bbc
-EBUILD gettext-0.22.4-r1.ebuild 5189 BLAKE2B a7ab7f1a200d44b834644703222ca5c6540027192cae68900b10f5f82d5dae93c339b1d0399cbe3a05977df49e5579b41ff82c8422f12c5b08c359f91ffbba6e SHA512 e5249993d1e4777d9b52139148b00ada922766013df5300ed985d8e73295d962bbda776f02f6027d4179272568ba9596c60c89cc11c6405105ea8615db89223c
+EBUILD gettext-0.22.4-r1.ebuild 5188 BLAKE2B 0d78e75b7db6822b4df8d3ab55a8134b971dfe828847a00005017f56870f5553e3868617c95fd13a6d58d39af8e0da101ef80e4fc7a03f5ad986f15dec409dba SHA512 e06cc2704689ffcd4d298e63e833babe8cdd8d470405a560b854ee6239d1d2dbaa5c93c5a289d9b486e3fe45d4d94208e2f542de82c628440d561744074e0479
EBUILD gettext-0.22.4.ebuild 5179 BLAKE2B dbf62738b07f3018facf85b453e5462673dff921e53f0085d6c9d70083ebd76b4354fe5edc7d03ada5bca5f582a9431283a85ff651e8724185299f4e83c4ae20 SHA512 4e41eeeb86dc02c731ecc2f93cf8a796753d490fb52dc3d38cd849d65996c36e591141bf4bfc829dc5e356968fb87ba8b011fd76f482fcdac71f2ad50f3a74ea
-EBUILD gettext-0.22.5-r1.ebuild 5446 BLAKE2B 87ab467c84bcad48e3e33cee7f328228b9e7b75317118f42740e48a5ebc6320a4d7b3873d521419779c1461887a311aedb8a5929ebfd6de037f7c6bc9e7634ec SHA512 35410f269686459167a14512f1511312a4c83c99d78c51fb6ed32d7302b0d2bc5b8a28f5c05875f6bc1827d91fed56b147442218a3c40fb98af29e084f9153d4
+EBUILD gettext-0.22.5-r1.ebuild 5439 BLAKE2B d079b8b0e7c270ee3a9d5aaa8476d7feb080e2ccda74c3d253098a75743eeb2fe92d4563c990d1293980dd5d97d91a8be70e0a53bbd8e01238468094318ddc00 SHA512 83d49206175a7b9e873ee3f72431ec0f141a8aa1acd97dfaa30c13e2a25d00d5ae65afc67845c3dd2ef2be079b4caa8a4674e540f009f36a1fabfaa4e0212d5b
EBUILD gettext-0.22.5.ebuild 5430 BLAKE2B ff685b6f9986b5e29f5dc78dcd2986bbd1b75d3b5e547235f896103eacf73d7adca2108d20496bd83d0a28f2ebfd55d61fbca92049aa09065442bdc3b4d92306 SHA512 48eef0acb483f019bec013e87abd23eacbb68b3755e00d67351cbecaaab9f1854ca5a3278e8ea3834eda0972d3e6fc21944086af371a94fcaca5cdd6110e290c
-EBUILD gettext-0.23.ebuild 5333 BLAKE2B 4b72207970dde276daf386567b782ae674d105fe1328b57351c40f58f18923a5234fce2c79d2990ae0c1d7ac4aae0303df74d2420cf1d13d8d05de52f20208c7 SHA512 7437cf0d6d8158bca2c53a0c96c440f2fb522e7f26f50067cd09548937a5042b4a21e1a129fbbeee690923c2cc35d822d01815b8f507e926190575e97b7199f2
+EBUILD gettext-0.23.1.ebuild 5278 BLAKE2B b680d2b9eaef85ecfff868b7ac0ce7beea2505aa0ca14a33fbcf60484cd223364a6e72452c31966f745fa7b6f1e1cf96626633e4260036003cd6d2b96e03f186 SHA512 60af3f49477a5cd69bd133d8879d523dca99ab047058c0153c549c3f78e9f164bbcdd96acc399790a0d7d62ce9e185aa7a7ce19931319bdad6e639af290ce6b9
MISC metadata.xml 529 BLAKE2B 7043c2adba0d48824bf343847a587b7eb9ce0947b1985ee375f08a0af0fce3809e7a581001872b98ceb5305aeb410d4e2e72425e7906563593e168cfe60904f5 SHA512 06a0877db14a56e71a90ecc4eed1658e21703403c5739ed8e62202e5fe3958fccab5ffcc633975c7269402022f40653638cc41d1ae5b6427203dc8c28d6a502c
diff --git a/sys-devel/gettext/files/gettext-0.23-libxml2-2.12.0.patch b/sys-devel/gettext/files/gettext-0.23-libxml2-2.12.0.patch
deleted file mode 100644
index 7a22f6e7ea90..000000000000
--- a/sys-devel/gettext/files/gettext-0.23-libxml2-2.12.0.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-https://git.savannah.gnu.org/cgit/gettext.git/commit/?id=adfbe2ee7cd9b47a0465aa9a07d773fa290f46c1
-
-From adfbe2ee7cd9b47a0465aa9a07d773fa290f46c1 Mon Sep 17 00:00:00 2001
-From: Bruno Haible <bruno@clisp.org>
-Date: Sun, 1 Dec 2024 19:35:51 +0100
-Subject: Fix compilation error with libxml2 >= 2.12.0 and gcc >= 14.
-
-Reported by Sam James <sam@gentoo.org>
-at <https://savannah.gnu.org/bugs/?66506>.
-
-* gettext-tools/src/its.c: Include <libxml/xmlversion.h>.
-(structured_error): Adapt to API change.
----
- gettext-tools/src/its.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/gettext-tools/src/its.c b/gettext-tools/src/its.c
-index 8ee7ab40f..3f28f8851 100644
---- a/gettext-tools/src/its.c
-+++ b/gettext-tools/src/its.c
-@@ -28,6 +28,7 @@
- #include <stdint.h>
- #include <stdlib.h>
-
-+#include <libxml/xmlversion.h>
- #include <libxml/xmlerror.h>
- #include <libxml/tree.h>
- #include <libxml/parser.h>
-@@ -82,7 +83,13 @@
- /* ----------------------------- Error handling ----------------------------- */
-
- static void
-+/* Adapt to API change in libxml 2.12.0.
-+ See <https://gitlab.gnome.org/GNOME/libxml2/-/issues/622>. */
-+#if LIBXML_VERSION >= 21200
-+structured_error (void *data, const xmlError *err)
-+#else
- structured_error (void *data, xmlError *err)
-+#endif
- {
- error (0, err->level == XML_ERR_FATAL ? EXIT_FAILURE : 0,
- _("%s error: %s"), "libxml2", err->message);
---
-cgit v1.2.3-70-g09d2
diff --git a/sys-devel/gettext/gettext-0.22.4-r1.ebuild b/sys-devel/gettext/gettext-0.22.4-r1.ebuild
index ccf20a7219e6..47456395d965 100644
--- a/sys-devel/gettext/gettext-0.22.4-r1.ebuild
+++ b/sys-devel/gettext/gettext-0.22.4-r1.ebuild
@@ -22,7 +22,7 @@ else
mirror://gnu/${PN}/${P}.tar.xz
verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )
"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
# Only libasprintf is under the LGPL (and libintl is in a sep package),
diff --git a/sys-devel/gettext/gettext-0.22.5-r1.ebuild b/sys-devel/gettext/gettext-0.22.5-r1.ebuild
index cbcedaee51df..a170dc806465 100644
--- a/sys-devel/gettext/gettext-0.22.5-r1.ebuild
+++ b/sys-devel/gettext/gettext-0.22.5-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Note: Keep version bumps in sync with dev-libs/libintl.
@@ -23,7 +23,7 @@ else
mirror://gnu/${PN}/${P}.tar.xz
verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )
"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
# Only libasprintf is under the LGPL (and libintl is in a sep package),
diff --git a/sys-devel/gettext/gettext-0.23.ebuild b/sys-devel/gettext/gettext-0.23.1.ebuild
index 05471c9bd42f..9a7956b9ee6a 100644
--- a/sys-devel/gettext/gettext-0.23.ebuild
+++ b/sys-devel/gettext/gettext-0.23.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Note: Keep version bumps in sync with dev-libs/libintl.
@@ -54,6 +54,7 @@ RDEPEND="
${DEPEND}
git? ( dev-vcs/git )
java? ( >=virtual/jre-1.8:* )
+ nls? ( app-i18n/gnulib-l10n )
"
BDEPEND="
git? ( dev-vcs/git )
@@ -74,8 +75,6 @@ MULTILIB_WRAPPED_HEADERS=(
PATCHES=(
"${FILESDIR}"/${PN}-0.21-CVE-2020-12825.patch
- "${FILESDIR}"/${PN}-0.23-libxml2-2.12.0.patch
- "${FILESDIR}"/${PN}-0.23-no-nls.patch
)
QA_SONAME_NO_SYMLINK=".*/preloadable_libintl.so"
diff --git a/sys-devel/mold/Manifest b/sys-devel/mold/Manifest
index 86f878d77f26..411c4d753d86 100644
--- a/sys-devel/mold/Manifest
+++ b/sys-devel/mold/Manifest
@@ -5,10 +5,12 @@ DIST mold-2.34.1.tar.gz 10057683 BLAKE2B 9a9b166e64c4e5d48631147e781ce0d58acf764
DIST mold-2.35.0.tar.gz 10056856 BLAKE2B 9b039031047263aa959aa6f2bf296d11d51bf02d0a66afa76e08200d4547ee5d66cf522497b86fce7fd8cbd43559b8d19ad0264c749833988592cf7291fd55fe SHA512 6f7be924cb6ea38c0089f0c34beec9ef51160daea3510dac4ed68c519efefe4496739271b35c271f7384c9e436bd8a0636ce47e0847aa2b4daf227accecc7314
DIST mold-2.35.1.tar.gz 10094602 BLAKE2B 4943588d116a4631ad4404a4f2d92c4f9745546ec1ab7054df2af766f270c634c571f90d5e224f5441e48a3b310819f6993e56d5574c60032dd547d68d08fc64 SHA512 30d9cadfe57288e80ffcaddf1bf7df7b3bff75d337ea2b612bdffa3de3f7bd908b02d24c1f848d4ad0e82f72cd0e04c33ddd01d23c549d81aac5af58e63dbab4
DIST mold-2.36.0.tar.gz 10094759 BLAKE2B d86e6c7b71bbda0f02fbf2215f15a0e4c15cbb0ba32d4c5d478a6e07d4ed4fb42891610cfdc24ea67b6683f044a9c122db8534580fe12f6164b0db2681178825 SHA512 985ca22400b2d957b4ea8d35d6716cc6f13d1abe9c9e1eed461efda6f2612a5fbfa707aff879c616c756111fea751a335ad3a3fc224c7573855e7b2795596164
+DIST mold-2.37.1.tar.gz 10169802 BLAKE2B 702f5678f070b66cd3e6a2df000aad73ce6248d0bb025bfbfaa5de76be71c2ea265c45c5e5086426c79354f95c9326e0c33b0e78a144881a22456fbb495e46b1 SHA512 641c6668ee31368409d80ea01c0d84a58eac827eedc110495ca075bfce22081c906308d027e4723750995fc0d8b6bba8be3c3472c20f765ef45d14e1c4e36cd4
EBUILD mold-2.1.0.ebuild 2169 BLAKE2B b91dec8fb9890052e06cf40124f7647833a6ea786d95d44863848bfff17c0ba335f28aaac08d6971a619dbb845b9091d1134bae47f70bd811d2fde0f9ca11066 SHA512 5d27926e5003e6bd24ee3baf8258ab043aa660b7a36918500283bbec9d991ad8ea6971add52579ba6ee10a7eeeb97a6dff3a7e065c7292ced42d2f0043e33d1e
EBUILD mold-2.34.1-r1.ebuild 2607 BLAKE2B c66a19a984037a201d104e8365bc99b27c4bbe7c5ebc293853c0531d702a7c8a91acbe89a59092d1b4c80f1cf4559623d6c49095e9f90069341190887b225790 SHA512 616530beced37416e392c1a2b240353abdfb8526ac03d9b058894bff8102cd0ae3fb9a0d516348c6152c15367f0e389e9c39bd59a438a0adcfa08d7bc20b2337
EBUILD mold-2.35.0.ebuild 2699 BLAKE2B c468b4492170041e7cf22c6c246b0061f682559a1e921ed73860978b15e077008cceb3084cf2f9c5936141813f72ce414d47885178dce36483cab4243228246d SHA512 2a3467f9a4af346d4f1e45b55671ec9e8406701f59d8e780b3825375234b401a0a5aeb3b11ec7dda9bd6dcceaab900a10593bf7bc8d46793429dcec9a4c918c6
EBUILD mold-2.35.1.ebuild 2587 BLAKE2B 37ce681019fab2dcc215efa29628214c974bf4b5d9331528f49ac674fe9e82b540ddd1d5755207761cccc186a1763956ec8a6087b1531324c278b94cc412aa90 SHA512 e40620b614d823308d9440785ccfd3a4a597f14b1af07c013fbd0a5a29f000a22b817cf7f9e8360c9e3beff3b55a679b454c1b2e7d86ae465fd7d934f699d778
-EBUILD mold-2.36.0.ebuild 2533 BLAKE2B f98dff83b5b6dcebff8976f30c281e165d5cd93290dce118a68c9af077688c52155f655eac90d8deb8b7cb61824696f172ab4ec9d6f9368b25fd06504994a996 SHA512 787a600af5f9ea436607e2274840495fecc9aa8d215fa2bee9d26ad4e3fc02820aaa831563e50cd8ff050f98deb162380e949449e26b35dbe97ce688133cc0e3
-EBUILD mold-9999.ebuild 2533 BLAKE2B 3eeacc3dd5ff48ca4d836c93159d1d8f0045c995a494934dbe77b4888adf1348244ff8e358794796855a5542e86c84af082970854a2b9897b8b66315da0a4944 SHA512 85986bd7f93da14a5b6f883ca7d266a322b049d780a136a94f49975a34825e681d083c9180ceb6c5d0c7e3dba47f4b560c70edbe3f290c823ce1bf6d986600ec
+EBUILD mold-2.36.0.ebuild 2644 BLAKE2B a80b9c704fe4e722de16caac1715d5cf77efc6472010d44f7aee9ab5c72d8ccbb8f2d3f2aa899c1f9ea2ba00d978b5a51fe2c19827001f4bcebc0bf993971d50 SHA512 d32f3d70481fb4c965e069b54022e6bd413980241e38a9f9e35e42b8decf610f1a831aa1982a59ef7a648398d9a7fc7e21f14b9306eddf8f652e7e714dad3c46
+EBUILD mold-2.37.1.ebuild 2744 BLAKE2B 5ada51542d02fb71e8487d596525d18967adf25f627e5499738fe5c2e7952021f019d111c9caa9cc9e3c669dd76fc9dd72000171042c91f356aa13987a120794 SHA512 14fff705c54127d0323a7c5f3558cfa28ce1b41b2c91de97292e7b98718d2a9bd8287ad80d55bfe786aca42a8fa84cb4fe325477a2402db7ec2d449bfbe3b2a6
+EBUILD mold-9999.ebuild 2744 BLAKE2B 5ada51542d02fb71e8487d596525d18967adf25f627e5499738fe5c2e7952021f019d111c9caa9cc9e3c669dd76fc9dd72000171042c91f356aa13987a120794 SHA512 14fff705c54127d0323a7c5f3558cfa28ce1b41b2c91de97292e7b98718d2a9bd8287ad80d55bfe786aca42a8fa84cb4fe325477a2402db7ec2d449bfbe3b2a6
MISC metadata.xml 424 BLAKE2B a1c0cbdcb86c323fa1e6143c9665ec548f7713e74002a25b2fc26c51b60dae00922d3448a5aaecd5027a8cb026a681386ca7dea90657a3e10b25fb194dafc0d3 SHA512 1adc934e78ca0210743a1aa7479ebc4b5ea0b66a348c4408423460f02b404b885d3a8eca6e89ea8ac53ac9c76e85116965f1eef79e3f3e1f0451c8cf5ce0dfd6
diff --git a/sys-devel/mold/mold-2.36.0.ebuild b/sys-devel/mold/mold-2.36.0.ebuild
index a58b5bfabc3f..4d2c1476008e 100644
--- a/sys-devel/mold/mold-2.36.0.ebuild
+++ b/sys-devel/mold/mold-2.36.0.ebuild
@@ -21,7 +21,8 @@ fi
# - siphash ( MIT CC0-1.0 )
LICENSE="MIT BSD-2 CC0-1.0"
SLOT="0"
-IUSE="debug"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
RDEPEND="
app-arch/zstd:=
@@ -70,12 +71,19 @@ src_configure() {
use debug || append-cppflags "-DNDEBUG"
local mycmakeargs=(
- -DMOLD_ENABLE_QEMU_TESTS=OFF
+ -DBUILD_TESTING=$(usex test)
-DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS.
-DMOLD_USE_MIMALLOC=$(usex !kernel_Darwin)
-DMOLD_USE_SYSTEM_MIMALLOC=ON
-DMOLD_USE_SYSTEM_TBB=ON
)
+
+ if use test ; then
+ mycmakeargs+=(
+ -DMOLD_ENABLE_QEMU_TESTS=OFF
+ )
+ fi
+
cmake_src_configure
}
diff --git a/sys-devel/mold/mold-2.37.1.ebuild b/sys-devel/mold/mold-2.37.1.ebuild
new file mode 100644
index 000000000000..f675a8309da7
--- /dev/null
+++ b/sys-devel/mold/mold-2.37.1.ebuild
@@ -0,0 +1,112 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic toolchain-funcs
+
+DESCRIPTION="A Modern Linker"
+HOMEPAGE="https://github.com/rui314/mold"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/rui314/mold.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ # -alpha: https://github.com/rui314/mold/commit/3711ddb95e23c12991f6b8c7bfeba4f1421d19d4
+ KEYWORDS="-alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~riscv ~sparc ~x86"
+fi
+
+# mold (MIT)
+# - xxhash (BSD-2)
+# - siphash ( MIT CC0-1.0 )
+LICENSE="MIT BSD-2 CC0-1.0"
+SLOT="0"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-arch/zstd:=
+ >=dev-cpp/tbb-2021.7.0-r1:=
+ dev-libs/blake3:=
+ sys-libs/zlib
+ !kernel_Darwin? (
+ >=dev-libs/mimalloc-2:=
+ )
+"
+DEPEND="${RDEPEND}"
+
+pkg_pretend() {
+ # Requires a c++20 compiler, see #831473
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]]; then
+ die "${PN} needs at least gcc 10"
+ elif tc-is-clang && [[ $(clang-major-version) -lt 12 ]]; then
+ die "${PN} needs at least clang 12"
+ fi
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Needs unpackaged dwarfdump
+ rm test/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die
+
+ # Heavy tests, need qemu
+ rm test/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die
+ rm test/lto-{archive,dso,gcc,llvm,version-script}.sh || die
+
+ # Sandbox sadness
+ rm test/run.sh || die
+ sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \
+ test/mold-wrapper{,2}.sh || die
+
+ # Fails if binutils errors out on textrels by default
+ rm test/textrel.sh test/textrel2.sh || die
+
+ # static-pie tests require glibc built with static-pie support
+ if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then
+ rm test/{,ifunc-}static-pie.sh || die
+ fi
+}
+
+src_configure() {
+ use debug || append-cppflags "-DNDEBUG"
+
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS.
+ -DMOLD_USE_MIMALLOC=$(usex !kernel_Darwin)
+ -DMOLD_USE_SYSTEM_MIMALLOC=ON
+ -DMOLD_USE_SYSTEM_TBB=ON
+ )
+
+ if use test ; then
+ mycmakeargs+=(
+ -DMOLD_ENABLE_QEMU_TESTS=OFF
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ export TEST_CC="$(tc-getCC)" TEST_GCC="$(tc-getCC)" \
+ TEST_CXX="$(tc-getCXX)" TEST_GXX="$(tc-getCXX)"
+ cmake_src_test
+}
+
+src_install() {
+ dobin "${BUILD_DIR}"/${PN}
+
+ # https://bugs.gentoo.org/872773
+ insinto /usr/$(get_libdir)/mold
+ doins "${BUILD_DIR}"/${PN}-wrapper.so
+
+ dodoc docs/{design,execstack}.md
+ doman docs/${PN}.1
+
+ dosym ${PN} /usr/bin/ld.${PN}
+ dosym ${PN} /usr/bin/ld64.${PN}
+ dosym -r /usr/bin/${PN} /usr/libexec/${PN}/ld
+}
diff --git a/sys-devel/mold/mold-9999.ebuild b/sys-devel/mold/mold-9999.ebuild
index e0398e86fe4b..f675a8309da7 100644
--- a/sys-devel/mold/mold-9999.ebuild
+++ b/sys-devel/mold/mold-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2024 Gentoo Authors
+# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,7 +21,8 @@ fi
# - siphash ( MIT CC0-1.0 )
LICENSE="MIT BSD-2 CC0-1.0"
SLOT="0"
-IUSE="debug"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
RDEPEND="
app-arch/zstd:=
@@ -60,6 +61,9 @@ src_prepare() {
sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \
test/mold-wrapper{,2}.sh || die
+ # Fails if binutils errors out on textrels by default
+ rm test/textrel.sh test/textrel2.sh || die
+
# static-pie tests require glibc built with static-pie support
if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then
rm test/{,ifunc-}static-pie.sh || die
@@ -70,12 +74,19 @@ src_configure() {
use debug || append-cppflags "-DNDEBUG"
local mycmakeargs=(
- -DMOLD_ENABLE_QEMU_TESTS=OFF
+ -DBUILD_TESTING=$(usex test)
-DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS.
-DMOLD_USE_MIMALLOC=$(usex !kernel_Darwin)
-DMOLD_USE_SYSTEM_MIMALLOC=ON
-DMOLD_USE_SYSTEM_TBB=ON
)
+
+ if use test ; then
+ mycmakeargs+=(
+ -DMOLD_ENABLE_QEMU_TESTS=OFF
+ )
+ fi
+
cmake_src_configure
}
diff --git a/sys-devel/multilib-gcc-wrapper/Manifest b/sys-devel/multilib-gcc-wrapper/Manifest
index 002f32a9c42f..af472f00d871 100644
--- a/sys-devel/multilib-gcc-wrapper/Manifest
+++ b/sys-devel/multilib-gcc-wrapper/Manifest
@@ -1,2 +1,2 @@
-EBUILD multilib-gcc-wrapper-0-r2.ebuild 1640 BLAKE2B 3baec773a0699b3e474f44a372165dc2f069400d34eab90e22688f193af5cdb852d7df381c04d2e281590b632b99e8f49a3798995bc62157125c9d1b4bc21794 SHA512 78da47d2f1c0c714c798c32f771f53500b55996223114c4f19a7b3ba8f40eaf8be5449bb9af886b3bb9e9484bcd4459793cad871878a4ba2346fdaa2011203b4
+EBUILD multilib-gcc-wrapper-0-r2.ebuild 1621 BLAKE2B 49a4944101775d8b9c5ca66727fbba4528b530ad85d358b9700c55c3b32050f33e464b8adc82a11670a12378b3be9a90ed0861da64a23499d05052cce980f3db SHA512 174c992f1120a4efd4193b2b1ef8872490d9fd0a9be816a70617120081369c0ac08d92d21c968576ad2bf3987cd25891d861eb3e046e5687c6f92b2d02546a07
MISC metadata.xml 248 BLAKE2B f308d2aa052d11e427850af58bbebf95e7773f5562ed221f39043474b4c3827d724d49667edf1874272a5586a13201159f40e8f5eafb7e400e79c6566e1a6ac2 SHA512 b875c838394523483ae7d93585207eb3c642a345bbb08e1dcef3ceb737c813fa779e2f5479d48cdcc30732b8a0a9e6ecc648df940def6731e4dff43b23786e6d
diff --git a/sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0-r2.ebuild b/sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0-r2.ebuild
index 2dfb32856eb2..5e6fc5f299e9 100644
--- a/sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0-r2.ebuild
+++ b/sys-devel/multilib-gcc-wrapper/multilib-gcc-wrapper-0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,13 +7,11 @@ inherit multilib
DESCRIPTION="Wrappers for gcc tools to be used on non-native CHOSTs"
HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
-SRC_URI=""
S=${WORKDIR}
LICENSE="public-domain"
SLOT="0"
KEYWORDS="amd64"
-IUSE=""
RDEPEND="sys-devel/gcc:="
diff --git a/sys-devel/patch/Manifest b/sys-devel/patch/Manifest
index 1fe8a35404b8..961aed879f8a 100644
--- a/sys-devel/patch/Manifest
+++ b/sys-devel/patch/Manifest
@@ -8,14 +8,19 @@ AUX patch-2.7.6-CVE-2019-13636.patch 3749 BLAKE2B 162bc7fd617d713cc6e39988eecf66
AUX patch-2.7.6-CVE-2019-13638.patch 1184 BLAKE2B e52b1336a8410538e4c490e08c239eecf29baf03b4226fda865941d081f8289961746ff7526cfce6d298321826c9b3ee047bd56ba1c27f1c53036f3ac2250669 SHA512 d60f8c2364fca9b73aa73b5914cfd6571d11528d13fa7703ccfa93730cbdf8a6e4c9ca04cb7d02a40d33c38075890790b490052d5217e728b0948991da937980
AUX patch-2.7.6-Do-not-crash-when-RLIMIT_NOFILE-is-set-to-RLIM_INFINITY.patch 3046 BLAKE2B 8cdeab68f392b5d89f7857f3126c162fa2859cfc2815ba5507423f958f5f85a1dbbb86244f40c13aa8769d7630fa3b91611e33d41fb12c76d1849152e5652ecc SHA512 f886614c6f4d46d02218a436ae7980014fe6ef0d49114d122623ff0cd946cdeb136eebe33a59a8ccfef070e91cddf86cdca1d7feb8579f734b1bab6decb0bfd4
AUX patch-2.7.6-allow-input-files-to-be-missing-for-ed-style-patches.patch 860 BLAKE2B 3514ecd15b9c379efcb3cfcb0b1bcb389b63a5d6a108f889812498581c62f86655bb0acacc2a1e495a97613140770796030e82d050d12e502f0d3caadcf54097 SHA512 ced7714cba5f038affb29311aa42f112cea99882e38abc41106bed550ad9996fbc3df314fae5168ca305aaa39429f9d81dbf83469f93f7fe3736a044d41cecd9
+AUX patch-2.7.6-configure-mkdir-spruced-up.patch 1119 BLAKE2B d5f8167c0162a6f7103a1b4dee7c46e94507513874c5a18a77938ab57a36505476d811cad5910386009dd459f4d3d690c6240a08c395dd4c847cdca73aaf8706 SHA512 4b15329fb191ab61d00e0bb9411219aab4575132ef8a7290f5cab86974bf4c11304d766eceaca1d71e791b44fffb5157e75b8f5786aab5e8c56ec2e995801c11
AUX patch-2.7.6-configure-mkdir.patch 478 BLAKE2B 95135becb2749c9c0217aa6185a38470c8a6559e713e326a6bf4feb57ad1465e17e7fcdf3c3aafe4f75691749a4303bbada1a40c2f084d74dcd3a41d0014eb9e SHA512 90f2189a7336294eac9d33194645baf761a563067addadb8f195df4980318ff55ccdcdd63e64ce350ed1cb6a2285c5c1b3bb1b902eb12a240d60251747267653
AUX patch-2.7.6-fix-error-handling-with-git-style-patches.patch 3582 BLAKE2B c443abb5112283aeb20db4ccf57c0d1241bfa586ad8d54d0ff2e1ae9026174f560df37dda1fedfc39db8178db05f77a4f94827ede80982311f475f460e4ae57f SHA512 1c05cf05b7348b86c878bd464a3f2f978b3e97655bf4f9aa83732af8bfd1e82046b88db39b7ce70e33ffc00c7f09c28ba777fba3fbd9538fd76767bfc396f382
AUX patch-2.7.6-fix-test-suite.patch 3006 BLAKE2B 4b00c743f880f3cd672d6d37ff89d691d34d38b9652a9434544db10c3e28adf412071a14b5f6e4fcb1cead5e6ec0c20f786b061c96eb3fed4d9e8744a18bb02a SHA512 626256394ca2df1fadfb6cfaaa4458b86912ba70debac88d959ce3c34d2f5791284fb2b9b38b88b3e38a50a1e0f6585f0c860a9866f27c40be4884e95d7d83f2
+AUX patch-2.7.6-ndebug-assert-hash-table.patch 1563 BLAKE2B 283a1d0cf5228965809223fd977d9793313b8b031e8666813b0fc68da9b841ff9d46d840261fb8ef7e3b45957151f351d832d9c860df8e37ad9490a895f5edaa SHA512 5847dc8288ddd5149902bd0b2e4fb33d37eaf5d6ee253ccbba25378bec2261640b0ce557a89aff7e48d306ef825f7a8db9bb87707f42615bea103784e0cfc7d4
+AUX patch-2.7.6_p20250206-no-backup-if-mismatch-regression.patch 3476 BLAKE2B 3251e773b11cdc6d37e0907d17d4c659eb58107c8ea270de9d77b976d58879a8429689f7e97cfc9ed3b58215b3d1b0493724f6d33c1e197508bb8be34ad48747 SHA512 1da3bca476f2969422417f5803914c6bbb4b4fb44ac3576ff1b0fa8598c4fe627e99a3acf54336c326f0f7b21cf485c219c315549eabc1a121b48451697642d9
+AUX patch-2.7.6_p20250206-traditional-diff-lines.patch 2936 BLAKE2B f21a58b6e39694d9237a9eb5e05ef2aa6ba30fce4348e216c81302666e2a941a6a6bbd4a30df4d3c0a1b50fb56044152d727eec64cf903b298237c626266c7a9 SHA512 45c0103d868f93106c2df1e2cd79a51ec5208dbead0f003f213083d0d1e723e2d881916c04d5b45bf208cb062782f97e05a95356d5ccc63fff53ccfbac2f2e62
DIST patch-2.7.6.tar.xz 783756 BLAKE2B e3dd2d155a94c39cb60eafc26677e84de14c3a6d5814dff69de091ded52f21862490970254297795f2c42a0c3203f7e88a8f65bb66968f8dfd6e066bf53f2dfb SHA512 fcca87bdb67a88685a8a25597f9e015f5e60197b9a269fa350ae35a7991ed8da553939b4bbc7f7d3cfd863c67142af403b04165633acbce4339056a905e87fbd
DIST patch-2.7.6.tar.xz.sig 801 BLAKE2B 8f2decb10402ecf0208d05ea7cce3bae565d31ee2bb2a118367c117d25b158d8bd525cae654ec0c0e2c036cc8f47a331edc1bb10b100683ade64dfa3b651988b SHA512 1302a1110dcda4f3d83b5263415d72be55c46dae0efb1c123e9c346154e09def5657004bbe7249e2d014555349410e7a5217140dd8852331235f75bcc757351b
-DIST patch-2.7.6_p20241103.tar.xz 903028 BLAKE2B 874f390bd9a3ed2c5da59c41c708bf41d9bf3bcfe799a0647c7382013793a29ec331df82510424ff2fd9b280e0594822d08eae1074af774d57f625214edc3578 SHA512 29db065dd17e25aa562acb1d7ba6be780eed59c2cc9b74e76b5d5b2dac1768e25e8a28acde0907825f6d863a7e14ede33537c89361624e3dcfbb6c0fa6fb0cf2
-DIST patch-2.7.6_p20241103.tar.xz.sig 833 BLAKE2B 3a065dd0c8f83a0287f091536fa89a9914272ae49bdd2b67f91173365789275427e52f20bfcff50c65194a97e96cd07201781d1d13eb84f0adc2d52d741d8598 SHA512 4ee1151deced3dab999794913a2bfc54096cf42a9c0757b192b7fad71ecd6ec28f4f1451818262f154240e909654253d20b41a555230d260c9c4d29f36dd54ba
+DIST patch-2.7.6_p20250206.tar.xz 906596 BLAKE2B f110bcf19b655c900327088ba023743fd845161dd00cab228675d3c0992fa397916adf153c35775fc5ff8e733b559ce8a05eac71eec7156403f4c9ab17ff2a3e SHA512 2dd05af5f9f0864b0cccc5c5194d0ba4ca427fc366b91210e2f539a50bd2006d7142606f8f223b45c5d426eafef7e6b17c6b67c2ef9b7ec75589bb3d9fce68d3
+DIST patch-2.7.6_p20250206.tar.xz.sig 833 BLAKE2B 8363136c58bbde5c349a4c96cd277588f3b679a98ea1c21da39bcf375c2b85c0d36165f1dceab453a09bcc2745d5ab6959d5ba28020e138591e7530dbf72f180 SHA512 a114f836502bb02910c8f88d7e667ce92ef6b0b9a26eb466ee9bd1ad8956036867801b19ea3ee27418fe0fb6e673e3d5d2aad2b9c05f7e99fd8bb1a9d604ea6f
EBUILD patch-2.7.6-r6.ebuild 2393 BLAKE2B bee456b5704807b931046f85172a93aa3ed564979a02ff307943b7c4d585d21bdcebc1d637f5914925d0eb9d088f5d2413ab9903ec8daf442a316455c9a2954a SHA512 706529f59336e2d746b88c68acfea63d299372505e021b38fd301f25ae09c3afc2fea9daab73526399dc1fa0898914a1937f9a18d1bce1c0cade10354ec484c6
-EBUILD patch-2.7.6_p20241103.ebuild 2022 BLAKE2B 04d854955a65458923f4a29a357457993b209f871a468f17bd0f42de97eb8a2964c0bb6b38f2c9338f7056ed63383d79c498ccab689092efef04e2cc42e7c6e3 SHA512 11961cfccb1b57a9fd259a5190e65476cdff103c6e358437e267a60509371d9b7ef707a8e019356e3d54cf379d7da4d54e11a3c7632385b62b440812c81a42c5
-EBUILD patch-9999.ebuild 1613 BLAKE2B 84d30f889908c17a62e5ecdbc482cb38d558219a5bf222ae25392e5c537995c8328c14920746df9384a87272769dc163ce953c2f53aa2ba809b0bf58ab3ec45d SHA512 183ac7ec9a826506393911f81b5f0736dca3c8a88f9017f706a862f0cd653050e72c858db8fc20a98431caf2fcd8f2c61d238b560c9609d09722b938bed729fd
+EBUILD patch-2.7.6-r7.ebuild 2470 BLAKE2B a2f64c2a715847db3121093c2f9c774121fb0b17d768e394d06a8e90c00b21edaf10d3967af1874a0631db42f2d506ecc62c792aae97a5611da5554f5b1c58bc SHA512 1483a88b0bae665d7edd71a1b9270388eae633f9ba8f7038ff9b22b5143a031894f61f7acb18a093d24568c055412da7e49948fe53b2c5f1b66ee650fe5574b3
+EBUILD patch-2.7.6_p20250206-r1.ebuild 2406 BLAKE2B 90bc1c01591a62cd5068d0dadfc4e850810e4283dc1a10bf63ff10c0102736447bf552ef0afdc64a5dac90da09e53e445c79bd2a369234a6c5f0b6fbc67c1946 SHA512 8b71298941bb4a2edfc314aa6b9008a8b3ae6388911d94fde5f0b822aa3b887193d63842368d6e28dfe0353671b5a4c68447e5a37d251984638d4e7e366abf2f
+EBUILD patch-9999.ebuild 2043 BLAKE2B 1656b1095752f92ae19eba238049d203590bea056d784f1011f8fdf48ab95a16bb4a91b51674cf7ce1e8e01889abfbb45d8a19a371da37ce3f64889d2ca2fea1 SHA512 d15f55a85a5674d05805931b75369c13ae072582ed370d590a85831e1591304cff232ab69752795303555b64a7b090894d99061a51db0024c887ce170682f6af
MISC metadata.xml 329 BLAKE2B ac0ac5e4a422955e2e1cc040d03ab9df083c70d0275145366ffe47c04fb08ac5e9c1cf776ab9c96e023910a0f66a7ff3cfd8377574d8e282cd78c435a6d8bdd2 SHA512 a0c5d5bc2d111a6d22afa4bae0e56ac7f927798122fed5373dd64a214d7b51dc436482bf21eb2ef32073c2f4004cb6dd6449afd58b7ab6936ed3c2e3a4c39872
diff --git a/sys-devel/patch/files/patch-2.7.6-configure-mkdir-spruced-up.patch b/sys-devel/patch/files/patch-2.7.6-configure-mkdir-spruced-up.patch
new file mode 100644
index 000000000000..8ef7a954a4d9
--- /dev/null
+++ b/sys-devel/patch/files/patch-2.7.6-configure-mkdir-spruced-up.patch
@@ -0,0 +1,38 @@
+https://bugs.gentoo.org/898598
+https://github.com/coreutils/gnulib/commit/3c136a2cc38d71083f123231a8b9ad4b01930789
+--- a/configure
++++ b/configure
+@@ -17084,6 +17084,8 @@ else
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <errno.h>
++/* Android 4.3 declares fchownat() in <sys/stat.h> instead. */
++#include <sys/stat.h>
+ #include <sys/types.h>
+ int
+ main ()
+@@ -17130,6 +17132,8 @@ else
+ /* end confdefs.h. */
+ #include <unistd.h>
+ #include <fcntl.h>
++ /* Android 4.3 declares fchownat() in <sys/stat.h> instead. */
++ #include <sys/stat.h>
+
+ int
+ main ()
+--- a/lib/unistd.in.h
++++ b/lib/unistd.in.h
+@@ -113,6 +113,13 @@
+ # include <netdb.h>
+ #endif
+
++/* Android 4.3 declares fchownat in <sys/stat.h>, not in <unistd.h>. */
++/* But avoid namespace pollution on glibc systems. */
++#if (@GNULIB_FCHOWNAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \
++ && !defined __GLIBC__
++# include <sys/stat.h>
++#endif
++
+ /* MSVC defines off_t in <sys/types.h>.
+ May also define off_t to a 64-bit type on native Windows. */
+ #if !@HAVE_UNISTD_H@ || @WINDOWS_64_BIT_OFF_T@
diff --git a/sys-devel/patch/files/patch-2.7.6-ndebug-assert-hash-table.patch b/sys-devel/patch/files/patch-2.7.6-ndebug-assert-hash-table.patch
new file mode 100644
index 000000000000..3993fdc9ce18
--- /dev/null
+++ b/sys-devel/patch/files/patch-2.7.6-ndebug-assert-hash-table.patch
@@ -0,0 +1,40 @@
+https://git.savannah.gnu.org/cgit/patch.git/commit/?id=86ac7e2d7b19e2fd9aab58a8cbeeebd5c6343e5c
+https://lists.gnu.org/archive/html/bug-patch/2025-02/msg00002.html
+
+From 01ae7ce6a7f270937face6aec75db28d30d83059 Mon Sep 17 00:00:00 2001
+Message-ID: <01ae7ce6a7f270937face6aec75db28d30d83059.1738773172.git.sam@gentoo.org>
+From: Sam James <sam@gentoo.org>
+Date: Wed, 5 Feb 2025 16:16:06 +0000
+Subject: [PATCH] Fix dodgy assert with side-effects in insert_cached_dirfd
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Michał Górny <mgorny@gentoo.org> reported that patch was running out of
+FDs and that the `deep-directories` test was failing. This turns out
+to be because `hash_insert` isn't called at all with `-DNDEBUG` because
+`insert_cached_dirfd` only calls it in one case inside of an `assert`.
+
+See https://github.com/conda-forge/patch-feedstock/issues/11.
+
+This regressed in 025a54b789bd88ed15430f8633514e296826983e.
+
+* src/safe.c (insert_cached_dirfd): Don't use 'assert' for 'hash_insert'
+ call with side-effects.
+--- a/src/safe.c
++++ b/src/safe.c
+@@ -183,7 +183,8 @@ static void insert_cached_dirfd (struct cached_dirfd *entry, int keepfd)
+
+ /* Only insert if the parent still exists. */
+ if (! list_empty (&entry->children_link))
+- assert (hash_insert (cached_dirfds, entry) == entry);
++ if (hash_insert (cached_dirfds, entry) != entry)
++ xalloc_die ();
+ }
+
+ static void invalidate_cached_dirfd (int dirfd, const char *name)
+
+base-commit: 1da6bf84db2ed0be88ccb47139256e48243a75f0
+--
+2.48.1
+
diff --git a/sys-devel/patch/files/patch-2.7.6_p20250206-no-backup-if-mismatch-regression.patch b/sys-devel/patch/files/patch-2.7.6_p20250206-no-backup-if-mismatch-regression.patch
new file mode 100644
index 000000000000..f4d162694ab4
--- /dev/null
+++ b/sys-devel/patch/files/patch-2.7.6_p20250206-no-backup-if-mismatch-regression.patch
@@ -0,0 +1,131 @@
+From b5d2124e2e6019ee5d329b49ef6904a0daec74a1 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Mon, 24 Feb 2025 22:59:51 -0800
+Subject: [PATCH] patch: fix --no-backup-if-mismatch regression
+
+Problem reported by Sam James in:
+https://lists.gnu.org/archive/html/bug-patch/2025-02/msg00014.html
+https://bugs.gentoo.org/show_bug.cgi?id=949834
+* src/patch.c (backup_if_mismatch_specified): New static var.
+(get_some_switches): Set it.
+(main): Default backup_if_mismatch only if not set on command line.
+* tests/no-backup: New file.
+* tests/Makefile.am (TESTS): Add it.
+---
+ src/patch.c | 6 ++++-
+ tests/Makefile.am | 1 +
+ tests/no-backup | 56 +++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 62 insertions(+), 1 deletion(-)
+ create mode 100644 tests/no-backup
+
+diff --git a/src/patch.c b/src/patch.c
+index 6c460f7..e4d0524 100644
+--- a/src/patch.c
++++ b/src/patch.c
+@@ -118,6 +118,7 @@ static bool merge;
+ static enum diff reject_format = NO_DIFF; /* automatic */
+ static bool make_backups;
+ static bool backup_if_mismatch;
++static bool backup_if_mismatch_specified;
+ static char const *version_control;
+ static char const *version_control_context;
+ static bool remove_empty_files;
+@@ -196,7 +197,8 @@ main (int argc, char **argv)
+ if (set_utc && setenv ("TZ", "UTC0", 1) < 0)
+ pfatal ("setenv");
+
+- backup_if_mismatch = ! posixly_correct;
++ if (!backup_if_mismatch_specified)
++ backup_if_mismatch = !posixly_correct;
+ if (make_backups | backup_if_mismatch)
+ backup_type = get_version (version_control_context, version_control);
+
+@@ -1050,9 +1052,11 @@ get_some_switches (int argc, char **argv)
+ usage (stdout, EXIT_SUCCESS);
+ case CHAR_MAX + 5:
+ backup_if_mismatch = true;
++ backup_if_mismatch_specified = true;
+ break;
+ case CHAR_MAX + 6:
+ backup_if_mismatch = false;
++ backup_if_mismatch_specified = true;
+ break;
+ case CHAR_MAX + 7:
+ posixly_correct = true;
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 43ddf66..acb449a 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -50,6 +50,7 @@ TESTS = \
+ mixed-patch-types \
+ munged-context-format \
+ need-filename \
++ no-backup \
+ no-mode-change-git-diff \
+ no-newline-triggers-assert \
+ preserve-c-function-names \
+diff --git a/tests/no-backup b/tests/no-backup
+new file mode 100644
+index 0000000..57b73fa
+--- /dev/null
++++ b/tests/no-backup
+@@ -0,0 +1,56 @@
++# Copyright 2025 Free Software Foundation, Inc.
++#
++# Copying and distribution of this file, with or without modification,
++# in any medium, are permitted without royalty provided the copyright
++# notice and this notice are preserved.
++
++# Test the --no-backup-if-mismatch option
++
++. $srcdir/test-lib.sh
++
++require cat
++use_local_patch
++use_tmpdir
++
++# ==============================================================
++
++cat >my_file <<'EOF'
++/* ... */
++void baz();
++
++
++void baz() {
++ /* ... */
++}
++
++int main() {
++ int foo;
++ int bar;
++
++ /* ... */
++ baz();
++}
++EOF
++
++cat >my_file.patch <<'EOF'
++--- my_file 2025-02-16 11:22:12.881765792 +0000
+++++ my_file_new 2025-02-16 11:22:12.881796732 +0000
++@@ -2,7 +2,7 @@
++ void baz();
++
++ void baz() {
++- /* ... */
+++ // ...
++ }
++
++ int main() {
++EOF
++
++unset POSIXLY_CORRECT
++
++check 'patch -N --no-backup-if-mismatch <my_file.patch || echo "Status: $?"' <<'EOF'
++patching file my_file
++Hunk #1 succeeded at 3 with fuzz 1 (offset 1 line).
++EOF
++
++ncheck 'test ! -f my_file.orig'
+--
+2.45.3
+
diff --git a/sys-devel/patch/files/patch-2.7.6_p20250206-traditional-diff-lines.patch b/sys-devel/patch/files/patch-2.7.6_p20250206-traditional-diff-lines.patch
new file mode 100644
index 000000000000..3d9d3109e91c
--- /dev/null
+++ b/sys-devel/patch/files/patch-2.7.6_p20250206-traditional-diff-lines.patch
@@ -0,0 +1,114 @@
+From 29fced6251928e6334fa15fd28bf2c198acd4cd4 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Wed, 26 Feb 2025 16:44:48 -0800
+Subject: [PATCH 1/2] Count traditional diff pattern lines correctly
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This fixes a bug I introduced on Thu Sep 5 16:37:50 2024 -0700.
+Problem reported by Petr Vaněk in:
+https://lists.gnu.org/archive/html/bug-patch/2025-02/msg00017.html
+* src/pch.c (another_hunk): Fix method for counting number
+of lines in a traditional diff hunk.
+---
+ src/pch.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/pch.c b/src/pch.c
+index 63c9a0c..d9f5c61 100644
+--- a/src/pch.c
++++ b/src/pch.c
+@@ -1765,9 +1765,10 @@ another_hunk (enum diff difftype, bool rev)
+ if (*s == ',') {
+ idx_t last;
+ s = scan_linenum (s + 1, &last);
+- if (p_first >= IDX_MAX - p_ptrn_lines)
++ ptrdiff_t diff = last - p_first;
++ if (! (-1 <= diff && diff < IDX_MAX))
+ malformed ();
+- p_ptrn_lines += 1 - p_first;
++ p_ptrn_lines = diff + 1;
+ }
+ else
+ p_ptrn_lines = (*s != 'a');
+--
+2.45.3
+
+
+From b3d0c933389208ccac795a1b517c5a8b11cc012e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@gentoo.org>
+Date: Wed, 26 Feb 2025 16:44:48 -0800
+Subject: [PATCH 2/2] Regression in commit abe92e8010ab affecting MariaDB tests
+
+I have disovered a regression in commit abe92e8010ab ("Prefer idx_t,
+ptrdiff_t to lin") while I was running MariaDB tests. The regression is
+related to a diff file [1], where the patch fails to apply it with
+following error:
+
+ patch: **** '---' expected at line 2 of patch
+
+To illustrate the issue, I have attached a git patch containing a
+testcase with simplified reproducer.
+
+[1] https://github.com/MariaDB/server/blob/mariadb-10.6.21/mysql-test/suite/innodb/r/innodb-wl5522%2Cstrict_crc32.rdiff file
+---
+ tests/Makefile.am | 1 +
+ tests/regression-abe92e8010ab | 33 +++++++++++++++++++++++++++++++++
+ 2 files changed, 34 insertions(+)
+ create mode 100644 tests/regression-abe92e8010ab
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index acb449a..8f1a248 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -57,6 +57,7 @@ TESTS = \
+ preserve-mode-and-timestamp \
+ quoted-filenames \
+ read-only-files \
++ regression-abe92e8010ab \
+ reject-format \
+ remember-backup-files \
+ remember-reject-files \
+diff --git a/tests/regression-abe92e8010ab b/tests/regression-abe92e8010ab
+new file mode 100644
+index 0000000..0e11e34
+--- /dev/null
++++ b/tests/regression-abe92e8010ab
+@@ -0,0 +1,33 @@
++. $srcdir/test-lib.sh
++
++require cat
++use_local_patch
++use_tmpdir
++
++cat > f <<EOF
++1
++2
++test:
++a
++4
++EOF
++
++cat > f.diff <<EOF
++2,3c2
++< test:
++< a
++---
++> 3
++EOF
++
++check 'patch f < f.diff' <<EOF
++patching file f
++Hunk #1 succeeded at 3 (offset 1 line).
++EOF
++
++check 'cat f' <<EOF
++1
++2
++3
++4
++EOF
+--
+2.45.3
+
diff --git a/sys-devel/patch/patch-2.7.6-r7.ebuild b/sys-devel/patch/patch-2.7.6-r7.ebuild
new file mode 100644
index 000000000000..61ce4a002a1d
--- /dev/null
+++ b/sys-devel/patch/patch-2.7.6-r7.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/patch.asc
+inherit flag-o-matic verify-sig
+
+DESCRIPTION="Utility to apply diffs to files"
+HOMEPAGE="https://www.gnu.org/software/patch/patch.html"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/patch.git"
+ inherit git-r3
+else
+ SRC_URI="mirror://gnu/patch/${P}.tar.xz"
+ SRC_URI+=" verify-sig? ( mirror://gnu/patch/${P}.tar.xz.sig )"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="static test xattr"
+RESTRICT="!test? ( test )"
+
+RDEPEND="xattr? ( sys-apps/attr )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? ( sys-apps/ed )
+ verify-sig? ( sec-keys/openpgp-keys-patch )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-test-suite.patch
+ "${FILESDIR}"/${PN}-2.7.6-fix-error-handling-with-git-style-patches.patch
+ "${FILESDIR}"/${PN}-2.7.6-CVE-2018-6951.patch
+ "${FILESDIR}"/${PN}-2.7.6-allow-input-files-to-be-missing-for-ed-style-patches.patch
+ "${FILESDIR}"/${PN}-2.7.6-CVE-2018-1000156.patch
+ "${FILESDIR}"/${PN}-2.7.6-CVE-2018-6952.patch
+ "${FILESDIR}"/${PN}-2.7.6-Do-not-crash-when-RLIMIT_NOFILE-is-set-to-RLIM_INFINITY.patch
+ "${FILESDIR}"/${PN}-2.7.6-CVE-2018-1000156-fix1.patch
+ "${FILESDIR}"/${PN}-2.7.6-CVE-2018-1000156-fix2.patch
+ "${FILESDIR}"/${PN}-2.7.6-CVE-2019-13636.patch
+ "${FILESDIR}"/${PN}-2.7.6-CVE-2019-13638.patch
+ "${FILESDIR}"/${PN}-2.7.6-Avoid-invalid-memory-access-in-context-format-diffs.patch
+ "${FILESDIR}"/${PN}-2.7.6-configure-mkdir-spruced-up.patch
+ "${FILESDIR}"/${PN}-2.7.6-ndebug-assert-hash-table.patch
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+
+ cd "${S}" || die
+ ./bootstrap || die
+ elif use verify-sig ; then
+ verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.sig}
+ fi
+
+ default
+}
+
+src_configure() {
+ use static && append-ldflags -static
+
+ local myeconfargs=(
+ $(use_enable xattr)
+ # rename to gpatch for better BSD compatibility
+ --program-prefix=g
+ )
+ # Do not let $ED mess up the search for `ed` 470210.
+ ac_cv_path_ED=$(type -P ed) \
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ emake check gl_public_submodule_commit=
+}
+
+src_install() {
+ default
+
+ # symlink to the standard name
+ dosym gpatch /usr/bin/patch
+ dosym gpatch.1 /usr/share/man/man1/patch.1
+}
diff --git a/sys-devel/patch/patch-2.7.6_p20241103.ebuild b/sys-devel/patch/patch-2.7.6_p20250206-r1.ebuild
index 05897044befe..0c0ae58d62c4 100644
--- a/sys-devel/patch/patch-2.7.6_p20241103.ebuild
+++ b/sys-devel/patch/patch-2.7.6_p20250206-r1.ebuild
@@ -1,8 +1,13 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+WANT_AUTOCONF=none
+WANT_LIBTOOL=none
+WANT_AUTOMAKE=1.16
+inherit autotools
+
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/patch.asc
inherit flag-o-matic verify-sig
@@ -14,16 +19,15 @@ if [[ ${PV} == 9999 ]] ; then
elif [[ ${PV} = *_p* ]] ; then
# Note: could put this in devspace, but if it's gone, we don't want
# it in tree anyway. It's just for testing.
- MY_SNAPSHOT="$(ver_cut 1-3).200-be8b"
- SRC_URI="https://meyering.net/patch/patch-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz"
- SRC_URI+=" verify-sig? ( https://meyering.net/patch/patch-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig )"
+ MY_SNAPSHOT="$(ver_cut 1-3).211-86ac"
+ SRC_URI="https://alpha.gnu.org/gnu/patch/patch-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://alpha.gnu.org/gnu/patch/patch-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig )"
S="${WORKDIR}"/${PN}-${MY_SNAPSHOT}
else
SRC_URI="mirror://gnu/patch/${P}.tar.xz"
SRC_URI+=" verify-sig? ( mirror://gnu/patch/${P}.tar.xz.sig )"
-
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
LICENSE="GPL-3+"
SLOT="0"
@@ -34,9 +38,16 @@ RDEPEND="xattr? ( sys-apps/attr )"
DEPEND="${RDEPEND}"
BDEPEND="
test? ( sys-apps/ed )
- verify-sig? ( sec-keys/openpgp-keys-patch )
+ verify-sig? ( >=sec-keys/openpgp-keys-patch-20250206 )
"
+PATCHES=(
+ # backport fix for https://bugs.gentoo.org/949834
+ "${FILESDIR}"/${P}-no-backup-if-mismatch-regression.patch
+ # backport https://lists.gnu.org/archive/html/bug-patch/2025-02/msg00017.html
+ "${FILESDIR}"/${P}-traditional-diff-lines.patch
+)
+
src_unpack() {
if [[ ${PV} == 9999 ]] ; then
git-r3_src_unpack
@@ -50,6 +61,11 @@ src_unpack() {
default
}
+src_prepare() {
+ default
+ eautomake
+}
+
src_configure() {
use static && append-ldflags -static
diff --git a/sys-devel/patch/patch-9999.ebuild b/sys-devel/patch/patch-9999.ebuild
index df6c6cec8db2..c410f22ffd4f 100644
--- a/sys-devel/patch/patch-9999.ebuild
+++ b/sys-devel/patch/patch-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,6 +11,13 @@ HOMEPAGE="https://www.gnu.org/software/patch/patch.html"
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://git.savannah.gnu.org/git/patch.git"
inherit git-r3
+elif [[ ${PV} = *_p* ]] ; then
+ # Note: could put this in devspace, but if it's gone, we don't want
+ # it in tree anyway. It's just for testing.
+ MY_SNAPSHOT="$(ver_cut 1-3).211-86ac"
+ SRC_URI="https://alpha.gnu.org/gnu/patch/patch-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://alpha.gnu.org/gnu/patch/patch-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig )"
+ S="${WORKDIR}"/${PN}-${MY_SNAPSHOT}
else
SRC_URI="mirror://gnu/patch/${P}.tar.xz"
SRC_URI+=" verify-sig? ( mirror://gnu/patch/${P}.tar.xz.sig )"
@@ -27,7 +34,7 @@ RDEPEND="xattr? ( sys-apps/attr )"
DEPEND="${RDEPEND}"
BDEPEND="
test? ( sys-apps/ed )
- verify-sig? ( sec-keys/openpgp-keys-patch )
+ verify-sig? ( >=sec-keys/openpgp-keys-patch-20250206 )
"
src_unpack() {
diff --git a/sys-devel/reflex/Manifest b/sys-devel/reflex/Manifest
index 12b959c2c5e1..432f571b95c4 100644
--- a/sys-devel/reflex/Manifest
+++ b/sys-devel/reflex/Manifest
@@ -3,5 +3,5 @@ DIST reflex-20240906.tgz.asc 729 BLAKE2B 3a48b951bfa8db8a9fe4626e6ea4f1093c1fb73
DIST reflex-20241231.tgz 483545 BLAKE2B 4a52eec5432b1418787f58d4b59fb8e4503583939484cdf79143daaaf24a3cece713939f10ba13f8bf32de9fc61fe0821c4f5ac39b79ed211e49ddb2dd5e9858 SHA512 1e511a64b4a9eec1d7a987d0cb7726cc61277bcc45180d5537a0a17e67929f63547ec978b839e44e44029477b6d45bba8e3c3452c17e1cf80e3adf3dfdd12e13
DIST reflex-20241231.tgz.asc 729 BLAKE2B 96b171e139a3c155f8fccb9f96e9824f3e34cb9b915e963c9a69f7401f165548601b9a5be7626bef93409b0e339d720346ee248d63c3f213842e6617cc33612d SHA512 eef7c5f3e91204d95ba89352d3335638be34dd75f3627d7d1dae6988ef4609a06176cf994202bad90d4244b9e17fba49c698f5ec89af9023748f21e1b82457cc
EBUILD reflex-20240906.ebuild 721 BLAKE2B 06aa75cf981e87fcb8671582c5d05ae0321d78ac0f9ad2df6463410803658a22fa8810339a6afc521447aeb3d411620d36f07a092997c79a0cac8ea16ff9f4c8 SHA512 4307aa945a2d4abec92f89623b748fc5275190108dcec8bbbe3ec4e7af83fa6cac9ca3e25d544365f0233f60600ad7abb4ee0782e43ccdda715d207ec80d440a
-EBUILD reflex-20241231.ebuild 729 BLAKE2B ebe7de8bff336836a993ec4e14a6e2d3d15a1885875267228c762ca70c2fd8d44b5d2f0b8fbc87dafc26890165a6669262a368424959a659b79870c2d4d54c67 SHA512 5dad8d38d8f98e5623d282a3e8bd4769bb7d71905112cbae51c70f204cd3578545f579dda1e649d44cde044b1eab7c3236dc9f4a96d9ec03b6d610ed2445cc9f
+EBUILD reflex-20241231.ebuild 722 BLAKE2B 47d100e99252cadc229c8c1c3d7d72040c1dca3291cef7ee86b69090bcab29f6bc916b60f7b073b7e780f87d6e5dda91ec9354c34035c3a25f5593ca796909d6 SHA512 607da0a29aea70927e79b26d61ee3306026d3e35cee2b5827fa44af5e1dcb2879519020e88a5ad501d1417526670d9474bbc39c80d80d54c5466a54f908848a7
MISC metadata.xml 405 BLAKE2B 593dd39b5718afeb9441efadf2bf2ecf533ce076e21d7271fe6dd4a0f0c93544cf6b8bf1bd0e2b67b76213b5a0aa2687d95effd268976d378c701e49ae9404ab SHA512 a9345e50a04acc81a7f0a1213c8986d1bd068b6aceb0170a6a1bc8772285ba6794799470739a8c9f4ee6b2dfb7fdb440ceb1f0c639f3d0775a77db500b55ef2b
diff --git a/sys-devel/reflex/reflex-20241231.ebuild b/sys-devel/reflex/reflex-20241231.ebuild
index 91b6526b189c..b1482baa6357 100644
--- a/sys-devel/reflex/reflex-20241231.ebuild
+++ b/sys-devel/reflex/reflex-20241231.ebuild
@@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${P}.tgz.as
LICENSE="FLEX"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
app-alternatives/yacc
diff --git a/sys-devel/rust-std/Manifest b/sys-devel/rust-std/Manifest
index d3bac054ec8d..c8fd1ab342c8 100644
--- a/sys-devel/rust-std/Manifest
+++ b/sys-devel/rust-std/Manifest
@@ -8,7 +8,8 @@ DIST rustc-1.80.1-src.tar.xz 199234944 BLAKE2B 39891362f2a4bc249f5d943e3ded48d2a
DIST rustc-1.81.0-src.tar.xz 216743872 BLAKE2B d9f52da9092d0723c862ebbb2dc351cad0670be6872f691b4c9f36faf06803f072720ebd04f06745c355d807991b38312cc830b12d6d3f50b0574bb7325340b7 SHA512 b8a837ced521d2ca2c7f228a0640da591384519e4dbc1ae768524d50616da6abbd2f7bdae3777caebc0447dac91bf76481282ce5a2264d7f30e173caa6321a51
DIST rustc-1.82.0-src.tar.xz 219769328 BLAKE2B 611f33e134c2d459c9af1695c0a4d033df93afc986e91a17fceb0dd293fb4ffbd5f7475ef571d36cecf49da6c3fdb3801c98d7f72f9dd1c39e42502f649b192f SHA512 d158c7c71c1814bde2a3ec3cbeabe34949bd3201b730c0d7ec6baad4158bb28dd13696c430a6b99dc38b9d23ad7ddf8dde7d2487cbfbbbe9c3473016994210f0
DIST rustc-1.83.0-src.tar.xz 353808388 BLAKE2B 217c85f7351a7c57a2684da2c7c81a32094187b3812dee628b327a5b2faca57235abc54d033c586c071c8bfa0c7360bb28761aaa42fe18414e388db704d81231 SHA512 64db57949c6ac1df6a3f4c6bd0938685a5fb1bc3d318b34ccfcfccb0f9eff1cffd4d8a53a190ef0409eeca9ad12bc6234c2c1de69196cc74ae02d6afa20d0ce6
-DIST rustc-1.84.0-src.tar.xz 354993944 BLAKE2B e4697d8a9f42484556ed490390aef535b2214ccb3715ade57936211c1c637737da5f2b9a6c53a30df0fba1744fbd80d4d1382c0b74f6b36b36098bf187557201 SHA512 9e964c1b964e74083a9002fa04b072fa8fe7a520b24ad55e88a89bb2a2a2cd5727c5438d6db425b824ae7502ab215c2dd3f49777efd65f76bae09965df2e070a
+DIST rustc-1.84.1-src.tar.xz 355078168 BLAKE2B 849e8c909493bf76ce9749b9dcb1967180223b91a41d690bc477e78557d4e24949c9a8d8276d824af8c54ad62bc4a998e7a8efbc0bbd2008a4f64f51a7690d48 SHA512 f1cc4765736551508408126e44086988e8ddc30c1a929bf7b61c6be85ad0d65928dd5fb1041cfaeee8eb37d2208f2c1917e276aef2bc9a8e40e34f6713b349e1
+DIST rustc-1.85.0-src.tar.xz 274011696 BLAKE2B 9cb1c5b9fa9b0ee8a3150d634b58f4d14c38342f19cffbdcaa4e783150f9b3c516763d549d9998d90e11377cd59e9d9442a99079aafccdc005739b075574447a SHA512 3e9c933d1d9b6e5fb081837cf07eb1638b1a6b4fd1cb607dd860c5021ba7b521edbaf8ba0fa8f182f62178b72a3e1a3e6b26675e8fb6530871137852a074443c
EBUILD rust-std-1.71.1.ebuild 3434 BLAKE2B b419921941149604dde46b09eaf4c6c3456a750e86984e9da87f55a8c26a6f47ad0af220c9bf25eeb64087417cf03bfe21f2c649b9e4a470fac704665ea03991 SHA512 7b01967a53f8cc7343088ce1e744a5622f2e6129df1e3807490b782a9819e71493dd06cb848cdd748aa8caa8edda51af1c7088c819e249855cd2143c5b824df1
EBUILD rust-std-1.74.1.ebuild 3425 BLAKE2B 565cff2ad12983badb862c9c4cdf1ca6b29de258e0a612cc3320fab5b4802fe7fb15ca6e15e9a7f4007675a6ca9d9b294b01deaed19b61b411199ce5e70f25bd SHA512 49c10f5731a6d22c86b07497135c7a372bdc6d6c9cf5e6f4ec6848a73725d1238a94fc814763e60d6e680d1720e33e2607a458a5fbae41a043d6514abc9c4fbb
EBUILD rust-std-1.75.0.ebuild 3513 BLAKE2B 0c7896ca2859e793c0daef7f0c8b28ec676dc80c737602bd127f420f651c922f4d5e4d0d066a4f22f3bf7f23d3b3e3da4b8903dd6b3cda8a00b170b44ee24906 SHA512 c4261b37358667ac32851fda7f79eb210bec30b2de69d5b867a5e6a6b26bbb10eb1acea2837fff4b836e0642982b15dff1b75912b0548959e5c9600d174c36ce
@@ -18,5 +19,6 @@ EBUILD rust-std-1.80.1.ebuild 3424 BLAKE2B a1c2699723dfe16c431d46779b4bfa0360116
EBUILD rust-std-1.81.0.ebuild 3424 BLAKE2B a1c2699723dfe16c431d46779b4bfa03601162a912961e0c0c0c3aa95b39a69726513e6d040c8aebc4ff0dcf9f9d5aae9b20acc694407251b328749ca7e55048 SHA512 bbc066c53e4742f704a5f67431c6295e780b231145258eb8812c19a2ee048526eadf2a28727dfdb9f37f5adb205806ad0d1088fee7ec053ad70ac3fa6d8fe1c3
EBUILD rust-std-1.82.0.ebuild 3424 BLAKE2B a1c2699723dfe16c431d46779b4bfa03601162a912961e0c0c0c3aa95b39a69726513e6d040c8aebc4ff0dcf9f9d5aae9b20acc694407251b328749ca7e55048 SHA512 bbc066c53e4742f704a5f67431c6295e780b231145258eb8812c19a2ee048526eadf2a28727dfdb9f37f5adb205806ad0d1088fee7ec053ad70ac3fa6d8fe1c3
EBUILD rust-std-1.83.0.ebuild 3424 BLAKE2B a1c2699723dfe16c431d46779b4bfa03601162a912961e0c0c0c3aa95b39a69726513e6d040c8aebc4ff0dcf9f9d5aae9b20acc694407251b328749ca7e55048 SHA512 bbc066c53e4742f704a5f67431c6295e780b231145258eb8812c19a2ee048526eadf2a28727dfdb9f37f5adb205806ad0d1088fee7ec053ad70ac3fa6d8fe1c3
-EBUILD rust-std-1.84.0.ebuild 3424 BLAKE2B fc74d016011076c5666a5bd3e2f81817d54bd1befb750ee39ea9c9310eda4995682ff24d3d327900148e06691167d3610692baf33ef29ae9652863aa7c6a8a23 SHA512 2d135ccb3cff3701ae8230821d14b2048a37b1ea94fe79da992bcbe9d007a6d95f46fbfaab41d7bbd49952b4fa99c548e95107ac7d37d88cf9c90fac992d6f6c
+EBUILD rust-std-1.84.1.ebuild 3424 BLAKE2B fc74d016011076c5666a5bd3e2f81817d54bd1befb750ee39ea9c9310eda4995682ff24d3d327900148e06691167d3610692baf33ef29ae9652863aa7c6a8a23 SHA512 2d135ccb3cff3701ae8230821d14b2048a37b1ea94fe79da992bcbe9d007a6d95f46fbfaab41d7bbd49952b4fa99c548e95107ac7d37d88cf9c90fac992d6f6c
+EBUILD rust-std-1.85.0.ebuild 3422 BLAKE2B 34e0955fd9bd456ec8f81b372c79fc9c8a4fa536d212abd4fed6de83bac34bf474048e70c39677bf927e9baaecc693ffb684f3ebf3fab699eb2e4045fe7f3cb1 SHA512 3224c1992b9fc485b245aab95d5f330855f3f7f7be611495ab25b6de3ca523cf493e017807b6afba3d46bad2d1415ecc4ffa0393ff0930000ff688963ad6d43b
MISC metadata.xml 1088 BLAKE2B de084a7853c3464405807bbd6d75477dbfdee3f3f8318d27b1dd01ec9a3cf8af1072a0593105f2220caff6ebe055d36ca2974cabf00271458a2a13c2f394ccaa SHA512 c0cb17085432a5316b4a4a719398d5998b6379273fb94a7ee517b385b70a3bc6b61e9bb77ae1bb3fa94fe2efef403eab7c2a4c802f431abe4af22d392b764e96
diff --git a/sys-devel/rust-std/rust-std-1.84.0.ebuild b/sys-devel/rust-std/rust-std-1.84.1.ebuild
index de231d3c162c..de231d3c162c 100644
--- a/sys-devel/rust-std/rust-std-1.84.0.ebuild
+++ b/sys-devel/rust-std/rust-std-1.84.1.ebuild
diff --git a/sys-devel/rust-std/rust-std-1.85.0.ebuild b/sys-devel/rust-std/rust-std-1.85.0.ebuild
new file mode 100644
index 000000000000..c81b21f0667a
--- /dev/null
+++ b/sys-devel/rust-std/rust-std-1.85.0.ebuild
@@ -0,0 +1,152 @@
+# Copyright 2020-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit flag-o-matic multiprocessing python-any-r1 rust-toolchain toolchain-funcs
+
+DESCRIPTION="Rust standard library, standalone (for crossdev)"
+HOMEPAGE="https://www.rust-lang.org"
+SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz"
+S="${WORKDIR}/${P/-std/c}-src"
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4"
+SLOT="stable/$(ver_cut 1-2)"
+# please do not keyword
+#KEYWORDS="" #nowarn
+IUSE="debug"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/rust-${PV}:=
+"
+DEPEND="||
+ (
+ >="${CATEGORY}"/gcc-4.7:*
+ >="${CATEGORY/sys-devel/llvm-core}"/clang-3.5:*
+ )
+"
+RDEPEND="${DEPEND}"
+
+# need full compiler to run tests
+RESTRICT="test"
+
+QA_FLAGS_IGNORED="usr/lib/rust/${PV}/rustlib/.*/lib/lib.*.so"
+
+#
+# The cross magic
+#
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+is_cross() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
+toml_usex() {
+ usex "$1" true false
+}
+
+pkg_pretend() {
+ is_cross || die "${PN} should only be used for cross"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+}
+
+src_configure() {
+ # do the great cleanup
+ strip-flags
+ filter-flags '-mcpu=*' '-march=*' '-mtune=*' '-m32' '-m64'
+ strip-unsupported-flags
+
+ local rust_root x
+ rust_root="$(rustc --print sysroot)"
+ rtarget="$(rust_abi ${CTARGET})"
+ rtarget="${ERUST_STD_RTARGET:-${rtarget}}" # some targets need to be custom.
+ rbuild="$(rust_abi ${CBUILD})"
+ rhost="$(rust_abi ${CHOST})"
+
+ echo
+ for x in CATEGORY rust_root rbuild rhost rtarget RUSTFLAGS CFLAGS CXXFLAGS LDFLAGS; do
+ einfo "$(printf '%10s' ${x^^}:) ${!x}"
+ done
+
+ cat <<- EOF > "${S}"/config.toml
+ [build]
+ build = "${rbuild}"
+ host = ["${rhost}"]
+ target = ["${rtarget}"]
+ cargo = "${rust_root}/bin/cargo"
+ rustc = "${rust_root}/bin/rustc"
+ submodules = false
+ python = "${EPYTHON}"
+ locked-deps = true
+ vendor = true
+ extended = true
+ verbose = 2
+ cargo-native-static = false
+ [install]
+ prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
+ sysconfdir = "etc"
+ docdir = "share/doc/rust"
+ bindir = "bin"
+ libdir = "lib"
+ mandir = "share/man"
+ [rust]
+ # https://github.com/rust-lang/rust/issues/54872
+ codegen-units-std = 1
+ optimize = true
+ debug = $(toml_usex debug)
+ debug-assertions = $(toml_usex debug)
+ debuginfo-level-rustc = 0
+ backtrace = true
+ incremental = false
+ default-linker = "$(tc-getCC)"
+ rpath = false
+ dist-src = false
+ remap-debuginfo = true
+ jemalloc = false
+ [dist]
+ src-tarball = false
+ [target.${rtarget}]
+ ar = "$(tc-getAR ${CTARGET})"
+ cc = "$(tc-getCC ${CTARGET})"
+ cxx = "$(tc-getCXX ${CTARGET})"
+ linker = "$(tc-getCC ${CTARGET})"
+ ranlib = "$(tc-getRANLIB ${CTARGET})"
+ $(usev elibc_musl 'crt-static = false')
+ EOF
+
+ einfo "${PN^} configured with the following settings:"
+ cat "${S}"/config.toml || die
+}
+
+src_compile() {
+ env RUST_BACKTRACE=1 \
+ "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
+ library/std --stage 0 || die
+}
+
+src_test() {
+ ewarn "${PN} can't run tests"
+}
+
+src_install() {
+ local rustlib="lib/rust/${PV}/lib/rustlib"
+ dodir "/usr/${rustlib}"
+ pushd "build/${rhost}/stage0-sysroot/lib/rustlib" > /dev/null || die
+ cp -pPRv "${rtarget}" "${ED}/usr/${rustlib}" || die
+ popd > /dev/null || die
+}
diff --git a/sys-devel/smatch/Manifest b/sys-devel/smatch/Manifest
index 4b93abe87151..be4426446e16 100644
--- a/sys-devel/smatch/Manifest
+++ b/sys-devel/smatch/Manifest
@@ -1,4 +1,9 @@
+AUX smatch-1.72-C23.patch 721 BLAKE2B e5cc3ebd2ed28f7ac86b8eab3572fe9a203bb405cbd6b5c08ca8eb4dbcff8ecfba29aa9a2cd06b5c3513cf2f0873131715eb6e053f3b03086a10a5ac2d84d3a8 SHA512 827b18c8000816de3d4209306e27829c39b6b3a5a33b06c7c900af96d3702dcc29cb35dcba37c5ee8f53683868e98214602ad5a48b29c15580d31844c5bb7cb4
+AUX smatch-1.72-function-prototype.patch 2052 BLAKE2B 85ace5cc54efc97da79d38f73cb456b981e50b3ce35fb3c2e93925a95627cd47a014dda132078a4eec50a88e6b3138204b50341b2d762684c91484d445000b44 SHA512 96e57fb954e23fbe6ff39a6a1da5ef9f841a8df5b7115924df317c38f31dea0cbb6cd076a5fe2014c7dcbc6a93526386ab06eac395901d2b44b521d9b9b428c2
+AUX smatch-1.72-make-deps.patch 561 BLAKE2B a51e7a374a41e09697aa26a75093c3624e378c0a1d7b9181f0dd78bd1683d2e6acd413d0053b14666a21242bb9d1293976d511f0788f3c04c9322d16de6a1977 SHA512 4f561fce9fffbba5a779b4d853a254cc433658e1388bea010f5afb6eb2aeafa2891bea747c9f93e70e667b15798eaf4da81b5fa8aedd2275577499601f87eeed
DIST smatch-1.72.tar.gz 1431923 BLAKE2B ec4119fce985876afc9a46a74a0a56e8e8cb271a964c16496972c59ade95aa3d2df3a839a819e31cb081ca8a3b1f6bf6934ec97d73209091cfd86c87c1433557 SHA512 6d12e9ba85f332fcc56657296596e811cf3b75d4ad37007e07feb31baa4b315732361915972a2139ae13f75b8a73f953488ceb9de41529db9e84c81fb6fde77e
-EBUILD smatch-1.72.ebuild 1362 BLAKE2B 2dc9c884281b9953b6d6eb9e5e82d501e921dda8ec51091336c98e728040eabfa881afa89adf860d22fcb1045e12ecea230813086a37e8039d638dd6e953a08c SHA512 313ebca6590d3c9458adf8381278cb36727d29cb944abb24455004554fe06f5e43bbe7294b2472b5d5952ad1809a1a42f78111b9cfb3874f6b7617a6eedcbc52
-EBUILD smatch-9999.ebuild 1362 BLAKE2B 2dc9c884281b9953b6d6eb9e5e82d501e921dda8ec51091336c98e728040eabfa881afa89adf860d22fcb1045e12ecea230813086a37e8039d638dd6e953a08c SHA512 313ebca6590d3c9458adf8381278cb36727d29cb944abb24455004554fe06f5e43bbe7294b2472b5d5952ad1809a1a42f78111b9cfb3874f6b7617a6eedcbc52
+DIST smatch-1.73.tar.gz 1472634 BLAKE2B 189a1f6dd684689a47afb848e5429b9e009c17c55df572e62d70802138861a4b95068a1ce7c93ac749219dc72d540cc69e9809b397b7e54af568a85c389fa080 SHA512 ea878f3e04c8a8cb5476ccf6b6fffe660380ab1ac3fad76f5793a072f692c534c4db46fed79c1e6bad7c3fac1f367b9ebb67cc77265beacfdbec38cc9b85fdd3
+EBUILD smatch-1.72-r2.ebuild 1439 BLAKE2B a01fd6bf7327617192c56dc9cf31c09deb97bee7c8673617fb13d21812164653708d17fc898e1883d1816e0326998467fafe18cf672344139223f3e9e4b0da74 SHA512 4af8700648838fa722813e46d350765b5961e6e28d2346d4fd56c8bc964c826a8228588fcc18e1cd0d9964ff65ed223978a04815b61d1bdb8d6f8e3b2ee37a05
+EBUILD smatch-1.73-r1.ebuild 1414 BLAKE2B f941befccce77599f2890ef2a71949790bc27c680112973ea036f6541c07c8c37d245fcedc4497f64e83d5ebec92abbe2c7986b71a01d6b98a4423b1e344caff SHA512 cbe740264ec4dc8c0954193d3c77db2900736e3d8aaa01d4b4e24c86516f1f292a2d3e75e6a3c62359e33a5f642ef6f1894237e804f6b5f72c40298f02a8de16
+EBUILD smatch-9999.ebuild 1382 BLAKE2B fd70c3fb147a71948d22db148bf3773829edb1d6d481549c5625a97856ad40d1b8337e3a986b98731c284bda3cb2535a24c0e3d6b3d301c255975298df34ffb9 SHA512 d47f097d829d76e6bcf39c4a28afdba8dc883abb6c1f4166d93177d29a8c19c341a55bf3ebd169a5f26e0741a3fa6ce05452eef5064a788b0c3c1b0fffd7f733
MISC metadata.xml 338 BLAKE2B c4bb073c88d842934dd0574360a70707c86b4a484b6b7f57464919a6e53389c5090ed4fcf757c0ade3c3030e9f91505181f0ee2020d9956090fc075e22674593 SHA512 1b0c36ac40b06b6f5cd562925f29fbcbaff1b2cb2691345146705da186932dc5908aab29c2cd773d624cd29e51fd75c2729dfbcfd26762c30a6879af7e3fe488
diff --git a/sys-devel/smatch/files/smatch-1.72-C23.patch b/sys-devel/smatch/files/smatch-1.72-C23.patch
new file mode 100644
index 000000000000..40540180f25f
--- /dev/null
+++ b/sys-devel/smatch/files/smatch-1.72-C23.patch
@@ -0,0 +1,20 @@
+unreachable() is defined in C23 as function-like macro, undefine
+This definition conflicts with usage in smatch, as it has a valid
+meaning in processing syntactic tree, not a mark that part of the
+smatch state itself can't be reached.
+Other possible solution would be mass-rename of all usages to prevent
+conflict.
+https://bugs.gentoo.org/944322
+--- a/smatch.h
++++ b/smatch.h
+@@ -717,6 +717,10 @@ void __set_fake_cur_stree_fast(struct stree *stree);
+ void __pop_fake_cur_stree_fast(void);
+ void __merge_stree_into_cur(struct stree *stree);
+
++#if __STDC_VERSION__ > 201710L
++#undef unreachable //defined in C23
++#endif
++
+ int unreachable(void);
+ void __set_cur_stree_readonly(void);
+ void __set_cur_stree_writable(void);
diff --git a/sys-devel/smatch/files/smatch-1.72-function-prototype.patch b/sys-devel/smatch/files/smatch-1.72-function-prototype.patch
new file mode 100644
index 000000000000..abf7a330ccd9
--- /dev/null
+++ b/sys-devel/smatch/files/smatch-1.72-function-prototype.patch
@@ -0,0 +1,54 @@
+https://bugs.gentoo.org/881087
+Modified to work with 1.72 and 1.73
+From 223d2a8d0391a655e853f5deba1f06c75196bdf2 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Luk=C3=A1=C5=A1=20Zaoral?= <lzaoral@redhat.com>
+Date: Fri, 19 Jan 2024 17:39:39 +0100
+Subject: [PATCH 1/1] untracked_param: fix compilation errors with GCC 14
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+select_return_states_hook expects that the passed function does not declare
+the key and value arguments as const.
+
+Signed-off-by: Lukáš Zaoral <lzaoral@redhat.com>
+Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
+---
+ smatch.h | 2 +-
+ smatch_untracked_param.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/smatch.h b/smatch.h
+index ce09ae73..ecdbe684 100644
+--- a/smatch.h
++++ b/smatch.h
+@@ -1443,6 +1443,6 @@ bool buf_comp2_has_bytes(struct expression *buf_expr, struct expression *var);
+ bool buf_has_bytes(struct expression *buf, struct expression *var);
+
+ /* smatch_untracked_param.c */
+-void mark_untracked(struct expression *expr, int param, const char *key, const char *value);
++void mark_untracked(struct expression *expr, int param, char *key, char *value);
+ void add_untracked_param_hook(void (func)(struct expression *call, int param));
+ void add_lost_param_hook(void (func)(struct expression *call, int param));
+diff --git a/smatch_untracked_param.c b/smatch_untracked_param.c
+index b7230f06..a84889ca 100644
+--- a/smatch_untracked_param.c
++++ b/smatch_untracked_param.c
+@@ -120,12 +120,12 @@ free:
+
+ }
+
+-void mark_untracked(struct expression *expr, int param, const char *key, const char *value)
++void mark_untracked(struct expression *expr, int param, char *key, char *value)
+ {
+ mark_untracked_lost(expr, param, key, UNTRACKED_PARAM);
+ }
+
+-void mark_lost(struct expression *expr, int param, const char *key, const char *value)
++void mark_lost(struct expression *expr, int param, char *key, char *value)
+ {
+ mark_untracked_lost(expr, param, key, LOST_PARAM);
+ }
+--
+2.11.4.GIT
+
diff --git a/sys-devel/smatch/files/smatch-1.72-make-deps.patch b/sys-devel/smatch/files/smatch-1.72-make-deps.patch
new file mode 100644
index 000000000000..9d2bf1e6bebc
--- /dev/null
+++ b/sys-devel/smatch/files/smatch-1.72-make-deps.patch
@@ -0,0 +1,14 @@
+Missing build dependency was found with MAKEOPTS=--shuffle=3383668468
+and solved by expanding targets' dependencies in makefile.
+https://bugs.gentoo.org/882047
+--- a/Makefile
++++ b/Makefile
+@@ -400,7 +400,7 @@ cflags += $($(*)-cflags) $(CPPFLAGS) $(CFLAGS)
+ selfcheck: $(OBJS:.o=.sc)
+
+ SPARSE_VERSION:=$(shell git describe --dirty 2>/dev/null || echo '$(VERSION)')
+-lib.o: version.h
++lib.o options.o compile-i386.o: version.h
+ version.h: FORCE
+ @echo '#define SPARSE_VERSION "$(SPARSE_VERSION)"' > version.h.tmp
+ @if cmp -s version.h version.h.tmp; then \
diff --git a/sys-devel/smatch/smatch-1.72.ebuild b/sys-devel/smatch/smatch-1.72-r2.ebuild
index 2e2fc45d2564..766d480f9753 100644
--- a/sys-devel/smatch/smatch-1.72.ebuild
+++ b/sys-devel/smatch/smatch-1.72-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
if [[ ${PV} == 9999 ]] ; then
@@ -9,7 +9,7 @@ if [[ ${PV} == 9999 ]] ; then
https://repo.or.cz/r/${PN}.git"
inherit git-r3
else
- SRC_URI="http://repo.or.cz/w/smatch.git/snapshot/${PV}.tar.gz -> ${P}.tar.gz
+ SRC_URI="https://repo.or.cz/w/smatch.git/snapshot/${PV}.tar.gz -> ${P}.tar.gz
mirror://gentoo/${P}.tar.gz"
# Update on bumps
S="${WORKDIR}"/${P}-7f4b936
@@ -18,7 +18,7 @@ else
fi
DESCRIPTION="Static analysis tool for C"
-HOMEPAGE="http://smatch.sourceforge.net/"
+HOMEPAGE="https://smatch.sourceforge.net/"
# bug #853733
LICENSE="GPL-2+ MIT OSL-1.1"
@@ -28,11 +28,16 @@ RDEPEND="dev-db/sqlite"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
+PATCHES=(
+ "${FILESDIR}/${P}-C23.patch"
+ "${FILESDIR}/${P}-function-prototype.patch"
+ "${FILESDIR}/${P}-make-deps.patch"
+ )
+
src_prepare() {
default
sed -i \
- -e '/^CFLAGS =/{s:=:+=:;s:-O2 -finline-functions:${CPPFLAGS}:}' \
-e 's:pkg-config:$(PKG_CONFIG):' \
Makefile || die
}
@@ -65,5 +70,5 @@ src_install() {
dobin smatch
insinto /usr/share/smatch/smatch_data
doins smatch_data/*
- dodoc FAQ README
+ dodoc FAQ Documentation/smatch.rst
}
diff --git a/sys-devel/smatch/smatch-1.73-r1.ebuild b/sys-devel/smatch/smatch-1.73-r1.ebuild
new file mode 100644
index 000000000000..6de428a0fb15
--- /dev/null
+++ b/sys-devel/smatch/smatch-1.73-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://repo.or.cz/${PN}.git
+ https://repo.or.cz/r/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://repo.or.cz/w/smatch.git/snapshot/${PV}.tar.gz -> ${P}.tar.gz
+ mirror://gentoo/${P}.tar.gz"
+ # Update on bumps
+ S="${WORKDIR}"/${P}-2b596bf
+
+ KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~s390 ~sparc ~x86"
+fi
+
+DESCRIPTION="Static analysis tool for C"
+HOMEPAGE="https://smatch.sourceforge.net/"
+
+# bug #853733
+LICENSE="GPL-2+ MIT OSL-1.1"
+SLOT="0"
+
+RDEPEND="dev-db/sqlite"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.72-C23.patch"
+ "${FILESDIR}/${PN}-1.72-function-prototype.patch"
+)
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's:pkg-config:$(PKG_CONFIG):' \
+ Makefile || die
+}
+
+_emake() {
+ # gtk/llvm/xml is used by sparse which we don't install
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ V=1 \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ LD='$(CC)' \
+ PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+ HAVE_GTK2=no \
+ HAVE_LLVM=no \
+ HAVE_LIBXML=no \
+ "$@"
+}
+
+src_compile() {
+ _emake smatch
+}
+
+src_test() {
+ _emake check
+}
+
+src_install() {
+ # default install target installs a lot of sparse cruft
+ dobin smatch
+ insinto /usr/share/smatch/smatch_data
+ doins smatch_data/*
+ dodoc FAQ Documentation/smatch.txt
+}
diff --git a/sys-devel/smatch/smatch-9999.ebuild b/sys-devel/smatch/smatch-9999.ebuild
index 2e2fc45d2564..80ae6b2b3f20 100644
--- a/sys-devel/smatch/smatch-9999.ebuild
+++ b/sys-devel/smatch/smatch-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
if [[ ${PV} == 9999 ]] ; then
@@ -9,7 +9,7 @@ if [[ ${PV} == 9999 ]] ; then
https://repo.or.cz/r/${PN}.git"
inherit git-r3
else
- SRC_URI="http://repo.or.cz/w/smatch.git/snapshot/${PV}.tar.gz -> ${P}.tar.gz
+ SRC_URI="https://repo.or.cz/w/smatch.git/snapshot/${PV}.tar.gz -> ${P}.tar.gz
mirror://gentoo/${P}.tar.gz"
# Update on bumps
S="${WORKDIR}"/${P}-7f4b936
@@ -18,7 +18,7 @@ else
fi
DESCRIPTION="Static analysis tool for C"
-HOMEPAGE="http://smatch.sourceforge.net/"
+HOMEPAGE="https://smatch.sourceforge.net/"
# bug #853733
LICENSE="GPL-2+ MIT OSL-1.1"
@@ -65,5 +65,5 @@ src_install() {
dobin smatch
insinto /usr/share/smatch/smatch_data
doins smatch_data/*
- dodoc FAQ README
+ dodoc FAQ Documentation/smatch.rst
}