summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-10-04 05:50:31 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-10-04 05:50:31 +0100
commit08b4047e14c989cfb931eff95973837f54ccc9e1 (patch)
tree8ef8443bb119630d0bdea4b374a58981490b6f0e
parentc410d7a91a496a4fbbca686c80f7446305222d55 (diff)
gentoo auto-resync : 04:10:2023 - 05:50:30
-rw-r--r--Manifest30
-rw-r--r--Manifest.files.gzbin29300 -> 29298 bytes
-rw-r--r--app-containers/Manifest.gzbin8386 -> 8384 bytes
-rw-r--r--app-containers/snapd/Manifest2
-rw-r--r--app-containers/snapd/snapd-2.60.4.ebuild179
-rw-r--r--app-misc/Manifest.gzbin50234 -> 50230 bytes
-rw-r--r--app-misc/vit/Manifest2
-rw-r--r--app-misc/vit/vit-2.3.0.ebuild30
-rw-r--r--dev-lang/Manifest.gzbin20701 -> 20699 bytes
-rw-r--r--dev-lang/luau/Manifest2
-rw-r--r--dev-lang/luau/luau-0.593.ebuild2
-rw-r--r--dev-libs/Manifest.gzbin97874 -> 97868 bytes
-rw-r--r--dev-libs/cJSON/Manifest2
-rw-r--r--dev-libs/cJSON/cJSON-1.7.15.ebuild30
-rw-r--r--dev-libs/json-c/Manifest2
-rw-r--r--dev-libs/json-c/json-c-0.17.ebuild2
-rw-r--r--dev-libs/libbpf/Manifest2
-rw-r--r--dev-libs/libbpf/libbpf-1.2.2.ebuild2
-rw-r--r--dev-libs/libmpack/Manifest2
-rw-r--r--dev-libs/libmpack/libmpack-1.0.5-r5.ebuild2
-rw-r--r--dev-libs/pugixml/Manifest2
-rw-r--r--dev-libs/pugixml/pugixml-1.14.ebuild31
-rw-r--r--dev-python/Manifest.gzbin267310 -> 267308 bytes
-rw-r--r--dev-python/matplotlib/Manifest2
-rw-r--r--dev-python/matplotlib/matplotlib-3.7.2.ebuild2
-rw-r--r--dev-python/psycopg/Manifest2
-rw-r--r--dev-python/psycopg/psycopg-3.1.10.ebuild2
-rw-r--r--dev-python/twisted/Manifest2
-rw-r--r--dev-python/twisted/twisted-23.8.0.ebuild2
-rw-r--r--dev-util/Manifest.gzbin69271 -> 69270 bytes
-rw-r--r--dev-util/rr/Manifest2
-rw-r--r--dev-util/rr/rr-5.7.0.ebuild81
-rw-r--r--metadata/Manifest.gzbin6986 -> 6986 bytes
-rw-r--r--metadata/dtd/timestamp.chk2
-rw-r--r--metadata/glsa/Manifest28
-rw-r--r--metadata/glsa/timestamp.chk2
-rw-r--r--metadata/md5-cache/Manifest.gzbin27919 -> 27896 bytes
-rw-r--r--metadata/md5-cache/app-containers/Manifest.gzbin19278 -> 19439 bytes
-rw-r--r--metadata/md5-cache/app-containers/snapd-2.60.418
-rw-r--r--metadata/md5-cache/app-misc/Manifest.gzbin76588 -> 76433 bytes
-rw-r--r--metadata/md5-cache/app-misc/vit-2.3.016
-rw-r--r--metadata/md5-cache/dev-lang/Manifest.gzbin43815 -> 43816 bytes
-rw-r--r--metadata/md5-cache/dev-lang/luau-0.5934
-rw-r--r--metadata/md5-cache/dev-libs/Manifest.gzbin164419 -> 164424 bytes
-rw-r--r--metadata/md5-cache/dev-libs/json-c-0.174
-rw-r--r--metadata/md5-cache/dev-libs/libbpf-1.2.24
-rw-r--r--metadata/md5-cache/dev-libs/libmpack-1.0.5-r54
-rw-r--r--metadata/md5-cache/dev-libs/pugixml-1.14 (renamed from metadata/md5-cache/dev-libs/cJSON-1.7.15)12
-rw-r--r--metadata/md5-cache/dev-python/Manifest.gzbin377929 -> 377937 bytes
-rw-r--r--metadata/md5-cache/dev-python/matplotlib-3.7.24
-rw-r--r--metadata/md5-cache/dev-python/psycopg-3.1.104
-rw-r--r--metadata/md5-cache/dev-python/twisted-23.8.04
-rw-r--r--metadata/md5-cache/dev-util/Manifest.gzbin130768 -> 130918 bytes
-rw-r--r--metadata/md5-cache/dev-util/rr-5.7.017
-rw-r--r--metadata/md5-cache/net-firewall/Manifest.gzbin7060 -> 7218 bytes
-rw-r--r--metadata/md5-cache/net-firewall/firewalld-2.0.117
-rw-r--r--metadata/md5-cache/net-irc/Manifest.gzbin14257 -> 14425 bytes
-rw-r--r--metadata/md5-cache/net-irc/irssi-1.4.515
-rw-r--r--metadata/md5-cache/net-misc/Manifest.gzbin93562 -> 93730 bytes
-rw-r--r--metadata/md5-cache/net-misc/streamlink-6.2.117
-rw-r--r--metadata/md5-cache/net-misc/streamlink-99994
-rw-r--r--metadata/md5-cache/net-p2p/Manifest.gzbin13894 -> 13893 bytes
-rw-r--r--metadata/md5-cache/net-p2p/rtorrent-0.9.8-r24
-rw-r--r--metadata/md5-cache/sci-libs/Manifest.gzbin66355 -> 66514 bytes
-rw-r--r--metadata/md5-cache/sci-libs/symengine-0.11.116
-rw-r--r--metadata/md5-cache/sys-apps/Manifest.gzbin90251 -> 90571 bytes
-rw-r--r--metadata/md5-cache/sys-apps/eza-0.14.015
-rw-r--r--metadata/md5-cache/sys-apps/hwdata-0.37512
-rw-r--r--metadata/md5-cache/sys-fs/Manifest.gzbin39761 -> 39910 bytes
-rw-r--r--metadata/md5-cache/sys-fs/btrfs-progs-6.5.217
-rw-r--r--metadata/md5-cache/sys-fs/mtd-utils-2.1.6-r14
-rw-r--r--metadata/md5-cache/sys-libs/Manifest.gzbin38997 -> 38374 bytes
-rw-r--r--metadata/md5-cache/sys-libs/glibc-2.37-r518
-rw-r--r--metadata/md5-cache/sys-libs/glibc-2.37-r618
-rw-r--r--metadata/md5-cache/sys-libs/glibc-2.37-r74
-rw-r--r--metadata/md5-cache/sys-libs/glibc-2.38-r218
-rw-r--r--metadata/md5-cache/sys-libs/glibc-2.38-r418
-rw-r--r--metadata/md5-cache/www-apps/Manifest.gzbin24371 -> 24526 bytes
-rw-r--r--metadata/md5-cache/www-apps/ttyd-1.7.414
-rw-r--r--metadata/md5-cache/www-client/Manifest.gzbin12386 -> 12538 bytes
-rw-r--r--metadata/md5-cache/www-client/chromium-117.0.5938.14916
-rw-r--r--metadata/md5-cache/www-client/microsoft-edge-beta-118.0.2088.24 (renamed from metadata/md5-cache/www-client/microsoft-edge-beta-117.0.2045.31)2
-rw-r--r--metadata/md5-cache/www-client/microsoft-edge-dev-119.0.2132.0 (renamed from metadata/md5-cache/www-client/microsoft-edge-dev-118.0.2088.9)2
-rw-r--r--metadata/md5-cache/www-client/opera-103.0.4928.16 (renamed from metadata/md5-cache/www-client/opera-102.0.4880.78)2
-rw-r--r--metadata/md5-cache/x11-terms/Manifest.gzbin9133 -> 9294 bytes
-rw-r--r--metadata/md5-cache/x11-terms/alacritty-0.12.316
-rw-r--r--metadata/news/Manifest28
-rw-r--r--metadata/news/timestamp.chk2
-rw-r--r--metadata/timestamp2
-rw-r--r--metadata/timestamp.chk2
-rw-r--r--metadata/timestamp.commit2
-rw-r--r--metadata/timestamp.x2
-rw-r--r--metadata/xml-schema/timestamp.chk2
-rw-r--r--net-firewall/Manifest.gzbin4386 -> 4382 bytes
-rw-r--r--net-firewall/firewalld/Manifest2
-rw-r--r--net-firewall/firewalld/firewalld-2.0.1.ebuild223
-rw-r--r--net-irc/Manifest.gzbin8227 -> 8231 bytes
-rw-r--r--net-irc/irssi/Manifest2
-rw-r--r--net-irc/irssi/irssi-1.4.5.ebuild68
-rw-r--r--net-misc/Manifest.gzbin54480 -> 54482 bytes
-rw-r--r--net-misc/streamlink/Manifest4
-rw-r--r--net-misc/streamlink/streamlink-6.2.1.ebuild64
-rw-r--r--net-misc/streamlink/streamlink-9999.ebuild7
-rw-r--r--net-p2p/Manifest.gzbin6749 -> 6747 bytes
-rw-r--r--net-p2p/rtorrent/Manifest2
-rw-r--r--net-p2p/rtorrent/rtorrent-0.9.8-r2.ebuild2
-rw-r--r--sci-libs/Manifest.gzbin44958 -> 44954 bytes
-rw-r--r--sci-libs/symengine/Manifest2
-rw-r--r--sci-libs/symengine/symengine-0.11.1.ebuild103
-rw-r--r--sys-apps/Manifest.gzbin49683 -> 49678 bytes
-rw-r--r--sys-apps/eza/Manifest4
-rw-r--r--sys-apps/eza/eza-0.14.0.ebuild246
-rw-r--r--sys-apps/hwdata/Manifest2
-rw-r--r--sys-apps/hwdata/hwdata-0.375.ebuild28
-rw-r--r--sys-fs/Manifest.gzbin22557 -> 22560 bytes
-rw-r--r--sys-fs/btrfs-progs/Manifest2
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-6.5.2.ebuild161
-rw-r--r--sys-fs/mtd-utils/Manifest2
-rw-r--r--sys-fs/mtd-utils/mtd-utils-2.1.6-r1.ebuild2
-rw-r--r--sys-libs/Manifest.gzbin14754 -> 14756 bytes
-rw-r--r--sys-libs/glibc/Manifest10
-rw-r--r--sys-libs/glibc/glibc-2.37-r5.ebuild1680
-rw-r--r--sys-libs/glibc/glibc-2.37-r6.ebuild1680
-rw-r--r--sys-libs/glibc/glibc-2.37-r7.ebuild2
-rw-r--r--sys-libs/glibc/glibc-2.38-r2.ebuild1680
-rw-r--r--sys-libs/glibc/glibc-2.38-r4.ebuild1706
-rw-r--r--www-apps/Manifest.gzbin13454 -> 13454 bytes
-rw-r--r--www-apps/ttyd/Manifest6
-rw-r--r--www-apps/ttyd/files/ttyd.confd17
-rw-r--r--www-apps/ttyd/files/ttyd.service2
-rw-r--r--www-apps/ttyd/ttyd-1.7.4.ebuild40
-rw-r--r--www-client/Manifest.gzbin6035 -> 6034 bytes
-rw-r--r--www-client/chromium/Manifest3
-rw-r--r--www-client/chromium/chromium-117.0.5938.149.ebuild1281
-rw-r--r--www-client/microsoft-edge-beta/Manifest4
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-118.0.2088.24.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-117.0.2045.31.ebuild)0
-rw-r--r--www-client/microsoft-edge-dev/Manifest4
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-119.0.2132.0.ebuild (renamed from www-client/microsoft-edge-dev/microsoft-edge-dev-118.0.2088.9.ebuild)0
-rw-r--r--www-client/opera/Manifest4
-rw-r--r--www-client/opera/opera-103.0.4928.16.ebuild (renamed from www-client/opera/opera-102.0.4880.78.ebuild)0
-rw-r--r--x11-terms/Manifest.gzbin4554 -> 4550 bytes
-rw-r--r--x11-terms/alacritty/Manifest4
-rw-r--r--x11-terms/alacritty/alacritty-0.12.3.ebuild364
143 files changed, 3219 insertions, 7025 deletions
diff --git a/Manifest b/Manifest
index 72096c5300c6..574b4af39484 100644
--- a/Manifest
+++ b/Manifest
@@ -1,23 +1,23 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
-MANIFEST Manifest.files.gz 29300 BLAKE2B 9a84708254d05046d13efe9de9286e823b6c6a53b8fcf734766f9b4b76bd9e067f216d23b0afc114e5280f5d9907046aea2e73c9c2f64b81f814aea4400b7a0c SHA512 8230fe7925e91942316c671a9749978c9729b2e521fdcac15ae933065655268ffa76f8131d4709d415d9dce43b6c95970a1f1f2c0e0248b25d6e0efddd0b3d16
-TIMESTAMP 2023-10-03T22:10:11Z
+MANIFEST Manifest.files.gz 29298 BLAKE2B c7d740e9342671f60ebc29de23a19a55497e3c487152a39fbb0194b9f4e7b438a8ec06046504e85c13778673dc4498545f31d8b7b3b5a075c47c76ffcfbea465 SHA512 8a0f65892b5c7c71d179c2d59fc5f11c85da0ceeeac26f36da62e58d42765aacd8244a206dd9ac6b478ae4db7b7c369f3c480a09469d3af501dea889c23ea9e0
+TIMESTAMP 2023-10-04T04:10:06Z
-----BEGIN PGP SIGNATURE-----
-iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmUckUNfFIAAAAAALgAo
+iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmUc5Z5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
-klBjRQ//Rvtpnqh3xr+LgtlZN6RZfPCt2xlEek9u3v86ZLYwNlqpZVTu/Ha0EFa2
-HYk0EDlW3R7Ma6UwS5OHA7zIOx3wFpU9PQxgG1W3yba7pkz3iZroliWDxwyRNYva
-o/dqSNDB0+nmpqtAmXoq7xLCYRKSh2i3yP0J2/5CBXbC8YUC8CNAs1fI+T1wVCn0
-8jgKSw8+M0Y3y5q8Btl+XvENTuM3NqT6+8iN725B05INESBw+WfC4IAQRE2gvGAF
-kau6sJmGHK8oSh4Wq2h2Xm8KglInffJbiikPqAn8rjcpKo+7IAGXnsZSVGEWMtRy
-5d7EyDkMWoYIFbCLIYQxSDfC9flu4CLlC5OcA50td+d5oHVNWuF+muA/Ews6Mkf+
-g+3pwEbnEF2uUO71QWHJCVBgLdSqtQzW3zQv+HVJ3n2LPLQldncjyuVHrePn5G9b
-KD8YzozMISC90pdr5Mmg1BHOBGevzR9T3ziSa5ikYN8T2r8GqYTikCzP+bj6DyQf
-MzQ9nCc3PwC2CMoe4jHLYj7OIh1+Nf5+IrITq/febSj8NhHy/nHDlN4bx2YymSTu
-QQdltNi1A1bCm5laxK7htwJKN0B7JwSjox89lSVwKi7vj72d5hMN8x8LDgPnrXTj
-fQH+uVztNbORsTdGzUcydcxPfK87+OryxjHE3NSDCPtYxQMTOAQ=
-=nVw7
+klBfsxAAohybnXnL8FoixhRDo2wiuwRsBzQQVARC4nGtkic1Irict9DI56xI04QG
+TdsP57T9RgUdfr+JOldbJJyJV/9QNvLIEz6iIU3X/2mcwVtEKNyUIw5pECCQL+kJ
+ivC3KIv3H21J1yLntnRmz5ZRLyJnrd38VfzDIg+7+2vbMEm3s6XqALINAP0TrT5l
+SuVAOcoBP+9y3IQ/KljkVu4xumBvH7wSJWpKIuxSpp5QEDceT0SXEx0UAYAVeUoW
+OJFutWEw64Z34fvedQSf28KmZLVbabg3xoh+ZbGcipOFIaQAHn9eaE8tI+17Ena1
+zLei37aTTSb/uO2PBxtYYg6i7PRxH3m+5PV5vOXg3zvpMwNlS8V4w029lH2Xcrsm
+DIedBnP22WjoIqoMu2ewlnd+9tqsl7uhJS3scZ0pZiKUiwXLIu5mP7uKeSuCG3p9
+O9xnMg9MHmShkt7BxOQCD4/YM9FwqNe7EJ1beYJ1X8YNhAuwImM9ZNCG9LPeeWpL
+/jbP/z7RH43kEuxt1j8LYOHvtG0OcYMibh1pTHHkbcuZDAq8ALCbVdiwgiqmphkr
+FrJm31EpHrSjBfaWx8ZXrRMZha7gC/z3ZLMQkPBvHlODyJqt3sXd/fN2O0xVHdQf
+W5BVjFEFeJJkTAleCBc4MdctZJGe4jsIsmSOGI8togID0q5T8Z8=
+=t8E9
-----END PGP SIGNATURE-----
diff --git a/Manifest.files.gz b/Manifest.files.gz
index f3b1f5589b47..cd8f49bd49a1 100644
--- a/Manifest.files.gz
+++ b/Manifest.files.gz
Binary files differ
diff --git a/app-containers/Manifest.gz b/app-containers/Manifest.gz
index 84b6891eed84..eee9518e4986 100644
--- a/app-containers/Manifest.gz
+++ b/app-containers/Manifest.gz
Binary files differ
diff --git a/app-containers/snapd/Manifest b/app-containers/snapd/Manifest
index 64285348c959..87d40204ddea 100644
--- a/app-containers/snapd/Manifest
+++ b/app-containers/snapd/Manifest
@@ -2,7 +2,9 @@ AUX README.gentoo 1941 BLAKE2B dd25269f2aaaea693701d74511d632bc45f2c99954ae683cb
DIST snapd-2.57.6.tar.xz 6889052 BLAKE2B 5d1190f3d1ccc6446f950cc95c09180707c3a96285bcdd197aef06b2d69cfef6daf85a93844f105dd434b29b73d3b9c832dfcbebcdc2451443eb5421046de849 SHA512 cd74fa92cddff3452448a50536ded504c68ca6f786b465b8561ccc43c02856742a895efb71bf92b8d125173e0d083faf61ca563f69da03ebf3c4df1b0b0b8d5e
DIST snapd-2.58.tar.xz 6980916 BLAKE2B d3de507513db808fa4f85498b5c238de143f06660f1d677186c8c763b38643a2486e25b747977b3eb584619d79ea0a12e88dc5a909045a853c1d8f849f2c1638 SHA512 555915b8b4d9d2d91a3ba19e9e78cf6b19d9683a9f390ad225aa5876320cb8595b464d6133706c4923fc15fbe04ba2b65a47e403c9a2d8859adae827f8ec000a
DIST snapd-2.60.3.tar.xz 7184964 BLAKE2B c40c4e041a91de1732c23b5845a322873498da76d50e0c91e97941d1fc4f6f1991fe2b009414952bf0ebb614e8e19a0015c698ff09c61a12940349ea714f77f0 SHA512 630738c956773354006c195bfe954902b0d082e94345b54c6a6795139d36e1f95a236c6e9a8947338e03caca03520c6e8c1a1c44d3788ec93107f7f97b2d952d
+DIST snapd-2.60.4.tar.xz 7187708 BLAKE2B 488ca5b70e9174f07ac54cbc221a323607e337dbde45e7c4d11669ed2f61409fa7bb21b4a5432cd84fb312d92cacf19e5bccc80ef77b71233e19e158d937ac04 SHA512 3035e4e5d52fef00606bc532f855817200d9f6035f660b0377d5dccf5bb64bbf0a94a4e3b8f3941e54b62259378dae4084baa2a29fb5120c714559c899c33c0e
EBUILD snapd-2.57.6.ebuild 5169 BLAKE2B f96430c3131d507c6b7566f7b085851a6db569a93dae668d0a34d13319c06f563566858367bf028ed600f1d0ba8f29e5970c56ca72241b7b72eccf5318939633 SHA512 b7551510c5b5adf6f12c2df137ef54c8c62f96984141f49e2706a7c88c65490b03f43674b8314c82cb83bbad5de560285d1c10b1b11bf79359034cf758096caf
EBUILD snapd-2.58.ebuild 5206 BLAKE2B 9df542b74025c4151e20ee6eff9e640742587831b29d3195c97b0ee60ecbe8ce50558e0ecd437b26d87c378575e9d7b1c384ace7f6d647e4b34c519df25ddb68 SHA512 4d2541d85b110db48c3949a3e1a82a0b1ab454ed58a166381011ff452b171e279bebbb5f40e3e7e266849cdf0e2d5d608c12c19c97214d688cd9e739f7be0497
EBUILD snapd-2.60.3.ebuild 5211 BLAKE2B 42cb4ab1a965b0b424643aa299e9d0da1956b657373a6c4c594911969b221c65f19569fa26359424fe14e4ba20273c902ef39b8d10c8ebe2f35a4833ffb5f0f1 SHA512 5e2ba615523aaf978404acebdf9137952ff31144ade0fda68f8c29b127b97c4e7786839a1b338103435963b4ea884a43fdd66de121b1c79982be39a211f50004
+EBUILD snapd-2.60.4.ebuild 5211 BLAKE2B 42cb4ab1a965b0b424643aa299e9d0da1956b657373a6c4c594911969b221c65f19569fa26359424fe14e4ba20273c902ef39b8d10c8ebe2f35a4833ffb5f0f1 SHA512 5e2ba615523aaf978404acebdf9137952ff31144ade0fda68f8c29b127b97c4e7786839a1b338103435963b4ea884a43fdd66de121b1c79982be39a211f50004
MISC metadata.xml 457 BLAKE2B 204b67bf36a85bd18f4111b4d8590195908bf15ae0bafedb76b6124b7d19c6570627925e5dfc46dd4dd47732c6d8f1066451831a0cc475518aab8a29403ececc SHA512 07671272b60f1a6793e3f36b096e99153263830314359eb86000aec65266c61ebe9c448af4ec166d6163e3ca2325f36cc74fe5aace95e7ffa7b0293516b18120
diff --git a/app-containers/snapd/snapd-2.60.4.ebuild b/app-containers/snapd/snapd-2.60.4.ebuild
new file mode 100644
index 000000000000..7bd5d8f6f6e3
--- /dev/null
+++ b/app-containers/snapd/snapd-2.60.4.ebuild
@@ -0,0 +1,179 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools bash-completion-r1 flag-o-matic go-module linux-info readme.gentoo-r1 systemd tmpfiles xdg-utils
+
+DESCRIPTION="Service and tools for management of snap packages"
+HOMEPAGE="http://snapcraft.io/"
+
+SRC_URI="https://github.com/snapcore/snapd/releases/download/${PV}/snapd_${PV}.vendor.tar.xz -> ${P}.tar.xz"
+MY_PV=${PV}
+KEYWORDS="~amd64"
+
+LICENSE="GPL-3 Apache-2.0 BSD BSD-2 LGPL-3-with-linking-exception MIT"
+SLOT="0"
+IUSE="apparmor +forced-devmode gtk kde systemd"
+REQUIRED_USE="!forced-devmode? ( apparmor ) systemd"
+
+CONFIG_CHECK="~CGROUPS
+ ~CGROUP_DEVICE
+ ~CGROUP_FREEZER
+ ~NAMESPACES
+ ~SQUASHFS
+ ~SQUASHFS_ZLIB
+ ~SQUASHFS_LZO
+ ~SQUASHFS_XZ
+ ~BLK_DEV_LOOP
+ ~SECCOMP
+ ~SECCOMP_FILTER"
+
+RDEPEND="
+ sys-libs/libseccomp:=
+ apparmor? (
+ sec-policy/apparmor-profiles
+ sys-apps/apparmor:=
+ )
+ dev-libs/glib
+ virtual/libudev
+ systemd? ( sys-apps/systemd )
+ sys-libs/libcap:=
+ sys-fs/squashfs-tools[lzma,lzo]"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ >=dev-lang/go-1.9
+ dev-python/docutils
+ sys-devel/gettext
+ sys-fs/xfsprogs"
+
+PDEPEND="sys-auth/polkit[gtk?,kde?]"
+
+README_GENTOO_SUFFIX=""
+
+pkg_setup() {
+ if use apparmor; then
+ CONFIG_CHECK+=" ~SECURITY_APPARMOR"
+ fi
+ linux-info_pkg_setup
+
+ # Seems to have issues building with -O3, switch to -O2
+ replace-flags -O3 -O2
+}
+
+src_prepare() {
+ default
+ # Update apparmor profile to allow libtinfow.so*
+ sed -i 's/libtinfo/libtinfo{,w}/' \
+ "cmd/snap-confine/snap-confine.apparmor.in" || die
+
+ if ! use forced-devmode; then
+ sed -e 's#return !apparmorFull#if !apparmorFull {\n\t\tpanic("USE=forced-devmode is disabled")\n\t}\n\treturn false#' \
+ -i "sandbox/forcedevmode.go" || die
+ grep -q 'panic("USE=forced-devmode is disabled")' "sandbox/forcedevmode.go" || die "failed to disable forced-devmode"
+ fi
+
+ sed -i 's:command -v git >/dev/null:false:' -i "mkversion.sh" || die
+
+ ./mkversion.sh "${PV}"
+ pushd "cmd" >/dev/null || die
+ eautoreconf
+}
+
+src_configure() {
+ SNAPD_MAKEARGS=(
+ "BINDIR=${EPREFIX}/usr/bin"
+ "DBUSSERVICESDIR=${EPREFIX}/usr/share/dbus-1/services"
+ "LIBEXECDIR=${EPREFIX}/usr/lib"
+ "SNAP_MOUNT_DIR=${EPREFIX}/var/lib/snapd/snap"
+ "SYSTEMDSYSTEMUNITDIR=$(systemd_get_systemunitdir)"
+ )
+ export CGO_ENABLED="1"
+ export CGO_CFLAGS="${CFLAGS}"
+ export CGO_CPPFLAGS="${CPPFLAGS}"
+ export CGO_CXXFLAGS="${CXXFLAGS}"
+
+ pushd "${S}/cmd" >/dev/null || die
+ econf --libdir="${EPREFIX}/usr/lib" \
+ --libexecdir="${EPREFIX}/usr/lib/snapd" \
+ $(use_enable apparmor) \
+ --enable-nvidia-biarch \
+ --with-snap-mount-dir="${EPREFIX}/var/lib/snapd/snap"
+}
+
+src_compile() {
+ export -n GOCACHE XDG_CACHE_HOME
+ export GOBIN="${S}/bin"
+
+ local file
+ for file in "${S}/po/"*.po; do
+ msgfmt "${file}" -o "${file%.po}.mo" || die
+ done
+
+ emake -C "${S}/data" "${SNAPD_MAKEARGS[@]}"
+
+ local -a flags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS}'" -trimpath)
+ local -a staticflags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS} -static'" -trimpath)
+
+ local cmd
+ for cmd in snap snapd snapd-apparmor snap-bootstrap snap-failure snap-preseed snap-recovery-chooser snap-repair snap-seccomp; do
+ go build ${GOFLAGS} -mod=vendor -o "${GOBIN}/${cmd}" "${flags[@]}" \
+ -v -x "github.com/snapcore/${PN}/cmd/${cmd}"
+ [[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}"
+ done
+ for cmd in snapctl snap-exec snap-update-ns; do
+ go build ${GOFLAGS} -mod=vendor -o "${GOBIN}/${cmd}" "${staticflags[@]}" \
+ -v -x "github.com/snapcore/${PN}/cmd/${cmd}"
+ [[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}"
+ done
+}
+
+src_install() {
+ emake -C "${S}/data" install "${SNAPD_MAKEARGS[@]}" DESTDIR="${D}"
+ emake -C "${S}/cmd" install "${SNAPD_MAKEARGS[@]}" DESTDIR="${D}"
+
+ if use apparmor; then
+ mv "${ED}/etc/apparmor.d/usr.lib.snapd.snap-confine"{,.real} || die
+ keepdir /var/lib/snapd/apparmor/profiles
+ fi
+ keepdir /var/lib/snapd/{apparmor/snap-confine,cache,cookie,snap,void}
+ fperms 700 /var/lib/snapd/{cache,cookie}
+
+ dobin "${GOBIN}/"{snap,snapctl}
+ ln "${ED}/usr/bin/snapctl" "${ED}/usr/lib/snapd/snapctl" || die
+
+ exeinto /usr/lib/snapd
+ doexe "${GOBIN}/"{snapd,snapd-apparmor,snap-bootstrap,snap-failure,snap-exec,snap-preseed,snap-recovery-chooser,snap-repair,snap-seccomp,snap-update-ns} \
+ "${S}/"{cmd/snap-discard-ns/snap-discard-ns,cmd/snap-gdb-shim/snap-gdb-shim,cmd/snap-mgmt/snap-mgmt} \
+ "${S}/data/completion/bash/"{complete.sh,etelpmoc.sh,}
+
+ dobashcomp "${S}/data/completion/bash/snap"
+
+ insinto /usr/share/zsh/site-functions
+ doins "${S}/data/completion/zsh/_snap"
+
+ insinto "/usr/share/polkit-1/actions"
+ doins "${S}/data/polkit/io.snapcraft.snapd.policy"
+
+ dodoc "${S}/packaging/ubuntu-16.04/changelog"
+ domo "${S}/po/"*.mo
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ xdg_desktop_database_update
+ tmpfiles_process snapd.conf
+
+ if use apparmor && [[ -z ${ROOT} && -e /sys/kernel/security/apparmor/profiles &&
+ $(wc -l < /sys/kernel/security/apparmor/profiles) -gt 0 ]]; then
+ apparmor_parser -r "${EPREFIX}/etc/apparmor.d/usr.lib.snapd.snap-confine.real"
+ fi
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
diff --git a/app-misc/Manifest.gz b/app-misc/Manifest.gz
index 55b73e2a2edc..e29dd0bcc9f9 100644
--- a/app-misc/Manifest.gz
+++ b/app-misc/Manifest.gz
Binary files differ
diff --git a/app-misc/vit/Manifest b/app-misc/vit/Manifest
index 6972b7b600a1..9d87918c7e97 100644
--- a/app-misc/vit/Manifest
+++ b/app-misc/vit/Manifest
@@ -1,5 +1,3 @@
-DIST vit-2.3.0.tar.gz 72136 BLAKE2B d2988924d9fce8ac2a14f812654ab385bc84f112f3c4d5d150fa04e8151c4cbad7dc5d2d161cc890aa40ceb8a66ac629a1ff53f99531b6166747b379b45764c5 SHA512 49574ebb5dd3127936ec45ab825d927e221c96c32d0966d2c35220b27f5de1df556ff168769aca0b9c22e25f7b86e39d985d326fafe4a33712a3f0c5fa8d9d02
DIST vit-2.3.1.tar.gz 72143 BLAKE2B 288e21083fc39d47aa1df6d3adf5b5973a50ab0463ad53a40ad70c1dbc627821ed4e567cd269749cca470fb7705f0f1792dca9db58cd16b504d5e0a0c2471097 SHA512 930c02ab2f399a0338a1a7f328a99452c1448bd9352c1f0535c720b6d4437ff29345a23a73af107aeac1091ad33829a563ce69daae53a44b684cf71a54d70d4b
-EBUILD vit-2.3.0.ebuild 608 BLAKE2B 4869abe8585917099b69ed19d8a58a4a384acd819b388b65286e994eb6ca9eab6e737af6863dfd1a978c597f12dd7d1ec9a73a24bdc440ec7a5d4437187657e1 SHA512 83ef4590367988240e24ea114c6da47d30b68ad0e41b7e5c0fd51f3483e1c7040096306623e37086345e8d1d09b2305cbab79f39af6bbf545e3679a2ab9db4f2
EBUILD vit-2.3.1.ebuild 608 BLAKE2B 4869abe8585917099b69ed19d8a58a4a384acd819b388b65286e994eb6ca9eab6e737af6863dfd1a978c597f12dd7d1ec9a73a24bdc440ec7a5d4437187657e1 SHA512 83ef4590367988240e24ea114c6da47d30b68ad0e41b7e5c0fd51f3483e1c7040096306623e37086345e8d1d09b2305cbab79f39af6bbf545e3679a2ab9db4f2
MISC metadata.xml 380 BLAKE2B f51041aedacd22c0004363cdf14a43c71991317d7b5779d15ab5d3356f66e1102d4b646639a821aa697265073946af94f23e10eaee9417450c97967225c5e1d9 SHA512 0d8c9b04a3a351c674398072bf33a2c50e7902c97b3011d4c0b3ac65f42b4190f13121b2b4a49e01315e2112ebefd05359a3ec010b4ab03a8ce4e33079f64c40
diff --git a/app-misc/vit/vit-2.3.0.ebuild b/app-misc/vit/vit-2.3.0.ebuild
deleted file mode 100644
index 9d7895ed1487..000000000000
--- a/app-misc/vit/vit-2.3.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_SINGLE_IMPL=yes
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A lightweight, fast, curses-based front end to Taskwarrior"
-HOMEPAGE="
- https://github.com/vit-project/vit
- https://pypi.org/project/vit/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- app-misc/task
- $(python_gen_cond_dep '
- >=dev-python/tasklib-2.4.3[${PYTHON_USEDEP}]
- >=dev-python/urwid-2.1.2[${PYTHON_USEDEP}]
- ')
-"
-
-distutils_enable_tests pytest
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index b60a590f1f2e..b379d9ed27fe 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/luau/Manifest b/dev-lang/luau/Manifest
index 82ad566fb409..b9f0a1aff353 100644
--- a/dev-lang/luau/Manifest
+++ b/dev-lang/luau/Manifest
@@ -5,7 +5,7 @@ DIST luau-0.595.tar.gz 6064604 BLAKE2B 3586b7aa90e7a365322099f4861a51b6bc089fa17
DIST luau-0.596.tar.gz 6068791 BLAKE2B b6f8c7e0c51486910a8e4f22f22e2da407c90eb7bf56dcbd29932ad95a82cd5c0dc66933d9132394213a9e170f0e24512879c8ca914d44fab1069e9eb398d440 SHA512 2ae5727206020e74f70fef8acdf2b77ff4dd7872cf2122f9a09214ced606e9df2a494d02bd7fddceb9d056bb768764d0de5b6ed0ac15ccf65cf639e644245dca
EBUILD luau-0.591.ebuild 764 BLAKE2B 0b537522661c2c8bfabcd10bef8296ce181f8bcee1cb9ceae85d0ca93f504f68e39b668b981e84981e8aa2109e75c2b7dd955271a96e1fd493090eeb72ee7c97 SHA512 98ff58b32279b3e3c8c16812f5d10002abf63ed29bf40555b5a364af0ffdb562fc75254b8ab42df5e0bef695002f4f59bbe7f4059208da5d9a163300f07d535a
EBUILD luau-0.592.ebuild 764 BLAKE2B 0b537522661c2c8bfabcd10bef8296ce181f8bcee1cb9ceae85d0ca93f504f68e39b668b981e84981e8aa2109e75c2b7dd955271a96e1fd493090eeb72ee7c97 SHA512 98ff58b32279b3e3c8c16812f5d10002abf63ed29bf40555b5a364af0ffdb562fc75254b8ab42df5e0bef695002f4f59bbe7f4059208da5d9a163300f07d535a
-EBUILD luau-0.593.ebuild 765 BLAKE2B 23f9d13f1fac061da43c18a71ce4dd742e8ff880d38da327fbb50859d0d8769bf86330785b09289d5323d6dd28166e1beee706e9bf669c5a9812a462be5056bb SHA512 5d6f371e31c1cf2d3a0ec657c133c6bd0543b2b02d09c7d5b75ac7724ff318c30da842fc5337277b57ad44b82e656d0e9a444a4907cfd742a967aff9bc67496f
+EBUILD luau-0.593.ebuild 764 BLAKE2B 0b537522661c2c8bfabcd10bef8296ce181f8bcee1cb9ceae85d0ca93f504f68e39b668b981e84981e8aa2109e75c2b7dd955271a96e1fd493090eeb72ee7c97 SHA512 98ff58b32279b3e3c8c16812f5d10002abf63ed29bf40555b5a364af0ffdb562fc75254b8ab42df5e0bef695002f4f59bbe7f4059208da5d9a163300f07d535a
EBUILD luau-0.595.ebuild 765 BLAKE2B 23f9d13f1fac061da43c18a71ce4dd742e8ff880d38da327fbb50859d0d8769bf86330785b09289d5323d6dd28166e1beee706e9bf669c5a9812a462be5056bb SHA512 5d6f371e31c1cf2d3a0ec657c133c6bd0543b2b02d09c7d5b75ac7724ff318c30da842fc5337277b57ad44b82e656d0e9a444a4907cfd742a967aff9bc67496f
EBUILD luau-0.596.ebuild 765 BLAKE2B 23f9d13f1fac061da43c18a71ce4dd742e8ff880d38da327fbb50859d0d8769bf86330785b09289d5323d6dd28166e1beee706e9bf669c5a9812a462be5056bb SHA512 5d6f371e31c1cf2d3a0ec657c133c6bd0543b2b02d09c7d5b75ac7724ff318c30da842fc5337277b57ad44b82e656d0e9a444a4907cfd742a967aff9bc67496f
MISC metadata.xml 1071 BLAKE2B 21583b8ae784e9d98bf3f05cc8cca796e6e77b348ff43e52954a4aa67b805beaaf20c2f116753ed41764b51d85d4c673cd92e757053653bd8fc7bb8ab5d4ba79 SHA512 1a98dcfd442fc107c206c21c3ad3e464eec4ed3a77250b6dcaf982078553f612b1c6308a19a586835e6e17d3b6e208ecb6eca64b79fa2ad26f871b42e1711fe0
diff --git a/dev-lang/luau/luau-0.593.ebuild b/dev-lang/luau/luau-0.593.ebuild
index c7bee4916d90..b15291852bc5 100644
--- a/dev-lang/luau/luau-0.593.ebuild
+++ b/dev-lang/luau/luau-0.593.ebuild
@@ -15,7 +15,7 @@ if [[ ${PV} == *9999* ]] ; then
else
SRC_URI="https://github.com/Roblox/${PN}/archive/${PV}.tar.gz
-> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 ~x86"
fi
LICENSE="MIT"
diff --git a/dev-libs/Manifest.gz b/dev-libs/Manifest.gz
index df81b1c4e61d..b94aec0b091c 100644
--- a/dev-libs/Manifest.gz
+++ b/dev-libs/Manifest.gz
Binary files differ
diff --git a/dev-libs/cJSON/Manifest b/dev-libs/cJSON/Manifest
index 758c2f2c9bc1..888393176e11 100644
--- a/dev-libs/cJSON/Manifest
+++ b/dev-libs/cJSON/Manifest
@@ -1,5 +1,3 @@
-DIST cJSON-1.7.15.tar.gz 352278 BLAKE2B e0de3b8d56020853d56f5512e6e7216adafd238b6f69bbf6965b153bfe8ebfc23593dfa7cfb8543d8730d90820153d263c8af276c8e9588ba8a5ad76a50f8b72 SHA512 0b32a758c597fcc90c8ed0af493c9bccd611b9d4f9a03e87de3f7337bb9a28990b810befd44bc321a0cb42cbcd0b026d45761f9bab7bd798f920b7b6975fb124
DIST cJSON-1.7.16.tar.gz 353498 BLAKE2B 9dd519b03b24e46fd84798af32d733cec8803d3f5a4b9259352ffe7b1ba0b198a3b4dc0dbdb9cc6247787e49c48beaadc7c31368d8fd695a8ddd711cc0cbfa5b SHA512 3a894de03c33d89f1e7ee572418d5483c844d38e1e64aa4f6297ddaa01f4111f07601f8d26617b424b5af15d469e3955dae075d9f30b5c25e16ec348fdb06e6f
-EBUILD cJSON-1.7.15.ebuild 639 BLAKE2B b227e0219b0217eb42d531009c757f41405a8b3bfea4d47b00ecf98074b779951a7dad4bb45ebaf346fc8d64d055f5cbeb6a1de984e23f43dbc72f2aa81cd9f8 SHA512 c3112dfc93e548573ad7bb41798a3f813a4f2da22129f040224ba1c97fdffc0b743a1c788682c43d9779768ad3c008643dfbc0c105524d83de3df1dd95554fe0
EBUILD cJSON-1.7.16.ebuild 639 BLAKE2B b227e0219b0217eb42d531009c757f41405a8b3bfea4d47b00ecf98074b779951a7dad4bb45ebaf346fc8d64d055f5cbeb6a1de984e23f43dbc72f2aa81cd9f8 SHA512 c3112dfc93e548573ad7bb41798a3f813a4f2da22129f040224ba1c97fdffc0b743a1c788682c43d9779768ad3c008643dfbc0c105524d83de3df1dd95554fe0
MISC metadata.xml 338 BLAKE2B b738aeafd4cdea33ca773f44c7c5d6e8f9734fdead87884b92f9fc25235b553294453d514751a624210495eab0d472430cca625603cbdbb92bacc39da5579a3d SHA512 61ec24b8fb154b574b2619ac2fc8235c1d783653d6c0880982ac98271d6594a16dce3d1c8fd72c8f37d3a8f6dded21e8ae47c9556a9f1bcece54c58741961ebc
diff --git a/dev-libs/cJSON/cJSON-1.7.15.ebuild b/dev-libs/cJSON/cJSON-1.7.15.ebuild
deleted file mode 100644
index 8f951af9edaf..000000000000
--- a/dev-libs/cJSON/cJSON-1.7.15.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Ultralightweight JSON parser in ANSI C"
-HOMEPAGE="https://github.com/DaveGamble/cJSON"
-SRC_URI="https://github.com/DaveGamble/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-src_prepare() {
- cmake_src_prepare
-
- sed -i -e '/-Werror/d' CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_CJSON_TEST=$(usex test)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/json-c/Manifest b/dev-libs/json-c/Manifest
index ecf2e2f011df..3c452a039497 100644
--- a/dev-libs/json-c/Manifest
+++ b/dev-libs/json-c/Manifest
@@ -1,6 +1,6 @@
DIST json-c-0.16.tar.gz 351916 BLAKE2B 11457fa39330338c85bfdfb0dd38fc703ad6942e730ba090c9fe017dfb81ef905d7b1bb1c768b9b51f6445a8cf3cf4007d7740be3a9878f8062edc62ba554c66 SHA512 255cff99033340b2c2678255d41dae7808f83ed0c102e693d2d9e186bd1f21dd1385fcaa360c0fc087a00965a9567fbda733370e6b518a9be2f1bb0a80439151
DIST json-c-0.17.tar.gz 390045 BLAKE2B 26be25141447f2b652fa09d7096141a8bf7992469bcc53b275c1bc0108fc36a8898a8185c381218d3146d00fa03bdd0b837be073410fc93af943b5f083dbaa69 SHA512 4cbedd559502bf9014cfcd1d0bb8bb80d2abac4e969d95d4170123cd9cbafb0756b913fdbb83f666d14f674d6539a60ed1c5d0eb03c36b8037a2e00dc1636e19
EBUILD json-c-0.16-r1.ebuild 1015 BLAKE2B eedc8461e221573689072f789e5585f58389befcda995650cc14ea1f37eaf1205702052b2faeebdf4d6083d99173c8072d3b82d5d0452de25860695f8183da4d SHA512 66cb5b5aa00a6f44334e0bdb7081d746e87fda879b1b3bbc5fd0d9ba37523ec2e461eb010b195bc4bcfffbedf0fe0c27363de0a99252690a621b167f1c9626a2
-EBUILD json-c-0.17.ebuild 1133 BLAKE2B dcb8b9b308adc022c71d8b81d794c90a6743b078eac1df544b8b444e9d79bbe9f07efda22e8cca89a4791605ba9282563434b098842220e8c49c3034331c2d89 SHA512 84f5f2f72453b7ad8a68fbab962c35c5d7086b926e5f8d5b68d32d74071bb5ef90f12e5a4ac26a6d71cdb8f3df3734fe4c68a20c949bf4e4e7986c4bfa16b4b6
+EBUILD json-c-0.17.ebuild 1127 BLAKE2B c6b3f1b54c7812f10d755e5f54ca9c7a0ddebfc582948df731a9a9dabe41e4061413154ced41c7753f127e6f25f0ed322ee2c8e9eea8e80743e9bc40b14053eb SHA512 e6031a4f20628138dabcad558ffb55cbfcc63d4eafc83e3a8239df441249fa0ea9e167a2650ccdc8d0e2c814d1a9b49349588b331b58cc64cda64c50833a3fdd
EBUILD json-c-9999.ebuild 1214 BLAKE2B af6f1dbfba3d9c60706d96b3247e0cb6b050f1ba9ff607e93ab1b5d4b3d637603beffd289148b70c6234134dcf65d11340d44435892b6d165c5c8c41103c623d SHA512 aa8f87c111619248d56279908039e168783e7adaca98d3e7533cd5eb05c8eacbc6309e523043f3175afbbd1388a62b5227d2f4e26ab4c43728375150e1bfbb95
MISC metadata.xml 1011 BLAKE2B d9f64f6e06a3b1a5bb315e35590426e9e87d777bf2fe73a7f8c57e6730ce99236d071d7d9ddf190e654e39e91d4134fdd07689afa958d6aec69dc5a787e95bf8 SHA512 731afa46afd8fdd519425c1a58f791f4d999333e726426770a0f37e552d640d4a198f6b2eb859dca3c4aca21f3e1fc8ad147de0e07efcede14b5d791b66e4e72
diff --git a/dev-libs/json-c/json-c-0.17.ebuild b/dev-libs/json-c/json-c-0.17.ebuild
index 9d4e9b6e31a6..9bde58312630 100644
--- a/dev-libs/json-c/json-c-0.17.ebuild
+++ b/dev-libs/json-c/json-c-0.17.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/5"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="cpu_flags_x86_rdrand static-libs threads"
MULTILIB_WRAPPED_HEADERS=(
diff --git a/dev-libs/libbpf/Manifest b/dev-libs/libbpf/Manifest
index 4cd926106a9f..95c68cb522a8 100644
--- a/dev-libs/libbpf/Manifest
+++ b/dev-libs/libbpf/Manifest
@@ -4,6 +4,6 @@ DIST libbpf-1.2.0.tar.gz 999623 BLAKE2B cd10fd9133f01d3f8dbd5ed4585e5605c3b9fb0d
DIST libbpf-1.2.2.tar.gz 1000104 BLAKE2B 45a2ceabd38b3ea55f466de68d0806df6ae802b509063ca12d670ba972bac3dc5c7e518e8c9904915dbc9877c27ea892a7b857aa03d4e86016969b2d278b0b4a SHA512 bc7620207e6f521b9b5baab00bd81346084b8eabf81bff3ec24e5367d389f2a331a0b082798f8bb5d4fea836c3c0cc961fc881abc3a4e05d91152150bdfe47be
EBUILD libbpf-0.8.1.ebuild 1153 BLAKE2B 98da8cd35ab316a4bbf9d4e6a9c40b278ecd1385d8077a16e4582fb9a4209c40ebcf4ec9e24d3312334ace6c2f99da9732e7a9379a0dd478baa66bdd790a4793 SHA512 16a7e9a08fe9d782da9f57727b50592d42c7cfcd5cbf407197c5764e2a7175f0277a116e25379092e0f67adac353513f614d9bfe2edac2990d0fc91d5adc9a26
EBUILD libbpf-1.2.0.ebuild 1185 BLAKE2B 57c4bfa90f1601343e66e0233c30af684c47688eda103bd2672472cf6a199f8849f0821d2e889e583dc09a4a8e36b9a9f92fb3d1abb6e2db844b5f57c3566489 SHA512 ab6998bfa3a4674c6df8ccfa0b46216779d6ea48d22f33a45836f233f3c755b714aeada2f8950814a083a1a490ca10672df60351b9c8ece555fe98a3a1bb5c27
-EBUILD libbpf-1.2.2.ebuild 1192 BLAKE2B bd3087d68ed1e96220a836e005d3d5e82c7322159e79d3e43c2ed2d14b02d8103c024f0a43dee77383e2abfc5fb7b12bff2a7925cde32393e9a7bafc87c4c5a3 SHA512 a4623adfec492b597089d4d8a3a30e56d6ecee6065a109d3488ca2e0e719ee72b21a2acc37e75bb9acca0d28e91686b9b904af090aaad6cdb82c992cda877442
+EBUILD libbpf-1.2.2.ebuild 1186 BLAKE2B d02a7ac2dad2d30be97960ffd9207952e988ee290e63c628580da74e1c3d371749b9b940b415cb1958fb5e011a42fe3293ab900a73836e1a7be730a112c2b701 SHA512 bedd5ab01e038659e486091de0e928a76a7d29b7caa9a02bb8ebabb40ff02bb3bf08e4d51316a82937a16d74e35f8ff123d397da78e6ab60cc7e7856207821aa
EBUILD libbpf-9999.ebuild 1192 BLAKE2B e26a265cb13392e4e90e48ab96cabad38188e9b28ccf40e8e7b11a08117193dbe025f5ab71c09da29a7e3ab2561c154389e87be9b1a1fba8e7d57eb3105a07bb SHA512 955be1dde34476c2b66014f9b3da584ea38459105f49980e29fd943198feb3ee228a6ffb121c9bbce7c109712c37bbc8996f8cc4715eba626bd08aadaa23d7e8
MISC metadata.xml 420 BLAKE2B c61b50bd86dd9d110c35d57a9352ca3862790460f0a6f8e4be9e4ac2eb603fe6c1d6bbe8d77e9fdf32d08e7aaf19349516f25a0fdcb29e2671d71d2c230fc1f5 SHA512 131f77e33aa5b3cbc037a297fe0ed9affbcb956b4c7ddc64889eba5f8315f5090ae4fd7a6054f8961461072ca77d13f8bc6674f3ed27372b7b96c4322c487676
diff --git a/dev-libs/libbpf/libbpf-1.2.2.ebuild b/dev-libs/libbpf/libbpf-1.2.2.ebuild
index c444170afb0c..9865da3227cf 100644
--- a/dev-libs/libbpf/libbpf-1.2.2.ebuild
+++ b/dev-libs/libbpf/libbpf-1.2.2.ebuild
@@ -10,7 +10,7 @@ if [[ ${PV} =~ [9]{4,} ]]; then
EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86"
fi
S="${WORKDIR}/${P}/src"
diff --git a/dev-libs/libmpack/Manifest b/dev-libs/libmpack/Manifest
index 62ba6f84faca..db436aa0ad65 100644
--- a/dev-libs/libmpack/Manifest
+++ b/dev-libs/libmpack/Manifest
@@ -1,5 +1,5 @@
AUX libmpack-1.0.5-libtool.patch 2022 BLAKE2B 1b1104b35a79d1bd3595353ec238fd13ece6a369d10999a5c7b627a7c9a98a24fad880970cda5d324cd95e434ae4f31e044ff6702a307f7811bf0833372afbb9 SHA512 dcb0029018df34aa5530ef6f9f0c8ffec7d33288e8854273db98c823f03663d260837c80846acf5571400dd0f78588f26fe62b20a2f9469c09f22189b0a65fff
DIST libmpack-1.0.5.tar.gz 32966 BLAKE2B 8ad01de11c740c3efc7b42046b89f7691dd32d228e126485bc49224e54789e7f12a611982c0fd9d2bbe8b06d1ce2df1ceea1b302e139e30d0a8c31f251129166 SHA512 6e30edafcacfb580b410bc6749ed7fe8f18b3be0cb98959339853e77bc3ec0cda6df08a0f1f22768cfc773458a2ea6bcef4f0421eea55cf56c58981d13711a04
EBUILD libmpack-1.0.5-r3.ebuild 1437 BLAKE2B 1a236d45146ae43ae74b39e9e06ef40c105a1c14921c2ff619e9ff5b7bf18979881defb58fc9f38f019c0712db0adeb3324aaae6bc80672b540d0b822edf6b2b SHA512 50fdc0705b1abf50d5cc3b358c7e3a324ea3a0215bac09f2bae802c7e91ccd9b99e367232c8c86eefc94635e2bc40695d3da068f9b14a5053a691afe8102cf46
-EBUILD libmpack-1.0.5-r5.ebuild 1464 BLAKE2B dfce648f83f2a3da48abf5e38616a96dcb8c38bdb7fdea207d5b2ca95cde9664124a40e4756a2bbb043d3dc2c83528bbfaf77c55463a8bfc2c7bfcdf3d82068c SHA512 0e907921a21dfb5e1fb1cf2e91e135755360646849a605bb6ce51b5fa1558bd7b2de0671e6c1ba9d8ffe26eb686779915cc776f9e6bd682d4cac65b3660d7bd7
+EBUILD libmpack-1.0.5-r5.ebuild 1461 BLAKE2B 219285e8bd490686a519db3739906d057f74987d01054c65cfeb1338d59ba6bed0eb5072ae27f95682ffb515817f5e7312563fe2d4b07133165bdd0b776ceb72 SHA512 061cdc8920b232d85e50060ea01f635c23d22b9b5cda73afe486383a2b83b96308332a1296986ba96643c44a50418f709bf3d61c4d492b67037f426c67b236df
MISC metadata.xml 333 BLAKE2B f3e54e3a241a85adad55693f7dd3cc47cc646d1432b4281c264c849fb2a2bfc050aee53f5ae766063335b72c3ca91ed9054bac758d82c969acb61913f7282940 SHA512 aa83f4113099ecf8b749a070014b9d9c09fc1c0d4836f2cf621b2966088cf3ee73e26ab4f365063713db353671ad5937f98ffe4c87762c6e196cd57c8eb595ea
diff --git a/dev-libs/libmpack/libmpack-1.0.5-r5.ebuild b/dev-libs/libmpack/libmpack-1.0.5-r5.ebuild
index bcc4de7123e2..fa56759d2579 100644
--- a/dev-libs/libmpack/libmpack-1.0.5-r5.ebuild
+++ b/dev-libs/libmpack/libmpack-1.0.5-r5.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
PATCHES=(
"${FILESDIR}"/${P}-libtool.patch # 778899
diff --git a/dev-libs/pugixml/Manifest b/dev-libs/pugixml/Manifest
index 811b00288605..c568e029abd7 100644
--- a/dev-libs/pugixml/Manifest
+++ b/dev-libs/pugixml/Manifest
@@ -1,4 +1,6 @@
DIST pugixml-1.13.tar.gz 573528 BLAKE2B 62b7233d46587a95936c809f06b5d5277ac0f79f125e1d02382f13ed5122d4f7d21d120b0e48049bffd1e2cc413160fd67f9258b1fc2cfccb7f9db8b9bce10c4 SHA512 5ff95a1ce06df01a72e736be4684c097dc656b2fc330b7fe6bf62601aca5c72edd0f40e51a643ce92f4fe5ba632b0b9fb57fbb1524aebcdd70441adeedec4a86
+DIST pugixml-1.14.tar.gz 576683 BLAKE2B 0379916979f796f5d0f4063d2b156159ec90915694c4b2fa93b14dad717709a2dd3dc2851f794e56fb8e35f47d39d1b9d84905a3f4b5b89a8e677af9d5a24f99 SHA512 730d203829eb24d6e1c873f9b921ae97cf7a157fd45504151bc2e61adea5c536eaf33ff38c5ad61629b54a6686135ff1834a61102b4660fbb9ead4ecf20dfd34
EBUILD pugixml-1.13.ebuild 832 BLAKE2B 9a186118f0d5335d8cde95c04b588aae759bb81840cb23013121a8d46f3a64fbc5d36a08d0389b23b1cdac54a11f7a500038597053d10cef4044efb71bb1e600 SHA512 9be096e66a00b98ed21c670c21dbd9928ecb6fb51e1f79f17e07ea434fcfb38f3980aa3a4396e1831dce1d06e24b1a17fda521ba29b16124fb10efa9f53c0d33
+EBUILD pugixml-1.14.ebuild 838 BLAKE2B de15286056600cc7af9a3072c82551f062decdeb0c8b78c7c982e4ffea357bc2b22169bc9670ef546869dd0a459322702ef946f4d88e10ccd6791cb2f8a0beda SHA512 0dd71d02fd3ec432e1cff34de744cae18bd9fdc92181365f6262651135b031979ecac4b2ba48f83e8662d2a248311fbc512962643b57d474b3e0628bc8b14159
EBUILD pugixml-9999.ebuild 838 BLAKE2B 03f76c8fc15cf8c0323ae2447fec592d3a6a4e98f67603cd9037ce61d33bba69f264b11c85a8ad2798a956859381b64670a3a716137bdbada0808e1e01280265 SHA512 34d0ba267b61a00e9cc7cc33ad46912eb4fe1420624aa22c846e8d396374a017aee7f19985dc95a78f2633e712a72e9f3e39563f49886c6af05eda3bd85de5c9
MISC metadata.xml 347 BLAKE2B d86121989c61d616a24c02c5a7455be56522faed7d6d025a43b3035e9225fad555222106114800e37b765c6c4b73f3db90ac7afad2289c08269392429b413586 SHA512 fded6654794919a99715f373c129bf51b4f21d931f7ac696a8ec078310585128aae7dd7a76f7ad0227d5de3aac8ab2bef129a3ca5b73054293ca55b8561364bc
diff --git a/dev-libs/pugixml/pugixml-1.14.ebuild b/dev-libs/pugixml/pugixml-1.14.ebuild
new file mode 100644
index 000000000000..a2f872a9ebb0
--- /dev/null
+++ b/dev-libs/pugixml/pugixml-1.14.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/zeux/${PN}.git"
+ inherit git-r3
+else
+ # Use non-release tarball for tests
+ # TODO: ask upstream to include tests in release tarballs?
+ SRC_URI="https://github.com/zeux/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Light-weight, simple, and fast XML parser for C++ with XPath support"
+HOMEPAGE="https://pugixml.org/ https://github.com/zeux/pugixml"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -D${PN^^}_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 0eb188845985..8e6f4cd16e96 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 8e7ee04ae7b2..7feb13d39db3 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -10,7 +10,7 @@ DIST matplotlib-3.7.3.tar.gz 38097222 BLAKE2B e0207c8f8bda2db3f9e45d2f606f01374c
DIST matplotlib-3.8.0.tar.gz 35864435 BLAKE2B d0eb2893447782f54ca9c8101ca54fa9d86a9f2ef89fb0a17d32c74f3e46728b55c6bed476852d0c11286dc0030028c241adce29024b34845546af6f579ac7bf SHA512 0f75495210946adf0a36af13a75bc9910d345cc05636019952f35856b4c2bfac8a79c48d5a3348e844cfdac797f3ce490fe6a4e1a4fc7033092fee61f9913e21
EBUILD matplotlib-3.7.1.ebuild 10081 BLAKE2B 20a93311d408f379c381bf4412481b558142e03e31e2d6ae506f2f20663e836d31524d91d4826515bce90607d9184999df712f7b8b533385eaba6aa2007cf634 SHA512 ade41d705e30cc712edcd1c2447d2d0c196b0ad5bc475f42719a0b79363c0b12f59d4d9db27f16572719348fea66c5177ea0da2ec677ef87d42fe0f3d034997d
EBUILD matplotlib-3.7.2-r1.ebuild 10221 BLAKE2B e9e08c3c43f9fb7c3cc352f2e46e257127dd8cf83844b6c963402f6c7e0534b389bb2c5bd65086c70fafb4188f05a89b286ec49ad637a317c745963b9720fa7e SHA512 9e3a4f710da8f822eee9e457b8fcbdd4432fbb17375ffab36fcb8597552f4f633e75caaaefb44c3ac5a7d49d5aa6a6dfaaf82347839020048ddd2d877b832711
-EBUILD matplotlib-3.7.2.ebuild 10290 BLAKE2B f429909f7dceaf77aa96e921e426a6fbb2d67b96f450dfebbf12a09df23d35902abe25b425eb3ea8e331d4c252a0ef74a6eae83b46d9f3ef73e302b711a5fdf6 SHA512 dba873d255fbbd4d4cde4afca61150b600466cdcf597e9a25cd1ed9c6da2fcb928b824496c8e3f315463fc3d1651b49b32983ebdfaa8c887c93949dcee7fd1e8
+EBUILD matplotlib-3.7.2.ebuild 10289 BLAKE2B f39422d5796061fe3677957ebb0b2af92417d413c365eaefd1f9e2e6c17a1e7b534aa7da599d83d6981edf9b13d4469163e3f438cd3e4dfc6713db02aa772b84 SHA512 f6a9e39882bdfb051cd9d7d2b123963c81881662712a5e3ddff9c288e85a53799c11b8945e61a56c86d6b88eb2d866834c079232172066d26d32649fc2984328
EBUILD matplotlib-3.7.3.ebuild 10008 BLAKE2B ca25579dc5c3f41a890c38e2889fbbbd99e51d5defabe926a172aec975415563225b84499fad053cc41f737da6d66506e1185e102259df5700985fd18420a04c SHA512 0da8c030af4744a84709f7baa7fd52052eb36731621cf20251620b2d29a9897c36ad136a2523ae03a6a1db7a81dab16f754d1120a9d4d3db3b8227d0caf54f4a
EBUILD matplotlib-3.8.0.ebuild 9907 BLAKE2B 1c6754b4fee4e7ffc02c5535987c7168c8654832464ed3e8d9d7ce6592a5c989fac817a7744f53753924155cd2bbc084b7d5bf92c0d243ae8ea56b4d82b2272b SHA512 b18457bf630f3fd3b464a68c033b64b000681e7d0c1056551997b559ec79cf77791d564745807e9380f9ba569053541de810c560e252ecd86de8cb1871612ee2
MISC metadata.xml 1074 BLAKE2B 1d7dce116e09939378872c2eaf5153948b7e934626110eb4899d0dfc2781429522328f1c4efd2c40f829da64e19bed8f9fbd1b8907a6e74a5fd54587c1d29e5b SHA512 e344bfc813e09c24a8edfa9c062eb2a6c44535559370f508a27a2de20c6ab92aeb48bc8daf9c357178e513eb2474a33782e4098c0f3bcbb84b11f7388ef1a704
diff --git a/dev-python/matplotlib/matplotlib-3.7.2.ebuild b/dev-python/matplotlib/matplotlib-3.7.2.ebuild
index dd93cb1ef3b7..8c0235df7092 100644
--- a/dev-python/matplotlib/matplotlib-3.7.2.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.7.2.ebuild
@@ -30,7 +30,7 @@ SRC_URI+="
# Fonts: BitstreamVera, OFL-1.1
LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~arm64-macos ~x64-macos"
IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
# internal copy of pycxx highly patched
diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest
index 24cc5749da6d..deff95cbbb62 100644
--- a/dev-python/psycopg/Manifest
+++ b/dev-python/psycopg/Manifest
@@ -9,7 +9,7 @@ DIST psycopg2-2.9.8.tar.gz 383802 BLAKE2B 2a31bca4d5ebbaeeead72fb63f5208b6404291
EBUILD psycopg-2.9.4.ebuild 1248 BLAKE2B 05090945297120771b3983ead32e88a6c178e631441a7fa3a3dea02c528650db938f39e0e8beed6bb46502e5c708efa32fa167285b7eacd214f587de5f8a53b4 SHA512 1e11a0c254f38c7e355d29a824b85546850b39dee02ef39a1275c2e461b3683793ed8c7dcae74cc4b8b70b9885203895e4b701ee39880f7de0fdb666d3826fec
EBUILD psycopg-2.9.7.ebuild 1291 BLAKE2B 38eabea614cd18ebec21a3ad3d4e58e58969ced3b4471b5fcc137950096d0f5a7be5eb58695a1fef3e6a3ec9459c26137210fe2cc1069f3ea2304ea2592325fc SHA512 9e1fbdb842dc7c857a95c378b38dac7168ba93ca450cf00da47162ad8f77b76aa4e7733809c44add65de13721fbdec839670d6b2556aff0b3ebd57c9d50c7db1
EBUILD psycopg-2.9.8.ebuild 1296 BLAKE2B 4ef32684f717873d693c66fb73f3f8ca0f74965d4100090ce1b30e1dd7e64833ce340fbc646c73b646b855d2baeb4449691d6010609f39fa65b924174451fe33 SHA512 be149b4164280b852809140c2853cd3b1997eab738e153eefb7b6d4e69c3d6fb696f0dcef6da9f33bedb37a03c4feb21899b7b9b67a724a2df544d62e5cde517
-EBUILD psycopg-3.1.10.ebuild 1757 BLAKE2B 5a66d81e75ab8759053d40f66f1a648a81f2f9a14e0b7d221a9ffd7a5bcb0c70b49f08956794911b3813eb9ac4ed9c19e3a9ca723b41cceb32251d0dee7ff45f SHA512 1596b14695adf1ef1498ca38c191e88133c8a14c674f2dfafee97426deb4a20b0c124adb3e77dfd99758c7bb6682aa7a6befe3fd4531ea06bf8f039138190286
+EBUILD psycopg-3.1.10.ebuild 1756 BLAKE2B c6c8e67318b15caf806c897cb04f0aabcfc055f3b0d77f981f9a56bae1afa3473503c9f49012b4f717df9d7e759b0b885adbda493eca673bfb72e41dd20b5164 SHA512 3646513363a9b4ef8b1d482fdc4b3f3318f679a2a8ef85580a2cd39ec13a4d5a0d1ed16676a0832186b30576ce16205d3794d78faf88af231ef412fcab0433a3
EBUILD psycopg-3.1.11.ebuild 1804 BLAKE2B 50fe41d7bf010eddda6476324c070a83f284048775c6943f0d6306ac5f99ea128bfc21d28648458dc86494c29e5c01ba5c8724cec96102281009818a04d2d3f7 SHA512 6caedd018b12a4a18830b4cb753255281ee05fbdaae162b4db813d246bc979d56f09dfb044582731918af9233bb659133e182c8522ce42dee3621c76a852a330
EBUILD psycopg-3.1.12.ebuild 1804 BLAKE2B 50fe41d7bf010eddda6476324c070a83f284048775c6943f0d6306ac5f99ea128bfc21d28648458dc86494c29e5c01ba5c8724cec96102281009818a04d2d3f7 SHA512 6caedd018b12a4a18830b4cb753255281ee05fbdaae162b4db813d246bc979d56f09dfb044582731918af9233bb659133e182c8522ce42dee3621c76a852a330
EBUILD psycopg-3.1.8.ebuild 1684 BLAKE2B 036beefbbd27a8a69a5444a1afd5e0f53c2ca77e37d54755445428c1accff49ef084bc126d11cb69c0839d93334391e437662e178913af8933afe203331f8483 SHA512 0a5ffeb30e04ced2a1a3e1a736d49baf6681b2b670987aa4ceec6714ff2ff30be987397c68f694e50ae77610e56efe30cc38e58819ff055fdd6fec02694f49a1
diff --git a/dev-python/psycopg/psycopg-3.1.10.ebuild b/dev-python/psycopg/psycopg-3.1.10.ebuild
index 9807a93aca05..aaca8a9462c6 100644
--- a/dev-python/psycopg/psycopg-3.1.10.ebuild
+++ b/dev-python/psycopg/psycopg-3.1.10.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/${P}/psycopg
LICENSE="LGPL-3+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
DEPEND="
>=dev-db/postgresql-8.1:*
diff --git a/dev-python/twisted/Manifest b/dev-python/twisted/Manifest
index 74ba8bec959f..a1ad127ae276 100644
--- a/dev-python/twisted/Manifest
+++ b/dev-python/twisted/Manifest
@@ -10,6 +10,6 @@ DIST twisted-23.8.0rc1.tar.gz 3479000 BLAKE2B d3dbc54759f4dcba422cbcc57451a26883
DIST twisted-regen-cache.gz 911 BLAKE2B ffd3fcda6c67ffe6fd3ef581c8d507548396b66ed0708e9a5c790095e579c0d5f0f71596acf05712989da2ddef2b8d437eca973bc4d80ef8a9fa852915f38305 SHA512 95a9b931c73017d16d1b5e6b41345dddffe62b6af1a8e93b5e40d06d3d15be17b0dd0181c767ffeeb791534d463764ef9e066fa6c2ee2ac4b53c86d1da8fce03
EBUILD twisted-22.10.0-r1.ebuild 4786 BLAKE2B c8e38c998613aa0e22c6b8e3253d336d02c8290cdbce55fe0e561ed021ad575fdd235df6601e10446893f46c1731dc923f58afd03359e673eef3fed54694ebc4 SHA512 d6bc65f955c3cb9228b8bd7bc84bca51f99e614680eb5d34cf99939af1fc696be11c04cee6766dce7d0a6475c12f2fd82d0a2a084c73e25380c823a6b71263ae
EBUILD twisted-22.10.0-r3.ebuild 4959 BLAKE2B 926ed65ddeb78393924c4cf568cdd4c61ba691e5587ee7dc105c1fb88634409149385dd6f507e808f6c79b1ebaa3f32ad475c1f284e995b376b91e9d363036e9 SHA512 f1e572d9f9531eda7424aea5ea877785cf81662a2b671a20250b448e075cf3746bea3b9bd284fc81ae50b84dde3a625bc804f637c7d1c6ce434d53be2a42bc84
-EBUILD twisted-23.8.0.ebuild 4188 BLAKE2B 304fa786ee54b083c72cbed28790780da0b455c0d580249f0f5fff3102f8659702d32ecb57ee1118f4cb9c557b14916626be6bc732e14a1ee0a7ba5b51212fd1 SHA512 c2c58c068b9a0ebbe75397f9919288f512dfbae79a983af7959107fc13fe70aa9b74936f2b861b8191b1b80804d265246c6b2210f918b96c355dfd9d32b0e108
+EBUILD twisted-23.8.0.ebuild 4187 BLAKE2B 08c5b981eacf8a169bc12504cb1ad199a1c43e375d6cce2467b65550306a1170984c7667923d941d2404dbe5768a6aecdb9c47f9d84638e261c0b1bacaf1efec SHA512 83ed4f77380d243ffaa9f742a048369ee89fe7f5f2f42d1a24b6aab280dabbbf0a2840f1f9c9a63c553350ebd6be3efe5d7c010c457f0492953d178b583bd3da
EBUILD twisted-23.8.0_rc1.ebuild 4192 BLAKE2B 287dd90c4ed51dd259ab3710543a8c9ee39b7ef43120f30868f716da3664261573a86562aa4e7282de2a5f9461bc2c51c73e6e0d1b0ef42371e63a3afc9e9044 SHA512 3cdc4f58b7ab29d557cd719f064eae282de0020e3854e001b41e5c207e202cef40f067996beeaeda495c93f832984f9a2b3dab54d42bfbd344f77b33872ac9ce
MISC metadata.xml 1281 BLAKE2B 06f3bba5716e641cfb848eaf212fcd5a18d89caeefe1b0ec2fc6e0799ded9ded5c54dc04d239b6e7c427a23c0300caecc67cbb2a292a745dba5cddbf02fe4330 SHA512 e78734d016205a2bd850ddf68bfefce024a95efc4d4a42af52314aa363d6c654dada671b98a1b02642e7abe2f9a48c0454949b4bf07e88776924c63175b24227
diff --git a/dev-python/twisted/twisted-23.8.0.ebuild b/dev-python/twisted/twisted-23.8.0.ebuild
index e7b8829c34ce..8d8f1e807f6a 100644
--- a/dev-python/twisted/twisted-23.8.0.ebuild
+++ b/dev-python/twisted/twisted-23.8.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI+="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
IUSE="conch http2 serial ssl test"
RESTRICT="!test? ( test )"
diff --git a/dev-util/Manifest.gz b/dev-util/Manifest.gz
index 9bd5acf2c4b1..fe51dbc3bdc6 100644
--- a/dev-util/Manifest.gz
+++ b/dev-util/Manifest.gz
Binary files differ
diff --git a/dev-util/rr/Manifest b/dev-util/rr/Manifest
index 458568755e25..03a80334e8de 100644
--- a/dev-util/rr/Manifest
+++ b/dev-util/rr/Manifest
@@ -3,6 +3,8 @@ AUX rr-5.6.0-gcc13.patch 849 BLAKE2B a66f77a1bb436909cc644773ae1208fb6c7e674d8aa
AUX rr-5.6.0-linux-headers-6.0.patch 2303 BLAKE2B 3f804757bc221617939bcfd128546f2bb66d0bd5ec8efb42a6cd05b0aac6e83513d8df89e7838673bc53228801d83ca57a888701539007b73ab9a734d6e2674f SHA512 21216496235e7d7507d319a0b8489a96f44f711dc0727b6bd1828ac80e1ac174a9bf2c9ced7ccadd0cd6d6af64a7a2b1a3f71a25816bef8b6d6e2f884ecd85eb
AUX rr-5.6.0-tests-clang16.patch 576 BLAKE2B 2e2141a0dd0c5366497654ed499910f79c8e3cf12b3a4ec102817b03b73c25da8e86b43aee75cf2ac04049f0106086bef2ef37e1c7a1787608db3cf3bcf987cf SHA512 52f40c9b73caa02d39b82703d98201733570865e9ca016b2feaecd0fe34cb69d38a294226311ec686ef921f3a195fb09d7c286e9f375668ec50bd156f4ab1b94
DIST mozilla-rr-5.6.0.tar.gz 1579320 BLAKE2B 14ea99c4486c72db844b5cad3f0c300d7bf5d49449e7080ed0484f89022be6d9b7f81b3808b65f59028a5256a6b3f6508729d5b7e8f3f45d8353ceb7ae2a577a SHA512 4b5ef65b6c6a4b62fc72949b4541aaf608f6133ea0b6c2e529a8eed725e6a0b5186f20ed60b210821e6929410e1f21723840eacfdc85bf12c87703e7ebf5f9a7
+DIST mozilla-rr-5.7.0.tar.gz 1688069 BLAKE2B 613196a441b8c384765403838d4c89248eeb85af203b596ff01610fe65c62650cbeb7f8bde4c97ac4bb65f2bdcf7caa605ca1b6cb2f8f36b0355d816ed39a4f1 SHA512 e0e45f47a5f1de9e0e3f982e9eb5565699189ed23c52de03bf68b8215e7b8ac267619c04495c19e75a55aa8e0face08b9bb6c7f325650384c10a719c17ecf576
EBUILD rr-5.6.0-r2.ebuild 1654 BLAKE2B 8475296a2d61b80ea2d1699e25157123473a471ccb2c144866873df21e2358ed6ffa7d8996bd34ff27aa740f629af80ec959960f01bd3c40a09cf7ee33fce11a SHA512 5a4be367068d39f53ed59548bb9680f70f269cb0ada1758fc3cbb3edf6a623286fedc9c4c054f8c4c470e4fed0374509eb0c07af4365329404c5846294bc3fb7
EBUILD rr-5.6.0-r4.ebuild 1704 BLAKE2B a15dde7cdeab9a242237215f74a35b041302619d50aa470f8cf684dc36ab8b371eb3fe89845753241a52acaac93c6c93e798900ef450c9e086e6e793ef5fd17c SHA512 f5c68a9721dee270c6ff51b2f69fab84fc773b4e97e78c3035cbde5e57800111a5824f3ebf4515d64539b0be5933967c7e133f8a1723c0366881d6512acefe06
+EBUILD rr-5.7.0.ebuild 1533 BLAKE2B 7a1c53cfe0f3f24b9391ff33fe4b43858da5821248ddf76aa63bffb404d816a1eb09ecf3c61b57e723f919c9ae775c0c658c7289ae00cfd51b5d3785c64c18e2 SHA512 9f914cb61e198e00caea3f80661c1d5c4b086f189c80117b670df5258c6449c0107b98aa96d026950116f0c2110d4f7e21bbe7fbbef0094317da648b110040df
MISC metadata.xml 448 BLAKE2B 2ca27171b81983b513710708955b70a7a73174ca72fb8bac4c8363a5f0fb464431d9d84d3be7818e4132ff7ca9b2f6b3325c526e6424bbeac8ee6dad1728c8cb SHA512 01fa6e40deff5fc58f51b90f75f93cf38f10ad58e994153045954ebc9d00dc41e7d8ea625b2b882a376cb0db1dbcc9e1a025c85f9fb584ef7a46b6db812b649b
diff --git a/dev-util/rr/rr-5.7.0.ebuild b/dev-util/rr/rr-5.7.0.ebuild
new file mode 100644
index 000000000000..4cf7e880d27f
--- /dev/null
+++ b/dev-util/rr/rr-5.7.0.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+CMAKE_BUILD_TYPE=Release
+
+inherit cmake linux-info python-single-r1
+
+DESCRIPTION="Record and Replay Framework"
+HOMEPAGE="https://rr-project.org/"
+SRC_URI="https://github.com/rr-debugger/${PN}/archive/${PV}.tar.gz -> mozilla-${P}.tar.gz"
+
+LICENSE="MIT BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="multilib test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/capnproto:=
+ sys-libs/zlib:=
+"
+RDEPEND="
+ ${DEPEND}
+ sys-devel/gdb[xml]
+"
+# Add all the deps needed only at build/test time.
+DEPEND+="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ ')
+ sys-devel/gdb[xml]
+ )"
+
+QA_FLAGS_IGNORED="
+ usr/lib.*/rr/librrpage.so
+ usr/lib.*/rr/librrpage_32.so
+"
+
+RESTRICT="test" # toolchain and kernel version dependent
+
+pkg_setup() {
+ if use kernel_linux; then
+ CONFIG_CHECK="SECCOMP"
+ linux-info_pkg_setup
+ fi
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -i 's:-Werror::' CMakeLists.txt || die #609192
+}
+
+src_test() {
+ if has usersandbox ${FEATURES} ; then
+ ewarn "Test suite fails under FEATURES=usersandbox (bug #632394). Skipping."
+ return 0
+ fi
+
+ cmake_src_test
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -Ddisable32bit=$(usex !multilib) #636786
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ python_fix_shebang "${ED}"/usr/bin/rr-collect-symbols.py
+}
diff --git a/metadata/Manifest.gz b/metadata/Manifest.gz
index 58db567f324e..aa955467a8aa 100644
--- a/metadata/Manifest.gz
+++ b/metadata/Manifest.gz
Binary files differ
diff --git a/metadata/dtd/timestamp.chk b/metadata/dtd/timestamp.chk
index 6f27722a74c1..fd4b4a5fed38 100644
--- a/metadata/dtd/timestamp.chk
+++ b/metadata/dtd/timestamp.chk
@@ -1 +1 @@
-Tue, 03 Oct 2023 22:10:06 +0000
+Wed, 04 Oct 2023 04:10:03 +0000
diff --git a/metadata/glsa/Manifest b/metadata/glsa/Manifest
index 91108f246cce..eb7504c82dcd 100644
--- a/metadata/glsa/Manifest
+++ b/metadata/glsa/Manifest
@@ -2,22 +2,22 @@
Hash: SHA512
MANIFEST Manifest.files.gz 549303 BLAKE2B 2f2faac40bd20bac0e3cd39614dbd08d21b1f7881f63ae9d0818f2b4da5ca34a7c78df0e5ab0852b794fa786d802b5040998315d8f36069518e90e082b9c244e SHA512 91b5bd6983fe455c6ec55dabb8763f63460603682e7feb1913324d4cfcd985ee99dd07b8f9b0bb6aa35b8a2fa6e1342235f954581928615b1a56995d87f7cc45
-TIMESTAMP 2023-10-03T22:10:10Z
+TIMESTAMP 2023-10-04T04:10:06Z
-----BEGIN PGP SIGNATURE-----
-iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmUckUJfFIAAAAAALgAo
+iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmUc5Z5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
-klCdag/7Bn5KG9P18TmiyTnnb9Q8oubaYt0ubA6glpBcT2H46mBc0qWio4HT3Nl8
-8j7QjXtuUoMEyslWMi90YDicglWtbRmd440KLb2FGW8K8bq84k4DFFryFJNiaSg9
-T3oFbtYGjU1LYnafna8966iDQ90eILP1cSrWv7md8rdr/EPjLUwKydixG0PV548s
-tpMJKFnDVx/AaImtfJAn+bKJGA4mmAUkiYgaCZp4IQy1/Jih1dAJqy9kuoU7QdDH
-S0+nQk/fL/L9CT93Hg2YWJicemtSDA5CVkCKwwaExh6VsNEs9jgYs469ubWGd2/w
-a153gyXNt+EmzWhMr1Z9J5l0bS14XKtMqQ99TFef7feWPze9dDX7wuk9gHz09pkw
-2ygajeq+LvpJu/HqvAoyUCno3QiHX3XvF9/mTM1vsi0qNwZ4/qiP0kDDn6BUvRK2
-2JG3lNR4wWmN5GSLlpPXM4LKzsBYzGUfk7Bscxkan53rNtecXxDfp6edaNH4cohW
-t5SHWqoi7Ce3Tpo3WOPQ1OMj41/bSSF/Tm1NJCR+GNzJNJfgfyg9H7ojg3ddJ2MB
-G6r5+VRSHx/8onviwsnVUytAww21rLRMlB+tHAXeN8OiLGhBBVN6yhCugQjx5j6D
-JKwzE3l4bu+WYcDf+TVwwzI2/NKfh7UQ43sTQnX/XC0KloCLB5g=
-=cZQ9
+klD54A/+Oxqb9Xi6wOKwWCZoovP7Aw8BZLJU0SVUGEgYUXdjBBXmfIue0M0wyaxH
+JJ0ANouGINiH71Yf28Sz3xqr6V8xTyw7nRZjJ3wONBsIciefw1DD1xTGhV26Bnse
+tFyzHu3mCjnetjga0ofMLxNwEZQUKPHPQtvrC+/A6aYRz3hEKblOwSxWtp6ryNo9
+/AJzljoJocjIlHWiNPsAc7z7g6Lr3yjWz0rpyD1GG6Z1MikJN1/9sgzbzWXim2NA
+VtuyBVdgRTHYQOLs/gCVQbaCgPdIDz6psJz64p3Ktg3VYR/Lx913Ez5c5X2naNS7
+UUnc/7WASA3UP2onDTTF62AosjJbqe7QdKQLSENkz1NX8zEfxDGoCtV/ugV0rGO6
+FnXt/Ya1fJdFPWtYNeMWl1EsmExIKf9Gliwm47cb7kvLFsuWIW5wZMM1rTxgAhLI
+23bFP1az4cRdl7R2aeSorm7Id6po8PRWPtiKktiigC65F/Xf93gUQYyzm0R1s9xe
+EY4xJvdByAqlYqfldkWmcITaXonScNzk17eBqfqReJhpAqIvlPMIcYs3KmxI1C7R
+7+j6ZlW8gcrX3+EfW3WvBcLSFqCQaZL5/8oxHOWmXZrBQRUb6NVMI5yTTYGcgXsv
+9Q9tDY+YcsKWJdBcKIXRC9Ll0VW4LNYxXfkMkoMW7VFRIhpa0cA=
+=ZZyv
-----END PGP SIGNATURE-----
diff --git a/metadata/glsa/timestamp.chk b/metadata/glsa/timestamp.chk
index 6f27722a74c1..fd4b4a5fed38 100644
--- a/metadata/glsa/timestamp.chk
+++ b/metadata/glsa/timestamp.chk
@@ -1 +1 @@
-Tue, 03 Oct 2023 22:10:06 +0000
+Wed, 04 Oct 2023 04:10:03 +0000
diff --git a/metadata/md5-cache/Manifest.gz b/metadata/md5-cache/Manifest.gz
index 2c6422e896fa..fa640b23891a 100644
--- a/metadata/md5-cache/Manifest.gz
+++ b/metadata/md5-cache/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/app-containers/Manifest.gz b/metadata/md5-cache/app-containers/Manifest.gz
index ae98c2b288d3..18b5cd62f4ae 100644
--- a/metadata/md5-cache/app-containers/Manifest.gz
+++ b/metadata/md5-cache/app-containers/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/app-containers/snapd-2.60.4 b/metadata/md5-cache/app-containers/snapd-2.60.4
new file mode 100644
index 000000000000..0b8fb758fd43
--- /dev/null
+++ b/metadata/md5-cache/app-containers/snapd-2.60.4
@@ -0,0 +1,18 @@
+BDEPEND=>=dev-lang/go-1.9 dev-python/docutils sys-devel/gettext sys-fs/xfsprogs sys-devel/gnuconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.5:1.16 ) >=sys-devel/autoconf-2.71-r5 >=sys-devel/libtool-2.4.7 >=dev-lang/go-1.18 app-arch/unzip virtual/pkgconfig
+DEFINED_PHASES=compile configure install postinst postrm prepare setup unpack
+DEPEND=sys-libs/libseccomp:= apparmor? ( sec-policy/apparmor-profiles sys-apps/apparmor:= ) dev-libs/glib virtual/libudev systemd? ( sys-apps/systemd ) sys-libs/libcap:= sys-fs/squashfs-tools[lzma,lzo]
+DESCRIPTION=Service and tools for management of snap packages
+EAPI=8
+HOMEPAGE=http://snapcraft.io/
+INHERIT=autotools bash-completion-r1 flag-o-matic go-module linux-info readme.gentoo-r1 systemd tmpfiles xdg-utils
+IUSE=apparmor +forced-devmode gtk kde systemd
+KEYWORDS=~amd64
+LICENSE=GPL-3 Apache-2.0 BSD BSD-2 LGPL-3-with-linking-exception MIT
+PDEPEND=sys-auth/polkit[gtk?,kde?]
+RDEPEND=sys-libs/libseccomp:= apparmor? ( sec-policy/apparmor-profiles sys-apps/apparmor:= ) dev-libs/glib virtual/libudev systemd? ( sys-apps/systemd ) sys-libs/libcap:= sys-fs/squashfs-tools[lzma,lzo] virtual/tmpfiles
+REQUIRED_USE=!forced-devmode? ( apparmor ) systemd
+RESTRICT=strip
+SLOT=0
+SRC_URI=https://github.com/snapcore/snapd/releases/download/2.60.4/snapd_2.60.4.vendor.tar.xz -> snapd-2.60.4.tar.xz
+_eclasses_=autotools 6ae9a4347149b19a112caa1182d03bde bash-completion-r1 f5e7a020fd9c741740756aac61bf75ff flag-o-matic be27a904c614cb93ae037762dc69bcc2 gnuconfig b6b3e92f8b8c996400074b5f61a59256 go-module 8624eede24936fd7666e5298e5332f22 libtool 9d3a9a889a6fa62ae794f817c156491b linux-info c4f1201b96a8a2c1f3b86cc8b2c71c91 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 readme.gentoo-r1 204091a2cde6179cd9d3db26d09412d3 systemd c8b03e8df84486aa991d4396686e8942 tmpfiles 216aa76c3a6fcb5d893c23a0de86048f toolchain-funcs fbbbc99d10168de2926e06da7169b8dc xdg-utils baea6080dd821f5562d715887954c9d3
+_md5_=499a69dfbc3290a7f3064f6a5966696b
diff --git a/metadata/md5-cache/app-misc/Manifest.gz b/metadata/md5-cache/app-misc/Manifest.gz
index 87366bb766fa..12a9517d2e2d 100644
--- a/metadata/md5-cache/app-misc/Manifest.gz
+++ b/metadata/md5-cache/app-misc/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/app-misc/vit-2.3.0 b/metadata/md5-cache/app-misc/vit-2.3.0
deleted file mode 100644
index 5dc6720f37c5..000000000000
--- a/metadata/md5-cache/app-misc/vit-2.3.0
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=test? ( app-misc/task python_single_target_python3_10? ( >=dev-python/tasklib-2.4.3[python_targets_python3_10(-)] >=dev-python/urwid-2.1.2[python_targets_python3_10(-)] ) python_single_target_python3_11? ( >=dev-python/tasklib-2.4.3[python_targets_python3_11(-)] >=dev-python/urwid-2.1.2[python_targets_python3_11(-)] ) python_single_target_python3_10? ( >=dev-python/pytest-7.3.1[python_targets_python3_10(-)] ) python_single_target_python3_11? ( >=dev-python/pytest-7.3.1[python_targets_python3_11(-)] ) ) python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) python_single_target_python3_10? ( >=dev-python/gpep517-13[python_targets_python3_10(-)] >=dev-python/setuptools-67.8.0-r1[python_targets_python3_10(-)] ) python_single_target_python3_11? ( >=dev-python/gpep517-13[python_targets_python3_11(-)] >=dev-python/setuptools-67.8.0-r1[python_targets_python3_11(-)] )
-DEFINED_PHASES=compile configure install prepare setup test
-DESCRIPTION=A lightweight, fast, curses-based front end to Taskwarrior
-EAPI=8
-HOMEPAGE=https://github.com/vit-project/vit https://pypi.org/project/vit/
-INHERIT=distutils-r1 pypi
-IUSE=test python_single_target_python3_10 python_single_target_python3_11
-KEYWORDS=~amd64
-LICENSE=MIT
-RDEPEND=app-misc/task python_single_target_python3_10? ( >=dev-python/tasklib-2.4.3[python_targets_python3_10(-)] >=dev-python/urwid-2.1.2[python_targets_python3_10(-)] ) python_single_target_python3_11? ( >=dev-python/tasklib-2.4.3[python_targets_python3_11(-)] >=dev-python/urwid-2.1.2[python_targets_python3_11(-)] ) python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 )
-REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://files.pythonhosted.org/packages/source/v/vit/vit-2.3.0.tar.gz
-_eclasses_=distutils-r1 24344aec2be39c69d9f279b5415298ce flag-o-matic be27a904c614cb93ae037762dc69bcc2 multibuild 30dbf3c5a31db09a19f31ad0a68f2405 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils f3010c780f65d1bb5aea15a9af1adc9c out-of-source-utils 1a9007554652a6e627edbccb3c25a439 pypi 2eecb475512bc76e5ea9192a681b9e6b python-single-r1 75118e916668a74c660a13b0ecb22562 python-utils-r1 12aa0037eb004139215ff04894d52b28 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
-_md5_=caef8864cb22293f95bc55e801d1cfcf
diff --git a/metadata/md5-cache/dev-lang/Manifest.gz b/metadata/md5-cache/dev-lang/Manifest.gz
index 2d1ce1fe7e41..d9fee3f770e4 100644
--- a/metadata/md5-cache/dev-lang/Manifest.gz
+++ b/metadata/md5-cache/dev-lang/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-lang/luau-0.593 b/metadata/md5-cache/dev-lang/luau-0.593
index ca47421cddd5..232d18f48fff 100644
--- a/metadata/md5-cache/dev-lang/luau-0.593
+++ b/metadata/md5-cache/dev-lang/luau-0.593
@@ -4,9 +4,9 @@ DESCRIPTION=Gradually typed embeddable scripting language derived from Lua
EAPI=8
HOMEPAGE=https://luau-lang.org/ https://github.com/Roblox/luau/
INHERIT=cmake
-KEYWORDS=~amd64 ~x86
+KEYWORDS=amd64 ~x86
LICENSE=MIT
SLOT=0
SRC_URI=https://github.com/Roblox/luau/archive/0.593.tar.gz -> luau-0.593.tar.gz
_eclasses_=cmake fc2f89084f590ac95c004ea95b0d2f80 flag-o-matic be27a904c614cb93ae037762dc69bcc2 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils f3010c780f65d1bb5aea15a9af1adc9c toolchain-funcs fbbbc99d10168de2926e06da7169b8dc xdg-utils baea6080dd821f5562d715887954c9d3
-_md5_=1b9b486682f0145bc04b4d6a58517733
+_md5_=84e65d7cef5328cd3e71bb10e9d36ecf
diff --git a/metadata/md5-cache/dev-libs/Manifest.gz b/metadata/md5-cache/dev-libs/Manifest.gz
index eab3d24f055d..4e2d22de028c 100644
--- a/metadata/md5-cache/dev-libs/Manifest.gz
+++ b/metadata/md5-cache/dev-libs/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-libs/json-c-0.17 b/metadata/md5-cache/dev-libs/json-c-0.17
index d99fb3413e09..48ea60e8df96 100644
--- a/metadata/md5-cache/dev-libs/json-c-0.17
+++ b/metadata/md5-cache/dev-libs/json-c-0.17
@@ -5,9 +5,9 @@ EAPI=8
HOMEPAGE=https://github.com/json-c/json-c/wiki
INHERIT=cmake-multilib
IUSE=cpu_flags_x86_rdrand static-libs threads abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos
+KEYWORDS=~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos
LICENSE=MIT
SLOT=0/5
SRC_URI=https://s3.amazonaws.com/json-c_releases/releases/json-c-0.17.tar.gz
_eclasses_=cmake fc2f89084f590ac95c004ea95b0d2f80 cmake-multilib 37d23064f303dcf23453353ab8c77059 flag-o-matic be27a904c614cb93ae037762dc69bcc2 multibuild 30dbf3c5a31db09a19f31ad0a68f2405 multilib c19072c3cd7ac5cb21de013f7e9832e0 multilib-build e8aed98bd43dbd25694310a660ad562c multilib-minimal 4b0f1857965db8869a729948d5277e0b multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils f3010c780f65d1bb5aea15a9af1adc9c out-of-source-utils 1a9007554652a6e627edbccb3c25a439 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc xdg-utils baea6080dd821f5562d715887954c9d3
-_md5_=28d6d0cbef18fdf56d078bff84507c92
+_md5_=9588d88144cf80d7bc94cdeee9f8a41e
diff --git a/metadata/md5-cache/dev-libs/libbpf-1.2.2 b/metadata/md5-cache/dev-libs/libbpf-1.2.2
index 976720bd85a8..8aa9dc96110f 100644
--- a/metadata/md5-cache/dev-libs/libbpf-1.2.2
+++ b/metadata/md5-cache/dev-libs/libbpf-1.2.2
@@ -6,10 +6,10 @@ EAPI=8
HOMEPAGE=https://github.com/libbpf/libbpf
INHERIT=flag-o-matic toolchain-funcs
IUSE=static-libs
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86
+KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86
LICENSE=GPL-2 LGPL-2.1 BSD-2
RDEPEND=sys-kernel/linux-headers virtual/libelf
SLOT=0/1.2
SRC_URI=https://github.com/libbpf/libbpf/archive/v1.2.2.tar.gz -> libbpf-1.2.2.tar.gz
_eclasses_=flag-o-matic be27a904c614cb93ae037762dc69bcc2 multilib c19072c3cd7ac5cb21de013f7e9832e0 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
-_md5_=071bcc289c0b977d2f84b619b66f3b56
+_md5_=15f75cfe530b27284f576e2a8023329a
diff --git a/metadata/md5-cache/dev-libs/libmpack-1.0.5-r5 b/metadata/md5-cache/dev-libs/libmpack-1.0.5-r5
index d94a7f17cceb..9ba15f864124 100644
--- a/metadata/md5-cache/dev-libs/libmpack-1.0.5-r5
+++ b/metadata/md5-cache/dev-libs/libmpack-1.0.5-r5
@@ -4,9 +4,9 @@ DESCRIPTION=Simple implementation of msgpack in C
EAPI=8
HOMEPAGE=https://github.com/libmpack/libmpack
INHERIT=autotools toolchain-funcs
-KEYWORDS=~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos
+KEYWORDS=amd64 ~arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos
LICENSE=MIT
SLOT=0
SRC_URI=https://github.com/libmpack/libmpack/archive/1.0.5.tar.gz -> libmpack-1.0.5.tar.gz
_eclasses_=autotools 6ae9a4347149b19a112caa1182d03bde gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 9d3a9a889a6fa62ae794f817c156491b multilib c19072c3cd7ac5cb21de013f7e9832e0 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
-_md5_=ea4a59a4bcf3aafa607b58ed1940f683
+_md5_=fb6a2db035c4b8c9e5d24eea97714d96
diff --git a/metadata/md5-cache/dev-libs/cJSON-1.7.15 b/metadata/md5-cache/dev-libs/pugixml-1.14
index 29084c7d61c8..369c2fb43494 100644
--- a/metadata/md5-cache/dev-libs/cJSON-1.7.15
+++ b/metadata/md5-cache/dev-libs/pugixml-1.14
@@ -1,14 +1,14 @@
BDEPEND=>=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5
DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=Ultralightweight JSON parser in ANSI C
-EAPI=7
-HOMEPAGE=https://github.com/DaveGamble/cJSON
+DESCRIPTION=Light-weight, simple, and fast XML parser for C++ with XPath support
+EAPI=8
+HOMEPAGE=https://pugixml.org/ https://github.com/zeux/pugixml
INHERIT=cmake
IUSE=test
-KEYWORDS=~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86
+KEYWORDS=~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux
LICENSE=MIT
RESTRICT=!test? ( test )
SLOT=0
-SRC_URI=https://github.com/DaveGamble/cJSON/archive/v1.7.15.tar.gz -> cJSON-1.7.15.tar.gz
+SRC_URI=https://github.com/zeux/pugixml/archive/refs/tags/v1.14.tar.gz -> pugixml-1.14.tar.gz
_eclasses_=cmake fc2f89084f590ac95c004ea95b0d2f80 flag-o-matic be27a904c614cb93ae037762dc69bcc2 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils f3010c780f65d1bb5aea15a9af1adc9c toolchain-funcs fbbbc99d10168de2926e06da7169b8dc xdg-utils baea6080dd821f5562d715887954c9d3
-_md5_=6c938b52a095ce47818a30ecffb6ed9e
+_md5_=1bc47652a88ab374599f3502b1383e4e
diff --git a/metadata/md5-cache/dev-python/Manifest.gz b/metadata/md5-cache/dev-python/Manifest.gz
index 381ee4088c90..6297749ba249 100644
--- a/metadata/md5-cache/dev-python/Manifest.gz
+++ b/metadata/md5-cache/dev-python/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-python/matplotlib-3.7.2 b/metadata/md5-cache/dev-python/matplotlib-3.7.2
index ab310942b80c..1f282175ced5 100644
--- a/metadata/md5-cache/dev-python/matplotlib-3.7.2
+++ b/metadata/md5-cache/dev-python/matplotlib-3.7.2
@@ -6,7 +6,7 @@ EAPI=8
HOMEPAGE=https://matplotlib.org/ https://github.com/matplotlib/matplotlib/ https://pypi.org/project/matplotlib/
INHERIT=distutils-r1 flag-o-matic multiprocessing prefix pypi toolchain-funcs virtualx
IUSE=cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets test python_targets_python3_10 python_targets_python3_11 debug test
-KEYWORDS=~alpha amd64 arm arm64 hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos
+KEYWORDS=~alpha amd64 arm arm64 hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~arm64-macos ~x64-macos
LICENSE=BitstreamVera BSD matplotlib MIT OFL-1.1
RDEPEND=dev-python/certifi[python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/contourpy-1.0.1[python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/cycler-0.10.0-r1[python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/fonttools-4.22.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/kiwisolver-1.2.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/numpy-1.20[python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/packaging-20.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/pillow-7.1.1[jpeg,webp,python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/pyparsing-2.3.1[python_targets_python3_10(-)?,python_targets_python3_11(-)?] <dev-python/pyparsing-3.1.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/python-dateutil-2.7[python_targets_python3_10(-)?,python_targets_python3_11(-)?] >=dev-python/pytz-2019.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?] media-fonts/dejavu media-fonts/stix-fonts media-libs/freetype:2 media-libs/libpng:0 >=media-libs/qhull-2013:= virtual/imagemagick-tools[jpeg,tiff] cairo? ( dev-python/cairocffi[python_targets_python3_10(-)?,python_targets_python3_11(-)?] ) excel? ( dev-python/xlwt[python_targets_python3_10(-)?,python_targets_python3_11(-)?] ) gtk3? ( >=dev-python/pygobject-3.40.1-r1:3[cairo?,python_targets_python3_10(-)?,python_targets_python3_11(-)?] x11-libs/gtk+:3[introspection] ) latex? ( virtual/latex-base app-text/dvipng app-text/ghostscript-gpl app-text/poppler[utils] dev-texlive/texlive-fontsrecommended dev-texlive/texlive-latexextra dev-texlive/texlive-luatex dev-texlive/texlive-xetex ) qt5? ( dev-python/PyQt5[gui,widgets,python_targets_python3_10(-)?,python_targets_python3_11(-)?] ) webagg? ( >=dev-python/tornado-6.0.4[python_targets_python3_10(-)?,python_targets_python3_11(-)?] ) wxwidgets? ( python_targets_python3_10? ( dev-python/wxpython:*[python_targets_python3_10(-)?] ) ) python_targets_python3_10? ( dev-lang/python:3.10[tk?,threads(+)] ) python_targets_python3_11? ( dev-lang/python:3.11[tk?,threads(+)] )
REQUIRED_USE=|| ( python_targets_python3_10 python_targets_python3_11 )
@@ -14,4 +14,4 @@ RESTRICT=!test? ( test ) !test? ( test )
SLOT=0
SRC_URI=https://files.pythonhosted.org/packages/source/m/matplotlib/matplotlib-3.7.2.tar.gz test? ( https://downloads.sourceforge.net/project/freetype/freetype2/2.6.1/freetype-2.6.1.tar.gz )
_eclasses_=distutils-r1 24344aec2be39c69d9f279b5415298ce flag-o-matic be27a904c614cb93ae037762dc69bcc2 multibuild 30dbf3c5a31db09a19f31ad0a68f2405 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils f3010c780f65d1bb5aea15a9af1adc9c out-of-source-utils 1a9007554652a6e627edbccb3c25a439 prefix eab3c99d77fe00506c109c8a736186f7 pypi 2eecb475512bc76e5ea9192a681b9e6b python-r1 8a28fa6d3e3bc96ff8a7eff2badbe71f python-utils-r1 12aa0037eb004139215ff04894d52b28 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc virtualx 817571665ee28575da44ee08135089e5
-_md5_=e0e4e454cb0dba5a0605433e8bc0bc95
+_md5_=294a4b725b503c406476b27b70607491
diff --git a/metadata/md5-cache/dev-python/psycopg-3.1.10 b/metadata/md5-cache/dev-python/psycopg-3.1.10
index ef93d926aab3..a376cb35ab37 100644
--- a/metadata/md5-cache/dev-python/psycopg-3.1.10
+++ b/metadata/md5-cache/dev-python/psycopg-3.1.10
@@ -6,7 +6,7 @@ EAPI=8
HOMEPAGE=https://www.psycopg.org/psycopg3/ https://github.com/psycopg/psycopg/ https://pypi.org/project/psycopg/
INHERIT=distutils-r1
IUSE=test python_targets_python3_10 python_targets_python3_11 python_targets_python3_12
-KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos
+KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos
LICENSE=LGPL-3+
RDEPEND=>=dev-db/postgresql-8.1:* >=dev-python/typing-extensions-4.1[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 )
REQUIRED_USE=|| ( python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 )
@@ -14,4 +14,4 @@ RESTRICT=!test? ( test )
SLOT=0
SRC_URI=https://github.com/psycopg/psycopg/archive/3.1.10.tar.gz -> psycopg-3.1.10.gh.tar.gz
_eclasses_=distutils-r1 24344aec2be39c69d9f279b5415298ce flag-o-matic be27a904c614cb93ae037762dc69bcc2 multibuild 30dbf3c5a31db09a19f31ad0a68f2405 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils f3010c780f65d1bb5aea15a9af1adc9c out-of-source-utils 1a9007554652a6e627edbccb3c25a439 python-r1 8a28fa6d3e3bc96ff8a7eff2badbe71f python-utils-r1 12aa0037eb004139215ff04894d52b28 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
-_md5_=42f5da48fbb7567ef15b4539ba2b0731
+_md5_=4d28ab99095b3fc73a790e86b530fee8
diff --git a/metadata/md5-cache/dev-python/twisted-23.8.0 b/metadata/md5-cache/dev-python/twisted-23.8.0
index abae4eb71bdd..63978043bc35 100644
--- a/metadata/md5-cache/dev-python/twisted-23.8.0
+++ b/metadata/md5-cache/dev-python/twisted-23.8.0
@@ -5,7 +5,7 @@ EAPI=8
HOMEPAGE=https://twisted.org/ https://github.com/twisted/twisted/ https://pypi.org/project/Twisted/
INHERIT=distutils-r1 pypi virtualx
IUSE=conch http2 serial ssl test python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 test
-KEYWORDS=~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos
+KEYWORDS=~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos
LICENSE=MIT
RDEPEND=>=dev-python/attrs-19.2.0[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/automat-0.8.0[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/constantly-15.1[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/hyperlink-17.1.1[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/incremental-22.10.0[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/typing-extensions-3.10.0[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/zope-interface-5[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] conch? ( >=dev-python/appdirs-1.4.0[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/bcrypt-3.0.0[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/cryptography-3.3[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] dev-python/pyasn1[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] ) http2? ( <dev-python/h2-5.0[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/h2-3.0.0[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] <dev-python/priority-2.0[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/priority-1.1.0[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] ) serial? ( >=dev-python/pyserial-3.0[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] ) ssl? ( >=dev-python/pyopenssl-21.0.0[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/service-identity-18.1.0[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/idna-2.4[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] ) python_targets_pypy3? ( dev-python/pypy3:=[threads(+)] ) python_targets_python3_10? ( dev-lang/python:3.10[threads(+)] ) python_targets_python3_11? ( dev-lang/python:3.11[threads(+)] ) python_targets_python3_12? ( dev-lang/python:3.12[threads(+)] )
REQUIRED_USE=|| ( python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 )
@@ -13,4 +13,4 @@ RESTRICT=!test? ( test ) !test? ( test )
SLOT=0
SRC_URI=https://files.pythonhosted.org/packages/source/t/twisted/twisted-23.8.0.tar.gz https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz
_eclasses_=distutils-r1 24344aec2be39c69d9f279b5415298ce flag-o-matic be27a904c614cb93ae037762dc69bcc2 multibuild 30dbf3c5a31db09a19f31ad0a68f2405 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils f3010c780f65d1bb5aea15a9af1adc9c out-of-source-utils 1a9007554652a6e627edbccb3c25a439 pypi 2eecb475512bc76e5ea9192a681b9e6b python-r1 8a28fa6d3e3bc96ff8a7eff2badbe71f python-utils-r1 12aa0037eb004139215ff04894d52b28 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc virtualx 817571665ee28575da44ee08135089e5
-_md5_=f635ba27e5bcc08e509185837f6ff435
+_md5_=fb69c14154cd3722e1dc4578e323f5fe
diff --git a/metadata/md5-cache/dev-util/Manifest.gz b/metadata/md5-cache/dev-util/Manifest.gz
index 50d0bbd24fb8..f394658cf706 100644
--- a/metadata/md5-cache/dev-util/Manifest.gz
+++ b/metadata/md5-cache/dev-util/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-util/rr-5.7.0 b/metadata/md5-cache/dev-util/rr-5.7.0
new file mode 100644
index 000000000000..5aa29a4f7550
--- /dev/null
+++ b/metadata/md5-cache/dev-util/rr-5.7.0
@@ -0,0 +1,17 @@
+BDEPEND=>=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) dev-libs/capnproto:= sys-libs/zlib:= test? ( python_single_target_python3_10? ( dev-python/pexpect[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/pexpect[python_targets_python3_11(-)] ) sys-devel/gdb[xml] )
+DESCRIPTION=Record and Replay Framework
+EAPI=8
+HOMEPAGE=https://rr-project.org/
+INHERIT=cmake linux-info python-single-r1
+IUSE=multilib test python_single_target_python3_10 python_single_target_python3_11
+KEYWORDS=~amd64 ~arm64 ~x86
+LICENSE=MIT BSD-2
+RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) dev-libs/capnproto:= sys-libs/zlib:= sys-devel/gdb[xml]
+REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 )
+RESTRICT=test
+SLOT=0
+SRC_URI=https://github.com/rr-debugger/rr/archive/5.7.0.tar.gz -> mozilla-rr-5.7.0.tar.gz
+_eclasses_=cmake fc2f89084f590ac95c004ea95b0d2f80 flag-o-matic be27a904c614cb93ae037762dc69bcc2 linux-info c4f1201b96a8a2c1f3b86cc8b2c71c91 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils f3010c780f65d1bb5aea15a9af1adc9c python-single-r1 75118e916668a74c660a13b0ecb22562 python-utils-r1 12aa0037eb004139215ff04894d52b28 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc xdg-utils baea6080dd821f5562d715887954c9d3
+_md5_=858d5f8d15df47dc62061cc92b8d74b5
diff --git a/metadata/md5-cache/net-firewall/Manifest.gz b/metadata/md5-cache/net-firewall/Manifest.gz
index 857bc0c2041f..ce295ef798b6 100644
--- a/metadata/md5-cache/net-firewall/Manifest.gz
+++ b/metadata/md5-cache/net-firewall/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/net-firewall/firewalld-2.0.1 b/metadata/md5-cache/net-firewall/firewalld-2.0.1
new file mode 100644
index 000000000000..cb07f392aa7b
--- /dev/null
+++ b/metadata/md5-cache/net-firewall/firewalld-2.0.1
@@ -0,0 +1,17 @@
+BDEPEND=app-text/docbook-xml-dtd >=dev-util/intltool-0.35 sys-devel/gettext virtual/pkgconfig
+DEFINED_PHASES=configure install postinst postrm preinst prepare setup
+DEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) || ( >=sys-apps/openrc-0.11.5 sys-apps/systemd ) python_single_target_python3_10? ( dev-python/dbus-python[python_targets_python3_10(-)] dev-python/pygobject:3[python_targets_python3_10(-)] gui? ( x11-libs/gtk+:3 dev-python/PyQt5[gui,widgets,python_targets_python3_10(-)] ) nftables? ( >=net-firewall/nftables-0.9.4[python,json] ) ) python_single_target_python3_11? ( dev-python/dbus-python[python_targets_python3_11(-)] dev-python/pygobject:3[python_targets_python3_11(-)] gui? ( x11-libs/gtk+:3 dev-python/PyQt5[gui,widgets,python_targets_python3_11(-)] ) nftables? ( >=net-firewall/nftables-0.9.4[python,json] ) ) iptables? ( net-firewall/iptables[ipv6(+)] net-firewall/ebtables net-firewall/ipset nftables? ( net-firewall/nftables[xtables(+)] ) ) dev-libs/glib:2
+DESCRIPTION=A firewall daemon with D-Bus interface providing a dynamic firewall
+EAPI=8
+HOMEPAGE=https://firewalld.org/
+INHERIT=bash-completion-r1 gnome2-utils linux-info optfeature plocale python-single-r1 systemd xdg-utils
+IUSE=gui +nftables +iptables test python_single_target_python3_10 python_single_target_python3_11
+KEYWORDS=~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86
+LICENSE=GPL-2+
+RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) || ( >=sys-apps/openrc-0.11.5 sys-apps/systemd ) python_single_target_python3_10? ( dev-python/dbus-python[python_targets_python3_10(-)] dev-python/pygobject:3[python_targets_python3_10(-)] gui? ( x11-libs/gtk+:3 dev-python/PyQt5[gui,widgets,python_targets_python3_10(-)] ) nftables? ( >=net-firewall/nftables-0.9.4[python,json] ) ) python_single_target_python3_11? ( dev-python/dbus-python[python_targets_python3_11(-)] dev-python/pygobject:3[python_targets_python3_11(-)] gui? ( x11-libs/gtk+:3 dev-python/PyQt5[gui,widgets,python_targets_python3_11(-)] ) nftables? ( >=net-firewall/nftables-0.9.4[python,json] ) ) iptables? ( net-firewall/iptables[ipv6(+)] net-firewall/ebtables net-firewall/ipset nftables? ( net-firewall/nftables[xtables(+)] ) )
+REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 )
+RESTRICT=!test? ( test ) test
+SLOT=0
+SRC_URI=https://github.com/firewalld/firewalld/releases/download/v2.0.1/firewalld-2.0.1.tar.bz2
+_eclasses_=bash-completion-r1 f5e7a020fd9c741740756aac61bf75ff gnome2-utils b0183db3b2e07b18f3b77bffec72e116 linux-info c4f1201b96a8a2c1f3b86cc8b2c71c91 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 optfeature 222cb475c5a4f7ae7cfb0bf510a6fe54 plocale 950fbaec7deeba41b5bcc0572cca99b9 python-single-r1 75118e916668a74c660a13b0ecb22562 python-utils-r1 12aa0037eb004139215ff04894d52b28 systemd c8b03e8df84486aa991d4396686e8942 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc xdg-utils baea6080dd821f5562d715887954c9d3
+_md5_=3203c2a2127d2c1178b7925681607e9b
diff --git a/metadata/md5-cache/net-irc/Manifest.gz b/metadata/md5-cache/net-irc/Manifest.gz
index 1f7a86b5e932..011901714faa 100644
--- a/metadata/md5-cache/net-irc/Manifest.gz
+++ b/metadata/md5-cache/net-irc/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/net-irc/irssi-1.4.5 b/metadata/md5-cache/net-irc/irssi-1.4.5
new file mode 100644
index 000000000000..be65aa3c9c4d
--- /dev/null
+++ b/metadata/md5-cache/net-irc/irssi-1.4.5
@@ -0,0 +1,15 @@
+BDEPEND=dev-lang/perl virtual/pkgconfig >=dev-util/meson-0.62.2 >=dev-util/ninja-1.8.2 dev-util/meson-format-array
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=>=dev-libs/glib-2.6.0 dev-libs/openssl:= sys-libs/ncurses:= otr? ( >=dev-libs/libgcrypt-1.2.0:= >=net-libs/libotr-4.1.0 ) perl? ( dev-lang/perl:= )
+DESCRIPTION=A modular textUI IRC client with IPv6 support
+EAPI=8
+HOMEPAGE=https://irssi.org/
+INHERIT=perl-module meson
+IUSE=otr +perl selinux +proxy
+KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris
+LICENSE=GPL-2
+RDEPEND=>=dev-libs/glib-2.6.0 dev-libs/openssl:= sys-libs/ncurses:= otr? ( >=dev-libs/libgcrypt-1.2.0:= >=net-libs/libotr-4.1.0 ) perl? ( dev-lang/perl:= ) selinux? ( sec-policy/selinux-irc )
+SLOT=0
+SRC_URI=https://github.com/irssi/irssi/releases/download/1.4.5/irssi-1.4.5.tar.xz
+_eclasses_=meson 08b7183c3f4811568ee93eb0f79a89fe multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils f3010c780f65d1bb5aea15a9af1adc9c perl-functions c3fca037246e877693badea0df3b0ef8 perl-module aa997145fb9941f14e9be1c3ed7238b8 python-utils-r1 12aa0037eb004139215ff04894d52b28 readme.gentoo-r1 204091a2cde6179cd9d3db26d09412d3 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
+_md5_=39ec5bbca443eb9fac82b037d82088b2
diff --git a/metadata/md5-cache/net-misc/Manifest.gz b/metadata/md5-cache/net-misc/Manifest.gz
index 535ebc540b3f..1f6cfc6e8f7d 100644
--- a/metadata/md5-cache/net-misc/Manifest.gz
+++ b/metadata/md5-cache/net-misc/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/net-misc/streamlink-6.2.1 b/metadata/md5-cache/net-misc/streamlink-6.2.1
new file mode 100644
index 000000000000..081cf599829f
--- /dev/null
+++ b/metadata/md5-cache/net-misc/streamlink-6.2.1
@@ -0,0 +1,17 @@
+BDEPEND=python_single_target_python3_10? ( >=dev-python/setuptools-64[python_targets_python3_10(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_10(-)] test? ( dev-python/mock[python_targets_python3_10(-)] >=dev-python/freezegun-1.0.0[python_targets_python3_10(-)] dev-python/pytest-asyncio[python_targets_python3_10(-)] dev-python/pytest-trio[python_targets_python3_10(-)] dev-python/requests-mock[python_targets_python3_10(-)] ) ) python_single_target_python3_11? ( >=dev-python/setuptools-64[python_targets_python3_11(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_11(-)] test? ( dev-python/mock[python_targets_python3_11(-)] >=dev-python/freezegun-1.0.0[python_targets_python3_11(-)] dev-python/pytest-asyncio[python_targets_python3_11(-)] dev-python/pytest-trio[python_targets_python3_11(-)] dev-python/requests-mock[python_targets_python3_11(-)] ) ) python_single_target_python3_12? ( >=dev-python/setuptools-64[python_targets_python3_12(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_12(-)] test? ( dev-python/mock[python_targets_python3_12(-)] >=dev-python/freezegun-1.0.0[python_targets_python3_12(-)] dev-python/pytest-asyncio[python_targets_python3_12(-)] dev-python/pytest-trio[python_targets_python3_12(-)] dev-python/requests-mock[python_targets_python3_12(-)] ) ) test? ( python_single_target_python3_10? ( dev-python/certifi[python_targets_python3_10(-)] >=dev-python/requests-2.26.0[python_targets_python3_10(-)] dev-python/isodate[python_targets_python3_10(-)] >=dev-python/lxml-4.6.4[python_targets_python3_10(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_10(-)] dev-python/pycountry[python_targets_python3_10(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_10(-)] >dev-python/PySocks-1.5.7[python_targets_python3_10(-)] >=dev-python/trio-0.22.0[python_targets_python3_10(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_10(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_10(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/certifi[python_targets_python3_11(-)] >=dev-python/requests-2.26.0[python_targets_python3_11(-)] dev-python/isodate[python_targets_python3_11(-)] >=dev-python/lxml-4.6.4[python_targets_python3_11(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_11(-)] dev-python/pycountry[python_targets_python3_11(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_11(-)] >dev-python/PySocks-1.5.7[python_targets_python3_11(-)] >=dev-python/trio-0.22.0[python_targets_python3_11(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_11(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_11(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_11(-)] ) python_single_target_python3_12? ( dev-python/certifi[python_targets_python3_12(-)] >=dev-python/requests-2.26.0[python_targets_python3_12(-)] dev-python/isodate[python_targets_python3_12(-)] >=dev-python/lxml-4.6.4[python_targets_python3_12(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_12(-)] dev-python/pycountry[python_targets_python3_12(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_12(-)] >dev-python/PySocks-1.5.7[python_targets_python3_12(-)] >=dev-python/trio-0.22.0[python_targets_python3_12(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_12(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_12(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_12(-)] ) media-video/ffmpeg python_single_target_python3_10? ( >=dev-python/pytest-7.3.1[python_targets_python3_10(-)] ) python_single_target_python3_11? ( >=dev-python/pytest-7.3.1[python_targets_python3_11(-)] ) python_single_target_python3_12? ( >=dev-python/pytest-7.3.1[python_targets_python3_12(-)] ) ) python_single_target_python3_10? ( dev-lang/python:3.10[xml(+),threads(+)] ) python_single_target_python3_11? ( dev-lang/python:3.11[xml(+),threads(+)] ) python_single_target_python3_12? ( dev-lang/python:3.12[xml(+),threads(+)] ) python_single_target_python3_10? ( >=dev-python/gpep517-13[python_targets_python3_10(-)] ) python_single_target_python3_11? ( >=dev-python/gpep517-13[python_targets_python3_11(-)] ) python_single_target_python3_12? ( >=dev-python/gpep517-13[python_targets_python3_12(-)] )
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=python_single_target_python3_10? ( dev-python/certifi[python_targets_python3_10(-)] >=dev-python/requests-2.26.0[python_targets_python3_10(-)] dev-python/isodate[python_targets_python3_10(-)] >=dev-python/lxml-4.6.4[python_targets_python3_10(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_10(-)] dev-python/pycountry[python_targets_python3_10(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_10(-)] >dev-python/PySocks-1.5.7[python_targets_python3_10(-)] >=dev-python/trio-0.22.0[python_targets_python3_10(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_10(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_10(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/certifi[python_targets_python3_11(-)] >=dev-python/requests-2.26.0[python_targets_python3_11(-)] dev-python/isodate[python_targets_python3_11(-)] >=dev-python/lxml-4.6.4[python_targets_python3_11(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_11(-)] dev-python/pycountry[python_targets_python3_11(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_11(-)] >dev-python/PySocks-1.5.7[python_targets_python3_11(-)] >=dev-python/trio-0.22.0[python_targets_python3_11(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_11(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_11(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_11(-)] ) python_single_target_python3_12? ( dev-python/certifi[python_targets_python3_12(-)] >=dev-python/requests-2.26.0[python_targets_python3_12(-)] dev-python/isodate[python_targets_python3_12(-)] >=dev-python/lxml-4.6.4[python_targets_python3_12(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_12(-)] dev-python/pycountry[python_targets_python3_12(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_12(-)] >dev-python/PySocks-1.5.7[python_targets_python3_12(-)] >=dev-python/trio-0.22.0[python_targets_python3_12(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_12(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_12(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_12(-)] )
+DESCRIPTION=CLI for extracting streams from websites to a video player of your choice
+EAPI=8
+HOMEPAGE=https://streamlink.github.io/
+INHERIT=distutils-r1
+IUSE=test python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12
+KEYWORDS=~amd64 ~arm ~arm64 ~x86
+LICENSE=BSD-2 Apache-2.0
+RDEPEND=python_single_target_python3_10? ( dev-python/certifi[python_targets_python3_10(-)] >=dev-python/requests-2.26.0[python_targets_python3_10(-)] dev-python/isodate[python_targets_python3_10(-)] >=dev-python/lxml-4.6.4[python_targets_python3_10(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_10(-)] dev-python/pycountry[python_targets_python3_10(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_10(-)] >dev-python/PySocks-1.5.7[python_targets_python3_10(-)] >=dev-python/trio-0.22.0[python_targets_python3_10(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_10(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_10(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/certifi[python_targets_python3_11(-)] >=dev-python/requests-2.26.0[python_targets_python3_11(-)] dev-python/isodate[python_targets_python3_11(-)] >=dev-python/lxml-4.6.4[python_targets_python3_11(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_11(-)] dev-python/pycountry[python_targets_python3_11(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_11(-)] >dev-python/PySocks-1.5.7[python_targets_python3_11(-)] >=dev-python/trio-0.22.0[python_targets_python3_11(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_11(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_11(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_11(-)] ) python_single_target_python3_12? ( dev-python/certifi[python_targets_python3_12(-)] >=dev-python/requests-2.26.0[python_targets_python3_12(-)] dev-python/isodate[python_targets_python3_12(-)] >=dev-python/lxml-4.6.4[python_targets_python3_12(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_12(-)] dev-python/pycountry[python_targets_python3_12(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_12(-)] >dev-python/PySocks-1.5.7[python_targets_python3_12(-)] >=dev-python/trio-0.22.0[python_targets_python3_12(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_12(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_12(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_12(-)] ) media-video/ffmpeg python_single_target_python3_10? ( dev-lang/python:3.10[xml(+),threads(+)] ) python_single_target_python3_11? ( dev-lang/python:3.11[xml(+),threads(+)] ) python_single_target_python3_12? ( dev-lang/python:3.12[xml(+),threads(+)] )
+REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/streamlink/streamlink/releases/download/6.2.1/streamlink-6.2.1.tar.gz
+_eclasses_=distutils-r1 24344aec2be39c69d9f279b5415298ce flag-o-matic be27a904c614cb93ae037762dc69bcc2 multibuild 30dbf3c5a31db09a19f31ad0a68f2405 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils f3010c780f65d1bb5aea15a9af1adc9c out-of-source-utils 1a9007554652a6e627edbccb3c25a439 python-single-r1 75118e916668a74c660a13b0ecb22562 python-utils-r1 12aa0037eb004139215ff04894d52b28 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
+_md5_=f5564abe8f966dd6baed628c1a63c7ce
diff --git a/metadata/md5-cache/net-misc/streamlink-9999 b/metadata/md5-cache/net-misc/streamlink-9999
index 72726aa925e8..787d594ee5b0 100644
--- a/metadata/md5-cache/net-misc/streamlink-9999
+++ b/metadata/md5-cache/net-misc/streamlink-9999
@@ -1,4 +1,4 @@
-BDEPEND=python_single_target_python3_10? ( >=dev-python/versioningit-2.0.0[python_targets_python3_10(-)] test? ( dev-python/mock[python_targets_python3_10(-)] >=dev-python/freezegun-1.0.0[python_targets_python3_10(-)] dev-python/pytest-asyncio[python_targets_python3_10(-)] dev-python/pytest-trio[python_targets_python3_10(-)] dev-python/requests-mock[python_targets_python3_10(-)] ) ) python_single_target_python3_11? ( >=dev-python/versioningit-2.0.0[python_targets_python3_11(-)] test? ( dev-python/mock[python_targets_python3_11(-)] >=dev-python/freezegun-1.0.0[python_targets_python3_11(-)] dev-python/pytest-asyncio[python_targets_python3_11(-)] dev-python/pytest-trio[python_targets_python3_11(-)] dev-python/requests-mock[python_targets_python3_11(-)] ) ) python_single_target_python3_12? ( >=dev-python/versioningit-2.0.0[python_targets_python3_12(-)] test? ( dev-python/mock[python_targets_python3_12(-)] >=dev-python/freezegun-1.0.0[python_targets_python3_12(-)] dev-python/pytest-asyncio[python_targets_python3_12(-)] dev-python/pytest-trio[python_targets_python3_12(-)] dev-python/requests-mock[python_targets_python3_12(-)] ) ) test? ( python_single_target_python3_10? ( dev-python/certifi[python_targets_python3_10(-)] >=dev-python/requests-2.26.0[python_targets_python3_10(-)] dev-python/isodate[python_targets_python3_10(-)] >=dev-python/lxml-4.6.4[python_targets_python3_10(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_10(-)] dev-python/pycountry[python_targets_python3_10(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_10(-)] >dev-python/PySocks-1.5.7[python_targets_python3_10(-)] >=dev-python/trio-0.22.0[python_targets_python3_10(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_10(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_10(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/certifi[python_targets_python3_11(-)] >=dev-python/requests-2.26.0[python_targets_python3_11(-)] dev-python/isodate[python_targets_python3_11(-)] >=dev-python/lxml-4.6.4[python_targets_python3_11(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_11(-)] dev-python/pycountry[python_targets_python3_11(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_11(-)] >dev-python/PySocks-1.5.7[python_targets_python3_11(-)] >=dev-python/trio-0.22.0[python_targets_python3_11(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_11(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_11(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_11(-)] ) python_single_target_python3_12? ( dev-python/certifi[python_targets_python3_12(-)] >=dev-python/requests-2.26.0[python_targets_python3_12(-)] dev-python/isodate[python_targets_python3_12(-)] >=dev-python/lxml-4.6.4[python_targets_python3_12(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_12(-)] dev-python/pycountry[python_targets_python3_12(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_12(-)] >dev-python/PySocks-1.5.7[python_targets_python3_12(-)] >=dev-python/trio-0.22.0[python_targets_python3_12(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_12(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_12(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_12(-)] ) media-video/ffmpeg python_single_target_python3_10? ( >=dev-python/pytest-7.3.1[python_targets_python3_10(-)] ) python_single_target_python3_11? ( >=dev-python/pytest-7.3.1[python_targets_python3_11(-)] ) python_single_target_python3_12? ( >=dev-python/pytest-7.3.1[python_targets_python3_12(-)] ) ) >=dev-vcs/git-1.8.2.1[curl] python_single_target_python3_10? ( dev-lang/python:3.10[xml(+),threads(+)] ) python_single_target_python3_11? ( dev-lang/python:3.11[xml(+),threads(+)] ) python_single_target_python3_12? ( dev-lang/python:3.12[xml(+),threads(+)] ) python_single_target_python3_10? ( >=dev-python/gpep517-13[python_targets_python3_10(-)] >=dev-python/setuptools-67.8.0-r1[python_targets_python3_10(-)] ) python_single_target_python3_11? ( >=dev-python/gpep517-13[python_targets_python3_11(-)] >=dev-python/setuptools-67.8.0-r1[python_targets_python3_11(-)] ) python_single_target_python3_12? ( >=dev-python/gpep517-13[python_targets_python3_12(-)] >=dev-python/setuptools-67.8.0-r1[python_targets_python3_12(-)] )
+BDEPEND=python_single_target_python3_10? ( >=dev-python/setuptools-64[python_targets_python3_10(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_10(-)] test? ( dev-python/mock[python_targets_python3_10(-)] >=dev-python/freezegun-1.0.0[python_targets_python3_10(-)] dev-python/pytest-asyncio[python_targets_python3_10(-)] dev-python/pytest-trio[python_targets_python3_10(-)] dev-python/requests-mock[python_targets_python3_10(-)] ) ) python_single_target_python3_11? ( >=dev-python/setuptools-64[python_targets_python3_11(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_11(-)] test? ( dev-python/mock[python_targets_python3_11(-)] >=dev-python/freezegun-1.0.0[python_targets_python3_11(-)] dev-python/pytest-asyncio[python_targets_python3_11(-)] dev-python/pytest-trio[python_targets_python3_11(-)] dev-python/requests-mock[python_targets_python3_11(-)] ) ) python_single_target_python3_12? ( >=dev-python/setuptools-64[python_targets_python3_12(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_12(-)] test? ( dev-python/mock[python_targets_python3_12(-)] >=dev-python/freezegun-1.0.0[python_targets_python3_12(-)] dev-python/pytest-asyncio[python_targets_python3_12(-)] dev-python/pytest-trio[python_targets_python3_12(-)] dev-python/requests-mock[python_targets_python3_12(-)] ) ) test? ( python_single_target_python3_10? ( dev-python/certifi[python_targets_python3_10(-)] >=dev-python/requests-2.26.0[python_targets_python3_10(-)] dev-python/isodate[python_targets_python3_10(-)] >=dev-python/lxml-4.6.4[python_targets_python3_10(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_10(-)] dev-python/pycountry[python_targets_python3_10(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_10(-)] >dev-python/PySocks-1.5.7[python_targets_python3_10(-)] >=dev-python/trio-0.22.0[python_targets_python3_10(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_10(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_10(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/certifi[python_targets_python3_11(-)] >=dev-python/requests-2.26.0[python_targets_python3_11(-)] dev-python/isodate[python_targets_python3_11(-)] >=dev-python/lxml-4.6.4[python_targets_python3_11(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_11(-)] dev-python/pycountry[python_targets_python3_11(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_11(-)] >dev-python/PySocks-1.5.7[python_targets_python3_11(-)] >=dev-python/trio-0.22.0[python_targets_python3_11(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_11(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_11(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_11(-)] ) python_single_target_python3_12? ( dev-python/certifi[python_targets_python3_12(-)] >=dev-python/requests-2.26.0[python_targets_python3_12(-)] dev-python/isodate[python_targets_python3_12(-)] >=dev-python/lxml-4.6.4[python_targets_python3_12(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_12(-)] dev-python/pycountry[python_targets_python3_12(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_12(-)] >dev-python/PySocks-1.5.7[python_targets_python3_12(-)] >=dev-python/trio-0.22.0[python_targets_python3_12(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_12(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_12(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_12(-)] ) media-video/ffmpeg python_single_target_python3_10? ( >=dev-python/pytest-7.3.1[python_targets_python3_10(-)] ) python_single_target_python3_11? ( >=dev-python/pytest-7.3.1[python_targets_python3_11(-)] ) python_single_target_python3_12? ( >=dev-python/pytest-7.3.1[python_targets_python3_12(-)] ) ) >=dev-vcs/git-1.8.2.1[curl] python_single_target_python3_10? ( dev-lang/python:3.10[xml(+),threads(+)] ) python_single_target_python3_11? ( dev-lang/python:3.11[xml(+),threads(+)] ) python_single_target_python3_12? ( dev-lang/python:3.12[xml(+),threads(+)] ) python_single_target_python3_10? ( >=dev-python/gpep517-13[python_targets_python3_10(-)] ) python_single_target_python3_11? ( >=dev-python/gpep517-13[python_targets_python3_11(-)] ) python_single_target_python3_12? ( >=dev-python/gpep517-13[python_targets_python3_12(-)] )
DEFINED_PHASES=compile configure install prepare setup test unpack
DEPEND=python_single_target_python3_10? ( dev-python/certifi[python_targets_python3_10(-)] >=dev-python/requests-2.26.0[python_targets_python3_10(-)] dev-python/isodate[python_targets_python3_10(-)] >=dev-python/lxml-4.6.4[python_targets_python3_10(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_10(-)] dev-python/pycountry[python_targets_python3_10(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_10(-)] >dev-python/PySocks-1.5.7[python_targets_python3_10(-)] >=dev-python/trio-0.22.0[python_targets_python3_10(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_10(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_10(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/certifi[python_targets_python3_11(-)] >=dev-python/requests-2.26.0[python_targets_python3_11(-)] dev-python/isodate[python_targets_python3_11(-)] >=dev-python/lxml-4.6.4[python_targets_python3_11(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_11(-)] dev-python/pycountry[python_targets_python3_11(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_11(-)] >dev-python/PySocks-1.5.7[python_targets_python3_11(-)] >=dev-python/trio-0.22.0[python_targets_python3_11(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_11(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_11(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_11(-)] ) python_single_target_python3_12? ( dev-python/certifi[python_targets_python3_12(-)] >=dev-python/requests-2.26.0[python_targets_python3_12(-)] dev-python/isodate[python_targets_python3_12(-)] >=dev-python/lxml-4.6.4[python_targets_python3_12(-)] >=dev-python/websocket-client-1.2.1[python_targets_python3_12(-)] dev-python/pycountry[python_targets_python3_12(-)] >=dev-python/pycryptodome-3.4.3[python_targets_python3_12(-)] >dev-python/PySocks-1.5.7[python_targets_python3_12(-)] >=dev-python/trio-0.22.0[python_targets_python3_12(-)] >=dev-python/trio-websocket-0.9.0[python_targets_python3_12(-)] >=dev-python/urllib3-1.26.0[python_targets_python3_12(-)] >=dev-python/versioningit-2.0.0[python_targets_python3_12(-)] )
DESCRIPTION=CLI for extracting streams from websites to a video player of your choice
@@ -13,4 +13,4 @@ REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_1
RESTRICT=!test? ( test )
SLOT=0
_eclasses_=distutils-r1 24344aec2be39c69d9f279b5415298ce flag-o-matic be27a904c614cb93ae037762dc69bcc2 git-r3 2358a7b20091609e24bd3a83b3ac5991 multibuild 30dbf3c5a31db09a19f31ad0a68f2405 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils f3010c780f65d1bb5aea15a9af1adc9c out-of-source-utils 1a9007554652a6e627edbccb3c25a439 python-single-r1 75118e916668a74c660a13b0ecb22562 python-utils-r1 12aa0037eb004139215ff04894d52b28 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
-_md5_=4cae3ead531318b42a1a11a58de0da04
+_md5_=f5564abe8f966dd6baed628c1a63c7ce
diff --git a/metadata/md5-cache/net-p2p/Manifest.gz b/metadata/md5-cache/net-p2p/Manifest.gz
index 99b5707d383a..773b0d6fd030 100644
--- a/metadata/md5-cache/net-p2p/Manifest.gz
+++ b/metadata/md5-cache/net-p2p/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/net-p2p/rtorrent-0.9.8-r2 b/metadata/md5-cache/net-p2p/rtorrent-0.9.8-r2
index 8cb45801b4ff..bd25745f4b57 100644
--- a/metadata/md5-cache/net-p2p/rtorrent-0.9.8-r2
+++ b/metadata/md5-cache/net-p2p/rtorrent-0.9.8-r2
@@ -6,11 +6,11 @@ EAPI=8
HOMEPAGE=https://rakshasa.github.io/rtorrent/
INHERIT=autotools linux-info systemd
IUSE=debug selinux test xmlrpc
-KEYWORDS=~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris
+KEYWORDS=amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris
LICENSE=GPL-2
RDEPEND=~net-libs/libtorrent-0.13.8 >=net-misc/curl-7.19.1 sys-libs/ncurses:0= xmlrpc? ( dev-libs/xmlrpc-c:= ) selinux? ( sec-policy/selinux-rtorrent )
RESTRICT=!test? ( test )
SLOT=0
SRC_URI=http://rtorrent.net/downloads/rtorrent-0.9.8.tar.gz
_eclasses_=autotools 6ae9a4347149b19a112caa1182d03bde gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 9d3a9a889a6fa62ae794f817c156491b linux-info c4f1201b96a8a2c1f3b86cc8b2c71c91 multilib c19072c3cd7ac5cb21de013f7e9832e0 systemd c8b03e8df84486aa991d4396686e8942 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
-_md5_=08aaf4247ee7d14707c79233916d2895
+_md5_=96df1f5a14438b1bfc9331eb887dc3df
diff --git a/metadata/md5-cache/sci-libs/Manifest.gz b/metadata/md5-cache/sci-libs/Manifest.gz
index a6aa86b5acef..5ab9e3fcf5e7 100644
--- a/metadata/md5-cache/sci-libs/Manifest.gz
+++ b/metadata/md5-cache/sci-libs/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/sci-libs/symengine-0.11.1 b/metadata/md5-cache/sci-libs/symengine-0.11.1
new file mode 100644
index 000000000000..159b778953ef
--- /dev/null
+++ b/metadata/md5-cache/sci-libs/symengine-0.11.1
@@ -0,0 +1,16 @@
+BDEPEND=doc? ( app-doc/doxygen[dot] ) >=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5
+DEFINED_PHASES=compile configure install prepare pretend setup test
+DEPEND=dev-libs/gmp:= sys-libs/binutils-libs:= arb? ( sci-mathematics/arb:= ) boost? ( dev-libs/boost:= ) ecm? ( sci-mathematics/gmp-ecm ) flint? ( sci-mathematics/flint:= ) mpc? ( dev-libs/mpc:= ) mpfr? ( dev-libs/mpfr:= ) llvm? ( <sys-devel/llvm-17:= ) tcmalloc? ( dev-util/google-perftools ) dev-libs/cereal !!sys-devel/llvm:0
+DESCRIPTION=Fast symbolic manipulation library, written in C++
+EAPI=8
+HOMEPAGE=https://github.com/symengine/symengine
+INHERIT=cmake llvm toolchain-funcs
+IUSE=arb benchmarks boost debug doc ecm +flint llvm +mpc +mpfr openmp test tcmalloc +threads
+KEYWORDS=~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux
+LICENSE=MIT
+RDEPEND=dev-libs/gmp:= sys-libs/binutils-libs:= arb? ( sci-mathematics/arb:= ) boost? ( dev-libs/boost:= ) ecm? ( sci-mathematics/gmp-ecm ) flint? ( sci-mathematics/flint:= ) mpc? ( dev-libs/mpc:= ) mpfr? ( dev-libs/mpfr:= ) llvm? ( <sys-devel/llvm-17:= ) tcmalloc? ( dev-util/google-perftools )
+RESTRICT=!test? ( test )
+SLOT=0/0.11
+SRC_URI=https://github.com/symengine/symengine/archive/v0.11.1.tar.gz -> symengine-0.11.1.tar.gz
+_eclasses_=cmake fc2f89084f590ac95c004ea95b0d2f80 flag-o-matic be27a904c614cb93ae037762dc69bcc2 llvm 2e1701c714b75feb512bffdecd3fe7d0 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils f3010c780f65d1bb5aea15a9af1adc9c toolchain-funcs fbbbc99d10168de2926e06da7169b8dc xdg-utils baea6080dd821f5562d715887954c9d3
+_md5_=437a00d9c851ce20e9d6b7bbe6694fb8
diff --git a/metadata/md5-cache/sys-apps/Manifest.gz b/metadata/md5-cache/sys-apps/Manifest.gz
index 79ff4603d866..d62d0eccd1f9 100644
--- a/metadata/md5-cache/sys-apps/Manifest.gz
+++ b/metadata/md5-cache/sys-apps/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/sys-apps/eza-0.14.0 b/metadata/md5-cache/sys-apps/eza-0.14.0
new file mode 100644
index 000000000000..907e954b5027
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/eza-0.14.0
@@ -0,0 +1,15 @@
+BDEPEND=>=virtual/rust-1.70.0 man? ( virtual/pandoc ) >=virtual/rust-1.53
+DEFINED_PHASES=compile configure install postinst prepare test unpack
+DEPEND=git? ( dev-libs/libgit2:= )
+DESCRIPTION=A modern, maintained replacement for ls
+EAPI=8
+HOMEPAGE=https://github.com/eza-community/eza
+INHERIT=shell-completion cargo
+IUSE=+git man debug
+KEYWORDS=~amd64 ~arm64 ~x86
+LICENSE=MIT Apache-2.0 MIT Unicode-DFS-2016
+RDEPEND=git? ( dev-libs/libgit2:= )
+SLOT=0
+SRC_URI=https://github.com/eza-community/eza/archive/refs/tags/v0.14.0.tar.gz -> eza-0.14.0.tar.gz https://crates.io/api/v1/crates/aho-corasick/1.0.5/download -> aho-corasick-1.0.5.crate https://crates.io/api/v1/crates/android-tzdata/0.1.1/download -> android-tzdata-0.1.1.crate https://crates.io/api/v1/crates/android_system_properties/0.1.5/download -> android_system_properties-0.1.5.crate https://crates.io/api/v1/crates/anes/0.1.6/download -> anes-0.1.6.crate https://crates.io/api/v1/crates/ansiterm/0.12.2/download -> ansiterm-0.12.2.crate https://crates.io/api/v1/crates/anstream/0.5.0/download -> anstream-0.5.0.crate https://crates.io/api/v1/crates/anstyle-parse/0.2.1/download -> anstyle-parse-0.2.1.crate https://crates.io/api/v1/crates/anstyle-query/1.0.0/download -> anstyle-query-1.0.0.crate https://crates.io/api/v1/crates/anstyle-wincon/2.1.0/download -> anstyle-wincon-2.1.0.crate https://crates.io/api/v1/crates/anstyle/1.0.3/download -> anstyle-1.0.3.crate https://crates.io/api/v1/crates/autocfg/1.1.0/download -> autocfg-1.1.0.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/bitflags/2.4.0/download -> bitflags-2.4.0.crate https://crates.io/api/v1/crates/bumpalo/3.13.0/download -> bumpalo-3.13.0.crate https://crates.io/api/v1/crates/byteorder/1.4.3/download -> byteorder-1.4.3.crate https://crates.io/api/v1/crates/cast/0.3.0/download -> cast-0.3.0.crate https://crates.io/api/v1/crates/cc/1.0.79/download -> cc-1.0.79.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/chrono/0.4.31/download -> chrono-0.4.31.crate https://crates.io/api/v1/crates/ciborium-io/0.2.1/download -> ciborium-io-0.2.1.crate https://crates.io/api/v1/crates/ciborium-ll/0.2.1/download -> ciborium-ll-0.2.1.crate https://crates.io/api/v1/crates/ciborium/0.2.1/download -> ciborium-0.2.1.crate https://crates.io/api/v1/crates/clap/4.4.3/download -> clap-4.4.3.crate https://crates.io/api/v1/crates/clap_builder/4.4.2/download -> clap_builder-4.4.2.crate https://crates.io/api/v1/crates/clap_lex/0.5.1/download -> clap_lex-0.5.1.crate https://crates.io/api/v1/crates/colorchoice/1.0.0/download -> colorchoice-1.0.0.crate https://crates.io/api/v1/crates/content_inspector/0.2.4/download -> content_inspector-0.2.4.crate https://crates.io/api/v1/crates/core-foundation-sys/0.8.4/download -> core-foundation-sys-0.8.4.crate https://crates.io/api/v1/crates/criterion-plot/0.5.0/download -> criterion-plot-0.5.0.crate https://crates.io/api/v1/crates/criterion/0.5.1/download -> criterion-0.5.1.crate https://crates.io/api/v1/crates/crossbeam-channel/0.5.8/download -> crossbeam-channel-0.5.8.crate https://crates.io/api/v1/crates/crossbeam-deque/0.8.3/download -> crossbeam-deque-0.8.3.crate https://crates.io/api/v1/crates/crossbeam-epoch/0.9.15/download -> crossbeam-epoch-0.9.15.crate https://crates.io/api/v1/crates/crossbeam-utils/0.8.16/download -> crossbeam-utils-0.8.16.crate https://crates.io/api/v1/crates/datetime/0.5.2/download -> datetime-0.5.2.crate https://crates.io/api/v1/crates/dunce/1.0.4/download -> dunce-1.0.4.crate https://crates.io/api/v1/crates/either/1.9.0/download -> either-1.9.0.crate https://crates.io/api/v1/crates/equivalent/1.0.1/download -> equivalent-1.0.1.crate https://crates.io/api/v1/crates/errno-dragonfly/0.1.2/download -> errno-dragonfly-0.1.2.crate https://crates.io/api/v1/crates/errno/0.3.3/download -> errno-0.3.3.crate https://crates.io/api/v1/crates/fastrand/2.0.0/download -> fastrand-2.0.0.crate https://crates.io/api/v1/crates/filetime/0.2.22/download -> filetime-0.2.22.crate https://crates.io/api/v1/crates/form_urlencoded/1.0.1/download -> form_urlencoded-1.0.1.crate https://crates.io/api/v1/crates/git2/0.18.1/download -> git2-0.18.1.crate https://crates.io/api/v1/crates/glob/0.3.1/download -> glob-0.3.1.crate https://crates.io/api/v1/crates/half/1.8.2/download -> half-1.8.2.crate https://crates.io/api/v1/crates/hashbrown/0.14.0/download -> hashbrown-0.14.0.crate https://crates.io/api/v1/crates/hermit-abi/0.3.2/download -> hermit-abi-0.3.2.crate https://crates.io/api/v1/crates/humantime-serde/1.1.1/download -> humantime-serde-1.1.1.crate https://crates.io/api/v1/crates/humantime/2.1.0/download -> humantime-2.1.0.crate https://crates.io/api/v1/crates/iana-time-zone-haiku/0.1.2/download -> iana-time-zone-haiku-0.1.2.crate https://crates.io/api/v1/crates/iana-time-zone/0.1.57/download -> iana-time-zone-0.1.57.crate https://crates.io/api/v1/crates/idna/0.2.3/download -> idna-0.2.3.crate https://crates.io/api/v1/crates/indexmap/2.0.0/download -> indexmap-2.0.0.crate https://crates.io/api/v1/crates/is-terminal/0.4.9/download -> is-terminal-0.4.9.crate https://crates.io/api/v1/crates/itertools/0.10.5/download -> itertools-0.10.5.crate https://crates.io/api/v1/crates/itoa/1.0.9/download -> itoa-1.0.9.crate https://crates.io/api/v1/crates/jobserver/0.1.22/download -> jobserver-0.1.22.crate https://crates.io/api/v1/crates/js-sys/0.3.64/download -> js-sys-0.3.64.crate https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate https://crates.io/api/v1/crates/libc/0.2.148/download -> libc-0.2.148.crate https://crates.io/api/v1/crates/libgit2-sys/0.16.1+1.7.1/download -> libgit2-sys-0.16.1+1.7.1.crate https://crates.io/api/v1/crates/libz-sys/1.1.2/download -> libz-sys-1.1.2.crate https://crates.io/api/v1/crates/linux-raw-sys/0.4.7/download -> linux-raw-sys-0.4.7.crate https://crates.io/api/v1/crates/locale/0.2.2/download -> locale-0.2.2.crate https://crates.io/api/v1/crates/log/0.4.20/download -> log-0.4.20.crate https://crates.io/api/v1/crates/matches/0.1.8/download -> matches-0.1.8.crate https://crates.io/api/v1/crates/memchr/2.6.3/download -> memchr-2.6.3.crate https://crates.io/api/v1/crates/memoffset/0.9.0/download -> memoffset-0.9.0.crate https://crates.io/api/v1/crates/natord/1.0.9/download -> natord-1.0.9.crate https://crates.io/api/v1/crates/normalize-line-endings/0.3.0/download -> normalize-line-endings-0.3.0.crate https://crates.io/api/v1/crates/num-traits/0.2.14/download -> num-traits-0.2.14.crate https://crates.io/api/v1/crates/num_cpus/1.16.0/download -> num_cpus-1.16.0.crate https://crates.io/api/v1/crates/number_prefix/0.4.0/download -> number_prefix-0.4.0.crate https://crates.io/api/v1/crates/once_cell/1.18.0/download -> once_cell-1.18.0.crate https://crates.io/api/v1/crates/oorandom/11.1.3/download -> oorandom-11.1.3.crate https://crates.io/api/v1/crates/openssl-src/111.26.0+1.1.1u/download -> openssl-src-111.26.0+1.1.1u.crate https://crates.io/api/v1/crates/openssl-sys/0.9.61/download -> openssl-sys-0.9.61.crate https://crates.io/api/v1/crates/os_pipe/1.1.4/download -> os_pipe-1.1.4.crate https://crates.io/api/v1/crates/partition-identity/0.3.0/download -> partition-identity-0.3.0.crate https://crates.io/api/v1/crates/percent-encoding/2.3.0/download -> percent-encoding-2.3.0.crate https://crates.io/api/v1/crates/phf/0.11.2/download -> phf-0.11.2.crate https://crates.io/api/v1/crates/phf_generator/0.11.2/download -> phf_generator-0.11.2.crate https://crates.io/api/v1/crates/phf_macros/0.11.2/download -> phf_macros-0.11.2.crate https://crates.io/api/v1/crates/phf_shared/0.11.2/download -> phf_shared-0.11.2.crate https://crates.io/api/v1/crates/pkg-config/0.3.19/download -> pkg-config-0.3.19.crate https://crates.io/api/v1/crates/plotters-backend/0.3.5/download -> plotters-backend-0.3.5.crate https://crates.io/api/v1/crates/plotters-svg/0.3.5/download -> plotters-svg-0.3.5.crate https://crates.io/api/v1/crates/plotters/0.3.5/download -> plotters-0.3.5.crate https://crates.io/api/v1/crates/proc-macro2/1.0.66/download -> proc-macro2-1.0.66.crate https://crates.io/api/v1/crates/proc-mounts/0.3.0/download -> proc-mounts-0.3.0.crate https://crates.io/api/v1/crates/quote/1.0.33/download -> quote-1.0.33.crate https://crates.io/api/v1/crates/rand/0.8.5/download -> rand-0.8.5.crate https://crates.io/api/v1/crates/rand_core/0.6.4/download -> rand_core-0.6.4.crate https://crates.io/api/v1/crates/rayon-core/1.11.0/download -> rayon-core-1.11.0.crate https://crates.io/api/v1/crates/rayon/1.7.0/download -> rayon-1.7.0.crate https://crates.io/api/v1/crates/redox_syscall/0.1.57/download -> redox_syscall-0.1.57.crate https://crates.io/api/v1/crates/redox_syscall/0.3.5/download -> redox_syscall-0.3.5.crate https://crates.io/api/v1/crates/regex-automata/0.3.8/download -> regex-automata-0.3.8.crate https://crates.io/api/v1/crates/regex-syntax/0.7.5/download -> regex-syntax-0.7.5.crate https://crates.io/api/v1/crates/regex/1.9.5/download -> regex-1.9.5.crate https://crates.io/api/v1/crates/rustix/0.38.13/download -> rustix-0.38.13.crate https://crates.io/api/v1/crates/ryu/1.0.15/download -> ryu-1.0.15.crate https://crates.io/api/v1/crates/same-file/1.0.6/download -> same-file-1.0.6.crate https://crates.io/api/v1/crates/scoped_threadpool/0.1.9/download -> scoped_threadpool-0.1.9.crate https://crates.io/api/v1/crates/scopeguard/1.2.0/download -> scopeguard-1.2.0.crate https://crates.io/api/v1/crates/serde/1.0.188/download -> serde-1.0.188.crate https://crates.io/api/v1/crates/serde_derive/1.0.188/download -> serde_derive-1.0.188.crate https://crates.io/api/v1/crates/serde_json/1.0.107/download -> serde_json-1.0.107.crate https://crates.io/api/v1/crates/serde_spanned/0.6.3/download -> serde_spanned-0.6.3.crate https://crates.io/api/v1/crates/shlex/1.2.0/download -> shlex-1.2.0.crate https://crates.io/api/v1/crates/similar/2.2.1/download -> similar-2.2.1.crate https://crates.io/api/v1/crates/siphasher/0.3.11/download -> siphasher-0.3.11.crate https://crates.io/api/v1/crates/snapbox-macros/0.3.5/download -> snapbox-macros-0.3.5.crate https://crates.io/api/v1/crates/snapbox/0.4.12/download -> snapbox-0.4.12.crate https://crates.io/api/v1/crates/syn/2.0.29/download -> syn-2.0.29.crate https://crates.io/api/v1/crates/tempfile/3.8.0/download -> tempfile-3.8.0.crate https://crates.io/api/v1/crates/term_grid/0.1.7/download -> term_grid-0.1.7.crate https://crates.io/api/v1/crates/terminal_size/0.3.0/download -> terminal_size-0.3.0.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.48/download -> thiserror-impl-1.0.48.crate https://crates.io/api/v1/crates/thiserror/1.0.48/download -> thiserror-1.0.48.crate https://crates.io/api/v1/crates/timeago/0.4.2/download -> timeago-0.4.2.crate https://crates.io/api/v1/crates/tinytemplate/1.2.1/download -> tinytemplate-1.2.1.crate https://crates.io/api/v1/crates/tinyvec/1.2.0/download -> tinyvec-1.2.0.crate https://crates.io/api/v1/crates/tinyvec_macros/0.1.0/download -> tinyvec_macros-0.1.0.crate https://crates.io/api/v1/crates/toml_datetime/0.6.3/download -> toml_datetime-0.6.3.crate https://crates.io/api/v1/crates/toml_edit/0.19.15/download -> toml_edit-0.19.15.crate https://crates.io/api/v1/crates/trycmd/0.14.17/download -> trycmd-0.14.17.crate https://crates.io/api/v1/crates/unicode-bidi/0.3.5/download -> unicode-bidi-0.3.5.crate https://crates.io/api/v1/crates/unicode-ident/1.0.11/download -> unicode-ident-1.0.11.crate https://crates.io/api/v1/crates/unicode-normalization/0.1.17/download -> unicode-normalization-0.1.17.crate https://crates.io/api/v1/crates/unicode-width/0.1.11/download -> unicode-width-0.1.11.crate https://crates.io/api/v1/crates/url/2.2.1/download -> url-2.2.1.crate https://crates.io/api/v1/crates/utf8parse/0.2.1/download -> utf8parse-0.2.1.crate https://crates.io/api/v1/crates/uzers/0.11.3/download -> uzers-0.11.3.crate https://crates.io/api/v1/crates/vcpkg/0.2.12/download -> vcpkg-0.2.12.crate https://crates.io/api/v1/crates/wait-timeout/0.2.0/download -> wait-timeout-0.2.0.crate https://crates.io/api/v1/crates/walkdir/2.4.0/download -> walkdir-2.4.0.crate https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.87/download -> wasm-bindgen-backend-0.2.87.crate https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.87/download -> wasm-bindgen-macro-support-0.2.87.crate https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.87/download -> wasm-bindgen-macro-0.2.87.crate https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.87/download -> wasm-bindgen-shared-0.2.87.crate https://crates.io/api/v1/crates/wasm-bindgen/0.2.87/download -> wasm-bindgen-0.2.87.crate https://crates.io/api/v1/crates/web-sys/0.3.64/download -> web-sys-0.3.64.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-util/0.1.5/download -> winapi-util-0.1.5.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/windows-sys/0.48.0/download -> windows-sys-0.48.0.crate https://crates.io/api/v1/crates/windows-targets/0.48.5/download -> windows-targets-0.48.5.crate https://crates.io/api/v1/crates/windows/0.48.0/download -> windows-0.48.0.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.5/download -> windows_aarch64_gnullvm-0.48.5.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.5/download -> windows_aarch64_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.48.5/download -> windows_i686_gnu-0.48.5.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.48.5/download -> windows_i686_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.5/download -> windows_x86_64_gnu-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.5/download -> windows_x86_64_gnullvm-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.5/download -> windows_x86_64_msvc-0.48.5.crate https://crates.io/api/v1/crates/winnow/0.5.15/download -> winnow-0.5.15.crate https://crates.io/api/v1/crates/zoneinfo_compiled/0.5.1/download -> zoneinfo_compiled-0.5.1.crate
+_eclasses_=bash-completion-r1 f5e7a020fd9c741740756aac61bf75ff cargo 8520ae1bed0e6965d027399b471a3595 flag-o-matic be27a904c614cb93ae037762dc69bcc2 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 shell-completion bb7eb6bc232cd6c4bf8af739cdd2ee14 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
+_md5_=de8238ffb3b88306bf478f9914dbc6f1
diff --git a/metadata/md5-cache/sys-apps/hwdata-0.375 b/metadata/md5-cache/sys-apps/hwdata-0.375
new file mode 100644
index 000000000000..4e3203c37004
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/hwdata-0.375
@@ -0,0 +1,12 @@
+DEFINED_PHASES=configure
+DESCRIPTION=Hardware identification and configuration data
+EAPI=8
+HOMEPAGE=https://github.com/vcrhonek/hwdata
+INHERIT=edo
+KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux
+LICENSE=GPL-2+
+RESTRICT=test
+SLOT=0
+SRC_URI=https://github.com/vcrhonek/hwdata/archive/refs/tags/v0.375.tar.gz -> hwdata-0.375.tar.gz
+_eclasses_=edo c0eb9cbe6b0bd01fcb4918f12598a4d3
+_md5_=627a8b63f5c762f29957820525feb3e9
diff --git a/metadata/md5-cache/sys-fs/Manifest.gz b/metadata/md5-cache/sys-fs/Manifest.gz
index 0c42d8c7313f..26099f346a8e 100644
--- a/metadata/md5-cache/sys-fs/Manifest.gz
+++ b/metadata/md5-cache/sys-fs/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/sys-fs/btrfs-progs-6.5.2 b/metadata/md5-cache/sys-fs/btrfs-progs-6.5.2
new file mode 100644
index 000000000000..09874478e990
--- /dev/null
+++ b/metadata/md5-cache/sys-fs/btrfs-progs-6.5.2
@@ -0,0 +1,17 @@
+BDEPEND=virtual/pkgconfig man? ( dev-python/sphinx ) virtual/pkgconfig
+DEFINED_PHASES=compile configure install postinst postrm prepare setup test
+DEPEND=dev-libs/lzo:2= sys-apps/util-linux:=[static-libs(+)?] sys-libs/zlib:= convert? ( sys-fs/e2fsprogs:= reiserfs? ( >=sys-fs/reiserfsprogs-3.6.27 ) ) python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) ) udev? ( virtual/libudev:= ) zstd? ( app-arch/zstd:= ) >=sys-kernel/linux-headers-5.10 convert? ( sys-apps/acl ) python? ( python_single_target_python3_10? ( dev-python/setuptools[python_targets_python3_10(-)] ) python_single_target_python3_11? ( dev-python/setuptools[python_targets_python3_11(-)] ) ) static? ( dev-libs/lzo:2[static-libs(+)] sys-apps/util-linux:0[static-libs(+)] sys-libs/zlib:0[static-libs(+)] convert? ( sys-fs/e2fsprogs[static-libs(+)] reiserfs? ( >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)] ) ) zstd? ( app-arch/zstd[static-libs(+)] ) )
+DESCRIPTION=Btrfs filesystem utilities
+EAPI=8
+HOMEPAGE=https://btrfs.readthedocs.io/en/latest/
+INHERIT=bash-completion-r1 python-single-r1 udev
+IUSE=+convert python +man reiserfs static static-libs udev +zstd python_single_target_python3_10 python_single_target_python3_11
+KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86
+LICENSE=GPL-2
+RDEPEND=dev-libs/lzo:2= sys-apps/util-linux:=[static-libs(+)?] sys-libs/zlib:= convert? ( sys-fs/e2fsprogs:= reiserfs? ( >=sys-fs/reiserfsprogs-3.6.27 ) ) python? ( python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_target_python3_11? ( dev-lang/python:3.11 ) ) udev? ( virtual/libudev:= ) zstd? ( app-arch/zstd:= )
+REQUIRED_USE=static? ( !udev ) python? ( ^^ ( python_single_target_python3_10 python_single_target_python3_11 ) )
+RESTRICT=test
+SLOT=0/0
+SRC_URI=https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v6.5.2.tar.xz
+_eclasses_=bash-completion-r1 f5e7a020fd9c741740756aac61bf75ff multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-single-r1 75118e916668a74c660a13b0ecb22562 python-utils-r1 12aa0037eb004139215ff04894d52b28 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc udev eec0bbab06977f1cfc5597269c1fa152
+_md5_=ac8f6e7b54efbf29d8473b3088980d26
diff --git a/metadata/md5-cache/sys-fs/mtd-utils-2.1.6-r1 b/metadata/md5-cache/sys-fs/mtd-utils-2.1.6-r1
index 587a4e556cd0..6e5b5a3703f3 100644
--- a/metadata/md5-cache/sys-fs/mtd-utils-2.1.6-r1
+++ b/metadata/md5-cache/sys-fs/mtd-utils-2.1.6-r1
@@ -5,10 +5,10 @@ DESCRIPTION=MTD userspace tools (NFTL, JFFS2, NAND, FTL, UBI)
EAPI=8
HOMEPAGE=https://git.infradead.org/?p=mtd-utils.git;a=summary
IUSE=+lzo +ssl test xattr +zstd
-KEYWORDS=~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux
+KEYWORDS=amd64 arm arm64 ~loong ~mips ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux
LICENSE=GPL-2
RDEPEND=sys-apps/util-linux:= sys-libs/zlib:= lzo? ( dev-libs/lzo:= ) ssl? ( dev-libs/openssl:0= ) xattr? ( sys-apps/acl ) zstd? ( app-arch/zstd:= )
RESTRICT=!test? ( test )
SLOT=0
SRC_URI=https://infraroot.at/pub/mtd/mtd-utils-2.1.6.tar.bz2
-_md5_=2de044a1789de16233a0afbb2a69619c
+_md5_=2127723d27ea2bd5106f742fa419b67d
diff --git a/metadata/md5-cache/sys-libs/Manifest.gz b/metadata/md5-cache/sys-libs/Manifest.gz
index 9365ad8314dc..81f3b776e487 100644
--- a/metadata/md5-cache/sys-libs/Manifest.gz
+++ b/metadata/md5-cache/sys-libs/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/sys-libs/glibc-2.37-r5 b/metadata/md5-cache/sys-libs/glibc-2.37-r5
deleted file mode 100644
index 21ff382816ac..000000000000
--- a/metadata/md5-cache/sys-libs/glibc-2.37-r5
+++ /dev/null
@@ -1,18 +0,0 @@
-BDEPEND=|| ( dev-lang/python:3.11 dev-lang/python:3.10 ) >=app-misc/pax-utils-1.3.3 sys-devel/bison compile-locales? ( sys-apps/locale-gen ) doc? ( dev-lang/perl sys-apps/texinfo ) test? ( dev-lang/perl >=net-dns/libidn2-2.3.0 ) >=sys-devel/binutils-2.27 >=sys-devel/gcc-6.2 sys-devel/gnuconfig virtual/pkgconfig
-DEFINED_PHASES=compile configure install postinst preinst prepare pretend setup test unpack
-DEPEND=gd? ( media-libs/gd:2= ) nscd? ( selinux? ( audit? ( sys-process/audit ) caps? ( sys-libs/libcap ) ) ) suid? ( caps? ( sys-libs/libcap ) ) selinux? ( sys-libs/libselinux ) systemtap? ( dev-util/systemtap ) virtual/os-headers
-DESCRIPTION=GNU libc C library
-EAPI=8
-HOMEPAGE=https://www.gnu.org/software/libc/
-IDEPEND=!compile-locales? ( sys-apps/locale-gen )
-INHERIT=python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig multilib systemd multiprocessing tmpfiles
-IUSE=audit caps cet compile-locales +crypt custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86
-LICENSE=LGPL-2.1+ BSD HPND ISC inner-net rc PCRE
-PDEPEND=!vanilla? ( sys-libs/timezone-data )
-RDEPEND=gd? ( media-libs/gd:2= ) nscd? ( selinux? ( audit? ( sys-process/audit ) caps? ( sys-libs/libcap ) ) ) suid? ( caps? ( sys-libs/libcap ) ) selinux? ( sys-libs/libselinux ) systemtap? ( dev-util/systemtap ) !<app-misc/pax-utils-1.3.3 perl? ( dev-lang/perl ) >=net-dns/libidn2-2.3.0 vanilla? ( !sys-libs/timezone-data )
-RESTRICT=!test? ( test )
-SLOT=2.2
-SRC_URI=mirror://gnu/glibc/glibc-2.37.tar.xz https://dev.gentoo.org/~dilfridge/distfiles/glibc-2.37-patches-7.tar.xz multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-20201208.tar.xz ) systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-20210729.tar.gz )
-_eclasses_=flag-o-matic be27a904c614cb93ae037762dc69bcc2 gnuconfig b6b3e92f8b8c996400074b5f61a59256 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 prefix eab3c99d77fe00506c109c8a736186f7 preserve-libs 21162ec96c87041004a75348d97342dd python-any-r1 f5169813d1619761b459800587005fd2 python-utils-r1 12aa0037eb004139215ff04894d52b28 systemd c8b03e8df84486aa991d4396686e8942 tmpfiles 216aa76c3a6fcb5d893c23a0de86048f toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
-_md5_=b6e2ed8203b3a2a7bb5bafc76872b023
diff --git a/metadata/md5-cache/sys-libs/glibc-2.37-r6 b/metadata/md5-cache/sys-libs/glibc-2.37-r6
deleted file mode 100644
index ff421a2dfbb7..000000000000
--- a/metadata/md5-cache/sys-libs/glibc-2.37-r6
+++ /dev/null
@@ -1,18 +0,0 @@
-BDEPEND=|| ( dev-lang/python:3.11 dev-lang/python:3.10 ) >=app-misc/pax-utils-1.3.3 sys-devel/bison compile-locales? ( sys-apps/locale-gen ) doc? ( dev-lang/perl sys-apps/texinfo ) test? ( dev-lang/perl >=net-dns/libidn2-2.3.0 ) >=sys-devel/binutils-2.27 >=sys-devel/gcc-6.2 sys-devel/gnuconfig virtual/pkgconfig
-DEFINED_PHASES=compile configure install postinst preinst prepare pretend setup test unpack
-DEPEND=gd? ( media-libs/gd:2= ) nscd? ( selinux? ( audit? ( sys-process/audit ) caps? ( sys-libs/libcap ) ) ) suid? ( caps? ( sys-libs/libcap ) ) selinux? ( sys-libs/libselinux ) systemtap? ( dev-util/systemtap ) virtual/os-headers
-DESCRIPTION=GNU libc C library
-EAPI=8
-HOMEPAGE=https://www.gnu.org/software/libc/
-IDEPEND=!compile-locales? ( sys-apps/locale-gen )
-INHERIT=python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig multilib systemd multiprocessing tmpfiles
-IUSE=audit caps cet compile-locales +crypt custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86
-LICENSE=LGPL-2.1+ BSD HPND ISC inner-net rc PCRE
-PDEPEND=!vanilla? ( sys-libs/timezone-data )
-RDEPEND=gd? ( media-libs/gd:2= ) nscd? ( selinux? ( audit? ( sys-process/audit ) caps? ( sys-libs/libcap ) ) ) suid? ( caps? ( sys-libs/libcap ) ) selinux? ( sys-libs/libselinux ) systemtap? ( dev-util/systemtap ) !<app-misc/pax-utils-1.3.3 perl? ( dev-lang/perl ) >=net-dns/libidn2-2.3.0 vanilla? ( !sys-libs/timezone-data )
-RESTRICT=!test? ( test )
-SLOT=2.2
-SRC_URI=mirror://gnu/glibc/glibc-2.37.tar.xz https://dev.gentoo.org/~dilfridge/distfiles/glibc-2.37-patches-9.tar.xz multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-20201208.tar.xz ) systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-20210729.tar.gz )
-_eclasses_=flag-o-matic be27a904c614cb93ae037762dc69bcc2 gnuconfig b6b3e92f8b8c996400074b5f61a59256 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 prefix eab3c99d77fe00506c109c8a736186f7 preserve-libs 21162ec96c87041004a75348d97342dd python-any-r1 f5169813d1619761b459800587005fd2 python-utils-r1 12aa0037eb004139215ff04894d52b28 systemd c8b03e8df84486aa991d4396686e8942 tmpfiles 216aa76c3a6fcb5d893c23a0de86048f toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
-_md5_=bcda22410eb53c32db4b5597faff6e9d
diff --git a/metadata/md5-cache/sys-libs/glibc-2.37-r7 b/metadata/md5-cache/sys-libs/glibc-2.37-r7
index 12067d416b91..c314cd74a8cb 100644
--- a/metadata/md5-cache/sys-libs/glibc-2.37-r7
+++ b/metadata/md5-cache/sys-libs/glibc-2.37-r7
@@ -7,7 +7,7 @@ HOMEPAGE=https://www.gnu.org/software/libc/
IDEPEND=!compile-locales? ( sys-apps/locale-gen )
INHERIT=python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig multilib systemd multiprocessing tmpfiles
IUSE=audit caps cet compile-locales +crypt custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla
-KEYWORDS=~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86
+KEYWORDS=~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86
LICENSE=LGPL-2.1+ BSD HPND ISC inner-net rc PCRE
PDEPEND=!vanilla? ( sys-libs/timezone-data )
RDEPEND=gd? ( media-libs/gd:2= ) nscd? ( selinux? ( audit? ( sys-process/audit ) caps? ( sys-libs/libcap ) ) ) suid? ( caps? ( sys-libs/libcap ) ) selinux? ( sys-libs/libselinux ) systemtap? ( dev-util/systemtap ) !<app-misc/pax-utils-1.3.3 perl? ( dev-lang/perl ) >=net-dns/libidn2-2.3.0 vanilla? ( !sys-libs/timezone-data )
@@ -15,4 +15,4 @@ RESTRICT=!test? ( test )
SLOT=2.2
SRC_URI=mirror://gnu/glibc/glibc-2.37.tar.xz https://dev.gentoo.org/~dilfridge/distfiles/glibc-2.37-patches-10.tar.xz multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-20201208.tar.xz ) systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-20210729.tar.gz )
_eclasses_=flag-o-matic be27a904c614cb93ae037762dc69bcc2 gnuconfig b6b3e92f8b8c996400074b5f61a59256 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 prefix eab3c99d77fe00506c109c8a736186f7 preserve-libs 21162ec96c87041004a75348d97342dd python-any-r1 f5169813d1619761b459800587005fd2 python-utils-r1 12aa0037eb004139215ff04894d52b28 systemd c8b03e8df84486aa991d4396686e8942 tmpfiles 216aa76c3a6fcb5d893c23a0de86048f toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
-_md5_=f70d9348cd804d1f94c3001b26cd5121
+_md5_=491c50e924f4925b22dd792f4995fa6a
diff --git a/metadata/md5-cache/sys-libs/glibc-2.38-r2 b/metadata/md5-cache/sys-libs/glibc-2.38-r2
deleted file mode 100644
index c6a8361a24f1..000000000000
--- a/metadata/md5-cache/sys-libs/glibc-2.38-r2
+++ /dev/null
@@ -1,18 +0,0 @@
-BDEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) >=app-misc/pax-utils-1.3.3 sys-devel/bison compile-locales? ( sys-apps/locale-gen ) doc? ( dev-lang/perl sys-apps/texinfo ) test? ( dev-lang/perl >=net-dns/libidn2-2.3.0 ) >=sys-devel/binutils-2.27 >=sys-devel/gcc-6.2 sys-devel/gnuconfig virtual/pkgconfig
-DEFINED_PHASES=compile configure install postinst preinst prepare pretend setup test unpack
-DEPEND=gd? ( media-libs/gd:2= ) nscd? ( selinux? ( audit? ( sys-process/audit ) caps? ( sys-libs/libcap ) ) ) suid? ( caps? ( sys-libs/libcap ) ) selinux? ( sys-libs/libselinux ) systemtap? ( dev-util/systemtap ) virtual/os-headers
-DESCRIPTION=GNU libc C library
-EAPI=8
-HOMEPAGE=https://www.gnu.org/software/libc/
-IDEPEND=!compile-locales? ( sys-apps/locale-gen )
-INHERIT=python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig multilib systemd multiprocessing tmpfiles
-IUSE=audit caps cet compile-locales +crypt custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86
-LICENSE=LGPL-2.1+ BSD HPND ISC inner-net rc PCRE
-PDEPEND=!vanilla? ( sys-libs/timezone-data )
-RDEPEND=gd? ( media-libs/gd:2= ) nscd? ( selinux? ( audit? ( sys-process/audit ) caps? ( sys-libs/libcap ) ) ) suid? ( caps? ( sys-libs/libcap ) ) selinux? ( sys-libs/libselinux ) systemtap? ( dev-util/systemtap ) !<app-misc/pax-utils-1.3.3 perl? ( dev-lang/perl ) >=net-dns/libidn2-2.3.0 vanilla? ( !sys-libs/timezone-data )
-RESTRICT=!test? ( test )
-SLOT=2.2
-SRC_URI=mirror://gnu/glibc/glibc-2.38.tar.xz https://dev.gentoo.org/~dilfridge/distfiles/glibc-2.38-patches-3.tar.xz multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-20201208.tar.xz ) systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-20210729.tar.gz )
-_eclasses_=flag-o-matic be27a904c614cb93ae037762dc69bcc2 gnuconfig b6b3e92f8b8c996400074b5f61a59256 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 prefix eab3c99d77fe00506c109c8a736186f7 preserve-libs 21162ec96c87041004a75348d97342dd python-any-r1 f5169813d1619761b459800587005fd2 python-utils-r1 12aa0037eb004139215ff04894d52b28 systemd c8b03e8df84486aa991d4396686e8942 tmpfiles 216aa76c3a6fcb5d893c23a0de86048f toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
-_md5_=cebbf69fa289002b4c9c5bfd68041b4f
diff --git a/metadata/md5-cache/sys-libs/glibc-2.38-r4 b/metadata/md5-cache/sys-libs/glibc-2.38-r4
deleted file mode 100644
index 2da543476ab2..000000000000
--- a/metadata/md5-cache/sys-libs/glibc-2.38-r4
+++ /dev/null
@@ -1,18 +0,0 @@
-BDEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) >=app-misc/pax-utils-1.3.3 sys-devel/bison compile-locales? ( sys-apps/locale-gen ) doc? ( dev-lang/perl sys-apps/texinfo ) test? ( dev-lang/perl >=net-dns/libidn2-2.3.0 ) >=sys-devel/binutils-2.27 >=sys-devel/gcc-6.2 sys-devel/gnuconfig virtual/pkgconfig
-DEFINED_PHASES=compile configure install postinst preinst prepare pretend setup test unpack
-DEPEND=gd? ( media-libs/gd:2= ) nscd? ( selinux? ( audit? ( sys-process/audit ) caps? ( sys-libs/libcap ) ) ) suid? ( caps? ( sys-libs/libcap ) ) selinux? ( sys-libs/libselinux ) systemtap? ( dev-util/systemtap ) virtual/os-headers
-DESCRIPTION=GNU libc C library
-EAPI=8
-HOMEPAGE=https://www.gnu.org/software/libc/
-IDEPEND=!compile-locales? ( sys-apps/locale-gen )
-INHERIT=python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig multilib systemd multiprocessing tmpfiles
-IUSE=audit caps cet compile-locales +crypt custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86
-LICENSE=LGPL-2.1+ BSD HPND ISC inner-net rc PCRE
-PDEPEND=!vanilla? ( sys-libs/timezone-data )
-RDEPEND=gd? ( media-libs/gd:2= ) nscd? ( selinux? ( audit? ( sys-process/audit ) caps? ( sys-libs/libcap ) ) ) suid? ( caps? ( sys-libs/libcap ) ) selinux? ( sys-libs/libselinux ) systemtap? ( dev-util/systemtap ) !<app-misc/pax-utils-1.3.3 perl? ( dev-lang/perl ) >=net-dns/libidn2-2.3.0 vanilla? ( !sys-libs/timezone-data )
-RESTRICT=!test? ( test )
-SLOT=2.2
-SRC_URI=mirror://gnu/glibc/glibc-2.38.tar.xz https://dev.gentoo.org/~dilfridge/distfiles/glibc-2.38-patches-4.tar.xz multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-20201208.tar.xz ) systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-20210729.tar.gz )
-_eclasses_=flag-o-matic be27a904c614cb93ae037762dc69bcc2 gnuconfig b6b3e92f8b8c996400074b5f61a59256 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 prefix eab3c99d77fe00506c109c8a736186f7 preserve-libs 21162ec96c87041004a75348d97342dd python-any-r1 f5169813d1619761b459800587005fd2 python-utils-r1 12aa0037eb004139215ff04894d52b28 systemd c8b03e8df84486aa991d4396686e8942 tmpfiles 216aa76c3a6fcb5d893c23a0de86048f toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
-_md5_=b7565fbd3f26615e5ddfdc167b03bcfa
diff --git a/metadata/md5-cache/www-apps/Manifest.gz b/metadata/md5-cache/www-apps/Manifest.gz
index 161cf9482512..449602658d41 100644
--- a/metadata/md5-cache/www-apps/Manifest.gz
+++ b/metadata/md5-cache/www-apps/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/www-apps/ttyd-1.7.4 b/metadata/md5-cache/www-apps/ttyd-1.7.4
new file mode 100644
index 000000000000..e3fb950d68bc
--- /dev/null
+++ b/metadata/md5-cache/www-apps/ttyd-1.7.4
@@ -0,0 +1,14 @@
+BDEPEND=>=dev-util/ninja-1.8.2 >=dev-util/cmake-3.20.5 virtual/pkgconfig
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=dev-libs/json-c:= dev-libs/libuv:= net-libs/libwebsockets:=[libuv,ssl] sys-libs/zlib:=
+DESCRIPTION=ttyd, a simple command-line tool for sharing terminal over the web
+EAPI=8
+HOMEPAGE=https://github.com/tsl0922/ttyd
+INHERIT=cmake systemd
+KEYWORDS=~amd64
+LICENSE=MIT
+RDEPEND=dev-libs/json-c:= dev-libs/libuv:= net-libs/libwebsockets:=[libuv,ssl] sys-libs/zlib:=
+SLOT=0
+SRC_URI=https://github.com/tsl0922/ttyd/archive/1.7.4.tar.gz -> ttyd-1.7.4.tar.gz
+_eclasses_=cmake fc2f89084f590ac95c004ea95b0d2f80 flag-o-matic be27a904c614cb93ae037762dc69bcc2 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils f3010c780f65d1bb5aea15a9af1adc9c systemd c8b03e8df84486aa991d4396686e8942 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc xdg-utils baea6080dd821f5562d715887954c9d3
+_md5_=926a1a152e27185a549762b90e9ab04e
diff --git a/metadata/md5-cache/www-client/Manifest.gz b/metadata/md5-cache/www-client/Manifest.gz
index 67b206b30c3a..985a401eb0c1 100644
--- a/metadata/md5-cache/www-client/Manifest.gz
+++ b/metadata/md5-cache/www-client/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/www-client/chromium-117.0.5938.149 b/metadata/md5-cache/www-client/chromium-117.0.5938.149
new file mode 100644
index 000000000000..8974efbe53d4
--- /dev/null
+++ b/metadata/md5-cache/www-client/chromium-117.0.5938.149
@@ -0,0 +1,16 @@
+BDEPEND=system-icu? ( >=dev-libs/icu-71.1:= ) >=dev-libs/libxml2-2.9.4-r3:=[icu] dev-libs/nspr:= >=dev-libs/nss-3.26:= dev-libs/libxslt:= media-libs/fontconfig:= >=media-libs/freetype-2.11.0-r1:= system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) media-libs/libjpeg-turbo:= system-png? ( media-libs/libpng:=[-apng(-)] ) system-zstd? ( >=app-arch/zstd-1.5.5:= ) >=media-libs/libwebp-0.4.0:= media-libs/mesa:=[gbm(+)] >=media-libs/openh264-1.6.0:= system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-3.4.0:= ) sys-libs/zlib:= x11-libs/libdrm:= !headless? ( dev-libs/glib:2 >=media-libs/alsa-lib-1.0.19:= pulseaudio? ( media-libs/libpulse:= ) sys-apps/pciutils:= kerberos? ( virtual/krb5 ) vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) X? ( x11-libs/libX11:= x11-libs/libXext:= x11-libs/libxcb:= ) x11-libs/libxkbcommon:= wayland? ( dev-libs/libffi:= screencast? ( media-video/pipewire:= ) ) ) || ( dev-lang/python:3.11[xml(+)] dev-lang/python:3.10[xml(+)] ) || ( ( dev-lang/python:3.11[xml(+)] dev-python/setuptools[python_targets_python3_11(-)] ) ( dev-lang/python:3.10[xml(+)] dev-python/setuptools[python_targets_python3_10(-)] ) ) >=app-arch/gzip-1.7 !headless? ( qt5? ( dev-qt/qtcore:5 ) qt6? ( dev-qt/qtbase:6 ) ) libcxx? ( >=sys-devel/clang-16 ) lto? ( sys-devel/clang:16 sys-devel/llvm:16 =sys-devel/lld-16* ) pgo? ( >=dev-python/selenium-3.141.0 >=dev-util/web_page_replay_go-20220314 sys-devel/clang:16 sys-devel/llvm:16 =sys-devel/lld-16* ) dev-lang/perl >=dev-util/gn-0.2114 >=dev-util/gperf-3.0.3 >=dev-util/ninja-1.7.2 dev-vcs/git >=net-libs/nodejs-7.6.0[inspector] >=sys-devel/bison-2.4.3 sys-devel/flex virtual/pkgconfig pgo? ( x11-base/xorg-server[xvfb] x11-apps/xhost )
+DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup
+DEPEND=system-icu? ( >=dev-libs/icu-71.1:= ) >=dev-libs/libxml2-2.9.4-r3:=[icu] dev-libs/nspr:= >=dev-libs/nss-3.26:= dev-libs/libxslt:= media-libs/fontconfig:= >=media-libs/freetype-2.11.0-r1:= system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) media-libs/libjpeg-turbo:= system-png? ( media-libs/libpng:=[-apng(-)] ) system-zstd? ( >=app-arch/zstd-1.5.5:= ) >=media-libs/libwebp-0.4.0:= media-libs/mesa:=[gbm(+)] >=media-libs/openh264-1.6.0:= system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-3.4.0:= ) sys-libs/zlib:= x11-libs/libdrm:= !headless? ( dev-libs/glib:2 >=media-libs/alsa-lib-1.0.19:= pulseaudio? ( media-libs/libpulse:= ) sys-apps/pciutils:= kerberos? ( virtual/krb5 ) vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) X? ( x11-libs/libX11:= x11-libs/libXext:= x11-libs/libxcb:= ) x11-libs/libxkbcommon:= wayland? ( dev-libs/libffi:= screencast? ( media-video/pipewire:= ) ) ) app-arch/bzip2:= dev-libs/expat:= system-ffmpeg? ( >=media-video/ffmpeg-4.3:= || ( media-video/ffmpeg[-samba] >=net-fs/samba-4.5.10-r1[-debug(-)] ) >=media-libs/opus-1.3.1:= ) net-misc/curl[ssl] sys-apps/dbus:= media-libs/flac:= sys-libs/zlib:=[minizip] !headless? ( X? ( x11-libs/libXcomposite:= x11-libs/libXcursor:= x11-libs/libXdamage:= x11-libs/libXfixes:= >=x11-libs/libXi-1.6.0:= x11-libs/libXrandr:= x11-libs/libXrender:= x11-libs/libXtst:= x11-libs/libxshmfence:= ) >=app-accessibility/at-spi2-core-2.46.0:2 media-libs/mesa:=[X?,wayland?] cups? ( >=net-print/cups-1.3.11:= ) virtual/udev x11-libs/cairo:= x11-libs/gdk-pixbuf:2 x11-libs/pango:= qt5? ( dev-qt/qtcore:5 dev-qt/qtwidgets:5 ) qt6? ( dev-qt/qtbase:6[gui,widgets] ) ) !headless? ( gtk4? ( gui-libs/gtk:4[X?,wayland?] ) !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) ) !!sys-devel/llvm:0
+DESCRIPTION=Open-source version of Google Chrome web browser
+EAPI=8
+HOMEPAGE=https://www.chromium.org/
+INHERIT=check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils
+IUSE=+X +system-av1 +system-ffmpeg +system-harfbuzz +system-icu +system-png +system-zstd component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless kerberos libcxx lto +official pax-kernel pgo pic +proprietary-codecs pulseaudio qt5 qt6 screencast selinux +suid vaapi wayland widevine custom-cflags +l10n_af +l10n_am +l10n_ar +l10n_bg +l10n_bn +l10n_ca +l10n_cs +l10n_da +l10n_de +l10n_el +l10n_en-GB +l10n_es +l10n_es-419 +l10n_et +l10n_fa +l10n_fi +l10n_fil +l10n_fr +l10n_gu +l10n_he +l10n_hi +l10n_hr +l10n_hu +l10n_id +l10n_it +l10n_ja +l10n_kn +l10n_ko +l10n_lt +l10n_lv +l10n_ml +l10n_mr +l10n_ms +l10n_nb +l10n_nl +l10n_pl +l10n_pt-BR +l10n_pt-PT +l10n_ro +l10n_ru +l10n_sk +l10n_sl +l10n_sr +l10n_sv +l10n_sw +l10n_ta +l10n_te +l10n_th +l10n_tr +l10n_uk +l10n_ur +l10n_vi +l10n_zh-CN +l10n_zh-TW pgo
+KEYWORDS=~amd64 ~arm64 ~ppc64
+LICENSE=BSD
+RDEPEND=system-icu? ( >=dev-libs/icu-71.1:= ) >=dev-libs/libxml2-2.9.4-r3:=[icu] dev-libs/nspr:= >=dev-libs/nss-3.26:= dev-libs/libxslt:= media-libs/fontconfig:= >=media-libs/freetype-2.11.0-r1:= system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) media-libs/libjpeg-turbo:= system-png? ( media-libs/libpng:=[-apng(-)] ) system-zstd? ( >=app-arch/zstd-1.5.5:= ) >=media-libs/libwebp-0.4.0:= media-libs/mesa:=[gbm(+)] >=media-libs/openh264-1.6.0:= system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-3.4.0:= ) sys-libs/zlib:= x11-libs/libdrm:= !headless? ( dev-libs/glib:2 >=media-libs/alsa-lib-1.0.19:= pulseaudio? ( media-libs/libpulse:= ) sys-apps/pciutils:= kerberos? ( virtual/krb5 ) vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) X? ( x11-libs/libX11:= x11-libs/libXext:= x11-libs/libxcb:= ) x11-libs/libxkbcommon:= wayland? ( dev-libs/libffi:= screencast? ( media-video/pipewire:= ) ) ) app-arch/bzip2:= dev-libs/expat:= system-ffmpeg? ( >=media-video/ffmpeg-4.3:= || ( media-video/ffmpeg[-samba] >=net-fs/samba-4.5.10-r1[-debug(-)] ) >=media-libs/opus-1.3.1:= ) net-misc/curl[ssl] sys-apps/dbus:= media-libs/flac:= sys-libs/zlib:=[minizip] !headless? ( X? ( x11-libs/libXcomposite:= x11-libs/libXcursor:= x11-libs/libXdamage:= x11-libs/libXfixes:= >=x11-libs/libXi-1.6.0:= x11-libs/libXrandr:= x11-libs/libXrender:= x11-libs/libXtst:= x11-libs/libxshmfence:= ) >=app-accessibility/at-spi2-core-2.46.0:2 media-libs/mesa:=[X?,wayland?] cups? ( >=net-print/cups-1.3.11:= ) virtual/udev x11-libs/cairo:= x11-libs/gdk-pixbuf:2 x11-libs/pango:= qt5? ( dev-qt/qtcore:5 dev-qt/qtwidgets:5 ) qt6? ( dev-qt/qtbase:6[gui,widgets] ) ) !headless? ( || ( x11-libs/gtk+:3[X?,wayland?] gui-libs/gtk:4[X?,wayland?] ) qt5? ( dev-qt/qtgui:5[X?,wayland?] ) qt6? ( dev-qt/qtbase:6[X?,wayland?] ) ) virtual/ttf-fonts selinux? ( sec-policy/selinux-chromium )
+REQUIRED_USE=component-build? ( !suid !libcxx ) screencast? ( wayland ) !headless? ( || ( X wayland ) ) pgo? ( X !wayland ) qt6? ( qt5 )
+SLOT=0/stable
+SRC_URI=https://commondatastorage.googleapis.com/chromium-browser-official/chromium-117.0.5938.149.tar.xz https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/117/chromium-patches-117.tar.bz2 ppc64? ( https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_117.0.5938.62-1raptor0~deb12u1.debian.tar.xz https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz ) pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )
+_eclasses_=check-reqs 02ac7654b64f7acc7a8b1a35ad9d6ddc chromium-2 93690d770dc2e27deaa89794e2f9fe3f desktop 021728fdc1b03b36357dbc89489e0f0d flag-o-matic be27a904c614cb93ae037762dc69bcc2 linux-info c4f1201b96a8a2c1f3b86cc8b2c71c91 llvm 2e1701c714b75feb512bffdecd3fe7d0 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils f3010c780f65d1bb5aea15a9af1adc9c pax-utils 91d47e5d20627c717aa878b9167c62a8 python-any-r1 f5169813d1619761b459800587005fd2 python-utils-r1 12aa0037eb004139215ff04894d52b28 qmake-utils a8dd17b1d94586164f5e3fc12b1c6b81 readme.gentoo-r1 204091a2cde6179cd9d3db26d09412d3 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc virtualx 817571665ee28575da44ee08135089e5 xdg-utils baea6080dd821f5562d715887954c9d3
+_md5_=1188ad0139033041c3482b6b0099994d
diff --git a/metadata/md5-cache/www-client/microsoft-edge-beta-117.0.2045.31 b/metadata/md5-cache/www-client/microsoft-edge-beta-118.0.2088.24
index 6b6ed92fe6bc..d1bcd3c69ffc 100644
--- a/metadata/md5-cache/www-client/microsoft-edge-beta-117.0.2045.31
+++ b/metadata/md5-cache/www-client/microsoft-edge-beta-118.0.2088.24
@@ -10,6 +10,6 @@ LICENSE=microsoft-edge
RDEPEND=>=app-accessibility/at-spi2-core-2.46.0:2 app-misc/ca-certificates dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss media-fonts/liberation-fonts media-libs/alsa-lib media-libs/mesa[gbm(+)] net-misc/curl[ssl] net-print/cups sys-apps/dbus sys-apps/util-linux sys-libs/glibc x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3[X] x11-libs/libdrm x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libxshmfence x11-libs/pango x11-misc/xdg-utils mip? ( app-crypt/libsecret ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5[X] dev-qt/qtwidgets:5 )
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-beta/microsoft-edge-beta_117.0.2045.31-1_amd64.deb
+SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-beta/microsoft-edge-beta_118.0.2088.24-1_amd64.deb
_eclasses_=chromium-2 93690d770dc2e27deaa89794e2f9fe3f desktop 021728fdc1b03b36357dbc89489e0f0d linux-info c4f1201b96a8a2c1f3b86cc8b2c71c91 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc unpacker aa6a4e924009232d8b78b31e932c30b5 xdg 4a14c5c24f121e7da66e5aab4a168c6e xdg-utils baea6080dd821f5562d715887954c9d3
_md5_=c35de9f6a641eab8e5a8a8dc008143f6
diff --git a/metadata/md5-cache/www-client/microsoft-edge-dev-118.0.2088.9 b/metadata/md5-cache/www-client/microsoft-edge-dev-119.0.2132.0
index c9be29447a8b..965bf38fdd2b 100644
--- a/metadata/md5-cache/www-client/microsoft-edge-dev-118.0.2088.9
+++ b/metadata/md5-cache/www-client/microsoft-edge-dev-119.0.2132.0
@@ -10,6 +10,6 @@ LICENSE=microsoft-edge
RDEPEND=>=app-accessibility/at-spi2-core-2.46.0:2 app-misc/ca-certificates dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss media-fonts/liberation-fonts media-libs/alsa-lib media-libs/mesa[gbm(+)] net-misc/curl[ssl] net-print/cups sys-apps/dbus sys-apps/util-linux sys-libs/glibc x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3[X] x11-libs/libdrm x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libxshmfence x11-libs/pango x11-misc/xdg-utils mip? ( app-crypt/libsecret ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5[X] dev-qt/qtwidgets:5 )
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-dev/microsoft-edge-dev_118.0.2088.9-1_amd64.deb
+SRC_URI=https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-dev/microsoft-edge-dev_119.0.2132.0-1_amd64.deb
_eclasses_=chromium-2 93690d770dc2e27deaa89794e2f9fe3f desktop 021728fdc1b03b36357dbc89489e0f0d linux-info c4f1201b96a8a2c1f3b86cc8b2c71c91 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc unpacker aa6a4e924009232d8b78b31e932c30b5 xdg 4a14c5c24f121e7da66e5aab4a168c6e xdg-utils baea6080dd821f5562d715887954c9d3
_md5_=c35de9f6a641eab8e5a8a8dc008143f6
diff --git a/metadata/md5-cache/www-client/opera-102.0.4880.78 b/metadata/md5-cache/www-client/opera-103.0.4928.16
index d9f1d7972e15..0e4d992efdd5 100644
--- a/metadata/md5-cache/www-client/opera-102.0.4880.78
+++ b/metadata/md5-cache/www-client/opera-103.0.4928.16
@@ -10,6 +10,6 @@ LICENSE=OPERA-2018
RDEPEND=>=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss gnome-base/gsettings-desktop-schemas media-libs/alsa-lib media-libs/mesa[gbm(+)] net-misc/curl net-print/cups sys-apps/dbus sys-libs/glibc x11-libs/cairo x11-libs/gdk-pixbuf x11-libs/gtk+:3 x11-libs/libdrm x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libxshmfence x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/pango qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5[X] dev-qt/qtwidgets:5 ) qt6? ( dev-qt/qtbase:6[gui,widgets] )
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=https://download1.operacdn.com/pub/opera/desktop/102.0.4880.78/linux/opera-stable_102.0.4880.78_amd64.deb https://download2.operacdn.com/pub/opera/desktop/102.0.4880.78/linux/opera-stable_102.0.4880.78_amd64.deb https://download3.operacdn.com/pub/opera/desktop/102.0.4880.78/linux/opera-stable_102.0.4880.78_amd64.deb https://download4.operacdn.com/pub/opera/desktop/102.0.4880.78/linux/opera-stable_102.0.4880.78_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-114.0.5735.9.tar.xz )
+SRC_URI=https://download1.operacdn.com/pub/opera/desktop/103.0.4928.16/linux/opera-stable_103.0.4928.16_amd64.deb https://download2.operacdn.com/pub/opera/desktop/103.0.4928.16/linux/opera-stable_103.0.4928.16_amd64.deb https://download3.operacdn.com/pub/opera/desktop/103.0.4928.16/linux/opera-stable_103.0.4928.16_amd64.deb https://download4.operacdn.com/pub/opera/desktop/103.0.4928.16/linux/opera-stable_103.0.4928.16_amd64.deb proprietary-codecs? ( mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-114.0.5735.9.tar.xz )
_eclasses_=chromium-2 93690d770dc2e27deaa89794e2f9fe3f linux-info c4f1201b96a8a2c1f3b86cc8b2c71c91 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc unpacker aa6a4e924009232d8b78b31e932c30b5 xdg 4a14c5c24f121e7da66e5aab4a168c6e xdg-utils baea6080dd821f5562d715887954c9d3
_md5_=36c83734bce9e2bc65cb023ef725ef22
diff --git a/metadata/md5-cache/x11-terms/Manifest.gz b/metadata/md5-cache/x11-terms/Manifest.gz
index 96370338102b..19d68e92b5a5 100644
--- a/metadata/md5-cache/x11-terms/Manifest.gz
+++ b/metadata/md5-cache/x11-terms/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/x11-terms/alacritty-0.12.3 b/metadata/md5-cache/x11-terms/alacritty-0.12.3
new file mode 100644
index 000000000000..cc0b553321a3
--- /dev/null
+++ b/metadata/md5-cache/x11-terms/alacritty-0.12.3
@@ -0,0 +1,16 @@
+BDEPEND=dev-util/cmake >=virtual/rust-1.57.0 >=virtual/rust-1.53
+DEFINED_PHASES=compile configure install postinst setup test unpack
+DEPEND=media-libs/fontconfig:= media-libs/freetype:2 x11-libs/libxkbcommon X? ( x11-libs/libxcb:= ) || ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 )
+DESCRIPTION=GPU-accelerated terminal emulator
+EAPI=8
+HOMEPAGE=https://alacritty.org
+INHERIT=bash-completion-r1 cargo desktop python-any-r1
+IUSE=wayland +X debug
+KEYWORDS=~amd64 ~arm64 ~ppc64 ~riscv ~x86
+LICENSE=Apache-2.0 Artistic-2 Boost-1.0 BSD BSD-2 CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB
+RDEPEND=media-libs/fontconfig:= media-libs/freetype:2 x11-libs/libxkbcommon X? ( x11-libs/libxcb:= ) media-libs/mesa[X?,wayland?] sys-libs/zlib sys-libs/ncurses:0 wayland? ( dev-libs/wayland ) X? ( x11-libs/libXcursor x11-libs/libXi x11-libs/libXrandr )
+REQUIRED_USE=|| ( wayland X )
+SLOT=0
+SRC_URI=https://github.com/alacritty/alacritty/archive/refs/tags/v0.12.3.tar.gz -> alacritty-0.12.3.tar.gz https://crates.io/api/v1/crates/adler/1.0.2/download -> adler-1.0.2.crate https://crates.io/api/v1/crates/android-activity/0.4.0/download -> android-activity-0.4.0.crate https://crates.io/api/v1/crates/android-properties/0.2.2/download -> android-properties-0.2.2.crate https://crates.io/api/v1/crates/arrayref/0.3.6/download -> arrayref-0.3.6.crate https://crates.io/api/v1/crates/arrayvec/0.7.2/download -> arrayvec-0.7.2.crate https://crates.io/api/v1/crates/atty/0.2.14/download -> atty-0.2.14.crate https://crates.io/api/v1/crates/autocfg/1.1.0/download -> autocfg-1.1.0.crate https://crates.io/api/v1/crates/base64/0.13.0/download -> base64-0.13.0.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/block/0.1.6/download -> block-0.1.6.crate https://crates.io/api/v1/crates/block-sys/0.1.0-beta.1/download -> block-sys-0.1.0-beta.1.crate https://crates.io/api/v1/crates/block2/0.2.0-alpha.6/download -> block2-0.2.0-alpha.6.crate https://crates.io/api/v1/crates/bumpalo/3.12.0/download -> bumpalo-3.12.0.crate https://crates.io/api/v1/crates/bytemuck/1.12.1/download -> bytemuck-1.12.1.crate https://crates.io/api/v1/crates/calloop/0.10.4/download -> calloop-0.10.4.crate https://crates.io/api/v1/crates/cc/1.0.73/download -> cc-1.0.73.crate https://crates.io/api/v1/crates/cfg-if/0.1.10/download -> cfg-if-0.1.10.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/cfg_aliases/0.1.1/download -> cfg_aliases-0.1.1.crate https://crates.io/api/v1/crates/cgl/0.3.2/download -> cgl-0.3.2.crate https://crates.io/api/v1/crates/clap/3.2.21/download -> clap-3.2.21.crate https://crates.io/api/v1/crates/clap_complete/3.2.5/download -> clap_complete-3.2.5.crate https://crates.io/api/v1/crates/clap_derive/3.2.18/download -> clap_derive-3.2.18.crate https://crates.io/api/v1/crates/clap_lex/0.2.4/download -> clap_lex-0.2.4.crate https://crates.io/api/v1/crates/clipboard-win/3.1.1/download -> clipboard-win-3.1.1.crate https://crates.io/api/v1/crates/cmake/0.1.48/download -> cmake-0.1.48.crate https://crates.io/api/v1/crates/cocoa/0.24.0/download -> cocoa-0.24.0.crate https://crates.io/api/v1/crates/cocoa-foundation/0.1.0/download -> cocoa-foundation-0.1.0.crate https://crates.io/api/v1/crates/copypasta/0.8.2/download -> copypasta-0.8.2.crate https://crates.io/api/v1/crates/core-foundation/0.9.3/download -> core-foundation-0.9.3.crate https://crates.io/api/v1/crates/core-foundation-sys/0.8.3/download -> core-foundation-sys-0.8.3.crate https://crates.io/api/v1/crates/core-graphics/0.22.3/download -> core-graphics-0.22.3.crate https://crates.io/api/v1/crates/core-graphics-types/0.1.1/download -> core-graphics-types-0.1.1.crate https://crates.io/api/v1/crates/core-text/19.2.0/download -> core-text-19.2.0.crate https://crates.io/api/v1/crates/crc32fast/1.3.2/download -> crc32fast-1.3.2.crate https://crates.io/api/v1/crates/crossbeam-channel/0.5.6/download -> crossbeam-channel-0.5.6.crate https://crates.io/api/v1/crates/crossbeam-utils/0.8.12/download -> crossbeam-utils-0.8.12.crate https://crates.io/api/v1/crates/crossfont/0.5.1/download -> crossfont-0.5.1.crate https://crates.io/api/v1/crates/cty/0.2.2/download -> cty-0.2.2.crate https://crates.io/api/v1/crates/dirs/4.0.0/download -> dirs-4.0.0.crate https://crates.io/api/v1/crates/dirs-sys/0.3.7/download -> dirs-sys-0.3.7.crate https://crates.io/api/v1/crates/dispatch/0.2.0/download -> dispatch-0.2.0.crate https://crates.io/api/v1/crates/dlib/0.5.0/download -> dlib-0.5.0.crate https://crates.io/api/v1/crates/downcast-rs/1.2.0/download -> downcast-rs-1.2.0.crate https://crates.io/api/v1/crates/dwrote/0.11.0/download -> dwrote-0.11.0.crate https://crates.io/api/v1/crates/embed-resource/1.7.3/download -> embed-resource-1.7.3.crate https://crates.io/api/v1/crates/expat-sys/2.1.6/download -> expat-sys-2.1.6.crate https://crates.io/api/v1/crates/filetime/0.2.17/download -> filetime-0.2.17.crate https://crates.io/api/v1/crates/flate2/1.0.24/download -> flate2-1.0.24.crate https://crates.io/api/v1/crates/fnv/1.0.7/download -> fnv-1.0.7.crate https://crates.io/api/v1/crates/foreign-types/0.3.2/download -> foreign-types-0.3.2.crate https://crates.io/api/v1/crates/foreign-types/0.5.0/download -> foreign-types-0.5.0.crate https://crates.io/api/v1/crates/foreign-types-macros/0.2.2/download -> foreign-types-macros-0.2.2.crate https://crates.io/api/v1/crates/foreign-types-shared/0.1.1/download -> foreign-types-shared-0.1.1.crate https://crates.io/api/v1/crates/foreign-types-shared/0.3.1/download -> foreign-types-shared-0.3.1.crate https://crates.io/api/v1/crates/freetype-rs/0.26.0/download -> freetype-rs-0.26.0.crate https://crates.io/api/v1/crates/freetype-sys/0.13.1/download -> freetype-sys-0.13.1.crate https://crates.io/api/v1/crates/fsevent-sys/4.1.0/download -> fsevent-sys-4.1.0.crate https://crates.io/api/v1/crates/fuchsia-zircon/0.3.3/download -> fuchsia-zircon-0.3.3.crate https://crates.io/api/v1/crates/fuchsia-zircon-sys/0.3.3/download -> fuchsia-zircon-sys-0.3.3.crate https://crates.io/api/v1/crates/gethostname/0.2.3/download -> gethostname-0.2.3.crate https://crates.io/api/v1/crates/getrandom/0.2.7/download -> getrandom-0.2.7.crate https://crates.io/api/v1/crates/gl_generator/0.14.0/download -> gl_generator-0.14.0.crate https://crates.io/api/v1/crates/glutin/0.30.9/download -> glutin-0.30.9.crate https://crates.io/api/v1/crates/glutin_egl_sys/0.5.0/download -> glutin_egl_sys-0.5.0.crate https://crates.io/api/v1/crates/glutin_glx_sys/0.4.0/download -> glutin_glx_sys-0.4.0.crate https://crates.io/api/v1/crates/glutin_wgl_sys/0.4.0/download -> glutin_wgl_sys-0.4.0.crate https://crates.io/api/v1/crates/hashbrown/0.12.3/download -> hashbrown-0.12.3.crate https://crates.io/api/v1/crates/heck/0.4.0/download -> heck-0.4.0.crate https://crates.io/api/v1/crates/hermit-abi/0.1.19/download -> hermit-abi-0.1.19.crate https://crates.io/api/v1/crates/indexmap/1.9.1/download -> indexmap-1.9.1.crate https://crates.io/api/v1/crates/inotify/0.9.6/download -> inotify-0.9.6.crate https://crates.io/api/v1/crates/inotify-sys/0.1.5/download -> inotify-sys-0.1.5.crate https://crates.io/api/v1/crates/instant/0.1.12/download -> instant-0.1.12.crate https://crates.io/api/v1/crates/iovec/0.1.4/download -> iovec-0.1.4.crate https://crates.io/api/v1/crates/itoa/1.0.3/download -> itoa-1.0.3.crate https://crates.io/api/v1/crates/jni-sys/0.3.0/download -> jni-sys-0.3.0.crate https://crates.io/api/v1/crates/jobserver/0.1.25/download -> jobserver-0.1.25.crate https://crates.io/api/v1/crates/js-sys/0.3.60/download -> js-sys-0.3.60.crate https://crates.io/api/v1/crates/kernel32-sys/0.2.2/download -> kernel32-sys-0.2.2.crate https://crates.io/api/v1/crates/khronos_api/3.1.0/download -> khronos_api-3.1.0.crate https://crates.io/api/v1/crates/kqueue/1.0.7/download -> kqueue-1.0.7.crate https://crates.io/api/v1/crates/kqueue-sys/1.0.3/download -> kqueue-sys-1.0.3.crate https://crates.io/api/v1/crates/lazy-bytes-cast/5.0.1/download -> lazy-bytes-cast-5.0.1.crate https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate https://crates.io/api/v1/crates/lazycell/1.3.0/download -> lazycell-1.3.0.crate https://crates.io/api/v1/crates/libc/0.2.132/download -> libc-0.2.132.crate https://crates.io/api/v1/crates/libloading/0.7.3/download -> libloading-0.7.3.crate https://crates.io/api/v1/crates/linked-hash-map/0.5.6/download -> linked-hash-map-0.5.6.crate https://crates.io/api/v1/crates/lock_api/0.4.8/download -> lock_api-0.4.8.crate https://crates.io/api/v1/crates/log/0.4.17/download -> log-0.4.17.crate https://crates.io/api/v1/crates/malloc_buf/0.0.6/download -> malloc_buf-0.0.6.crate https://crates.io/api/v1/crates/memchr/2.5.0/download -> memchr-2.5.0.crate https://crates.io/api/v1/crates/memmap2/0.5.10/download -> memmap2-0.5.10.crate https://crates.io/api/v1/crates/memoffset/0.6.5/download -> memoffset-0.6.5.crate https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download -> minimal-lexical-0.2.1.crate https://crates.io/api/v1/crates/miniz_oxide/0.5.4/download -> miniz_oxide-0.5.4.crate https://crates.io/api/v1/crates/mio/0.6.23/download -> mio-0.6.23.crate https://crates.io/api/v1/crates/mio/0.8.4/download -> mio-0.8.4.crate https://crates.io/api/v1/crates/mio-anonymous-pipes/0.2.0/download -> mio-anonymous-pipes-0.2.0.crate https://crates.io/api/v1/crates/mio-extras/2.0.6/download -> mio-extras-2.0.6.crate https://crates.io/api/v1/crates/mio-uds/0.6.8/download -> mio-uds-0.6.8.crate https://crates.io/api/v1/crates/miow/0.2.2/download -> miow-0.2.2.crate https://crates.io/api/v1/crates/miow/0.3.7/download -> miow-0.3.7.crate https://crates.io/api/v1/crates/ndk/0.7.0/download -> ndk-0.7.0.crate https://crates.io/api/v1/crates/ndk-context/0.1.1/download -> ndk-context-0.1.1.crate https://crates.io/api/v1/crates/ndk-sys/0.4.1+23.1.7779620/download -> ndk-sys-0.4.1+23.1.7779620.crate https://crates.io/api/v1/crates/net2/0.2.37/download -> net2-0.2.37.crate https://crates.io/api/v1/crates/nix/0.24.2/download -> nix-0.24.2.crate https://crates.io/api/v1/crates/nix/0.25.1/download -> nix-0.25.1.crate https://crates.io/api/v1/crates/nom/7.1.1/download -> nom-7.1.1.crate https://crates.io/api/v1/crates/notify/5.1.0/download -> notify-5.1.0.crate https://crates.io/api/v1/crates/num_enum/0.5.7/download -> num_enum-0.5.7.crate https://crates.io/api/v1/crates/num_enum_derive/0.5.7/download -> num_enum_derive-0.5.7.crate https://crates.io/api/v1/crates/objc/0.2.7/download -> objc-0.2.7.crate https://crates.io/api/v1/crates/objc-foundation/0.1.1/download -> objc-foundation-0.1.1.crate https://crates.io/api/v1/crates/objc-sys/0.2.0-beta.2/download -> objc-sys-0.2.0-beta.2.crate https://crates.io/api/v1/crates/objc2/0.3.0-beta.3.patch-leaks.2/download -> objc2-0.3.0-beta.3.patch-leaks.2.crate https://crates.io/api/v1/crates/objc2-encode/2.0.0-pre.2/download -> objc2-encode-2.0.0-pre.2.crate https://crates.io/api/v1/crates/objc_id/0.1.1/download -> objc_id-0.1.1.crate https://crates.io/api/v1/crates/once_cell/1.14.0/download -> once_cell-1.14.0.crate https://crates.io/api/v1/crates/orbclient/0.3.42/download -> orbclient-0.3.42.crate https://crates.io/api/v1/crates/os_str_bytes/6.3.0/download -> os_str_bytes-6.3.0.crate https://crates.io/api/v1/crates/parking_lot/0.11.2/download -> parking_lot-0.11.2.crate https://crates.io/api/v1/crates/parking_lot/0.12.1/download -> parking_lot-0.12.1.crate https://crates.io/api/v1/crates/parking_lot_core/0.8.5/download -> parking_lot_core-0.8.5.crate https://crates.io/api/v1/crates/parking_lot_core/0.9.3/download -> parking_lot_core-0.9.3.crate https://crates.io/api/v1/crates/percent-encoding/2.2.0/download -> percent-encoding-2.2.0.crate https://crates.io/api/v1/crates/pkg-config/0.3.25/download -> pkg-config-0.3.25.crate https://crates.io/api/v1/crates/png/0.17.6/download -> png-0.17.6.crate https://crates.io/api/v1/crates/proc-macro-crate/1.2.1/download -> proc-macro-crate-1.2.1.crate https://crates.io/api/v1/crates/proc-macro-error/1.0.4/download -> proc-macro-error-1.0.4.crate https://crates.io/api/v1/crates/proc-macro-error-attr/1.0.4/download -> proc-macro-error-attr-1.0.4.crate https://crates.io/api/v1/crates/proc-macro2/1.0.43/download -> proc-macro2-1.0.43.crate https://crates.io/api/v1/crates/quote/1.0.21/download -> quote-1.0.21.crate https://crates.io/api/v1/crates/raw-window-handle/0.5.0/download -> raw-window-handle-0.5.0.crate https://crates.io/api/v1/crates/redox_syscall/0.2.16/download -> redox_syscall-0.2.16.crate https://crates.io/api/v1/crates/redox_syscall/0.3.4/download -> redox_syscall-0.3.4.crate https://crates.io/api/v1/crates/redox_users/0.4.3/download -> redox_users-0.4.3.crate https://crates.io/api/v1/crates/regex-automata/0.1.10/download -> regex-automata-0.1.10.crate https://crates.io/api/v1/crates/regex-syntax/0.6.27/download -> regex-syntax-0.6.27.crate https://crates.io/api/v1/crates/rustc_version/0.4.0/download -> rustc_version-0.4.0.crate https://crates.io/api/v1/crates/ryu/1.0.11/download -> ryu-1.0.11.crate https://crates.io/api/v1/crates/same-file/1.0.6/download -> same-file-1.0.6.crate https://crates.io/api/v1/crates/scoped-tls/1.0.0/download -> scoped-tls-1.0.0.crate https://crates.io/api/v1/crates/scopeguard/1.1.0/download -> scopeguard-1.1.0.crate https://crates.io/api/v1/crates/sctk-adwaita/0.5.4/download -> sctk-adwaita-0.5.4.crate https://crates.io/api/v1/crates/semver/1.0.14/download -> semver-1.0.14.crate https://crates.io/api/v1/crates/serde/1.0.144/download -> serde-1.0.144.crate https://crates.io/api/v1/crates/serde_derive/1.0.144/download -> serde_derive-1.0.144.crate https://crates.io/api/v1/crates/serde_json/1.0.85/download -> serde_json-1.0.85.crate https://crates.io/api/v1/crates/serde_yaml/0.8.26/download -> serde_yaml-0.8.26.crate https://crates.io/api/v1/crates/servo-fontconfig/0.5.1/download -> servo-fontconfig-0.5.1.crate https://crates.io/api/v1/crates/servo-fontconfig-sys/5.1.0/download -> servo-fontconfig-sys-5.1.0.crate https://crates.io/api/v1/crates/signal-hook/0.3.14/download -> signal-hook-0.3.14.crate https://crates.io/api/v1/crates/signal-hook-mio/0.2.3/download -> signal-hook-mio-0.2.3.crate https://crates.io/api/v1/crates/signal-hook-registry/1.4.0/download -> signal-hook-registry-1.4.0.crate https://crates.io/api/v1/crates/slab/0.4.7/download -> slab-0.4.7.crate https://crates.io/api/v1/crates/slotmap/1.0.6/download -> slotmap-1.0.6.crate https://crates.io/api/v1/crates/smallvec/1.9.0/download -> smallvec-1.9.0.crate https://crates.io/api/v1/crates/smithay-client-toolkit/0.16.1/download -> smithay-client-toolkit-0.16.1.crate https://crates.io/api/v1/crates/smithay-clipboard/0.6.6/download -> smithay-clipboard-0.6.6.crate https://crates.io/api/v1/crates/spsc-buffer/0.1.1/download -> spsc-buffer-0.1.1.crate https://crates.io/api/v1/crates/strict-num/0.1.0/download -> strict-num-0.1.0.crate https://crates.io/api/v1/crates/strsim/0.10.0/download -> strsim-0.10.0.crate https://crates.io/api/v1/crates/syn/1.0.99/download -> syn-1.0.99.crate https://crates.io/api/v1/crates/termcolor/1.1.3/download -> termcolor-1.1.3.crate https://crates.io/api/v1/crates/textwrap/0.15.1/download -> textwrap-0.15.1.crate https://crates.io/api/v1/crates/thiserror/1.0.35/download -> thiserror-1.0.35.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.35/download -> thiserror-impl-1.0.35.crate https://crates.io/api/v1/crates/tiny-skia/0.8.3/download -> tiny-skia-0.8.3.crate https://crates.io/api/v1/crates/tiny-skia-path/0.8.3/download -> tiny-skia-path-0.8.3.crate https://crates.io/api/v1/crates/toml/0.5.8/download -> toml-0.5.8.crate https://crates.io/api/v1/crates/unicode-ident/1.0.4/download -> unicode-ident-1.0.4.crate https://crates.io/api/v1/crates/unicode-width/0.1.10/download -> unicode-width-0.1.10.crate https://crates.io/api/v1/crates/utf8parse/0.2.0/download -> utf8parse-0.2.0.crate https://crates.io/api/v1/crates/vec_map/0.8.2/download -> vec_map-0.8.2.crate https://crates.io/api/v1/crates/version_check/0.9.4/download -> version_check-0.9.4.crate https://crates.io/api/v1/crates/vswhom/0.1.0/download -> vswhom-0.1.0.crate https://crates.io/api/v1/crates/vswhom-sys/0.1.1/download -> vswhom-sys-0.1.1.crate https://crates.io/api/v1/crates/vte/0.10.1/download -> vte-0.10.1.crate https://crates.io/api/v1/crates/vte_generate_state_changes/0.1.1/download -> vte_generate_state_changes-0.1.1.crate https://crates.io/api/v1/crates/walkdir/2.3.2/download -> walkdir-2.3.2.crate https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download -> wasi-0.11.0+wasi-snapshot-preview1.crate https://crates.io/api/v1/crates/wasm-bindgen/0.2.83/download -> wasm-bindgen-0.2.83.crate https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.83/download -> wasm-bindgen-backend-0.2.83.crate https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.83/download -> wasm-bindgen-macro-0.2.83.crate https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.83/download -> wasm-bindgen-macro-support-0.2.83.crate https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.83/download -> wasm-bindgen-shared-0.2.83.crate https://crates.io/api/v1/crates/wayland-client/0.29.5/download -> wayland-client-0.29.5.crate https://crates.io/api/v1/crates/wayland-commons/0.29.5/download -> wayland-commons-0.29.5.crate https://crates.io/api/v1/crates/wayland-cursor/0.29.5/download -> wayland-cursor-0.29.5.crate https://crates.io/api/v1/crates/wayland-protocols/0.29.5/download -> wayland-protocols-0.29.5.crate https://crates.io/api/v1/crates/wayland-scanner/0.29.5/download -> wayland-scanner-0.29.5.crate https://crates.io/api/v1/crates/wayland-sys/0.29.5/download -> wayland-sys-0.29.5.crate https://crates.io/api/v1/crates/wayland-sys/0.30.0/download -> wayland-sys-0.30.0.crate https://crates.io/api/v1/crates/web-sys/0.3.60/download -> web-sys-0.3.60.crate https://crates.io/api/v1/crates/winapi/0.2.8/download -> winapi-0.2.8.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/winapi-build/0.1.1/download -> winapi-build-0.1.1.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-util/0.1.5/download -> winapi-util-0.1.5.crate https://crates.io/api/v1/crates/winapi-wsapoll/0.1.1/download -> winapi-wsapoll-0.1.1.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/windows-sys/0.36.1/download -> windows-sys-0.36.1.crate https://crates.io/api/v1/crates/windows-sys/0.42.0/download -> windows-sys-0.42.0.crate https://crates.io/api/v1/crates/windows-sys/0.45.0/download -> windows-sys-0.45.0.crate https://crates.io/api/v1/crates/windows-targets/0.42.1/download -> windows-targets-0.42.1.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.42.1/download -> windows_aarch64_gnullvm-0.42.1.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.36.1/download -> windows_aarch64_msvc-0.36.1.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.42.1/download -> windows_aarch64_msvc-0.42.1.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.36.1/download -> windows_i686_gnu-0.36.1.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.42.1/download -> windows_i686_gnu-0.42.1.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.36.1/download -> windows_i686_msvc-0.36.1.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.42.1/download -> windows_i686_msvc-0.42.1.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.36.1/download -> windows_x86_64_gnu-0.36.1.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.42.1/download -> windows_x86_64_gnu-0.42.1.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.42.1/download -> windows_x86_64_gnullvm-0.42.1.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.36.1/download -> windows_x86_64_msvc-0.36.1.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.42.1/download -> windows_x86_64_msvc-0.42.1.crate https://crates.io/api/v1/crates/winit/0.28.7/download -> winit-0.28.7.crate https://crates.io/api/v1/crates/winreg/0.10.1/download -> winreg-0.10.1.crate https://crates.io/api/v1/crates/wio/0.2.2/download -> wio-0.2.2.crate https://crates.io/api/v1/crates/ws2_32-sys/0.2.1/download -> ws2_32-sys-0.2.1.crate https://crates.io/api/v1/crates/x11-clipboard/0.7.1/download -> x11-clipboard-0.7.1.crate https://crates.io/api/v1/crates/x11-dl/2.20.0/download -> x11-dl-2.20.0.crate https://crates.io/api/v1/crates/x11rb/0.10.1/download -> x11rb-0.10.1.crate https://crates.io/api/v1/crates/x11rb-protocol/0.10.0/download -> x11rb-protocol-0.10.0.crate https://crates.io/api/v1/crates/xcursor/0.3.4/download -> xcursor-0.3.4.crate https://crates.io/api/v1/crates/xdg/2.4.1/download -> xdg-2.4.1.crate https://crates.io/api/v1/crates/xml-rs/0.8.4/download -> xml-rs-0.8.4.crate https://crates.io/api/v1/crates/yaml-rust/0.4.5/download -> yaml-rust-0.4.5.crate
+_eclasses_=bash-completion-r1 f5e7a020fd9c741740756aac61bf75ff cargo 8520ae1bed0e6965d027399b471a3595 desktop 021728fdc1b03b36357dbc89489e0f0d flag-o-matic be27a904c614cb93ae037762dc69bcc2 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 python-any-r1 f5169813d1619761b459800587005fd2 python-utils-r1 12aa0037eb004139215ff04894d52b28 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc
+_md5_=c12234fd201b6e058d1ee081d6764fc1
diff --git a/metadata/news/Manifest b/metadata/news/Manifest
index 79e9ccf1534b..84146afe911b 100644
--- a/metadata/news/Manifest
+++ b/metadata/news/Manifest
@@ -2,22 +2,22 @@
Hash: SHA512
MANIFEST Manifest.files.gz 15850 BLAKE2B f8a24ac4773896d3e2d3ac7daac96705bb587c68e5945981d4f8b934b213a0a634607e00cc3481f4c847f66ae537f4bfd1c12852438720d6cf5d711fe74f3237 SHA512 29367a48def7059bf0b6fab4e38cd0ba8266ac4b865394c346e798632efcf7c41364d99e462d98a52192ae8270db65e57b9f15ae208bef7ce4c3cfd98163dee1
-TIMESTAMP 2023-10-03T22:10:10Z
+TIMESTAMP 2023-10-04T04:10:06Z
-----BEGIN PGP SIGNATURE-----
-iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmUckUJfFIAAAAAALgAo
+iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmUc5Z5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
-klBJxg//apDgYwwYNOFwH/6y6CS1jPD8MRTVNaDMmqKjK+s696vqUPLc7zXqiNuD
-kZK5lr+m+sZ5fQghSMdH6yvTSb8u58D/uRg+YfaG6AdNYCe0ZcTOazxh8BaEFvsU
-2cE7ZVFRLCFOaZb6RMUNVGzpcgibPTjUHJE5ngat1UeiMulZi50j1bdD28H2XKug
-N8nKsUpeOQal/0AKixPKZfxb5H1BEN628S2joPiVhNitknPHDNyIP2yyrY5aO7hY
-T5r3DNe+JGNjTwGHOhIKgfhUEl2nmTHi7T3QUQjVm/pFnxJ5vHhIVLLKl3MLPGm0
-xagrR8SOkBpYB5nel3APdcKAFNQFnkeEaVJCwxzJJbiRopWceVxanDSGCB4iNgSy
-HHEf7fDHYeZgTC4DNIr4v61kloWeEyTrdZl/sSwocPgykhAcwJsuLmnZ3I/2i4it
-OEChpQH0bxxGPI9kU8AaI3L+miqUxNmI6IxBcI6XrEQ75a9XgcmS8vGs43hNKrnV
-3FDi4A3bSLRzwlKxBE24YAek1XuJuR4hJ+kkoZINv1bmvIrwVNNRTMBRa6ZRE73Q
-jTSjatCWNmVt1wiTDfOurW4irgDl0Bdm9kZTfPBIJqwEOUYZGNMW7fuDSza0MhZM
-BKwpiT180+jEfjrQ8Wf7FQmZxjMlko1Rs9GxgLdHhi2fO/boxJg=
-=qL0Y
+klBdIQ//Q/ZeHMyv2zKKHNv6j+jT00U1bUsAdpN71AjnqNzaMX7KOYdvsqconkIh
+PfYXyDJjpR109eeTYC1vTOmAallYv/30OruSx+lKEZAwDBLXvWAaGeiMDm4nZW2K
+hNzuSnJ2unTk05n2e6NQG/Ie96JbehanLMBP4jdTKoPwaliDYXSfLggRccrb3mL7
+0WUn02gYUGZBrY+neY/+0zbTOzWN+yh3M6viK4fL5G4JEdFhBEIHsMpweBdkXGQ0
+6aYe8Q3XBVCZz578ga99MSqoVcvvtgRcqJ/dDRZ3Paqxl4apNDjFlYj53y10ACiw
+uyQids24pzlDtHcqtYfSeZqnD0GXgaP4q1kVUahTZYVjEsNeuQfA0JTCkuM0Qf8U
+ETgSuOke7fwpLFkS0mJkq6QG+tTC6BV9bB8giRQNvsIWOBFivoKKrv6+DLwdSRL7
+Y2Z8JIaueqmKE/KHF3vFNLfV3NuTo8k/Z2UHjheYZnWL+cKNM8G5YJcgICIX8+3f
+QrItDg3UoQz+38dEXnBwTL5jF2SWSin6dO/2KhkNsm9oA4JfaZTs6k7t4U5kIJbE
+Qmad8oYgY4MP7tX6pHSHxT8qUhhBPCvHFpSL0VfW0sOZo9sglpyQ5UBcRxEs8puU
+KBRRB89UFdRO7p1xTdgpSrPWsLSgfatz4vEXRZRzNeYAQKq2960=
+=GlSx
-----END PGP SIGNATURE-----
diff --git a/metadata/news/timestamp.chk b/metadata/news/timestamp.chk
index 6f27722a74c1..fd4b4a5fed38 100644
--- a/metadata/news/timestamp.chk
+++ b/metadata/news/timestamp.chk
@@ -1 +1 @@
-Tue, 03 Oct 2023 22:10:06 +0000
+Wed, 04 Oct 2023 04:10:03 +0000
diff --git a/metadata/timestamp b/metadata/timestamp
index 51e07b25654d..25cb00009904 100644
--- a/metadata/timestamp
+++ b/metadata/timestamp
@@ -1 +1 @@
-Tue Oct 3 10:10:06 PM UTC 2023
+Wed Oct 4 04:10:03 AM UTC 2023
diff --git a/metadata/timestamp.chk b/metadata/timestamp.chk
index e1be3020e396..169d90a80fe6 100644
--- a/metadata/timestamp.chk
+++ b/metadata/timestamp.chk
@@ -1 +1 @@
-Tue, 03 Oct 2023 22:15:01 +0000
+Wed, 04 Oct 2023 04:15:01 +0000
diff --git a/metadata/timestamp.commit b/metadata/timestamp.commit
index 185eb985cc15..195f49114ab6 100644
--- a/metadata/timestamp.commit
+++ b/metadata/timestamp.commit
@@ -1 +1 @@
-09714d5ce7591dd8f9a1f7f0cb48d10df4b319a0 1696370553 2023-10-03T22:02:33+00:00
+abe5a47cda2a63c48c8dbf71a0fb642db6bb3032 1696390208 2023-10-04T03:30:08+00:00
diff --git a/metadata/timestamp.x b/metadata/timestamp.x
index 97947eb10a3f..2abb275a9fec 100644
--- a/metadata/timestamp.x
+++ b/metadata/timestamp.x
@@ -1 +1 @@
-1696371001 Tue 03 Oct 2023 10:10:01 PM UTC
+1696392601 Wed 04 Oct 2023 04:10:01 AM UTC
diff --git a/metadata/xml-schema/timestamp.chk b/metadata/xml-schema/timestamp.chk
index 6f27722a74c1..fd4b4a5fed38 100644
--- a/metadata/xml-schema/timestamp.chk
+++ b/metadata/xml-schema/timestamp.chk
@@ -1 +1 @@
-Tue, 03 Oct 2023 22:10:06 +0000
+Wed, 04 Oct 2023 04:10:03 +0000
diff --git a/net-firewall/Manifest.gz b/net-firewall/Manifest.gz
index c9b9c4e69300..3c52ab90eb8f 100644
--- a/net-firewall/Manifest.gz
+++ b/net-firewall/Manifest.gz
Binary files differ
diff --git a/net-firewall/firewalld/Manifest b/net-firewall/firewalld/Manifest
index 9aa28638c825..b181f4f0d92a 100644
--- a/net-firewall/firewalld/Manifest
+++ b/net-firewall/firewalld/Manifest
@@ -3,7 +3,9 @@ AUX firewalld.service 581 BLAKE2B b4eb7549305da68bc53f913d5d0a3ff2595e8e482ed2a4
DIST firewalld-1.3.2.tar.bz2 1225416 BLAKE2B 108302dab4a1a156bc12df4ec82a2f6fc7ad3e17ca56f68ac9cbd4f85db4cd06abc1a39275ec6d11fc41e820d9fc01f3cd59a73f44332cd3b9662d50d2eeb22a SHA512 06658d279c5ec8eadfb14f9f7053882fc2872a4e27055e9c3aac81cf93167773d592fc29bd749cb6447116419c663fac79d6df725422394409b9a2e1c4708695
DIST firewalld-1.3.3.tar.bz2 1218890 BLAKE2B 79ececc0c547e4e06edced53909e9e68c6a5781c15af1d722e2247c28206e19a92349e33be31cbdec5281de6052be2718da09ab18065cfa49999e94acafb0338 SHA512 b6bbec0dd9810a48c397bc6cfcf1339e0fff5a80df893917eddee266e48f70ae0af31a9c474d5c78fe2990433c8f84d70fd46f227ac29e4f5b7c209ca73b9e3c
DIST firewalld-2.0.0.tar.bz2 1260018 BLAKE2B 18b57d5692d0e8a78af590e22010f7926d65a648bffbaf49e46c2e4156a923235e0cef00df1468ad36425050b1f7f5cceacbc6189d12602f592b3b4f3f9ec6de SHA512 a43e2e625d5d11cf1b740230213a44adbfe99243f2b87dc21b1698ea80a8da4af3b974e381980cc3c8d0bd3f08e5561eb2c3a393da5f5fbee4518879ae0b21a8
+DIST firewalld-2.0.1.tar.bz2 1257251 BLAKE2B a78ff5c1d733897024c33fe74ae8723c97253498ba55957420c66ccdfe4dcf64265336c5ee0cf120c4450d9c4da492e64c4fe01a3ea974d2992f6cf5879ef88d SHA512 31b18b74af4d731f6259915fd86d6551968eea563deba211b6d304d961747662085a02c7c185c0d7d8916693f53a5dca581b0877bce59c634e99a9f20de2f3e1
EBUILD firewalld-1.3.2.ebuild 5284 BLAKE2B 783f4ee3b24fc7258d00d1810ca3dc25d3306fbcfaeed0cbe55df63ce219b6855cdc894d2b2b56ec28d554706bcf63dfdaeef60b561fb6e0422bdbaec564355c SHA512 c0139f8fdfd17db31af28ef70790602f6d1041b2e6ba335d6a4de11521f623d2c88f92f2027000ea8e65b39f89a22cb88d298a45068a06fdeb2483f2b50df653
EBUILD firewalld-1.3.3.ebuild 5307 BLAKE2B b4e28eb31349c9ac9928b635fb3a1207f483dbe63386a27e7ecb96cffaeb08bca5a148c28a836eb3a6d22b3e9007e375909c193f1af188ce9d86bc1cba8aced0 SHA512 656de59098395c037a4e17d67be4ed06f6e75069a224039781c48e7d24e6c4c453a6bd4d0318d44ff76295266128e702ac14ad0cc9b9a74e8058e4ac7595091a
EBUILD firewalld-2.0.0.ebuild 5302 BLAKE2B fdf5cc70bfa92850dc4cd9c50e58d4788dd9a3eb8a4b16640692bc2ecb4d3def741b694fb29bf60eb825c895b2bdc210e26475bf2cca4bbfe26f949d4b091c40 SHA512 70f80a9ee29a2470433734e21aa92f3713fe4eacc978f4d43d86810f09ec0494c21611d2a0dbeb113fa59026796f0709f1c0ca269d0c937ae4466a71cf1d282b
+EBUILD firewalld-2.0.1.ebuild 5307 BLAKE2B b4e28eb31349c9ac9928b635fb3a1207f483dbe63386a27e7ecb96cffaeb08bca5a148c28a836eb3a6d22b3e9007e375909c193f1af188ce9d86bc1cba8aced0 SHA512 656de59098395c037a4e17d67be4ed06f6e75069a224039781c48e7d24e6c4c453a6bd4d0318d44ff76295266128e702ac14ad0cc9b9a74e8058e4ac7595091a
MISC metadata.xml 671 BLAKE2B 69c4bda7cc74a243aa1738bed90d16a3bc2c2085f6c0718becc7797a68da63035ef4d4f5e59c0583987d54032c163df6052d012fb7ca49026ca7259088793d33 SHA512 dd2d482251a4e33cb12ba324e1a21b4758f82de83c0cf83d5fa6259444c272360b47c5666e596103eba4703183fc9864a6bbb07a254aba67146b89d9870e9bbe
diff --git a/net-firewall/firewalld/firewalld-2.0.1.ebuild b/net-firewall/firewalld/firewalld-2.0.1.ebuild
new file mode 100644
index 000000000000..9cdc72532067
--- /dev/null
+++ b/net-firewall/firewalld/firewalld-2.0.1.ebuild
@@ -0,0 +1,223 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit bash-completion-r1 gnome2-utils linux-info optfeature
+inherit plocale python-single-r1 systemd xdg-utils
+
+DESCRIPTION="A firewall daemon with D-Bus interface providing a dynamic firewall"
+HOMEPAGE="https://firewalld.org/"
+SRC_URI="https://github.com/firewalld/firewalld/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="gui +nftables +iptables test"
+# Tests are too unreliable in sandbox environment
+RESTRICT="!test? ( test ) test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ || ( >=sys-apps/openrc-0.11.5 sys-apps/systemd )
+ $(python_gen_cond_dep '
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ gui? (
+ x11-libs/gtk+:3
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ )
+ nftables? ( >=net-firewall/nftables-0.9.4[python,json] )
+ ')
+ iptables? (
+ net-firewall/iptables[ipv6(+)]
+ net-firewall/ebtables
+ net-firewall/ipset
+ nftables? ( net-firewall/nftables[xtables(+)] )
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/glib:2
+"
+BDEPEND="
+ app-text/docbook-xml-dtd
+ >=dev-util/intltool-0.35
+ sys-devel/gettext
+"
+
+# Testsuite's Makefile.am calls missing(!)
+# ... but this seems to be consistent with the autoconf docs?
+# Needs more investigation: https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/autom4te-Invocation.html
+QA_AM_MAINTAINER_MODE=".*--run autom4te --language=autotest.*"
+
+PLOCALES="ar as ast bg bn_IN ca cs da de el en_GB en_US es et eu fa fi fr gl gu hi hr hu ia id it ja ka kn ko lt ml mr nl or pa pl pt pt_BR ru si sk sq sr sr@latin sv ta te tr uk zh_CN zh_TW"
+
+pkg_setup() {
+ # See bug #830132 for the huge list
+ # We can probably narrow it down a bit but it's rather fragile
+ local CONFIG_CHECK="~NF_CONNTRACK ~NETFILTER_XT_MATCH_CONNTRACK
+ ~NETFILTER
+ ~NETFILTER_ADVANCED
+ ~NETFILTER_INGRESS
+ ~NF_NAT_MASQUERADE
+ ~NF_NAT_REDIRECT
+ ~NF_TABLES_INET
+ ~NF_TABLES_IPV4
+ ~NF_TABLES_IPV6
+ ~NF_CONNTRACK
+ ~NF_CONNTRACK_BROADCAST
+ ~NF_CONNTRACK_NETBIOS_NS
+ ~NF_CONNTRACK_TFTP
+ ~NF_CT_NETLINK
+ ~NF_CT_NETLINK_HELPER
+ ~NF_DEFRAG_IPV4
+ ~NF_DEFRAG_IPV6
+ ~NF_NAT
+ ~NF_NAT_TFTP
+ ~NF_REJECT_IPV4
+ ~NF_REJECT_IPV6
+ ~NF_SOCKET_IPV4
+ ~NF_SOCKET_IPV6
+ ~NF_TABLES
+ ~NF_TPROXY_IPV4
+ ~NF_TPROXY_IPV6
+ ~IP_NF_FILTER
+ ~IP_NF_IPTABLES
+ ~IP_NF_MANGLE
+ ~IP_NF_NAT
+ ~IP_NF_RAW
+ ~IP_NF_SECURITY
+ ~IP_NF_TARGET_MASQUERADE
+ ~IP_NF_TARGET_REJECT
+ ~IP6_NF_FILTER
+ ~IP6_NF_IPTABLES
+ ~IP6_NF_MANGLE
+ ~IP6_NF_NAT
+ ~IP6_NF_RAW
+ ~IP6_NF_SECURITY
+ ~IP6_NF_TARGET_MASQUERADE
+ ~IP6_NF_TARGET_REJECT
+ ~IP_SET
+ ~NETFILTER_CONNCOUNT
+ ~NETFILTER_NETLINK
+ ~NETFILTER_NETLINK_OSF
+ ~NETFILTER_NETLINK_QUEUE
+ ~NETFILTER_SYNPROXY
+ ~NETFILTER_XTABLES
+ ~NETFILTER_XT_CONNMARK
+ ~NETFILTER_XT_MATCH_CONNTRACK
+ ~NETFILTER_XT_MATCH_MULTIPORT
+ ~NETFILTER_XT_MATCH_STATE
+ ~NETFILTER_XT_NAT
+ ~NETFILTER_XT_TARGET_MASQUERADE
+ ~NFT_COMPAT
+ ~NFT_CT
+ ~NFT_FIB
+ ~NFT_FIB_INET
+ ~NFT_FIB_IPV4
+ ~NFT_FIB_IPV6
+ ~NFT_HASH
+ ~NFT_LIMIT
+ ~NFT_LOG
+ ~NFT_MASQ
+ ~NFT_NAT
+ ~NFT_OBJREF
+ ~NFT_QUEUE
+ ~NFT_QUOTA
+ ~NFT_REDIR
+ ~NFT_REJECT
+ ~NFT_REJECT_INET
+ ~NFT_REJECT_IPV4
+ ~NFT_REJECT_IPV6
+ ~NFT_SOCKET
+ ~NFT_SYNPROXY
+ ~NFT_TPROXY
+ ~NFT_TUNNEL
+ ~NFT_XFRM"
+
+ # kernel >= 4.19 has unified a NF_CONNTRACK module, bug #692944
+ if kernel_is -lt 4 19; then
+ CONFIG_CHECK+=" ~NF_CONNTRACK_IPV4 ~NF_CONNTRACK_IPV6"
+ fi
+
+ # bug #831259
+ if kernel_is -le 5 4 ; then
+ CONFIG_CHECK+=" ~NF_TABLES_SET"
+ fi
+
+ # bug #853055
+ if kernel_is -lt 5 18 ; then
+ CONFIG_CHECK+=" ~NFT_COUNTER"
+ fi
+
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ plocale_find_changes "po" "" ".po" || die
+ plocale_get_locales | sed -e 's/ /\n/g' > po/LINGUAS
+}
+
+src_configure() {
+ python_setup
+
+ local myeconfargs=(
+ --enable-systemd
+ $(use_with iptables iptables "${EPREFIX}/sbin/iptables")
+ $(use_with iptables iptables_restore "${EPREFIX}/sbin/iptables-restore")
+ $(use_with iptables ip6tables "${EPREFIX}/sbin/ip6tables")
+ $(use_with iptables ip6tables_restore "${EPREFIX}/sbin/ip6tables-restore")
+ $(use_with iptables ebtables "${EPREFIX}/sbin/ebtables")
+ $(use_with iptables ebtables_restore "${EPREFIX}/sbin/ebtables-restore")
+ $(use_with iptables ipset "${EPREFIX}/usr/sbin/ipset")
+ --with-systemd-unitdir="$(systemd_get_systemunitdir)"
+ --with-bashcompletiondir="$(get_bashcompdir)"
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ python_optimize
+
+ # Get rid of junk
+ rm -rf "${D}/etc/sysconfig/" || die
+
+ # For non-gui installs we need to remove GUI bits
+ if ! use gui; then
+ rm -rf "${D}/etc/xdg/autostart" || die
+ rm -f "${D}/usr/bin/firewall-applet" || die
+ rm -f "${D}/usr/bin/firewall-config" || die
+ rm -rf "${D}/usr/share/applications" || die
+ rm -rf "${D}/usr/share/icons" || die
+ fi
+
+ newinitd "${FILESDIR}"/firewalld.init firewalld
+
+ # Our version drops the/an obsolete 'conflicts' line with old iptables services
+ # bug #833506
+ systemd_dounit "${FILESDIR}"/firewalld.service
+}
+
+pkg_preinst() {
+ gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ gnome2_schemas_update
+
+ # bug #833569
+ optfeature "changing zones with NetworkManager" gnome-extra/nm-applet
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ gnome2_schemas_update
+}
diff --git a/net-irc/Manifest.gz b/net-irc/Manifest.gz
index fdc4fc461748..52516fc7207c 100644
--- a/net-irc/Manifest.gz
+++ b/net-irc/Manifest.gz
Binary files differ
diff --git a/net-irc/irssi/Manifest b/net-irc/irssi/Manifest
index df38bf0fc96d..2f077d7d9025 100644
--- a/net-irc/irssi/Manifest
+++ b/net-irc/irssi/Manifest
@@ -1,6 +1,8 @@
AUX irssi-1.4.4-fix-usage-of-type-in-ExtUtils.patch 1115 BLAKE2B f5d6b1da6d0978b412437f65fe8eaeb99d9f31493050641b6c0780cc17ccc717b3e51799a7008716573236df86218c8f28a434ee193be340d57d6f8a329028d8 SHA512 2d6aeeef705fe2268c629c2a778aabce8260957e288a900af2596396bc0149eeb3dbba644e13b985e5b78a27cd48bfdb8ff1bcb063c8f060aab3527d8cf455f6
DIST irssi-1.4.4.tar.xz 1213784 BLAKE2B 5b77ca692130a87228eea05f9a8d2da65a7c483e031d8c12dbd29bb9cd629444aae28bc3ffe0dc862891f59047997a323cea3b4d9d388573d4f06b569abbf950 SHA512 da28ac7a527be301d0615d6d733e4cf4e09bb6d4f5c70bc33ff70e22439a01f197bb5d91b4432ca74d3ac2dbb3235f30d53efc63a4279de8664923c2ccdbdbea
+DIST irssi-1.4.5.tar.xz 1215688 BLAKE2B 573d8552137cb09c152fe0d1f9196c966bc0afb23e8817fed7315a07d2fc36b3ffabf5e8384bb80a48aa24cf57e5d336f40e708a4c9ef6bad3ec8ce10125f196 SHA512 5d80107ad625feb6d2b3ac807f517c5cfeae58986d3fbfe53ea82f2dee70396f5092abdc6ef137c5651e4515e081591079b37f0e428f69990db493cfe14e4f36
EBUILD irssi-1.4.4-r1.ebuild 1545 BLAKE2B 97e79d1d71db0486906e03697b108e64869d863e67fbe556a8c9e57083800382c4da22641fb0b8cc136f6bf6699cbd30d4ae8dfec8a439f9aeda64ef195fa9d0 SHA512 31da8d5c4d29f064bc52f65549a10cf25219ca6763da258f9396ed30bdbe8b8d2758d07c3127ef62bae4cd1201feb17361d3b32e9579731ea020c4496ff6905c
EBUILD irssi-1.4.4.ebuild 1470 BLAKE2B f4bc0dd1153af7d877b821c1947d37cdc673c3b4906a49e933838b2f9f39cbf8effef86feee50506cfe154fbe041277fa96ff05b67c6fa547275995218bcafc3 SHA512 ee466dc69cbca650165b365e5458c6be2b2e92d0e3b791a2ec7d066ca2f5927954d3a54b07a8458def80c644fc38c56c695927334b18fa1d3197d77677870c98
+EBUILD irssi-1.4.5.ebuild 1478 BLAKE2B 91eb5e40169f18737592c068145b073c6149bfe129a38c4a937808d4606feeef069948cb24ba589d7811e9b84f7f06742b5ac6bc60a402c27dbf402a698fd356 SHA512 0ad5313a4cd76e7fb25cd76c6782e94e82dac2f6deb6651ba8227e7ba2790dcc251d67f5bbcc6f6306898decad727c9ec881ccbe3c38e9bd2c1b9c7bb1f057d2
EBUILD irssi-9999.ebuild 1478 BLAKE2B 91eb5e40169f18737592c068145b073c6149bfe129a38c4a937808d4606feeef069948cb24ba589d7811e9b84f7f06742b5ac6bc60a402c27dbf402a698fd356 SHA512 0ad5313a4cd76e7fb25cd76c6782e94e82dac2f6deb6651ba8227e7ba2790dcc251d67f5bbcc6f6306898decad727c9ec881ccbe3c38e9bd2c1b9c7bb1f057d2
MISC metadata.xml 593 BLAKE2B 869f0327264b4d69859afdab67f120897d76cbecd35669023075ea276b7f1ccfcfe1148d8ef0ddd9e5cc00aaa2cd785c32f237772afbee0a717a9c378bd81dbd SHA512 e985b1c654fa7e91d5f271403c062eedc71e749da0beb9a8a3eb29254553a7c466158bc737b7c62e9377baab96fdc828cb6841991a06c4d03f747d952bb20f05
diff --git a/net-irc/irssi/irssi-1.4.5.ebuild b/net-irc/irssi/irssi-1.4.5.ebuild
new file mode 100644
index 000000000000..40772b5198b3
--- /dev/null
+++ b/net-irc/irssi/irssi-1.4.5.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GENTOO_DEPEND_ON_PERL="no"
+inherit perl-module meson
+
+DESCRIPTION="A modular textUI IRC client with IPv6 support"
+HOMEPAGE="https://irssi.org/"
+
+if [[ ${PV} == *9999* ]] ; then
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+ inherit git-r3
+else
+ # Keep for _rc compability
+ MY_P="${P/_/-}"
+
+ SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV/_/-}/${MY_P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="otr +perl selinux +proxy"
+
+RDEPEND="
+ >=dev-libs/glib-2.6.0
+ dev-libs/openssl:=
+ sys-libs/ncurses:=
+ otr? (
+ >=dev-libs/libgcrypt-1.2.0:=
+ >=net-libs/libotr-4.1.0
+ )
+ perl? ( dev-lang/perl:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-lang/perl
+ virtual/pkgconfig"
+RDEPEND+=" selinux? ( sec-policy/selinux-irc )"
+
+src_configure() {
+ local emesonargs=(
+ -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+ -Dwith-perl-lib=vendor
+ -Dwith-otr=$(usex otr)
+ -Dwith-proxy=$(usex proxy)
+ -Dwith-perl=$(usex perl)
+
+ # Carried over from autotools (for now?), bug #677804
+ -Ddisable-utf8proc=yes
+ -Dwith-fuzzer=no
+ -Dinstall-glib=no
+ )
+
+ meson_src_configure
+}
+
+src_test() {
+ # We don't want perl-module's src_test
+ meson_src_test
+}
+
+src_install() {
+ meson_src_install
+
+ use perl && perl_delete_localpod
+}
diff --git a/net-misc/Manifest.gz b/net-misc/Manifest.gz
index 550caa98146e..fc82fe7ce372 100644
--- a/net-misc/Manifest.gz
+++ b/net-misc/Manifest.gz
Binary files differ
diff --git a/net-misc/streamlink/Manifest b/net-misc/streamlink/Manifest
index 2fcadaf74793..cae405305d0d 100644
--- a/net-misc/streamlink/Manifest
+++ b/net-misc/streamlink/Manifest
@@ -2,9 +2,11 @@ DIST streamlink-5.5.1.tar.gz 536064 BLAKE2B 0a651c5dcf9fe0a70ee93505ad0a0ea6aaf1
DIST streamlink-6.0.1.tar.gz 682425 BLAKE2B a84c6c1594b78b62c1c20c021c3dde2eae06e86fad559de285800cb5f1cc2d97dadb5724053b320dafdbca3545e1d10171d1adc3b8a1c9c67d2e4d80940357dc SHA512 96081a23b616d85a0918583d951334f35843cb47d6d3d317c3903516b951db2a953db1ea2cb1fb3de95cb059a37dc605d40817e81819acf4e5c98f831bd39323
DIST streamlink-6.1.0.tar.gz 686463 BLAKE2B cc2890db0181e47bcae9da38eddeaadfd34b29a3d4b8bc2bb4d296289cdb356f9614d4e1edd8b11e23d226115f645399296d5589e42832ad473d9cb96ebfde0f SHA512 24fb549be6088eb913348ae892f694b91a6d6c929a06b9ed0db050e203a020ea9780b217f96d7890b7309d304e9a547c47673b8b3f2588dfedbaa44bb5808e29
DIST streamlink-6.2.0.tar.gz 690986 BLAKE2B 5f7cab73ea366580aeb837b8f8a27fa7cd5ca687afa53908900dc9f290a0da916778fda8351acda00f795688b156ca0f37302e67128ce30e9838a45111b88ecd SHA512 2747ebc584caa8ebb2fde5d4f309c911a52fd1a8d2d0e832487e589873c270534e0d0b18120a2db7a68e150e301e57db1e8d63f1d5bb6244f364e9cbd6606213
+DIST streamlink-6.2.1.tar.gz 692446 BLAKE2B c1b98ffca37051675a92afc86d12635b538c1b12c023b652a05516faffb289f50b479b38ae48813a4f83d6c881dc7f211e66c6d7f7dd08adcf1a354c9bd15427 SHA512 852610d97138cf0a8066f760f747cb32f1d51c8c55b84df5b6a798556343010c2e68ca5d9a8473e8d32f72bc2a5d89f9d90ee70ccced84b6c9408930ed49585a
EBUILD streamlink-5.5.1.ebuild 1544 BLAKE2B 80f5cc0c5b84ee0baf644d3af104d796f104474df6bd1039e87394f3a26732754cad19d6ac10533b2618a97db3c745d1e7fd52e78c25ae321610eab27af51336 SHA512 e21839c90166932d66de3946280397363493a725aa01b796d9b758492cb3dc16ac838aae753de88adc84ec94c24a882780cb72dcdefaed7cded987704b857383
EBUILD streamlink-6.0.1.ebuild 1692 BLAKE2B ed4cbf9845ad507c3b73b28443bf92361d5ace7c0e2f79d343b06ae1629b9c49775746beba2d140ce70eae0b89d585c90cca4d9784aec6facf86eac9f2debb9b SHA512 c982240eac7f913eb7f250d1f30a1152659a5153f8f4f1bc5f886c2b72971a5a9e5b318edd02729ae77b7a287bfc96a0aa4cb17325f11a1dbc9ab43b3a0c70e4
EBUILD streamlink-6.1.0.ebuild 1696 BLAKE2B 4ca4daf87718564279260eb62e1349a67e5039e6217690b71a321ec04d7a937aaea4305bc111b8803b07f1c0027392e61aa0cd131f097fce80f9ce4c1fd882c5 SHA512 142ca67c314e88027692a88fe77f1bfaad89986e61635ad6c27da1559309773f980d90759d055fad90f30bafca42f4ca046fc5f76a8dfbd8077b18ba02e0a05b
EBUILD streamlink-6.2.0.ebuild 1697 BLAKE2B 964f3e606e2b3339978d8f5d99220d17a8302270ccc420c15623e3ec695d3796273c1c5d060bfc7f0ce41ca9237c4d1794ba30d0764346e3bd0c49f043329898 SHA512 f6f5ba475df7205fe834f57cdf85ae2d43544b0bafceb961202ac53315badaf4af29557d6e904ea8b7ece47ac7c97b3801ed2b663eefb0efc7a4a331a44b057c
-EBUILD streamlink-9999.ebuild 1692 BLAKE2B ed4cbf9845ad507c3b73b28443bf92361d5ace7c0e2f79d343b06ae1629b9c49775746beba2d140ce70eae0b89d585c90cca4d9784aec6facf86eac9f2debb9b SHA512 c982240eac7f913eb7f250d1f30a1152659a5153f8f4f1bc5f886c2b72971a5a9e5b318edd02729ae77b7a287bfc96a0aa4cb17325f11a1dbc9ab43b3a0c70e4
+EBUILD streamlink-6.2.1.ebuild 1909 BLAKE2B 75455e7d6236b3fb595a4503300333242bdacd68b7c6c7c3ed289f61f25b70973192d6462f4542a409bc313f3f0323c7a28568619175f4f4c3f2a72239d4d4fd SHA512 bf901a63be07b5b20187adea4a61d720d7d8988763c684f575cd4537f15c9873d0443b6818a6cea1cc0023d14069e84d031ff90c6cf9d31c66887a0901d52289
+EBUILD streamlink-9999.ebuild 1909 BLAKE2B 75455e7d6236b3fb595a4503300333242bdacd68b7c6c7c3ed289f61f25b70973192d6462f4542a409bc313f3f0323c7a28568619175f4f4c3f2a72239d4d4fd SHA512 bf901a63be07b5b20187adea4a61d720d7d8988763c684f575cd4537f15c9873d0443b6818a6cea1cc0023d14069e84d031ff90c6cf9d31c66887a0901d52289
MISC metadata.xml 374 BLAKE2B 8c5f72454d8d00a99c18328838cc9c3be82cd9d68405f6e702239b8475a9162f3ba945b142bf2f5762fcc4ac52cae95c8e2d5c0707b1028c11faba2341a2d8e9 SHA512 038e509b340b1cc31382b0a1edf0c273fe99ca7c8c40370039a01cf6a95101d1217db7fea64bc67f5c113c99d504ceb7256008c1539c4d7e13ad6ceb8b922a58
diff --git a/net-misc/streamlink/streamlink-6.2.1.ebuild b/net-misc/streamlink/streamlink-6.2.1.ebuild
new file mode 100644
index 000000000000..025dd94e32c9
--- /dev/null
+++ b/net-misc/streamlink/streamlink-6.2.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/streamlink/${PN}.git"
+ inherit git-r3
+fi
+
+DISTUTILS_SINGLE_IMPL=1
+# >= 6.2.1 uses a bunch of setuptools hooks instead of vanilla setuptools
+# https://github.com/streamlink/streamlink/commit/194d9bc193f5285bc1ba33af5fd89209a96ad3a7
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE='xml(+),threads(+)'
+inherit distutils-r1
+
+DESCRIPTION="CLI for extracting streams from websites to a video player of your choice"
+HOMEPAGE="https://streamlink.github.io/"
+
+if [[ ${PV} != 9999* ]]; then
+ SRC_URI="https://github.com/streamlink/${PN}/releases/download/${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+LICENSE="BSD-2 Apache-2.0"
+SLOT="0"
+
+DEPEND="
+ $(python_gen_cond_dep '
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
+ dev-python/isodate[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.6.4[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-1.2.1[${PYTHON_USEDEP}]
+ dev-python/pycountry[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.4.3[${PYTHON_USEDEP}]
+ >dev-python/PySocks-1.5.7[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.22.0[${PYTHON_USEDEP}]
+ >=dev-python/trio-websocket-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/versioningit-2.0.0[${PYTHON_USEDEP}]
+ ')
+"
+RDEPEND="
+ ${DEPEND}
+ media-video/ffmpeg
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/setuptools-64[${PYTHON_USEDEP}]
+ >=dev-python/versioningit-2.0.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/freezegun-1.0.0[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-trio[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ )
+ ')
+"
+
+distutils_enable_tests pytest
diff --git a/net-misc/streamlink/streamlink-9999.ebuild b/net-misc/streamlink/streamlink-9999.ebuild
index 9208c85c22e7..025dd94e32c9 100644
--- a/net-misc/streamlink/streamlink-9999.ebuild
+++ b/net-misc/streamlink/streamlink-9999.ebuild
@@ -9,7 +9,9 @@ if [[ ${PV} = 9999* ]]; then
fi
DISTUTILS_SINGLE_IMPL=1
-DISTUTILS_USE_PEP517=setuptools
+# >= 6.2.1 uses a bunch of setuptools hooks instead of vanilla setuptools
+# https://github.com/streamlink/streamlink/commit/194d9bc193f5285bc1ba33af5fd89209a96ad3a7
+DISTUTILS_USE_PEP517=standalone
PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE='xml(+),threads(+)'
inherit distutils-r1
@@ -19,7 +21,7 @@ HOMEPAGE="https://streamlink.github.io/"
if [[ ${PV} != 9999* ]]; then
SRC_URI="https://github.com/streamlink/${PN}/releases/download/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi
LICENSE="BSD-2 Apache-2.0"
@@ -47,6 +49,7 @@ RDEPEND="
"
BDEPEND="
$(python_gen_cond_dep '
+ >=dev-python/setuptools-64[${PYTHON_USEDEP}]
>=dev-python/versioningit-2.0.0[${PYTHON_USEDEP}]
test? (
dev-python/mock[${PYTHON_USEDEP}]
diff --git a/net-p2p/Manifest.gz b/net-p2p/Manifest.gz
index b406c1704429..b3e03cba283b 100644
--- a/net-p2p/Manifest.gz
+++ b/net-p2p/Manifest.gz
Binary files differ
diff --git a/net-p2p/rtorrent/Manifest b/net-p2p/rtorrent/Manifest
index ef911cf5e87f..523a6306500d 100644
--- a/net-p2p/rtorrent/Manifest
+++ b/net-p2p/rtorrent/Manifest
@@ -5,5 +5,5 @@ AUX rtorrentd.conf 13 BLAKE2B 80db665e7f75c50c02134cced87847926d23ea256868fb6d12
AUX rtorrentd_at-r1.service 479 BLAKE2B 64e4099237eb14e311dc94ef4b1c5fdf6e724a1b3fd49c2ef2c3ebae33c3c0f91c6edc5ee835db5bec2424e92abfcbbc7922aa14c925e60c5e9d973b0105de01 SHA512 28b9aeaa07144413534ffbb3589a2e4e89f688da4c6d53d1e4a87e1c9618dabe1f39d2b42911d10b151963862df5b2a28a71557bfe08011806face28cea82d0b
DIST rtorrent-0.9.8.tar.gz 647523 BLAKE2B 3562ed03dee3baa4a702d20c7c91b9248d9de0f25d1f8cd182863101f293a0ef13cb49164e4d16b25e72a4fbe1cc1a2fbde176d3068c749edbcb2287ef260b2b SHA512 016685948d0290694ab9635ae218c7acd876e6d45bea1bdba3a29c545e64f5d824c5e2f6693a4c2e9200196177881d54f312d72e0a19742bd74a03bd19ca05c7
EBUILD rtorrent-0.9.8-r1.ebuild 1887 BLAKE2B 825bee9d34b113bb72963508fa5d1a6817c4812d62fc4786485bd573b239b5df98a9fb15ee6bf5bfe81530f33d54ccde3e6a2cab537f0c99a732bac004eb46e9 SHA512 5b27b6a8eae085b6ddb048b7ea358407fa7c7148f980825d8db067e820f74951522835214568daf9db18faf0bebb9faec9f937d63e9e7d89bc044cf9f7917409
-EBUILD rtorrent-0.9.8-r2.ebuild 1937 BLAKE2B e628fa765a73b9130b5fd15a91da472d8076e6f7003edc1b841f124f1268d3a4d615ecb3a6ab99a24ed382f97014d2823ccc62815b5e99de8651421144203ce2 SHA512 b9b1ad13fc5ac60c6867b0ca7693447c22e7ec7c5668cb077100ad6552b67e04110da11d54d5b13b2b9c2e29087bef34f8e897190cb38c192159f196404e39ec
+EBUILD rtorrent-0.9.8-r2.ebuild 1936 BLAKE2B 139c7ff268e9a748a80472088a6bd5a2ffb0178e0c628f1a1322502a67a0a87866b10fa862efc1858ba072f638d3390dbaaf98bbae637924295ceb7b6a5ea2fb SHA512 ea85721b7c6c4e6bbd2c47676b9855c4f674c4a3573f20833fd0086a3b20ec351f3d08e9366688bcd2349520b988e70b9ffd2f4a664ab30c6cc4e94c5a7a985f
MISC metadata.xml 330 BLAKE2B db7e26e16713fbfad69510f84569aa2ccb05c9b1eaa087087fe0d473accf0d644cf0263c7aa2c8a3ab4df9fc92e0fff5b1952bb5ec583d10972b6b07c9290b19 SHA512 72873bcf89cf2fd76621657dd3399231e0e4ce1702ac27304a818a66ee18ee68ea09ce363e784578c261824254ac46d92fc6d8ec2347d8dd6a77f1eb113e0d14
diff --git a/net-p2p/rtorrent/rtorrent-0.9.8-r2.ebuild b/net-p2p/rtorrent/rtorrent-0.9.8-r2.ebuild
index d4ebfc59d713..109d3cec80d1 100644
--- a/net-p2p/rtorrent/rtorrent-0.9.8-r2.ebuild
+++ b/net-p2p/rtorrent/rtorrent-0.9.8-r2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="http://rtorrent.net/downloads/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="debug selinux test xmlrpc"
RESTRICT="!test? ( test )"
diff --git a/sci-libs/Manifest.gz b/sci-libs/Manifest.gz
index 7eb1394e897d..7eaa68f28525 100644
--- a/sci-libs/Manifest.gz
+++ b/sci-libs/Manifest.gz
Binary files differ
diff --git a/sci-libs/symengine/Manifest b/sci-libs/symengine/Manifest
index 10cf586638c7..04e75132ffad 100644
--- a/sci-libs/symengine/Manifest
+++ b/sci-libs/symengine/Manifest
@@ -2,7 +2,9 @@ AUX symengine-0.7.0-cmake-build-type.patch 1234 BLAKE2B b416e9b83db5eb6689bb9e18
AUX symengine-0.8.1-fix_llvm.patch 2674 BLAKE2B f7d493318389f63a8b61f47ee2ba6429d205e91fec3f94a5c45a062622fa7b6c29ab410fb04a260d98f983402e4e74103ca591ea3aa035c68bd4e431dfde371f SHA512 683e9acac3f6304e2ac1d2c67304d1e6a2fc6915115a201a870e29253c804e378b39d8d00298a70ac5a4e1456a153febe69d63cfbab821b31cda46fc94782131
AUX symengine-0.9.0-pthread-cmake.patch 1973 BLAKE2B c66e3b3eb8895ac27e1a294632a1496a23271c1c315ea0781c50f48dc02ea35795759900ae152f942a2246bafd777398195d851ee9b8910f29216d92f4227a76 SHA512 7c76371c6892b6faf0848b0d25f895f37b56e318ade48eff27ac2fabe830a17dd317a48641d47cee0e4eaa689898d54c675dd5f6d01ba29d233255aaa0b9c86a
DIST symengine-0.10.1.tar.gz 898206 BLAKE2B 88182a7facaf0d9ac90de8acaf549a3fd3cb65f0ae12e0ba3d9a1ae477d193b312cebfca99e626815789d8746822f0d1e256db6836a1ce265f65951880f486f3 SHA512 e73f62a87d20b676cac66ce82ac93308b688ed2ac18ebdb6884bae1ae66868e1033e33908e797f86a1906f91b975e8607a02e8932db8550a677f6b41373b7934
+DIST symengine-0.11.1.tar.gz 898181 BLAKE2B ef14e09ceb7e9783711ca7f9f06a59362c40222e7f85de5545be834ecd79bbf41fcd34141bb3a63c106ee45067dd0b957377f937097183ffd5b93c6943976571 SHA512 076aac35428589c5b3524a46bd939a3a3a7da44b1c866b5f71487678b27b6e48b4da034029f1630881d7713a9252e905411a04b8016c9ec56a608b6de23365ac
DIST symengine-0.9.0.tar.gz 878574 BLAKE2B 32c37ca6575b3f7e37184c80c2df74ebf7bb7846537e951be6c888994b8dc049c1ed2a6f51da1c1cfb038e0a47393b18acff60cfef665c5a5e714beb9b0ecb12 SHA512 dceca49ddb6e2ac7c4f8ecb73ce19824cbaa3eff41ad0f50008e403498121184b4e9dc660628dbd8e4db979f8c16b83a709a40540f7834954ab01f9854e12caa
EBUILD symengine-0.10.1.ebuild 2620 BLAKE2B f452b5775c5a2c11224553a0ba3b5a5421aabb6a537da0231daba2328264cd1d96f94960c41fc36f808faf8f5397597cc76ab64537c098dfd6ca729956366c88 SHA512 46ecf78c56d999feeae73de0d381104b842a3a7025309324226cd3eda80ad630002d41d5d825c0ac3153abe07de73af20989be5781408803288fee7c07ecf118
+EBUILD symengine-0.11.1.ebuild 2621 BLAKE2B a912de0fe1b8005ef9f15af29ab27f0942f5e27ec086cd270a602352903bc538140cd0cfee817fa29ec11157b0fad293409273be59ef9aa461fb92850d1a09a7 SHA512 3ccebdedb1214a648b413ca22e0b1858e8bcdca96f29776d8d15a5a97b0e165df8ad5df9a58ab28c090d3ecd32467ebed4cacbd7281b3c1123bb3b7af069797c
EBUILD symengine-0.9.0-r3.ebuild 2627 BLAKE2B 5aad085edc09fc29aa5bd99b1bafa7f7163546787848e4a42afeb7f2c1bb167cf795a795b695ca858c496a2b457aa18be2f0b99e26d61a3dd570416c1f46c8fd SHA512 4a63a85155997c5ccdc0051d461075e0062cc4799e026501c07221a33897eb484c3d04a875d7f0a2d4f1c66ca77cb295b81c3c4463d3bf5a8b9c92210338b143
MISC metadata.xml 1270 BLAKE2B e52ff12980457252a05195ef47bd90e52816794948169473a597e263d744d163cbe42d35e995243daf6b8664f1ed7d41879b63927606187277cdf503fc7bf846 SHA512 4fd6f340d1d4952774eb0fcd47d9ed6e9f145bd83ba7bd04fe428faa96ec63b6cd62173b6ead116a649471fe9b6466be7bbb48c8e534b3203f232f9a7bae12b9
diff --git a/sci-libs/symengine/symengine-0.11.1.ebuild b/sci-libs/symengine/symengine-0.11.1.ebuild
new file mode 100644
index 000000000000..7091ded60ca0
--- /dev/null
+++ b/sci-libs/symengine/symengine-0.11.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=16
+inherit cmake llvm toolchain-funcs
+
+DESCRIPTION="Fast symbolic manipulation library, written in C++"
+HOMEPAGE="https://github.com/symengine/symengine"
+SRC_URI="https://github.com/symengine/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+# BUILD_FOR_DISTRIBUTION enables threads by default so do it here
+IUSE="arb benchmarks boost debug doc ecm +flint llvm +mpc +mpfr openmp test tcmalloc +threads"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/gmp:=
+ sys-libs/binutils-libs:=
+ arb? ( sci-mathematics/arb:= )
+ boost? ( dev-libs/boost:= )
+ ecm? ( sci-mathematics/gmp-ecm )
+ flint? ( sci-mathematics/flint:= )
+ mpc? ( dev-libs/mpc:= )
+ mpfr? ( dev-libs/mpfr:= )
+ llvm? ( <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):= )
+ tcmalloc? ( dev-util/google-perftools )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/cereal
+"
+BDEPEND="doc? ( app-doc/doxygen[dot] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.0-cmake-build-type.patch
+ "${FILESDIR}"/${PN}-0.8.1-fix_llvm.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ use llvm && llvm_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e "s|DESTINATION doc| DESTINATION share/doc/${PF}/html|" \
+ -e "s|/lib|/$(get_libdir)|g" \
+ -e "s|lib/|$(get_libdir)/|g" \
+ -e "/DESTINATION/s|lib|$(get_libdir)|g" \
+ -i CMakeLists.txt symengine/CMakeLists.txt \
+ symengine/utilities/teuchos/CMakeLists.txt || die
+}
+
+src_configure() {
+ # not in portage yet: piranha
+ local int_class
+
+ if use arb || use flint; then
+ int_class=flint
+ elif use mpfr; then
+ int_class=gmpxx
+ elif use boost; then
+ int_class=boostmp
+ else
+ int_class=gmp
+ fi
+
+ einfo "Building with integer class: ${int_class}"
+
+ local mycmakeargs=(
+ -DINTEGER_CLASS=${int_class}
+ -DBUILD_BENCHMARKS=$(usex benchmarks)
+ -DBUILD_DOXYGEN=$(usex doc)
+ -DBUILD_TESTS=$(usex test)
+ -DWITH_ARB=$(usex arb)
+ -DWITH_BFD=$(usex debug)
+ -DWITH_SYMENGINE_ASSERT=$(usex debug)
+ -DWITH_SYMENGINE_THREAD_SAFE=$(usex threads)
+ -DWITH_FLINT=$(usex flint)
+ -DWITH_OPENMP=$(usex openmp)
+ -DWITH_MPFR=$(usex mpfr)
+ -DWITH_MPC=$(usex mpc)
+ -DWITH_LLVM=$(usex llvm)
+ -DWITH_PTHREAD=$(usex threads)
+ -DWITH_TCMALLOC=$(usex tcmalloc)
+ -DWITH_ECM=$(usex ecm)
+ -DWITH_SYSTEM_CEREAL=ON
+ )
+
+ use arb && mycmakeargs+=( -DARB_INCLUDE_DIR="${ESYSROOT}"/usr/include )
+
+ cmake_src_configure
+}
diff --git a/sys-apps/Manifest.gz b/sys-apps/Manifest.gz
index 79350839e8dd..1398d77250be 100644
--- a/sys-apps/Manifest.gz
+++ b/sys-apps/Manifest.gz
Binary files differ
diff --git a/sys-apps/eza/Manifest b/sys-apps/eza/Manifest
index 1b4de51ec9e3..3ad0e89bfac1 100644
--- a/sys-apps/eza/Manifest
+++ b/sys-apps/eza/Manifest
@@ -46,11 +46,13 @@ DIST eza-0.11.1.tar.gz 1221586 BLAKE2B e642be77d3402e4b42235cf13767fcef7279bc232
DIST eza-0.12.0.tar.gz 1200971 BLAKE2B ab284c0758515e738fc102ceacd238ef7315627a6c9cb6a712b9ff107ebba7e282768a5ccfd73061aee54838dba194d89ba5b35850f1de78bd3f6aaab65efdb1 SHA512 5ff36af746f3051740ab96cd41fdf51a73a0e9e42f3874b52a684001c529db0bf97514de60bb5742e34984b5ca888a092465c375d4382ca1a84426f17d91fee5
DIST eza-0.13.0.tar.gz 1207456 BLAKE2B bd7ff811ca7734d29ff5611c8e029bd90cb1a8992c58e31934ecca061bfa56e2743e260081d46359d46b20defbcf3f0b9ace26462def6428a41871185997cba9 SHA512 25b6df46f2c3349bd6459a23cf7bc63a78ee1505018428edc5b86a590fa7599a6f8678f9d931cb5bda737c65018bff3ddd5fe698bcac3fe8d6cba62823ca688b
DIST eza-0.13.1.tar.gz 1210338 BLAKE2B 5ae9b8274f3f22d72e6480db71b6817ead49bd2c181729f2e3c511f806de498179c4f0ce6eaa2bf023993fa51ea7fbdd82557d5501e4fe1789bd2844f5067dea SHA512 ef2119ad66302f5961a437a28b10de6cc4f105629c78d7cefbf745dd8576d79d3862db400fffe8a89aab67d7bf4f40d7e2ec836dd8ab4bb823e253ed66e98ff0
+DIST eza-0.14.0.tar.gz 1214132 BLAKE2B 89c0cc5055aab6730a66606b9a9ae040ea7d1f1fbcd278c4a2277738ca9a406fbeae33686d32d8f51382684f1fc57c465af61a06773490bb75b3e4f41a1a866c SHA512 7d7d0fa6b1e936bbafcad7bc537c678d30a40f586d8518966bf210985e585986f7a811b279c28e6df1e500653ffbeb05299f6b33366fad84e6545bcf656845d0
DIST fastrand-2.0.0.crate 14402 BLAKE2B 8bf830151ec616dbc25f216265722e39f8a2cd9ae036b0904b73775a30497368aaf9bb7f49890c330024c3d9b8084749c91f601b60b53bc8cef2da8b0aa71322 SHA512 9449dd52e4b722d5747f68f127843c0d1a402765c2b6186b9526f8ae23293cb1f6b50adcbf18a8ea768292642184cb0eb42b1801d20f6815397903f9977f3cbc
DIST filetime-0.2.22.crate 15029 BLAKE2B 068f4a84388d04d900bc5518a94895985ecba9c618a47b6483cabc31abd267e37ce69d78c51703ec5745307800d96ac801f37ac9959c60283c3c3d6ccd349c0a SHA512 d40d8baeb57ec85bb9ccf76ff0f898915c4e6cf384020121b53f4a2a1ef2840af5b4c9e8e1ff177034273f4f7a6bf81d2dd7a02cf498b61ea31ceaa30b877067
DIST form_urlencoded-1.0.1.crate 8773 BLAKE2B e2d2224dbd85d053343aea29ef1bd540fb8be12fd600289e9c048e3b74bfb009d0770f8296556309ef756086f22feec4713dfed1006e1101075c8897be5471cc SHA512 3ab371c223561a27ffbd35cf648ef4a9145d47bba9d71900a7c54cfc2f089175e9361f6352331a9a7fa018923b15e7a3553c8f9ff9fae80e1626e641a5faff68
DIST gethostname-0.4.3.crate 9336 BLAKE2B 12be5fdca0b6e3788cf3d67a4a80f283d240611b4fd37b6d1c37eb2503e4a7025b17bbb70adf421ac840d8f952434bdedf4691f31362780a267e21e8c4d3a006 SHA512 8c5dc404132f2ecf9bf82d8b89cbd698b4cb6d43141c47a60b95401da2e8c314347ab0a0ad5fba50cf98f01a621faa68293cb78f48977d3ddfe6e6f21926abf7
DIST git2-0.18.0.crate 210978 BLAKE2B 41fba81bab32d0b31c93f1b579eae61cdb57b7900b8d8b3dd39a601f3ec72820d2106162e89c3e5300442ac450dedf556b2b53c17610dc899ab920cc43c6077d SHA512 de8179c0cb27abb6e870efa27a562728926ae862820a1b71e5c47d2c69e6dc75caf25c0706564a8a5d47c47a2ba0ae7a164d68e88c16260214cad6c672505c70
+DIST git2-0.18.1.crate 211466 BLAKE2B ce5a8175f734bcc2504015271768ff4bda7bd18f615e5ff2618d06f758f041827aa9e58afb8149cc290619cf4e0fbccca460e4d38bf6f3cbf08193a2548c16cc SHA512 3fb535e820365ac5aecc5a1cd3af869ea952ed6741a7890b095ac6f4509fdee7389949da45e4f66188b5e261fb4c47d49ffc1043b4b2b39020ea21e22bc69fa7
DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b
DIST half-1.8.2.crate 41874 BLAKE2B c3c5c01771f05b7af652abb8e5490dde7afd04de130537e67845fe7ed58904e7ad66c7286a4e7deca3641876a6d12c5b6e95883fee2809c8e685d2f79cf96610 SHA512 5eb128e41b8b7f9769a669834b2f8380b115395bf2a2a181732bf6c71234d978dbc4c527fddadaa7bd7fae9add77958b27616bfa1767fd123d3cfb887663292e
DIST hashbrown-0.14.0.crate 116103 BLAKE2B 24bab03e8a8cb7623b92282c83bf8acaf0752c696ee1c010249e3ebb3646e7549d8d6d798b02c9d5b621afbebba7320f8a859d9a1af1523dbd46377b857dbb5f SHA512 f0fbdf81517f59a0b67f792a4097f1131d346b2b4cbda93590749cef7f9f1c9029e0e182f58c23b74d3028f7502c30b9593c1eb4da37f95388d74b14582b8959
@@ -148,6 +150,7 @@ DIST unicode-bidi-0.3.5.crate 33423 BLAKE2B 26434df7646ca6fc3b655ac2482c2be70700
DIST unicode-ident-1.0.11.crate 42067 BLAKE2B 3c7cac3d2bf1cbf1cf04716a482f130123e8e6940f7a90a17bc62fca44ac0069688165538f5329b95a72f735b594cfb85e3250738393ffd1b53cb0cd95077d89 SHA512 9682bbee339fb987c9d0bb6a54406d37b28b5c3587372d406402e4341900fec97e3234cd03b5c98b90b6378fd533dc452cac3de90d3ade19c4b09657e4abf6df
DIST unicode-normalization-0.1.17.crate 100345 BLAKE2B 2579748ab87f6d74ab8e845d88c1990e4ef32e46e38f9a1841e3381d257d973f2f8a9da359c8e3f11790a888acf81f548ed3b749a67bb3e95acf3b744dd063f3 SHA512 727b4844a4eb103375dff7d88d620e1fb581cbdf2523f07a5c1673ff333d772d48ffae7658bfe4816a5bb42de5f68a96e15be9341c540a0f746c2990eeccb3d6
DIST unicode-width-0.1.10.crate 18968 BLAKE2B 6174e307fd3ee290d0a5d1d31233baaa5315cdb73f19b8580718e9f9eb04cfd3aeaeb474af1e50c4b9fecc6fc777937dedc527c9dc9ed14ccf42af099e591f31 SHA512 9836a8d489d18ea1ecfe1957ed6d5da7dce825e138cd1848aef093fa8d2eb83fcf01eabb1a2446df4f5ede4e67316e9e81b5d58b59d4e8c5d67870e8fa5dca3b
+DIST unicode-width-0.1.11.crate 19187 BLAKE2B 6baf7f3b32eb838925e591792abfe11968206d177facefb89ef51daf44c18f3fef1e41c19a47b88b81be50667af626af2024ccc540b240fb6e1d83fdea57076f SHA512 ee06f4144525424327a17578642565f396802f0eea539b3bebc8d9627376a8bc6c5376d83a6ee577068e99fe75815bd765e6d49fb9ab9b253d00594bb15a5ffe
DIST url-2.2.1.crate 65434 BLAKE2B e9180c56afaf9dd781812b3650b28cee14a2330629e708bb8a67144f6c12e3781d07fae68166990bebaae60190a1a88dfa1d087d4982ed04d8cdfa59ae4a0d7e SHA512 f2065e68dd917cc174c222a44127ac10a59d25a87ccce6b88ac1e1e775856fd7d5931d728296db355117f94e71e12404fdd68a283545b543a2e00a659a6997ed
DIST urlencoding-2.1.3.crate 6538 BLAKE2B 65777b0990aa6b3d27a47f36114da8622026ac8946b5ffb6e04172b666ec7244a55c250a7fb626472bb2b636eb32ee945599cee5ce7351c3cef2322366db15ff SHA512 035848d9243ed6a4528377b56edd7f8bcb5f824381b420dc8f5c4bfc3f1246655c54eaa7de0e4aaa7138e0b08fd796b9ace140ab919aed2d94f6952b577386ac
DIST utf8parse-0.2.1.crate 13435 BLAKE2B a1c111d7ffc60690f2aaa86f034c66ba1abe4e126f1774a4377d41eba3269369862f57515af387ea785d69a8adf46338b5e53761b5ee6f4f4380473f4d9cab0a SHA512 51fba8f1e7eb74b7020fd831e30a67fc8353ac2ee07335c8c3374a5570ac8117f165f6905d4b7f0360095b7b5ed3e739001d02a8cc3c89195baf2cd679136050
@@ -184,4 +187,5 @@ EBUILD eza-0.11.1-r1.ebuild 3700 BLAKE2B c2df4132124564da9c9a5745bfbdc30411cf75b
EBUILD eza-0.12.0.ebuild 4520 BLAKE2B 6090a977675e0e1ae64652e01a498a358e2c6411abe81289f418254f8601a6590bd9eb5f612e6f3babd26e7058d74e1a355bd643adb5913a8232d9622e35d9bf SHA512 ce45deb89af6cf394f1723a094261a4b952f7a2a0c3e79650a1ee6b9ce3564e122585a903abfdb3762a18aff3f1656257741dd08229701d5f1e1852383a2aff5
EBUILD eza-0.13.0.ebuild 5491 BLAKE2B 23386dc72deea336445f2c151a73d0102269f2d7c2c628cea831eab6c67df1e6803d1f2f9f96fcc97736f2288cf6d482eb50ae5bea5b1d9153024eb15ef783ee SHA512 f22a278ab72eb2b2b4fd5ca096390a53fb5f7a1fa14d67e0a5f3e538a2c1f641694b48b41957fcae5b880509cf0bf8fb7d6c52c97cbd4bcd60c5fa97352b9f4d
EBUILD eza-0.13.1.ebuild 5441 BLAKE2B c9a4dccf69a350e15a79bd8bf0d1b03ae0fb71a53513815901a5bfffd97d909226f1781062a5dbe3bda543d5a713c114be4debb75c17ad7948fb392dee33c507 SHA512 d245097fb3ceb6d7ab6d1373e3edc18a88d500bb36c4c322c6181a66f222eb4f3e7384ea9849c5a8da71533147807653640cfcfd665ebfa517d21a365844c037
+EBUILD eza-0.14.0.ebuild 5441 BLAKE2B e61032e83d3dd727cccdc73d7a0a0173409bad5ef9118d053cae8c3e69137bb4c71e04eaa371f69512d3fe2312b611aab4d116046bb89eb0b7e9cf601b4258ba SHA512 79e95494e292dbdb203137cc711789ff38a005cd9df662565d00b55d1247eb8c969dd719e52b1156e952bc5cd05dbc9ccfbba3d9977f72c537bcdaab73cf619f
MISC metadata.xml 495 BLAKE2B 306ca308e3132da0688cee3f358d239c0b5ab3014c01d8624344d3a68643741a3d4303c1199454589f7fbc3a22d80fcc8ac66377b02895a39c1b54e078aee787 SHA512 09872a6228f3f3884044a8d08970ca5933a2de28049b900f85a99c749b7710268f7981f7115b796dbff159c471af3a60a4326da4412e660206b9ecbb6d24d11e
diff --git a/sys-apps/eza/eza-0.14.0.ebuild b/sys-apps/eza/eza-0.14.0.ebuild
new file mode 100644
index 000000000000..e3a0279f4940
--- /dev/null
+++ b/sys-apps/eza/eza-0.14.0.ebuild
@@ -0,0 +1,246 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@1.0.5
+ android-tzdata@0.1.1
+ android_system_properties@0.1.5
+ anes@0.1.6
+ ansiterm@0.12.2
+ anstream@0.5.0
+ anstyle-parse@0.2.1
+ anstyle-query@1.0.0
+ anstyle-wincon@2.1.0
+ anstyle@1.0.3
+ autocfg@1.1.0
+ bitflags@1.3.2
+ bitflags@2.4.0
+ bumpalo@3.13.0
+ byteorder@1.4.3
+ cast@0.3.0
+ cc@1.0.79
+ cfg-if@1.0.0
+ chrono@0.4.31
+ ciborium-io@0.2.1
+ ciborium-ll@0.2.1
+ ciborium@0.2.1
+ clap@4.4.3
+ clap_builder@4.4.2
+ clap_lex@0.5.1
+ colorchoice@1.0.0
+ content_inspector@0.2.4
+ core-foundation-sys@0.8.4
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-channel@0.5.8
+ crossbeam-deque@0.8.3
+ crossbeam-epoch@0.9.15
+ crossbeam-utils@0.8.16
+ datetime@0.5.2
+ dunce@1.0.4
+ either@1.9.0
+ equivalent@1.0.1
+ errno-dragonfly@0.1.2
+ errno@0.3.3
+ fastrand@2.0.0
+ filetime@0.2.22
+ form_urlencoded@1.0.1
+ git2@0.18.1
+ glob@0.3.1
+ half@1.8.2
+ hashbrown@0.14.0
+ hermit-abi@0.3.2
+ humantime-serde@1.1.1
+ humantime@2.1.0
+ iana-time-zone-haiku@0.1.2
+ iana-time-zone@0.1.57
+ idna@0.2.3
+ indexmap@2.0.0
+ is-terminal@0.4.9
+ itertools@0.10.5
+ itoa@1.0.9
+ jobserver@0.1.22
+ js-sys@0.3.64
+ lazy_static@1.4.0
+ libc@0.2.148
+ libgit2-sys@0.16.1+1.7.1
+ libz-sys@1.1.2
+ linux-raw-sys@0.4.7
+ locale@0.2.2
+ log@0.4.20
+ matches@0.1.8
+ memchr@2.6.3
+ memoffset@0.9.0
+ natord@1.0.9
+ normalize-line-endings@0.3.0
+ num-traits@0.2.14
+ num_cpus@1.16.0
+ number_prefix@0.4.0
+ once_cell@1.18.0
+ oorandom@11.1.3
+ openssl-src@111.26.0+1.1.1u
+ openssl-sys@0.9.61
+ os_pipe@1.1.4
+ partition-identity@0.3.0
+ percent-encoding@2.3.0
+ phf@0.11.2
+ phf_generator@0.11.2
+ phf_macros@0.11.2
+ phf_shared@0.11.2
+ pkg-config@0.3.19
+ plotters-backend@0.3.5
+ plotters-svg@0.3.5
+ plotters@0.3.5
+ proc-macro2@1.0.66
+ proc-mounts@0.3.0
+ quote@1.0.33
+ rand@0.8.5
+ rand_core@0.6.4
+ rayon-core@1.11.0
+ rayon@1.7.0
+ redox_syscall@0.1.57
+ redox_syscall@0.3.5
+ regex-automata@0.3.8
+ regex-syntax@0.7.5
+ regex@1.9.5
+ rustix@0.38.13
+ ryu@1.0.15
+ same-file@1.0.6
+ scoped_threadpool@0.1.9
+ scopeguard@1.2.0
+ serde@1.0.188
+ serde_derive@1.0.188
+ serde_json@1.0.107
+ serde_spanned@0.6.3
+ shlex@1.2.0
+ similar@2.2.1
+ siphasher@0.3.11
+ snapbox-macros@0.3.5
+ snapbox@0.4.12
+ syn@2.0.29
+ tempfile@3.8.0
+ term_grid@0.1.7
+ terminal_size@0.3.0
+ thiserror-impl@1.0.48
+ thiserror@1.0.48
+ timeago@0.4.2
+ tinytemplate@1.2.1
+ tinyvec@1.2.0
+ tinyvec_macros@0.1.0
+ toml_datetime@0.6.3
+ toml_edit@0.19.15
+ trycmd@0.14.17
+ unicode-bidi@0.3.5
+ unicode-ident@1.0.11
+ unicode-normalization@0.1.17
+ unicode-width@0.1.11
+ url@2.2.1
+ utf8parse@0.2.1
+ uzers@0.11.3
+ vcpkg@0.2.12
+ wait-timeout@0.2.0
+ walkdir@2.4.0
+ wasm-bindgen-backend@0.2.87
+ wasm-bindgen-macro-support@0.2.87
+ wasm-bindgen-macro@0.2.87
+ wasm-bindgen-shared@0.2.87
+ wasm-bindgen@0.2.87
+ web-sys@0.3.64
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.48.0
+ windows-targets@0.48.5
+ windows@0.48.0
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+ winnow@0.5.15
+ zoneinfo_compiled@0.5.1
+"
+
+inherit shell-completion cargo
+
+DESCRIPTION="A modern, maintained replacement for ls"
+HOMEPAGE="https://github.com/eza-community/eza"
+SRC_URI="https://github.com/eza-community/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0 MIT Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+git man"
+
+DEPEND="git? ( dev-libs/libgit2:= )"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ >=virtual/rust-1.70.0
+ man? ( virtual/pandoc )
+"
+
+QA_FLAGS_IGNORED="usr/bin/${PN}"
+
+src_prepare() {
+ default
+ if use man; then
+ mkdir -p contrib/man || die "failed to create man directory"
+ pandoc --standalone -f markdown -t man man/eza.1.md \
+ -o contrib/man/eza.1 || die "failed to create man page"
+ pandoc --standalone -f markdown -t man man/eza_colors.5.md \
+ -o contrib/man/eza_colors.5 || die "failed to create colors man page"
+ pandoc --standalone -f markdown -t man man/eza_colors-explanation.5.md \
+ -o contrib/man/eza_colors-explanation.5 || die "failed to create colors-explanation man page"
+ fi
+
+ # "source" files only, but cargo.eclass will attempt to install them.
+ rm -r man || die "failed to remove man directory from source"
+
+ # Known failing test, upstream says it could potentially be ignored for know
+ # bug #914214
+ # https://github.com/eza-community/eza/issues/393
+ rm tests/cmd/{icons,basic}_all.toml || die
+ rm tests/cmd/only_dir_{,recursive_}unix.toml || die
+ rm tests/cmd/recursive_unix.toml || die
+ rm tests/cmd/only_file_unix.toml || die
+
+ sed -i -e 's/^strip = true$/strip = false/g' Cargo.toml || die "failed to disable stripping"
+}
+
+src_configure() {
+ local myfeatures=(
+ $(usev git)
+ )
+ export LIBGIT2_SYS_USE_PKG_CONFIG=1
+ export PKG_CONFIG_ALLOW_CROSS=1
+ cargo_src_configure --no-default-features
+}
+
+src_install() {
+ cargo_src_install
+
+ dobashcomp "completions/bash/${PN}"
+ dozshcomp "completions/zsh/_${PN}"
+ dofishcomp "completions/fish/${PN}.fish"
+
+ if use man; then
+ doman contrib/man/*
+ fi
+}
+
+pkg_postinst() {
+ if [[ -n ${REPLACING_VERSIONS} ]] \
+ && [[ $(ver_cut 2 ${REPLACING_VERSIONS}) -lt 13 ]]; then
+ elog "Starting with 0.13.0 \$EXA_COLORS using style codes nh and uh"
+ elog "will need to be updated to use nt and ut"
+ fi
+}
diff --git a/sys-apps/hwdata/Manifest b/sys-apps/hwdata/Manifest
index 1bbc63e278d8..d1883565f54e 100644
--- a/sys-apps/hwdata/Manifest
+++ b/sys-apps/hwdata/Manifest
@@ -2,8 +2,10 @@ DIST hwdata-0.371.tar.gz 2340297 BLAKE2B bb92b6d4f66879eacc1efae13ff1a5fe5801461
DIST hwdata-0.372.tar.gz 2349386 BLAKE2B 0b3c8a7d23cd999090839d046ce6228098bb4976d0be56a07b6b32bdd968e11933b0d648cf4d596ed9ca09f5b754083c62bf0aba116835de6aed72f228cacf1b SHA512 3a7fda4c1f06dff62892dd0d21095d7603a2ec16e67667215b2f59640a38845a79b2dc2a19bcc40656fd472e4216393ac08e190939ec05ef6d4af3e7e6c9141f
DIST hwdata-0.373.tar.gz 2356072 BLAKE2B 22be63c94f1ba0fe5e31f1a19d8bf60a302bd6a2a7a15fbeaba0c3399490f86e067c5c84e1bbf5c4cc55a1ec588282d41c5ca9f3cf9e774ae559cac1b95d5812 SHA512 cb940a1cad1b7b6cef0e4bca980b0e6f0af06bf157069645645bb4403d98fbb26bbeef580c984b73091375db09e96c8b672b52d5cf27d75581ff8f0e935d8294
DIST hwdata-0.374.tar.gz 2363130 BLAKE2B 696a0281307bb04f2aa9d946b97fdfffd918a3ee3ccc3479842779a4158e06733d128ca5feedf757fa15abb21bdc502cf3d81a775056aed17a95ddefade38df9 SHA512 c4dad796a170fb3b047ac4fe4a9fb32bc58858cdab7ca424d64e5ea00968af45d95af672a147faa2936436a904eae314b6143de2f75c0649ae9985dc4cad4301
+DIST hwdata-0.375.tar.gz 2367434 BLAKE2B 9fe350d9ba0c38d1b765cb38d3e6f3a969c0d9847f0453b0e6709e3a992ae2daffd52871ea730da6bcf297785fa44dc7c745ffa4579b85ba08df7a98144b6b32 SHA512 6d3a796be26d5e50991354e6859d69145c09003fd04dafce93ea20e72909ce2f0572004c0270832ab99fed780497234c526f3fbf3b154162f449373be7039a83
EBUILD hwdata-0.371.ebuild 694 BLAKE2B e65d661084c4d61beaf449b8f7b8db5ba3bea6d2ccb93776d93dc077f26f74bcca40e89eafddacac44f67faaa568012c3c01c679bcc5dcb210889356b4d7d81b SHA512 087f7c7157e38023f3f3121237dc930fb69abca7b0523907a01463d011380d0f78d15bb4ace04deb08082af5d03fa7a1371d196ca34e31bc4d14b36e681ea077
EBUILD hwdata-0.372.ebuild 694 BLAKE2B e65d661084c4d61beaf449b8f7b8db5ba3bea6d2ccb93776d93dc077f26f74bcca40e89eafddacac44f67faaa568012c3c01c679bcc5dcb210889356b4d7d81b SHA512 087f7c7157e38023f3f3121237dc930fb69abca7b0523907a01463d011380d0f78d15bb4ace04deb08082af5d03fa7a1371d196ca34e31bc4d14b36e681ea077
EBUILD hwdata-0.373.ebuild 694 BLAKE2B e65d661084c4d61beaf449b8f7b8db5ba3bea6d2ccb93776d93dc077f26f74bcca40e89eafddacac44f67faaa568012c3c01c679bcc5dcb210889356b4d7d81b SHA512 087f7c7157e38023f3f3121237dc930fb69abca7b0523907a01463d011380d0f78d15bb4ace04deb08082af5d03fa7a1371d196ca34e31bc4d14b36e681ea077
EBUILD hwdata-0.374.ebuild 702 BLAKE2B 8734f2398aa66f05a6f68ace57d21a1cb515babef49888824257eb354da537d84f396c38a216ec071b6caa5b38a841c4049e3108d2ffd99cdfbc3bff8c64c045 SHA512 6dffe93d4582d6bd7c50d0a57bc6d067693c897dbd33c1ffc75b514065b64fad66d805d26f69d6af927813920b9ad5072f5a6eda118cb0942d66ec78c1a76088
+EBUILD hwdata-0.375.ebuild 702 BLAKE2B 8734f2398aa66f05a6f68ace57d21a1cb515babef49888824257eb354da537d84f396c38a216ec071b6caa5b38a841c4049e3108d2ffd99cdfbc3bff8c64c045 SHA512 6dffe93d4582d6bd7c50d0a57bc6d067693c897dbd33c1ffc75b514065b64fad66d805d26f69d6af927813920b9ad5072f5a6eda118cb0942d66ec78c1a76088
MISC metadata.xml 328 BLAKE2B cf72c9663e944154e41475067b5e89dbfcd50f0c771e17dddfb6042a2ccb10693d7ef6eb7508e9ec7a50cbc59e8e47698030a5c1e18accd79040d4318416eb54 SHA512 f366d006f709fabe624840768aa780982884ba8a74f3ac121e323995e218a577dc5a4d34d9dcbec44571580d388967d78350d4540316444ddaf014b99db804e7
diff --git a/sys-apps/hwdata/hwdata-0.375.ebuild b/sys-apps/hwdata/hwdata-0.375.ebuild
new file mode 100644
index 000000000000..afddd20d2fd1
--- /dev/null
+++ b/sys-apps/hwdata/hwdata-0.375.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo
+
+DESCRIPTION="Hardware identification and configuration data"
+HOMEPAGE="https://github.com/vcrhonek/hwdata"
+SRC_URI="https://github.com/vcrhonek/hwdata/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RESTRICT="test"
+
+src_configure() {
+ # configure is not compatible with econf
+ local conf=(
+ ./configure
+ --prefix="${EPREFIX}/usr"
+ --libdir="${EPREFIX}/lib"
+ --datadir="${EPREFIX}/usr/share"
+ )
+
+ edo "${conf[@]}"
+}
diff --git a/sys-fs/Manifest.gz b/sys-fs/Manifest.gz
index 40f119924246..b1b4b0f0a472 100644
--- a/sys-fs/Manifest.gz
+++ b/sys-fs/Manifest.gz
Binary files differ
diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest
index d3f54b5ec4d7..0866a4e08b14 100644
--- a/sys-fs/btrfs-progs/Manifest
+++ b/sys-fs/btrfs-progs/Manifest
@@ -3,11 +3,13 @@ DIST btrfs-progs-v6.3.1.tar.xz 3155540 BLAKE2B 5f8ec51f11d705bb4ada2e00014393348
DIST btrfs-progs-v6.3.2.tar.xz 3160148 BLAKE2B e6815eeb90c1dbf9a6c4a5aa72262c18b2031a9305efc9024b1fe7b770a256e1d4cb3b01646a0a523f0e26af2d499382bf42420385c56593ace515a6c225f54d SHA512 d8580250994b3e399babec4478515686f1e3cc2e4fc01ccbc7b00a51b6131452d209cb7f43dbbac5375286546d182fcdf7884bbc1a8ad6889c3f15d85ba8f8d5
DIST btrfs-progs-v6.3.3.tar.xz 3163112 BLAKE2B 76714da94e1cd733df4198b736c31b32d4cfb6779985036610651a267fcf92299c140f99f2372278cafcb02f651413c069314195b7bd44d56ddf60eb60e5532d SHA512 e72791fd91cc9a93aaab72bf8c36f9d7e2608315ccb3b0474ca0c1e1893465b2c7145ce523216accb0d02c4dd0fd13597702ce6a8b9c2ac137cd9bce3c5a4347
DIST btrfs-progs-v6.5.1.tar.xz 3179504 BLAKE2B 95d424342dfa238ed4dd525f72618b449e91db198fa6a12bcbb6bb48246d7b5b84a8fd5dc3b943246732fa40c3b575855c966f8ca135b32aa926e0709549cb99 SHA512 87cc81ecad0cb22de3086fef0fd825be101344d44dc954ac05e25d394421ca5fe3dbcb27c79a3a8fb67a2d3237b7bd84329ccef2c070b1b07d1156dc08716dfb
+DIST btrfs-progs-v6.5.2.tar.xz 3190068 BLAKE2B 74010ed51e211d28ce161db9f6e005bb1c73d8726c9a74446520a46bfa8d6f25d267f747e392f82a8ebeb0b9dd25b3681e9617048e33b9244047089a36fc34c6 SHA512 40b5a2f4d4dcf1810eeb0808e6cb72081ef5743a5072b75e2535420b6acb3a3ead61b01da3217c2bc3fb6ec700f141d4646389cc7a6476ce8af51a424a732672
DIST btrfs-progs-v6.5.tar.xz 3178048 BLAKE2B 502d8cebab1d35d8d69eb76212476e323d9f19a9d32eb304acaeb1fc27bfff3ca801fcebc4c19ce7db16ed0114b3c794814157075872c2fd1d8b1d32d740e346 SHA512 7e1578b1f82549f77b55341c20a973da52018b1539da46f92e4a9d9804906ce5e00312c8a02a6047373e4435e661b2e5fc18f5dfbf2d0563cdf62c40de6a4436
EBUILD btrfs-progs-6.3.1.ebuild 3531 BLAKE2B e639b34fbef79592d1dbe039cf2d13ff29f9cc6a7eee0ced223498050e0c3b6e65ba7214576a81d2bb716b82c27b6c83c353a288381b869a7d5228e1ffecadbd SHA512 96095b964ce0733201bf405b1d3cb3a21637a60b5e1f3fccccc0cdc9c5d5c705c4593afc5598480b8dfc53a3ad4c55ba427354559120b4a14d4d234c8f60872e
EBUILD btrfs-progs-6.3.2.ebuild 3532 BLAKE2B 8bc3fb26e7afd8873018303562b98004eccdbc46dec106722ed53a63ecd8b6aa77b031dceab11c6a6a211030c9297a5e640707c17c6561c71ba2cf7a8abe20a8 SHA512 5a22ce15d0873ef360c64ae52417161d34480d383ce15bd6cf5b0dec179b9a3811e22a976d5916c743215cfc7b24e76eb48a858cd3adfd4c42ec1ade8676fd02
EBUILD btrfs-progs-6.3.3.ebuild 3526 BLAKE2B 757ed0078acbe35c3d43a426062d01c620a4880ba34303a838469a81ae8dec25b4aef7e1c9230d96b14cc47620d50963a935799391bd8f86604cd9aa694fd47c SHA512 90a9c015ba76b8c7675aa6dc2b3ecdf853a99844e89abed0da7dc74a5622687f64ae6d2a732ac1911ec349e90d4979034dad27820447a25e27d362162053b046
EBUILD btrfs-progs-6.5.1.ebuild 3532 BLAKE2B 8bc3fb26e7afd8873018303562b98004eccdbc46dec106722ed53a63ecd8b6aa77b031dceab11c6a6a211030c9297a5e640707c17c6561c71ba2cf7a8abe20a8 SHA512 5a22ce15d0873ef360c64ae52417161d34480d383ce15bd6cf5b0dec179b9a3811e22a976d5916c743215cfc7b24e76eb48a858cd3adfd4c42ec1ade8676fd02
+EBUILD btrfs-progs-6.5.2.ebuild 3532 BLAKE2B 8bc3fb26e7afd8873018303562b98004eccdbc46dec106722ed53a63ecd8b6aa77b031dceab11c6a6a211030c9297a5e640707c17c6561c71ba2cf7a8abe20a8 SHA512 5a22ce15d0873ef360c64ae52417161d34480d383ce15bd6cf5b0dec179b9a3811e22a976d5916c743215cfc7b24e76eb48a858cd3adfd4c42ec1ade8676fd02
EBUILD btrfs-progs-6.5.ebuild 3614 BLAKE2B 5d03ad29a9cce10d9433cb0d269b9f1c90edbebb796be44f043db456d930cd22f1661240cf6d42f1eda20778981689c1acde559c731d66adf9c20b8bb0a6876b SHA512 35c41c736e330ed30e5a4ae9fd89315e4f158e1a355621c61120c4d62c83cd204863c60736c48326a586baf07c073171f835672fc71b0a8de084a4e9fe989fcd
EBUILD btrfs-progs-9999.ebuild 3532 BLAKE2B 8bc3fb26e7afd8873018303562b98004eccdbc46dec106722ed53a63ecd8b6aa77b031dceab11c6a6a211030c9297a5e640707c17c6561c71ba2cf7a8abe20a8 SHA512 5a22ce15d0873ef360c64ae52417161d34480d383ce15bd6cf5b0dec179b9a3811e22a976d5916c743215cfc7b24e76eb48a858cd3adfd4c42ec1ade8676fd02
MISC metadata.xml 610 BLAKE2B 70361c4d5434a98f73a3d38ed47d7be830783529db6217396f2235cdedd58744fc6e52e4de1994d28184fe9d8aa5d2982c433d47eda1868cfdb79edf0769a620 SHA512 8958c02574adb1395a9d21d9e9ad5db38570b82a1c7211752eb007eecbd0e541e880a060649641f40be877f167e14f278f14d5ef8775766ef9a6fa5d3843dc53
diff --git a/sys-fs/btrfs-progs/btrfs-progs-6.5.2.ebuild b/sys-fs/btrfs-progs/btrfs-progs-6.5.2.ebuild
new file mode 100644
index 000000000000..479ade82c97a
--- /dev/null
+++ b/sys-fs/btrfs-progs/btrfs-progs-6.5.2.ebuild
@@ -0,0 +1,161 @@
+# Copyright 2008-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit bash-completion-r1 python-single-r1 udev
+
+libbtrfs_soname=0
+
+if [[ ${PV} != 9999 ]]; then
+ MY_PV="v${PV/_/-}"
+ SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ fi
+
+ S="${WORKDIR}"/${PN}-${MY_PV}
+else
+ EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
+ EGIT_BRANCH="devel"
+ WANT_LIBTOOL="none"
+ inherit autotools git-r3
+fi
+
+DESCRIPTION="Btrfs filesystem utilities"
+HOMEPAGE="https://btrfs.readthedocs.io/en/latest/"
+
+LICENSE="GPL-2"
+SLOT="0/${libbtrfs_soname}"
+IUSE="+convert python +man reiserfs static static-libs udev +zstd"
+# Could support it with just !systemd => eudev, see mdadm, but let's
+# see if someone asks for it first.
+REQUIRED_USE="static? ( !udev ) python? ( ${PYTHON_REQUIRED_USE} )"
+
+# Tries to mount repaired filesystems
+RESTRICT="test"
+
+RDEPEND="
+ dev-libs/lzo:2=
+ sys-apps/util-linux:=[static-libs(+)?]
+ sys-libs/zlib:=
+ convert? (
+ sys-fs/e2fsprogs:=
+ reiserfs? (
+ >=sys-fs/reiserfsprogs-3.6.27
+ )
+ )
+ python? ( ${PYTHON_DEPS} )
+ udev? ( virtual/libudev:= )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="
+ ${RDEPEND}
+ >=sys-kernel/linux-headers-5.10
+ convert? ( sys-apps/acl )
+ python? (
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ )
+ static? (
+ dev-libs/lzo:2[static-libs(+)]
+ sys-apps/util-linux:0[static-libs(+)]
+ sys-libs/zlib:0[static-libs(+)]
+ convert? (
+ sys-fs/e2fsprogs[static-libs(+)]
+ reiserfs? (
+ >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
+ )
+ )
+ zstd? ( app-arch/zstd[static-libs(+)] )
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+ man? ( dev-python/sphinx )
+"
+
+if [[ ${PV} == 9999 ]]; then
+ BDEPEND+=" sys-devel/gnuconfig"
+fi
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]]; then
+ AT_M4DIR="m4" eautoreconf
+
+ mkdir config || die
+ local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
+ [[ -e ${automakedir} ]] || die "Could not locate automake directory"
+
+ ln -s "${automakedir}"/install-sh config/install-sh || die
+ ln -s "${BROOT}"/usr/share/gnuconfig/config.guess config/config.guess || die
+ ln -s "${BROOT}"/usr/share/gnuconfig/config.sub config/config.sub || die
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ --bindir="${EPREFIX}"/sbin
+
+ --enable-lzo
+ --disable-experimental
+ $(use_enable convert)
+ $(use_enable man documentation)
+ $(use_enable elibc_glibc backtrace)
+ $(use_enable python)
+ $(use_enable static-libs static)
+ $(use_enable udev libudev)
+ $(use_enable zstd)
+
+ # Could support libgcrypt, libsodium, libkcapi
+ --with-crypto=builtin
+ --with-convert=ext2$(usex reiserfs ',reiserfs' '')
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake V=1 all $(usev static)
+}
+
+src_test() {
+ emake -j1 -C tests V=1 test
+
+ if use python ; then
+ cd libbtrfsutil/python || die
+
+ local -x LD_LIBRARY_PATH="${S}:libbtrfsutil/python:${LD_LIBRARY_PATH}"
+ ${EPYTHON} -m unittest tests/test_*.py || die "Tests failed with ${EPYTHON}"
+ fi
+}
+
+src_install() {
+ local makeargs=(
+ $(usev python install_python)
+ $(usev static install-static)
+ )
+
+ emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
+
+ newbashcomp btrfs-completion btrfs
+
+ use python && python_optimize
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/mtd-utils/Manifest b/sys-fs/mtd-utils/Manifest
index 0e831eba2058..e94d84404cc5 100644
--- a/sys-fs/mtd-utils/Manifest
+++ b/sys-fs/mtd-utils/Manifest
@@ -1,6 +1,6 @@
DIST mtd-utils-2.1.5.tar.bz2 640309 BLAKE2B 94dfd37c10d2759c2fe0b2a7565e2a2aeafdfcaaba2ab9eddc5de2d77658f2702f25004609698585c170839f4e4b685e99004918f1e20cf1ced6925680215427 SHA512 625ee12baf38401c60f6c22d53ed649710417f8d03c6c2217cee890478954e22261428fbf11c713493fb6b7d452ed5af44b0dc9c58133f7b4f52e369353a62c3
DIST mtd-utils-2.1.6.tar.bz2 458333 BLAKE2B 799c19fbee1a690fa695edfa7e2ab1691e37fccb3f83685065e93b5ceea96e550eecdba4576b7d1a58a1b0ce06e3e551ee635fe9ed16521952fc85986f74ae6f SHA512 470902475b9e583d3a12801c1cab5492c671ec3ccf853cc3336c4e2b8771eac489d67b1414b9f1e827c42ebdba0fe2cdc681297477d67a796af04d81160442bd
EBUILD mtd-utils-2.1.5.ebuild 1132 BLAKE2B 14535a937eca1ecb763221a78fc74f9e90a6ee319f4acf7be8f2991666ebbb5f3207e5502b5b4d932084fed91b7bbc29c8f626b56393603d645caf827890355f SHA512 d007d9efd365dff6228baa03f506e713ebf7e1466d08881fc72e0224dafe870a804ef5769818cba1f329e27c1acaf67296dc9f2c1d2978f2bc4bad5f7e216e5a
-EBUILD mtd-utils-2.1.6-r1.ebuild 1156 BLAKE2B 50ba92b473f55939b2fe660b32488f04c99d98880e4caeabae3929be6220012c7524fc0ec7e7436993d048859abe349119d51842fe40e4bf75d45e326f7b71f5 SHA512 4bd1e20752cc4a9205c8fd0e3fe9fdf556c2244b31824ca1c61637f419b52f525e009017347bb929f6202031a68577873410c70c8c884533a1bed945e2ec12ec
+EBUILD mtd-utils-2.1.6-r1.ebuild 1152 BLAKE2B 8b46a8009c7da42a75def35e04c71e6ec32b4efbfb8b815b80d80bc19b193bfa2b741309ad2df6c91432328aefaef7fba4f7b6dd439cf4333c66e2bbaebdfe8c SHA512 ea3415e4480a15225336847267db326e4ee578428eefb1d686c036f566f5c6ac6fff22fd5ba9977c1067805b7f4de1e7d056df5f2e8e5d2b396be73217d73243
EBUILD mtd-utils-2.1.6.ebuild 1145 BLAKE2B 6f27906041443b84411540e9fdf253502f0b320767036d8adc7a89b5abe3e6d81c184cf13bc1c2b555e58b60c80b87ae43b2b5c69c0deaebca514081b835196d SHA512 dcda1d1a6b29d28d2223cd6c3b443c71e2e332ecea29b1045033f384af8544450f49d17632e886c0b7193eb76f610f9d25cfcc72078928ed9e1332a9517e4393
MISC metadata.xml 589 BLAKE2B 4991d24ee29697e60dd1672008647d8b7ef2f6cf60a64ccf3b1174eecdaf842b81783ecd9995a7b050f98b744546550074b6c2ea509e45f3f42106badbc3deeb SHA512 a3a46acfa94eb80e4220d2e143a929f4a02e1d6708378a4e429b7de4e82bfe1d04aee5868c889c98354b566b58f0512d50f36357f16fa6997afffd0c2177b696
diff --git a/sys-fs/mtd-utils/mtd-utils-2.1.6-r1.ebuild b/sys-fs/mtd-utils/mtd-utils-2.1.6-r1.ebuild
index 53f7c4c09597..b432f655ee26 100644
--- a/sys-fs/mtd-utils/mtd-utils-2.1.6-r1.ebuild
+++ b/sys-fs/mtd-utils/mtd-utils-2.1.6-r1.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://infraroot.at/pub/mtd/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
IUSE="+lzo +ssl test xattr +zstd"
RESTRICT="!test? ( test )"
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index 051da5fe8ac3..6b624882a17d 100644
--- a/sys-libs/Manifest.gz
+++ b/sys-libs/Manifest.gz
Binary files differ
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index d13878928d72..f2c13eba84c5 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -30,11 +30,7 @@ DIST glibc-2.36-patches-10.tar.xz 118268 BLAKE2B 3d1bdb6c1a9e10ba78a344ca8940f68
DIST glibc-2.36.tar.xz 18610836 BLAKE2B f8375e084043f032609e66fd98c234249df57a595c59672acb1bb8c69aed64d339d526611553449492b097cda900ad1d9bae8873d7f5932b10a9a0d8c9210c55 SHA512 9ea0bbda32f83a85b7da0c34f169607fb8a102f0a11a914e6bf531be47d1bef4f5307128286cffa1e2dc5879f0e6ccaef527dd353486883fa332a0b44bde8b3e
DIST glibc-2.37-patches-10.tar.xz 72768 BLAKE2B 20501519a570a5d277a3c1460373edea4131602b07037a81d855f1dcbc5b8d40fa6edae500a9f30e9541389dc1b4a7406cbee8e8a85a3131932e23f807e1b211 SHA512 f1e3791befa98ec5a83c919f6563c4c0c9e7bb2bf53bd0adf9235344d914a8d127f2da595a6850fd75b6828a81914241f8964bf004070888fbc77795f0f727cc
DIST glibc-2.37-patches-5.tar.xz 37640 BLAKE2B a87fb239208eb6d65c96bf7687570d8d0919277410fe1e28c293fa7749ffa862417bc1fe6d0819e47a806b20e52d14de84b843fa879fe15b884b2742719caf87 SHA512 344276606b7330322df72ee964d3447d02907df92b5a1d20b9aa427e93727be907f915ecd62db45e994c46451bd09d5da95ef7bf1a27d247a57589c568e6cb20
-DIST glibc-2.37-patches-7.tar.xz 67408 BLAKE2B 0ac88c420020f32a2447a6cd8e931c95cf9438003b504ee69c5f4af551e060dd49919367d1554d99ed7dad331116e57dde8ce94975f1d1920141c13a16666236 SHA512 0de4ac41eff88f23a1b2d824219356443d79ecf1a08139028bba40a12b730df0f7df84d660b366ecd0a1801f708eff070bc121ab04cdad87a9498802b1c174c0
-DIST glibc-2.37-patches-9.tar.xz 70472 BLAKE2B fa70bf7804623878e1027cf56c9c524f75bd61f4cfb5980ade45137b2ffbd0db9de244b2ba37b4af75d8ced4bf0f83feb6daff6af46367148a8c99c063dcd460 SHA512 d0afb53a05f44c051316f356ba3ee338ea5acceec2c28e07401e5f964d698696a15883ef02248ec84139d5e5fb57352e2d579e2a73e150399f641b8ccdc4d043
DIST glibc-2.37.tar.xz 18674604 BLAKE2B 8139cd977b2ed3bfdbde5ffb1cda8f759763dbb83071167272fef798cfbdc0d17cfd1ec893d126c52c91511b7961f3ad12eed34534b99412dfa04a1cdd5b4ea3 SHA512 4fc5932f206bb1b8b54828a28af1a681616b838bbab60c81c82155f3629cbfe1301d271af65511ed917f4c6949a025429221fe6035753282f15346919f15b90c
-DIST glibc-2.38-patches-3.tar.xz 44784 BLAKE2B 59d94b83d95fb9eea177409180e90352c0eeca65959951377ec80f0d29c43d71f7000d1e7302fc1f4ecd2d742582fc1f4d4afb2db056c959fca3da8b7c79dfae SHA512 14c19d1970678ecc5eabb86de3a46c1866acbfec96e7aaa334b3cb5b10446ae9d2f3337943473a35fe8bef9c382a0bdc341fc95ff01ff668a178e9c05cc2ded6
-DIST glibc-2.38-patches-4.tar.xz 45480 BLAKE2B d5d311e444e7a0b827cb34ea6e9685da22eb08a2e944c161ff723ad9cc73131f3afc9ee4067e79bb80d456ab9846791b6b606b013fb53cf2515807c3abb8feea SHA512 473eaef7213b0ece8fa71bb88cfa0133ce8b455b572624a0f22aa0a59a80181ac5331282e4fe1b253e037e7d7f43f8071cbefc5fba1f8a22b048fbd477d79b13
DIST glibc-2.38-patches-5.tar.xz 47980 BLAKE2B 351c72079c7eea7432357ccb7d6f379d6ec3424faf1d455920e9538ab40522ba455a4a188862028d883343e43cec1badc7e195937c909f9b75cd60eb21cb0618 SHA512 5b24801aea6e03857d4e58050d5eb9e479bcab1a556a005195d975e051c39194b7cd2ab6b432a890fba12cdb45ff0507592105562b613b9dea67f11c87bbd939
DIST glibc-2.38.tar.xz 18913712 BLAKE2B f9b039f0ef98a7dd8e1cba228ed10286b9e4fbe4dd89af4d26fa5c4e4cf266f19c2746b44d797ce54739d86499e74cf334aaf311bcf6e30120fd7748453e653f SHA512 a6dd5e42dcd63d58e2820c783522c8c895890b6e8c8e6c83b025553de0cc77cdf227e7044e431ead98c89c68a9ce4dd63509b47e647775fb2075f011849c1900
DIST glibc-systemd-20210729.tar.gz 1480 BLAKE2B 37722c7579df782d890e44dbab99c3de52ab466eb9de80d82405e9bb5620bf39ffc8c5f466a435bdb86ef6d36dd7019c0736573916bda6c67d02a2581e0ec979 SHA512 efd75af58b50522c28cdac7abd1fc56555bc1bb042512c90d8340c1ec09c5791b3872a305bf83723252bbde5855b75d958c041083457765c4cfd170732d09238
@@ -51,11 +47,7 @@ EBUILD glibc-2.34-r14.ebuild 49647 BLAKE2B 62f4b3d27f645c2576dc58e3079829dfe6260
EBUILD glibc-2.35-r11.ebuild 50188 BLAKE2B 7877e71cb62608e79ac5e2a7751f453aa9d1444571612da11ab98e55ecb70b025c7372fea749cb438d89bb8e5fd85e97f2224c542df1da3ba05424a1079a0a1a SHA512 a1d133c50f7012ce01c7394fdfc69ca17eee9af9643d29274a4e47a9dd844e15ead16ea477bc9eb4131202b4caa878f320d799f05858143da33742930fad8cc7
EBUILD glibc-2.36-r8.ebuild 52466 BLAKE2B fc59a2935c5e9487585449477ae7a0db2b005467071d4fae7b23169a1c309b716771d9dec01920deeea5eab1dfbc363817612e560cf49be1306c0691d0badd86 SHA512 9510470fa442309ca0df07ff2f0f0ac664cecd3b11080a1aa765aa6307057bf28a35742bedbd83b7d77fec63a67886bb109b5841cdafdec3e374d7df73bb2016
EBUILD glibc-2.37-r3.ebuild 52043 BLAKE2B 91491de207d167232704fc184736ad240935d2534d9233ee980c854666e74c2ee2da028163e06ccfb64e39cc3720ee1d104e8bf6aa9cc3c643f4e3875f11e6db SHA512 559a26fd9fade821b6747a992d3e54b4660cf8c2e71319cc5820554409b913fd0bb9cb5c3efc364b2cafcb3979eea715949cc6a983cd376eb13d546487719981
-EBUILD glibc-2.37-r5.ebuild 52834 BLAKE2B 08d4dd35da5857a8c1483570d2880c0a4ebd24b2301124921dfbafbf9ecbce9669d0ef6aaaa869a6051665755559b88c40b8fdcc3baab45270e6079004a1ac74 SHA512 b67a404f0e6996db0738da699d1240d937833cc18209d2e246fb00139278658b509bd3fee7b6033322016d6375a9275e77ff85a6772f49a9d96943c2ab8e683e
-EBUILD glibc-2.37-r6.ebuild 52834 BLAKE2B 092dcaf77111f6270a497a7d58667b0cb019dfed8f821fac82c54aada8b5a93b25edc8656f168bb342b8bcc067336ee1a1af67dd8d73786ef59a2b3d451495cf SHA512 04cb200cbe16095655e1ae88b802c7dc9e2bd3a6301dda45093169352d0c0af60d8babae58987396ff1f4338fe7da51e3388c7700089276d73a386007f77abbb
-EBUILD glibc-2.37-r7.ebuild 52834 BLAKE2B 39004b05e14afcac8a55121a35d5188b119688e6562efad3a0ebe275a0bf2e679f5ccbd8fdce8e06fda711e4a70ca752ee1850f93216055ab98d7e5740fe0046 SHA512 7697c1ef42d4d30bb1e2c5f02d57be1fe81c4dbeaacd1f261e218b18709e574d8e3ae86195235db51e6c4f6acae19f104607d8d411f3533e13a00782ab6fb577
-EBUILD glibc-2.38-r2.ebuild 52950 BLAKE2B 9e4589e6ce46f10c91d798f92f53774311afb11c998d155f7a854a5ea0b19c0feedb2aeda22ce450bd519cc9848d96d24b5e4a980d771a394c0585e4a442cb06 SHA512 41f8de1543662ffbaf28eb8027b018c919a656271f9fe208d3f39755977e221dca4d5dac7f4e712382a7fe49dd121e7d27647e8135f246473eb9f0e8d4a44946
-EBUILD glibc-2.38-r4.ebuild 53926 BLAKE2B bbbbfb3bb7588be57630a9f31dee80393c9404a9714a71720364087baa149789fd585b05d9d9d225cb588562dff536fea89ebf8da5c0f014c763e3cb65d6f1ea SHA512 06a5c360f03b733cf118488753812171d8b7df66fccf59f82aa28d3cff4c7bde28d234c1020c796fd854a1e0bef5c0c3c37597be0c283222ac230d31db053279
+EBUILD glibc-2.37-r7.ebuild 52831 BLAKE2B bc09133ea84ca324129e398063ce30706bf46fe1121cfe405bd4fdf56c2db1eeeeaaf58729c20efaffdf5100424ce0f7ed6c97d4c569f793bf08f54dc763a68d SHA512 1b549beee4da463a6f5d041d8a441c966b6bbf3cbf874f153214782a651dfdf2e9a2045f13d04451795e62c2557f18f7922aa7d409417525f660041402af92ac
EBUILD glibc-2.38-r5.ebuild 53926 BLAKE2B a99467601761a4d6962e5ab863c20bdda253014f209909681294080251bdf6035b2dc7939484dfef111ecd1de4b11ef7faa6b79e71c3cb42831021e23501cb12 SHA512 1141fc663dbaaf502fb8437b423b06f29d1665b8c65aa4d339310e92ac4977ff666259664b54fcec1a62cc54c413165a5418bcd446dfe9b756ae3e69cfca2eac
EBUILD glibc-9999.ebuild 53928 BLAKE2B 2e4f56e6b2e5c7412b822445530384d5bafa43796119e0f62777c5f279900ac696f30d1d40fd049b1aed4891533effa358b631d23cc9b4c5eeabc3ca4b9c3795 SHA512 cbf27fb809f21c4135fde4b245e526e8999dee7a85ec8c37cf1c968a02cb266de9109b8afff7f4a416aa58d37759ff1fbad94feadb200550239d85a217c1e75e
MISC metadata.xml 2142 BLAKE2B 765ba540eb10afccd1bade4de56f0c13ce269225500a62d1d17328194de69e7fa15d359a14eac6bfa8a36df45344db3d52f5e1811b174cf1fa2bfb95ad7760a7 SHA512 2f4a148c076a0967663d14e76b85a698ddae7093ff299b0dc95a6c3b00957c9bf73443f2bace9670eb62a45465efbcca892bb52b6aac8577acb2bc5f74a7397c
diff --git a/sys-libs/glibc/glibc-2.37-r5.ebuild b/sys-libs/glibc/glibc-2.37-r5.ebuild
deleted file mode 100644
index db0c8e76b286..000000000000
--- a/sys-libs/glibc/glibc-2.37-r5.ebuild
+++ /dev/null
@@ -1,1680 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc
-# Please read & adapt the page as necessary if obsolete.
-
-PYTHON_COMPAT=( python3_{9..11} )
-TMPFILES_OPTIONAL=1
-
-inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \
- multilib systemd multiprocessing tmpfiles
-
-DESCRIPTION="GNU libc C library"
-HOMEPAGE="https://www.gnu.org/software/libc/"
-LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
-SLOT="2.2"
-
-EMULTILIB_PKG="true"
-
-# Gentoo patchset (ignored for live ebuilds)
-PATCH_VER=7
-PATCH_DEV=dilfridge
-
-# gcc mulitilib bootstrap files version
-GCC_BOOTSTRAP_VER=20201208
-
-# systemd integration version
-GLIBC_SYSTEMD_VER=20210729
-
-# Minimum kernel version that glibc requires
-MIN_KERN_VER="3.2.0"
-
-# Minimum pax-utils version needed (which contains any new syscall changes for
-# its seccomp filter!). Please double check this!
-MIN_PAX_UTILS_VER="1.3.3"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
-else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
- SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
-fi
-
-SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
-SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )"
-
-IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla"
-
-# Here's how the cross-compile logic breaks down ...
-# CTARGET - machine that will target the binaries
-# CHOST - machine that will host the binaries
-# CBUILD - machine that will build the binaries
-# If CTARGET != CHOST, it means you want a libc for cross-compiling.
-# If CHOST != CBUILD, it means you want to cross-compile the libc.
-# CBUILD = CHOST = CTARGET - native build/install
-# CBUILD != (CHOST = CTARGET) - cross-compile a native build
-# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
-# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
-# For install paths:
-# CHOST = CTARGET - install into /
-# CHOST != CTARGET - install into /usr/CTARGET/
-#
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-# Note [Disable automatic stripping]
-# Disabling automatic stripping for a few reasons:
-# - portage's attempt to strip breaks non-native binaries at least on
-# arm: bug #697428
-# - portage's attempt to strip libpthread.so.0 breaks gdb thread
-# enumeration: bug #697910. This is quite subtle:
-# * gdb uses glibc's libthread_db-1.0.so to enumerate threads.
-# * libthread_db-1.0.so needs access to libpthread.so.0 local symbols
-# via 'ps_pglobal_lookup' symbol defined in gdb.
-# * 'ps_pglobal_lookup' uses '.symtab' section table to resolve all
-# known symbols in 'libpthread.so.0'. Specifically 'nptl_version'
-# (unexported) is used to sanity check compatibility before enabling
-# debugging.
-# Also see https://sourceware.org/gdb/wiki/FAQ#GDB_does_not_see_any_threads_besides_the_one_in_which_crash_occurred.3B_or_SIGTRAP_kills_my_program_when_I_set_a_breakpoint
-# * normal 'strip' command trims '.symtab'
-# Thus our main goal here is to prevent 'libpthread.so.0' from
-# losing it's '.symtab' entries.
-# As Gentoo's strip does not allow us to pass less aggressive stripping
-# options and does not check the machine target we strip selectively.
-
-# We need a new-enough binutils/gcc to match upstream baseline.
-# Also we need to make sure our binutils/gcc supports TLS,
-# and that gcc already contains the hardened patches.
-# Lastly, let's avoid some openssh nastiness, bug 708224, as
-# convenience to our users.
-
-IDEPEND="
- !compile-locales? ( sys-apps/locale-gen )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=app-misc/pax-utils-${MIN_PAX_UTILS_VER}
- sys-devel/bison
- compile-locales? ( sys-apps/locale-gen )
- doc? (
- dev-lang/perl
- sys-apps/texinfo
- )
- test? (
- dev-lang/perl
- >=net-dns/libidn2-2.3.0
- )
-"
-COMMON_DEPEND="
- gd? ( media-libs/gd:2= )
- nscd? ( selinux? (
- audit? ( sys-process/audit )
- caps? ( sys-libs/libcap )
- ) )
- suid? ( caps? ( sys-libs/libcap ) )
- selinux? ( sys-libs/libselinux )
- systemtap? ( dev-util/systemtap )
-"
-DEPEND="${COMMON_DEPEND}
-"
-RDEPEND="${COMMON_DEPEND}
- !<app-misc/pax-utils-${MIN_PAX_UTILS_VER}
- perl? ( dev-lang/perl )
-"
-
-RESTRICT="!test? ( test )"
-
-if [[ ${CATEGORY} == cross-* ]] ; then
- BDEPEND+=" !headers-only? (
- >=${CATEGORY}/binutils-2.27
- >=${CATEGORY}/gcc-6.2
- )"
- [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
-else
- BDEPEND+="
- >=sys-devel/binutils-2.27
- >=sys-devel/gcc-6.2
- "
- DEPEND+=" virtual/os-headers "
- RDEPEND+="
- >=net-dns/libidn2-2.3.0
- vanilla? ( !sys-libs/timezone-data )
- "
- PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
-fi
-
-# Ignore tests whitelisted below
-GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}"
-
-# The following tests fail due to the Gentoo build system and are thus
-# executed but ignored:
-XFAIL_TEST_LIST=(
- # buggy test, assumes /dev/ and /dev/null on a single filesystem
- # 'mount --bind /dev/null /chroot/dev/null' breaks it.
- # https://sourceware.org/PR25909
- tst-support_descriptors
-
- # The following tests fail only inside portage
- # https://bugs.gentoo.org/831267
- tst-system
- tst-strerror
- tst-strsignal
-)
-
-XFAIL_NSPAWN_TEST_LIST=(
- # These tests need to be adapted to handle EPERM/ENOSYS(?) properly
- # upstream, as systemd-nspawn's default seccomp whitelist is too strict.
- # https://sourceware.org/PR30603
- test-errno-linux
- tst-bz21269
- tst-mlock2
- tst-ntp_gettime
- tst-ntp_gettime-time64
- tst-ntp_gettimex
- tst-ntp_gettimex-time64
- tst-pkey
- tst-process_mrelease
- tst-adjtime
- tst-adjtime-time64
- tst-clock2
- tst-clock2-time64
-
- # These fail if --suppress-sync and/or low priority is set
- tst-sync_file_range
- tst-sched1
- test-errno
-)
-
-#
-# Small helper functions
-#
-
-dump_build_environment() {
- einfo ==== glibc build environment ========================================================
- local v
- for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX CPP LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do
- einfo " $(printf '%15s' ${v}:) ${!v}"
- done
- einfo =====================================================================================
-}
-
-is_crosscompile() {
- [[ ${CHOST} != ${CTARGET} ]]
-}
-
-just_headers() {
- is_crosscompile && use headers-only
-}
-
-alt_prefix() {
- is_crosscompile && echo /usr/${CTARGET}
-}
-
-# This prefix is applicable to CHOST when building against this
-# glibc. It is baked into the library at configure time.
-host_eprefix() {
- is_crosscompile || echo "${EPREFIX}"
-}
-
-# This prefix is applicable to CBUILD when building against this
-# glibc. It determines the destination path at install time.
-build_eprefix() {
- is_crosscompile && echo "${EPREFIX}"
-}
-
-# We need to be able to set alternative headers for compiling for non-native
-# platform. Will also become useful for testing kernel-headers without screwing
-# up the whole system.
-alt_headers() {
- echo ${ALT_HEADERS:=$(alt_prefix)/usr/include}
-}
-
-alt_build_headers() {
- if [[ -z ${ALT_BUILD_HEADERS} ]] ; then
- ALT_BUILD_HEADERS="$(host_eprefix)$(alt_headers)"
- if tc-is-cross-compiler ; then
- ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers)
- if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then
- local header_path=$(echo '#include <linux/version.h>' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h')
- ALT_BUILD_HEADERS=${header_path%/linux/version.h}
- fi
- fi
- fi
- echo "${ALT_BUILD_HEADERS}"
-}
-
-alt_libdir() {
- echo $(alt_prefix)/$(get_libdir)
-}
-alt_usrlibdir() {
- echo $(alt_prefix)/usr/$(get_libdir)
-}
-
-builddir() {
- echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1"
-}
-
-do_compile_test() {
- local ret save_cflags=${CFLAGS}
- CFLAGS+=" $1"
- shift
-
- pushd "${T}" >/dev/null
-
- rm -f glibc-test*
- printf '%b' "$*" > glibc-test.c
-
- # We assume CC is already set up.
- nonfatal emake glibc-test
- ret=$?
-
- popd >/dev/null
-
- CFLAGS=${save_cflags}
- return ${ret}
-}
-
-do_run_test() {
- local ret
-
- if [[ ${MERGE_TYPE} == "binary" ]] ; then
- # ignore build failures when installing a binary package #324685
- do_compile_test "" "$@" 2>/dev/null || return 0
- else
- if ! do_compile_test "" "$@" ; then
- ewarn "Simple build failed ... assuming this is desired #324685"
- return 0
- fi
- fi
-
- pushd "${T}" >/dev/null
-
- ./glibc-test
- ret=$?
- rm -f glibc-test*
-
- popd >/dev/null
-
- return ${ret}
-}
-
-setup_target_flags() {
- # This largely mucks with compiler flags. None of which should matter
- # when building up just the headers.
- just_headers && return 0
-
- case $(tc-arch) in
- x86)
- # -march needed for #185404 #199334
- # TODO: When creating the first glibc cross-compile, this test will
- # always fail as it does a full link which in turn requires glibc.
- # Probably also applies when changing multilib profile settings (e.g.
- # enabling x86 when the profile was amd64-only previously).
- # We could change main to _start and pass -nostdlib here so that we
- # only test the gcc code compilation. Or we could do a compile and
- # then look for the symbol via scanelf.
- if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then
- local t=${CTARGET_OPT:-${CTARGET}}
- t=${t%%-*}
- filter-flags '-march=*'
- export CFLAGS="-march=${t} ${CFLAGS}"
- einfo "Auto adding -march=${t} to CFLAGS #185404"
- fi
- # For compatibility with older binaries at slight performance cost.
- use stack-realign && export CFLAGS+=" -mstackrealign"
- ;;
- amd64)
- # -march needed for #185404 #199334
- # TODO: See cross-compile issues listed above for x86.
- if [[ ${ABI} == x86 ]]; then
- if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then
- local t=${CTARGET_OPT:-${CTARGET}}
- t=${t%%-*}
- # Normally the target is x86_64-xxx, so turn that into the -march that
- # gcc actually accepts. #528708
- [[ ${t} == "x86_64" ]] && t="x86-64"
- filter-flags '-march=*'
- # ugly, ugly, ugly. ugly.
- CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}")
- export CFLAGS_x86="${CFLAGS_x86} -march=${t}"
- einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})"
- fi
- # For compatibility with older binaries at slight performance cost.
- use stack-realign && export CFLAGS_x86+=" -mstackrealign"
-
- # Workaround for bug #823780.
- # Need to save/restore CC because earlier on, we stuff it full of CFLAGS, and tc-getCPP doesn't like that.
- CC_mangled=${CC}
- CC=${glibc__GLIBC_CC}
- if tc-is-gcc && (($(gcc-major-version) == 11)) && (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then
- export CFLAGS_x86="${CFLAGS_x86} -mno-avx512f"
- einfo "Auto adding -mno-avx512f to CFLAGS_x86 for buggy GCC version (bug #823780) (ABI=${ABI})"
- fi
- CC=${CC_mangled}
- fi
- ;;
- mips)
- # The mips abi cannot support the GNU style hashes. #233233
- filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
- ;;
- ppc|ppc64)
- # Many arch-specific implementations do not work on ppc with
- # cache-block not equal to 128 bytes. This breaks memset:
- # https://sourceware.org/PR26522
- # https://bugs.gentoo.org/737996
- # Use default -mcpu=. For ppc it means non-multiarch setup.
- filter-flags '-mcpu=*'
- ;;
- sparc)
- # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though.
- filter-flags "-fcall-used-g7"
- append-flags "-fcall-used-g6"
-
- local cpu
- case ${CTARGET} in
- sparc64-*)
- cpu="sparc64"
- case $(get-flag mcpu) in
- v9)
- # We need to force at least v9a because the base build doesn't
- # work with just v9.
- # https://sourceware.org/bugzilla/show_bug.cgi?id=19477
- append-flags "-Wa,-xarch=v9a"
- ;;
- esac
- ;;
- sparc-*)
- case $(get-flag mcpu) in
- v8|supersparc|hypersparc|leon|leon3)
- cpu="sparcv8"
- ;;
- *)
- cpu="sparcv9"
- ;;
- esac
- ;;
- esac
- [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}"
- ;;
- esac
-}
-
-setup_flags() {
- # Make sure host make.conf doesn't pollute us
- if is_crosscompile || tc-is-cross-compiler ; then
- CHOST=${CTARGET} strip-unsupported-flags
- fi
-
- # Store our CFLAGS because it's changed depending on which CTARGET
- # we are building when pulling glibc on a multilib profile
- CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}}
- CFLAGS=${CFLAGS_BASE}
- CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}}
- CXXFLAGS=${CXXFLAGS_BASE}
- ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}}
- ASFLAGS=${ASFLAGS_BASE}
-
- # Allow users to explicitly avoid flag sanitization via
- # USE=custom-cflags.
- if ! use custom-cflags; then
- # Over-zealous CFLAGS can often cause problems. What may work for one
- # person may not work for another. To avoid a large influx of bugs
- # relating to failed builds, we strip most CFLAGS out to ensure as few
- # problems as possible.
- strip-flags
- # Lock glibc at -O2; we want to be conservative here.
- filter-flags '-O?'
- append-flags -O2
- fi
-
- strip-unsupported-flags
- filter-lto
- filter-flags -m32 -m64 '-mabi=*'
-
- # glibc aborts if rpath is set by LDFLAGS
- filter-ldflags '-Wl,-rpath=*'
-
- # ld can't use -r & --relax at the same time, bug #788901
- # https://sourceware.org/PR27837
- filter-ldflags '-Wl,--relax'
-
- # some weird software relies on sysv hashes in glibc, bug 863863, bug 864100
- # we have to do that here already so mips can filter it out again :P
- if use hash-sysv-compat ; then
- append-ldflags '-Wl,--hash-style=both'
- fi
-
- # #492892
- filter-flags -frecord-gcc-switches
-
- # #898098
- filter-flags -fno-builtin
-
- # #829583
- filter-lfs-flags
-
- unset CBUILD_OPT CTARGET_OPT
- if use multilib ; then
- CTARGET_OPT=$(get_abi_CTARGET)
- [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST)
- fi
-
- setup_target_flags
-
- if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then
- CBUILD_OPT=${CTARGET_OPT}
- fi
-
- # glibc's headers disallow -O0 and fail at build time:
- # include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization"
- # https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F
- replace-flags -O0 -O1
-
- # glibc handles this internally already where it's appropriate;
- # can't always have SSP when we're the ones setting it up, etc
- filter-flags '-fstack-protector*'
-
- # Similar issues as with SSP. Can't inject yourself that early.
- filter-flags '-fsanitize=*'
-
- # See end of bug #830454; we handle this via USE=cet
- filter-flags '-fcf-protection=*'
-
- # When bootstrapping, we may have a situation where
- # CET-enabled gcc from seed is used to build CET-disabled
- # glibc. As such, gcc implicitly enables CET if no
- # -fcf-protection flag is passed. For a typical package it
- # should not be a problem, but for glibc it matters as it is
- # dealing with CET in ld.so. So if CET is supposed to be
- # disabled for glibc, be explicit about it.
- if (use amd64 || use x86) && ! use cet; then
- append-flags '-fcf-protection=none'
- fi
-}
-
-use_multiarch() {
- # Allow user to disable runtime arch detection in multilib.
- use multiarch || return 1
- # Make sure binutils is new enough to support indirect functions,
- # #336792. This funky sed supports gold and bfd linkers.
- local bver nver
- bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}')
- case $(tc-arch ${CTARGET}) in
- amd64|x86) nver="2.20" ;;
- arm) nver="2.22" ;;
- hppa) nver="2.23" ;;
- ppc|ppc64) nver="2.20" ;;
- # ifunc support was added in 2.23, but glibc also needs
- # machinemode which is in 2.24.
- s390) nver="2.24" ;;
- sparc) nver="2.21" ;;
- *) return 1 ;;
- esac
- ver_test ${bver} -ge ${nver}
-}
-
-# Setup toolchain variables that had historically been defined in the
-# profiles for these archs.
-setup_env() {
- # silly users
- unset LD_RUN_PATH
- unset LD_ASSUME_KERNEL
-
- if is_crosscompile || tc-is-cross-compiler ; then
- multilib_env ${CTARGET_OPT:-${CTARGET}}
-
- if ! use multilib ; then
- MULTILIB_ABIS=${DEFAULT_ABI}
- else
- MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}}
- fi
-
- # If the user has CFLAGS_<CTARGET> in their make.conf, use that,
- # and fall back on CFLAGS.
- local VAR=CFLAGS_${CTARGET//[-.]/_}
- CFLAGS=${!VAR-${CFLAGS}}
- einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}"
- fi
-
- setup_flags
-
- export ABI=${ABI:-${DEFAULT_ABI:-default}}
-
- if just_headers ; then
- # Avoid mixing host's CC and target's CFLAGS_${ABI}:
- # At this bootstrap stage we have only binutils for
- # target but not compiler yet.
- einfo "Skip CC ABI injection. We can't use (cross-)compiler yet."
- return 0
- fi
-
- # Glibc does not work with gold (for various reasons) #269274.
- tc-ld-disable-gold
-
- if use doc ; then
- export MAKEINFO=makeinfo
- else
- export MAKEINFO=/dev/null
- fi
-
- # Reset CC and CXX to the value at start of emerge
- export CC=${glibc__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}}
- export CXX=${glibc__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}}
-
- # and make sure glibc__ORIG_CC and glibc__ORIG_CXX is defined now.
- export glibc__ORIG_CC=${CC}
- export glibc__ORIG_CXX=${CXX}
-
- if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then
- export glibc__force_gcc=yes
- # once this is toggled on, it needs to stay on, since with CPP manipulated
- # tc-is-clang does not work correctly anymore...
- fi
-
- if [[ ${glibc__force_gcc} == "yes" ]] ; then
- # If we are running in an otherwise clang/llvm environment, we need to
- # recover the proper gcc and binutils settings here, at least until glibc
- # is finally building with clang. So let's override everything that is
- # set in the clang profiles.
- # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always
- # a good start into that direction.
- # Also, if you're crosscompiling, let's assume you know what you are doing.
- # Hopefully.
- # Last, we need the settings of the *build* environment, not of the
- # target environment...
-
- local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B)
- local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B)
- einfo "Overriding clang configuration, since it won't work here"
-
- export CC="${current_gcc_path}/gcc"
- export CPP="${current_gcc_path}/cpp"
- export CXX="${current_gcc_path}/g++"
- export LD="${current_binutils_path}/ld.bfd"
- export AR="${current_binutils_path}/ar"
- export AS="${current_binutils_path}/as"
- export NM="${current_binutils_path}/nm"
- export STRIP="${current_binutils_path}/strip"
- export RANLIB="${current_binutils_path}/ranlib"
- export OBJCOPY="${current_binutils_path}/objcopy"
- export STRINGS="${current_binutils_path}/strings"
- export OBJDUMP="${current_binutils_path}/objdump"
- export READELF="${current_binutils_path}/readelf"
- export ADDR2LINE="${current_binutils_path}/addr2line"
-
- # do we need to also do flags munging here? yes! at least...
- filter-flags '-fuse-ld=*'
- filter-flags '-D_FORTIFY_SOURCE=*'
-
- else
-
- # this is the "normal" case
-
- export CC="$(tc-getCC ${CTARGET})"
- export CXX="$(tc-getCXX ${CTARGET})"
-
- # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure
- # can't detect them automatically due to ${CHOST} mismatch and fallbacks
- # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup().
- export NM="$(tc-getNM ${CTARGET})"
- export READELF="$(tc-getREADELF ${CTARGET})"
-
- fi
-
- # We need to export CFLAGS with abi information in them because glibc's
- # configure script checks CFLAGS for some targets (like mips). Keep
- # around the original clean value to avoid appending multiple ABIs on
- # top of each other. (Why does the comment talk about CFLAGS if the code
- # acts on CC?)
- export glibc__GLIBC_CC=${CC}
- export glibc__GLIBC_CXX=${CXX}
-
- export glibc__abi_CFLAGS="$(get_abi_CFLAGS)"
-
- # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760
- # To build .S (assembly) files with the same ABI-specific flags
- # upstream currently recommends adding CFLAGS to CC/CXX:
- # https://sourceware.org/PR23273
- # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS
- # and breaks multiarch support. See 659030#c3 for an example.
- # The glibc configure script doesn't properly use LDFLAGS all the time.
- export CC="${glibc__GLIBC_CC} ${glibc__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}"
-
- # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
- export CXX="${glibc__GLIBC_CXX} ${glibc__abi_CFLAGS} ${CFLAGS}"
-
- if is_crosscompile; then
- # Assume worst-case bootstrap: glibc is buil first time
- # when ${CTARGET}-g++ is not available yet. We avoid
- # building auxiliary programs that require C++: bug #683074
- # It should not affect final result.
- export libc_cv_cxx_link_ok=no
- # The line above has the same effect. We set CXX explicitly
- # to make build logs less confusing.
- export CXX=
- fi
-}
-
-foreach_abi() {
- setup_env
-
- local ret=0
- local abilist=""
- if use multilib ; then
- abilist=$(get_install_abis)
- else
- abilist=${DEFAULT_ABI}
- fi
- local -x ABI
- for ABI in ${abilist:-default} ; do
- setup_env
- einfo "Running $1 for ABI ${ABI}"
- $1
- : $(( ret |= $? ))
- done
- return ${ret}
-}
-
-glibc_banner() {
- local b="Gentoo ${PVR}"
- [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" (patchset ${PATCH_VER})"
- echo "${b}"
-}
-
-# The following Kernel version handling functions are mostly copied from portage
-# source. It's better not to use linux-info.eclass here since a) it adds too
-# much magic, see bug 326693 for some of the arguments, and b) some of the
-# functions are just not provided.
-
-g_get_running_KV() {
- uname -r
- return $?
-}
-
-g_KV_major() {
- [[ -z $1 ]] && return 1
- local KV=$@
- echo "${KV%%.*}"
-}
-
-g_KV_minor() {
- [[ -z $1 ]] && return 1
- local KV=$@
- KV=${KV#*.}
- echo "${KV%%.*}"
-}
-
-g_KV_micro() {
- [[ -z $1 ]] && return 1
- local KV=$@
- KV=${KV#*.*.}
- echo "${KV%%[^[:digit:]]*}"
-}
-
-g_KV_to_int() {
- [[ -z $1 ]] && return 1
- local KV_MAJOR=$(g_KV_major "$1")
- local KV_MINOR=$(g_KV_minor "$1")
- local KV_MICRO=$(g_KV_micro "$1")
- local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO ))
-
- # We make version 2.2.0 the minimum version we will handle as
- # a sanity check ... if its less, we fail ...
- if [[ ${KV_int} -ge 131584 ]] ; then
- echo "${KV_int}"
- return 0
- fi
- return 1
-}
-
-g_int_to_KV() {
- local version=$1 major minor micro
- major=$((version / 65536))
- minor=$(((version % 65536) / 256))
- micro=$((version % 256))
- echo ${major}.${minor}.${micro}
-}
-
-eend_KV() {
- [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]]
- eend $?
-}
-
-get_kheader_version() {
- printf '#include <linux/version.h>\nLINUX_VERSION_CODE\n' | \
- $(tc-getCPP ${CTARGET}) -I "$(build_eprefix)$(alt_build_headers)" - | \
- tail -n 1
-}
-
-# We collect all sanity checks here. Consistency is not guranteed between
-# pkg_ and src_ phases, so we call this function both in pkg_pretend and in
-# src_unpack.
-sanity_prechecks() {
- # Prevent native builds from downgrading
- if [[ ${MERGE_TYPE} != "buildonly" ]] && \
- [[ -z ${ROOT} ]] && \
- [[ ${CBUILD} == ${CHOST} ]] && \
- [[ ${CHOST} == ${CTARGET} ]] ; then
-
- # The high rev # is to allow people to downgrade between -r#
- # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2
- # should be fine. Hopefully we never actually use a r# this
- # high.
- if has_version ">${CATEGORY}/${P}-r10000" ; then
- eerror "Sanity check to keep you from breaking your system:"
- eerror " Downgrading glibc is not supported and a sure way to destruction."
- [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system."
- fi
-
- if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then
- eerror "Your old kernel is broken. You need to update it to a newer"
- eerror "version as syscall(<bignum>) will break. See bug 279260."
- die "Old and broken kernel."
- fi
- fi
-
- if [[ ${CTARGET} == i386-* ]] ; then
- eerror "i386 CHOSTs are no longer supported."
- eerror "Chances are you don't actually want/need i386."
- eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml"
- die "Please fix your CHOST"
- fi
-
- if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then
- ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS."
- ewarn "This will result in a 50% performance penalty when running with a 32bit"
- ewarn "hypervisor, which is probably not what you want."
- fi
-
- # ABI-specific checks follow here. Hey, we have a lot more specific conditions that
- # we test for...
- if ! is_crosscompile ; then
- if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then
- ebegin "Checking that IA32 emulation is enabled in the running kernel"
- echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c"
- local STAT
- if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then
- "${T}/check-ia32-emulation.elf32"
- STAT=$?
- else
- # Don't fail here to allow single->multi ABI switch
- # or recover from breakage like bug #646424
- ewarn "Failed to compile the ABI test. Broken host glibc?"
- STAT=0
- fi
- rm -f "${T}/check-ia32-emulation.elf32"
- eend $STAT
- [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc."
- fi
-
- fi
-
- # When we actually have to compile something...
- if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then
- if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then
- # bug #833620, bug #643302
- eerror "Found ${ESYSROOT}/usr/lib/include directory!"
- eerror "This is known to break glibc's build."
- eerror "Please backup its contents then remove the directory."
- die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!"
- fi
-
- if [[ ${CTARGET} == *-linux* ]] ; then
- local run_kv build_kv want_kv
-
- run_kv=$(g_get_running_KV)
- build_kv=$(g_int_to_KV $(get_kheader_version))
- want_kv=${MIN_KERN_VER}
-
- if ! is_crosscompile && ! tc-is-cross-compiler ; then
- # Building fails on an non-supporting kernel
- ebegin "Checking running kernel version (${run_kv} >= ${want_kv})"
- if ! eend_KV ${run_kv} ${want_kv} ; then
- echo
- eerror "You need a kernel of at least ${want_kv}!"
- die "Kernel version too low!"
- fi
- fi
-
- # Do not run this check for pkg_pretend, just pkg_setup and friends (if we ever get used there).
- # It's plausible (seen it in the wild) that Portage will (correctly) schedule a linux-headers
- # upgrade before glibc, but because pkg_pretend gets run before any packages are merged at all (not
- # just glibc), the whole emerge gets aborted without a good reason. We probably don't
- # need to run this check at all given we have a dependency on the right headers,
- # but let's leave it as-is for now.
- if [[ ${EBUILD_PHASE_FUNC} != pkg_pretend ]] ; then
- ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})"
- if ! eend_KV ${build_kv} ${want_kv} ; then
- echo
- eerror "You need linux-headers of at least ${want_kv}!"
- die "linux-headers version too low!"
- fi
- fi
- fi
- fi
-}
-
-upgrade_warning() {
- is_crosscompile && return
-
- if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then
- local oldv newv=$(ver_cut 1-2 ${PV})
- for oldv in ${REPLACING_VERSIONS}; do
- if ver_test ${oldv} -lt ${newv}; then
- ewarn "After upgrading glibc, please restart all running processes."
- ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)."
- ewarn "Alternatively, reboot your system."
- ewarn "(See bug #660556, bug #741116, bug #823756, etc)"
- break
- fi
- done
- fi
-}
-
-#
-# the phases
-#
-
-# pkg_pretend
-
-pkg_pretend() {
- upgrade_warning
-}
-
-# pkg_setup
-
-pkg_setup() {
- # see bug 682570
- [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup
-}
-
-# src_unpack
-
-src_unpack() {
- setup_env
-
- einfo "Checking general environment sanity."
- sanity_prechecks
-
- use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz
-
- if [[ ${PV} == 9999* ]] ; then
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git"
- EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
- git-r3_src_unpack
- mv patches-git/9999 patches || die
-
- EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
- EGIT_CHECKOUT_DIR=${S}
- git-r3_src_unpack
- else
- unpack ${P}.tar.xz
-
- cd "${WORKDIR}" || die
- unpack glibc-${PV}-patches-${PATCH_VER}.tar.xz
- fi
-
- cd "${WORKDIR}" || die
- use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz
-}
-
-# src_prepare
-
-src_prepare() {
- local patchsetname
- if ! use vanilla ; then
- if [[ ${PV} == 9999* ]] ; then
- patchsetname="from git master"
- else
- patchsetname="${PV}-${PATCH_VER}"
- fi
- einfo "Applying Gentoo Glibc patchset ${patchsetname}"
- eapply "${WORKDIR}"/patches
- einfo "Done."
- fi
-
- default
-
- gnuconfig_update
-
- cd "${WORKDIR}" || die
- find . -name configure -exec touch {} +
-
- # Fix permissions on some of the scripts.
- chmod u+x "${S}"/scripts/*.sh
-
- cd "${S}" || die
-}
-
-# src_configure
-
-glibc_do_configure() {
- dump_build_environment
-
- local myconf=()
-
- # Use '=strong' instead of '=all' to protect only functions
- # worth protecting from stack smashes.
- myconf+=( --enable-stack-protector=$(usex ssp strong no) )
-
- # Keep a whitelist of targets supporing IFUNC. glibc's ./configure
- # is not robust enough to detect proper support:
- # https://bugs.gentoo.org/641216
- # https://sourceware.org/PR22634#c0
- case $(tc-arch ${CTARGET}) in
- # Keep whitelist of targets where autodetection mostly works.
- amd64|x86|sparc|ppc|ppc64|arm|arm64|s390|riscv|loong) ;;
- # Blacklist everywhere else
- *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;;
- esac
-
- # Enable Intel Control-flow Enforcement Technology on amd64 if requested
- case ${CTARGET} in
- x86_64-*) myconf+=( $(use_enable cet) ) ;;
- *) ;;
- esac
-
- [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp )
-
- myconf+=( --enable-kernel=${MIN_KERN_VER} )
-
- # Since SELinux support is only required for nscd, only enable it if:
- # 1. USE selinux
- # 2. only for the primary ABI on multilib systems
- # 3. Not a crosscompile
- if ! is_crosscompile && use selinux ; then
- if use multilib ; then
- if is_final_abi ; then
- myconf+=( --with-selinux )
- else
- myconf+=( --without-selinux )
- fi
- else
- myconf+=( --with-selinux )
- fi
- else
- myconf+=( --without-selinux )
- fi
-
- # Force a few tests where we always know the answer but
- # configure is incapable of finding it.
- if is_crosscompile ; then
- export \
- libc_cv_c_cleanup=yes \
- libc_cv_forced_unwind=yes
- fi
-
- myconf+=(
- --disable-werror
- --enable-bind-now
- --build=${CBUILD_OPT:-${CBUILD}}
- --host=${CTARGET_OPT:-${CTARGET}}
- $(use_enable profile)
- $(use_with gd)
- --with-headers=$(build_eprefix)$(alt_build_headers)
- --prefix="$(host_eprefix)/usr"
- --sysconfdir="$(host_eprefix)/etc"
- --localstatedir="$(host_eprefix)/var"
- --libdir='$(prefix)'/$(get_libdir)
- --mandir='$(prefix)'/share/man
- --infodir='$(prefix)'/share/info
- --libexecdir='$(libdir)'/misc/glibc
- --with-bugurl=https://bugs.gentoo.org/
- --with-pkgversion="$(glibc_banner)"
- $(use_enable crypt)
- $(use_multiarch || echo --disable-multi-arch)
- $(use_enable systemtap)
- $(use_enable nscd)
-
- # /usr/bin/mtrace has a Perl shebang. Gentoo Prefix QA checks fail if
- # Perl hasn't been installed inside the prefix yet and configure picks
- # up a Perl from outside the prefix instead. configure will fail to
- # execute Perl during configure if we're cross-compiling a prefix, but
- # it will just disable mtrace in that case.
- # Note: mtrace is needed by the test suite.
- ac_cv_path_PERL="$(usex perl "${EPREFIX}"/usr/bin/perl $(usex test "${EPREFIX}"/usr/bin/perl $(usex doc "${EPREFIX}"/usr/bin/perl no)))"
-
- # locale data is arch-independent
- # https://bugs.gentoo.org/753740
- libc_cv_complocaledir='${exec_prefix}/lib/locale'
-
- # -march= option tricks build system to infer too
- # high ISA level: https://sourceware.org/PR27318
- libc_cv_include_x86_isa_level=no
-
- # Explicit override of https://sourceware.org/PR27991
- # exposes a bug in glibc's configure:
- # https://sourceware.org/PR27991
- libc_cv_have_x86_lahf_sahf=no
- libc_cv_have_x86_movbe=no
-
- ${EXTRA_ECONF}
- )
-
- # We rely on sys-libs/timezone-data for timezone tools normally.
- myconf+=( $(use_enable vanilla timezone-tools) )
-
- # These libs don't have configure flags.
- ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no)
- ac_cv_lib_cap_cap_init=$(usex caps || echo no)
-
- # There is no configure option for this and we need to export it
- # since the glibc build will re-run configure on itself
- export libc_cv_rootsbindir="$(host_eprefix)/sbin"
- export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)"
-
- local builddir=$(builddir nptl)
- mkdir -p "${builddir}"
- cd "${builddir}"
- set -- "${S}"/configure "${myconf[@]}"
- echo "$@"
- "$@" || die "failed to configure glibc"
-
- # ia64 static cross-compilers are a pita in so much that they
- # can't produce static ELFs (as the libgcc.a is broken). so
- # disable building of the programs for those targets if it
- # doesn't work.
- # XXX: We could turn this into a compiler test, but ia64 is
- # the only one that matters, so this should be fine for now.
- if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then
- sed -i '1i+link-static = touch $@' config.make
- fi
-
- # If we're trying to migrate between ABI sets, we need
- # to lie and use a local copy of gcc. Like if the system
- # is built with MULTILIB_ABIS="amd64 x86" but we want to
- # add x32 to it, gcc/glibc don't yet support x32.
- #
- if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib-bootstrap ; then
- echo 'main(){}' > "${T}"/test.c
- if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then
- sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die
- fi
- fi
-}
-
-glibc_headers_configure() {
- export ABI=default
-
- local builddir=$(builddir "headers")
- mkdir -p "${builddir}"
- cd "${builddir}"
-
- # if we don't have a compiler yet, we can't really test it now ...
- # hopefully they don't affect header generation, so let's hope for
- # the best here ...
- local v vars=(
- ac_cv_header_cpuid_h=yes
- libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes
- libc_cv_asm_cfi_directives=yes
- libc_cv_broken_visibility_attribute=no
- libc_cv_c_cleanup=yes
- libc_cv_compiler_powerpc64le_binary128_ok=yes
- libc_cv_forced_unwind=yes
- libc_cv_gcc___thread=yes
- libc_cv_mlong_double_128=yes
- libc_cv_mlong_double_128ibm=yes
- libc_cv_ppc_machine=yes
- libc_cv_ppc_rel16=yes
- libc_cv_predef_fortify_source=no
- libc_cv_target_power8_ok=yes
- libc_cv_visibility_attribute=yes
- libc_cv_z_combreloc=yes
- libc_cv_z_execstack=yes
- libc_cv_z_initfirst=yes
- libc_cv_z_nodelete=yes
- libc_cv_z_nodlopen=yes
- libc_cv_z_relro=yes
- libc_mips_abi=${ABI}
- libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard)
- # These libs don't have configure flags.
- ac_cv_lib_audit_audit_log_user_avc_message=no
- ac_cv_lib_cap_cap_init=no
- )
-
- einfo "Forcing cached settings:"
- for v in "${vars[@]}" ; do
- einfo " ${v}"
- export ${v}
- done
-
- local headers_only_arch_CPPFLAGS=()
-
- # Blow away some random CC settings that screw things up. #550192
- if [[ -d ${S}/sysdeps/mips ]]; then
- pushd "${S}"/sysdeps/mips >/dev/null
- sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die
- sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die
-
- # Force the mips ABI to the default. This is OK because the set of
- # installed headers in this phase is the same between the 3 ABIs.
- # If this ever changes, this hack will break, but that's unlikely
- # as glibc discourages that behavior.
- # https://crbug.com/647033
- sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die
-
- popd >/dev/null
- fi
-
- case ${CTARGET} in
- riscv*)
- # RISC-V interrogates the compiler to determine which target to
- # build. If building the headers then we don't strictly need a
- # RISC-V compiler, so the built-in definitions that are provided
- # along with all RISC-V compiler might not exist. This causes
- # glibc's RISC-V preconfigure script to blow up. Since we're just
- # building the headers any value will actually work here, so just
- # pick the standard one (rv64g/lp64d) to make the build scripts
- # happy for now -- the headers are all the same anyway so it
- # doesn't matter.
- headers_only_arch_CPPFLAGS+=(
- -D__riscv_xlen=64
- -D__riscv_flen=64
- -D__riscv_float_abi_double=1
- -D__riscv_atomic=1
- ) ;;
- esac
-
- local myconf=()
- myconf+=(
- --disable-sanity-checks
- --enable-hacker-mode
- --disable-werror
- --enable-bind-now
- --build=${CBUILD_OPT:-${CBUILD}}
- --host=${CTARGET_OPT:-${CTARGET}}
- --with-headers=$(build_eprefix)$(alt_build_headers)
- --prefix="$(host_eprefix)/usr"
- $(use_enable crypt)
- ${EXTRA_ECONF}
- )
-
- # Nothing is compiled here which would affect the headers for the target.
- # So forcing CC/CFLAGS is sane.
- local headers_only_CC=$(tc-getBUILD_CC)
- local headers_only_CFLAGS="-O1 -pipe"
- local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}"
- local headers_only_LDFLAGS=""
- set -- "${S}"/configure "${myconf[@]}"
- echo \
- "CC=${headers_only_CC}" \
- "CFLAGS=${headers_only_CFLAGS}" \
- "CPPFLAGS=${headers_only_CPPFLAGS}" \
- "LDFLAGS=${headers_only_LDFLAGS}" \
- "$@"
- CC=${headers_only_CC} \
- CFLAGS=${headers_only_CFLAGS} \
- CPPFLAGS=${headers_only_CPPFLAGS} \
- LDFLAGS="" \
- "$@" || die "failed to configure glibc"
-}
-
-do_src_configure() {
- if just_headers ; then
- glibc_headers_configure
- else
- glibc_do_configure nptl
- fi
-}
-
-src_configure() {
- foreach_abi do_src_configure
-}
-
-# src_compile
-
-do_src_compile() {
- emake -C "$(builddir nptl)"
-}
-
-src_compile() {
- if just_headers ; then
- return
- fi
-
- foreach_abi do_src_compile
-}
-
-# src_test
-
-glibc_src_test() {
- cd "$(builddir nptl)"
-
- local myxfailparams=""
- if [[ "${GENTOO_GLIBC_XFAIL_TESTS}" == "yes" ]] ; then
- local virt=$(systemd-detect-virt 2>/dev/null)
- if [[ ${virt} == systemd-nspawn ]] ; then
- ewarn "Skipping extra tests because in systemd-nspawn container"
- XFAIL_TEST_LIST+=( "${XFAIL_NSPAWN_TEST_LIST[@]}" )
- fi
-
- for myt in ${XFAIL_TEST_LIST[@]} ; do
- myxfailparams+="test-xfail-${myt}=yes "
- done
- fi
-
- # sandbox does not understand unshare() and prevents
- # writes to /proc/, which makes many tests fail
-
- # we give the tests a bit more time to avoid spurious
- # bug reports on slow arches
-
- SANDBOX_ON=0 LD_PRELOAD= TIMEOUTFACTOR=16 emake ${myxfailparams} check
-}
-
-src_test() {
- if just_headers ; then
- return
- fi
-
- foreach_abi glibc_src_test || die "tests failed"
-}
-
-# src_install
-
-run_locale_gen() {
- # if the host locales.gen contains no entries, we'll install everything
- local root="$1"
- local inplace=""
-
- if [[ "${root}" == "--inplace-glibc" ]] ; then
- inplace="--inplace-glibc"
- root="$2"
- fi
-
- local locale_list="${root%/}/etc/locale.gen"
-
- pushd "${ED}"/$(get_libdir) >/dev/null
-
- if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
- [[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
- locale_list="${root%/}/usr/share/i18n/SUPPORTED"
- fi
-
- # bug 736794: we need to be careful with the parallelization... the number of
- # processors saved in the environment of a binary package may differ strongly
- # from the number of processes available during postinst
- local mygenjobs="$(makeopts_jobs)"
- if [[ "${EMERGE_FROM}" == "binary" ]] ; then
- mygenjobs="$(nproc)"
- fi
-
- set -- locale-gen ${inplace} --jobs "${mygenjobs}" --config "${locale_list}" \
- --destdir "${root}"
- echo "$@"
- "$@"
-
- popd >/dev/null
-}
-
-glibc_do_src_install() {
- local builddir=$(builddir nptl)
- cd "${builddir}"
-
- emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install
-
- # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support
- # which come without headers etc. Only needed for binary packages since the
- # external net-libs/libnsl has increased soversion. Keep only versioned libraries.
- find "${D}" -name "libnsl.a" -delete
- find "${D}" -name "libnsl.so" -delete
-
- # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need
- # to infer upstream version:
- # '#define VERSION "2.26.90"' -> '2.26.90'
- local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h)
-
- # Avoid stripping binaries not targeted by ${CHOST}. Or else
- # ${CHOST}-strip would break binaries build for ${CTARGET}.
- is_crosscompile && dostrip -x /
-
- # gdb thread introspection relies on local libpthreads symbols. stripping breaks it
- # See Note [Disable automatic stripping]
- dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so
-
- if [[ -e ${ED}/$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then
- # Move versioned .a file out of libdir to evade portage QA checks
- # instead of using gen_usr_ldscript(). We fix ldscript as:
- # "GROUP ( /usr/lib64/libm-<pv>.a ..." -> "GROUP ( /usr/lib64/glibc-<pv>/libm-<pv>.a ..."
- sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" "${ED}"/$(alt_usrlibdir)/libm.a || die
- dodir $(alt_usrlibdir)/${P}
- mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a "${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die
- fi
-
- # We configure toolchains for standalone prefix systems with a sysroot,
- # which is prepended to paths in ld scripts, so strip the prefix from these.
- # Before: GROUP ( /foo/lib64/libc.so.6 /foo/usr/lib64/libc_nonshared.a AS_NEEDED ( /foo/lib64/ld-linux-x86-64.so.2 ) )
- # After: GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) )
- if [[ -n $(host_eprefix) ]] ; then
- local file
- grep -lZIF "ld script" "${ED}/$(alt_usrlibdir)"/lib*.{a,so} 2>/dev/null | while read -rd '' file ; do
- sed -i "s|$(host_eprefix)/|/|g" "${file}" || die
- done
- fi
-
- # We'll take care of the cache ourselves
- rm -f "${ED}"/etc/ld.so.cache
-
- # Everything past this point just needs to be done once ...
- is_final_abi || return 0
-
- # Make sure the non-native interp can be found on multilib systems even
- # if the main library set isn't installed into the right place. Maybe
- # we should query the active gcc for info instead of hardcoding it ?
- local i ldso_abi ldso_name
- local ldso_abi_list=(
- # x86
- amd64 /lib64/ld-linux-x86-64.so.2
- x32 /libx32/ld-linux-x32.so.2
- x86 /lib/ld-linux.so.2
- # mips
- o32 /lib/ld.so.1
- n32 /lib32/ld.so.1
- n64 /lib64/ld.so.1
- # powerpc
- ppc /lib/ld.so.1
- # riscv
- ilp32d /lib/ld-linux-riscv32-ilp32d.so.1
- ilp32 /lib/ld-linux-riscv32-ilp32.so.1
- lp64d /lib/ld-linux-riscv64-lp64d.so.1
- lp64 /lib/ld-linux-riscv64-lp64.so.1
- # s390
- s390 /lib/ld.so.1
- s390x /lib/ld64.so.1
- # sparc
- sparc32 /lib/ld-linux.so.2
- sparc64 /lib64/ld-linux.so.2
- )
- case $(tc-endian) in
- little)
- ldso_abi_list+=(
- # arm
- arm64 /lib/ld-linux-aarch64.so.1
- # ELFv2 (glibc does not support ELFv1 on LE)
- ppc64 /lib64/ld64.so.2
- )
- ;;
- big)
- ldso_abi_list+=(
- # arm
- arm64 /lib/ld-linux-aarch64_be.so.1
- # ELFv1 (glibc does not support ELFv2 on BE)
- ppc64 /lib64/ld64.so.1
- )
- ;;
- esac
- if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then
- dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib
- fi
- for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do
- ldso_abi=${ldso_abi_list[i]}
- has ${ldso_abi} $(get_install_abis) || continue
-
- ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}"
- if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then
- dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name}
- fi
- done
-
- # In the LSB 5.0 definition, someone had the excellent idea to "standardize"
- # the runtime loader name, see also https://xkcd.com/927/
- # Normally, in Gentoo one should never come across executables that require this.
- # However, binary commercial packages are known to adhere to weird practices.
- # https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-AMD64/LSB-Core-AMD64.html#BASELIB
- local lsb_ldso_name native_ldso_name lsb_ldso_abi
- local lsb_ldso_abi_list=(
- # x86
- amd64 ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3
- )
- for (( i = 0; i < ${#lsb_ldso_abi_list[@]}; i += 3 )) ; do
- lsb_ldso_abi=${lsb_ldso_abi_list[i]}
- native_ldso_name=${lsb_ldso_abi_list[i+1]}
- lsb_ldso_name=${lsb_ldso_abi_list[i+2]}
- has ${lsb_ldso_abi} $(get_install_abis) || continue
-
- if [[ ! -L ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} && ! -e ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} ]] ; then
- dosym ${native_ldso_name} "$(alt_prefix)/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name}"
- fi
- done
-
- # With devpts under Linux mounted properly, we do not need the pt_chown
- # binary to be setuid. This is because the default owners/perms will be
- # exactly what we want.
- if ! use suid ; then
- find "${ED}" -name pt_chown -exec chmod -s {} +
- fi
-
- #################################################################
- # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY #
- #################################################################
-
- # Make sure we install some symlink hacks so that when we build
- # a 2nd stage cross-compiler, gcc finds the target system
- # headers correctly. See gcc/doc/gccinstall.info
- if is_crosscompile ; then
- # We need to make sure that /lib and /usr/lib always exists.
- # gcc likes to use relative paths to get to its multilibs like
- # /usr/lib/../lib64/. So while we don't install any files into
- # /usr/lib/, we do need it to exist.
- keepdir $(alt_prefix)/lib
- keepdir $(alt_prefix)/usr/lib
-
- dosym usr/include $(alt_prefix)/sys-include
- return 0
- fi
-
- # Files for Debian-style locale updating
- dodir /usr/share/i18n
- sed \
- -e "/^#/d" \
- -e "/SUPPORTED-LOCALES=/d" \
- -e "s: \\\\::g" -e "s:/: :g" \
- "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \
- || die "generating /usr/share/i18n/SUPPORTED failed"
-
- cd "${S}" || die
-
- # Install misc network config files
- insinto /etc
- doins posix/gai.conf
-
- if use systemd ; then
- doins "${WORKDIR}/glibc-systemd-${GLIBC_SYSTEMD_VER}/gentoo-config/nsswitch.conf"
- else
- doins nss/nsswitch.conf
- fi
-
- # Gentoo-specific
- newins "${FILESDIR}"/host.conf-1 host.conf
-
- if use nscd ; then
- doins nscd/nscd.conf
-
- newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd
-
- local nscd_args=(
- -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):"
- )
-
- sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd
-
- use systemd && systemd_dounit nscd/nscd.service
- newtmpfiles nscd/nscd.tmpfiles nscd.conf
- fi
-
- echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc
- doenvd "${T}"/00glibc
-
- for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do
- [[ -s ${d} ]] && dodoc ${d}
- done
- dodoc -r ChangeLog.old
-
- # Prevent overwriting of the /etc/localtime symlink. We'll handle the
- # creation of the "factory" symlink in pkg_postinst().
- rm -f "${ED}"/etc/localtime
-
- # Generate all locales if this is a native build as locale generation
- if use compile-locales && ! is_crosscompile ; then
- run_locale_gen --inplace-glibc "${ED}/"
- fi
-}
-
-glibc_headers_install() {
- local builddir=$(builddir "headers")
- cd "${builddir}"
- emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers
-
- insinto $(alt_headers)/gnu
- doins "${S}"/include/gnu/stubs.h
-
- # Make sure we install the sys-include symlink so that when
- # we build a 2nd stage cross-compiler, gcc finds the target
- # system headers correctly. See gcc/doc/gccinstall.info
- dosym usr/include $(alt_prefix)/sys-include
-}
-
-src_install() {
- if just_headers ; then
- export ABI=default
- glibc_headers_install
- return
- fi
-
- foreach_abi glibc_do_src_install
-
- if ! use static-libs ; then
- einfo "Not installing static glibc libraries"
- find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete
- fi
-}
-
-# Simple test to make sure our new glibc isn't completely broken.
-# Make sure we don't test with statically built binaries since
-# they will fail. Also, skip if this glibc is a cross compiler.
-#
-# If coreutils is built with USE=multicall, some of these files
-# will just be wrapper scripts, not actual ELFs we can test.
-glibc_sanity_check() {
- cd / #228809
-
- # We enter ${ED} so to avoid trouble if the path contains
- # special characters; for instance if the path contains the
- # colon character (:), then the linker will try to split it
- # and look for the libraries in an unexpected place. This can
- # lead to unsafe code execution if the generated prefix is
- # within a world-writable directory.
- # (e.g. /var/tmp/portage:${HOSTNAME})
- pushd "${ED}"/$(get_libdir) >/dev/null
-
- # first let's find the actual dynamic linker here
- # symlinks may point to the wrong abi
- local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit)
-
- einfo Last-minute run tests with ${newldso} in /$(get_libdir) ...
-
- local x striptest
- for x in cal date env free ls true uname uptime ; do
- x=$(type -p ${x})
- [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue
- striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue
- case ${striptest} in
- *"statically linked"*) continue;;
- *"ASCII text"*) continue;;
- esac
- # We need to clear the locale settings as the upgrade might want
- # incompatible locale data. This test is not for verifying that.
- LC_ALL=C \
- ${newldso} --library-path . ${x} > /dev/null \
- || die "simple run test (${x}) failed"
- done
-
- popd >/dev/null
-}
-
-pkg_preinst() {
- # nothing to do if just installing headers
- just_headers && return
-
- einfo "Checking general environment sanity."
- sanity_prechecks
-
- # prepare /etc/ld.so.conf.d/ for files
- mkdir -p "${EROOT}"/etc/ld.so.conf.d
-
- # Default /etc/hosts.conf:multi to on for systems with small dbs.
- if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then
- sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf
- einfo "Defaulting /etc/host.conf:multi to on"
- fi
-
- [[ -n ${ROOT} ]] && return 0
- [[ -d ${ED}/$(get_libdir) ]] || return 0
- [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check
-
- if [[ -L ${EROOT}/usr/lib/locale ]]; then
- # Help portage migrate this to a directory
- # https://bugs.gentoo.org/753740
- rm "${EROOT}"/usr/lib/locale || die
- fi
-
- # Keep around libcrypt so that Perl doesn't break when merging libxcrypt
- # (libxcrypt is the new provider for now of libcrypt.so.{1,2}).
- # bug #802207
- if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then
- PRESERVED_OLD_LIBCRYPT=1
- cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" "${T}/libcrypt$(get_libname 1)" || die
- else
- PRESERVED_OLD_LIBCRYPT=0
- fi
-}
-
-pkg_postinst() {
- # nothing to do if just installing headers
- just_headers && return
-
- if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then
- # Generate fastloading iconv module configuration file.
- "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}/"
- fi
-
- if ! is_crosscompile && [[ -z ${ROOT} ]] ; then
- use compile-locales || run_locale_gen "${EROOT}/"
- fi
-
- upgrade_warning
-
- # Check for sanity of /etc/nsswitch.conf, take 2
- if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then
- local entry
- for entry in passwd group shadow; do
- if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then
- ewarn ""
- ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been"
- ewarn "removed from glibc and is now provided by the package"
- ewarn " sys-auth/libnss-nis"
- ewarn "Install it now to keep your NIS setup working."
- ewarn ""
- fi
- done
- fi
-
- if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then
- cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die
- preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1)
-
- elog "Please ignore a possible later error message about a file collision involving"
- elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep"
- elog "the upgrade working, but it also needs to be overwritten when"
- elog "sys-libs/libxcrypt is installed. See bug 802210 for more details."
- fi
-}
diff --git a/sys-libs/glibc/glibc-2.37-r6.ebuild b/sys-libs/glibc/glibc-2.37-r6.ebuild
deleted file mode 100644
index b5718246ac33..000000000000
--- a/sys-libs/glibc/glibc-2.37-r6.ebuild
+++ /dev/null
@@ -1,1680 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc
-# Please read & adapt the page as necessary if obsolete.
-
-PYTHON_COMPAT=( python3_{9..11} )
-TMPFILES_OPTIONAL=1
-
-inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \
- multilib systemd multiprocessing tmpfiles
-
-DESCRIPTION="GNU libc C library"
-HOMEPAGE="https://www.gnu.org/software/libc/"
-LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
-SLOT="2.2"
-
-EMULTILIB_PKG="true"
-
-# Gentoo patchset (ignored for live ebuilds)
-PATCH_VER=9
-PATCH_DEV=dilfridge
-
-# gcc mulitilib bootstrap files version
-GCC_BOOTSTRAP_VER=20201208
-
-# systemd integration version
-GLIBC_SYSTEMD_VER=20210729
-
-# Minimum kernel version that glibc requires
-MIN_KERN_VER="3.2.0"
-
-# Minimum pax-utils version needed (which contains any new syscall changes for
-# its seccomp filter!). Please double check this!
-MIN_PAX_UTILS_VER="1.3.3"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
-else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
- SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
-fi
-
-SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
-SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )"
-
-IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla"
-
-# Here's how the cross-compile logic breaks down ...
-# CTARGET - machine that will target the binaries
-# CHOST - machine that will host the binaries
-# CBUILD - machine that will build the binaries
-# If CTARGET != CHOST, it means you want a libc for cross-compiling.
-# If CHOST != CBUILD, it means you want to cross-compile the libc.
-# CBUILD = CHOST = CTARGET - native build/install
-# CBUILD != (CHOST = CTARGET) - cross-compile a native build
-# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
-# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
-# For install paths:
-# CHOST = CTARGET - install into /
-# CHOST != CTARGET - install into /usr/CTARGET/
-#
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-# Note [Disable automatic stripping]
-# Disabling automatic stripping for a few reasons:
-# - portage's attempt to strip breaks non-native binaries at least on
-# arm: bug #697428
-# - portage's attempt to strip libpthread.so.0 breaks gdb thread
-# enumeration: bug #697910. This is quite subtle:
-# * gdb uses glibc's libthread_db-1.0.so to enumerate threads.
-# * libthread_db-1.0.so needs access to libpthread.so.0 local symbols
-# via 'ps_pglobal_lookup' symbol defined in gdb.
-# * 'ps_pglobal_lookup' uses '.symtab' section table to resolve all
-# known symbols in 'libpthread.so.0'. Specifically 'nptl_version'
-# (unexported) is used to sanity check compatibility before enabling
-# debugging.
-# Also see https://sourceware.org/gdb/wiki/FAQ#GDB_does_not_see_any_threads_besides_the_one_in_which_crash_occurred.3B_or_SIGTRAP_kills_my_program_when_I_set_a_breakpoint
-# * normal 'strip' command trims '.symtab'
-# Thus our main goal here is to prevent 'libpthread.so.0' from
-# losing it's '.symtab' entries.
-# As Gentoo's strip does not allow us to pass less aggressive stripping
-# options and does not check the machine target we strip selectively.
-
-# We need a new-enough binutils/gcc to match upstream baseline.
-# Also we need to make sure our binutils/gcc supports TLS,
-# and that gcc already contains the hardened patches.
-# Lastly, let's avoid some openssh nastiness, bug 708224, as
-# convenience to our users.
-
-IDEPEND="
- !compile-locales? ( sys-apps/locale-gen )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=app-misc/pax-utils-${MIN_PAX_UTILS_VER}
- sys-devel/bison
- compile-locales? ( sys-apps/locale-gen )
- doc? (
- dev-lang/perl
- sys-apps/texinfo
- )
- test? (
- dev-lang/perl
- >=net-dns/libidn2-2.3.0
- )
-"
-COMMON_DEPEND="
- gd? ( media-libs/gd:2= )
- nscd? ( selinux? (
- audit? ( sys-process/audit )
- caps? ( sys-libs/libcap )
- ) )
- suid? ( caps? ( sys-libs/libcap ) )
- selinux? ( sys-libs/libselinux )
- systemtap? ( dev-util/systemtap )
-"
-DEPEND="${COMMON_DEPEND}
-"
-RDEPEND="${COMMON_DEPEND}
- !<app-misc/pax-utils-${MIN_PAX_UTILS_VER}
- perl? ( dev-lang/perl )
-"
-
-RESTRICT="!test? ( test )"
-
-if [[ ${CATEGORY} == cross-* ]] ; then
- BDEPEND+=" !headers-only? (
- >=${CATEGORY}/binutils-2.27
- >=${CATEGORY}/gcc-6.2
- )"
- [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
-else
- BDEPEND+="
- >=sys-devel/binutils-2.27
- >=sys-devel/gcc-6.2
- "
- DEPEND+=" virtual/os-headers "
- RDEPEND+="
- >=net-dns/libidn2-2.3.0
- vanilla? ( !sys-libs/timezone-data )
- "
- PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
-fi
-
-# Ignore tests whitelisted below
-GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}"
-
-# The following tests fail due to the Gentoo build system and are thus
-# executed but ignored:
-XFAIL_TEST_LIST=(
- # buggy test, assumes /dev/ and /dev/null on a single filesystem
- # 'mount --bind /dev/null /chroot/dev/null' breaks it.
- # https://sourceware.org/PR25909
- tst-support_descriptors
-
- # The following tests fail only inside portage
- # https://bugs.gentoo.org/831267
- tst-system
- tst-strerror
- tst-strsignal
-)
-
-XFAIL_NSPAWN_TEST_LIST=(
- # These tests need to be adapted to handle EPERM/ENOSYS(?) properly
- # upstream, as systemd-nspawn's default seccomp whitelist is too strict.
- # https://sourceware.org/PR30603
- test-errno-linux
- tst-bz21269
- tst-mlock2
- tst-ntp_gettime
- tst-ntp_gettime-time64
- tst-ntp_gettimex
- tst-ntp_gettimex-time64
- tst-pkey
- tst-process_mrelease
- tst-adjtime
- tst-adjtime-time64
- tst-clock2
- tst-clock2-time64
-
- # These fail if --suppress-sync and/or low priority is set
- tst-sync_file_range
- tst-sched1
- test-errno
-)
-
-#
-# Small helper functions
-#
-
-dump_build_environment() {
- einfo ==== glibc build environment ========================================================
- local v
- for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX CPP LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do
- einfo " $(printf '%15s' ${v}:) ${!v}"
- done
- einfo =====================================================================================
-}
-
-is_crosscompile() {
- [[ ${CHOST} != ${CTARGET} ]]
-}
-
-just_headers() {
- is_crosscompile && use headers-only
-}
-
-alt_prefix() {
- is_crosscompile && echo /usr/${CTARGET}
-}
-
-# This prefix is applicable to CHOST when building against this
-# glibc. It is baked into the library at configure time.
-host_eprefix() {
- is_crosscompile || echo "${EPREFIX}"
-}
-
-# This prefix is applicable to CBUILD when building against this
-# glibc. It determines the destination path at install time.
-build_eprefix() {
- is_crosscompile && echo "${EPREFIX}"
-}
-
-# We need to be able to set alternative headers for compiling for non-native
-# platform. Will also become useful for testing kernel-headers without screwing
-# up the whole system.
-alt_headers() {
- echo ${ALT_HEADERS:=$(alt_prefix)/usr/include}
-}
-
-alt_build_headers() {
- if [[ -z ${ALT_BUILD_HEADERS} ]] ; then
- ALT_BUILD_HEADERS="$(host_eprefix)$(alt_headers)"
- if tc-is-cross-compiler ; then
- ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers)
- if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then
- local header_path=$(echo '#include <linux/version.h>' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h')
- ALT_BUILD_HEADERS=${header_path%/linux/version.h}
- fi
- fi
- fi
- echo "${ALT_BUILD_HEADERS}"
-}
-
-alt_libdir() {
- echo $(alt_prefix)/$(get_libdir)
-}
-alt_usrlibdir() {
- echo $(alt_prefix)/usr/$(get_libdir)
-}
-
-builddir() {
- echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1"
-}
-
-do_compile_test() {
- local ret save_cflags=${CFLAGS}
- CFLAGS+=" $1"
- shift
-
- pushd "${T}" >/dev/null
-
- rm -f glibc-test*
- printf '%b' "$*" > glibc-test.c
-
- # We assume CC is already set up.
- nonfatal emake glibc-test
- ret=$?
-
- popd >/dev/null
-
- CFLAGS=${save_cflags}
- return ${ret}
-}
-
-do_run_test() {
- local ret
-
- if [[ ${MERGE_TYPE} == "binary" ]] ; then
- # ignore build failures when installing a binary package #324685
- do_compile_test "" "$@" 2>/dev/null || return 0
- else
- if ! do_compile_test "" "$@" ; then
- ewarn "Simple build failed ... assuming this is desired #324685"
- return 0
- fi
- fi
-
- pushd "${T}" >/dev/null
-
- ./glibc-test
- ret=$?
- rm -f glibc-test*
-
- popd >/dev/null
-
- return ${ret}
-}
-
-setup_target_flags() {
- # This largely mucks with compiler flags. None of which should matter
- # when building up just the headers.
- just_headers && return 0
-
- case $(tc-arch) in
- x86)
- # -march needed for #185404 #199334
- # TODO: When creating the first glibc cross-compile, this test will
- # always fail as it does a full link which in turn requires glibc.
- # Probably also applies when changing multilib profile settings (e.g.
- # enabling x86 when the profile was amd64-only previously).
- # We could change main to _start and pass -nostdlib here so that we
- # only test the gcc code compilation. Or we could do a compile and
- # then look for the symbol via scanelf.
- if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then
- local t=${CTARGET_OPT:-${CTARGET}}
- t=${t%%-*}
- filter-flags '-march=*'
- export CFLAGS="-march=${t} ${CFLAGS}"
- einfo "Auto adding -march=${t} to CFLAGS #185404"
- fi
- # For compatibility with older binaries at slight performance cost.
- use stack-realign && export CFLAGS+=" -mstackrealign"
- ;;
- amd64)
- # -march needed for #185404 #199334
- # TODO: See cross-compile issues listed above for x86.
- if [[ ${ABI} == x86 ]]; then
- if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then
- local t=${CTARGET_OPT:-${CTARGET}}
- t=${t%%-*}
- # Normally the target is x86_64-xxx, so turn that into the -march that
- # gcc actually accepts. #528708
- [[ ${t} == "x86_64" ]] && t="x86-64"
- filter-flags '-march=*'
- # ugly, ugly, ugly. ugly.
- CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}")
- export CFLAGS_x86="${CFLAGS_x86} -march=${t}"
- einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})"
- fi
- # For compatibility with older binaries at slight performance cost.
- use stack-realign && export CFLAGS_x86+=" -mstackrealign"
-
- # Workaround for bug #823780.
- # Need to save/restore CC because earlier on, we stuff it full of CFLAGS, and tc-getCPP doesn't like that.
- CC_mangled=${CC}
- CC=${glibc__GLIBC_CC}
- if tc-is-gcc && (($(gcc-major-version) == 11)) && (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then
- export CFLAGS_x86="${CFLAGS_x86} -mno-avx512f"
- einfo "Auto adding -mno-avx512f to CFLAGS_x86 for buggy GCC version (bug #823780) (ABI=${ABI})"
- fi
- CC=${CC_mangled}
- fi
- ;;
- mips)
- # The mips abi cannot support the GNU style hashes. #233233
- filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
- ;;
- ppc|ppc64)
- # Many arch-specific implementations do not work on ppc with
- # cache-block not equal to 128 bytes. This breaks memset:
- # https://sourceware.org/PR26522
- # https://bugs.gentoo.org/737996
- # Use default -mcpu=. For ppc it means non-multiarch setup.
- filter-flags '-mcpu=*'
- ;;
- sparc)
- # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though.
- filter-flags "-fcall-used-g7"
- append-flags "-fcall-used-g6"
-
- local cpu
- case ${CTARGET} in
- sparc64-*)
- cpu="sparc64"
- case $(get-flag mcpu) in
- v9)
- # We need to force at least v9a because the base build doesn't
- # work with just v9.
- # https://sourceware.org/bugzilla/show_bug.cgi?id=19477
- append-flags "-Wa,-xarch=v9a"
- ;;
- esac
- ;;
- sparc-*)
- case $(get-flag mcpu) in
- v8|supersparc|hypersparc|leon|leon3)
- cpu="sparcv8"
- ;;
- *)
- cpu="sparcv9"
- ;;
- esac
- ;;
- esac
- [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}"
- ;;
- esac
-}
-
-setup_flags() {
- # Make sure host make.conf doesn't pollute us
- if is_crosscompile || tc-is-cross-compiler ; then
- CHOST=${CTARGET} strip-unsupported-flags
- fi
-
- # Store our CFLAGS because it's changed depending on which CTARGET
- # we are building when pulling glibc on a multilib profile
- CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}}
- CFLAGS=${CFLAGS_BASE}
- CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}}
- CXXFLAGS=${CXXFLAGS_BASE}
- ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}}
- ASFLAGS=${ASFLAGS_BASE}
-
- # Allow users to explicitly avoid flag sanitization via
- # USE=custom-cflags.
- if ! use custom-cflags; then
- # Over-zealous CFLAGS can often cause problems. What may work for one
- # person may not work for another. To avoid a large influx of bugs
- # relating to failed builds, we strip most CFLAGS out to ensure as few
- # problems as possible.
- strip-flags
- # Lock glibc at -O2; we want to be conservative here.
- filter-flags '-O?'
- append-flags -O2
- fi
-
- strip-unsupported-flags
- filter-lto
- filter-flags -m32 -m64 '-mabi=*'
-
- # glibc aborts if rpath is set by LDFLAGS
- filter-ldflags '-Wl,-rpath=*'
-
- # ld can't use -r & --relax at the same time, bug #788901
- # https://sourceware.org/PR27837
- filter-ldflags '-Wl,--relax'
-
- # some weird software relies on sysv hashes in glibc, bug 863863, bug 864100
- # we have to do that here already so mips can filter it out again :P
- if use hash-sysv-compat ; then
- append-ldflags '-Wl,--hash-style=both'
- fi
-
- # #492892
- filter-flags -frecord-gcc-switches
-
- # #898098
- filter-flags -fno-builtin
-
- # #829583
- filter-lfs-flags
-
- unset CBUILD_OPT CTARGET_OPT
- if use multilib ; then
- CTARGET_OPT=$(get_abi_CTARGET)
- [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST)
- fi
-
- setup_target_flags
-
- if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then
- CBUILD_OPT=${CTARGET_OPT}
- fi
-
- # glibc's headers disallow -O0 and fail at build time:
- # include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization"
- # https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F
- replace-flags -O0 -O1
-
- # glibc handles this internally already where it's appropriate;
- # can't always have SSP when we're the ones setting it up, etc
- filter-flags '-fstack-protector*'
-
- # Similar issues as with SSP. Can't inject yourself that early.
- filter-flags '-fsanitize=*'
-
- # See end of bug #830454; we handle this via USE=cet
- filter-flags '-fcf-protection=*'
-
- # When bootstrapping, we may have a situation where
- # CET-enabled gcc from seed is used to build CET-disabled
- # glibc. As such, gcc implicitly enables CET if no
- # -fcf-protection flag is passed. For a typical package it
- # should not be a problem, but for glibc it matters as it is
- # dealing with CET in ld.so. So if CET is supposed to be
- # disabled for glibc, be explicit about it.
- if (use amd64 || use x86) && ! use cet; then
- append-flags '-fcf-protection=none'
- fi
-}
-
-use_multiarch() {
- # Allow user to disable runtime arch detection in multilib.
- use multiarch || return 1
- # Make sure binutils is new enough to support indirect functions,
- # #336792. This funky sed supports gold and bfd linkers.
- local bver nver
- bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}')
- case $(tc-arch ${CTARGET}) in
- amd64|x86) nver="2.20" ;;
- arm) nver="2.22" ;;
- hppa) nver="2.23" ;;
- ppc|ppc64) nver="2.20" ;;
- # ifunc support was added in 2.23, but glibc also needs
- # machinemode which is in 2.24.
- s390) nver="2.24" ;;
- sparc) nver="2.21" ;;
- *) return 1 ;;
- esac
- ver_test ${bver} -ge ${nver}
-}
-
-# Setup toolchain variables that had historically been defined in the
-# profiles for these archs.
-setup_env() {
- # silly users
- unset LD_RUN_PATH
- unset LD_ASSUME_KERNEL
-
- if is_crosscompile || tc-is-cross-compiler ; then
- multilib_env ${CTARGET_OPT:-${CTARGET}}
-
- if ! use multilib ; then
- MULTILIB_ABIS=${DEFAULT_ABI}
- else
- MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}}
- fi
-
- # If the user has CFLAGS_<CTARGET> in their make.conf, use that,
- # and fall back on CFLAGS.
- local VAR=CFLAGS_${CTARGET//[-.]/_}
- CFLAGS=${!VAR-${CFLAGS}}
- einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}"
- fi
-
- setup_flags
-
- export ABI=${ABI:-${DEFAULT_ABI:-default}}
-
- if just_headers ; then
- # Avoid mixing host's CC and target's CFLAGS_${ABI}:
- # At this bootstrap stage we have only binutils for
- # target but not compiler yet.
- einfo "Skip CC ABI injection. We can't use (cross-)compiler yet."
- return 0
- fi
-
- # Glibc does not work with gold (for various reasons) #269274.
- tc-ld-disable-gold
-
- if use doc ; then
- export MAKEINFO=makeinfo
- else
- export MAKEINFO=/dev/null
- fi
-
- # Reset CC and CXX to the value at start of emerge
- export CC=${glibc__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}}
- export CXX=${glibc__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}}
-
- # and make sure glibc__ORIG_CC and glibc__ORIG_CXX is defined now.
- export glibc__ORIG_CC=${CC}
- export glibc__ORIG_CXX=${CXX}
-
- if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then
- export glibc__force_gcc=yes
- # once this is toggled on, it needs to stay on, since with CPP manipulated
- # tc-is-clang does not work correctly anymore...
- fi
-
- if [[ ${glibc__force_gcc} == "yes" ]] ; then
- # If we are running in an otherwise clang/llvm environment, we need to
- # recover the proper gcc and binutils settings here, at least until glibc
- # is finally building with clang. So let's override everything that is
- # set in the clang profiles.
- # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always
- # a good start into that direction.
- # Also, if you're crosscompiling, let's assume you know what you are doing.
- # Hopefully.
- # Last, we need the settings of the *build* environment, not of the
- # target environment...
-
- local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B)
- local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B)
- einfo "Overriding clang configuration, since it won't work here"
-
- export CC="${current_gcc_path}/gcc"
- export CPP="${current_gcc_path}/cpp"
- export CXX="${current_gcc_path}/g++"
- export LD="${current_binutils_path}/ld.bfd"
- export AR="${current_binutils_path}/ar"
- export AS="${current_binutils_path}/as"
- export NM="${current_binutils_path}/nm"
- export STRIP="${current_binutils_path}/strip"
- export RANLIB="${current_binutils_path}/ranlib"
- export OBJCOPY="${current_binutils_path}/objcopy"
- export STRINGS="${current_binutils_path}/strings"
- export OBJDUMP="${current_binutils_path}/objdump"
- export READELF="${current_binutils_path}/readelf"
- export ADDR2LINE="${current_binutils_path}/addr2line"
-
- # do we need to also do flags munging here? yes! at least...
- filter-flags '-fuse-ld=*'
- filter-flags '-D_FORTIFY_SOURCE=*'
-
- else
-
- # this is the "normal" case
-
- export CC="$(tc-getCC ${CTARGET})"
- export CXX="$(tc-getCXX ${CTARGET})"
-
- # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure
- # can't detect them automatically due to ${CHOST} mismatch and fallbacks
- # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup().
- export NM="$(tc-getNM ${CTARGET})"
- export READELF="$(tc-getREADELF ${CTARGET})"
-
- fi
-
- # We need to export CFLAGS with abi information in them because glibc's
- # configure script checks CFLAGS for some targets (like mips). Keep
- # around the original clean value to avoid appending multiple ABIs on
- # top of each other. (Why does the comment talk about CFLAGS if the code
- # acts on CC?)
- export glibc__GLIBC_CC=${CC}
- export glibc__GLIBC_CXX=${CXX}
-
- export glibc__abi_CFLAGS="$(get_abi_CFLAGS)"
-
- # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760
- # To build .S (assembly) files with the same ABI-specific flags
- # upstream currently recommends adding CFLAGS to CC/CXX:
- # https://sourceware.org/PR23273
- # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS
- # and breaks multiarch support. See 659030#c3 for an example.
- # The glibc configure script doesn't properly use LDFLAGS all the time.
- export CC="${glibc__GLIBC_CC} ${glibc__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}"
-
- # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
- export CXX="${glibc__GLIBC_CXX} ${glibc__abi_CFLAGS} ${CFLAGS}"
-
- if is_crosscompile; then
- # Assume worst-case bootstrap: glibc is buil first time
- # when ${CTARGET}-g++ is not available yet. We avoid
- # building auxiliary programs that require C++: bug #683074
- # It should not affect final result.
- export libc_cv_cxx_link_ok=no
- # The line above has the same effect. We set CXX explicitly
- # to make build logs less confusing.
- export CXX=
- fi
-}
-
-foreach_abi() {
- setup_env
-
- local ret=0
- local abilist=""
- if use multilib ; then
- abilist=$(get_install_abis)
- else
- abilist=${DEFAULT_ABI}
- fi
- local -x ABI
- for ABI in ${abilist:-default} ; do
- setup_env
- einfo "Running $1 for ABI ${ABI}"
- $1
- : $(( ret |= $? ))
- done
- return ${ret}
-}
-
-glibc_banner() {
- local b="Gentoo ${PVR}"
- [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" (patchset ${PATCH_VER})"
- echo "${b}"
-}
-
-# The following Kernel version handling functions are mostly copied from portage
-# source. It's better not to use linux-info.eclass here since a) it adds too
-# much magic, see bug 326693 for some of the arguments, and b) some of the
-# functions are just not provided.
-
-g_get_running_KV() {
- uname -r
- return $?
-}
-
-g_KV_major() {
- [[ -z $1 ]] && return 1
- local KV=$@
- echo "${KV%%.*}"
-}
-
-g_KV_minor() {
- [[ -z $1 ]] && return 1
- local KV=$@
- KV=${KV#*.}
- echo "${KV%%.*}"
-}
-
-g_KV_micro() {
- [[ -z $1 ]] && return 1
- local KV=$@
- KV=${KV#*.*.}
- echo "${KV%%[^[:digit:]]*}"
-}
-
-g_KV_to_int() {
- [[ -z $1 ]] && return 1
- local KV_MAJOR=$(g_KV_major "$1")
- local KV_MINOR=$(g_KV_minor "$1")
- local KV_MICRO=$(g_KV_micro "$1")
- local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO ))
-
- # We make version 2.2.0 the minimum version we will handle as
- # a sanity check ... if its less, we fail ...
- if [[ ${KV_int} -ge 131584 ]] ; then
- echo "${KV_int}"
- return 0
- fi
- return 1
-}
-
-g_int_to_KV() {
- local version=$1 major minor micro
- major=$((version / 65536))
- minor=$(((version % 65536) / 256))
- micro=$((version % 256))
- echo ${major}.${minor}.${micro}
-}
-
-eend_KV() {
- [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]]
- eend $?
-}
-
-get_kheader_version() {
- printf '#include <linux/version.h>\nLINUX_VERSION_CODE\n' | \
- $(tc-getCPP ${CTARGET}) -I "$(build_eprefix)$(alt_build_headers)" - | \
- tail -n 1
-}
-
-# We collect all sanity checks here. Consistency is not guranteed between
-# pkg_ and src_ phases, so we call this function both in pkg_pretend and in
-# src_unpack.
-sanity_prechecks() {
- # Prevent native builds from downgrading
- if [[ ${MERGE_TYPE} != "buildonly" ]] && \
- [[ -z ${ROOT} ]] && \
- [[ ${CBUILD} == ${CHOST} ]] && \
- [[ ${CHOST} == ${CTARGET} ]] ; then
-
- # The high rev # is to allow people to downgrade between -r#
- # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2
- # should be fine. Hopefully we never actually use a r# this
- # high.
- if has_version ">${CATEGORY}/${P}-r10000" ; then
- eerror "Sanity check to keep you from breaking your system:"
- eerror " Downgrading glibc is not supported and a sure way to destruction."
- [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system."
- fi
-
- if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then
- eerror "Your old kernel is broken. You need to update it to a newer"
- eerror "version as syscall(<bignum>) will break. See bug 279260."
- die "Old and broken kernel."
- fi
- fi
-
- if [[ ${CTARGET} == i386-* ]] ; then
- eerror "i386 CHOSTs are no longer supported."
- eerror "Chances are you don't actually want/need i386."
- eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml"
- die "Please fix your CHOST"
- fi
-
- if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then
- ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS."
- ewarn "This will result in a 50% performance penalty when running with a 32bit"
- ewarn "hypervisor, which is probably not what you want."
- fi
-
- # ABI-specific checks follow here. Hey, we have a lot more specific conditions that
- # we test for...
- if ! is_crosscompile ; then
- if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then
- ebegin "Checking that IA32 emulation is enabled in the running kernel"
- echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c"
- local STAT
- if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then
- "${T}/check-ia32-emulation.elf32"
- STAT=$?
- else
- # Don't fail here to allow single->multi ABI switch
- # or recover from breakage like bug #646424
- ewarn "Failed to compile the ABI test. Broken host glibc?"
- STAT=0
- fi
- rm -f "${T}/check-ia32-emulation.elf32"
- eend $STAT
- [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc."
- fi
-
- fi
-
- # When we actually have to compile something...
- if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then
- if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then
- # bug #833620, bug #643302
- eerror "Found ${ESYSROOT}/usr/lib/include directory!"
- eerror "This is known to break glibc's build."
- eerror "Please backup its contents then remove the directory."
- die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!"
- fi
-
- if [[ ${CTARGET} == *-linux* ]] ; then
- local run_kv build_kv want_kv
-
- run_kv=$(g_get_running_KV)
- build_kv=$(g_int_to_KV $(get_kheader_version))
- want_kv=${MIN_KERN_VER}
-
- if ! is_crosscompile && ! tc-is-cross-compiler ; then
- # Building fails on an non-supporting kernel
- ebegin "Checking running kernel version (${run_kv} >= ${want_kv})"
- if ! eend_KV ${run_kv} ${want_kv} ; then
- echo
- eerror "You need a kernel of at least ${want_kv}!"
- die "Kernel version too low!"
- fi
- fi
-
- # Do not run this check for pkg_pretend, just pkg_setup and friends (if we ever get used there).
- # It's plausible (seen it in the wild) that Portage will (correctly) schedule a linux-headers
- # upgrade before glibc, but because pkg_pretend gets run before any packages are merged at all (not
- # just glibc), the whole emerge gets aborted without a good reason. We probably don't
- # need to run this check at all given we have a dependency on the right headers,
- # but let's leave it as-is for now.
- if [[ ${EBUILD_PHASE_FUNC} != pkg_pretend ]] ; then
- ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})"
- if ! eend_KV ${build_kv} ${want_kv} ; then
- echo
- eerror "You need linux-headers of at least ${want_kv}!"
- die "linux-headers version too low!"
- fi
- fi
- fi
- fi
-}
-
-upgrade_warning() {
- is_crosscompile && return
-
- if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then
- local oldv newv=$(ver_cut 1-2 ${PV})
- for oldv in ${REPLACING_VERSIONS}; do
- if ver_test ${oldv} -lt ${newv}; then
- ewarn "After upgrading glibc, please restart all running processes."
- ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)."
- ewarn "Alternatively, reboot your system."
- ewarn "(See bug #660556, bug #741116, bug #823756, etc)"
- break
- fi
- done
- fi
-}
-
-#
-# the phases
-#
-
-# pkg_pretend
-
-pkg_pretend() {
- upgrade_warning
-}
-
-# pkg_setup
-
-pkg_setup() {
- # see bug 682570
- [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup
-}
-
-# src_unpack
-
-src_unpack() {
- setup_env
-
- einfo "Checking general environment sanity."
- sanity_prechecks
-
- use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz
-
- if [[ ${PV} == 9999* ]] ; then
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git"
- EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
- git-r3_src_unpack
- mv patches-git/9999 patches || die
-
- EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
- EGIT_CHECKOUT_DIR=${S}
- git-r3_src_unpack
- else
- unpack ${P}.tar.xz
-
- cd "${WORKDIR}" || die
- unpack glibc-${PV}-patches-${PATCH_VER}.tar.xz
- fi
-
- cd "${WORKDIR}" || die
- use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz
-}
-
-# src_prepare
-
-src_prepare() {
- local patchsetname
- if ! use vanilla ; then
- if [[ ${PV} == 9999* ]] ; then
- patchsetname="from git master"
- else
- patchsetname="${PV}-${PATCH_VER}"
- fi
- einfo "Applying Gentoo Glibc patchset ${patchsetname}"
- eapply "${WORKDIR}"/patches
- einfo "Done."
- fi
-
- default
-
- gnuconfig_update
-
- cd "${WORKDIR}" || die
- find . -name configure -exec touch {} +
-
- # Fix permissions on some of the scripts.
- chmod u+x "${S}"/scripts/*.sh
-
- cd "${S}" || die
-}
-
-# src_configure
-
-glibc_do_configure() {
- dump_build_environment
-
- local myconf=()
-
- # Use '=strong' instead of '=all' to protect only functions
- # worth protecting from stack smashes.
- myconf+=( --enable-stack-protector=$(usex ssp strong no) )
-
- # Keep a whitelist of targets supporing IFUNC. glibc's ./configure
- # is not robust enough to detect proper support:
- # https://bugs.gentoo.org/641216
- # https://sourceware.org/PR22634#c0
- case $(tc-arch ${CTARGET}) in
- # Keep whitelist of targets where autodetection mostly works.
- amd64|x86|sparc|ppc|ppc64|arm|arm64|s390|riscv|loong) ;;
- # Blacklist everywhere else
- *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;;
- esac
-
- # Enable Intel Control-flow Enforcement Technology on amd64 if requested
- case ${CTARGET} in
- x86_64-*) myconf+=( $(use_enable cet) ) ;;
- *) ;;
- esac
-
- [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp )
-
- myconf+=( --enable-kernel=${MIN_KERN_VER} )
-
- # Since SELinux support is only required for nscd, only enable it if:
- # 1. USE selinux
- # 2. only for the primary ABI on multilib systems
- # 3. Not a crosscompile
- if ! is_crosscompile && use selinux ; then
- if use multilib ; then
- if is_final_abi ; then
- myconf+=( --with-selinux )
- else
- myconf+=( --without-selinux )
- fi
- else
- myconf+=( --with-selinux )
- fi
- else
- myconf+=( --without-selinux )
- fi
-
- # Force a few tests where we always know the answer but
- # configure is incapable of finding it.
- if is_crosscompile ; then
- export \
- libc_cv_c_cleanup=yes \
- libc_cv_forced_unwind=yes
- fi
-
- myconf+=(
- --disable-werror
- --enable-bind-now
- --build=${CBUILD_OPT:-${CBUILD}}
- --host=${CTARGET_OPT:-${CTARGET}}
- $(use_enable profile)
- $(use_with gd)
- --with-headers=$(build_eprefix)$(alt_build_headers)
- --prefix="$(host_eprefix)/usr"
- --sysconfdir="$(host_eprefix)/etc"
- --localstatedir="$(host_eprefix)/var"
- --libdir='$(prefix)'/$(get_libdir)
- --mandir='$(prefix)'/share/man
- --infodir='$(prefix)'/share/info
- --libexecdir='$(libdir)'/misc/glibc
- --with-bugurl=https://bugs.gentoo.org/
- --with-pkgversion="$(glibc_banner)"
- $(use_enable crypt)
- $(use_multiarch || echo --disable-multi-arch)
- $(use_enable systemtap)
- $(use_enable nscd)
-
- # /usr/bin/mtrace has a Perl shebang. Gentoo Prefix QA checks fail if
- # Perl hasn't been installed inside the prefix yet and configure picks
- # up a Perl from outside the prefix instead. configure will fail to
- # execute Perl during configure if we're cross-compiling a prefix, but
- # it will just disable mtrace in that case.
- # Note: mtrace is needed by the test suite.
- ac_cv_path_PERL="$(usex perl "${EPREFIX}"/usr/bin/perl $(usex test "${EPREFIX}"/usr/bin/perl $(usex doc "${EPREFIX}"/usr/bin/perl no)))"
-
- # locale data is arch-independent
- # https://bugs.gentoo.org/753740
- libc_cv_complocaledir='${exec_prefix}/lib/locale'
-
- # -march= option tricks build system to infer too
- # high ISA level: https://sourceware.org/PR27318
- libc_cv_include_x86_isa_level=no
-
- # Explicit override of https://sourceware.org/PR27991
- # exposes a bug in glibc's configure:
- # https://sourceware.org/PR27991
- libc_cv_have_x86_lahf_sahf=no
- libc_cv_have_x86_movbe=no
-
- ${EXTRA_ECONF}
- )
-
- # We rely on sys-libs/timezone-data for timezone tools normally.
- myconf+=( $(use_enable vanilla timezone-tools) )
-
- # These libs don't have configure flags.
- ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no)
- ac_cv_lib_cap_cap_init=$(usex caps || echo no)
-
- # There is no configure option for this and we need to export it
- # since the glibc build will re-run configure on itself
- export libc_cv_rootsbindir="$(host_eprefix)/sbin"
- export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)"
-
- local builddir=$(builddir nptl)
- mkdir -p "${builddir}"
- cd "${builddir}"
- set -- "${S}"/configure "${myconf[@]}"
- echo "$@"
- "$@" || die "failed to configure glibc"
-
- # ia64 static cross-compilers are a pita in so much that they
- # can't produce static ELFs (as the libgcc.a is broken). so
- # disable building of the programs for those targets if it
- # doesn't work.
- # XXX: We could turn this into a compiler test, but ia64 is
- # the only one that matters, so this should be fine for now.
- if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then
- sed -i '1i+link-static = touch $@' config.make
- fi
-
- # If we're trying to migrate between ABI sets, we need
- # to lie and use a local copy of gcc. Like if the system
- # is built with MULTILIB_ABIS="amd64 x86" but we want to
- # add x32 to it, gcc/glibc don't yet support x32.
- #
- if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib-bootstrap ; then
- echo 'main(){}' > "${T}"/test.c
- if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then
- sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die
- fi
- fi
-}
-
-glibc_headers_configure() {
- export ABI=default
-
- local builddir=$(builddir "headers")
- mkdir -p "${builddir}"
- cd "${builddir}"
-
- # if we don't have a compiler yet, we can't really test it now ...
- # hopefully they don't affect header generation, so let's hope for
- # the best here ...
- local v vars=(
- ac_cv_header_cpuid_h=yes
- libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes
- libc_cv_asm_cfi_directives=yes
- libc_cv_broken_visibility_attribute=no
- libc_cv_c_cleanup=yes
- libc_cv_compiler_powerpc64le_binary128_ok=yes
- libc_cv_forced_unwind=yes
- libc_cv_gcc___thread=yes
- libc_cv_mlong_double_128=yes
- libc_cv_mlong_double_128ibm=yes
- libc_cv_ppc_machine=yes
- libc_cv_ppc_rel16=yes
- libc_cv_predef_fortify_source=no
- libc_cv_target_power8_ok=yes
- libc_cv_visibility_attribute=yes
- libc_cv_z_combreloc=yes
- libc_cv_z_execstack=yes
- libc_cv_z_initfirst=yes
- libc_cv_z_nodelete=yes
- libc_cv_z_nodlopen=yes
- libc_cv_z_relro=yes
- libc_mips_abi=${ABI}
- libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard)
- # These libs don't have configure flags.
- ac_cv_lib_audit_audit_log_user_avc_message=no
- ac_cv_lib_cap_cap_init=no
- )
-
- einfo "Forcing cached settings:"
- for v in "${vars[@]}" ; do
- einfo " ${v}"
- export ${v}
- done
-
- local headers_only_arch_CPPFLAGS=()
-
- # Blow away some random CC settings that screw things up. #550192
- if [[ -d ${S}/sysdeps/mips ]]; then
- pushd "${S}"/sysdeps/mips >/dev/null
- sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die
- sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die
-
- # Force the mips ABI to the default. This is OK because the set of
- # installed headers in this phase is the same between the 3 ABIs.
- # If this ever changes, this hack will break, but that's unlikely
- # as glibc discourages that behavior.
- # https://crbug.com/647033
- sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die
-
- popd >/dev/null
- fi
-
- case ${CTARGET} in
- riscv*)
- # RISC-V interrogates the compiler to determine which target to
- # build. If building the headers then we don't strictly need a
- # RISC-V compiler, so the built-in definitions that are provided
- # along with all RISC-V compiler might not exist. This causes
- # glibc's RISC-V preconfigure script to blow up. Since we're just
- # building the headers any value will actually work here, so just
- # pick the standard one (rv64g/lp64d) to make the build scripts
- # happy for now -- the headers are all the same anyway so it
- # doesn't matter.
- headers_only_arch_CPPFLAGS+=(
- -D__riscv_xlen=64
- -D__riscv_flen=64
- -D__riscv_float_abi_double=1
- -D__riscv_atomic=1
- ) ;;
- esac
-
- local myconf=()
- myconf+=(
- --disable-sanity-checks
- --enable-hacker-mode
- --disable-werror
- --enable-bind-now
- --build=${CBUILD_OPT:-${CBUILD}}
- --host=${CTARGET_OPT:-${CTARGET}}
- --with-headers=$(build_eprefix)$(alt_build_headers)
- --prefix="$(host_eprefix)/usr"
- $(use_enable crypt)
- ${EXTRA_ECONF}
- )
-
- # Nothing is compiled here which would affect the headers for the target.
- # So forcing CC/CFLAGS is sane.
- local headers_only_CC=$(tc-getBUILD_CC)
- local headers_only_CFLAGS="-O1 -pipe"
- local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}"
- local headers_only_LDFLAGS=""
- set -- "${S}"/configure "${myconf[@]}"
- echo \
- "CC=${headers_only_CC}" \
- "CFLAGS=${headers_only_CFLAGS}" \
- "CPPFLAGS=${headers_only_CPPFLAGS}" \
- "LDFLAGS=${headers_only_LDFLAGS}" \
- "$@"
- CC=${headers_only_CC} \
- CFLAGS=${headers_only_CFLAGS} \
- CPPFLAGS=${headers_only_CPPFLAGS} \
- LDFLAGS="" \
- "$@" || die "failed to configure glibc"
-}
-
-do_src_configure() {
- if just_headers ; then
- glibc_headers_configure
- else
- glibc_do_configure nptl
- fi
-}
-
-src_configure() {
- foreach_abi do_src_configure
-}
-
-# src_compile
-
-do_src_compile() {
- emake -C "$(builddir nptl)"
-}
-
-src_compile() {
- if just_headers ; then
- return
- fi
-
- foreach_abi do_src_compile
-}
-
-# src_test
-
-glibc_src_test() {
- cd "$(builddir nptl)"
-
- local myxfailparams=""
- if [[ "${GENTOO_GLIBC_XFAIL_TESTS}" == "yes" ]] ; then
- local virt=$(systemd-detect-virt 2>/dev/null)
- if [[ ${virt} == systemd-nspawn ]] ; then
- ewarn "Skipping extra tests because in systemd-nspawn container"
- XFAIL_TEST_LIST+=( "${XFAIL_NSPAWN_TEST_LIST[@]}" )
- fi
-
- for myt in ${XFAIL_TEST_LIST[@]} ; do
- myxfailparams+="test-xfail-${myt}=yes "
- done
- fi
-
- # sandbox does not understand unshare() and prevents
- # writes to /proc/, which makes many tests fail
-
- # we give the tests a bit more time to avoid spurious
- # bug reports on slow arches
-
- SANDBOX_ON=0 LD_PRELOAD= TIMEOUTFACTOR=16 emake ${myxfailparams} check
-}
-
-src_test() {
- if just_headers ; then
- return
- fi
-
- foreach_abi glibc_src_test || die "tests failed"
-}
-
-# src_install
-
-run_locale_gen() {
- # if the host locales.gen contains no entries, we'll install everything
- local root="$1"
- local inplace=""
-
- if [[ "${root}" == "--inplace-glibc" ]] ; then
- inplace="--inplace-glibc"
- root="$2"
- fi
-
- local locale_list="${root%/}/etc/locale.gen"
-
- pushd "${ED}"/$(get_libdir) >/dev/null
-
- if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
- [[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
- locale_list="${root%/}/usr/share/i18n/SUPPORTED"
- fi
-
- # bug 736794: we need to be careful with the parallelization... the number of
- # processors saved in the environment of a binary package may differ strongly
- # from the number of processes available during postinst
- local mygenjobs="$(makeopts_jobs)"
- if [[ "${EMERGE_FROM}" == "binary" ]] ; then
- mygenjobs="$(nproc)"
- fi
-
- set -- locale-gen ${inplace} --jobs "${mygenjobs}" --config "${locale_list}" \
- --destdir "${root}"
- echo "$@"
- "$@"
-
- popd >/dev/null
-}
-
-glibc_do_src_install() {
- local builddir=$(builddir nptl)
- cd "${builddir}"
-
- emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install
-
- # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support
- # which come without headers etc. Only needed for binary packages since the
- # external net-libs/libnsl has increased soversion. Keep only versioned libraries.
- find "${D}" -name "libnsl.a" -delete
- find "${D}" -name "libnsl.so" -delete
-
- # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need
- # to infer upstream version:
- # '#define VERSION "2.26.90"' -> '2.26.90'
- local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h)
-
- # Avoid stripping binaries not targeted by ${CHOST}. Or else
- # ${CHOST}-strip would break binaries build for ${CTARGET}.
- is_crosscompile && dostrip -x /
-
- # gdb thread introspection relies on local libpthreads symbols. stripping breaks it
- # See Note [Disable automatic stripping]
- dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so
-
- if [[ -e ${ED}/$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then
- # Move versioned .a file out of libdir to evade portage QA checks
- # instead of using gen_usr_ldscript(). We fix ldscript as:
- # "GROUP ( /usr/lib64/libm-<pv>.a ..." -> "GROUP ( /usr/lib64/glibc-<pv>/libm-<pv>.a ..."
- sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" "${ED}"/$(alt_usrlibdir)/libm.a || die
- dodir $(alt_usrlibdir)/${P}
- mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a "${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die
- fi
-
- # We configure toolchains for standalone prefix systems with a sysroot,
- # which is prepended to paths in ld scripts, so strip the prefix from these.
- # Before: GROUP ( /foo/lib64/libc.so.6 /foo/usr/lib64/libc_nonshared.a AS_NEEDED ( /foo/lib64/ld-linux-x86-64.so.2 ) )
- # After: GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) )
- if [[ -n $(host_eprefix) ]] ; then
- local file
- grep -lZIF "ld script" "${ED}/$(alt_usrlibdir)"/lib*.{a,so} 2>/dev/null | while read -rd '' file ; do
- sed -i "s|$(host_eprefix)/|/|g" "${file}" || die
- done
- fi
-
- # We'll take care of the cache ourselves
- rm -f "${ED}"/etc/ld.so.cache
-
- # Everything past this point just needs to be done once ...
- is_final_abi || return 0
-
- # Make sure the non-native interp can be found on multilib systems even
- # if the main library set isn't installed into the right place. Maybe
- # we should query the active gcc for info instead of hardcoding it ?
- local i ldso_abi ldso_name
- local ldso_abi_list=(
- # x86
- amd64 /lib64/ld-linux-x86-64.so.2
- x32 /libx32/ld-linux-x32.so.2
- x86 /lib/ld-linux.so.2
- # mips
- o32 /lib/ld.so.1
- n32 /lib32/ld.so.1
- n64 /lib64/ld.so.1
- # powerpc
- ppc /lib/ld.so.1
- # riscv
- ilp32d /lib/ld-linux-riscv32-ilp32d.so.1
- ilp32 /lib/ld-linux-riscv32-ilp32.so.1
- lp64d /lib/ld-linux-riscv64-lp64d.so.1
- lp64 /lib/ld-linux-riscv64-lp64.so.1
- # s390
- s390 /lib/ld.so.1
- s390x /lib/ld64.so.1
- # sparc
- sparc32 /lib/ld-linux.so.2
- sparc64 /lib64/ld-linux.so.2
- )
- case $(tc-endian) in
- little)
- ldso_abi_list+=(
- # arm
- arm64 /lib/ld-linux-aarch64.so.1
- # ELFv2 (glibc does not support ELFv1 on LE)
- ppc64 /lib64/ld64.so.2
- )
- ;;
- big)
- ldso_abi_list+=(
- # arm
- arm64 /lib/ld-linux-aarch64_be.so.1
- # ELFv1 (glibc does not support ELFv2 on BE)
- ppc64 /lib64/ld64.so.1
- )
- ;;
- esac
- if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then
- dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib
- fi
- for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do
- ldso_abi=${ldso_abi_list[i]}
- has ${ldso_abi} $(get_install_abis) || continue
-
- ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}"
- if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then
- dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name}
- fi
- done
-
- # In the LSB 5.0 definition, someone had the excellent idea to "standardize"
- # the runtime loader name, see also https://xkcd.com/927/
- # Normally, in Gentoo one should never come across executables that require this.
- # However, binary commercial packages are known to adhere to weird practices.
- # https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-AMD64/LSB-Core-AMD64.html#BASELIB
- local lsb_ldso_name native_ldso_name lsb_ldso_abi
- local lsb_ldso_abi_list=(
- # x86
- amd64 ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3
- )
- for (( i = 0; i < ${#lsb_ldso_abi_list[@]}; i += 3 )) ; do
- lsb_ldso_abi=${lsb_ldso_abi_list[i]}
- native_ldso_name=${lsb_ldso_abi_list[i+1]}
- lsb_ldso_name=${lsb_ldso_abi_list[i+2]}
- has ${lsb_ldso_abi} $(get_install_abis) || continue
-
- if [[ ! -L ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} && ! -e ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} ]] ; then
- dosym ${native_ldso_name} "$(alt_prefix)/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name}"
- fi
- done
-
- # With devpts under Linux mounted properly, we do not need the pt_chown
- # binary to be setuid. This is because the default owners/perms will be
- # exactly what we want.
- if ! use suid ; then
- find "${ED}" -name pt_chown -exec chmod -s {} +
- fi
-
- #################################################################
- # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY #
- #################################################################
-
- # Make sure we install some symlink hacks so that when we build
- # a 2nd stage cross-compiler, gcc finds the target system
- # headers correctly. See gcc/doc/gccinstall.info
- if is_crosscompile ; then
- # We need to make sure that /lib and /usr/lib always exists.
- # gcc likes to use relative paths to get to its multilibs like
- # /usr/lib/../lib64/. So while we don't install any files into
- # /usr/lib/, we do need it to exist.
- keepdir $(alt_prefix)/lib
- keepdir $(alt_prefix)/usr/lib
-
- dosym usr/include $(alt_prefix)/sys-include
- return 0
- fi
-
- # Files for Debian-style locale updating
- dodir /usr/share/i18n
- sed \
- -e "/^#/d" \
- -e "/SUPPORTED-LOCALES=/d" \
- -e "s: \\\\::g" -e "s:/: :g" \
- "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \
- || die "generating /usr/share/i18n/SUPPORTED failed"
-
- cd "${S}" || die
-
- # Install misc network config files
- insinto /etc
- doins posix/gai.conf
-
- if use systemd ; then
- doins "${WORKDIR}/glibc-systemd-${GLIBC_SYSTEMD_VER}/gentoo-config/nsswitch.conf"
- else
- doins nss/nsswitch.conf
- fi
-
- # Gentoo-specific
- newins "${FILESDIR}"/host.conf-1 host.conf
-
- if use nscd ; then
- doins nscd/nscd.conf
-
- newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd
-
- local nscd_args=(
- -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):"
- )
-
- sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd
-
- use systemd && systemd_dounit nscd/nscd.service
- newtmpfiles nscd/nscd.tmpfiles nscd.conf
- fi
-
- echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc
- doenvd "${T}"/00glibc
-
- for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do
- [[ -s ${d} ]] && dodoc ${d}
- done
- dodoc -r ChangeLog.old
-
- # Prevent overwriting of the /etc/localtime symlink. We'll handle the
- # creation of the "factory" symlink in pkg_postinst().
- rm -f "${ED}"/etc/localtime
-
- # Generate all locales if this is a native build as locale generation
- if use compile-locales && ! is_crosscompile ; then
- run_locale_gen --inplace-glibc "${ED}/"
- fi
-}
-
-glibc_headers_install() {
- local builddir=$(builddir "headers")
- cd "${builddir}"
- emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers
-
- insinto $(alt_headers)/gnu
- doins "${S}"/include/gnu/stubs.h
-
- # Make sure we install the sys-include symlink so that when
- # we build a 2nd stage cross-compiler, gcc finds the target
- # system headers correctly. See gcc/doc/gccinstall.info
- dosym usr/include $(alt_prefix)/sys-include
-}
-
-src_install() {
- if just_headers ; then
- export ABI=default
- glibc_headers_install
- return
- fi
-
- foreach_abi glibc_do_src_install
-
- if ! use static-libs ; then
- einfo "Not installing static glibc libraries"
- find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete
- fi
-}
-
-# Simple test to make sure our new glibc isn't completely broken.
-# Make sure we don't test with statically built binaries since
-# they will fail. Also, skip if this glibc is a cross compiler.
-#
-# If coreutils is built with USE=multicall, some of these files
-# will just be wrapper scripts, not actual ELFs we can test.
-glibc_sanity_check() {
- cd / #228809
-
- # We enter ${ED} so to avoid trouble if the path contains
- # special characters; for instance if the path contains the
- # colon character (:), then the linker will try to split it
- # and look for the libraries in an unexpected place. This can
- # lead to unsafe code execution if the generated prefix is
- # within a world-writable directory.
- # (e.g. /var/tmp/portage:${HOSTNAME})
- pushd "${ED}"/$(get_libdir) >/dev/null
-
- # first let's find the actual dynamic linker here
- # symlinks may point to the wrong abi
- local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit)
-
- einfo Last-minute run tests with ${newldso} in /$(get_libdir) ...
-
- local x striptest
- for x in cal date env free ls true uname uptime ; do
- x=$(type -p ${x})
- [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue
- striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue
- case ${striptest} in
- *"statically linked"*) continue;;
- *"ASCII text"*) continue;;
- esac
- # We need to clear the locale settings as the upgrade might want
- # incompatible locale data. This test is not for verifying that.
- LC_ALL=C \
- ${newldso} --library-path . ${x} > /dev/null \
- || die "simple run test (${x}) failed"
- done
-
- popd >/dev/null
-}
-
-pkg_preinst() {
- # nothing to do if just installing headers
- just_headers && return
-
- einfo "Checking general environment sanity."
- sanity_prechecks
-
- # prepare /etc/ld.so.conf.d/ for files
- mkdir -p "${EROOT}"/etc/ld.so.conf.d
-
- # Default /etc/hosts.conf:multi to on for systems with small dbs.
- if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then
- sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf
- einfo "Defaulting /etc/host.conf:multi to on"
- fi
-
- [[ -n ${ROOT} ]] && return 0
- [[ -d ${ED}/$(get_libdir) ]] || return 0
- [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check
-
- if [[ -L ${EROOT}/usr/lib/locale ]]; then
- # Help portage migrate this to a directory
- # https://bugs.gentoo.org/753740
- rm "${EROOT}"/usr/lib/locale || die
- fi
-
- # Keep around libcrypt so that Perl doesn't break when merging libxcrypt
- # (libxcrypt is the new provider for now of libcrypt.so.{1,2}).
- # bug #802207
- if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then
- PRESERVED_OLD_LIBCRYPT=1
- cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" "${T}/libcrypt$(get_libname 1)" || die
- else
- PRESERVED_OLD_LIBCRYPT=0
- fi
-}
-
-pkg_postinst() {
- # nothing to do if just installing headers
- just_headers && return
-
- if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then
- # Generate fastloading iconv module configuration file.
- "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}/"
- fi
-
- if ! is_crosscompile && [[ -z ${ROOT} ]] ; then
- use compile-locales || run_locale_gen "${EROOT}/"
- fi
-
- upgrade_warning
-
- # Check for sanity of /etc/nsswitch.conf, take 2
- if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then
- local entry
- for entry in passwd group shadow; do
- if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then
- ewarn ""
- ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been"
- ewarn "removed from glibc and is now provided by the package"
- ewarn " sys-auth/libnss-nis"
- ewarn "Install it now to keep your NIS setup working."
- ewarn ""
- fi
- done
- fi
-
- if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then
- cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die
- preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1)
-
- elog "Please ignore a possible later error message about a file collision involving"
- elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep"
- elog "the upgrade working, but it also needs to be overwritten when"
- elog "sys-libs/libxcrypt is installed. See bug 802210 for more details."
- fi
-}
diff --git a/sys-libs/glibc/glibc-2.37-r7.ebuild b/sys-libs/glibc/glibc-2.37-r7.ebuild
index e461d37b5546..40cdf40913db 100644
--- a/sys-libs/glibc/glibc-2.37-r7.ebuild
+++ b/sys-libs/glibc/glibc-2.37-r7.ebuild
@@ -39,7 +39,7 @@ MIN_PAX_UTILS_VER="1.3.3"
if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86"
SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
fi
diff --git a/sys-libs/glibc/glibc-2.38-r2.ebuild b/sys-libs/glibc/glibc-2.38-r2.ebuild
deleted file mode 100644
index 8af1710c2a35..000000000000
--- a/sys-libs/glibc/glibc-2.38-r2.ebuild
+++ /dev/null
@@ -1,1680 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc
-# Please read & adapt the page as necessary if obsolete.
-
-PYTHON_COMPAT=( python3_{9..12} )
-TMPFILES_OPTIONAL=1
-
-inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \
- multilib systemd multiprocessing tmpfiles
-
-DESCRIPTION="GNU libc C library"
-HOMEPAGE="https://www.gnu.org/software/libc/"
-LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
-SLOT="2.2"
-
-EMULTILIB_PKG="true"
-
-# Gentoo patchset (ignored for live ebuilds)
-PATCH_VER=3
-PATCH_DEV=dilfridge
-
-# gcc mulitilib bootstrap files version
-GCC_BOOTSTRAP_VER=20201208
-
-# systemd integration version
-GLIBC_SYSTEMD_VER=20210729
-
-# Minimum kernel version that glibc requires
-MIN_KERN_VER="3.2.0"
-
-# Minimum pax-utils version needed (which contains any new syscall changes for
-# its seccomp filter!). Please double check this!
-MIN_PAX_UTILS_VER="1.3.3"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
-else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
- SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
-fi
-
-SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
-SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )"
-
-IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla"
-
-# Here's how the cross-compile logic breaks down ...
-# CTARGET - machine that will target the binaries
-# CHOST - machine that will host the binaries
-# CBUILD - machine that will build the binaries
-# If CTARGET != CHOST, it means you want a libc for cross-compiling.
-# If CHOST != CBUILD, it means you want to cross-compile the libc.
-# CBUILD = CHOST = CTARGET - native build/install
-# CBUILD != (CHOST = CTARGET) - cross-compile a native build
-# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
-# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
-# For install paths:
-# CHOST = CTARGET - install into /
-# CHOST != CTARGET - install into /usr/CTARGET/
-#
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-# Note [Disable automatic stripping]
-# Disabling automatic stripping for a few reasons:
-# - portage's attempt to strip breaks non-native binaries at least on
-# arm: bug #697428
-# - portage's attempt to strip libpthread.so.0 breaks gdb thread
-# enumeration: bug #697910. This is quite subtle:
-# * gdb uses glibc's libthread_db-1.0.so to enumerate threads.
-# * libthread_db-1.0.so needs access to libpthread.so.0 local symbols
-# via 'ps_pglobal_lookup' symbol defined in gdb.
-# * 'ps_pglobal_lookup' uses '.symtab' section table to resolve all
-# known symbols in 'libpthread.so.0'. Specifically 'nptl_version'
-# (unexported) is used to sanity check compatibility before enabling
-# debugging.
-# Also see https://sourceware.org/gdb/wiki/FAQ#GDB_does_not_see_any_threads_besides_the_one_in_which_crash_occurred.3B_or_SIGTRAP_kills_my_program_when_I_set_a_breakpoint
-# * normal 'strip' command trims '.symtab'
-# Thus our main goal here is to prevent 'libpthread.so.0' from
-# losing it's '.symtab' entries.
-# As Gentoo's strip does not allow us to pass less aggressive stripping
-# options and does not check the machine target we strip selectively.
-
-# We need a new-enough binutils/gcc to match upstream baseline.
-# Also we need to make sure our binutils/gcc supports TLS,
-# and that gcc already contains the hardened patches.
-# Lastly, let's avoid some openssh nastiness, bug 708224, as
-# convenience to our users.
-
-IDEPEND="
- !compile-locales? ( sys-apps/locale-gen )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=app-misc/pax-utils-${MIN_PAX_UTILS_VER}
- sys-devel/bison
- compile-locales? ( sys-apps/locale-gen )
- doc? (
- dev-lang/perl
- sys-apps/texinfo
- )
- test? (
- dev-lang/perl
- >=net-dns/libidn2-2.3.0
- )
-"
-COMMON_DEPEND="
- gd? ( media-libs/gd:2= )
- nscd? ( selinux? (
- audit? ( sys-process/audit )
- caps? ( sys-libs/libcap )
- ) )
- suid? ( caps? ( sys-libs/libcap ) )
- selinux? ( sys-libs/libselinux )
- systemtap? ( dev-util/systemtap )
-"
-DEPEND="${COMMON_DEPEND}
-"
-RDEPEND="${COMMON_DEPEND}
- !<app-misc/pax-utils-${MIN_PAX_UTILS_VER}
- perl? ( dev-lang/perl )
-"
-
-RESTRICT="!test? ( test )"
-
-if [[ ${CATEGORY} == cross-* ]] ; then
- BDEPEND+=" !headers-only? (
- >=${CATEGORY}/binutils-2.27
- >=${CATEGORY}/gcc-6.2
- )"
- [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
-else
- BDEPEND+="
- >=sys-devel/binutils-2.27
- >=sys-devel/gcc-6.2
- "
- DEPEND+=" virtual/os-headers "
- RDEPEND+="
- >=net-dns/libidn2-2.3.0
- vanilla? ( !sys-libs/timezone-data )
- "
- PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
-fi
-
-# Ignore tests whitelisted below
-GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}"
-
-# The following tests fail due to the Gentoo build system and are thus
-# executed but ignored:
-XFAIL_TEST_LIST=(
- # buggy test, assumes /dev/ and /dev/null on a single filesystem
- # 'mount --bind /dev/null /chroot/dev/null' breaks it.
- # https://sourceware.org/PR25909
- tst-support_descriptors
-
- # The following tests fail only inside portage
- # https://bugs.gentoo.org/831267
- tst-system
- tst-strerror
- tst-strsignal
-)
-
-XFAIL_NSPAWN_TEST_LIST=(
- # These tests need to be adapted to handle EPERM/ENOSYS(?) properly
- # upstream, as systemd-nspawn's default seccomp whitelist is too strict.
- # https://sourceware.org/PR30603
- test-errno-linux
- tst-bz21269
- tst-mlock2
- tst-ntp_gettime
- tst-ntp_gettime-time64
- tst-ntp_gettimex
- tst-ntp_gettimex-time64
- tst-pkey
- tst-process_mrelease
- tst-adjtime
- tst-adjtime-time64
- tst-clock2
- tst-clock2-time64
-
- # These fail if --suppress-sync and/or low priority is set
- tst-sync_file_range
- tst-sched1
- test-errno
-)
-
-#
-# Small helper functions
-#
-
-dump_build_environment() {
- einfo ==== glibc build environment ========================================================
- local v
- for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX CPP LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do
- einfo " $(printf '%15s' ${v}:) ${!v}"
- done
- einfo =====================================================================================
-}
-
-is_crosscompile() {
- [[ ${CHOST} != ${CTARGET} ]]
-}
-
-just_headers() {
- is_crosscompile && use headers-only
-}
-
-alt_prefix() {
- is_crosscompile && echo /usr/${CTARGET}
-}
-
-# This prefix is applicable to CHOST when building against this
-# glibc. It is baked into the library at configure time.
-host_eprefix() {
- is_crosscompile || echo "${EPREFIX}"
-}
-
-# This prefix is applicable to CBUILD when building against this
-# glibc. It determines the destination path at install time.
-build_eprefix() {
- is_crosscompile && echo "${EPREFIX}"
-}
-
-# We need to be able to set alternative headers for compiling for non-native
-# platform. Will also become useful for testing kernel-headers without screwing
-# up the whole system.
-alt_headers() {
- echo ${ALT_HEADERS:=$(alt_prefix)/usr/include}
-}
-
-alt_build_headers() {
- if [[ -z ${ALT_BUILD_HEADERS} ]] ; then
- ALT_BUILD_HEADERS="$(host_eprefix)$(alt_headers)"
- if tc-is-cross-compiler ; then
- ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers)
- if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then
- local header_path=$(echo '#include <linux/version.h>' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h')
- ALT_BUILD_HEADERS=${header_path%/linux/version.h}
- fi
- fi
- fi
- echo "${ALT_BUILD_HEADERS}"
-}
-
-alt_libdir() {
- echo $(alt_prefix)/$(get_libdir)
-}
-alt_usrlibdir() {
- echo $(alt_prefix)/usr/$(get_libdir)
-}
-
-builddir() {
- echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1"
-}
-
-do_compile_test() {
- local ret save_cflags=${CFLAGS}
- CFLAGS+=" $1"
- shift
-
- pushd "${T}" >/dev/null
-
- rm -f glibc-test*
- printf '%b' "$*" > glibc-test.c
-
- # We assume CC is already set up.
- nonfatal emake glibc-test
- ret=$?
-
- popd >/dev/null
-
- CFLAGS=${save_cflags}
- return ${ret}
-}
-
-do_run_test() {
- local ret
-
- if [[ ${MERGE_TYPE} == "binary" ]] ; then
- # ignore build failures when installing a binary package #324685
- do_compile_test "" "$@" 2>/dev/null || return 0
- else
- if ! do_compile_test "" "$@" ; then
- ewarn "Simple build failed ... assuming this is desired #324685"
- return 0
- fi
- fi
-
- pushd "${T}" >/dev/null
-
- ./glibc-test
- ret=$?
- rm -f glibc-test*
-
- popd >/dev/null
-
- return ${ret}
-}
-
-setup_target_flags() {
- # This largely mucks with compiler flags. None of which should matter
- # when building up just the headers.
- just_headers && return 0
-
- case $(tc-arch) in
- x86)
- # -march needed for #185404 #199334
- # TODO: When creating the first glibc cross-compile, this test will
- # always fail as it does a full link which in turn requires glibc.
- # Probably also applies when changing multilib profile settings (e.g.
- # enabling x86 when the profile was amd64-only previously).
- # We could change main to _start and pass -nostdlib here so that we
- # only test the gcc code compilation. Or we could do a compile and
- # then look for the symbol via scanelf.
- if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then
- local t=${CTARGET_OPT:-${CTARGET}}
- t=${t%%-*}
- filter-flags '-march=*'
- export CFLAGS="-march=${t} ${CFLAGS}"
- einfo "Auto adding -march=${t} to CFLAGS #185404"
- fi
- # For compatibility with older binaries at slight performance cost.
- use stack-realign && export CFLAGS+=" -mstackrealign"
- ;;
- amd64)
- # -march needed for #185404 #199334
- # TODO: See cross-compile issues listed above for x86.
- if [[ ${ABI} == x86 ]]; then
- if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then
- local t=${CTARGET_OPT:-${CTARGET}}
- t=${t%%-*}
- # Normally the target is x86_64-xxx, so turn that into the -march that
- # gcc actually accepts. #528708
- [[ ${t} == "x86_64" ]] && t="x86-64"
- filter-flags '-march=*'
- # ugly, ugly, ugly. ugly.
- CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}")
- export CFLAGS_x86="${CFLAGS_x86} -march=${t}"
- einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})"
- fi
- # For compatibility with older binaries at slight performance cost.
- use stack-realign && export CFLAGS_x86+=" -mstackrealign"
-
- # Workaround for bug #823780.
- # Need to save/restore CC because earlier on, we stuff it full of CFLAGS, and tc-getCPP doesn't like that.
- CC_mangled=${CC}
- CC=${glibc__GLIBC_CC}
- if tc-is-gcc && (($(gcc-major-version) == 11)) && (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then
- export CFLAGS_x86="${CFLAGS_x86} -mno-avx512f"
- einfo "Auto adding -mno-avx512f to CFLAGS_x86 for buggy GCC version (bug #823780) (ABI=${ABI})"
- fi
- CC=${CC_mangled}
- fi
- ;;
- mips)
- # The mips abi cannot support the GNU style hashes. #233233
- filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
- ;;
- ppc|ppc64)
- # Many arch-specific implementations do not work on ppc with
- # cache-block not equal to 128 bytes. This breaks memset:
- # https://sourceware.org/PR26522
- # https://bugs.gentoo.org/737996
- # Use default -mcpu=. For ppc it means non-multiarch setup.
- filter-flags '-mcpu=*'
- ;;
- sparc)
- # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though.
- filter-flags "-fcall-used-g7"
- append-flags "-fcall-used-g6"
-
- local cpu
- case ${CTARGET} in
- sparc64-*)
- cpu="sparc64"
- case $(get-flag mcpu) in
- v9)
- # We need to force at least v9a because the base build doesn't
- # work with just v9.
- # https://sourceware.org/bugzilla/show_bug.cgi?id=19477
- append-flags "-Wa,-xarch=v9a"
- ;;
- esac
- ;;
- sparc-*)
- case $(get-flag mcpu) in
- v8|supersparc|hypersparc|leon|leon3)
- cpu="sparcv8"
- ;;
- *)
- cpu="sparcv9"
- ;;
- esac
- ;;
- esac
- [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}"
- ;;
- esac
-}
-
-setup_flags() {
- # Make sure host make.conf doesn't pollute us
- if is_crosscompile || tc-is-cross-compiler ; then
- CHOST=${CTARGET} strip-unsupported-flags
- fi
-
- # Store our CFLAGS because it's changed depending on which CTARGET
- # we are building when pulling glibc on a multilib profile
- CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}}
- CFLAGS=${CFLAGS_BASE}
- CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}}
- CXXFLAGS=${CXXFLAGS_BASE}
- ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}}
- ASFLAGS=${ASFLAGS_BASE}
-
- # Allow users to explicitly avoid flag sanitization via
- # USE=custom-cflags.
- if ! use custom-cflags; then
- # Over-zealous CFLAGS can often cause problems. What may work for one
- # person may not work for another. To avoid a large influx of bugs
- # relating to failed builds, we strip most CFLAGS out to ensure as few
- # problems as possible.
- strip-flags
- # Lock glibc at -O2; we want to be conservative here.
- filter-flags '-O?'
- append-flags -O2
- fi
-
- strip-unsupported-flags
- filter-lto
- filter-flags -m32 -m64 '-mabi=*'
-
- # glibc aborts if rpath is set by LDFLAGS
- filter-ldflags '-Wl,-rpath=*'
-
- # ld can't use -r & --relax at the same time, bug #788901
- # https://sourceware.org/PR27837
- filter-ldflags '-Wl,--relax'
-
- # Flag added for cross-prefix, but causes ldconfig to segfault. Not needed
- # anyway because glibc already handles this by itself.
- filter-ldflags '-Wl,--dynamic-linker=*'
-
- # some weird software relies on sysv hashes in glibc, bug 863863, bug 864100
- # we have to do that here already so mips can filter it out again :P
- if use hash-sysv-compat ; then
- append-ldflags '-Wl,--hash-style=both'
- fi
-
- # #492892
- filter-flags -frecord-gcc-switches
-
- # #898098
- filter-flags -fno-builtin
-
- # #829583
- filter-lfs-flags
-
- unset CBUILD_OPT CTARGET_OPT
- if use multilib ; then
- CTARGET_OPT=$(get_abi_CTARGET)
- [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST)
- fi
-
- setup_target_flags
-
- if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then
- CBUILD_OPT=${CTARGET_OPT}
- fi
-
- # glibc's headers disallow -O0 and fail at build time:
- # include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization"
- # https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F
- replace-flags -O0 -O1
-
- # glibc handles this internally already where it's appropriate;
- # can't always have SSP when we're the ones setting it up, etc
- filter-flags '-fstack-protector*'
-
- # Similar issues as with SSP. Can't inject yourself that early.
- filter-flags '-fsanitize=*'
-
- # See end of bug #830454; we handle this via USE=cet
- filter-flags '-fcf-protection=*'
-
- # When bootstrapping, we may have a situation where
- # CET-enabled gcc from seed is used to build CET-disabled
- # glibc. As such, gcc implicitly enables CET if no
- # -fcf-protection flag is passed. For a typical package it
- # should not be a problem, but for glibc it matters as it is
- # dealing with CET in ld.so. So if CET is supposed to be
- # disabled for glibc, be explicit about it.
- if (use amd64 || use x86) && ! use cet; then
- append-flags '-fcf-protection=none'
- fi
-}
-
-use_multiarch() {
- # Allow user to disable runtime arch detection in multilib.
- use multiarch || return 1
- # Make sure binutils is new enough to support indirect functions,
- # #336792. This funky sed supports gold and bfd linkers.
- local bver nver
- bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}')
- case $(tc-arch ${CTARGET}) in
- amd64|x86) nver="2.20" ;;
- arm) nver="2.22" ;;
- hppa) nver="2.23" ;;
- ppc|ppc64) nver="2.20" ;;
- # ifunc support was added in 2.23, but glibc also needs
- # machinemode which is in 2.24.
- s390) nver="2.24" ;;
- sparc) nver="2.21" ;;
- *) return 1 ;;
- esac
- ver_test ${bver} -ge ${nver}
-}
-
-# Setup toolchain variables that had historically been defined in the
-# profiles for these archs.
-setup_env() {
- # silly users
- unset LD_RUN_PATH
- unset LD_ASSUME_KERNEL
-
- if is_crosscompile || tc-is-cross-compiler ; then
- multilib_env ${CTARGET_OPT:-${CTARGET}}
-
- if ! use multilib ; then
- MULTILIB_ABIS=${DEFAULT_ABI}
- else
- MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}}
- fi
-
- # If the user has CFLAGS_<CTARGET> in their make.conf, use that,
- # and fall back on CFLAGS.
- local VAR=CFLAGS_${CTARGET//[-.]/_}
- CFLAGS=${!VAR-${CFLAGS}}
- einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}"
- fi
-
- setup_flags
-
- export ABI=${ABI:-${DEFAULT_ABI:-default}}
-
- if just_headers ; then
- # Avoid mixing host's CC and target's CFLAGS_${ABI}:
- # At this bootstrap stage we have only binutils for
- # target but not compiler yet.
- einfo "Skip CC ABI injection. We can't use (cross-)compiler yet."
- return 0
- fi
-
- # Glibc does not work with gold (for various reasons) #269274.
- tc-ld-disable-gold
-
- if use doc ; then
- export MAKEINFO=makeinfo
- else
- export MAKEINFO=/dev/null
- fi
-
- # Reset CC and CXX to the value at start of emerge
- export CC=${glibc__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}}
- export CXX=${glibc__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}}
-
- # and make sure glibc__ORIG_CC and glibc__ORIG_CXX is defined now.
- export glibc__ORIG_CC=${CC}
- export glibc__ORIG_CXX=${CXX}
-
- if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then
- export glibc__force_gcc=yes
- # once this is toggled on, it needs to stay on, since with CPP manipulated
- # tc-is-clang does not work correctly anymore...
- fi
-
- if [[ ${glibc__force_gcc} == "yes" ]] ; then
- # If we are running in an otherwise clang/llvm environment, we need to
- # recover the proper gcc and binutils settings here, at least until glibc
- # is finally building with clang. So let's override everything that is
- # set in the clang profiles.
- # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always
- # a good start into that direction.
- # Also, if you're crosscompiling, let's assume you know what you are doing.
- # Hopefully.
- # Last, we need the settings of the *build* environment, not of the
- # target environment...
-
- local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B)
- local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B)
- einfo "Overriding clang configuration, since it won't work here"
-
- export CC="${current_gcc_path}/gcc"
- export CPP="${current_gcc_path}/cpp"
- export CXX="${current_gcc_path}/g++"
- export LD="${current_binutils_path}/ld.bfd"
- export AR="${current_binutils_path}/ar"
- export AS="${current_binutils_path}/as"
- export NM="${current_binutils_path}/nm"
- export STRIP="${current_binutils_path}/strip"
- export RANLIB="${current_binutils_path}/ranlib"
- export OBJCOPY="${current_binutils_path}/objcopy"
- export STRINGS="${current_binutils_path}/strings"
- export OBJDUMP="${current_binutils_path}/objdump"
- export READELF="${current_binutils_path}/readelf"
- export ADDR2LINE="${current_binutils_path}/addr2line"
-
- # do we need to also do flags munging here? yes! at least...
- filter-flags '-fuse-ld=*'
- filter-flags '-D_FORTIFY_SOURCE=*'
-
- else
-
- # this is the "normal" case
-
- export CC="$(tc-getCC ${CTARGET})"
- export CXX="$(tc-getCXX ${CTARGET})"
-
- # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure
- # can't detect them automatically due to ${CHOST} mismatch and fallbacks
- # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup().
- export NM="$(tc-getNM ${CTARGET})"
- export READELF="$(tc-getREADELF ${CTARGET})"
-
- fi
-
- # We need to export CFLAGS with abi information in them because glibc's
- # configure script checks CFLAGS for some targets (like mips). Keep
- # around the original clean value to avoid appending multiple ABIs on
- # top of each other. (Why does the comment talk about CFLAGS if the code
- # acts on CC?)
- export glibc__GLIBC_CC=${CC}
- export glibc__GLIBC_CXX=${CXX}
-
- export glibc__abi_CFLAGS="$(get_abi_CFLAGS)"
-
- # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760
- # To build .S (assembly) files with the same ABI-specific flags
- # upstream currently recommends adding CFLAGS to CC/CXX:
- # https://sourceware.org/PR23273
- # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS
- # and breaks multiarch support. See 659030#c3 for an example.
- # The glibc configure script doesn't properly use LDFLAGS all the time.
- export CC="${glibc__GLIBC_CC} ${glibc__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}"
-
- # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
- export CXX="${glibc__GLIBC_CXX} ${glibc__abi_CFLAGS} ${CFLAGS}"
-
- if is_crosscompile; then
- # Assume worst-case bootstrap: glibc is built for the first time
- # with ${CTARGET}-g++ not available yet. We avoid
- # building auxiliary programs that require C++: bug #683074
- # It should not affect final result.
- export libc_cv_cxx_link_ok=no
- # The line above has the same effect. We set CXX explicitly
- # to make build logs less confusing.
- export CXX=
- fi
-}
-
-foreach_abi() {
- setup_env
-
- local ret=0
- local abilist=""
- if use multilib ; then
- abilist=$(get_install_abis)
- else
- abilist=${DEFAULT_ABI}
- fi
- local -x ABI
- for ABI in ${abilist:-default} ; do
- setup_env
- einfo "Running $1 for ABI ${ABI}"
- $1
- : $(( ret |= $? ))
- done
- return ${ret}
-}
-
-glibc_banner() {
- local b="Gentoo ${PVR}"
- [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" (patchset ${PATCH_VER})"
- echo "${b}"
-}
-
-# The following Kernel version handling functions are mostly copied from portage
-# source. It's better not to use linux-info.eclass here since a) it adds too
-# much magic, see bug 326693 for some of the arguments, and b) some of the
-# functions are just not provided.
-
-g_get_running_KV() {
- uname -r
- return $?
-}
-
-g_KV_major() {
- [[ -z $1 ]] && return 1
- local KV=$@
- echo "${KV%%.*}"
-}
-
-g_KV_minor() {
- [[ -z $1 ]] && return 1
- local KV=$@
- KV=${KV#*.}
- echo "${KV%%.*}"
-}
-
-g_KV_micro() {
- [[ -z $1 ]] && return 1
- local KV=$@
- KV=${KV#*.*.}
- echo "${KV%%[^[:digit:]]*}"
-}
-
-g_KV_to_int() {
- [[ -z $1 ]] && return 1
- local KV_MAJOR=$(g_KV_major "$1")
- local KV_MINOR=$(g_KV_minor "$1")
- local KV_MICRO=$(g_KV_micro "$1")
- local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO ))
-
- # We make version 2.2.0 the minimum version we will handle as
- # a sanity check ... if its less, we fail ...
- if [[ ${KV_int} -ge 131584 ]] ; then
- echo "${KV_int}"
- return 0
- fi
- return 1
-}
-
-g_int_to_KV() {
- local version=$1 major minor micro
- major=$((version / 65536))
- minor=$(((version % 65536) / 256))
- micro=$((version % 256))
- echo ${major}.${minor}.${micro}
-}
-
-eend_KV() {
- [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]]
- eend $?
-}
-
-get_kheader_version() {
- printf '#include <linux/version.h>\nLINUX_VERSION_CODE\n' | \
- $(tc-getCPP ${CTARGET}) -I "$(build_eprefix)$(alt_build_headers)" - | \
- tail -n 1
-}
-
-# We collect all sanity checks here. Consistency is not guranteed between
-# pkg_ and src_ phases, so we call this function both in pkg_pretend and in
-# src_unpack.
-sanity_prechecks() {
- # Prevent native builds from downgrading
- if [[ ${MERGE_TYPE} != "buildonly" ]] && \
- [[ -z ${ROOT} ]] && \
- [[ ${CBUILD} == ${CHOST} ]] && \
- [[ ${CHOST} == ${CTARGET} ]] ; then
-
- # The high rev # is to allow people to downgrade between -r#
- # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2
- # should be fine. Hopefully we never actually use a r# this
- # high.
- if has_version ">${CATEGORY}/${P}-r10000" ; then
- eerror "Sanity check to keep you from breaking your system:"
- eerror " Downgrading glibc is not supported and a sure way to destruction."
- [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system."
- fi
-
- if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then
- eerror "Your old kernel is broken. You need to update it to a newer"
- eerror "version as syscall(<bignum>) will break. See bug 279260."
- die "Old and broken kernel."
- fi
- fi
-
- if [[ ${CTARGET} == i386-* ]] ; then
- eerror "i386 CHOSTs are no longer supported."
- eerror "Chances are you don't actually want/need i386."
- eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml"
- die "Please fix your CHOST"
- fi
-
- if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then
- ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS."
- ewarn "This will result in a 50% performance penalty when running with a 32bit"
- ewarn "hypervisor, which is probably not what you want."
- fi
-
- # ABI-specific checks follow here. Hey, we have a lot more specific conditions that
- # we test for...
- if ! is_crosscompile ; then
- if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then
- ebegin "Checking that IA32 emulation is enabled in the running kernel"
- echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c"
- local STAT
- if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then
- "${T}/check-ia32-emulation.elf32"
- STAT=$?
- else
- # Don't fail here to allow single->multi ABI switch
- # or recover from breakage like bug #646424
- ewarn "Failed to compile the ABI test. Broken host glibc?"
- STAT=0
- fi
- rm -f "${T}/check-ia32-emulation.elf32"
- eend $STAT
- [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc."
- fi
-
- fi
-
- # When we actually have to compile something...
- if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then
- if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then
- # bug #833620, bug #643302
- eerror "Found ${ESYSROOT}/usr/lib/include directory!"
- eerror "This is known to break glibc's build."
- eerror "Please backup its contents then remove the directory."
- die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!"
- fi
-
- if [[ ${CTARGET} == *-linux* ]] ; then
- local run_kv build_kv want_kv
-
- run_kv=$(g_get_running_KV)
- build_kv=$(g_int_to_KV $(get_kheader_version))
- want_kv=${MIN_KERN_VER}
-
- if ! is_crosscompile && ! tc-is-cross-compiler ; then
- # Building fails on an non-supporting kernel
- ebegin "Checking running kernel version (${run_kv} >= ${want_kv})"
- if ! eend_KV ${run_kv} ${want_kv} ; then
- echo
- eerror "You need a kernel of at least ${want_kv}!"
- die "Kernel version too low!"
- fi
- fi
-
- # Do not run this check for pkg_pretend, just pkg_setup and friends (if we ever get used there).
- # It's plausible (seen it in the wild) that Portage will (correctly) schedule a linux-headers
- # upgrade before glibc, but because pkg_pretend gets run before any packages are merged at all (not
- # just glibc), the whole emerge gets aborted without a good reason. We probably don't
- # need to run this check at all given we have a dependency on the right headers,
- # but let's leave it as-is for now.
- if [[ ${EBUILD_PHASE_FUNC} != pkg_pretend ]] ; then
- ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})"
- if ! eend_KV ${build_kv} ${want_kv} ; then
- echo
- eerror "You need linux-headers of at least ${want_kv}!"
- die "linux-headers version too low!"
- fi
- fi
- fi
- fi
-}
-
-upgrade_warning() {
- is_crosscompile && return
-
- if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then
- local oldv newv=$(ver_cut 1-2 ${PV})
- for oldv in ${REPLACING_VERSIONS}; do
- if ver_test ${oldv} -lt ${newv}; then
- ewarn "After upgrading glibc, please restart all running processes."
- ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)."
- ewarn "Alternatively, reboot your system."
- ewarn "(See bug #660556, bug #741116, bug #823756, etc)"
- break
- fi
- done
- fi
-}
-
-#
-# the phases
-#
-
-# pkg_pretend
-
-pkg_pretend() {
- upgrade_warning
-}
-
-# pkg_setup
-
-pkg_setup() {
- # see bug 682570
- [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup
-}
-
-# src_unpack
-
-src_unpack() {
- setup_env
-
- einfo "Checking general environment sanity."
- sanity_prechecks
-
- use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz
-
- if [[ ${PV} == 9999* ]] ; then
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git"
- EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
- git-r3_src_unpack
- mv patches-git/9999 patches || die
-
- EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
- EGIT_CHECKOUT_DIR=${S}
- git-r3_src_unpack
- else
- unpack ${P}.tar.xz
-
- cd "${WORKDIR}" || die
- unpack glibc-${PV}-patches-${PATCH_VER}.tar.xz
- fi
-
- cd "${WORKDIR}" || die
- use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz
-}
-
-# src_prepare
-
-src_prepare() {
- local patchsetname
- if ! use vanilla ; then
- if [[ ${PV} == 9999* ]] ; then
- patchsetname="from git master"
- else
- patchsetname="${PV}-${PATCH_VER}"
- fi
- einfo "Applying Gentoo Glibc patchset ${patchsetname}"
- eapply "${WORKDIR}"/patches
- einfo "Done."
- fi
-
- default
-
- gnuconfig_update
-
- cd "${WORKDIR}" || die
- find . -name configure -exec touch {} +
-
- # Fix permissions on some of the scripts.
- chmod u+x "${S}"/scripts/*.sh
-
- cd "${S}" || die
-}
-
-# src_configure
-
-glibc_do_configure() {
- dump_build_environment
-
- local myconf=()
-
- # Use '=strong' instead of '=all' to protect only functions
- # worth protecting from stack smashes.
- myconf+=( --enable-stack-protector=$(usex ssp strong no) )
-
- # Keep a whitelist of targets supporing IFUNC. glibc's ./configure
- # is not robust enough to detect proper support:
- # https://bugs.gentoo.org/641216
- # https://sourceware.org/PR22634#c0
- case $(tc-arch ${CTARGET}) in
- # Keep whitelist of targets where autodetection mostly works.
- amd64|x86|sparc|ppc|ppc64|arm|arm64|s390|riscv|loong) ;;
- # Blacklist everywhere else
- *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;;
- esac
-
- # Enable Intel Control-flow Enforcement Technology on amd64 if requested
- case ${CTARGET} in
- x86_64-*) myconf+=( $(use_enable cet) ) ;;
- *) ;;
- esac
-
- [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp )
-
- myconf+=( --enable-kernel=${MIN_KERN_VER} )
-
- # Since SELinux support is only required for nscd, only enable it if:
- # 1. USE selinux
- # 2. only for the primary ABI on multilib systems
- # 3. Not a crosscompile
- if ! is_crosscompile && use selinux ; then
- if use multilib ; then
- if is_final_abi ; then
- myconf+=( --with-selinux )
- else
- myconf+=( --without-selinux )
- fi
- else
- myconf+=( --with-selinux )
- fi
- else
- myconf+=( --without-selinux )
- fi
-
- # Force a few tests where we always know the answer but
- # configure is incapable of finding it.
- if is_crosscompile ; then
- export \
- libc_cv_c_cleanup=yes \
- libc_cv_forced_unwind=yes
- fi
-
- myconf+=(
- --disable-werror
- --enable-bind-now
- --enable-fortify-source
- --build=${CBUILD_OPT:-${CBUILD}}
- --host=${CTARGET_OPT:-${CTARGET}}
- $(use_enable profile)
- $(use_with gd)
- --with-headers=$(build_eprefix)$(alt_build_headers)
- --prefix="$(host_eprefix)/usr"
- --sysconfdir="$(host_eprefix)/etc"
- --localstatedir="$(host_eprefix)/var"
- --libdir='$(prefix)'/$(get_libdir)
- --mandir='$(prefix)'/share/man
- --infodir='$(prefix)'/share/info
- --libexecdir='$(libdir)'/misc/glibc
- --with-bugurl=https://bugs.gentoo.org/
- --with-pkgversion="$(glibc_banner)"
- $(use_enable crypt)
- $(use_multiarch || echo --disable-multi-arch)
- $(use_enable systemtap)
- $(use_enable nscd)
-
- # /usr/bin/mtrace has a Perl shebang. Gentoo Prefix QA checks fail if
- # Perl hasn't been installed inside the prefix yet and configure picks
- # up a Perl from outside the prefix instead. configure will fail to
- # execute Perl during configure if we're cross-compiling a prefix, but
- # it will just disable mtrace in that case.
- # Note: mtrace is needed by the test suite.
- ac_cv_path_PERL="$(usex perl "${EPREFIX}"/usr/bin/perl $(usex test "${EPREFIX}"/usr/bin/perl $(usex doc "${EPREFIX}"/usr/bin/perl no)))"
-
- # locale data is arch-independent
- # https://bugs.gentoo.org/753740
- libc_cv_complocaledir='${exec_prefix}/lib/locale'
-
- # On aarch64 there is no way to override -mcpu=native, and if
- # the current cpu does not support SVE configure fails.
- # Let's boldly assume our toolchain can always build SVE instructions.
- libc_cv_aarch64_sve_asm=yes
-
- ${EXTRA_ECONF}
- )
-
- # We rely on sys-libs/timezone-data for timezone tools normally.
- myconf+=( $(use_enable vanilla timezone-tools) )
-
- # These libs don't have configure flags.
- ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no)
- ac_cv_lib_cap_cap_init=$(usex caps || echo no)
-
- # There is no configure option for this and we need to export it
- # since the glibc build will re-run configure on itself
- export libc_cv_rootsbindir="$(host_eprefix)/sbin"
- export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)"
-
- local builddir=$(builddir nptl)
- mkdir -p "${builddir}"
- cd "${builddir}"
- set -- "${S}"/configure "${myconf[@]}"
- echo "$@"
- "$@" || die "failed to configure glibc"
-
- # ia64 static cross-compilers are a pita in so much that they
- # can't produce static ELFs (as the libgcc.a is broken). so
- # disable building of the programs for those targets if it
- # doesn't work.
- # XXX: We could turn this into a compiler test, but ia64 is
- # the only one that matters, so this should be fine for now.
- if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then
- sed -i '1i+link-static = touch $@' config.make
- fi
-
- # If we're trying to migrate between ABI sets, we need
- # to lie and use a local copy of gcc. Like if the system
- # is built with MULTILIB_ABIS="amd64 x86" but we want to
- # add x32 to it, gcc/glibc don't yet support x32.
- #
- if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib-bootstrap ; then
- echo 'int main(void){}' > "${T}"/test.c || die
- if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then
- sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die
- fi
- fi
-}
-
-glibc_headers_configure() {
- export ABI=default
-
- local builddir=$(builddir "headers")
- mkdir -p "${builddir}"
- cd "${builddir}"
-
- # if we don't have a compiler yet, we can't really test it now ...
- # hopefully they don't affect header generation, so let's hope for
- # the best here ...
- local v vars=(
- ac_cv_header_cpuid_h=yes
- libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes
- libc_cv_asm_cfi_directives=yes
- libc_cv_broken_visibility_attribute=no
- libc_cv_c_cleanup=yes
- libc_cv_compiler_powerpc64le_binary128_ok=yes
- libc_cv_forced_unwind=yes
- libc_cv_gcc___thread=yes
- libc_cv_mlong_double_128=yes
- libc_cv_mlong_double_128ibm=yes
- libc_cv_ppc_machine=yes
- libc_cv_ppc_rel16=yes
- libc_cv_predef_fortify_source=no
- libc_cv_target_power8_ok=yes
- libc_cv_visibility_attribute=yes
- libc_cv_z_combreloc=yes
- libc_cv_z_execstack=yes
- libc_cv_z_initfirst=yes
- libc_cv_z_nodelete=yes
- libc_cv_z_nodlopen=yes
- libc_cv_z_relro=yes
- libc_mips_abi=${ABI}
- libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard)
- # These libs don't have configure flags.
- ac_cv_lib_audit_audit_log_user_avc_message=no
- ac_cv_lib_cap_cap_init=no
- )
-
- einfo "Forcing cached settings:"
- for v in "${vars[@]}" ; do
- einfo " ${v}"
- export ${v}
- done
-
- local headers_only_arch_CPPFLAGS=()
-
- # Blow away some random CC settings that screw things up. #550192
- if [[ -d ${S}/sysdeps/mips ]]; then
- pushd "${S}"/sysdeps/mips >/dev/null
- sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die
- sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die
-
- # Force the mips ABI to the default. This is OK because the set of
- # installed headers in this phase is the same between the 3 ABIs.
- # If this ever changes, this hack will break, but that's unlikely
- # as glibc discourages that behavior.
- # https://crbug.com/647033
- sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die
-
- popd >/dev/null
- fi
-
- case ${CTARGET} in
- riscv*)
- # RISC-V interrogates the compiler to determine which target to
- # build. If building the headers then we don't strictly need a
- # RISC-V compiler, so the built-in definitions that are provided
- # along with all RISC-V compiler might not exist. This causes
- # glibc's RISC-V preconfigure script to blow up. Since we're just
- # building the headers any value will actually work here, so just
- # pick the standard one (rv64g/lp64d) to make the build scripts
- # happy for now -- the headers are all the same anyway so it
- # doesn't matter.
- headers_only_arch_CPPFLAGS+=(
- -D__riscv_xlen=64
- -D__riscv_flen=64
- -D__riscv_float_abi_double=1
- -D__riscv_atomic=1
- ) ;;
- esac
-
- local myconf=()
- myconf+=(
- --disable-sanity-checks
- --enable-hacker-mode
- --disable-werror
- --enable-bind-now
- --build=${CBUILD_OPT:-${CBUILD}}
- --host=${CTARGET_OPT:-${CTARGET}}
- --with-headers=$(build_eprefix)$(alt_build_headers)
- --prefix="$(host_eprefix)/usr"
- $(use_enable crypt)
- ${EXTRA_ECONF}
- )
-
- # Nothing is compiled here which would affect the headers for the target.
- # So forcing CC/CFLAGS is sane.
- local headers_only_CC=$(tc-getBUILD_CC)
- local headers_only_CFLAGS="-O1 -pipe"
- local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}"
- local headers_only_LDFLAGS=""
- set -- "${S}"/configure "${myconf[@]}"
- echo \
- "CC=${headers_only_CC}" \
- "CFLAGS=${headers_only_CFLAGS}" \
- "CPPFLAGS=${headers_only_CPPFLAGS}" \
- "LDFLAGS=${headers_only_LDFLAGS}" \
- "$@"
- CC=${headers_only_CC} \
- CFLAGS=${headers_only_CFLAGS} \
- CPPFLAGS=${headers_only_CPPFLAGS} \
- LDFLAGS="" \
- "$@" || die "failed to configure glibc"
-}
-
-do_src_configure() {
- if just_headers ; then
- glibc_headers_configure
- else
- glibc_do_configure nptl
- fi
-}
-
-src_configure() {
- foreach_abi do_src_configure
-}
-
-# src_compile
-
-do_src_compile() {
- emake -C "$(builddir nptl)"
-}
-
-src_compile() {
- if just_headers ; then
- return
- fi
-
- foreach_abi do_src_compile
-}
-
-# src_test
-
-glibc_src_test() {
- cd "$(builddir nptl)"
-
- local myxfailparams=""
- if [[ "${GENTOO_GLIBC_XFAIL_TESTS}" == "yes" ]] ; then
- local virt=$(systemd-detect-virt 2>/dev/null)
- if [[ ${virt} == systemd-nspawn ]] ; then
- ewarn "Skipping extra tests because in systemd-nspawn container"
- XFAIL_TEST_LIST+=( "${XFAIL_NSPAWN_TEST_LIST[@]}" )
- fi
-
- for myt in ${XFAIL_TEST_LIST[@]} ; do
- myxfailparams+="test-xfail-${myt}=yes "
- done
- fi
-
- # sandbox does not understand unshare() and prevents
- # writes to /proc/, which makes many tests fail
-
- # we give the tests a bit more time to avoid spurious
- # bug reports on slow arches
-
- SANDBOX_ON=0 LD_PRELOAD= TIMEOUTFACTOR=16 emake ${myxfailparams} check
-}
-
-src_test() {
- if just_headers ; then
- return
- fi
-
- foreach_abi glibc_src_test || die "tests failed"
-}
-
-# src_install
-
-run_locale_gen() {
- # if the host locales.gen contains no entries, we'll install everything
- local root="$1"
- local inplace=""
-
- if [[ "${root}" == "--inplace-glibc" ]] ; then
- inplace="--inplace-glibc"
- root="$2"
- fi
-
- local locale_list="${root%/}/etc/locale.gen"
-
- pushd "${ED}"/$(get_libdir) >/dev/null
-
- if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
- [[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
- locale_list="${root%/}/usr/share/i18n/SUPPORTED"
- fi
-
- # bug 736794: we need to be careful with the parallelization... the number of
- # processors saved in the environment of a binary package may differ strongly
- # from the number of processes available during postinst
- local mygenjobs="$(makeopts_jobs)"
- if [[ "${EMERGE_FROM}" == "binary" ]] ; then
- mygenjobs="$(nproc)"
- fi
-
- set -- locale-gen ${inplace} --jobs "${mygenjobs}" --config "${locale_list}" \
- --destdir "${root}"
- echo "$@"
- "$@"
-
- popd >/dev/null
-}
-
-glibc_do_src_install() {
- local builddir=$(builddir nptl)
- cd "${builddir}"
-
- emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install
-
- # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support
- # which come without headers etc. Only needed for binary packages since the
- # external net-libs/libnsl has increased soversion. Keep only versioned libraries.
- find "${D}" -name "libnsl.a" -delete
- find "${D}" -name "libnsl.so" -delete
-
- # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need
- # to infer upstream version:
- # '#define VERSION "2.26.90"' -> '2.26.90'
- local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h)
-
- # Avoid stripping binaries not targeted by ${CHOST}. Or else
- # ${CHOST}-strip would break binaries build for ${CTARGET}.
- is_crosscompile && dostrip -x /
-
- # gdb thread introspection relies on local libpthreads symbols. stripping breaks it
- # See Note [Disable automatic stripping]
- dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so
-
- if [[ -e ${ED}/$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then
- # Move versioned .a file out of libdir to evade portage QA checks
- # instead of using gen_usr_ldscript(). We fix ldscript as:
- # "GROUP ( /usr/lib64/libm-<pv>.a ..." -> "GROUP ( /usr/lib64/glibc-<pv>/libm-<pv>.a ..."
- sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" "${ED}"/$(alt_usrlibdir)/libm.a || die
- dodir $(alt_usrlibdir)/${P}
- mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a "${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die
- fi
-
- # We configure toolchains for standalone prefix systems with a sysroot,
- # which is prepended to paths in ld scripts, so strip the prefix from these.
- # Before: GROUP ( /foo/lib64/libc.so.6 /foo/usr/lib64/libc_nonshared.a AS_NEEDED ( /foo/lib64/ld-linux-x86-64.so.2 ) )
- # After: GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) )
- if [[ -n $(host_eprefix) ]] ; then
- local file
- grep -lZIF "ld script" "${ED}/$(alt_usrlibdir)"/lib*.{a,so} 2>/dev/null | while read -rd '' file ; do
- sed -i "s|$(host_eprefix)/|/|g" "${file}" || die
- done
- fi
-
- # We'll take care of the cache ourselves
- rm -f "${ED}"/etc/ld.so.cache
-
- # Everything past this point just needs to be done once ...
- is_final_abi || return 0
-
- # Make sure the non-native interp can be found on multilib systems even
- # if the main library set isn't installed into the right place. Maybe
- # we should query the active gcc for info instead of hardcoding it ?
- local i ldso_abi ldso_name
- local ldso_abi_list=(
- # x86
- amd64 /lib64/ld-linux-x86-64.so.2
- x32 /libx32/ld-linux-x32.so.2
- x86 /lib/ld-linux.so.2
- # mips
- o32 /lib/ld.so.1
- n32 /lib32/ld.so.1
- n64 /lib64/ld.so.1
- # powerpc
- ppc /lib/ld.so.1
- # riscv
- ilp32d /lib/ld-linux-riscv32-ilp32d.so.1
- ilp32 /lib/ld-linux-riscv32-ilp32.so.1
- lp64d /lib/ld-linux-riscv64-lp64d.so.1
- lp64 /lib/ld-linux-riscv64-lp64.so.1
- # s390
- s390 /lib/ld.so.1
- s390x /lib/ld64.so.1
- # sparc
- sparc32 /lib/ld-linux.so.2
- sparc64 /lib64/ld-linux.so.2
- )
- case $(tc-endian) in
- little)
- ldso_abi_list+=(
- # arm
- arm64 /lib/ld-linux-aarch64.so.1
- # ELFv2 (glibc does not support ELFv1 on LE)
- ppc64 /lib64/ld64.so.2
- )
- ;;
- big)
- ldso_abi_list+=(
- # arm
- arm64 /lib/ld-linux-aarch64_be.so.1
- # ELFv1 (glibc does not support ELFv2 on BE)
- ppc64 /lib64/ld64.so.1
- )
- ;;
- esac
- if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then
- dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib
- fi
- for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do
- ldso_abi=${ldso_abi_list[i]}
- has ${ldso_abi} $(get_install_abis) || continue
-
- ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}"
- if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then
- dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name}
- fi
- done
-
- # In the LSB 5.0 definition, someone had the excellent idea to "standardize"
- # the runtime loader name, see also https://xkcd.com/927/
- # Normally, in Gentoo one should never come across executables that require this.
- # However, binary commercial packages are known to adhere to weird practices.
- # https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-AMD64/LSB-Core-AMD64.html#BASELIB
- local lsb_ldso_name native_ldso_name lsb_ldso_abi
- local lsb_ldso_abi_list=(
- # x86
- amd64 ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3
- )
- for (( i = 0; i < ${#lsb_ldso_abi_list[@]}; i += 3 )) ; do
- lsb_ldso_abi=${lsb_ldso_abi_list[i]}
- native_ldso_name=${lsb_ldso_abi_list[i+1]}
- lsb_ldso_name=${lsb_ldso_abi_list[i+2]}
- has ${lsb_ldso_abi} $(get_install_abis) || continue
-
- if [[ ! -L ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} && ! -e ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} ]] ; then
- dosym ${native_ldso_name} "$(alt_prefix)/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name}"
- fi
- done
-
- # With devpts under Linux mounted properly, we do not need the pt_chown
- # binary to be setuid. This is because the default owners/perms will be
- # exactly what we want.
- if ! use suid ; then
- find "${ED}" -name pt_chown -exec chmod -s {} +
- fi
-
- #################################################################
- # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY #
- #################################################################
-
- # Make sure we install some symlink hacks so that when we build
- # a 2nd stage cross-compiler, gcc finds the target system
- # headers correctly. See gcc/doc/gccinstall.info
- if is_crosscompile ; then
- # We need to make sure that /lib and /usr/lib always exists.
- # gcc likes to use relative paths to get to its multilibs like
- # /usr/lib/../lib64/. So while we don't install any files into
- # /usr/lib/, we do need it to exist.
- keepdir $(alt_prefix)/lib
- keepdir $(alt_prefix)/usr/lib
-
- dosym usr/include $(alt_prefix)/sys-include
- return 0
- fi
-
- # Files for Debian-style locale updating
- dodir /usr/share/i18n
- sed \
- -e "/^#/d" \
- -e "/SUPPORTED-LOCALES=/d" \
- -e "s: \\\\::g" -e "s:/: :g" \
- "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \
- || die "generating /usr/share/i18n/SUPPORTED failed"
-
- cd "${S}" || die
-
- # Install misc network config files
- insinto /etc
- doins posix/gai.conf
-
- if use systemd ; then
- doins "${WORKDIR}/glibc-systemd-${GLIBC_SYSTEMD_VER}/gentoo-config/nsswitch.conf"
- else
- doins nss/nsswitch.conf
- fi
-
- # Gentoo-specific
- newins "${FILESDIR}"/host.conf-1 host.conf
-
- if use nscd ; then
- doins nscd/nscd.conf
-
- newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd
-
- local nscd_args=(
- -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):"
- )
-
- sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd
-
- use systemd && systemd_dounit nscd/nscd.service
- newtmpfiles nscd/nscd.tmpfiles nscd.conf
- fi
-
- echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc
- doenvd "${T}"/00glibc
-
- for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do
- [[ -s ${d} ]] && dodoc ${d}
- done
- dodoc -r ChangeLog.old
-
- # Prevent overwriting of the /etc/localtime symlink. We'll handle the
- # creation of the "factory" symlink in pkg_postinst().
- rm -f "${ED}"/etc/localtime
-
- # Generate all locales if this is a native build as locale generation
- if use compile-locales && ! is_crosscompile ; then
- run_locale_gen --inplace-glibc "${ED}/"
- fi
-}
-
-glibc_headers_install() {
- local builddir=$(builddir "headers")
- cd "${builddir}"
- emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers
-
- insinto $(alt_headers)/gnu
- doins "${S}"/include/gnu/stubs.h
-
- # Make sure we install the sys-include symlink so that when
- # we build a 2nd stage cross-compiler, gcc finds the target
- # system headers correctly. See gcc/doc/gccinstall.info
- dosym usr/include $(alt_prefix)/sys-include
-}
-
-src_install() {
- if just_headers ; then
- export ABI=default
- glibc_headers_install
- return
- fi
-
- foreach_abi glibc_do_src_install
-
- if ! use static-libs ; then
- einfo "Not installing static glibc libraries"
- find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete
- fi
-}
-
-# Simple test to make sure our new glibc isn't completely broken.
-# Make sure we don't test with statically built binaries since
-# they will fail. Also, skip if this glibc is a cross compiler.
-#
-# If coreutils is built with USE=multicall, some of these files
-# will just be wrapper scripts, not actual ELFs we can test.
-glibc_sanity_check() {
- cd / #228809
-
- # We enter ${ED} so to avoid trouble if the path contains
- # special characters; for instance if the path contains the
- # colon character (:), then the linker will try to split it
- # and look for the libraries in an unexpected place. This can
- # lead to unsafe code execution if the generated prefix is
- # within a world-writable directory.
- # (e.g. /var/tmp/portage:${HOSTNAME})
- pushd "${ED}"/$(get_libdir) >/dev/null
-
- # first let's find the actual dynamic linker here
- # symlinks may point to the wrong abi
- local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit)
-
- einfo Last-minute run tests with ${newldso} in /$(get_libdir) ...
-
- local x striptest
- for x in cal date env free ls true uname uptime ; do
- x=$(type -p ${x})
- [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue
- striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue
- case ${striptest} in
- *"statically linked"*) continue;;
- *"ASCII text"*) continue;;
- esac
- # We need to clear the locale settings as the upgrade might want
- # incompatible locale data. This test is not for verifying that.
- LC_ALL=C \
- ${newldso} --library-path . ${x} > /dev/null \
- || die "simple run test (${x}) failed"
- done
-
- popd >/dev/null
-}
-
-pkg_preinst() {
- # nothing to do if just installing headers
- just_headers && return
-
- einfo "Checking general environment sanity."
- sanity_prechecks
-
- # prepare /etc/ld.so.conf.d/ for files
- mkdir -p "${EROOT}"/etc/ld.so.conf.d
-
- # Default /etc/hosts.conf:multi to on for systems with small dbs.
- if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then
- sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf
- einfo "Defaulting /etc/host.conf:multi to on"
- fi
-
- [[ -n ${ROOT} ]] && return 0
- [[ -d ${ED}/$(get_libdir) ]] || return 0
- [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check
-
- if [[ -L ${EROOT}/usr/lib/locale ]]; then
- # Help portage migrate this to a directory
- # https://bugs.gentoo.org/753740
- rm "${EROOT}"/usr/lib/locale || die
- fi
-
- # Keep around libcrypt so that Perl doesn't break when merging libxcrypt
- # (libxcrypt is the new provider for now of libcrypt.so.{1,2}).
- # bug #802207
- if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then
- PRESERVED_OLD_LIBCRYPT=1
- cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" "${T}/libcrypt$(get_libname 1)" || die
- else
- PRESERVED_OLD_LIBCRYPT=0
- fi
-}
-
-pkg_postinst() {
- # nothing to do if just installing headers
- just_headers && return
-
- if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then
- # Generate fastloading iconv module configuration file.
- "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}/"
- fi
-
- if ! is_crosscompile && [[ -z ${ROOT} ]] ; then
- use compile-locales || run_locale_gen "${EROOT}/"
- fi
-
- upgrade_warning
-
- # Check for sanity of /etc/nsswitch.conf, take 2
- if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then
- local entry
- for entry in passwd group shadow; do
- if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then
- ewarn ""
- ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been"
- ewarn "removed from glibc and is now provided by the package"
- ewarn " sys-auth/libnss-nis"
- ewarn "Install it now to keep your NIS setup working."
- ewarn ""
- fi
- done
- fi
-
- if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then
- cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die
- preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1)
-
- elog "Please ignore a possible later error message about a file collision involving"
- elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep"
- elog "the upgrade working, but it also needs to be overwritten when"
- elog "sys-libs/libxcrypt is installed. See bug 802210 for more details."
- fi
-}
diff --git a/sys-libs/glibc/glibc-2.38-r4.ebuild b/sys-libs/glibc/glibc-2.38-r4.ebuild
deleted file mode 100644
index 3860a4b1b2e1..000000000000
--- a/sys-libs/glibc/glibc-2.38-r4.ebuild
+++ /dev/null
@@ -1,1706 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc
-# Please read & adapt the page as necessary if obsolete.
-
-PYTHON_COMPAT=( python3_{9..12} )
-TMPFILES_OPTIONAL=1
-
-inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \
- multilib systemd multiprocessing tmpfiles
-
-DESCRIPTION="GNU libc C library"
-HOMEPAGE="https://www.gnu.org/software/libc/"
-LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
-SLOT="2.2"
-
-EMULTILIB_PKG="true"
-
-# Gentoo patchset (ignored for live ebuilds)
-PATCH_VER=4
-PATCH_DEV=dilfridge
-
-# gcc mulitilib bootstrap files version
-GCC_BOOTSTRAP_VER=20201208
-
-# systemd integration version
-GLIBC_SYSTEMD_VER=20210729
-
-# Minimum kernel version that glibc requires
-MIN_KERN_VER="3.2.0"
-
-# Minimum pax-utils version needed (which contains any new syscall changes for
-# its seccomp filter!). Please double check this!
-MIN_PAX_UTILS_VER="1.3.3"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
-else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
- SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
-fi
-
-SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
-SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )"
-
-IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla"
-
-# Here's how the cross-compile logic breaks down ...
-# CTARGET - machine that will target the binaries
-# CHOST - machine that will host the binaries
-# CBUILD - machine that will build the binaries
-# If CTARGET != CHOST, it means you want a libc for cross-compiling.
-# If CHOST != CBUILD, it means you want to cross-compile the libc.
-# CBUILD = CHOST = CTARGET - native build/install
-# CBUILD != (CHOST = CTARGET) - cross-compile a native build
-# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
-# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
-# For install paths:
-# CHOST = CTARGET - install into /
-# CHOST != CTARGET - install into /usr/CTARGET/
-#
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-# Note [Disable automatic stripping]
-# Disabling automatic stripping for a few reasons:
-# - portage's attempt to strip breaks non-native binaries at least on
-# arm: bug #697428
-# - portage's attempt to strip libpthread.so.0 breaks gdb thread
-# enumeration: bug #697910. This is quite subtle:
-# * gdb uses glibc's libthread_db-1.0.so to enumerate threads.
-# * libthread_db-1.0.so needs access to libpthread.so.0 local symbols
-# via 'ps_pglobal_lookup' symbol defined in gdb.
-# * 'ps_pglobal_lookup' uses '.symtab' section table to resolve all
-# known symbols in 'libpthread.so.0'. Specifically 'nptl_version'
-# (unexported) is used to sanity check compatibility before enabling
-# debugging.
-# Also see https://sourceware.org/gdb/wiki/FAQ#GDB_does_not_see_any_threads_besides_the_one_in_which_crash_occurred.3B_or_SIGTRAP_kills_my_program_when_I_set_a_breakpoint
-# * normal 'strip' command trims '.symtab'
-# Thus our main goal here is to prevent 'libpthread.so.0' from
-# losing it's '.symtab' entries.
-# As Gentoo's strip does not allow us to pass less aggressive stripping
-# options and does not check the machine target we strip selectively.
-
-# We need a new-enough binutils/gcc to match upstream baseline.
-# Also we need to make sure our binutils/gcc supports TLS,
-# and that gcc already contains the hardened patches.
-# Lastly, let's avoid some openssh nastiness, bug 708224, as
-# convenience to our users.
-
-IDEPEND="
- !compile-locales? ( sys-apps/locale-gen )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=app-misc/pax-utils-${MIN_PAX_UTILS_VER}
- sys-devel/bison
- compile-locales? ( sys-apps/locale-gen )
- doc? (
- dev-lang/perl
- sys-apps/texinfo
- )
- test? (
- dev-lang/perl
- >=net-dns/libidn2-2.3.0
- )
-"
-COMMON_DEPEND="
- gd? ( media-libs/gd:2= )
- nscd? ( selinux? (
- audit? ( sys-process/audit )
- caps? ( sys-libs/libcap )
- ) )
- suid? ( caps? ( sys-libs/libcap ) )
- selinux? ( sys-libs/libselinux )
- systemtap? ( dev-util/systemtap )
-"
-DEPEND="${COMMON_DEPEND}
-"
-RDEPEND="${COMMON_DEPEND}
- !<app-misc/pax-utils-${MIN_PAX_UTILS_VER}
- perl? ( dev-lang/perl )
-"
-
-RESTRICT="!test? ( test )"
-
-if [[ ${CATEGORY} == cross-* ]] ; then
- BDEPEND+=" !headers-only? (
- >=${CATEGORY}/binutils-2.27
- >=${CATEGORY}/gcc-6.2
- )"
- [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
-else
- BDEPEND+="
- >=sys-devel/binutils-2.27
- >=sys-devel/gcc-6.2
- "
- DEPEND+=" virtual/os-headers "
- RDEPEND+="
- >=net-dns/libidn2-2.3.0
- vanilla? ( !sys-libs/timezone-data )
- "
- PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
-fi
-
-# Ignore tests whitelisted below
-GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}"
-
-# The following tests fail due to the Gentoo build system and are thus
-# executed but ignored:
-XFAIL_TEST_LIST=(
- # buggy test, assumes /dev/ and /dev/null on a single filesystem
- # 'mount --bind /dev/null /chroot/dev/null' breaks it.
- # https://sourceware.org/PR25909
- tst-support_descriptors
-
- # The following tests fail only inside portage
- # https://bugs.gentoo.org/831267
- tst-system
- tst-strerror
- tst-strsignal
-)
-
-XFAIL_NSPAWN_TEST_LIST=(
- # These tests need to be adapted to handle EPERM/ENOSYS(?) properly
- # upstream, as systemd-nspawn's default seccomp whitelist is too strict.
- # https://sourceware.org/PR30603
- test-errno-linux
- tst-bz21269
- tst-mlock2
- tst-ntp_gettime
- tst-ntp_gettime-time64
- tst-ntp_gettimex
- tst-ntp_gettimex-time64
- tst-pkey
- tst-process_mrelease
- tst-adjtime
- tst-adjtime-time64
- tst-clock2
- tst-clock2-time64
-
- # These fail if --suppress-sync and/or low priority is set
- tst-sync_file_range
- tst-sched1
- test-errno
-)
-
-#
-# Small helper functions
-#
-
-dump_build_environment() {
- einfo ==== glibc build environment ========================================================
- local v
- for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX CPP LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do
- einfo " $(printf '%15s' ${v}:) ${!v}"
- done
- einfo =====================================================================================
-}
-
-is_crosscompile() {
- [[ ${CHOST} != ${CTARGET} ]]
-}
-
-just_headers() {
- is_crosscompile && use headers-only
-}
-
-alt_prefix() {
- is_crosscompile && echo /usr/${CTARGET}
-}
-
-# This prefix is applicable to CHOST when building against this
-# glibc. It is baked into the library at configure time.
-host_eprefix() {
- is_crosscompile || echo "${EPREFIX}"
-}
-
-# This prefix is applicable to CBUILD when building against this
-# glibc. It determines the destination path at install time.
-build_eprefix() {
- is_crosscompile && echo "${EPREFIX}"
-}
-
-# We need to be able to set alternative headers for compiling for non-native
-# platform. Will also become useful for testing kernel-headers without screwing
-# up the whole system.
-alt_headers() {
- echo ${ALT_HEADERS:=$(alt_prefix)/usr/include}
-}
-
-alt_build_headers() {
- if [[ -z ${ALT_BUILD_HEADERS} ]] ; then
- ALT_BUILD_HEADERS="$(host_eprefix)$(alt_headers)"
- if tc-is-cross-compiler ; then
- ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers)
- if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then
- local header_path=$(echo '#include <linux/version.h>' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h')
- ALT_BUILD_HEADERS=${header_path%/linux/version.h}
- fi
- fi
- fi
- echo "${ALT_BUILD_HEADERS}"
-}
-
-alt_libdir() {
- echo $(alt_prefix)/$(get_libdir)
-}
-alt_usrlibdir() {
- echo $(alt_prefix)/usr/$(get_libdir)
-}
-
-builddir() {
- echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1"
-}
-
-do_compile_test() {
- local ret save_cflags=${CFLAGS}
- CFLAGS+=" $1"
- shift
-
- pushd "${T}" >/dev/null
-
- rm -f glibc-test*
- printf '%b' "$*" > glibc-test.c
-
- # We assume CC is already set up.
- nonfatal emake glibc-test
- ret=$?
-
- popd >/dev/null
-
- CFLAGS=${save_cflags}
- return ${ret}
-}
-
-do_run_test() {
- local ret
-
- if [[ ${MERGE_TYPE} == "binary" ]] ; then
- # ignore build failures when installing a binary package #324685
- do_compile_test "" "$@" 2>/dev/null || return 0
- else
- if ! do_compile_test "" "$@" ; then
- ewarn "Simple build failed ... assuming this is desired #324685"
- return 0
- fi
- fi
-
- pushd "${T}" >/dev/null
-
- ./glibc-test
- ret=$?
- rm -f glibc-test*
-
- popd >/dev/null
-
- return ${ret}
-}
-
-setup_target_flags() {
- # This largely mucks with compiler flags. None of which should matter
- # when building up just the headers.
- just_headers && return 0
-
- case $(tc-arch) in
- x86)
- # -march needed for #185404 #199334
- # TODO: When creating the first glibc cross-compile, this test will
- # always fail as it does a full link which in turn requires glibc.
- # Probably also applies when changing multilib profile settings (e.g.
- # enabling x86 when the profile was amd64-only previously).
- # We could change main to _start and pass -nostdlib here so that we
- # only test the gcc code compilation. Or we could do a compile and
- # then look for the symbol via scanelf.
- if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then
- local t=${CTARGET_OPT:-${CTARGET}}
- t=${t%%-*}
- filter-flags '-march=*'
- export CFLAGS="-march=${t} ${CFLAGS}"
- einfo "Auto adding -march=${t} to CFLAGS #185404"
- fi
- # For compatibility with older binaries at slight performance cost.
- use stack-realign && export CFLAGS+=" -mstackrealign"
- ;;
- amd64)
- # -march needed for #185404 #199334
- # TODO: See cross-compile issues listed above for x86.
- if [[ ${ABI} == x86 ]]; then
- if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then
- local t=${CTARGET_OPT:-${CTARGET}}
- t=${t%%-*}
- # Normally the target is x86_64-xxx, so turn that into the -march that
- # gcc actually accepts. #528708
- [[ ${t} == "x86_64" ]] && t="x86-64"
- filter-flags '-march=*'
- # ugly, ugly, ugly. ugly.
- CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}")
- export CFLAGS_x86="${CFLAGS_x86} -march=${t}"
- einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})"
- fi
- # For compatibility with older binaries at slight performance cost.
- use stack-realign && export CFLAGS_x86+=" -mstackrealign"
-
- # Workaround for bug #823780.
- # Need to save/restore CC because earlier on, we stuff it full of CFLAGS, and tc-getCPP doesn't like that.
- CC_mangled=${CC}
- CC=${glibc__GLIBC_CC}
- if tc-is-gcc && (($(gcc-major-version) == 11)) && (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then
- export CFLAGS_x86="${CFLAGS_x86} -mno-avx512f"
- einfo "Auto adding -mno-avx512f to CFLAGS_x86 for buggy GCC version (bug #823780) (ABI=${ABI})"
- fi
- CC=${CC_mangled}
- fi
- ;;
- mips)
- # The mips abi cannot support the GNU style hashes. #233233
- filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
- ;;
- ppc|ppc64)
- # Many arch-specific implementations do not work on ppc with
- # cache-block not equal to 128 bytes. This breaks memset:
- # https://sourceware.org/PR26522
- # https://bugs.gentoo.org/737996
- # Use default -mcpu=. For ppc it means non-multiarch setup.
- filter-flags '-mcpu=*'
- ;;
- sparc)
- # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though.
- filter-flags "-fcall-used-g7"
- append-flags "-fcall-used-g6"
-
- local cpu
- case ${CTARGET} in
- sparc64-*)
- cpu="sparc64"
- case $(get-flag mcpu) in
- v9)
- # We need to force at least v9a because the base build doesn't
- # work with just v9.
- # https://sourceware.org/bugzilla/show_bug.cgi?id=19477
- append-flags "-Wa,-xarch=v9a"
- ;;
- esac
- ;;
- sparc-*)
- case $(get-flag mcpu) in
- v8|supersparc|hypersparc|leon|leon3)
- cpu="sparcv8"
- ;;
- *)
- cpu="sparcv9"
- ;;
- esac
- ;;
- esac
- [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}"
- ;;
- esac
-}
-
-setup_flags() {
- # Make sure host make.conf doesn't pollute us
- if is_crosscompile || tc-is-cross-compiler ; then
- CHOST=${CTARGET} strip-unsupported-flags
- fi
-
- # Store our CFLAGS because it's changed depending on which CTARGET
- # we are building when pulling glibc on a multilib profile
- CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}}
- CFLAGS=${CFLAGS_BASE}
- CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}}
- CXXFLAGS=${CXXFLAGS_BASE}
- ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}}
- ASFLAGS=${ASFLAGS_BASE}
-
- # Allow users to explicitly avoid flag sanitization via
- # USE=custom-cflags.
- if ! use custom-cflags; then
- # Over-zealous CFLAGS can often cause problems. What may work for one
- # person may not work for another. To avoid a large influx of bugs
- # relating to failed builds, we strip most CFLAGS out to ensure as few
- # problems as possible.
- strip-flags
- # Lock glibc at -O2; we want to be conservative here.
- filter-flags '-O?'
- append-flags -O2
- fi
-
- strip-unsupported-flags
- filter-lto
- filter-flags -m32 -m64 '-mabi=*'
-
- # glibc aborts if rpath is set by LDFLAGS
- filter-ldflags '-Wl,-rpath=*'
-
- # ld can't use -r & --relax at the same time, bug #788901
- # https://sourceware.org/PR27837
- filter-ldflags '-Wl,--relax'
-
- # Flag added for cross-prefix, but causes ldconfig to segfault. Not needed
- # anyway because glibc already handles this by itself.
- filter-ldflags '-Wl,--dynamic-linker=*'
-
- # some weird software relies on sysv hashes in glibc, bug 863863, bug 864100
- # we have to do that here already so mips can filter it out again :P
- if use hash-sysv-compat ; then
- append-ldflags '-Wl,--hash-style=both'
- fi
-
- # #492892
- filter-flags -frecord-gcc-switches
-
- # #898098
- filter-flags -fno-builtin
-
- # #829583
- filter-lfs-flags
-
- unset CBUILD_OPT CTARGET_OPT
- if use multilib ; then
- CTARGET_OPT=$(get_abi_CTARGET)
- [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST)
- fi
-
- setup_target_flags
-
- if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then
- CBUILD_OPT=${CTARGET_OPT}
- fi
-
- # glibc's headers disallow -O0 and fail at build time:
- # include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization"
- # https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F
- replace-flags -O0 -O1
-
- # glibc handles this internally already where it's appropriate;
- # can't always have SSP when we're the ones setting it up, etc
- filter-flags '-fstack-protector*'
-
- # Similar issues as with SSP. Can't inject yourself that early.
- filter-flags '-fsanitize=*'
-
- # See end of bug #830454; we handle this via USE=cet
- filter-flags '-fcf-protection=*'
-
- # When bootstrapping, we may have a situation where
- # CET-enabled gcc from seed is used to build CET-disabled
- # glibc. As such, gcc implicitly enables CET if no
- # -fcf-protection flag is passed. For a typical package it
- # should not be a problem, but for glibc it matters as it is
- # dealing with CET in ld.so. So if CET is supposed to be
- # disabled for glibc, be explicit about it.
- if (use amd64 || use x86) && ! use cet; then
- append-flags '-fcf-protection=none'
- fi
-}
-
-use_multiarch() {
- # Allow user to disable runtime arch detection in multilib.
- use multiarch || return 1
- # Make sure binutils is new enough to support indirect functions,
- # #336792. This funky sed supports gold and bfd linkers.
- local bver nver
- bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}')
- case $(tc-arch ${CTARGET}) in
- amd64|x86) nver="2.20" ;;
- arm) nver="2.22" ;;
- hppa) nver="2.23" ;;
- ppc|ppc64) nver="2.20" ;;
- # ifunc support was added in 2.23, but glibc also needs
- # machinemode which is in 2.24.
- s390) nver="2.24" ;;
- sparc) nver="2.21" ;;
- *) return 1 ;;
- esac
- ver_test ${bver} -ge ${nver}
-}
-
-# Setup toolchain variables that had historically been defined in the
-# profiles for these archs.
-setup_env() {
- # silly users
- unset LD_RUN_PATH
- unset LD_ASSUME_KERNEL
-
- if is_crosscompile || tc-is-cross-compiler ; then
- multilib_env ${CTARGET_OPT:-${CTARGET}}
-
- if ! use multilib ; then
- MULTILIB_ABIS=${DEFAULT_ABI}
- else
- MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}}
- fi
-
- # If the user has CFLAGS_<CTARGET> in their make.conf, use that,
- # and fall back on CFLAGS.
- local VAR=CFLAGS_${CTARGET//[-.]/_}
- CFLAGS=${!VAR-${CFLAGS}}
- einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}"
- fi
-
- setup_flags
-
- export ABI=${ABI:-${DEFAULT_ABI:-default}}
-
- if just_headers ; then
- # Avoid mixing host's CC and target's CFLAGS_${ABI}:
- # At this bootstrap stage we have only binutils for
- # target but not compiler yet.
- einfo "Skip CC ABI injection. We can't use (cross-)compiler yet."
- return 0
- fi
-
- # Glibc does not work with gold (for various reasons) #269274.
- tc-ld-disable-gold
-
- if use doc ; then
- export MAKEINFO=makeinfo
- else
- export MAKEINFO=/dev/null
- fi
-
- # Reset CC and CXX to the value at start of emerge
- export CC=${glibc__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}}
- export CXX=${glibc__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}}
-
- # and make sure glibc__ORIG_CC and glibc__ORIG_CXX is defined now.
- export glibc__ORIG_CC=${CC}
- export glibc__ORIG_CXX=${CXX}
-
- if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then
- export glibc__force_gcc=yes
- # once this is toggled on, it needs to stay on, since with CPP manipulated
- # tc-is-clang does not work correctly anymore...
- fi
-
- if [[ ${glibc__force_gcc} == "yes" ]] ; then
- # If we are running in an otherwise clang/llvm environment, we need to
- # recover the proper gcc and binutils settings here, at least until glibc
- # is finally building with clang. So let's override everything that is
- # set in the clang profiles.
- # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always
- # a good start into that direction.
- # Also, if you're crosscompiling, let's assume you know what you are doing.
- # Hopefully.
- # Last, we need the settings of the *build* environment, not of the
- # target environment...
-
- local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B)
- local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B)
- einfo "Overriding clang configuration, since it won't work here"
-
- export CC="${current_gcc_path}/gcc"
- export CPP="${current_gcc_path}/cpp"
- export CXX="${current_gcc_path}/g++"
- export LD="${current_binutils_path}/ld.bfd"
- export AR="${current_binutils_path}/ar"
- export AS="${current_binutils_path}/as"
- export NM="${current_binutils_path}/nm"
- export STRIP="${current_binutils_path}/strip"
- export RANLIB="${current_binutils_path}/ranlib"
- export OBJCOPY="${current_binutils_path}/objcopy"
- export STRINGS="${current_binutils_path}/strings"
- export OBJDUMP="${current_binutils_path}/objdump"
- export READELF="${current_binutils_path}/readelf"
- export ADDR2LINE="${current_binutils_path}/addr2line"
-
- # do we need to also do flags munging here? yes! at least...
- filter-flags '-fuse-ld=*'
- filter-flags '-D_FORTIFY_SOURCE=*'
-
- else
-
- # this is the "normal" case
-
- export CC="$(tc-getCC ${CTARGET})"
- export CXX="$(tc-getCXX ${CTARGET})"
-
- # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure
- # can't detect them automatically due to ${CHOST} mismatch and fallbacks
- # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup().
- export NM="$(tc-getNM ${CTARGET})"
- export READELF="$(tc-getREADELF ${CTARGET})"
-
- fi
-
- # We need to export CFLAGS with abi information in them because glibc's
- # configure script checks CFLAGS for some targets (like mips). Keep
- # around the original clean value to avoid appending multiple ABIs on
- # top of each other. (Why does the comment talk about CFLAGS if the code
- # acts on CC?)
- export glibc__GLIBC_CC=${CC}
- export glibc__GLIBC_CXX=${CXX}
-
- export glibc__abi_CFLAGS="$(get_abi_CFLAGS)"
-
- # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760
- # To build .S (assembly) files with the same ABI-specific flags
- # upstream currently recommends adding CFLAGS to CC/CXX:
- # https://sourceware.org/PR23273
- # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS
- # and breaks multiarch support. See 659030#c3 for an example.
- # The glibc configure script doesn't properly use LDFLAGS all the time.
- export CC="${glibc__GLIBC_CC} ${glibc__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}"
-
- # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
- export CXX="${glibc__GLIBC_CXX} ${glibc__abi_CFLAGS} ${CFLAGS}"
-
- if is_crosscompile; then
- # Assume worst-case bootstrap: glibc is built for the first time
- # with ${CTARGET}-g++ not available yet. We avoid
- # building auxiliary programs that require C++: bug #683074
- # It should not affect final result.
- export libc_cv_cxx_link_ok=no
- # The line above has the same effect. We set CXX explicitly
- # to make build logs less confusing.
- export CXX=
- fi
-}
-
-foreach_abi() {
- setup_env
-
- local ret=0
- local abilist=""
- if use multilib ; then
- abilist=$(get_install_abis)
- else
- abilist=${DEFAULT_ABI}
- fi
- local -x ABI
- for ABI in ${abilist:-default} ; do
- setup_env
- einfo "Running $1 for ABI ${ABI}"
- $1
- : $(( ret |= $? ))
- done
- return ${ret}
-}
-
-glibc_banner() {
- local b="Gentoo ${PVR}"
- [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" (patchset ${PATCH_VER})"
- echo "${b}"
-}
-
-# The following Kernel version handling functions are mostly copied from portage
-# source. It's better not to use linux-info.eclass here since a) it adds too
-# much magic, see bug 326693 for some of the arguments, and b) some of the
-# functions are just not provided.
-
-g_get_running_KV() {
- uname -r
- return $?
-}
-
-g_KV_major() {
- [[ -z $1 ]] && return 1
- local KV=$@
- echo "${KV%%.*}"
-}
-
-g_KV_minor() {
- [[ -z $1 ]] && return 1
- local KV=$@
- KV=${KV#*.}
- echo "${KV%%.*}"
-}
-
-g_KV_micro() {
- [[ -z $1 ]] && return 1
- local KV=$@
- KV=${KV#*.*.}
- echo "${KV%%[^[:digit:]]*}"
-}
-
-g_KV_to_int() {
- [[ -z $1 ]] && return 1
- local KV_MAJOR=$(g_KV_major "$1")
- local KV_MINOR=$(g_KV_minor "$1")
- local KV_MICRO=$(g_KV_micro "$1")
- local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO ))
-
- # We make version 2.2.0 the minimum version we will handle as
- # a sanity check ... if its less, we fail ...
- if [[ ${KV_int} -ge 131584 ]] ; then
- echo "${KV_int}"
- return 0
- fi
- return 1
-}
-
-g_int_to_KV() {
- local version=$1 major minor micro
- major=$((version / 65536))
- minor=$(((version % 65536) / 256))
- micro=$((version % 256))
- echo ${major}.${minor}.${micro}
-}
-
-eend_KV() {
- [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]]
- eend $?
-}
-
-get_kheader_version() {
- printf '#include <linux/version.h>\nLINUX_VERSION_CODE\n' | \
- $(tc-getCPP ${CTARGET}) -I "$(build_eprefix)$(alt_build_headers)" - | \
- tail -n 1
-}
-
-# We collect all sanity checks here. Consistency is not guranteed between
-# pkg_ and src_ phases, so we call this function both in pkg_pretend and in
-# src_unpack.
-sanity_prechecks() {
- # Prevent native builds from downgrading
- if [[ ${MERGE_TYPE} != "buildonly" ]] && \
- [[ -z ${ROOT} ]] && \
- [[ ${CBUILD} == ${CHOST} ]] && \
- [[ ${CHOST} == ${CTARGET} ]] ; then
-
- # The high rev # is to allow people to downgrade between -r#
- # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2
- # should be fine. Hopefully we never actually use a r# this
- # high.
- if has_version ">${CATEGORY}/${P}-r10000" ; then
- eerror "Sanity check to keep you from breaking your system:"
- eerror " Downgrading glibc is not supported and a sure way to destruction."
- [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system."
- fi
-
- if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then
- eerror "Your old kernel is broken. You need to update it to a newer"
- eerror "version as syscall(<bignum>) will break. See bug 279260."
- die "Old and broken kernel."
- fi
- fi
-
- if [[ ${CTARGET} == i386-* ]] ; then
- eerror "i386 CHOSTs are no longer supported."
- eerror "Chances are you don't actually want/need i386."
- eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml"
- die "Please fix your CHOST"
- fi
-
- if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then
- ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS."
- ewarn "This will result in a 50% performance penalty when running with a 32bit"
- ewarn "hypervisor, which is probably not what you want."
- fi
-
- # ABI-specific checks follow here. Hey, we have a lot more specific conditions that
- # we test for...
- if ! is_crosscompile ; then
- if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then
- ebegin "Checking that IA32 emulation is enabled in the running kernel"
- echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c"
- local STAT
- if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then
- "${T}/check-ia32-emulation.elf32"
- STAT=$?
- else
- # Don't fail here to allow single->multi ABI switch
- # or recover from breakage like bug #646424
- ewarn "Failed to compile the ABI test. Broken host glibc?"
- STAT=0
- fi
- rm -f "${T}/check-ia32-emulation.elf32"
- eend $STAT
- [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc."
- fi
-
- fi
-
- # When we actually have to compile something...
- if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then
- if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then
- # bug #833620, bug #643302
- eerror "Found ${ESYSROOT}/usr/lib/include directory!"
- eerror "This is known to break glibc's build."
- eerror "Please backup its contents then remove the directory."
- die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!"
- fi
-
- if [[ ${CTARGET} == *-linux* ]] ; then
- local run_kv build_kv want_kv
-
- run_kv=$(g_get_running_KV)
- build_kv=$(g_int_to_KV $(get_kheader_version))
- want_kv=${MIN_KERN_VER}
-
- if ! is_crosscompile && ! tc-is-cross-compiler ; then
- # Building fails on an non-supporting kernel
- ebegin "Checking running kernel version (${run_kv} >= ${want_kv})"
- if ! eend_KV ${run_kv} ${want_kv} ; then
- echo
- eerror "You need a kernel of at least ${want_kv}!"
- die "Kernel version too low!"
- fi
- fi
-
- # Do not run this check for pkg_pretend, just pkg_setup and friends (if we ever get used there).
- # It's plausible (seen it in the wild) that Portage will (correctly) schedule a linux-headers
- # upgrade before glibc, but because pkg_pretend gets run before any packages are merged at all (not
- # just glibc), the whole emerge gets aborted without a good reason. We probably don't
- # need to run this check at all given we have a dependency on the right headers,
- # but let's leave it as-is for now.
- if [[ ${EBUILD_PHASE_FUNC} != pkg_pretend ]] ; then
- ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})"
- if ! eend_KV ${build_kv} ${want_kv} ; then
- echo
- eerror "You need linux-headers of at least ${want_kv}!"
- die "linux-headers version too low!"
- fi
- fi
- fi
- fi
-}
-
-upgrade_warning() {
- is_crosscompile && return
-
- if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then
- local oldv newv=$(ver_cut 1-2 ${PV})
- for oldv in ${REPLACING_VERSIONS}; do
- if ver_test ${oldv} -lt ${newv}; then
- ewarn "After upgrading glibc, please restart all running processes."
- ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)."
- ewarn "Alternatively, reboot your system."
- ewarn "(See bug #660556, bug #741116, bug #823756, etc)"
- break
- fi
- done
- fi
-}
-
-#
-# the phases
-#
-
-# pkg_pretend
-
-pkg_pretend() {
- upgrade_warning
-}
-
-# pkg_setup
-
-pkg_setup() {
- # see bug 682570
- [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup
-}
-
-# src_unpack
-
-src_unpack() {
- setup_env
-
- einfo "Checking general environment sanity."
- sanity_prechecks
-
- use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz
-
- if [[ ${PV} == 9999* ]] ; then
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git"
- EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
- git-r3_src_unpack
- mv patches-git/9999 patches || die
-
- EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
- EGIT_CHECKOUT_DIR=${S}
- git-r3_src_unpack
- else
- unpack ${P}.tar.xz
-
- cd "${WORKDIR}" || die
- unpack glibc-${PV}-patches-${PATCH_VER}.tar.xz
- fi
-
- cd "${WORKDIR}" || die
- use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz
-}
-
-# src_prepare
-
-src_prepare() {
- local patchsetname
- if ! use vanilla ; then
- if [[ ${PV} == 9999* ]] ; then
- patchsetname="from git master"
- else
- patchsetname="${PV}-${PATCH_VER}"
- fi
- einfo "Applying Gentoo Glibc patchset ${patchsetname}"
- eapply "${WORKDIR}"/patches
- einfo "Done."
- fi
-
- default
-
- gnuconfig_update
-
- cd "${WORKDIR}" || die
- find . -name configure -exec touch {} +
-
- # Fix permissions on some of the scripts.
- chmod u+x "${S}"/scripts/*.sh
-
- cd "${S}" || die
-}
-
-# src_configure
-
-glibc_do_configure() {
- dump_build_environment
-
- local myconf=()
-
- # Use '=strong' instead of '=all' to protect only functions
- # worth protecting from stack smashes.
- myconf+=( --enable-stack-protector=$(usex ssp strong no) )
-
- # Keep a whitelist of targets supporing IFUNC. glibc's ./configure
- # is not robust enough to detect proper support:
- # https://bugs.gentoo.org/641216
- # https://sourceware.org/PR22634#c0
- case $(tc-arch ${CTARGET}) in
- # Keep whitelist of targets where autodetection mostly works.
- amd64|x86|sparc|ppc|ppc64|arm|arm64|s390|riscv|loong) ;;
- # Blacklist everywhere else
- *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;;
- esac
-
- # Enable Intel Control-flow Enforcement Technology on amd64 if requested
- case ${CTARGET} in
- x86_64-*) myconf+=( $(use_enable cet) ) ;;
- *) ;;
- esac
-
- [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp )
-
- myconf+=( --enable-kernel=${MIN_KERN_VER} )
-
- # Since SELinux support is only required for nscd, only enable it if:
- # 1. USE selinux
- # 2. only for the primary ABI on multilib systems
- # 3. Not a crosscompile
- if ! is_crosscompile && use selinux ; then
- if use multilib ; then
- if is_final_abi ; then
- myconf+=( --with-selinux )
- else
- myconf+=( --without-selinux )
- fi
- else
- myconf+=( --with-selinux )
- fi
- else
- myconf+=( --without-selinux )
- fi
-
- # Force a few tests where we always know the answer but
- # configure is incapable of finding it.
- if is_crosscompile ; then
- export \
- libc_cv_c_cleanup=yes \
- libc_cv_forced_unwind=yes
- fi
-
- myconf+=(
- --disable-werror
- --enable-bind-now
- --enable-fortify-source
- --build=${CBUILD_OPT:-${CBUILD}}
- --host=${CTARGET_OPT:-${CTARGET}}
- $(use_enable profile)
- $(use_with gd)
- --with-headers=$(build_eprefix)$(alt_build_headers)
- --prefix="$(host_eprefix)/usr"
- --sysconfdir="$(host_eprefix)/etc"
- --localstatedir="$(host_eprefix)/var"
- --libdir='$(prefix)'/$(get_libdir)
- --mandir='$(prefix)'/share/man
- --infodir='$(prefix)'/share/info
- --libexecdir='$(libdir)'/misc/glibc
- --with-bugurl=https://bugs.gentoo.org/
- --with-pkgversion="$(glibc_banner)"
- $(use_enable crypt)
- $(use_multiarch || echo --disable-multi-arch)
- $(use_enable systemtap)
- $(use_enable nscd)
-
- # /usr/bin/mtrace has a Perl shebang. Gentoo Prefix QA checks fail if
- # Perl hasn't been installed inside the prefix yet and configure picks
- # up a Perl from outside the prefix instead. configure will fail to
- # execute Perl during configure if we're cross-compiling a prefix, but
- # it will just disable mtrace in that case.
- # Note: mtrace is needed by the test suite.
- ac_cv_path_PERL="$(usex perl "${EPREFIX}"/usr/bin/perl $(usex test "${EPREFIX}"/usr/bin/perl $(usex doc "${EPREFIX}"/usr/bin/perl no)))"
-
- # locale data is arch-independent
- # https://bugs.gentoo.org/753740
- libc_cv_complocaledir='${exec_prefix}/lib/locale'
-
- # On aarch64 there is no way to override -mcpu=native, and if
- # the current cpu does not support SVE configure fails.
- # Let's boldly assume our toolchain can always build SVE instructions.
- libc_cv_aarch64_sve_asm=yes
-
- ${EXTRA_ECONF}
- )
-
- # We rely on sys-libs/timezone-data for timezone tools normally.
- myconf+=( $(use_enable vanilla timezone-tools) )
-
- # These libs don't have configure flags.
- ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no)
- ac_cv_lib_cap_cap_init=$(usex caps || echo no)
-
- # There is no configure option for this and we need to export it
- # since the glibc build will re-run configure on itself
- export libc_cv_rootsbindir="$(host_eprefix)/sbin"
- export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)"
-
- local builddir=$(builddir nptl)
- mkdir -p "${builddir}"
- cd "${builddir}"
- set -- "${S}"/configure "${myconf[@]}"
- echo "$@"
- "$@" || die "failed to configure glibc"
-
- # ia64 static cross-compilers are a pita in so much that they
- # can't produce static ELFs (as the libgcc.a is broken). so
- # disable building of the programs for those targets if it
- # doesn't work.
- # XXX: We could turn this into a compiler test, but ia64 is
- # the only one that matters, so this should be fine for now.
- if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then
- sed -i '1i+link-static = touch $@' config.make
- fi
-
- # If we're trying to migrate between ABI sets, we need
- # to lie and use a local copy of gcc. Like if the system
- # is built with MULTILIB_ABIS="amd64 x86" but we want to
- # add x32 to it, gcc/glibc don't yet support x32.
- #
- if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib-bootstrap ; then
- echo 'int main(void){}' > "${T}"/test.c || die
- if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then
- sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die
- fi
- fi
-}
-
-glibc_headers_configure() {
- export ABI=default
-
- local builddir=$(builddir "headers")
- mkdir -p "${builddir}"
- cd "${builddir}"
-
- # if we don't have a compiler yet, we can't really test it now ...
- # hopefully they don't affect header generation, so let's hope for
- # the best here ...
- local v vars=(
- ac_cv_header_cpuid_h=yes
- libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes
- libc_cv_asm_cfi_directives=yes
- libc_cv_broken_visibility_attribute=no
- libc_cv_c_cleanup=yes
- libc_cv_compiler_powerpc64le_binary128_ok=yes
- libc_cv_forced_unwind=yes
- libc_cv_gcc___thread=yes
- libc_cv_mlong_double_128=yes
- libc_cv_mlong_double_128ibm=yes
- libc_cv_ppc_machine=yes
- libc_cv_ppc_rel16=yes
- libc_cv_predef_fortify_source=no
- libc_cv_target_power8_ok=yes
- libc_cv_visibility_attribute=yes
- libc_cv_z_combreloc=yes
- libc_cv_z_execstack=yes
- libc_cv_z_initfirst=yes
- libc_cv_z_nodelete=yes
- libc_cv_z_nodlopen=yes
- libc_cv_z_relro=yes
- libc_mips_abi=${ABI}
- libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard)
- # These libs don't have configure flags.
- ac_cv_lib_audit_audit_log_user_avc_message=no
- ac_cv_lib_cap_cap_init=no
- )
-
- einfo "Forcing cached settings:"
- for v in "${vars[@]}" ; do
- einfo " ${v}"
- export ${v}
- done
-
- local headers_only_arch_CPPFLAGS=()
-
- # Blow away some random CC settings that screw things up. #550192
- if [[ -d ${S}/sysdeps/mips ]]; then
- pushd "${S}"/sysdeps/mips >/dev/null
- sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die
- sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die
-
- # Force the mips ABI to the default. This is OK because the set of
- # installed headers in this phase is the same between the 3 ABIs.
- # If this ever changes, this hack will break, but that's unlikely
- # as glibc discourages that behavior.
- # https://crbug.com/647033
- sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die
-
- popd >/dev/null
- fi
-
- case ${CTARGET} in
- riscv*)
- # RISC-V interrogates the compiler to determine which target to
- # build. If building the headers then we don't strictly need a
- # RISC-V compiler, so the built-in definitions that are provided
- # along with all RISC-V compiler might not exist. This causes
- # glibc's RISC-V preconfigure script to blow up. Since we're just
- # building the headers any value will actually work here, so just
- # pick the standard one (rv64g/lp64d) to make the build scripts
- # happy for now -- the headers are all the same anyway so it
- # doesn't matter.
- headers_only_arch_CPPFLAGS+=(
- -D__riscv_xlen=64
- -D__riscv_flen=64
- -D__riscv_float_abi_double=1
- -D__riscv_atomic=1
- ) ;;
- esac
-
- local myconf=()
- myconf+=(
- --disable-sanity-checks
- --enable-hacker-mode
- --disable-werror
- --enable-bind-now
- --build=${CBUILD_OPT:-${CBUILD}}
- --host=${CTARGET_OPT:-${CTARGET}}
- --with-headers=$(build_eprefix)$(alt_build_headers)
- --prefix="$(host_eprefix)/usr"
- $(use_enable crypt)
- ${EXTRA_ECONF}
- )
-
- # Nothing is compiled here which would affect the headers for the target.
- # So forcing CC/CFLAGS is sane.
- local headers_only_CC=$(tc-getBUILD_CC)
- local headers_only_CFLAGS="-O1 -pipe"
- local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}"
- local headers_only_LDFLAGS=""
- set -- "${S}"/configure "${myconf[@]}"
- echo \
- "CC=${headers_only_CC}" \
- "CFLAGS=${headers_only_CFLAGS}" \
- "CPPFLAGS=${headers_only_CPPFLAGS}" \
- "LDFLAGS=${headers_only_LDFLAGS}" \
- "$@"
- CC=${headers_only_CC} \
- CFLAGS=${headers_only_CFLAGS} \
- CPPFLAGS=${headers_only_CPPFLAGS} \
- LDFLAGS="" \
- "$@" || die "failed to configure glibc"
-}
-
-do_src_configure() {
- if just_headers ; then
- glibc_headers_configure
- else
- glibc_do_configure nptl
- fi
-}
-
-src_configure() {
- foreach_abi do_src_configure
-}
-
-# src_compile
-
-do_src_compile() {
- emake -C "$(builddir nptl)"
-}
-
-src_compile() {
- if just_headers ; then
- return
- fi
-
- foreach_abi do_src_compile
-}
-
-# src_test
-
-glibc_src_test() {
- cd "$(builddir nptl)"
-
- local myxfailparams=""
- if [[ "${GENTOO_GLIBC_XFAIL_TESTS}" == "yes" ]] ; then
- local virt=$(systemd-detect-virt 2>/dev/null)
- if [[ ${virt} == systemd-nspawn ]] ; then
- ewarn "Skipping extra tests because in systemd-nspawn container"
- XFAIL_TEST_LIST+=( "${XFAIL_NSPAWN_TEST_LIST[@]}" )
- fi
-
- for myt in ${XFAIL_TEST_LIST[@]} ; do
- myxfailparams+="test-xfail-${myt}=yes "
- done
- fi
-
- # sandbox does not understand unshare() and prevents
- # writes to /proc/, which makes many tests fail
-
- # we give the tests a bit more time to avoid spurious
- # bug reports on slow arches
-
- SANDBOX_ON=0 LD_PRELOAD= TIMEOUTFACTOR=32 emake ${myxfailparams} check
-}
-
-src_test() {
- if just_headers ; then
- return
- fi
-
- foreach_abi glibc_src_test || die "tests failed"
-}
-
-# src_install
-
-run_locale_gen() {
- # if the host locales.gen contains no entries, we'll install everything
- local root="$1"
- local inplace=""
-
- if [[ "${root}" == "--inplace-glibc" ]] ; then
- inplace="--inplace-glibc"
- root="$2"
- fi
-
- local locale_list="${root%/}/etc/locale.gen"
-
- pushd "${ED}"/$(get_libdir) >/dev/null
-
- if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
- [[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
- locale_list="${root%/}/usr/share/i18n/SUPPORTED"
- fi
-
- # bug 736794: we need to be careful with the parallelization... the number of
- # processors saved in the environment of a binary package may differ strongly
- # from the number of processes available during postinst
- local mygenjobs="$(makeopts_jobs)"
- if [[ "${EMERGE_FROM}" == "binary" ]] ; then
- mygenjobs="$(nproc)"
- fi
-
- set -- locale-gen ${inplace} --jobs "${mygenjobs}" --config "${locale_list}" \
- --destdir "${root}"
- echo "$@"
- "$@"
-
- popd >/dev/null
-}
-
-glibc_do_src_install() {
- local builddir=$(builddir nptl)
- cd "${builddir}"
-
- emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install
-
- # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support
- # which come without headers etc. Only needed for binary packages since the
- # external net-libs/libnsl has increased soversion. Keep only versioned libraries.
- find "${D}" -name "libnsl.a" -delete
- find "${D}" -name "libnsl.so" -delete
-
- # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need
- # to infer upstream version:
- # '#define VERSION "2.26.90"' -> '2.26.90'
- local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h)
-
- # Avoid stripping binaries not targeted by ${CHOST}. Or else
- # ${CHOST}-strip would break binaries build for ${CTARGET}.
- is_crosscompile && dostrip -x /
-
- # gdb thread introspection relies on local libpthreads symbols. stripping breaks it
- # See Note [Disable automatic stripping]
- dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so
-
- if [[ -e ${ED}/$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then
- # Move versioned .a file out of libdir to evade portage QA checks
- # instead of using gen_usr_ldscript(). We fix ldscript as:
- # "GROUP ( /usr/lib64/libm-<pv>.a ..." -> "GROUP ( /usr/lib64/glibc-<pv>/libm-<pv>.a ..."
- sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" "${ED}"/$(alt_usrlibdir)/libm.a || die
- dodir $(alt_usrlibdir)/${P}
- mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a "${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die
- fi
-
- # We configure toolchains for standalone prefix systems with a sysroot,
- # which is prepended to paths in ld scripts, so strip the prefix from these.
- # Before: GROUP ( /foo/lib64/libc.so.6 /foo/usr/lib64/libc_nonshared.a AS_NEEDED ( /foo/lib64/ld-linux-x86-64.so.2 ) )
- # After: GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) )
- if [[ -n $(host_eprefix) ]] ; then
- local file
- grep -lZIF "ld script" "${ED}/$(alt_usrlibdir)"/lib*.{a,so} 2>/dev/null | while read -rd '' file ; do
- sed -i "s|$(host_eprefix)/|/|g" "${file}" || die
- done
- fi
-
- # We'll take care of the cache ourselves
- rm -f "${ED}"/etc/ld.so.cache
-
- # Everything past this point just needs to be done once ...
- is_final_abi || return 0
-
- # Make sure the non-native interp can be found on multilib systems even
- # if the main library set isn't installed into the right place. Maybe
- # we should query the active gcc for info instead of hardcoding it ?
- local i ldso_abi ldso_name
- local ldso_abi_list=(
- # x86
- amd64 /lib64/ld-linux-x86-64.so.2
- x32 /libx32/ld-linux-x32.so.2
- x86 /lib/ld-linux.so.2
- # mips
- o32 /lib/ld.so.1
- n32 /lib32/ld.so.1
- n64 /lib64/ld.so.1
- # powerpc
- ppc /lib/ld.so.1
- # riscv
- ilp32d /lib/ld-linux-riscv32-ilp32d.so.1
- ilp32 /lib/ld-linux-riscv32-ilp32.so.1
- lp64d /lib/ld-linux-riscv64-lp64d.so.1
- lp64 /lib/ld-linux-riscv64-lp64.so.1
- # s390
- s390 /lib/ld.so.1
- s390x /lib/ld64.so.1
- # sparc
- sparc32 /lib/ld-linux.so.2
- sparc64 /lib64/ld-linux.so.2
- )
- case $(tc-endian) in
- little)
- ldso_abi_list+=(
- # arm
- arm64 /lib/ld-linux-aarch64.so.1
- # ELFv2 (glibc does not support ELFv1 on LE)
- ppc64 /lib64/ld64.so.2
- )
- ;;
- big)
- ldso_abi_list+=(
- # arm
- arm64 /lib/ld-linux-aarch64_be.so.1
- # ELFv1 (glibc does not support ELFv2 on BE)
- ppc64 /lib64/ld64.so.1
- )
- ;;
- esac
- if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then
- dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib
- fi
- for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do
- ldso_abi=${ldso_abi_list[i]}
- has ${ldso_abi} $(get_install_abis) || continue
-
- ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}"
- if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then
- dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name}
- fi
- done
-
- # In the LSB 5.0 definition, someone had the excellent idea to "standardize"
- # the runtime loader name, see also https://xkcd.com/927/
- # Normally, in Gentoo one should never come across executables that require this.
- # However, binary commercial packages are known to adhere to weird practices.
- # https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-AMD64/LSB-Core-AMD64.html#BASELIB
- local lsb_ldso_name native_ldso_name lsb_ldso_abi
- local lsb_ldso_abi_list=(
- # x86
- amd64 ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3
- )
- for (( i = 0; i < ${#lsb_ldso_abi_list[@]}; i += 3 )) ; do
- lsb_ldso_abi=${lsb_ldso_abi_list[i]}
- native_ldso_name=${lsb_ldso_abi_list[i+1]}
- lsb_ldso_name=${lsb_ldso_abi_list[i+2]}
- has ${lsb_ldso_abi} $(get_install_abis) || continue
-
- if [[ ! -L ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} && ! -e ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} ]] ; then
- dosym ${native_ldso_name} "$(alt_prefix)/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name}"
- fi
- done
-
- # With devpts under Linux mounted properly, we do not need the pt_chown
- # binary to be setuid. This is because the default owners/perms will be
- # exactly what we want.
- if ! use suid ; then
- find "${ED}" -name pt_chown -exec chmod -s {} +
- fi
-
- #################################################################
- # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY #
- #################################################################
-
- # Make sure we install some symlink hacks so that when we build
- # a 2nd stage cross-compiler, gcc finds the target system
- # headers correctly. See gcc/doc/gccinstall.info
- if is_crosscompile ; then
- # We need to make sure that /lib and /usr/lib always exists.
- # gcc likes to use relative paths to get to its multilibs like
- # /usr/lib/../lib64/. So while we don't install any files into
- # /usr/lib/, we do need it to exist.
- keepdir $(alt_prefix)/lib
- keepdir $(alt_prefix)/usr/lib
-
- dosym usr/include $(alt_prefix)/sys-include
- return 0
- fi
-
- # Files for Debian-style locale updating
- dodir /usr/share/i18n
- sed \
- -e "/^#/d" \
- -e "/SUPPORTED-LOCALES=/d" \
- -e "s: \\\\::g" -e "s:/: :g" \
- "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \
- || die "generating /usr/share/i18n/SUPPORTED failed"
-
- cd "${S}" || die
-
- # Install misc network config files
- insinto /etc
- doins posix/gai.conf
-
- if use systemd ; then
- doins "${WORKDIR}/glibc-systemd-${GLIBC_SYSTEMD_VER}/gentoo-config/nsswitch.conf"
- else
- doins nss/nsswitch.conf
- fi
-
- # Gentoo-specific
- newins "${FILESDIR}"/host.conf-1 host.conf
-
- if use nscd ; then
- doins nscd/nscd.conf
-
- newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd
-
- local nscd_args=(
- -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):"
- )
-
- sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd
-
- use systemd && systemd_dounit nscd/nscd.service
- newtmpfiles nscd/nscd.tmpfiles nscd.conf
- fi
-
- echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc
- doenvd "${T}"/00glibc
-
- for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do
- [[ -s ${d} ]] && dodoc ${d}
- done
- dodoc -r ChangeLog.old
-
- # Prevent overwriting of the /etc/localtime symlink. We'll handle the
- # creation of the "factory" symlink in pkg_postinst().
- rm -f "${ED}"/etc/localtime
-
- # Generate all locales if this is a native build as locale generation
- if use compile-locales && ! is_crosscompile ; then
- run_locale_gen --inplace-glibc "${ED}/"
- fi
-}
-
-glibc_headers_install() {
- local builddir=$(builddir "headers")
- cd "${builddir}"
- emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers
-
- insinto $(alt_headers)/gnu
- doins "${S}"/include/gnu/stubs.h
-
- # Make sure we install the sys-include symlink so that when
- # we build a 2nd stage cross-compiler, gcc finds the target
- # system headers correctly. See gcc/doc/gccinstall.info
- dosym usr/include $(alt_prefix)/sys-include
-}
-
-src_install() {
- if just_headers ; then
- export ABI=default
- glibc_headers_install
- return
- fi
-
- foreach_abi glibc_do_src_install
-
- if ! use static-libs ; then
- einfo "Not installing static glibc libraries"
- find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete
- fi
-}
-
-# Simple test to make sure our new glibc isn't completely broken.
-# Make sure we don't test with statically built binaries since
-# they will fail. Also, skip if this glibc is a cross compiler.
-#
-# If coreutils is built with USE=multicall, some of these files
-# will just be wrapper scripts, not actual ELFs we can test.
-glibc_sanity_check() {
- cd / #228809
-
- # We enter ${ED} so to avoid trouble if the path contains
- # special characters; for instance if the path contains the
- # colon character (:), then the linker will try to split it
- # and look for the libraries in an unexpected place. This can
- # lead to unsafe code execution if the generated prefix is
- # within a world-writable directory.
- # (e.g. /var/tmp/portage:${HOSTNAME})
- pushd "${ED}"/$(get_libdir) >/dev/null
-
- # first let's find the actual dynamic linker here
- # symlinks may point to the wrong abi
- local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit)
-
- einfo Last-minute run tests with ${newldso} in /$(get_libdir) ...
-
- local x striptest
- for x in cal date env free ls true uname uptime ; do
- x=$(type -p ${x})
- [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue
- striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue
- case ${striptest} in
- *"statically linked"*) continue;;
- *"ASCII text"*) continue;;
- esac
- # We need to clear the locale settings as the upgrade might want
- # incompatible locale data. This test is not for verifying that.
- LC_ALL=C \
- ${newldso} --library-path . ${x} > /dev/null \
- || die "simple run test (${x}) failed"
- done
-
- popd >/dev/null
-}
-
-pkg_preinst() {
- # nothing to do if just installing headers
- just_headers && return
-
- einfo "Checking general environment sanity."
- sanity_prechecks
-
- # prepare /etc/ld.so.conf.d/ for files
- mkdir -p "${EROOT}"/etc/ld.so.conf.d
-
- # Default /etc/hosts.conf:multi to on for systems with small dbs.
- if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then
- sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf
- einfo "Defaulting /etc/host.conf:multi to on"
- fi
-
- [[ -n ${ROOT} ]] && return 0
- [[ -d ${ED}/$(get_libdir) ]] || return 0
- [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check
-
- if [[ -L ${EROOT}/usr/lib/locale ]]; then
- # Help portage migrate this to a directory
- # https://bugs.gentoo.org/753740
- rm "${EROOT}"/usr/lib/locale || die
- fi
-
- # Keep around libcrypt so that Perl doesn't break when merging libxcrypt
- # (libxcrypt is the new provider for now of libcrypt.so.{1,2}).
- # bug #802207
- if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then
- PRESERVED_OLD_LIBCRYPT=1
- cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" "${T}/libcrypt$(get_libname 1)" || die
- else
- PRESERVED_OLD_LIBCRYPT=0
- fi
-}
-
-glibc_refresh_ldconfig() {
- if [[ ${MERGE_TYPE} == buildonly ]]; then
- return
- fi
-
- # Version check could be added to avoid unnecessary work, but ldconfig
- # should finish quickly enough to not matter.
- ebegin "Refreshing ld.so.cache"
- ldconfig -i
- if ! eend $?; then
- ewarn "Failed to refresh the ld.so.cache for you. Some programs may be broken"
- ewarn "before you manually do so (ldconfig -i)."
- fi
-}
-
-pkg_postinst() {
- # nothing to do if just installing headers
- just_headers && return
-
- if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then
- # Generate fastloading iconv module configuration file.
- "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}/"
- fi
-
- if ! is_crosscompile && [[ -z ${ROOT} ]] ; then
- # glibc-2.38+ on loong has ldconfig support added, but the ELF e_flags
- # handling has changed as well, which means stale ldconfig auxiliary
- # cache entries and failure to lookup libgcc_s / libstdc++ (breaking
- # every C++ application) / libgomp etc., among other breakages.
- #
- # To fix this, simply refresh the ld.so.cache without using the
- # auxiliary cache if we're natively installing on loong. This should
- # be done relatively soon because we want to minimize the breakage
- # window for the affected programs.
- use loong && glibc_refresh_ldconfig
-
- use compile-locales || run_locale_gen "${EROOT}/"
- fi
-
- upgrade_warning
-
- # Check for sanity of /etc/nsswitch.conf, take 2
- if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then
- local entry
- for entry in passwd group shadow; do
- if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then
- ewarn ""
- ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been"
- ewarn "removed from glibc and is now provided by the package"
- ewarn " sys-auth/libnss-nis"
- ewarn "Install it now to keep your NIS setup working."
- ewarn ""
- fi
- done
- fi
-
- if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then
- cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die
- preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1)
-
- elog "Please ignore a possible later error message about a file collision involving"
- elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep"
- elog "the upgrade working, but it also needs to be overwritten when"
- elog "sys-libs/libxcrypt is installed. See bug 802210 for more details."
- fi
-}
diff --git a/www-apps/Manifest.gz b/www-apps/Manifest.gz
index 176176e4efe4..dfe71a1525ce 100644
--- a/www-apps/Manifest.gz
+++ b/www-apps/Manifest.gz
Binary files differ
diff --git a/www-apps/ttyd/Manifest b/www-apps/ttyd/Manifest
index da64a05e1324..6b449ebbdfb9 100644
--- a/www-apps/ttyd/Manifest
+++ b/www-apps/ttyd/Manifest
@@ -1,7 +1,9 @@
-AUX ttyd.confd 1715 BLAKE2B 935298b712e2b52d98e7f811cd386497c34643933b86a4920f7744cd5fb6f2aadf3ac3b1ddb4567db526a9d7b079a7660f482609e955fb23f24b686e52cb7c9f SHA512 3eb0c9c71cb18e65c2a42c07581b7593441a4781bd1a94010e891ef1970babac5d78b3966b4e8bab95f6d67c3d1f03e4a75839b933d0dc0bf98e2fd2d52844ad
+AUX ttyd.confd 2351 BLAKE2B 971fa19f54c194c3791a464d065ac1c4074bf8d1b16170704b87b7d8f50bbd265ba913656c4e4d06ba1b5413df50d422f6eebbaef6cd7b0760d94f1043e57e34 SHA512 15f7372961ac0e7805d7f72d37a254011dfa0822d4252e6a7ad3bec852d1da951d1bf21421a997e01702eb7bf3476d8e110d9f89cec62666ace6d0d11971dc2e
AUX ttyd.initd 308 BLAKE2B 9d78f775a0e529d55cddfd92488829d2aa79f2321b5f70c54649a8a6faeffb0ceaa899cf19187c6b51919092348659cb1d930bf144921dab65e1f007c6ef0054 SHA512 a955068ab20f06165c10af89ae7e02c38f24247f7b7a5aa86da38cf4361555c6bb009a76e34d1ff6fb41df2555d91d42bc1494a2324c30a89098fdf312015e35
-AUX ttyd.service 152 BLAKE2B 2f57682dec6a2d7df5d36955abcb71ad37df4878ad89be286777e91a35a1761680a41725b22fdfa2df863bb1fbd7d712e836ede92da0c4ed41a78dd3c38a8196 SHA512 4141f3d12fba354ec1e84f7200f006dc3bc65ccd798b95d991b7b0d45f619605599b9ef635aa532477acf2dc82604df85b959b7f22de1057b20e9b1025fd4a2c
+AUX ttyd.service 155 BLAKE2B 6be520f7b88c5e8b7e6dada0a923eff285743d5b97c995fc924da153d70641e0706b86a5a91bc6d2054ced4f1044a12584108262b916b948250cdbf092094aec SHA512 381d9dd122b7aca028e813e5369d8a8260165483e1c232ca1f6614d8d5d7bba069102c754c61813496461ce5c038a0ef7564026ea4373d7b5579af8b64995cf6
DIST ttyd-1.7.3.tar.gz 579492 BLAKE2B 14b66dbe83c0ccb601a6e3bf35a804f69f679387c9aca2f55a055dda85b2e3a396ddb4f9a3fb56575d0554837faf1d5c090cf66f4e7571201323659db3feb0b7 SHA512 e0900e2b4620095717d0f32206d08177ce74bc2f24cd9c20793cc2e370a8ee961272b73698b0dda857360703df20378c080293dfdfd287ae863801d338c8b2a4
+DIST ttyd-1.7.4.tar.gz 603483 BLAKE2B 745ad302fdf17f31d941d3ae4b69b70257f87f3b6d624f3678e83269901577370fc6296726d8b2c61e94469f9970257b1192bcc2299fb0855bd0f3ea5960a498 SHA512 bbaa56389c224db9438b6dcce696deb0eeedfdf9b3a68cbc4c01c155340f71558e1d90c3fabe9a52de180728792b8dc7deed0c3512acdc246d651270d7fb82c6
EBUILD ttyd-1.7.3-r1.ebuild 864 BLAKE2B 2349ccfc0bfb56699ec7b1a30f3e15d6825e33df6d751bdb0adb8b475e044f7fe0c1b255f94610f8000f1c8724ffc6634469951e0522fad4b6a8ee086a7058da SHA512 59b3e6aac334d3ac88ede9aca1e65356742817c631274ea08033730d1a1b203b35147ef9c90da6811201e0635ca07c57f7156740cfdb9d389d838263d3785ac9
+EBUILD ttyd-1.7.4.ebuild 864 BLAKE2B 2349ccfc0bfb56699ec7b1a30f3e15d6825e33df6d751bdb0adb8b475e044f7fe0c1b255f94610f8000f1c8724ffc6634469951e0522fad4b6a8ee086a7058da SHA512 59b3e6aac334d3ac88ede9aca1e65356742817c631274ea08033730d1a1b203b35147ef9c90da6811201e0635ca07c57f7156740cfdb9d389d838263d3785ac9
EBUILD ttyd-9999.ebuild 864 BLAKE2B 2349ccfc0bfb56699ec7b1a30f3e15d6825e33df6d751bdb0adb8b475e044f7fe0c1b255f94610f8000f1c8724ffc6634469951e0522fad4b6a8ee086a7058da SHA512 59b3e6aac334d3ac88ede9aca1e65356742817c631274ea08033730d1a1b203b35147ef9c90da6811201e0635ca07c57f7156740cfdb9d389d838263d3785ac9
MISC metadata.xml 295 BLAKE2B 013599ca9cf89c3ca42d5adeea70d32f852bf090085eba9525ccfd3e1af91df4235eaebc252ac2d4c1474cd27a15a5fc5a735196979acb73d3ca3a9f2ed090d0 SHA512 8b4defd8be6208c50bba2dc4902d1b4c10bfa4bb4ef255e5736ca9f20f9f7a476c53f6f4cdfa47d839791fe7fda79128ce975592ca400b94e250ad2f9663295c
diff --git a/www-apps/ttyd/files/ttyd.confd b/www-apps/ttyd/files/ttyd.confd
index 57d24e3fb394..8e614522b436 100644
--- a/www-apps/ttyd/files/ttyd.confd
+++ b/www-apps/ttyd/files/ttyd.confd
@@ -5,12 +5,15 @@
# Some of the meaningful options are:
# -p, --port Port to listen (default: 7681, use `0` for random port)
# -i, --interface Network interface to bind (eg: eth0), or UNIX domain socket path (eg: /var/run/ttyd.sock)
-# -c, --credential Credential for Basic Authentication (format: username:password)
+# -U, --socket-owner User owner of the UNIX domain socket file, when enabled (eg: user:group)
+# -c, --credential Credential for basic authentication (format: username:password)
+# -H, --auth-header HTTP Header name for auth proxy, this will configure ttyd to let a HTTP reverse proxy handle authentication
# -u, --uid User id to run with
# -g, --gid Group id to run with
# -s, --signal Signal to send to the command when exit it (default: 1, SIGHUP)
-# -r, --reconnect Time to reconnect for the client in seconds (default: 10)
-# -R, --readonly Do not allow clients to write to the TTY
+# -w, --cwd Working directory to be set for the child program
+# -a, --url-arg Allow client to send command line arguments in URL (eg: http://localhost:7681?arg=foo&arg=bar)
+# -W, --writable Allow clients to write to the TTY (readonly by default)
# -t, --client-option Send option to client (format: key=value), repeat to add more options
# -T, --terminal-type Terminal type to report, default: xterm-256color
# -O, --check-origin Do not allow websocket connection from different origin
@@ -18,12 +21,16 @@
# -o, --once Accept only one client and exit on disconnection
# -B, --browser Open terminal with the default system browser
# -I, --index Custom index.html path
+# -b, --base-path Expected base path for requests coming from a reverse proxy (eg: /mounted/here, max length: 128)
+# -P, --ping-interval Websocket ping interval(sec) (default: 5)
# -6, --ipv6 Enable IPv6 support
# -S, --ssl Enable SSL
# -C, --ssl-cert SSL certificate file path
# -K, --ssl-key SSL key file path
# -A, --ssl-ca SSL CA file path for client certificate verification
# -d, --debug Set log level (default: 7)
-# login --- Login with system accounts
+# -v, --version Print the version and exit
+# -h, --help Print this text and exit
-TTYD_OPTS="login"
+
+TTYD_OPTS="-W login"
diff --git a/www-apps/ttyd/files/ttyd.service b/www-apps/ttyd/files/ttyd.service
index caa95ab1a910..d1d7e92461a4 100644
--- a/www-apps/ttyd/files/ttyd.service
+++ b/www-apps/ttyd/files/ttyd.service
@@ -3,7 +3,7 @@ Description=Terminal over HTTP
[Service]
User=root
-ExecStart=/usr/bin/ttyd -p 9000 login
+ExecStart=/usr/bin/ttyd -W -p 9000 login
Restart=on-abort
[Install]
diff --git a/www-apps/ttyd/ttyd-1.7.4.ebuild b/www-apps/ttyd/ttyd-1.7.4.ebuild
new file mode 100644
index 000000000000..adbcac55b7f7
--- /dev/null
+++ b/www-apps/ttyd/ttyd-1.7.4.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake systemd
+
+MY_PV="$(ver_rs 3 '-')"
+
+DESCRIPTION="ttyd, a simple command-line tool for sharing terminal over the web"
+HOMEPAGE="https://github.com/tsl0922/ttyd"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/tsl0922/ttyd.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/tsl0922/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+DEPEND="
+ dev-libs/json-c:=
+ dev-libs/libuv:=
+ net-libs/libwebsockets:=[libuv,ssl]
+ sys-libs/zlib:=
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_install() {
+ dobin ../${P}_build/${PN}
+ doman man/*.1
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz
index 40b2f408d959..fa784e07033b 100644
--- a/www-client/Manifest.gz
+++ b/www-client/Manifest.gz
Binary files differ
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 553a3527ec2d..5616832b59e9 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -11,12 +11,15 @@ AUX chromium-qt6.patch 2786 BLAKE2B 06a8abb516c45ff1a16eff5e890713c3691a9cf1bc2b
AUX chromium-use-oauth2-client-switches-as-default.patch 1085 BLAKE2B baf3c463305934c126af4f7c5be305863edc7eec3add5b5ada30565b49b5944021eb40f1a9643e7eec3f973c502d9b02426f00b760570fcea5f1509219e41c6f SHA512 fe2878ee45778bac894ea17a668511d27ad2ca40988d5f11439790b700bfefd6560f3931415b4e6c543fcbbfc7cfef55cc757ed4ace1d111039ae78c46b81945
AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739
DIST chromium-117.0.5938.132.tar.xz 3141005880 BLAKE2B cb46cc7840e64be6f07ec06d88b000cccd81b2100931736a5b6002f219f5282f34d5de226332f666e9f979926c9db2bb8fb8ed7a56eea92f76a81e63f1a2bff8 SHA512 a70a47080ff1b355db8ca65564c5dc6122a8a76e9509b271cb4eb1fc9016495828077c3fc59b42e59de61c53ddd40c18520a45db13e3bc1b38532aacca96bc6b
+DIST chromium-117.0.5938.149.tar.xz 3141300340 BLAKE2B c474b1a61c71eebc91d564ff827e93f1aad688cb5b0d7ce6c673d068c4784680e3960372a978a80cfc547049d1a9cda96d6911ebce759fcf8d23a7576bcf9c73 SHA512 8fa10266391ea7a30b5bd9935b9d6d25604ab72e0e6a49d1a519d1cd1fd19c34a2755bd4ad46302ed4136b724bc564230f30f49c8b73ef5388fe5d900676463f
DIST chromium-118.0.5993.32.tar.xz 3231296700 BLAKE2B d727c1f483f4f8223b77af325cb46ef0e7b43d75aacc0b0b1419f20a8be572463375c9a894bacf22b332fd2f027a5002f33225ac16992525107803b3465a41aa SHA512 52b7b430ada263830b19a2ef6896d72a6a1f582e4ec327545c84c9534c726bc530248305d2d9a270f8eadb7263311a6276eaca63a9ea127df7fed4103ff10114
DIST chromium-patches-117.0.5938.132.tar.bz2 6589 BLAKE2B b839d51484736cb2f5de259e60392187ba0f651ccd2280829942fd3a481786084aafc7a85c65c3a670a967fa47d92f5980f41207d5ce9c3b6750aa3627e71fe3 SHA512 5e1927b01b3d29cb54f7f3cc7110c942001b07c14ba3a4f9764b4150e34251f7512bdd021871b39dd65d272c589955e3084056ecc8cb507b36c12d23fd325be4
+DIST chromium-patches-117.tar.bz2 6591 BLAKE2B b6d2e838e970b6ec2a2b543242d4e8e2811351b1d75f85f02b013067f04e968b77918f4b28fc471b5553ed8a8ef68b2be2b23dac25f34b943bfbbfb5704044b2 SHA512 8e9c0e469563ec50a055e49a3065997ebc198ba92bcc12e0d9ae33f4413c96850d749936106b4e818390d2aa8d946c3c0fecd5083e29fec90c8176e0f579cc5b
DIST chromium-patches-118.tar.bz2 11489 BLAKE2B 9677cb99a6c7c6491f5ddec77eedd4fc37b73963ab62c60bb94ab3bfdff309dd3dda85793920a64c1563d708836c813f1eef04dff9dd58e76102adb326333551 SHA512 41064fc2b09b4a799b77d3fc7acf5c80b2f39f7b5e389089b104aa0fa2f0d7e5128240dc4fdf8546efcbd90cbfb3a62cc9fae49e24bc706de0af7db859d1629c
DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c
DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c
DIST chromium_117.0.5938.62-1raptor0~deb12u1.debian.tar.xz 540144 BLAKE2B f516089c7f47519b5e39abc21397b21dd4d268a5a0a127e7de55b68022181d960c0acc24d35de463c8a345f61152dd50b98e4cb63f36cf9d098cf6e2276658d2 SHA512 2c62c6cc3c59a49131e08383219ecd43d5bbba5c4ef7036b5c723fb9b27906fdd3b6d018530a706d0775d4c4f26579200523539ade6f7d91dbcf4048efcb04eb
EBUILD chromium-117.0.5938.132.ebuild 39160 BLAKE2B e950fb7742a35609c5ef5cd4c5d888b4884fb8de73a28ee9c9ac49b0c82d372681c65e58bedc9613b6e70959bfddd664a3448e0440005d8100848764cf96f35f SHA512 d3b87e7ec0e10a0d4306d85d12296ac4d1228f4fb0184a958dd4876a9c6c20417f10ffc99c5c61c404b7b0500758dce3448c6a2ae9ad7564fee6edc2a8aa700d
+EBUILD chromium-117.0.5938.149.ebuild 39177 BLAKE2B a5ecedfab59a15470672b43a38cabdf783648335b07895e29f7b15a6c830c17c42f83982d9f08e1729b1527b637f62a76586d0219a8f5784046926041124d12f SHA512 6c828491b3e86a89e4ab75da8cfa915067781f55544ad3e2f4b3a5148d35c935d6bc83551ec5133bbad53e28bd74c9c2d08995ea9ac34dc6184664099e1f871a
EBUILD chromium-118.0.5993.32.ebuild 37454 BLAKE2B ec9d65ee664da6cb3477c7a3fb71a12a1ec059d6c3c2e71a9bea3737cfd225bf0f350883ac26629cb019c13278ace7aa3937827c4ea2e8af8465d89163022331 SHA512 aee90c2e59a34dbe60ae4b70aa6eb8c4b7069cd56654f245b588b8a73b82a3fda0825633d4bfab72a32b5f2080d917e4895d8a9616e82ab37712021732a0e9bd
MISC metadata.xml 2601 BLAKE2B 96ac036420911fd55a8545091c2bc1af6a685b49089d8d12b40e56e7769a8655d8113caaa87650a9564e7af95745b6b36348e414f2d9521fd951ee26b2022be1 SHA512 3c849e7429069d65eb911816ca8301bf6a3541df2c3b40c5dae2031b66a3c0e2f4ba533679f1a0769de43dfc946fcd04b0d39b8ba1e14952a42db4d302d871cf
diff --git a/www-client/chromium/chromium-117.0.5938.149.ebuild b/www-client/chromium/chromium-117.0.5938.149.ebuild
new file mode 100644
index 000000000000..09145902428d
--- /dev/null
+++ b/www-client/chromium/chromium-117.0.5938.149.ebuild
@@ -0,0 +1,1281 @@
+# Copyright 2009-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="xml(+)"
+LLVM_MAX_SLOT=17
+
+CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
+ hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
+ sv sw ta te th tr uk ur vi zh-CN zh-TW"
+
+VIRTUALX_REQUIRED="pgo"
+
+inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils
+inherit python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="https://www.chromium.org/"
+PATCHSET_PPC64="117.0.5938.62-1raptor0~deb12u1"
+SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
+ https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PV%%\.*}/chromium-patches-${PV%%\.*}.tar.bz2
+ ppc64? (
+ https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
+ https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
+ )
+ pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
+
+LICENSE="BSD"
+SLOT="0/stable"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+IUSE_SYSTEM_LIBS="+system-av1 +system-ffmpeg +system-harfbuzz +system-icu +system-png +system-zstd"
+IUSE="+X ${IUSE_SYSTEM_LIBS} component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless kerberos libcxx lto +official pax-kernel pgo pic +proprietary-codecs pulseaudio qt5 qt6 screencast selinux +suid vaapi wayland widevine"
+REQUIRED_USE="
+ component-build? ( !suid !libcxx )
+ screencast? ( wayland )
+ !headless? ( || ( X wayland ) )
+ pgo? ( X !wayland )
+ qt6? ( qt5 )
+"
+
+COMMON_X_DEPEND="
+ x11-libs/libXcomposite:=
+ x11-libs/libXcursor:=
+ x11-libs/libXdamage:=
+ x11-libs/libXfixes:=
+ >=x11-libs/libXi-1.6.0:=
+ x11-libs/libXrandr:=
+ x11-libs/libXrender:=
+ x11-libs/libXtst:=
+ x11-libs/libxshmfence:=
+"
+
+COMMON_SNAPSHOT_DEPEND="
+ system-icu? ( >=dev-libs/icu-71.1:= )
+ >=dev-libs/libxml2-2.9.4-r3:=[icu]
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ dev-libs/libxslt:=
+ media-libs/fontconfig:=
+ >=media-libs/freetype-2.11.0-r1:=
+ system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
+ media-libs/libjpeg-turbo:=
+ system-png? ( media-libs/libpng:=[-apng(-)] )
+ system-zstd? ( >=app-arch/zstd-1.5.5:= )
+ >=media-libs/libwebp-0.4.0:=
+ media-libs/mesa:=[gbm(+)]
+ >=media-libs/openh264-1.6.0:=
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-3.4.0:=
+ )
+ sys-libs/zlib:=
+ x11-libs/libdrm:=
+ !headless? (
+ dev-libs/glib:2
+ >=media-libs/alsa-lib-1.0.19:=
+ pulseaudio? ( media-libs/libpulse:= )
+ sys-apps/pciutils:=
+ kerberos? ( virtual/krb5 )
+ vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
+ X? (
+ x11-libs/libX11:=
+ x11-libs/libXext:=
+ x11-libs/libxcb:=
+ )
+ x11-libs/libxkbcommon:=
+ wayland? (
+ dev-libs/libffi:=
+ screencast? ( media-video/pipewire:= )
+ )
+ )
+"
+
+COMMON_DEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ app-arch/bzip2:=
+ dev-libs/expat:=
+ system-ffmpeg? (
+ >=media-video/ffmpeg-4.3:=
+ || (
+ media-video/ffmpeg[-samba]
+ >=net-fs/samba-4.5.10-r1[-debug(-)]
+ )
+ >=media-libs/opus-1.3.1:=
+ )
+ net-misc/curl[ssl]
+ sys-apps/dbus:=
+ media-libs/flac:=
+ sys-libs/zlib:=[minizip]
+ !headless? (
+ X? ( ${COMMON_X_DEPEND} )
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ media-libs/mesa:=[X?,wayland?]
+ cups? ( >=net-print/cups-1.3.11:= )
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango:=
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !headless? (
+ || (
+ x11-libs/gtk+:3[X?,wayland?]
+ gui-libs/gtk:4[X?,wayland?]
+ )
+ qt5? ( dev-qt/qtgui:5[X?,wayland?] )
+ qt6? ( dev-qt/qtbase:6[X?,wayland?] )
+ )
+ virtual/ttf-fonts
+ selinux? ( sec-policy/selinux-chromium )
+"
+DEPEND="${COMMON_DEPEND}
+ !headless? (
+ gtk4? ( gui-libs/gtk:4[X?,wayland?] )
+ !gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
+ )
+"
+
+depend_clang_llvm_version() {
+ echo "sys-devel/clang:$1"
+ echo "sys-devel/llvm:$1"
+ echo "=sys-devel/lld-$1*"
+}
+
+depend_clang_llvm_versions() {
+ local _v
+ if [[ $# -gt 1 ]]; then
+ echo "|| ("
+ for _v in "$@"; do
+ echo "("
+ depend_clang_llvm_version "${_v}"
+ echo ")"
+ done
+ echo ")"
+ elif [[ $# -eq 1 ]]; then
+ depend_clang_llvm_version "$1"
+ fi
+}
+
+BDEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ >=app-arch/gzip-1.7
+ !headless? (
+ qt5? ( dev-qt/qtcore:5 )
+ qt6? ( dev-qt/qtbase:6 )
+ )
+ libcxx? ( >=sys-devel/clang-16 )
+ lto? ( $(depend_clang_llvm_versions 16) )
+ pgo? (
+ >=dev-python/selenium-3.141.0
+ >=dev-util/web_page_replay_go-20220314
+ $(depend_clang_llvm_versions 16)
+ )
+ dev-lang/perl
+ >=dev-util/gn-0.2114
+ >=dev-util/gperf-3.0.3
+ >=dev-util/ninja-1.7.2
+ dev-vcs/git
+ >=net-libs/nodejs-7.6.0[inspector]
+ >=sys-devel/bison-2.4.3
+ sys-devel/flex
+ virtual/pkgconfig
+"
+
+# These are intended for ebuild maintainer use to force clang if GCC is broken.
+: ${CHROMIUM_FORCE_CLANG=no}
+
+if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
+ BDEPEND+=" >=sys-devel/clang-16"
+fi
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Some web pages may require additional fonts to display properly.
+Try installing some of the following packages if some characters
+are not displayed properly:
+- media-fonts/arphicfonts
+- media-fonts/droid
+- media-fonts/ipamonafont
+- media-fonts/noto
+- media-fonts/ja-ipafonts
+- media-fonts/takao-fonts
+- media-fonts/wqy-microhei
+- media-fonts/wqy-zenhei
+
+To fix broken icons on the Downloads page, you should install an icon
+theme that covers the appropriate MIME types, and configure this as your
+GTK+ icon theme.
+
+For native file dialogs in KDE, install kde-apps/kdialog.
+
+To make password storage work with your desktop environment you may
+have install one of the supported credentials management applications:
+- app-crypt/libsecret (GNOME)
+- kde-frameworks/kwallet (KDE)
+If you have one of above packages installed, but don't want to use
+them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
+in /etc/chromium/default.
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+needs_clang() {
+ [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo
+}
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+pre_build_checks() {
+ # Check build requirements: bugs #471810, #541816, #914220
+ # We're going to start doing maths here on the size of an unpacked source tarball,
+ # this should make updates easier as chromium continues to balloon in size.
+ local BASE_DISK=17
+ local EXTRA_DISK=1
+ CHECKREQS_MEMORY="4G"
+ tc-is-cross-compiler && EXTRA_DISK=2
+ if use lto || use pgo; then
+ CHECKREQS_MEMORY="9G"
+ EXTRA_DISK=2
+ tc-is-cross-compiler && EXTRA_DISK=3
+ use pgo && EXTRA_DISK=8
+ fi
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ if use custom-cflags || use component-build; then
+ EXTRA_DISK=13
+ fi
+ if ! use component-build; then
+ CHECKREQS_MEMORY="16G"
+ fi
+ fi
+ CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G"
+ check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+ pre_build_checks
+
+ if use headless; then
+ local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland")
+ for myiuse in ${headless_unused_flags[@]}; do
+ use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set."
+ done
+ fi
+}
+
+pkg_setup() {
+ if use lto || use pgo; then
+ llvm_pkg_setup
+ fi
+
+ pre_build_checks
+
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ local -x CPP="$(tc-getCXX) -E"
+ if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 12; then
+ die "At least gcc 12 is required"
+ fi
+ if use pgo && tc-is-cross-compiler; then
+ die "The pgo USE flag cannot be used when cross-compiling"
+ fi
+ if needs_clang && ! tc-is-clang; then
+ if tc-is-cross-compiler; then
+ CPP="${CBUILD}-clang++ -E"
+ else
+ CPP="${CHOST}-clang++ -E"
+ fi
+ if ! ver_test "$(clang-major-version)" -ge 16; then
+ die "At least clang 16 is required"
+ fi
+ fi
+ fi
+
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # disable global media controls, crashes with libstdc++
+ sed -i -e \
+ "/\"GlobalMediaControlsCastStartStop\",/{n;s/ENABLED/DISABLED/;}" \
+ "chrome/browser/media/router/media_router_feature.cc" || die
+
+ local PATCHES=(
+ "${WORKDIR}/chromium-patches-${PV%%\.*}"
+ "${FILESDIR}/chromium-cross-compile.patch"
+ "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
+ "${FILESDIR}/chromium-108-EnumTable-crash.patch"
+ "${FILESDIR}/chromium-109-system-zlib.patch"
+ "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
+ )
+
+ if use ppc64 ; then
+ local p
+ for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do
+ if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then
+ eapply "${WORKDIR}/debian/patches/${p}"
+ fi
+ done
+ PATCHES+=( "${WORKDIR}/ppc64le" )
+ fi
+
+ default
+
+ mkdir -p third_party/node/linux/node-linux-x64/bin || die
+ ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+
+ # adjust python interpreter version
+ sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+ sed -i -e "s|vpython3|${EPYTHON}|g" testing/xvfb.py || die
+
+ local keeplibs=(
+ base/third_party/cityhash
+ base/third_party/double_conversion
+ base/third_party/dynamic_annotations
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/valgrind
+ base/third_party/xdg_mime
+ base/third_party/xdg_user_dirs
+ buildtools/third_party/libc++
+ buildtools/third_party/libc++abi
+ chrome/third_party/mozilla_security_manager
+ courgette/third_party
+ net/third_party/mozilla_security_manager
+ net/third_party/nss
+ net/third_party/quic
+ net/third_party/uri_template
+ third_party/abseil-cpp
+ third_party/angle
+ third_party/angle/src/common/third_party/xxhash
+ third_party/angle/src/third_party/ceval
+ third_party/angle/src/third_party/libXNVCtrl
+ third_party/angle/src/third_party/volk
+ third_party/apple_apsl
+ third_party/axe-core
+ third_party/blink
+ third_party/bidimapper
+ third_party/boringssl
+ third_party/boringssl/src/third_party/fiat
+ third_party/breakpad
+ third_party/breakpad/breakpad/src/third_party/curl
+ third_party/brotli
+ third_party/catapult
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ third_party/catapult/third_party/beautifulsoup4-4.9.3
+ third_party/catapult/third_party/html5lib-1.1
+ third_party/catapult/third_party/polymer
+ third_party/catapult/third_party/six
+ third_party/catapult/tracing/third_party/d3
+ third_party/catapult/tracing/third_party/gl-matrix
+ third_party/catapult/tracing/third_party/jpeg-js
+ third_party/catapult/tracing/third_party/jszip
+ third_party/catapult/tracing/third_party/mannwhitneyu
+ third_party/catapult/tracing/third_party/oboe
+ third_party/catapult/tracing/third_party/pako
+ third_party/ced
+ third_party/cld_3
+ third_party/closure_compiler
+ third_party/content_analysis_sdk
+ third_party/cpuinfo
+ third_party/crashpad
+ third_party/crashpad/crashpad/third_party/lss
+ third_party/crashpad/crashpad/third_party/zlib
+ third_party/crc32c
+ third_party/cros_system_api
+ third_party/d3
+ third_party/dawn
+ third_party/dawn/third_party/gn/webgpu-cts
+ third_party/dawn/third_party/khronos
+ third_party/depot_tools
+ third_party/devscripts
+ third_party/devtools-frontend
+ third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/devtools-frontend/src/front_end/third_party/axe-core
+ third_party/devtools-frontend/src/front_end/third_party/chromium
+ third_party/devtools-frontend/src/front_end/third_party/codemirror
+ third_party/devtools-frontend/src/front_end/third_party/diff
+ third_party/devtools-frontend/src/front_end/third_party/i18n
+ third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+ third_party/devtools-frontend/src/front_end/third_party/lighthouse
+ third_party/devtools-frontend/src/front_end/third_party/lit
+ third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
+ third_party/devtools-frontend/src/front_end/third_party/marked
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
+ third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
+ third_party/devtools-frontend/src/front_end/third_party/wasmparser
+ third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n
+ third_party/devtools-frontend/src/third_party
+ third_party/distributed_point_functions
+ third_party/dom_distiller_js
+ third_party/eigen3
+ third_party/emoji-segmenter
+ third_party/farmhash
+ third_party/fdlibm
+ third_party/fft2d
+ third_party/flatbuffers
+ third_party/fp16
+ third_party/freetype
+ third_party/fusejs
+ third_party/fxdiv
+ third_party/highway
+ third_party/liburlpattern
+ third_party/libzip
+ third_party/gemmlowp
+ third_party/google_input_tools
+ third_party/google_input_tools/third_party/closure_library
+ third_party/google_input_tools/third_party/closure_library/third_party/closure
+ third_party/googletest
+ third_party/hunspell
+ third_party/iccjpeg
+ third_party/inspector_protocol
+ third_party/ipcz
+ third_party/jinja2
+ third_party/jsoncpp
+ third_party/jstemplate
+ third_party/khronos
+ third_party/leveldatabase
+ third_party/libaddressinput
+ third_party/libavif
+ third_party/libevent
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libphonenumber
+ third_party/libsecret
+ third_party/libsrtp
+ third_party/libsync
+ third_party/libudev
+ third_party/libva_protected_content
+ third_party/libvpx
+ third_party/libvpx/source/libvpx/third_party/x86inc
+ third_party/libwebm
+ third_party/libx11
+ third_party/libxcb-keysyms
+ third_party/libxml/chromium
+ third_party/libyuv
+ third_party/llvm
+ third_party/lottie
+ third_party/lss
+ third_party/lzma_sdk
+ third_party/mako
+ third_party/maldoca
+ third_party/maldoca/src/third_party/tensorflow_protos
+ third_party/maldoca/src/third_party/zlibwrapper
+ third_party/markupsafe
+ third_party/material_color_utilities
+ third_party/mesa
+ third_party/metrics_proto
+ third_party/minigbm
+ third_party/modp_b64
+ third_party/nasm
+ third_party/nearby
+ third_party/neon_2_sse
+ third_party/node
+ third_party/omnibox_proto
+ third_party/one_euro_filter
+ third_party/openscreen
+ third_party/openscreen/src/third_party/mozilla
+ third_party/openscreen/src/third_party/tinycbor/src/src
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/base
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ third_party/pdfium/third_party/libopenjpeg
+ third_party/pdfium/third_party/libtiff
+ third_party/perfetto
+ third_party/perfetto/protos/third_party/chromium
+ third_party/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private-join-and-compute
+ third_party/private_membership
+ third_party/protobuf
+ third_party/pthreadpool
+ third_party/puffin
+ third_party/pyjson5
+ third_party/pyyaml
+ third_party/qcms
+ third_party/re2
+ third_party/rnnoise
+ third_party/s2cellid
+ third_party/securemessage
+ third_party/selenium-atoms
+ third_party/shell-encryption
+ third_party/simplejson
+ third_party/skia
+ third_party/skia/include/third_party/vulkan
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/snappy
+ third_party/sqlite
+ third_party/swiftshader
+ third_party/swiftshader/third_party/astc-encoder
+ third_party/swiftshader/third_party/llvm-subzero
+ third_party/swiftshader/third_party/marl
+ third_party/swiftshader/third_party/subzero
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
+ third_party/swiftshader/third_party/SPIRV-Tools
+ third_party/tensorflow_models
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/eigen3
+ third_party/tflite/src/third_party/fft2d
+ third_party/ruy
+ third_party/six
+ third_party/ukey2
+ third_party/unrar
+ third_party/utf
+ third_party/vulkan
+ third_party/wayland
+ third_party/webdriver
+ third_party/webgpu-cts
+ third_party/webrtc
+ third_party/webrtc/common_audio/third_party/ooura
+ third_party/webrtc/common_audio/third_party/spl_sqrt_floor
+ third_party/webrtc/modules/third_party/fft
+ third_party/webrtc/modules/third_party/g711
+ third_party/webrtc/modules/third_party/g722
+ third_party/webrtc/rtc_base/third_party/base64
+ third_party/webrtc/rtc_base/third_party/sigslot
+ third_party/widevine
+ third_party/woff2
+ third_party/wuffs
+ third_party/x11proto
+ third_party/xcbproto
+ third_party/xnnpack
+ third_party/zxcvbn-cpp
+ third_party/zlib/google
+ url/third_party/mozilla
+ v8/src/third_party/siphash
+ v8/src/third_party/valgrind
+ v8/src/third_party/utf8-decoder
+ v8/third_party/glibc
+ v8/third_party/inspector_protocol
+ v8/third_party/v8
+
+ # gyp -> gn leftovers
+ third_party/speech-dispatcher
+ third_party/usb_ids
+ third_party/xdg-utils
+ )
+
+ # USE=system-*
+ if ! use system-av1; then
+ keeplibs+=(
+ third_party/dav1d
+ third_party/libaom
+ third_party/libaom/source/libaom/third_party/fastfeat
+ third_party/libaom/source/libaom/third_party/SVT-AV1
+ third_party/libaom/source/libaom/third_party/vector
+ third_party/libaom/source/libaom/third_party/x86inc
+ )
+ fi
+
+ if ! use system-ffmpeg; then
+ keeplibs+=( third_party/ffmpeg third_party/opus )
+ fi
+
+ if ! use system-harfbuzz; then
+ keeplibs+=( third_party/harfbuzz-ng )
+ fi
+
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+
+ if ! use system-png; then
+ keeplibs+=( third_party/libpng )
+ fi
+
+ if ! use system-zstd; then
+ keeplibs+=( third_party/zstd )
+ fi
+
+ if use libcxx; then
+ keeplibs+=( third_party/libc++ )
+ fi
+
+ # Arch-specific
+ if use arm64 || use ppc64 ; then
+ keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
+ fi
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ # it has to be done before unbundling.
+ if use ppc64; then
+ pushd third_party/libvpx >/dev/null || die
+ mkdir -p source/config/linux/ppc64 || die
+ # requires git and clang, bug #832803
+ sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \
+ generate_gni.sh || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+
+ pushd third_party/ffmpeg >/dev/null || die
+ cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
+ cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
+ popd >/dev/null || die
+ fi
+
+ einfo "Unbundling third-party libraries ..."
+ # Remove most bundled libraries. Some are still needed.
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
+ mkdir -p buildtools/third_party/eu-strip/bin || die
+ ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
+}
+
+chromium_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local myconf_gn=""
+
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ if needs_clang && ! tc-is-clang; then
+ # Force clang since gcc is either broken or build is using libcxx.
+ if tc-is-cross-compiler; then
+ CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_CC=${CBUILD}-clang
+ BUILD_CXX=${CBUILD}-clang++
+ else
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ fi
+ strip-unsupported-flags
+ fi
+
+ if tc-is-clang; then
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ else
+ myconf_gn+=" is_clang=false"
+ fi
+
+ # Force lld for lto or pgo builds only, otherwise disable, bug 641556
+ if use lto || use pgo; then
+ myconf_gn+=" use_lld=true"
+ else
+ myconf_gn+=" use_lld=false"
+ fi
+
+ if use lto || use pgo; then
+ AR=llvm-ar
+ NM=llvm-nm
+ if tc-is-cross-compiler; then
+ BUILD_AR=llvm-ar
+ BUILD_NM=llvm-nm
+ fi
+ fi
+
+ # Define a custom toolchain for GN
+ myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+
+ if tc-is-cross-compiler; then
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
+ myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
+
+ # setup cups-config, build system only uses --libs option
+ if use cups; then
+ mkdir "${T}/cups-config" || die
+ cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
+ export PATH="${PATH}:${T}/cups-config"
+ fi
+
+ # Don't inherit PKG_CONFIG_PATH from environment
+ local -x PKG_CONFIG_PATH=
+ else
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ fi
+
+ # Disable rust for now; it's only used for testing and we don't need the additional bdep
+ myconf_gn+=" enable_rust=false"
+
+ # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
+ myconf_gn+=" is_debug=false"
+
+ # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
+ # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
+ myconf_gn+=" dcheck_always_on=$(usex debug true false)"
+ myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
+
+ # Component build isn't generally intended for use by end users. It's mostly useful
+ # for development and debugging.
+ myconf_gn+=" is_component_build=$(usex component-build true false)"
+
+ # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
+ myconf_gn+=" enable_nacl=false"
+
+ # Use system-provided libraries.
+ # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: use_system_hunspell (upstream changes needed).
+ # TODO: use_system_protobuf (bug #525560).
+ # TODO: use_system_sqlite (http://crbug.com/22208).
+
+ # libevent: https://bugs.gentoo.org/593458
+ local gn_system_libraries=(
+ flac
+ fontconfig
+ freetype
+ # Need harfbuzz_from_pkgconfig target
+ #harfbuzz-ng
+ libdrm
+ libjpeg
+ libwebp
+ libxml
+ libxslt
+ openh264
+ zlib
+ )
+ if use system-ffmpeg; then
+ gn_system_libraries+=( ffmpeg opus )
+ fi
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if use system-png; then
+ gn_system_libraries+=( libpng )
+ fi
+ if use system-av1; then
+ gn_system_libraries+=( dav1d libaom )
+ fi
+ if use system-zstd; then
+ gn_system_libraries+=( zstd )
+ fi
+
+ build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
+
+ # See dependency logic in third_party/BUILD.gn
+ myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
+
+ # Optional dependencies.
+ myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+ myconf_gn+=" enable_widevine=$(usex widevine true false)"
+
+ if use headless; then
+ myconf_gn+=" use_cups=false"
+ myconf_gn+=" use_kerberos=false"
+ myconf_gn+=" use_pulseaudio=false"
+ myconf_gn+=" use_vaapi=false"
+ myconf_gn+=" rtc_use_pipewire=false"
+ else
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+ myconf_gn+=" use_vaapi=$(usex vaapi true false)"
+ myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+ myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
+ fi
+
+ # TODO: link_pulseaudio=true for GN.
+
+ myconf_gn+=" disable_fieldtrial_testing_config=true"
+
+ # Never use bundled gold binary. Disable gold linker flags for now.
+ # Do not use bundled clang.
+ # Trying to use gold results in linker crash.
+ myconf_gn+=" use_gold=false use_sysroot=false"
+ myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)"
+
+ # Disable pseudolocales, only used for testing
+ myconf_gn+=" enable_pseudolocales=false"
+
+ # Disable code formating of generated files
+ myconf_gn+=" blink_enable_generated_code_formatting=false"
+
+ ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+ myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+ myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+
+ # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
+ # Note: these are for Gentoo use ONLY. For your own distribution,
+ # please get your own set of keys. Feel free to contact chromium@gentoo.org
+ # for more info. The OAuth2 credentials, however, have been left out.
+ # Those OAuth2 credentials have been broken for quite some time anyway.
+ # Instead we apply a patch to use the --oauth2-client-id= and
+ # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
+ # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
+ # Chromium without baked-in values.
+ local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
+ myconf_gn+=" google_api_key=\"${google_api_key}\""
+ local myarch="$(tc-arch)"
+
+ # Avoid CFLAGS problems, bug #352457, bug #390147.
+ if ! use custom-cflags; then
+ replace-flags "-Os" "-O2"
+ strip-flags
+
+ # Debug info section overflows without component build
+ # Prevent linker from running out of address space, bug #471810 .
+ if ! use component-build || use x86; then
+ filter-flags "-g*"
+ fi
+
+ # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646.
+ if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
+ filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
+ fi
+
+ if tc-is-gcc; then
+ # https://bugs.gentoo.org/904455
+ append-cxxflags "$(test-flags-CXX -fno-tree-vectorize)"
+ # https://bugs.gentoo.org/912381
+ filter-lto
+ fi
+ fi
+
+ if [[ $myarch = amd64 ]] ; then
+ myconf_gn+=" target_cpu=\"x64\""
+ ffmpeg_target_arch=x64
+ elif [[ $myarch = x86 ]] ; then
+ myconf_gn+=" target_cpu=\"x86\""
+ ffmpeg_target_arch=ia32
+
+ # This is normally defined by compiler_cpu_abi in
+ # build/config/compiler/BUILD.gn, but we patch that part out.
+ append-flags -msse2 -mfpmath=sse -mmmx
+ elif [[ $myarch = arm64 ]] ; then
+ myconf_gn+=" target_cpu=\"arm64\""
+ ffmpeg_target_arch=arm64
+ elif [[ $myarch = arm ]] ; then
+ myconf_gn+=" target_cpu=\"arm\""
+ ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
+ elif [[ $myarch = ppc64 ]] ; then
+ myconf_gn+=" target_cpu=\"ppc64\""
+ ffmpeg_target_arch=ppc64
+ else
+ die "Failed to determine target arch, got '$myarch'."
+ fi
+
+ # Make sure that -Werror doesn't get added to CFLAGS by the build system.
+ # Depending on GCC version the warnings are different and we don't want
+ # the build to fail because of that.
+ myconf_gn+=" treat_warnings_as_errors=false"
+
+ # Disable fatal linker warnings, bug 506268.
+ myconf_gn+=" fatal_linker_warnings=false"
+
+ # Disable external code space for V8 for ppc64. It is disabled for ppc64
+ # by default, but cross-compiling on amd64 enables it again.
+ if tc-is-cross-compiler; then
+ if ! use amd64 && ! use arm64; then
+ myconf_gn+=" v8_enable_external_code_space=false"
+ fi
+ fi
+
+ # Only enabled for clang, but gcc has endian macros too
+ myconf_gn+=" v8_use_libm_trig_functions=true"
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ # https://bugs.gentoo.org/654216
+ addpredict /dev/dri/ #nowarn
+
+ #if ! use system-ffmpeg; then
+ if false; then
+ local build_ffmpeg_args=""
+ if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
+ build_ffmpeg_args+=" --disable-asm"
+ fi
+
+ # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
+ einfo "Configuring bundled ffmpeg ..."
+ pushd third_party/ffmpeg > /dev/null || die
+ chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
+ --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
+ chromium/scripts/copy_config.sh || die
+ chromium/scripts/generate_gn.py || die
+ popd > /dev/null || die
+ fi
+
+ # Disable unknown warning message from clang.
+ if tc-is-clang; then
+ append-flags -Wno-unknown-warning-option
+ if tc-is-cross-compiler; then
+ export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
+ export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
+ fi
+ fi
+
+ # Explicitly disable ICU data file support for system-icu/headless builds.
+ if use system-icu || use headless; then
+ myconf_gn+=" icu_use_data_file=false"
+ fi
+
+ # Enable ozone wayland and/or headless support
+ myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
+ myconf_gn+=" ozone_platform_headless=true"
+ if use headless; then
+ myconf_gn+=" ozone_platform=\"headless\""
+ myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false"
+ myconf_gn+=" use_glib=false use_gio=false"
+ myconf_gn+=" use_pangocairo=false use_alsa=false"
+ myconf_gn+=" use_libpci=false use_udev=false"
+ myconf_gn+=" enable_print_preview=false"
+ myconf_gn+=" enable_remoting=false"
+ else
+ myconf_gn+=" use_system_libdrm=true"
+ myconf_gn+=" use_system_minigbm=true"
+ myconf_gn+=" use_xkbcommon=true"
+ if use qt5 || use qt6; then
+ local cbuild_libdir=$(get_libdir)
+ if tc-is-cross-compiler; then
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)
+ cbuild_libdir=${cbuild_libdir:2}
+ cbuild_libdir=${cbuild_libdir/% }
+ fi
+ if use qt5; then
+ if tc-is-cross-compiler; then
+ myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\""
+ else
+ myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\""
+ fi
+ fi
+ if use qt6; then
+ myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
+ fi
+
+ myconf_gn+=" use_qt=true"
+ myconf_gn+=" use_qt6=$(usex qt6 true false)"
+ else
+ myconf_gn+=" use_qt=false"
+ fi
+ myconf_gn+=" ozone_platform_x11=$(usex X true false)"
+ myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
+ myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")"
+ use wayland && myconf_gn+=" use_system_libffi=true"
+ fi
+
+ # Results in undefined references in chrome linking, may require CFI to work
+ if use arm64; then
+ myconf_gn+=" arm_control_flow_integrity=\"none\""
+ fi
+
+ # Enable official builds
+ myconf_gn+=" is_official_build=$(usex official true false)"
+ myconf_gn+=" use_thin_lto=$(usex lto true false)"
+ myconf_gn+=" thin_lto_enable_optimizations=$(usex lto true false)"
+ if use official; then
+ # Allow building against system libraries in official builds
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py || die
+ # Disable CFI: unsupported for GCC, requires clang+lto+lld
+ myconf_gn+=" is_cfi=false"
+ # Don't add symbols to build
+ myconf_gn+=" symbol_level=0"
+ fi
+
+ if use pgo; then
+ myconf_gn+=" chrome_pgo_phase=${1}"
+ if [[ "$1" == "2" ]]; then
+ myconf_gn+=" pgo_data_path=\"${2}\""
+ fi
+ else
+ # Disable PGO, because profile data is only compatible with >=clang-11
+ myconf_gn+=" chrome_pgo_phase=0"
+ fi
+
+ # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639
+ if use arm64 && tc-is-gcc; then
+ sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \
+ third_party/crc32c/src/src/crc32c_arm64.cc || die
+ fi
+
+ # skipping typecheck is only supported on amd64, bug #876157
+ if ! use amd64; then
+ myconf_gn+=" devtools_skip_typecheck=false"
+ fi
+
+ einfo "Configuring Chromium ..."
+ set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
+ echo "$@"
+ "$@" || die
+}
+
+src_configure() {
+ chromium_configure $(usex pgo 1 0)
+}
+
+chromium_compile() {
+ # Final link uses lots of file descriptors.
+ ulimit -n 2048
+
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # Don't inherit PYTHONPATH from environment, bug #789021, #812689
+ local -x PYTHONPATH=
+
+ # Build mksnapshot and pax-mark it.
+ if use pax-kernel; then
+ local x
+ for x in mksnapshot v8_context_snapshot_generator; do
+ if tc-is-cross-compiler; then
+ eninja -C out/Release "host/${x}"
+ pax-mark m "out/Release/host/${x}"
+ else
+ eninja -C out/Release "${x}"
+ pax-mark m "out/Release/${x}"
+ fi
+ done
+ fi
+
+ # Even though ninja autodetects number of CPUs, we respect
+ # user's options, for debugging with -j 1 or any other reason.
+ eninja -C out/Release chrome chromedriver
+ use suid && eninja -C out/Release chrome_sandbox
+
+ pax-mark m out/Release/chrome
+}
+
+# This function is called from virtx, and must always return so that Xvfb
+# session isn't left running. If we return 1, virtx will call die().
+chromium_profile() {
+ einfo "Profiling for PGO"
+
+ pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
+
+ # Remove old profdata in case profiling was interrupted.
+ rm -rf "${1}" || return 1
+
+ if ! "${EPYTHON}" ./chromium_profiler.py \
+ --chrome-executable "${S}/out/Release/chrome" \
+ --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
+ --add-arg no-sandbox --add-arg disable-dev-shm-usage \
+ --profile-output "${1}"; then
+ eerror "Profiling failed"
+ return 1
+ fi
+
+ popd >/dev/null || return 1
+}
+
+src_compile() {
+ if use pgo; then
+ local profdata
+
+ profdata="${WORKDIR}/chromium.profdata"
+
+ if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
+ chromium_compile
+ virtx chromium_profile "$profdata"
+
+ touch "${WORKDIR}/.pgo-profiled" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
+ # Remove phase 1 output
+ rm -r out/Release || die
+
+ chromium_configure 2 "$profdata"
+
+ touch "${WORKDIR}/.pgo-phase-2-configured" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
+ chromium_compile
+ touch "${WORKDIR}/.pgo-phase-2-compiled" || die
+ fi
+ else
+ chromium_compile
+ fi
+
+ mv out/Release/chromedriver{.unstripped,} || die
+
+ rm -f out/Release/locales/*.pak.info || die
+
+ # Build manpage; bug #684550
+ sed -e 's|@@PACKAGE@@|chromium-browser|g;
+ s|@@MENUNAME@@|Chromium|g;' \
+ chrome/app/resources/manpage.1.in > \
+ out/Release/chromium-browser.1 || die
+
+ # Build desktop file; bug #706786
+ sed -e 's|@@MENUNAME@@|Chromium|g;
+ s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
+ s|@@PACKAGE@@|chromium-browser|g;
+ s|\(^Exec=\)/usr/bin/|\1|g;' \
+ chrome/installer/linux/common/desktop.template > \
+ out/Release/chromium-browser-chromium.desktop || die
+
+ # Build vk_swiftshader_icd.json; bug #827861
+ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
+ third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
+ out/Release/vk_swiftshader_icd.json || die
+}
+
+src_install() {
+ local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
+ exeinto "${CHROMIUM_HOME}"
+ doexe out/Release/chrome
+
+ if use suid; then
+ newexe out/Release/chrome_sandbox chrome-sandbox
+ fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+ fi
+
+ doexe out/Release/chromedriver
+ doexe out/Release/chrome_crashpad_handler
+
+ ozone_auto_session () {
+ use X && use wayland && ! use headless && echo true || echo false
+ }
+ local sedargs=( -e
+ "s:/usr/lib/:/usr/$(get_libdir)/:g;
+ s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
+ )
+ sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
+ doexe chromium-launcher.sh
+
+ # It is important that we name the target "chromium-browser",
+ # xdg-utils expect it; bug #355517.
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
+ # keep the old symlink around for consistency
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
+
+ dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
+
+ # Allow users to override command-line options, bug #357629.
+ insinto /etc/chromium
+ newins "${FILESDIR}/chromium.default" "default"
+
+ pushd out/Release/locales > /dev/null || die
+ chromium_remove_language_paks
+ popd
+
+ insinto "${CHROMIUM_HOME}"
+ doins out/Release/*.bin
+ doins out/Release/*.pak
+ (
+ shopt -s nullglob
+ local files=(out/Release/*.so out/Release/*.so.[0-9])
+ [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
+ )
+
+ # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
+ doins out/Release/xdg-{settings,mime}
+
+ if ! use system-icu && ! use headless; then
+ doins out/Release/icudtl.dat
+ fi
+
+ doins -r out/Release/locales
+ doins -r out/Release/MEIPreload
+
+ # Install vk_swiftshader_icd.json; bug #827861
+ doins out/Release/vk_swiftshader_icd.json
+
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
+
+ # Install icons
+ local branding size
+ for size in 16 24 32 48 64 128 256 ; do
+ case ${size} in
+ 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
+ *) branding="chrome/app/theme/chromium" ;;
+ esac
+ newicon -s ${size} "${branding}/product_logo_${size}.png" \
+ chromium-browser.png
+ done
+
+ # Install desktop entry
+ domenu out/Release/chromium-browser-chromium.desktop
+
+ # Install GNOME default application entry (bug #303100).
+ insinto /usr/share/gnome-control-center/default-apps
+ newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
+
+ # Install manpage; bug #684550
+ doman out/Release/chromium-browser.1
+ dosym chromium-browser.1 /usr/share/man/man1/chromium.1
+
+ readme.gentoo_create_doc
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ readme.gentoo_print_elog
+
+ if ! use headless; then
+ if use vaapi; then
+ elog "VA-API is disabled by default at runtime. You have to enable it"
+ elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
+ elog "in /etc/chromium/default."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use gtk4; then
+ elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
+ elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use qt5 && use qt6; then
+ elog "Chromium automatically selects Qt5 or Qt6 based on your desktop"
+ elog "environment. To override you need to pass --qt-version=5 or"
+ elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in"
+ elog "/etc/chromium/default."
+ fi
+ fi
+}
diff --git a/www-client/microsoft-edge-beta/Manifest b/www-client/microsoft-edge-beta/Manifest
index f1e7cd32428c..5bca73df8a29 100644
--- a/www-client/microsoft-edge-beta/Manifest
+++ b/www-client/microsoft-edge-beta/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-beta_117.0.2045.31-1_amd64.deb 155039530 BLAKE2B 1b8d58d7af3fc3a4cdf0b94962c8194b4bfb44407f8f6099e3e39246d721e388f7b7ae8da6952144f8b146e811f6a9a7af12fd2ef82d55422f31a39dbc0f079c SHA512 74812d1d8d2f7b3d442971ecd5e611c1cf74eeb155653fcc42539a6393cd3b336687679c683b50eaa52c96eaa3f3c8ab1a79dd93051e18dddae2825b2e6599c8
DIST microsoft-edge-beta_118.0.2088.11-1_amd64.deb 156233010 BLAKE2B 28a979ce52396e5dea1c5c271f35647f306834bda941f378b0f0fddca0c35912da2010dc604b50236e0a6dfd322b707c3c270129387e70b5b74dca0493f7d3fd SHA512 f7cc020fc2bb0961e175ff953b396339ee856f3d183ffb330eabb5f0d312695220805c79b5887f935fce62ff42ece914eb74e5d6240a0bb37b69b08b6503e1c4
DIST microsoft-edge-beta_118.0.2088.17-1_amd64.deb 156307966 BLAKE2B 8f718f5349a5ceb71f9848d5d9ae68cc8c67e12d79ab025c2cc5a7dd715678cffa2fd617ff9b99d2266480a656329d35160993f13b93f63fbf601a18cc0bda43 SHA512 3b6229b5ffd0350af15bd94ceaa578cf53e5e8d5ae485bfd050d55940cbd09a6c2b4e22f61046f96ee109699decf7c9a79aa8270b6b10fd520ffc3a37d0381ed
-EBUILD microsoft-edge-beta-117.0.2045.31.ebuild 2610 BLAKE2B 609795e4a6fc2716b624555212f9ec2038cd17ad0af2133548ac99f63b8fc34733686f3fb845637cdcd589e3bbff7259540fa06c264fb51d23ac6b2570f0a58f SHA512 7cb6604697d8f55a7da5ec1b9a8b49921f0bb62810962c2b8de5f9197b40ab21fd0e2e59daebb7bdea56df8d3549cdcc4bb02bc1b8aea40ca02ebc6bff7a5d1e
+DIST microsoft-edge-beta_118.0.2088.24-1_amd64.deb 156380786 BLAKE2B 5f724997d9ec7507e73b2efe10fbcc3df6f79b37f69eb7d98ac2dee9a745df4c7a212dab03a4c00a3a698d5ea88b452fe3844614a5848a24d9910ec914902c92 SHA512 f6daaf6dfa9039ac884ad8f311a3095d11a6036c889aad1a03474c0011d0c29bf457f7542820b007baa00623e6fd86483e25ee22cd71a660ae3e8f3ca1652e75
EBUILD microsoft-edge-beta-118.0.2088.11.ebuild 2610 BLAKE2B 609795e4a6fc2716b624555212f9ec2038cd17ad0af2133548ac99f63b8fc34733686f3fb845637cdcd589e3bbff7259540fa06c264fb51d23ac6b2570f0a58f SHA512 7cb6604697d8f55a7da5ec1b9a8b49921f0bb62810962c2b8de5f9197b40ab21fd0e2e59daebb7bdea56df8d3549cdcc4bb02bc1b8aea40ca02ebc6bff7a5d1e
EBUILD microsoft-edge-beta-118.0.2088.17.ebuild 2610 BLAKE2B 609795e4a6fc2716b624555212f9ec2038cd17ad0af2133548ac99f63b8fc34733686f3fb845637cdcd589e3bbff7259540fa06c264fb51d23ac6b2570f0a58f SHA512 7cb6604697d8f55a7da5ec1b9a8b49921f0bb62810962c2b8de5f9197b40ab21fd0e2e59daebb7bdea56df8d3549cdcc4bb02bc1b8aea40ca02ebc6bff7a5d1e
+EBUILD microsoft-edge-beta-118.0.2088.24.ebuild 2610 BLAKE2B 609795e4a6fc2716b624555212f9ec2038cd17ad0af2133548ac99f63b8fc34733686f3fb845637cdcd589e3bbff7259540fa06c264fb51d23ac6b2570f0a58f SHA512 7cb6604697d8f55a7da5ec1b9a8b49921f0bb62810962c2b8de5f9197b40ab21fd0e2e59daebb7bdea56df8d3549cdcc4bb02bc1b8aea40ca02ebc6bff7a5d1e
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-117.0.2045.31.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-118.0.2088.24.ebuild
index ebc23fabaa28..ebc23fabaa28 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-117.0.2045.31.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-118.0.2088.24.ebuild
diff --git a/www-client/microsoft-edge-dev/Manifest b/www-client/microsoft-edge-dev/Manifest
index 29140c19a2da..83347a90e3c1 100644
--- a/www-client/microsoft-edge-dev/Manifest
+++ b/www-client/microsoft-edge-dev/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-dev_118.0.2088.9-1_amd64.deb 156187806 BLAKE2B aec2f117d596e3249dc6f4481f9949ac46db6aa44a76742bd96e1e7f1cac8639d5dd545f996653d7ffa1c8ddc710b7a5fa6d4c317e702f0bbaa1b0fcd567d4f1 SHA512 66a7522a9a6caa82461bedc730f555babcbb244dbd0e6f4b5ac29be53a6e85479cc609f8f2856e5e7670dacc53d25ca0b773f19ca319c733482607b025fe50e9
DIST microsoft-edge-dev_119.0.2109.1-1_amd64.deb 156756470 BLAKE2B b87aea7ade36ef2f9cf2f816cb117e5706e1e17fb36286fb0c500b61d37b441531783b14d7c64cfbe09b1a9e245de8a7c1b0eae178369e84b484b81bea259807 SHA512 e7ce74a0fbd05e9ec26e38273920d804d72ef6c4d957a20b9e67ab9854b5abadd3d2c363b7711bb81691800d3fae018098a432d3b40f5ff594baac9d4ddb81ab
DIST microsoft-edge-dev_119.0.2116.0-1_amd64.deb 156792002 BLAKE2B ce6ccc4cc9c77be50a1d6d57fd0ef044189f60cfdf492cf1ff0130e458fd2b2a046536e0345bc70d2f29f41ddc4426d9212fd5675ea4d67b9b7ca8074198958b SHA512 35375be061117f4f4174777248d1de0dca422281102193e6e826380169cd84aa15a06a73fca2af3f4291f05e319c8929fa9639b027522dc399000e35ce4fa528
-EBUILD microsoft-edge-dev-118.0.2088.9.ebuild 2610 BLAKE2B 609795e4a6fc2716b624555212f9ec2038cd17ad0af2133548ac99f63b8fc34733686f3fb845637cdcd589e3bbff7259540fa06c264fb51d23ac6b2570f0a58f SHA512 7cb6604697d8f55a7da5ec1b9a8b49921f0bb62810962c2b8de5f9197b40ab21fd0e2e59daebb7bdea56df8d3549cdcc4bb02bc1b8aea40ca02ebc6bff7a5d1e
+DIST microsoft-edge-dev_119.0.2132.0-1_amd64.deb 156550394 BLAKE2B 968bd934f5de2b843bb5b862c03427a23662c73e0bbbcfc82a2ee2aee23a761bcb90396d15e18ef4ffac42cc6036294d7dcc22f494a9fe62a7c5bbeff17dacfd SHA512 82d3895e8f947973484f5d872e0e9081d37f7855ab0bb4614e647df17abccb627f3f8c4c8e6a2e539f8d79adceefc46614d5279c351d64037d71250bdac57929
EBUILD microsoft-edge-dev-119.0.2109.1.ebuild 2610 BLAKE2B 609795e4a6fc2716b624555212f9ec2038cd17ad0af2133548ac99f63b8fc34733686f3fb845637cdcd589e3bbff7259540fa06c264fb51d23ac6b2570f0a58f SHA512 7cb6604697d8f55a7da5ec1b9a8b49921f0bb62810962c2b8de5f9197b40ab21fd0e2e59daebb7bdea56df8d3549cdcc4bb02bc1b8aea40ca02ebc6bff7a5d1e
EBUILD microsoft-edge-dev-119.0.2116.0.ebuild 2610 BLAKE2B 609795e4a6fc2716b624555212f9ec2038cd17ad0af2133548ac99f63b8fc34733686f3fb845637cdcd589e3bbff7259540fa06c264fb51d23ac6b2570f0a58f SHA512 7cb6604697d8f55a7da5ec1b9a8b49921f0bb62810962c2b8de5f9197b40ab21fd0e2e59daebb7bdea56df8d3549cdcc4bb02bc1b8aea40ca02ebc6bff7a5d1e
+EBUILD microsoft-edge-dev-119.0.2132.0.ebuild 2610 BLAKE2B 609795e4a6fc2716b624555212f9ec2038cd17ad0af2133548ac99f63b8fc34733686f3fb845637cdcd589e3bbff7259540fa06c264fb51d23ac6b2570f0a58f SHA512 7cb6604697d8f55a7da5ec1b9a8b49921f0bb62810962c2b8de5f9197b40ab21fd0e2e59daebb7bdea56df8d3549cdcc4bb02bc1b8aea40ca02ebc6bff7a5d1e
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-118.0.2088.9.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-119.0.2132.0.ebuild
index ebc23fabaa28..ebc23fabaa28 100644
--- a/www-client/microsoft-edge-dev/microsoft-edge-dev-118.0.2088.9.ebuild
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-119.0.2132.0.ebuild
diff --git a/www-client/opera/Manifest b/www-client/opera/Manifest
index 3201b1978be6..c1051b392b5f 100644
--- a/www-client/opera/Manifest
+++ b/www-client/opera/Manifest
@@ -1,4 +1,4 @@
DIST opera-ffmpeg-codecs-114.0.5735.9.tar.xz 1315192 BLAKE2B ef9a0cfc8c30ac0a837863644f3c2d5e78059575e2b8f6fda9253304f4815a39d021602e802dac7e1d5a1685aa5015a02019c4a0399f0bdc81136f956cc1d55f SHA512 bdad66bd5d238bdeb81a4e2a956f0a814633360f05c7bed2161df9506d2ccc444445ba452cc8974c755fe0d3f46adceb90324a472a5dac72e9c65391ae7a841c
-DIST opera-stable_102.0.4880.78_amd64.deb 106587992 BLAKE2B 550614a2fe1f815e3c8e8c2d075886c217c9a293d9d261f67989cdd1b13439a6102e7e3bbb754f8dfeeea75f629727f331c9318ef25ec43ec4c37c2df7a3bbd7 SHA512 63fd74c8b0dd50568f91a6056e8ab1456cc333946069dc6b1ee041bb74857f62868da396fa063e4f85e4769bb33da8e9ac43b53f198684e6d089e76d1187a0ce
-EBUILD opera-102.0.4880.78.ebuild 3799 BLAKE2B 1775a447a223aad7a3854b5d1b002f61d35c314b3c165ad277f711358227c0331d8566ea950268d90c0769be3d5c7f01d7885be47511531037dc97b378b4378e SHA512 832ddd08226aa72f25e797aa4f834d9636f0769797999cadea3713705f4628d6154c0a08f90ae9d94da9a22d2ef20ae92e16d07afdfd8bb787ec898c4badcd7e
+DIST opera-stable_103.0.4928.16_amd64.deb 108347656 BLAKE2B 28f5e36505933aedcaf156df2b452bef738936adda9712821bae6768f421a4485dd9343c41c619da04c9759c60b2e336da2f3f79d7c660542787afd8c8dda131 SHA512 5a6cebf58fc7e205e4ecce3cb2d9f1b06eb94a02e0ff56474c3bf67615c0cdc00eb6e90b317e0b3c5d7a8bd021a7b5b082d49679855033a9b3e28a75e5f792de
+EBUILD opera-103.0.4928.16.ebuild 3799 BLAKE2B 1775a447a223aad7a3854b5d1b002f61d35c314b3c165ad277f711358227c0331d8566ea950268d90c0769be3d5c7f01d7885be47511531037dc97b378b4378e SHA512 832ddd08226aa72f25e797aa4f834d9636f0769797999cadea3713705f4628d6154c0a08f90ae9d94da9a22d2ef20ae92e16d07afdfd8bb787ec898c4badcd7e
MISC metadata.xml 380 BLAKE2B 6126e5c5d5f67d1bd7d4b6659fbc9f8f62ef105e737d2cc4e6c652f4c899df1b55ef2abe077e41aa2e4eb3d553a2652e38a583b3c7baac7a20318b69f766997f SHA512 cbe76a1630f13557a0aae1703436b19b0f9f7842c5604695d49255937c8304fff07ec20f26d408527ee672e2e9625ebc748bb7d3879d5fc77c06655c4b9b1816
diff --git a/www-client/opera/opera-102.0.4880.78.ebuild b/www-client/opera/opera-103.0.4928.16.ebuild
index 1b66d70aadeb..1b66d70aadeb 100644
--- a/www-client/opera/opera-102.0.4880.78.ebuild
+++ b/www-client/opera/opera-103.0.4928.16.ebuild
diff --git a/x11-terms/Manifest.gz b/x11-terms/Manifest.gz
index 9dd3ebc58fa7..34b102defc5a 100644
--- a/x11-terms/Manifest.gz
+++ b/x11-terms/Manifest.gz
Binary files differ
diff --git a/x11-terms/alacritty/Manifest b/x11-terms/alacritty/Manifest
index c52053b279e0..c14c5ef4873c 100644
--- a/x11-terms/alacritty/Manifest
+++ b/x11-terms/alacritty/Manifest
@@ -3,6 +3,7 @@ DIST adler32-1.2.0.crate 6411 BLAKE2B 51d44ccfd774158687b8244e83377e40ff896364e3
DIST alacritty-0.10.1.tar.gz 1439045 BLAKE2B 327fbf7158459dbbc6e2a974184daa540e50613503c227ddd39e6deef6a0cb07a172f9277906615032f0557c9f5b6eb0df6fad37e46e329ad8a5c6cfb5095c5d SHA512 1321cfdf1ecc7210511ed84912e0d7a06951e21931c521decd3db8d0c1f50da4e50c01d9b39b4c77ce3a7ce0187f1f81abf3d3edc27388e6ec2e42c6c679f2d6
DIST alacritty-0.12.1.tar.gz 1493994 BLAKE2B 0f08b95f0c9781e4ecba8b93a07c8726d8dce630063aa4f94381d860ba4894f374f5be006e7f85c8ad93ef25926d7693b1c6dc463c1ea61c1a67ceaec1c88bbb SHA512 deb05a3ac5974a30df0c6158ff944b299a93acc64a67d14d76dbea8ae8a680e96d253ee8044371728db972bb5d11534fa84865de84717b851948b469f40bd9b8
DIST alacritty-0.12.2.tar.gz 1494051 BLAKE2B f86eea2cf45da3b42dfc725b591ae5925760f8ffd45d09975b8d3607093e5badd36d1cbd3d0d33e0ad474531ca56f7882fccd67a4101c35a9d5f90bfd0863fce SHA512 7d0866aed0228feb5ca17d631e28c4f0558acac27d64542f0c4e141ad34e2c7ad229dabd8917f479df2dafc29dcc215b49d2cfabcb974f6f58f73b61c0007110
+DIST alacritty-0.12.3.tar.gz 1494086 BLAKE2B 7947c880c6eefa41c5e2cc54f7f46a17a57c61d51224d44d6521d81c34d972b89a902a661b5fffb2a63281ca1850ea2ca78e600ef760d7bd33d0db4f14d995cc SHA512 9e3b35d0df0b357ef33ba49a918d6a6e0885a82bfec3a1d5b57784ab0102fa97fcdee5a79f6cf0e9fc3278a4bee5d9ee44a595625c0caf8b76491261eaa4561e
DIST android-activity-0.4.0.crate 235580 BLAKE2B 20740b4da158ce347c08c50f5a8c307ec159acd78399c781d10ea164ba4bc09e19595fff8c45e6b0f7ac4d58e23341d3a338cacca8a6ce824a2df779247a8b35 SHA512 50beaa5353ccece025d913898a070122e7680f8f50e7cc3ee7e23ab972244a0f7623ca34639dad8313f4b62e530c1e2b00ae65a7f84ff5a14e619975339fcca1
DIST android-properties-0.2.2.crate 4563 BLAKE2B 00634bbee4d6dcd3254ee37dd7e5560963b35700aa95c47c84c129f0774cbac436347f0abdaa4ec33216358d9f079559552bd5a95de5026b7dba4e04d9cd674b SHA512 dae9a12ffa7d5fbabc28d3ddcc32f1b5300884cf2b3ef2e123f2dea596b3a796b9c3cb6c5381bf8f6caf04a633c5f2f0b56804fed8fb2a6f06c36d6c76539431
DIST android_glue-0.2.3.crate 1572 BLAKE2B 8404cc69af7d1c9e851e67a69b5b18195388b50924b6a8afc7203bc5101babe9ae007724e552a929947fa9c639eb8ae13cdae0aedbc2d54b0b8d48373f15b7a3 SHA512 16ff1f0e1f50cd120dfbe57d45ebac1725fa75447c964a5b05a1a0565b13b0bc3b6c153edb4a50083ef5d802a889c9f9007e2e21a58dc408f9fb12e9437bd01b
@@ -248,6 +249,7 @@ DIST smallvec-1.7.0.crate 27459 BLAKE2B a740a4b7448a4c8d1bef59cfb6dc9a52145e40ee
DIST smallvec-1.9.0.crate 28396 BLAKE2B b04100f0a8db9e7c34a425e665242772c9857c5a4c5f34468a3f1b14f669d5cd21de2d54dc5295a22f52032370e8e989fc61cea3f4e6574ccca5be639c645e74 SHA512 e7158393d4257564eeb8fa53a630fdfc13edb33f3c555e41606edcfdbe9189e5c59c25d255dd21d02d4abad1ab2931e21744ec6c2f91ad4db66f87e748a45e56
DIST smithay-client-toolkit-0.15.3.crate 129366 BLAKE2B ba3930acdb67116aa2c4027d16cf58ef34852a9452e40a240ee30033a02172d21e9355ba7cc678220f24da7c653daffe8cdbb700fce8c1f82b404dfccc610548 SHA512 9c58ecf3421d6d93d6674397bf5d5cfa5cfc1a2670d2ff97d7cdf7c197deae825402b22b72a78c23af6cc26d7ede0256dc594e395e2903bc2b09263bb302769a
DIST smithay-client-toolkit-0.16.0.crate 132020 BLAKE2B 94db9198287863f8ee14fd743f64520593df9b43aea325f7f994b485b76a9361b5e74b45f6ceddc118e79c64d863ee8c76e91ce06042593a4701eb4365c8fa66 SHA512 448c122ca20dce7017ab2ffdd8af51fe0314ceee987e0b0f151623876f43403cb0b4a18ef54cabf78cf9ad6adaeda3c5c10dc62dfbbb339e74e816ce8b10eb38
+DIST smithay-client-toolkit-0.16.1.crate 131081 BLAKE2B 2766c1abb401db58700d3e3a92b0df7ea4abe3ab878cea4f75b732f1aa538dcbcef4a698c5f967b524382121edccd70b53d4f4ab6db95cda04c86efb16864045 SHA512 cdaa60f377e087ea7c450b662bc348e53b2eb9f08f44ef0637f462dc4090bb44d7244269ffc184776b206dfd4299d0576c88ee9d33b095494c61165f86e118eb
DIST smithay-clipboard-0.6.5.crate 16331 BLAKE2B f2075adc07feac994c295cb4eee7d8d29c571c995bd2b98bb19503407a1a8ccc4bb54aabf4d6fe0eea8b3ddac356d85d91ac8b5b6b1b30c8beeba84b342c542c SHA512 eb98f1a3f2200e475758d22e8af4e3626e9672e98690cbf350ca5512594d1f1958b14cd5d70c2924d9cdec59103f18ecd2a4d42bc3fcecefa1ce0c5785431b98
DIST smithay-clipboard-0.6.6.crate 16797 BLAKE2B c4355e91360bc305ef4fa43efac9f95b1803818a049b11a34ae753b7d8f5dd6461a96d4fcca12684db4c889139c5fee271603d4a88593507b5684a9b897fdbc5 SHA512 d6380f0b94bcfdb825dc11e061143149c7b90fe31cd257736c8d28dac8e45337f187b4cc7932e852ec9cc67cee3569ddc95d2eee04adf61f1c4060205a0a350c
DIST spsc-buffer-0.1.1.crate 3176 BLAKE2B d0f3aa4876df5baa1097dcc17f2d717ba57778f44c085bb29afe59d3c23ea6b7c965ca2dedfba1e8e123e36af379e282edfa783c1ffa16f7f792e3e60d0742a5 SHA512 c77619a2dac332f5ec359c559c408e25836b4130f6d078488ffa48cf2ea173acf74ec6bf3488d17e3e51ef756b33c3c27050587aef2e1b0525c2900906cc15b4
@@ -335,6 +337,7 @@ DIST windows_x86_64_msvc-0.36.1.crate 661999 BLAKE2B 4cf967f10d4ce148bac96759816
DIST windows_x86_64_msvc-0.42.1.crate 664606 BLAKE2B 6c460cfa392aad0d11add200d652a42ee1a60052570527c4e85405f765255375729d4e26287f5246dcad65fa89ccadea23c5135171b311e6da5027e33149c547 SHA512 a651b1a34f101125f929c1d1f5e933691c7a5c19d0bb0c501fb6812236d2771805428e3bd5e05be7d72715595f5fc9e7978dd7934e5d92e9b78a41c2ece695b2
DIST winit-0.26.1.crate 333842 BLAKE2B 6eb454288c278be0817484fb5558e0463b4e31f76f7de73dfbb0295c369d6f2d4f1b8b111a620f30597803f6511d8dcf9b8ab29f1377fd798d662511b8013ea2 SHA512 1d9052c301263e5895dde17783600116cc88d972cf505fcfde838f13a93bc61c552b24feccbd0e4c30b64d186c817d21f9ccbb5bb48adebdd18d286bec9bf9ae
DIST winit-0.28.6.crate 407165 BLAKE2B 918fe3e21b239fd35cf9c3053bcdc1df453f70a153b9088eb428f2eea687d7abf8cf2b50f3a1e7874193ee2004ac53138c6cccc155aeffadad8bc5d8c7f75103 SHA512 d7e3690aed7a1f7c29b33cfcc6802b5119b266a6128d1323c6dc47a3338fd5f8a2b9aa8e804458b6118a235fda684f0b1377e3a595846031d721d7f3a82c4f05
+DIST winit-0.28.7.crate 407921 BLAKE2B 5753e07d53ab5ff52dadb992430ae8dc6e16197afea612e273651da49521686debc0a39a9ff408af71f4b735b4f3bb78c708600a06b7a12ea4caecbb0d59f445 SHA512 4879d3676efd3be8523456be54277684fee8d804482eba6c6e6ba1ac00606da9424f352a8d8ed79a80f61938d442f5fbcd32ee1fad8ae7927b5d96e55a2e7ebb
DIST winreg-0.10.1.crate 25725 BLAKE2B db536f2a098e4ff6ae4ff80a19bd2029030d68007c3d6100f5135da1a7c223463fc17640f533bc1d4e8c53e9becb186d98351719b3b6276802c68cc755b9ba4e SHA512 09f2d18f62c3c427ebed40d667b672bb778629502ad3c39541f324b2d5ac41f0822c98b7e5320314144130580da46f1e8e51928941850e7d4af28455a564360c
DIST wio-0.2.2.crate 11214 BLAKE2B 7356229f90aa50d6ac8a7651637967de3e06755a7a45eab2a144e13c876058553c22129abffb07717b1715233f6cfc1efe90ff60c1877f4291fabaa4b5ea283d SHA512 13838de6e01b20de8996c7aa9efbaca5bcd9e4551614cfc10bee45ecca4bcc70b953b2c59fe460d1a054b3ecac13445b020aa244ea70686fd19be8d65c539b0e
DIST ws2_32-sys-0.2.1.crate 4697 BLAKE2B 52a7a3f57bcd73156730ada4d78fe12a54a498c9064e0928e09de13a95bd9237f884538e5f9368b47a7ac3c425f0f798c26bad85f20bed4ea26c2fa16c779b97 SHA512 18356861fc595efe7d0180afb8ce7649da35a4f9ba456271d2068679ab258a861af32a2e016e241fbfbf5f6ef0eb33127b26eabfc11428af39506538faa4821f
@@ -353,5 +356,6 @@ DIST yaml-rust-0.4.5.crate 47783 BLAKE2B 3e888c5cc7afb43eaf3aaab2b6f47b86df164a6
EBUILD alacritty-0.10.1.ebuild 6505 BLAKE2B 280080e4ddb70ca370d256704d73e6eac8f1fadb21f74d775378506e63b905a21042f1665e7f1157b1e066a8693d70d980f11bb5a79a33591e094fc2b36a62ba SHA512 56ce5b25c514bf728e4e0176f88045936bcdfcc9cae547bed27a591a0be6f3c60f25c38b31cf31bc4a0590a4b1ed3d677a9d2f96914a3eb2180aa9f742d9a847
EBUILD alacritty-0.12.1.ebuild 7194 BLAKE2B e8c21e5259f3d4610294d8dac633d6e34fafb34b8512fb7c5812622115d8a81e57d3adda99575e444c6f2e37bed7527d02f25534559689c17fcdbff815336192 SHA512 37f061299d5b2a1cdb03d1bba2b669b05293fb5e629cd5dc1b05d486828de8760c41c532eff64e600f0a1b5b655ff702e1cf022601b4cba02537bf060d78bc80
EBUILD alacritty-0.12.2.ebuild 7191 BLAKE2B 46bb74f9bc9ff38be96fab3e88a4e60b52ee0ffa46c421ad6f7038f9132ab15c16e454c6a5a61b7c642c8df7826c2d1b4721b67863ffd52392cdc8f8510ea636 SHA512 e939a4d871f21065d1c2076c07c7033fe509764e1c1d3823f26ad5fd4ab202ab23916f4b8d4c36a801eae987aff467f91785df38d5dcd7780caf86aaec199700
+EBUILD alacritty-0.12.3.ebuild 7194 BLAKE2B 050bbe83a22ab5dda0133bde7862e8f4ad858263de5f2db27119ae5eb866d6e76374318682ad79eb63eea86dabb96781c92e1017f626d65b7f549f8a327d830d SHA512 6db98deb6d8c1da068941bb46d5040b85606111f3b587b7cf495f79a1b402b162279d5d40563c52bb7387db32f53114e03ff543f1f9428e14da299609e7604df
EBUILD alacritty-9999.ebuild 2894 BLAKE2B 066c14e56ca0267d851987ef9329ad6c71839355f975a412194bb5ee20ac81c65e504ab33f31577bd5f6e09b96222dce687b7d537da52fdb93df6ec26b1f1d39 SHA512 0e68042b911cbadc1aa6a15fd217249ffbf58e333ba0c3b965b0db1a42e67dcf16c07a3cd35d786533f9f37ce6c1239115e91ebc2391726b1fe64043f0637c57
MISC metadata.xml 819 BLAKE2B f4e1bce404d7ce61f8a5b64562f1ac55294000d8d32343ed58d283759c041b913908881bdc371ddd6118b4cad923239c6b3961b9b86ab2441a9f3cc0eeded2b2 SHA512 21c9e1ef6176ecefbcc168aa854332a6207db160ec30db5da091761f22ca809ffa3ef3f09086fb9e40b647617eeeba391775ee3ea81db3cc1db6b2663f3d3461
diff --git a/x11-terms/alacritty/alacritty-0.12.3.ebuild b/x11-terms/alacritty/alacritty-0.12.3.ebuild
new file mode 100644
index 000000000000..9f48b9355889
--- /dev/null
+++ b/x11-terms/alacritty/alacritty-0.12.3.ebuild
@@ -0,0 +1,364 @@
+# Copyright 2017-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ adler-1.0.2
+ android-activity-0.4.0
+ android-properties-0.2.2
+ arrayref-0.3.6
+ arrayvec-0.7.2
+ atty-0.2.14
+ autocfg-1.1.0
+ base64-0.13.0
+ bitflags-1.3.2
+ block-0.1.6
+ block-sys-0.1.0-beta.1
+ block2-0.2.0-alpha.6
+ bumpalo-3.12.0
+ bytemuck-1.12.1
+ calloop-0.10.4
+ cc-1.0.73
+ cfg-if-0.1.10
+ cfg-if-1.0.0
+ cfg_aliases-0.1.1
+ cgl-0.3.2
+ clap-3.2.21
+ clap_complete-3.2.5
+ clap_derive-3.2.18
+ clap_lex-0.2.4
+ clipboard-win-3.1.1
+ cmake-0.1.48
+ cocoa-0.24.0
+ cocoa-foundation-0.1.0
+ copypasta-0.8.2
+ core-foundation-0.9.3
+ core-foundation-sys-0.8.3
+ core-graphics-0.22.3
+ core-graphics-types-0.1.1
+ core-text-19.2.0
+ crc32fast-1.3.2
+ crossbeam-channel-0.5.6
+ crossbeam-utils-0.8.12
+ crossfont-0.5.1
+ cty-0.2.2
+ dirs-4.0.0
+ dirs-sys-0.3.7
+ dispatch-0.2.0
+ dlib-0.5.0
+ downcast-rs-1.2.0
+ dwrote-0.11.0
+ embed-resource-1.7.3
+ expat-sys-2.1.6
+ filetime-0.2.17
+ flate2-1.0.24
+ fnv-1.0.7
+ foreign-types-0.3.2
+ foreign-types-0.5.0
+ foreign-types-macros-0.2.2
+ foreign-types-shared-0.1.1
+ foreign-types-shared-0.3.1
+ freetype-rs-0.26.0
+ freetype-sys-0.13.1
+ fsevent-sys-4.1.0
+ fuchsia-zircon-0.3.3
+ fuchsia-zircon-sys-0.3.3
+ gethostname-0.2.3
+ getrandom-0.2.7
+ gl_generator-0.14.0
+ glutin-0.30.9
+ glutin_egl_sys-0.5.0
+ glutin_glx_sys-0.4.0
+ glutin_wgl_sys-0.4.0
+ hashbrown-0.12.3
+ heck-0.4.0
+ hermit-abi-0.1.19
+ indexmap-1.9.1
+ inotify-0.9.6
+ inotify-sys-0.1.5
+ instant-0.1.12
+ iovec-0.1.4
+ itoa-1.0.3
+ jni-sys-0.3.0
+ jobserver-0.1.25
+ js-sys-0.3.60
+ kernel32-sys-0.2.2
+ khronos_api-3.1.0
+ kqueue-1.0.7
+ kqueue-sys-1.0.3
+ lazy-bytes-cast-5.0.1
+ lazy_static-1.4.0
+ lazycell-1.3.0
+ libc-0.2.132
+ libloading-0.7.3
+ linked-hash-map-0.5.6
+ lock_api-0.4.8
+ log-0.4.17
+ malloc_buf-0.0.6
+ memchr-2.5.0
+ memmap2-0.5.10
+ memoffset-0.6.5
+ minimal-lexical-0.2.1
+ miniz_oxide-0.5.4
+ mio-0.6.23
+ mio-0.8.4
+ mio-anonymous-pipes-0.2.0
+ mio-extras-2.0.6
+ mio-uds-0.6.8
+ miow-0.2.2
+ miow-0.3.7
+ ndk-0.7.0
+ ndk-context-0.1.1
+ ndk-sys-0.4.1+23.1.7779620
+ net2-0.2.37
+ nix-0.24.2
+ nix-0.25.1
+ nom-7.1.1
+ notify-5.1.0
+ num_enum-0.5.7
+ num_enum_derive-0.5.7
+ objc-0.2.7
+ objc-foundation-0.1.1
+ objc-sys-0.2.0-beta.2
+ objc2-0.3.0-beta.3.patch-leaks.2
+ objc2-encode-2.0.0-pre.2
+ objc_id-0.1.1
+ once_cell-1.14.0
+ orbclient-0.3.42
+ os_str_bytes-6.3.0
+ parking_lot-0.11.2
+ parking_lot-0.12.1
+ parking_lot_core-0.8.5
+ parking_lot_core-0.9.3
+ percent-encoding-2.2.0
+ pkg-config-0.3.25
+ png-0.17.6
+ proc-macro-crate-1.2.1
+ proc-macro-error-1.0.4
+ proc-macro-error-attr-1.0.4
+ proc-macro2-1.0.43
+ quote-1.0.21
+ raw-window-handle-0.5.0
+ redox_syscall-0.2.16
+ redox_syscall-0.3.4
+ redox_users-0.4.3
+ regex-automata-0.1.10
+ regex-syntax-0.6.27
+ rustc_version-0.4.0
+ ryu-1.0.11
+ same-file-1.0.6
+ scoped-tls-1.0.0
+ scopeguard-1.1.0
+ sctk-adwaita-0.5.4
+ semver-1.0.14
+ serde-1.0.144
+ serde_derive-1.0.144
+ serde_json-1.0.85
+ serde_yaml-0.8.26
+ servo-fontconfig-0.5.1
+ servo-fontconfig-sys-5.1.0
+ signal-hook-0.3.14
+ signal-hook-mio-0.2.3
+ signal-hook-registry-1.4.0
+ slab-0.4.7
+ slotmap-1.0.6
+ smallvec-1.9.0
+ smithay-client-toolkit-0.16.1
+ smithay-clipboard-0.6.6
+ spsc-buffer-0.1.1
+ strict-num-0.1.0
+ strsim-0.10.0
+ syn-1.0.99
+ termcolor-1.1.3
+ textwrap-0.15.1
+ thiserror-1.0.35
+ thiserror-impl-1.0.35
+ tiny-skia-0.8.3
+ tiny-skia-path-0.8.3
+ toml-0.5.8
+ unicode-ident-1.0.4
+ unicode-width-0.1.10
+ utf8parse-0.2.0
+ vec_map-0.8.2
+ version_check-0.9.4
+ vswhom-0.1.0
+ vswhom-sys-0.1.1
+ vte-0.10.1
+ vte_generate_state_changes-0.1.1
+ walkdir-2.3.2
+ wasi-0.11.0+wasi-snapshot-preview1
+ wasm-bindgen-0.2.83
+ wasm-bindgen-backend-0.2.83
+ wasm-bindgen-macro-0.2.83
+ wasm-bindgen-macro-support-0.2.83
+ wasm-bindgen-shared-0.2.83
+ wayland-client-0.29.5
+ wayland-commons-0.29.5
+ wayland-cursor-0.29.5
+ wayland-protocols-0.29.5
+ wayland-scanner-0.29.5
+ wayland-sys-0.29.5
+ wayland-sys-0.30.0
+ web-sys-0.3.60
+ winapi-0.2.8
+ winapi-0.3.9
+ winapi-build-0.1.1
+ winapi-i686-pc-windows-gnu-0.4.0
+ winapi-util-0.1.5
+ winapi-wsapoll-0.1.1
+ winapi-x86_64-pc-windows-gnu-0.4.0
+ windows-sys-0.36.1
+ windows-sys-0.42.0
+ windows-sys-0.45.0
+ windows-targets-0.42.1
+ windows_aarch64_gnullvm-0.42.1
+ windows_aarch64_msvc-0.36.1
+ windows_aarch64_msvc-0.42.1
+ windows_i686_gnu-0.36.1
+ windows_i686_gnu-0.42.1
+ windows_i686_msvc-0.36.1
+ windows_i686_msvc-0.42.1
+ windows_x86_64_gnu-0.36.1
+ windows_x86_64_gnu-0.42.1
+ windows_x86_64_gnullvm-0.42.1
+ windows_x86_64_msvc-0.36.1
+ windows_x86_64_msvc-0.42.1
+ winit-0.28.7
+ winreg-0.10.1
+ wio-0.2.2
+ ws2_32-sys-0.2.1
+ x11-clipboard-0.7.1
+ x11-dl-2.20.0
+ x11rb-0.10.1
+ x11rb-protocol-0.10.0
+ xcursor-0.3.4
+ xdg-2.4.1
+ xml-rs-0.8.4
+ yaml-rust-0.4.5
+"
+
+MY_PV="${PV//_rc/-rc}"
+# https://bugs.gentoo.org/725962
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit bash-completion-r1 cargo desktop python-any-r1
+
+DESCRIPTION="GPU-accelerated terminal emulator"
+HOMEPAGE="https://alacritty.org"
+
+if [ ${PV} == "9999" ] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/alacritty/alacritty"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz
+ $(cargo_crate_uris)"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="Apache-2.0 Artistic-2 Boost-1.0 BSD BSD-2 CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB"
+SLOT="0"
+IUSE="wayland +X"
+
+REQUIRED_USE="|| ( wayland X )"
+
+COMMON_DEPEND="
+ media-libs/fontconfig:=
+ media-libs/freetype:2
+ x11-libs/libxkbcommon
+ X? ( x11-libs/libxcb:= )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ ${PYTHON_DEPS}
+"
+
+RDEPEND="${COMMON_DEPEND}
+ media-libs/mesa[X?,wayland?]
+ sys-libs/zlib
+ sys-libs/ncurses:0
+ wayland? ( dev-libs/wayland )
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXi
+ x11-libs/libXrandr
+ )
+"
+
+BDEPEND="
+ dev-util/cmake
+ >=virtual/rust-1.57.0
+"
+
+QA_FLAGS_IGNORED="usr/bin/alacritty"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_unpack() {
+ if [[ "${PV}" == *9999* ]]; then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ cargo_src_unpack
+ fi
+}
+
+src_configure() {
+ local myfeatures=(
+ $(usex X x11 '')
+ $(usev wayland)
+ )
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd alacritty || die
+ cargo_src_compile
+}
+
+src_install() {
+ cargo_src_install --path alacritty
+
+ newman extra/alacritty.man alacritty.1
+ newman extra/alacritty-msg.man alacritty-msg.1
+
+ newbashcomp extra/completions/alacritty.bash alacritty
+
+ insinto /usr/share/fish/vendor_completions.d/
+ doins extra/completions/alacritty.fish
+
+ insinto /usr/share/zsh/site-functions
+ doins extra/completions/_alacritty
+
+ domenu extra/linux/Alacritty.desktop
+ newicon extra/logo/compat/alacritty-term.svg Alacritty.svg
+
+ insinto /usr/share/metainfo
+ doins extra/linux/org.alacritty.Alacritty.appdata.xml
+
+ insinto /usr/share/alacritty/scripts
+ doins -r scripts/*
+
+ local DOCS=(
+ alacritty.yml
+ CHANGELOG.md INSTALL.md README.md
+ docs/{ansicode.txt,escape_support.md,features.md}
+ )
+ einstalldocs
+}
+
+src_test() {
+ cd alacritty || die
+ cargo_src_test
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ einfo "Configuration files for ${CATEGORY}/${PN}"
+ einfo "in \$HOME often need to be updated after a version change"
+ einfo ""
+ einfo "An up-to-date sample configuration file always can be found at"
+ einfo "${ROOT}/usr/share/doc/${PF}/alacritty.yml.*"
+ fi
+}