summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin7865 -> 7865 bytes
-rw-r--r--sys-devel/gcc/Manifest4
-rw-r--r--sys-devel/gcc/gcc-12.4.1_p20241121.ebuild65
-rw-r--r--sys-devel/gcc/gcc-13.3.1_p20241122.ebuild66
-rw-r--r--sys-devel/gettext/Manifest1
-rw-r--r--sys-devel/gettext/gettext-0.22.5-r1.ebuild203
6 files changed, 339 insertions, 0 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index 56d491f49528..e69cd3e0d056 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 5f0de616ba56..2717b8846cf8 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -9,12 +9,14 @@ DIST gcc-11.4.0-patches-12.tar.xz 13824 BLAKE2B e4df9e0dc9512882022aaf325ebf65c5
DIST gcc-11.5.0.tar.xz 82399864 BLAKE2B f4a61faad32aac9e9cb553c1a1a011df0a057f6e2cac92a13cc7e285d08191dd4a117f41a8faac2359c0e2a16f954c7fef354dda9df8c63bff1c5cefda82602c SHA512 88f17d5a5e69eeb53aaf0a9bc9daab1c4e501d145b388c5485ebeb2cc36178fbb2d3e49ebef4a8c007a05e88471a06b97cf9b08870478249f77fbfa3d4abd9a8
DIST gcc-12-20241031.tar.xz 79916212 BLAKE2B 924acf7048858a5e45fb835e405b7517fd0029e0fd3a565a34c9be9828360449568110bf0844bd29c7de214d62641ec8e8f10211d69560741311fbd0127041b1 SHA512 412b5f24d99a03c045e6ad083be142fcae2e28629ccd755c0eadef40524bd9e8b83ca605112d405cd911cf14a9fc2939449cc8a9403525bd82168aaba66fbc0f
DIST gcc-12-20241114.tar.xz 79902476 BLAKE2B 0d72464116862319513330c00d680658fd70a3a1b38c88defa0f087651bcff050ea128b15c95de06f2d2aa89488f09347cebbc4d13d3438b75f7f88ba1afa2ad SHA512 dc0af29c2454a7bcdd1b52b61de13845dc49fef3f86d87e0eea876dc5a55d93924e3af8cad58fd89725094520290c3183a4385f988aa556d658225ceb15a37ff
+DIST gcc-12-20241121.tar.xz 79909252 BLAKE2B c0ee7abfa350dd8bf3bb763b167eb8d869d0fdf142dc2a06ec447bee6c5721c26f3492d65d383080e2a1fba69a29b72adda68e7c2d3686bd730fd1b7e4f98c47 SHA512 3338652173254f16f7867c6dd2cdb25b20506ce94cd725dc60c630bfe04fad007e2e7b169d0018d7610f57527ed4aa29c191223edc666a9c2006d21ee508a4c2
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.tar.xz 83377372 BLAKE2B 0d5aa9995bf53fa2dc976a846240cfb8fafd125ad6c54f45dc9d770215eae3e9ea0db82a9a4f79c51b4d5f8461a1d730c17db6841bc31bd96dba11d9ed7544ae SHA512 5bd29402cad2deb5d9388d0236c7146414d77e5b8d5f1c6c941c7a1f47691c3389f08656d5f6e8e2d6717bf2c81f018d326f632fb468f42925b40bd217fc4853
DIST gcc-13-20240614.tar.xz 84463660 BLAKE2B a1b551ff633c31d6972fed173f248ba5f6696eb1566801e180b78a7c7e20933b1aaae40839b4f1529d61166de55125395d4f9a812511c088e73f975bf1d2167f SHA512 1a543ddfb56e793367a43895a7ce4f97daeca6ffd5234ce50e8a7ae0f8db1071e01bdd653fda40d00eb7a680faead8f1d8d1295f983086a33a4c75e4affa2ea5
DIST gcc-13-20241025.tar.xz 84501292 BLAKE2B f5ba0a429a43d1936fe717850c81c847c90670204de33261fd476396336a1e1cc34c55d5487ac1871a4019c8a3aff59b6c8fdea3f1b7a161a73dbec8679c4d3a SHA512 a921afd451cdad55ee68bdb36861ca0c525de038d247f6e0ff59dbbdb3b41f03d139e7c2939a0999feb8b2f820f9267171a2c657683df0c86b38f0cb379eb0af
DIST gcc-13-20241115.tar.xz 84481880 BLAKE2B 451c7f74a95889683944617c7d38daa77db9afd7e7877bfa6a380a148b12e2aa813fbda73d6866f207d27600c265b44ce471f9f6bfef40eda2a2e56710820d14 SHA512 db0db01cd3918ec563037c70d3e67243c7c38c3878574047cd7a0aab1e7f13476940b2af4d54f1a20416d9e4e02f79a0722da361ce45ed34244f205cbedb1d37
+DIST gcc-13-20241122.tar.xz 84515040 BLAKE2B 50f64a0d202cbcf27e1c3e31e9fa5eb39238d1247e7b0104ff45d653f7edbffd51404f0bdc1ae9abc2091398c31326cde680e9beb265e54318c92ee99db8b5bd SHA512 f6a304f5c500c28b237a3e423a420689c8c683dc7267040704c639fdd62e0a93a8be25f933b772238aead38b643ae08e4ac275a96212cf132d3141808acab5b0
DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69
DIST gcc-13.2.0-patches-16.tar.xz 44792 BLAKE2B 0b6b584d68e69685638695596b780249ca0119ad362747a82d886fd10f77ceb05d02e033e906a090c67f44b1977f40df6a95206d81a32dd15e2f5413c6c92496 SHA512 324d9e63d16c35d55edde20de049162c01b0d487b4548d06c49f0da04a761ec255bc5e020cc2e7f60d12f5d129768afdcf7c86a59126f71f388ab375c34be6de
DIST gcc-13.2.0-patches-3.tar.xz 30956 BLAKE2B 29ce043b46645640ca1e983397af3e158588ad87575f0bc59451ea4a7dd5e3bb5b190ed031de6a22cd790d423ba111e95d222187dd09985dceb12db9f0a2d907 SHA512 4ffecae7be320124ad0c4e71e39e142b7aa8db0e70b5f486f491d7a33ea31efc6464c6abeea77df02a8bd5cf81f08225d625c8af5c27f9afa32c0d7d989f7a3c
@@ -36,11 +38,13 @@ EBUILD gcc-11.5.0.ebuild 1609 BLAKE2B 9bedccd8d9a0cf506de80b009a2f14564cac36f1e9
EBUILD gcc-12.4.0.ebuild 1615 BLAKE2B c241479503ef04500043053c4e400559aba8d0b71e245c322a2eaba9eace24305b52a26e1166533351620cc1a253681371b5c9c41a0524ed71784b779754e3a6 SHA512 673af96489f9b069067f78f68130a7b559829aeea74b8ca0af20bccd90be5a24fec24224fac2287ca1ac30147ca1b0843984fe18b21bde195450241a83fc4b60
EBUILD gcc-12.4.1_p20241031.ebuild 1615 BLAKE2B c241479503ef04500043053c4e400559aba8d0b71e245c322a2eaba9eace24305b52a26e1166533351620cc1a253681371b5c9c41a0524ed71784b779754e3a6 SHA512 673af96489f9b069067f78f68130a7b559829aeea74b8ca0af20bccd90be5a24fec24224fac2287ca1ac30147ca1b0843984fe18b21bde195450241a83fc4b60
EBUILD gcc-12.4.1_p20241114.ebuild 1615 BLAKE2B c241479503ef04500043053c4e400559aba8d0b71e245c322a2eaba9eace24305b52a26e1166533351620cc1a253681371b5c9c41a0524ed71784b779754e3a6 SHA512 673af96489f9b069067f78f68130a7b559829aeea74b8ca0af20bccd90be5a24fec24224fac2287ca1ac30147ca1b0843984fe18b21bde195450241a83fc4b60
+EBUILD gcc-12.4.1_p20241121.ebuild 1624 BLAKE2B 0d7068a4fa409f73c89623cdc13e7e927ec5154da041a49be67a24cfd3970933a46bfeb642c9996db3d0abeb3e1a30553e12eb0ecaa8e964eaffbba96fca7ead SHA512 bcd09110979512c865e2b9bf9eef198c7ce9d3c27f13285ef9261045635a2365b5266e2f8c0c8f0e5381350b47f498f825e070bc070b9613e4417b0acf5ab704
EBUILD gcc-12.5.9999.ebuild 1592 BLAKE2B 67143f2363fc6565514d2efb407f73adb21d2a83f499abcd52a56084d5abfbe761be3cb5550b83b19443893b199cace3ffb0865ecc9340b63b051223e96aa105 SHA512 c7555fec9b7008cfa7ec50e64fe4f67f15ca55d8fcfbc720a4e640de90851aa13bd9929bcc1f1fc84d9cc59d32b407df6347f5bb1c232be7b2f1181b829dceca
EBUILD gcc-13.2.0.ebuild 1682 BLAKE2B 5a19639504afafced19bd1ad913e3106a65d16b4b3d5aeabedb0cbc891bdac22d9cd0a21928eef51b88dcbbe64927fabe8fc9bf0fe19ea755ad5959bf5acfb67 SHA512 3865dff4bb19f022f6a1a2d653bc8f7eab9c47e99ec5b30e4600506faab301f410ff26f1155b5305f219f3b89f344cc8271aef8b6d6fb2568e8937d5867ea843
EBUILD gcc-13.3.1_p20240614.ebuild 1674 BLAKE2B 371c78ae5036d48e0b96fc621e6a7eb35347d810ad68c6f11d4702f8634e333fe1802cfbb2078c9a35ef18325b32fa7b3b898050eb9d65178ef1e3f24d990f84 SHA512 4fe1522f2700782bac8235524d95d3b596c6783dd08577f17e319c5d58650938a93d40e2dd07a4707cae60310247c83418c3dd31515346566e0d476cc79c9731
EBUILD gcc-13.3.1_p20241025.ebuild 1674 BLAKE2B 371c78ae5036d48e0b96fc621e6a7eb35347d810ad68c6f11d4702f8634e333fe1802cfbb2078c9a35ef18325b32fa7b3b898050eb9d65178ef1e3f24d990f84 SHA512 4fe1522f2700782bac8235524d95d3b596c6783dd08577f17e319c5d58650938a93d40e2dd07a4707cae60310247c83418c3dd31515346566e0d476cc79c9731
EBUILD gcc-13.3.1_p20241115.ebuild 1674 BLAKE2B 371c78ae5036d48e0b96fc621e6a7eb35347d810ad68c6f11d4702f8634e333fe1802cfbb2078c9a35ef18325b32fa7b3b898050eb9d65178ef1e3f24d990f84 SHA512 4fe1522f2700782bac8235524d95d3b596c6783dd08577f17e319c5d58650938a93d40e2dd07a4707cae60310247c83418c3dd31515346566e0d476cc79c9731
+EBUILD gcc-13.3.1_p20241122.ebuild 1683 BLAKE2B a922595b41f142c96c1c540848375b16aaf16d68fa8dcce80a2f1cb645a60e27518da27137fcfdab67adb52f292f8e3ef38e2ea8e1108ae0acd218be6a6f7e4c SHA512 9eb5650b04c5988e083525ef2a5eac9ffcbcc030a882c24f6a872d140aae5f64ae6fd1b7e9d5048a437ea767f559e582b718c8edec8b8eedc1d3635eb52aa493
EBUILD gcc-13.4.9999.ebuild 1679 BLAKE2B 480cd313584e1170b6948893bf6eaec6fed930db66038f5e0dc60ca279e7469ba41b416cb7e0261aafda3ee704815ae8d034ee9a523a46fb96f023621bc58446 SHA512 c34bdd3646469d69bea6457c4f91107ea22c14d9a0e75e4cd1b8b75297a8a5b073adf37c8609d62d00584fe6dcfa7cf22c460210d6550bb69dcffc570e9521b0
EBUILD gcc-14.2.1_p20241116.ebuild 1431 BLAKE2B d7a80df88dd4243d6864a3c10bd7cf50bfb3ef49ed7065040970695799b897f8713099db818db45ff167ee0e7ea8d6b8e94d04274ad394685e45df3eaedbe7f6 SHA512 07910535d1bad6dad4a717f58027e9763b7bbaef6dedec6af57fdca0f68f9e77a56c7f964f531e6afa3df920ee8e73a1094fd75d38b963609169d6a136608685
EBUILD gcc-14.3.9999.ebuild 1410 BLAKE2B 9bae23ee70f670946a0b160e4d4d8a074584097a6b9a1f41c3e08a43271539d30ce7bb3651419a6950c74d24748e8423056dbc857e5c7ae96c7e42992d7395fc SHA512 72b07844e93065dd3dea5fc96f70d9502876932f3b9b8fe898ee0911d3750b47fc7e6fce802c8d8e93481a74ba46de0f9fb15cf48de1c3b347180a4d4c1303cf
diff --git a/sys-devel/gcc/gcc-12.4.1_p20241121.ebuild b/sys-devel/gcc/gcc-12.4.1_p20241121.ebuild
new file mode 100644
index 000000000000..5845745860b0
--- /dev/null
+++ b/sys-devel/gcc/gcc-12.4.1_p20241121.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 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="1"
+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-13.3.1_p20241122.ebuild b/sys-devel/gcc/gcc-13.3.1_p20241122.ebuild
new file mode 100644
index 000000000000..6bff7d382179
--- /dev/null
+++ b/sys-devel/gcc/gcc-13.3.1_p20241122.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 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="1"
+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/gettext/Manifest b/sys-devel/gettext/Manifest
index ed39d00c2091..9d6c19d3166e 100644
--- a/sys-devel/gettext/Manifest
+++ b/sys-devel/gettext/Manifest
@@ -12,5 +12,6 @@ DIST gettext-0.22.5.tar.xz 10270724 BLAKE2B 18c383518f5a78b5c04cf76de976524da2a8
DIST gettext-0.22.5.tar.xz.sig 833 BLAKE2B bb3e5ced34ab109f498347a3567103fe3491f69addb4a5ce25bf854fae1a11340eef1a9826b369d2416b53e5f7065aeebdb1609615f064cf7fb4151e82a5b4e5 SHA512 87f1df69206702be928b09a59a19ae4c23072cbc78ea16e76bfc4c929de76a3c0bb8e4eb2c3100c6e7b3b51d23e3b0e484c7e1d576ba7e25fd887934dc9ed8f7
EBUILD gettext-0.21.1.ebuild 5183 BLAKE2B abbb7e45677f053c241c9d05f1c1598157ff5a1fc67739b46ea54143973a7b95f6a2540cf50091ae5c34d649b5029edc9e2c9c85443d2c1684d64e92d1ba6169 SHA512 52b8bab71bbbf4cd7fe48ce64c730f172022003e0e9847d4adc0e3c67dcccfba9f453e25b6a4a7fade689dda6798ac55f7e790d737d94edcc2488a76e9495bbc
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.ebuild 5430 BLAKE2B ff685b6f9986b5e29f5dc78dcd2986bbd1b75d3b5e547235f896103eacf73d7adca2108d20496bd83d0a28f2ebfd55d61fbca92049aa09065442bdc3b4d92306 SHA512 48eef0acb483f019bec013e87abd23eacbb68b3755e00d67351cbecaaab9f1854ca5a3278e8ea3834eda0972d3e6fc21944086af371a94fcaca5cdd6110e290c
MISC metadata.xml 529 BLAKE2B 7043c2adba0d48824bf343847a587b7eb9ce0947b1985ee375f08a0af0fce3809e7a581001872b98ceb5305aeb410d4e2e72425e7906563593e168cfe60904f5 SHA512 06a0877db14a56e71a90ecc4eed1658e21703403c5739ed8e62202e5fe3958fccab5ffcc633975c7269402022f40653638cc41d1ae5b6427203dc8c28d6a502c
diff --git a/sys-devel/gettext/gettext-0.22.5-r1.ebuild b/sys-devel/gettext/gettext-0.22.5-r1.ebuild
new file mode 100644
index 000000000000..cbcedaee51df
--- /dev/null
+++ b/sys-devel/gettext/gettext-0.22.5-r1.ebuild
@@ -0,0 +1,203 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: Keep version bumps in sync with dev-libs/libintl.
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gettext.asc
+inherit java-pkg-opt-2 libtool multilib-minimal verify-sig toolchain-funcs
+inherit flag-o-matic
+
+DESCRIPTION="GNU locale utilities"
+HOMEPAGE="https://www.gnu.org/software/gettext/"
+
+if [[ ${PV} == *_rc* ]] ; then
+ SRC_URI="
+ https://alpha.gnu.org/gnu/${PN}/${P/_/-}.tar.xz
+ verify-sig? ( https://alpha.gnu.org/gnu/${PN}/${P/_/-}.tar.xz.sig )
+ "
+ S="${WORKDIR}/${P/_/-}"
+else
+ SRC_URI="
+ 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"
+fi
+
+# Only libasprintf is under the LGPL (and libintl is in a sep package),
+# so put that license behind USE=cxx.
+LICENSE="GPL-3+ cxx? ( LGPL-2.1+ )"
+SLOT="0"
+IUSE="acl +cxx doc emacs git java ncurses nls openmp static-libs xattr"
+
+# Only runtime goes multilib
+#
+# Note: The version of libxml2 corresponds to the version bundled via gnulib.
+# If the build detects too old of a system version, it will end up falling back
+# to the bundled copy (bug #596918).
+#
+# Note: expat lacks a subslot because it is dynamically loaded at runtime. We
+# would depend on older subslots if they were available (based on the ABIs that
+# are explicitly handled), but expat doesn't currently use subslots.
+DEPEND="
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
+ >=dev-libs/libxml2-2.9.3:=
+ dev-libs/expat
+ acl? ( virtual/acl )
+ ncurses? ( sys-libs/ncurses:= )
+ java? ( >=virtual/jdk-1.8:* )
+ xattr? ( sys-apps/attr )
+"
+RDEPEND="
+ ${DEPEND}
+ git? ( dev-vcs/git )
+ java? ( >=virtual/jre-1.8:* )
+"
+BDEPEND="
+ git? ( dev-vcs/git )
+ verify-sig? ( sec-keys/openpgp-keys-gettext )
+"
+PDEPEND="emacs? ( app-emacs/po-mode )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ # only installed for native ABI
+ /usr/include/gettext-po.h
+
+ /usr/include/autosprintf.h
+ /usr/include/textstyle.h
+ /usr/include/textstyle/stdbool.h
+ /usr/include/textstyle/version.h
+ /usr/include/textstyle/woe32dll.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.21-CVE-2020-12825.patch
+)
+
+QA_SONAME_NO_SYMLINK=".*/preloadable_libintl.so"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # bug #898570
+ unreachable
+ MIN
+ alignof
+ static_assert
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ default
+
+ # gettext-0.21.1-java-autoconf.patch changes
+ # gettext-{runtime,tools}/configure.ac and the corresponding
+ # configure scripts. Avoid regenerating other autotools output.
+ #touch -c gettext-{runtime,tools}/{aclocal.m4,Makefile.in,config.h.in,configure} || die
+ # Makefile.am adds a dependency on gettext-{runtime,tools}/configure.ac
+ #touch -c configure || die
+
+ elibtoolize
+
+ if use elibc_musl || use elibc_Darwin; then
+ eapply "${FILESDIR}"/${PN}-0.21-musl-omit_setlocale_lock.patch
+ fi
+}
+
+multilib_src_configure() {
+ local myconf=(
+ # switches common to runtime and top-level
+ --cache-file="${BUILD_DIR}"/config.cache
+ #--docdir="\$(datarootdir)/doc/${PF}"
+
+ # Emacs support is now in a separate package
+ --without-emacs
+ --without-lispdir
+ # glib depends on us so avoid circular deps
+ --with-included-glib
+ # libcroco depends on glib which ... ^^^
+ --with-included-libcroco
+ # this will _disable_ libunistring (since it is not bundled),
+ # see bug #326477
+ --with-included-libunistring
+ # Never build libintl since it's in dev-libs/libintl now.
+ --without-included-gettext
+ # Never build bundled copy of libxml2.
+ --without-included-libxml
+
+ --disable-csharp
+ --without-cvs
+
+ $(use_enable acl)
+ $(use_enable cxx c++)
+ $(use_enable cxx libasprintf)
+ $(use_with git)
+ $(multilib_native_use_enable java)
+ $(use_enable ncurses curses)
+ $(use_enable nls)
+ $(use_enable openmp)
+ $(use_enable static-libs static)
+ $(use_enable xattr attr)
+ )
+
+ local ECONF_SOURCE="${S}"
+ if ! multilib_is_native_abi ; then
+ # for non-native ABIs, we build runtime only
+ ECONF_SOURCE+=/gettext-runtime
+ fi
+
+ # should be gone on next release, for memset_s breakage
+ [[ ${CHOST} == *-solaris* ]] && append-cppflags -D__STDC_WANT_LIB_EXT1__=1
+
+ econf "${myconf[@]}"
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi ; then
+ dosym msgfmt /usr/bin/gmsgfmt # bug #43435
+ dobin gettext-tools/misc/gettextize
+ fi
+
+ # 909041 never install libintl which upstream insists on building
+ rm -f "${ED}"/usr/$(get_libdir)/libintl.* "${ED}"/usr/include/libintl.h
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+
+ if use java ; then
+ java-pkg_dojar "${ED}"/usr/share/${PN}/*.jar
+ rm "${ED}"/usr/share/${PN}/*.jar || die
+ rm "${ED}"/usr/share/${PN}/*.class || die
+ if use doc ; then
+ java-pkg_dojavadoc "${ED}"/usr/share/doc/${PF}/html/javadoc2
+ fi
+ fi
+
+ dodoc AUTHORS ChangeLog NEWS README THANKS
+
+ if use doc ; then
+ docinto html
+ dodoc "${ED}"/usr/share/doc/${PF}/*.html
+ else
+ rm -rf "${ED}"/usr/share/doc/${PF}/{csharpdoc,examples,javadoc2,javadoc1}
+ fi
+ rm "${ED}"/usr/share/doc/${PF}/*.html || die
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_pkg_preinst
+}