summaryrefslogtreecommitdiff
path: root/dev-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-12-22 06:30:44 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-12-22 06:30:44 +0000
commit5a2cecfc8661e1d3a762adf05cf8eb142cd41710 (patch)
tree341806a72603cc8845e7e1595289e7a8b9570f2a /dev-libs
parentd2bcdab82e5f5f38a8ab54026e8aa94edb1b77a6 (diff)
gentoo auto-resync : 22:12:2024 - 06:30:44HEADmaster
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/Manifest.gzbin100467 -> 100484 bytes
-rw-r--r--dev-libs/appstream-glib/Manifest2
-rw-r--r--dev-libs/appstream-glib/appstream-glib-0.8.3.ebuild2
-rw-r--r--dev-libs/botan/Manifest10
-rw-r--r--dev-libs/botan/botan-2.19.5.ebuild206
-rw-r--r--dev-libs/botan/botan-3.6.1.ebuild227
-rw-r--r--dev-libs/botan/files/botan-2.19.5-boost-1.87.patch361
-rw-r--r--dev-libs/botan/files/botan-2.19.5-cloudflare.patch52
-rw-r--r--dev-libs/botan/files/botan-2.19.5-no-distutils.patch86
-rw-r--r--dev-libs/botan/files/botan-3.6.1-boost-1.87.patch322
-rw-r--r--dev-libs/gjs/Manifest2
-rw-r--r--dev-libs/gjs/gjs-1.80.2.ebuild2
-rw-r--r--dev-libs/glib/Manifest8
-rw-r--r--dev-libs/glib/files/glib-2.80.5-tests-autoptr-ffi.patch29
-rw-r--r--dev-libs/glib/glib-2.80.4.ebuild332
-rw-r--r--dev-libs/glib/glib-2.80.5-r1.ebuild12
-rw-r--r--dev-libs/glib/glib-2.80.5.ebuild435
-rw-r--r--dev-libs/glib/glib-2.82.4-r1.ebuild3
-rw-r--r--dev-libs/gobject-introspection-common/Manifest2
-rw-r--r--dev-libs/gobject-introspection-common/gobject-introspection-common-1.80.1.ebuild2
-rw-r--r--dev-libs/gobject-introspection/Manifest2
-rw-r--r--dev-libs/gobject-introspection/gobject-introspection-1.80.1-r3.ebuild2
-rw-r--r--dev-libs/json-glib/Manifest2
-rw-r--r--dev-libs/json-glib/json-glib-1.10.6.ebuild2
-rw-r--r--dev-libs/kopeninghours/Manifest2
-rw-r--r--dev-libs/kopeninghours/kopeninghours-24.12.0-r1.ebuild (renamed from dev-libs/kopeninghours/kopeninghours-24.12.0.ebuild)2
-rw-r--r--dev-libs/kosmindoormap/Manifest2
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-24.12.0-r1.ebuild (renamed from dev-libs/kosmindoormap/kosmindoormap-24.12.0.ebuild)2
-rw-r--r--dev-libs/kpublictransport/Manifest2
-rw-r--r--dev-libs/kpublictransport/kpublictransport-24.12.0-r1.ebuild (renamed from dev-libs/kpublictransport/kpublictransport-24.12.0.ebuild)2
-rw-r--r--dev-libs/libgusb/Manifest2
-rw-r--r--dev-libs/libgusb/libgusb-0.4.9.ebuild2
-rw-r--r--dev-libs/vala-common/Manifest2
-rw-r--r--dev-libs/vala-common/vala-common-0.56.17.ebuild2
-rw-r--r--dev-libs/wayland-protocols/Manifest4
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-1.39.ebuild37
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-9999.ebuild2
-rw-r--r--dev-libs/wayland/Manifest2
-rw-r--r--dev-libs/wayland/wayland-1.23.1.ebuild2
39 files changed, 1373 insertions, 797 deletions
diff --git a/dev-libs/Manifest.gz b/dev-libs/Manifest.gz
index 32b8342a50ea..be42abe2056f 100644
--- a/dev-libs/Manifest.gz
+++ b/dev-libs/Manifest.gz
Binary files differ
diff --git a/dev-libs/appstream-glib/Manifest b/dev-libs/appstream-glib/Manifest
index cafaff3f90db..63679c52ce0c 100644
--- a/dev-libs/appstream-glib/Manifest
+++ b/dev-libs/appstream-glib/Manifest
@@ -1,5 +1,5 @@
DIST appstream-glib-0.8.2.tar.xz 2320880 BLAKE2B 6c3c90298ae8bf362caea8c46643afaaab0bb0071271f5244eeca9356ed96a6a956c1b2ffa4a8500201e4bc494a54a15b3db4937b81c6f5f8b80f83299ac58ee SHA512 c9c21049ab43f5da8595aa07a3c2e097163a05b5e0fc030e4e3326136cd18127f04ad9edf08c12aea823b89048b43808cc60759cc26fcf2541cd9c1acbb29e28
DIST appstream-glib-0.8.3.tar.xz 2322068 BLAKE2B 672ad96e6da162fe7afa9112edd38923d0e58df4837381622698297be778ea7d5eb3b056e23dd7fe469acfd94942a425edbbb7cb48fea09457cf3dd2615aea10 SHA512 df4247b710cf234eef037f5f7be6be4872638d0686becd65e10e6a4214b0dd1b48ffbbd69179f3fb9777373926840d5b776e20a41ce11d4926114345944db127
EBUILD appstream-glib-0.8.2.ebuild 1554 BLAKE2B dcdece7fee7ed322192a216a21f0a0f64a8f677b77fce68bb1c800f03a4793bc1c4ca53937c6dca639a9d4ff66516f46dd97528b7fc3ac61befc92dde9384303 SHA512 5e7c13c3ad65cda8ceb5dc0f9c488e975ffeda72f58d406ba1309b0685801b1993c578ca64772a0752a1ea1e8fa194f3b06b0226e0be7e8e3c659ea944338827
-EBUILD appstream-glib-0.8.3.ebuild 1485 BLAKE2B 9a54bf437bad30c1f7fad5e30735b3e66709be58396d23fc3b1ae6815aa8272540e4dbeb510df74fd9bc57e8fb8f436a2dd7639b2953c91dd345487aab4149eb SHA512 c56c1731c3078c14e85886e6969f5aa09b2d11db4659498f60c32fc53b5a5586cacb3673c2e64a6dc448ddc3e17519597b9edf10b62b10825ba3783cf6c36c3d
+EBUILD appstream-glib-0.8.3.ebuild 1481 BLAKE2B 814dbc7f806179dfa0042709d56d85e45986036a78c414df33733b8e5891e26aa6af5eba184bed6869d4fafdb7647423346198ce33fdd6fd0c1758240f4abc4e SHA512 6b4f7e819b67136bb6cf6aa5723a4b141340d140b4a8a161fcfb6ecc76bbfe06a04e5db022f85ef59be261982d1907356e0913378ece76a2fbbc84624d489c99
MISC metadata.xml 518 BLAKE2B 86626ba74aa4910c2c6148a1ccfbfa7239ee49dbd2ae570f033226a5b145eecdfe0fbb89381a33a7bd03f98176a009ac5d6a67a725b221f2a1005ae17de4907a SHA512 8dc91556a745b2fa694171daf8080a986a42040ce088c6c320a6287660f288522b77d701fae78bf1b16f3d9e0d20b03a8b27c849e561b6b48c5529c71bcce554
diff --git a/dev-libs/appstream-glib/appstream-glib-0.8.3.ebuild b/dev-libs/appstream-glib/appstream-glib-0.8.3.ebuild
index 00159712797e..b4a216c5ead7 100644
--- a/dev-libs/appstream-glib/appstream-glib-0.8.3.ebuild
+++ b/dev-libs/appstream-glib/appstream-glib-0.8.3.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://people.freedesktop.org/~hughsient/${PN}/releases/${P}.tar.xz"
LICENSE="LGPL-2.1+"
SLOT="0/8" # soname version
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="gtk-doc fonts +introspection"
RDEPEND="
diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index 94e2313bcb28..60493935c7e2 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -1,18 +1,28 @@
+AUX botan-2.19.5-boost-1.87.patch 15481 BLAKE2B f1a03cb17ee5a56845cd3e469c64e4bb4c5a54c689c623e65e6fd15fbbf931ce5b42623ad96d579b072bc1a7f85cd19bfb75f2c596fbbe79b46f0aea867e3aec SHA512 b30882c312395b81563d21cdd87c67ba1ac74010995a5f4bd81ae26c855b984f7243e9a20bcf147b6c6ef7c613032d5302296a33004a76ca165f1ef767ffb569
+AUX botan-2.19.5-cloudflare.patch 3012 BLAKE2B 066cd7a5d1e384ebd0596e2af0f00f98c9abd8d939e11a431530f98576dc5073399b00a0a2408bdc46315aa0f5b9850bdfb75d53162f3964b2ac076bc49b52c3 SHA512 fb9780ad3f004b1a5818d9d8ffad14378d9e587ed83454583dff48c977700276e72ba533f07a20aa8c18a88245dc97a76218ba8071922b7172aec2d7d064fa02
+AUX botan-2.19.5-no-distutils.patch 2597 BLAKE2B 5d2cf7e89939abdbf97cb01f6364809782c504c22a613b0fb0fdd112beda35b7f824fb9756a5782b55de775926c4447f3cbf5cc2803844acdd115e6ac1db8cce SHA512 171400cffbefb1d6a50bd0cd134083c6e63efd439a9f0129152637dcc4d3ec00d06494e6d8d3a526a71198a2f3e3a87951e23bcf8f647b3e9e7e3e59c9370c98
AUX botan-3.2.0-ninja.patch 575 BLAKE2B f75eb0a16fadfae6e0a1bb554262d8d902152c054fd97c19a1c4eda31a780138efd42ce05992896d16d98415c555a7cfa01b6dfa201c7e97ad971deab851e7b7 SHA512 ff9078ae1a43404680cf757da15bd17541f51f8de02a1a8d02f075676a1e35ff9a78adba0f3b84847634bc4904ed7b5824df6c708785865a4d01d4f9139e617b
+AUX botan-3.6.1-boost-1.87.patch 14585 BLAKE2B 175d0a7e0bd16fb1e8f1d2493ad41e6633ec32284704cfb182892acf35695adb38f142ebf557697a422b40b11a0b7842f9852b45022168ffa691ddd84f8334a3 SHA512 f4adea3772b7bff4304c3189f3be38c75c2a3ddcfeb451f7578e2f0e1487e2d1eedef0c7dd782a699cf966931a7ab32f0ca4079d9145b7c43495a6281bf68bea
DIST Botan-2.19.3.tar.xz 6105896 BLAKE2B 6d7778d9e9a101c76f35c65b0fb0201641cd91967ba934510f3836ee4b924d54cabdc760dd460997679250aa66e1d2a99369cd03f8fb9e7b2fe672d4b355215f SHA512 80012397e2aa7cc88a9536340ac9b770d1195fddda53b9d4cfde82318dd05f9d4f925bbdff773aba99883a701f4d30581e9d5c97e915fa80c3ca2acfa5a92110
DIST Botan-2.19.3.tar.xz.asc 488 BLAKE2B cd86bf77306aad2956cced6ac4fb96081279af88743e87d8fe5437e72e9fa8db8aaf40d0b5cb9c5b3a85204cb7d63c3baa3054126ab4c9a2db527e6835a069d7 SHA512 9142f932c958138b4bac32f503a550e6c73b61612690a280dcb98efe8c367aa6bd3cd88b4ed4decec376bb87596a780a21bdcb01d4a3573a1c44fbeb0aa49d23
DIST Botan-2.19.4.tar.xz 6099528 BLAKE2B c35dfec5aad13c76fe09b33f97a72d15f84bfd6c434cae89be13c3fd3e6f7deaa9ea21474890bb6a1f4fa7d23369c32b9fc747862233eac33c8c88dbc912d31f SHA512 2fab4347367703dce8302b7710698ed228c6cc6dd609c39829ba17ad580407ed40d822862d467aa7aea4bfd633c1f1d1c0d437e86376f453845cc609596335d8
DIST Botan-2.19.4.tar.xz.asc 488 BLAKE2B b8b7db32d61859778c0866e782ed94ef89ba48a0f0f2289d9452fe7f540ae37ad495cb7eede68199d9bed8e23f695e1860c0d379cd4c35c92de8c45db167b68a SHA512 e00c4e2944655919507300650d81fbee03dd22d1a84cb8135848ea9ee061ca4d4dfada618643193143c0123e56f22e4a6d3a26c73923d872754d80dc2a4779c5
+DIST Botan-2.19.5.tar.xz 6140148 BLAKE2B ab3a133a84c1beb2efd32fcb1746c13ec58cf24cf28cea43c93e9dd4b45c65a47225ff92139e34e1470cf150f839794e3bbd316df5e72a060f11d03141002b79 SHA512 323930fbabd833a6affd71f90835e4ca31a9632e346dee9c5f396aca898697d0f2993b860f739d02cdf49fa7fbb3a2d306c4790e5d5f39620b2dea284983669c
+DIST Botan-2.19.5.tar.xz.asc 488 BLAKE2B 7d52f66f7495ccc249a58ec30206234a9ea4420bcc6e6412593a975bec1173afe55bbcd2c0cbe3859a3fdf547464d3d2949bc03dcb9dbd25c4d5c97589f48202 SHA512 3ba185cf077c109d183fff14270fa60c7be01fd87077e233e6473365111ba83d41448db6d5b5849fe1194c47e84cc2da91a0f75c30ea43538772f13138e472fa
DIST Botan-3.1.1.tar.xz 8800368 BLAKE2B c31365e6bd4106f96a033e5f092c528c0185577f41d9a698d2630ece0f660f87f03e0775ebeb5c4d812819bbc6eb556b5ff15c16f243288ae73c8bf1fbb991ce SHA512 ed6bdadb910b0775245648140212953ed364aa26107f851e39ac5cb664d7f476c519a22cdad41f0e520796c4ebe453c56ca68a2178e39f815d445e9979333795
DIST Botan-3.1.1.tar.xz.asc 488 BLAKE2B 9ac94473d90a26932e507cdb3f46d8381565deecff38a5a2f7fe043b33405071adf0baee4235dd94bb6d35fa3ffedca6192fb5f5d76030874a90a399d88f9744 SHA512 f52e8602a57f590150f6f49829e788910006e5113ab6e85c6efe73009b8db752b5f28b869c6265ef6dd3c2727c64c0182d125f02f92485485768416c618acdb9
DIST Botan-3.2.0.tar.xz 8998204 BLAKE2B f21e7574af93ab3331607f4a4ecf1b2cbbc0db4b510ea8ad19a5286d46d3a8e37e13746d2d4751eb16a70fdc8371b4435b030ef0a17f1ab6dcd76bd81bb3a4fa SHA512 526cf71144584fef6e73f14f6aa1e2a7b03a92a3e51436287764bb61e742a94e02926bcc2aab038f08ef2169cb511152c8ecd71d51e06deb4875dc676875c2d9
DIST Botan-3.2.0.tar.xz.asc 488 BLAKE2B f7bc716dd18eedf35928933e22c75de3d2731330dfdaf8a5048e8ad86e1f3896ea55294a64b7f82593af16dd2e4097a9ba68f25baa024e175b7334478bcf84a6 SHA512 3ee42ac73e1bd6cea0a2e9f468b88d67c02a4a69786c41ddf9fc7f94b6847be00e0f3f0f38f934ab599b8d6dd29006414294df8b371f5cf2422292f3dd176756
DIST Botan-3.3.0.tar.xz 7164024 BLAKE2B 051a24c28e6858fdff2af15d01a871ebe5bab11d773be821c0a56a55c725c91cf3119280195ac736f4df83305c1d4910430e6b26deded0d4c634e5c2fc23b389 SHA512 90930add225a2b4376046b3ed0177c71e7d19e983fb2b99c40751de5e6c3959b520eaa1e836782eb02ebc8aff8e9a4fd928f585de5e6b1798a8ad4aa0464f19b
DIST Botan-3.3.0.tar.xz.asc 488 BLAKE2B 043538ff2572a449d4d9ad4bba6d7cab78865e924f712d1b4d4aad9f378cc417f07c19a25adefa22b6e1c06259a50880414c11ce8d3ad1e7f815cf458dbbe6b8 SHA512 c951079c22665966b96cf18c20df7b709353b42dab4aeb33d021b4a8abbc0f06d8fe909f1a5db3e736b4f93b17374d8f832f7aa9f25757a5d5ab1604320581b2
+DIST Botan-3.6.1.tar.xz 7581864 BLAKE2B 744eed158e021d26b9414b3a098e017e6e2c2160fc7fb6a0f24f6cbbb4b08501157108dedd7a71fc3645e27c86608a9ba5d18a11087adfd1c9b174ca3ce85b30 SHA512 06327c55bee5e0d2e142f81b997dd8a1ef98f61ef920b57f6eb4e80ebf6b3de1c62373b889d4a32e62509495792e0b46d5dcc82a6446266974b4d4ead8d9f287
+DIST Botan-3.6.1.tar.xz.asc 488 BLAKE2B 3538c941f707a182f86226dfdbb8222570671e0bce3ca61137a5d978c2b1f5e658ffc1168d7e73a1861210adfac8aa661124c9cbc4950973f7b1e2c3360aab90 SHA512 871c6d91368d8a080e704afb53b1339c6d06aa57aaa45f260bccf1cb1ed31c635587ba930f954ab55668a7ca13b89b2f2acba3c0f1723e3f7190c6ebe9dc2e0b
EBUILD botan-2.19.3-r2.ebuild 5084 BLAKE2B 4e38d5f419f00e83691cc0eabf70679ef9c2b3ca6583de89bdd629ff047b7ed2fb42e8a577b4352bd5702925de8df0c4c1694562d2fa7b37a3599e13af276da9 SHA512 018dc521bc66d71373865307debdf1bd556b8c663fde27a8e2abb1ab96ce783851024255d8059b0c0146f6ea33d8c43469e77d07996bf3c4ccc7b69a90c0c65a
EBUILD botan-2.19.4.ebuild 5158 BLAKE2B 851298f127c510589a3f1a19fef3485318e8ec7bc90f197101cc8d0950cfd935b9f8299d8994135d1d1c6790da5ef5d9492322d6ec2f193b50f7ef6dcd20b05e SHA512 1f3c042a943b5e51d2c10d62ea96e6772457423667f8803ea39e8443f74641be99893eb0015f179c2a9a0440d1a8fccf81134eb963fae5d03ec289ad5a032a4d
+EBUILD botan-2.19.5.ebuild 5211 BLAKE2B 680b22edc892be863fdab189b2b9c753d41c31dcd39f999b4d039e0a9f2b1f73575c7aee72a860e2f3e74fc5dbfeba4fa057d9039e351c647ded82a1094ba74c SHA512 f3260993c3149bba2ec86bb782919ecc2c7cd8e3fc20ba544aaf56ec6e17f64e63d0d7a6adc12ad53bed977f3af1880a57f3be9554d24d032af838ec6c8ac8a0
EBUILD botan-3.1.1.ebuild 5687 BLAKE2B 2a54f03f4c60f34a426306a440c961d8c670d353dc309eece4b89c251e280a3025faf8c46d76b5f3c2778678fb5302bffa4d13192b7c49b83ff2c4830bd53cf9 SHA512 039403784b9e5314fbf44491a075337e82b88a872965d9c4ec230c9e62b72d2758fb22c0270232faaf07c6de85bc6c9476986f5a264b5253cdb147f8d6c0fd09
EBUILD botan-3.2.0-r1.ebuild 5949 BLAKE2B d3896126f123289ba540718729e96b72fb5c40527be15fe3b7921040210014efdb65748c4dc601130949bf48fced3864f746915ee9ada72f77d85120fbf85a10 SHA512 623175e58b1b045757ff939c05b1cc55357e0d32b76485027ab45179adc5278eb01f46bac5b944ebbb00e0fcb6963da4ae7202721546c306dc0355e7bb747161
EBUILD botan-3.2.0-r2.ebuild 5974 BLAKE2B 0d13e2fd6b89cd5cd4254b0d4d109ce1df29f7e191df73c453786db9e2c134fc79a7faa592147c0bd780e1ea2e0d0c230b51402e028ea1b45f6fa188e20cd8a5 SHA512 d1ec5f53985ddcd8ef65439385a9fa4b33be4686e8fbcedf1c7c3b15eeb74dc635bf46bbba39195e6a5487297ac71e68b9442c129ab36d92c60b8d366dfde1f3
EBUILD botan-3.3.0.ebuild 6000 BLAKE2B 536ec0d6f2b6d832bcd2bfe5a8ecc9f1656ec644fb023dafd0592a5b1492b13fdb9ee75d5c9a6589b822a3882aec19ca35dc737766d4cd073cac7357e1225acb SHA512 179a8f6c557b4d797bb2508d409c0bfff23d35b7d46cc398a888f7f0a6a4e05049800f0dfc62505b7b1448b92a81c3b53001645dd4fd0395848b79336f268009
+EBUILD botan-3.6.1.ebuild 5984 BLAKE2B e88d6380a0ff866a1c2cd5da3898f550de57f74453bbc71c83a2b38b544ed64ee6b4f29ab246d5240720dc9c37ed8371b62198a6bea324b42a687fa79c15aea8 SHA512 78e32e4a696549b39ca7d798cc0767f7c17edd55e5a9c3c251abe748772c95de6acfcb2e59572e4fac8e2a9a0cf5c9f356d8c556050a9a3ea4a7f475f815ddfc
MISC metadata.xml 587 BLAKE2B 8d46466fee633fda0f81549a6e512e4ef5963eda31d7c882cee2fe2bfae8b0379509f046d0bdfdb1fe9481eea0585f1754753ed6b509c4f922b8fbf9ae089f39 SHA512 258e04098b9db5821a66e38d02ffb195b57378621fd2a549c8892744cf257be857ebf75c8e4a2f041cd267f07c2f1c3a5fca8df61db0538d8282507cf03a029d
diff --git a/dev-libs/botan/botan-2.19.5.ebuild b/dev-libs/botan/botan-2.19.5.ebuild
new file mode 100644
index 000000000000..bece06dd2ab4
--- /dev/null
+++ b/dev-libs/botan/botan-2.19.5.ebuild
@@ -0,0 +1,206 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+CPU_USE=(
+ cpu_flags_arm_{aes,neon}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+IUSE+=" ${CPU_USE[@]}"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-3.0.0-r1:3[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+
+PATCHES=(
+ "${FILESDIR}"/${P}-no-distutils.patch
+ "${FILESDIR}"/${P}-boost-1.87.patch
+ "${FILESDIR}"/${P}-cloudflare.patch
+)
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_configure() {
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if use elibc_glibc && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ tc-export AR CC CXX
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ default
+
+ if [[ -d "${ED}"/usr/share/doc/${P} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/botan/botan-3.6.1.ebuild b/dev-libs/botan/botan-3.6.1.ebuild
new file mode 100644
index 000000000000..a74ebb175427
--- /dev/null
+++ b/dev-libs/botan/botan-3.6.1.ebuild
@@ -0,0 +1,227 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing ninja-utils python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+CPU_USE=(
+ cpu_flags_arm_{aes,neon,sha1,sha2}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+IUSE+=" ${CPU_USE[@]}"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-2.19.3-r1:2[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ ${NINJA_DEPEND}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ || ( >=sys-devel/gcc-11:* >=llvm-core/clang-14:* )
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.6.1-boost-1.87.patch
+)
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # bug #908958
+ if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+ die "GCC version is too old to compile Botan!"
+ elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade Clang: emerge -v1 llvm-core/clang"
+ die "Clang version is too old to compile Botan!"
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_arm_sha1 '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_sha2 '--disable-armv8crypto')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --build-tool=ninja
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if ( use elibc_glibc || use elibc_musl ) && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_compile() {
+ eninja
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ DESTDIR="${D}" eninja install
+
+ if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/botan/files/botan-2.19.5-boost-1.87.patch b/dev-libs/botan/files/botan-2.19.5-boost-1.87.patch
new file mode 100644
index 000000000000..a52fbaea130d
--- /dev/null
+++ b/dev-libs/botan/files/botan-2.19.5-boost-1.87.patch
@@ -0,0 +1,361 @@
+https://bugs.gentoo.org/946389
+https://github.com/randombit/botan/commit/37fec38ff97604f964122cd2d33f5d503f319b10
+
+From 37fec38ff97604f964122cd2d33f5d503f319b10 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ren=C3=A9=20Meusel?= <rene.meusel@rohde-schwarz.com>
+Date: Thu, 19 Dec 2024 10:28:40 +0100
+Subject: [PATCH] Backport: Remove usage of deprecated asio API
+
+These were all finally dropped with boost 1.87, so this fixes
+build with boost 1.87.
+
+Co-Authored-By: Jack Lloyd <jack@randombit.net>
+Co-Authored-By: q66 <q66@chimera-linux.org>
+---
+ src/cli/tls_http_server.cpp | 16 +++++-----
+ src/cli/tls_proxy.cpp | 46 ++++++++++++++++-------------
+ src/lib/utils/socket/socket.cpp | 18 +++++------
+ src/lib/utils/socket/socket_udp.cpp | 18 +++++------
+ 4 files changed, 50 insertions(+), 48 deletions(-)
+
+diff --git a/src/cli/tls_http_server.cpp b/src/cli/tls_http_server.cpp
+index fc0b5bbb77e..67ab126b145 100644
+--- a/src/cli/tls_http_server.cpp
++++ b/src/cli/tls_http_server.cpp
+@@ -176,7 +176,7 @@ class TLS_Asio_HTTP_Session final : public std::enable_shared_from_this<TLS_Asio
+ typedef std::shared_ptr<TLS_Asio_HTTP_Session> pointer;
+
+ static pointer create(
+- boost::asio::io_service& io,
++ boost::asio::io_context& io,
+ Botan::TLS::Session_Manager& session_manager,
+ Botan::Credentials_Manager& credentials,
+ Botan::TLS::Policy& policy)
+@@ -201,7 +201,7 @@ class TLS_Asio_HTTP_Session final : public std::enable_shared_from_this<TLS_Asio
+ }
+
+ private:
+- TLS_Asio_HTTP_Session(boost::asio::io_service& io,
++ TLS_Asio_HTTP_Session(boost::asio::io_context& io,
+ Botan::TLS::Session_Manager& session_manager,
+ Botan::Credentials_Manager& credentials,
+ Botan::TLS::Policy& policy)
+@@ -230,7 +230,8 @@ class TLS_Asio_HTTP_Session final : public std::enable_shared_from_this<TLS_Asio
+
+ m_client_socket.async_read_some(
+ boost::asio::buffer(&m_c2s[0], m_c2s.size()),
+- m_strand.wrap(
++ boost::asio::bind_executor(
++ m_strand,
+ boost::bind(
+ &TLS_Asio_HTTP_Session::client_read, shared_from_this(),
+ boost::asio::placeholders::error,
+@@ -332,7 +333,8 @@ class TLS_Asio_HTTP_Session final : public std::enable_shared_from_this<TLS_Asio
+ boost::asio::async_write(
+ m_client_socket,
+ boost::asio::buffer(&m_s2c[0], m_s2c.size()),
+- m_strand.wrap(
++ boost::asio::bind_executor(
++ m_strand,
+ boost::bind(
+ &TLS_Asio_HTTP_Session::handle_client_write_completion,
+ shared_from_this(),
+@@ -406,7 +408,7 @@ class TLS_Asio_HTTP_Session final : public std::enable_shared_from_this<TLS_Asio
+ }
+ }
+
+- boost::asio::io_service::strand m_strand;
++ boost::asio::io_context::strand m_strand;
+
+ tcp::socket m_client_socket;
+
+@@ -427,7 +429,7 @@ class TLS_Asio_HTTP_Server final
+ typedef TLS_Asio_HTTP_Session session;
+
+ TLS_Asio_HTTP_Server(
+- boost::asio::io_service& io, unsigned short port,
++ boost::asio::io_context& io, unsigned short port,
+ Botan::Credentials_Manager& creds,
+ Botan::TLS::Policy& policy,
+ Botan::TLS::Session_Manager& session_mgr,
+@@ -551,7 +553,7 @@ class TLS_HTTP_Server final : public Command
+ session_mgr.reset(new Botan::TLS::Session_Manager_In_Memory(rng()));
+ }
+
+- boost::asio::io_service io;
++ boost::asio::io_context io;
+
+ TLS_Asio_HTTP_Server server(io, listen_port, creds, *policy, *session_mgr, max_clients);
+
+diff --git a/src/cli/tls_proxy.cpp b/src/cli/tls_proxy.cpp
+index bd96530c202..853be08161c 100644
+--- a/src/cli/tls_proxy.cpp
++++ b/src/cli/tls_proxy.cpp
+@@ -98,11 +98,11 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+ typedef std::shared_ptr<tls_proxy_session> pointer;
+
+ static pointer create(
+- boost::asio::io_service& io,
++ boost::asio::io_context& io,
+ Botan::TLS::Session_Manager& session_manager,
+ Botan::Credentials_Manager& credentials,
+ Botan::TLS::Policy& policy,
+- tcp::resolver::iterator endpoints)
++ tcp::resolver::results_type endpoints)
+ {
+ return pointer(
+ new tls_proxy_session(
+@@ -141,11 +141,11 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+
+ private:
+ tls_proxy_session(
+- boost::asio::io_service& io,
++ boost::asio::io_context& io,
+ Botan::TLS::Session_Manager& session_manager,
+ Botan::Credentials_Manager& credentials,
+ Botan::TLS::Policy& policy,
+- tcp::resolver::iterator endpoints)
++ tcp::resolver::results_type endpoints)
+ : m_strand(io)
+ , m_server_endpoints(endpoints)
+ , m_client_socket(io)
+@@ -184,7 +184,8 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+
+ m_client_socket.async_read_some(
+ boost::asio::buffer(&m_c2p[0], m_c2p.size()),
+- m_strand.wrap(
++ boost::asio::bind_executor(
++ m_strand,
+ boost::bind(
+ &tls_proxy_session::client_read, shared_from_this(),
+ boost::asio::placeholders::error,
+@@ -245,7 +246,8 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+ boost::asio::async_write(
+ m_client_socket,
+ boost::asio::buffer(&m_p2c[0], m_p2c.size()),
+- m_strand.wrap(
++ boost::asio::bind_executor(
++ m_strand,
+ boost::bind(
+ &tls_proxy_session::handle_client_write_completion,
+ shared_from_this(),
+@@ -270,11 +272,11 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+ boost::asio::async_write(
+ m_server_socket,
+ boost::asio::buffer(&m_p2s[0], m_p2s.size()),
+- m_strand.wrap(
+- boost::bind(
+- &tls_proxy_session::handle_server_write_completion,
+- shared_from_this(),
+- boost::asio::placeholders::error)));
++ boost::asio::bind_executor(m_strand,
++ boost::bind(
++ &tls_proxy_session::handle_server_write_completion,
++ shared_from_this(),
++ boost::asio::placeholders::error)));
+ }
+ }
+
+@@ -308,7 +310,8 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+
+ m_server_socket.async_read_some(
+ boost::asio::buffer(&m_s2p[0], m_s2p.size()),
+- m_strand.wrap(
++ boost::asio::bind_executor(
++ m_strand,
+ boost::bind(&tls_proxy_session::server_read, shared_from_this(),
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred)));
+@@ -318,7 +321,8 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+ {
+ m_hostname = session.server_info().hostname();
+
+- auto onConnect = [this](boost::system::error_code ec, tcp::resolver::iterator /*endpoint*/)
++ auto onConnect = [this](boost::system::error_code ec,
++ const boost::asio::ip::tcp::resolver::results_type::iterator& /*endpoint*/)
+ {
+ if(ec)
+ {
+@@ -328,7 +332,7 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+ server_read(boost::system::error_code(), 0); // start read loop
+ proxy_write_to_server(nullptr, 0);
+ };
+- async_connect(m_server_socket, m_server_endpoints, onConnect);
++ async_connect(m_server_socket, m_server_endpoints.begin(), m_server_endpoints.end(), onConnect);
+ return true;
+ }
+
+@@ -341,9 +345,9 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+ }
+ }
+
+- boost::asio::io_service::strand m_strand;
++ boost::asio::io_context::strand m_strand;
+
+- tcp::resolver::iterator m_server_endpoints;
++ tcp::resolver::results_type m_server_endpoints;
+
+ tcp::socket m_client_socket;
+ tcp::socket m_server_socket;
+@@ -369,8 +373,8 @@ class tls_proxy_server final
+ typedef tls_proxy_session session;
+
+ tls_proxy_server(
+- boost::asio::io_service& io, unsigned short port,
+- tcp::resolver::iterator endpoints,
++ boost::asio::io_context& io, unsigned short port,
++ tcp::resolver::results_type endpoints,
+ Botan::Credentials_Manager& creds,
+ Botan::TLS::Policy& policy,
+ Botan::TLS::Session_Manager& session_mgr,
+@@ -428,7 +432,7 @@ class tls_proxy_server final
+ }
+
+ tcp::acceptor m_acceptor;
+- tcp::resolver::iterator m_server_endpoints;
++ tcp::resolver::results_type m_server_endpoints;
+
+ Botan::Credentials_Manager& m_creds;
+ Botan::TLS::Policy& m_policy;
+@@ -479,10 +483,10 @@ class TLS_Proxy final : public Command
+
+ auto policy = load_tls_policy(get_arg("policy"));
+
+- boost::asio::io_service io;
++ boost::asio::io_context io;
+
+ tcp::resolver resolver(io);
+- auto server_endpoint_iterator = resolver.resolve({ target, target_port });
++ auto server_endpoint_iterator = resolver.resolve(target, target_port);
+
+ std::unique_ptr<Botan::TLS::Session_Manager> session_mgr;
+
+diff --git a/src/lib/utils/socket/socket.cpp b/src/lib/utils/socket/socket.cpp
+index bc632259a64..0ce4e85830f 100644
+--- a/src/lib/utils/socket/socket.cpp
++++ b/src/lib/utils/socket/socket.cpp
+@@ -48,19 +48,17 @@ class Asio_Socket final : public OS::Socket
+ std::chrono::milliseconds timeout) :
+ m_timeout(timeout), m_timer(m_io), m_tcp(m_io)
+ {
+- m_timer.expires_from_now(m_timeout);
++ m_timer.expires_after(m_timeout);
+ check_timeout();
+
+ boost::asio::ip::tcp::resolver resolver(m_io);
+- boost::asio::ip::tcp::resolver::query query(hostname, service);
+- boost::asio::ip::tcp::resolver::iterator dns_iter = resolver.resolve(query);
++ boost::asio::ip::tcp::resolver::results_type endpoints = resolver.resolve(hostname, service);
+
+ boost::system::error_code ec = boost::asio::error::would_block;
+
+ auto connect_cb = [&ec](const boost::system::error_code& e,
+- boost::asio::ip::tcp::resolver::iterator) { ec = e; };
+-
+- boost::asio::async_connect(m_tcp, dns_iter, connect_cb);
++ const boost::asio::ip::tcp::resolver::results_type::iterator&) { ec = e; };
++ boost::asio::async_connect(m_tcp, endpoints.begin(), endpoints.end(), connect_cb);
+
+ while(ec == boost::asio::error::would_block)
+ {
+@@ -75,7 +73,7 @@ class Asio_Socket final : public OS::Socket
+
+ void write(const uint8_t buf[], size_t len) override
+ {
+- m_timer.expires_from_now(m_timeout);
++ m_timer.expires_after(m_timeout);
+
+ boost::system::error_code ec = boost::asio::error::would_block;
+
+@@ -92,7 +90,7 @@ class Asio_Socket final : public OS::Socket
+
+ size_t read(uint8_t buf[], size_t len) override
+ {
+- m_timer.expires_from_now(m_timeout);
++ m_timer.expires_after(m_timeout);
+
+ boost::system::error_code ec = boost::asio::error::would_block;
+ size_t got = 0;
+@@ -115,7 +113,7 @@ class Asio_Socket final : public OS::Socket
+ private:
+ void check_timeout()
+ {
+- if(m_tcp.is_open() && m_timer.expires_at() < std::chrono::system_clock::now())
++ if(m_tcp.is_open() && m_timer.expiry() < std::chrono::system_clock::now())
+ {
+ boost::system::error_code err;
+ m_tcp.close(err);
+@@ -125,7 +123,7 @@ class Asio_Socket final : public OS::Socket
+ }
+
+ const std::chrono::milliseconds m_timeout;
+- boost::asio::io_service m_io;
++ boost::asio::io_context m_io;
+ boost::asio::system_timer m_timer;
+ boost::asio::ip::tcp::socket m_tcp;
+ };
+diff --git a/src/lib/utils/socket/socket_udp.cpp b/src/lib/utils/socket/socket_udp.cpp
+index fbbdd9abbcc..82a25b49cda 100644
+--- a/src/lib/utils/socket/socket_udp.cpp
++++ b/src/lib/utils/socket/socket_udp.cpp
+@@ -48,19 +48,17 @@ class Asio_SocketUDP final : public OS::SocketUDP
+ std::chrono::microseconds timeout) :
+ m_timeout(timeout), m_timer(m_io), m_udp(m_io)
+ {
+- m_timer.expires_from_now(m_timeout);
++ m_timer.expires_after(m_timeout);
+ check_timeout();
+
+ boost::asio::ip::udp::resolver resolver(m_io);
+- boost::asio::ip::udp::resolver::query query(hostname, service);
+- boost::asio::ip::udp::resolver::iterator dns_iter = resolver.resolve(query);
++ boost::asio::ip::udp::resolver::results_type endpoints = resolver.resolve(hostname, service);
+
+ boost::system::error_code ec = boost::asio::error::would_block;
+
+ auto connect_cb = [&ec](const boost::system::error_code& e,
+- boost::asio::ip::udp::resolver::iterator) { ec = e; };
+-
+- boost::asio::async_connect(m_udp, dns_iter, connect_cb);
++ const boost::asio::ip::udp::resolver::results_type::iterator&) { ec = e; };
++ boost::asio::async_connect(m_udp, endpoints.begin(), endpoints.end(), connect_cb);
+
+ while(ec == boost::asio::error::would_block)
+ {
+@@ -75,7 +73,7 @@ class Asio_SocketUDP final : public OS::SocketUDP
+
+ void write(const uint8_t buf[], size_t len) override
+ {
+- m_timer.expires_from_now(m_timeout);
++ m_timer.expires_after(m_timeout);
+
+ boost::system::error_code ec = boost::asio::error::would_block;
+
+@@ -95,7 +93,7 @@ class Asio_SocketUDP final : public OS::SocketUDP
+
+ size_t read(uint8_t buf[], size_t len) override
+ {
+- m_timer.expires_from_now(m_timeout);
++ m_timer.expires_after(m_timeout);
+
+ boost::system::error_code ec = boost::asio::error::would_block;
+ size_t got = 0;
+@@ -121,7 +119,7 @@ class Asio_SocketUDP final : public OS::SocketUDP
+ private:
+ void check_timeout()
+ {
+- if(m_udp.is_open() && m_timer.expires_at() < std::chrono::system_clock::now())
++ if(m_udp.is_open() && m_timer.expiry() < std::chrono::system_clock::now())
+ {
+ boost::system::error_code err;
+ m_udp.close(err);
+@@ -131,7 +129,7 @@ class Asio_SocketUDP final : public OS::SocketUDP
+ }
+
+ const std::chrono::microseconds m_timeout;
+- boost::asio::io_service m_io;
++ boost::asio::io_context m_io;
+ boost::asio::system_timer m_timer;
+ boost::asio::ip::udp::socket m_udp;
+ };
+
diff --git a/dev-libs/botan/files/botan-2.19.5-cloudflare.patch b/dev-libs/botan/files/botan-2.19.5-cloudflare.patch
new file mode 100644
index 000000000000..0824fd9a1089
--- /dev/null
+++ b/dev-libs/botan/files/botan-2.19.5-cloudflare.patch
@@ -0,0 +1,52 @@
+https://github.com/randombit/botan/commit/698c383b050591ae1a239c9e6d4ebe05532d2eee
+
+From 698c383b050591ae1a239c9e6d4ebe05532d2eee Mon Sep 17 00:00:00 2001
+From: Luke Valenta <lvalenta@cloudflare.com>
+Date: Thu, 11 Apr 2024 14:24:36 -0400
+Subject: [PATCH] Backport: Update roughtime.cloudflare.com public key and port
+
+See also #4002.
+
+Fixes #3937. Note that the old Cloudflare public key is still present in
+test vectors in the codebase.
+---
+ src/cli/roughtime.cpp | 2 +-
+ src/tests/test_roughtime.cpp | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/cli/roughtime.cpp b/src/cli/roughtime.cpp
+index ff38fe1c43c..6c1561efacd 100644
+--- a/src/cli/roughtime.cpp
++++ b/src/cli/roughtime.cpp
+@@ -72,7 +72,7 @@ class Roughtime final : public Command
+ <name> <key type> <base 64 encoded public key> <protocol> <host:port>
+
+ Example servers:
+- Cloudflare-Roughtime ed25519 gD63hSj3ScS+wuOeGrubXlq35N1c5Lby/S+T7MNTjxo= udp roughtime.cloudflare.com:2002
++ Cloudflare-Roughtime ed25519 0GD7c3yP8xEc4Zl2zeuN2SlLvDVVocjsPSL8/Rl/7zg= udp roughtime.cloudflare.com:2003
+ Google-Sandbox-Roughtime ed25519 etPaaIxcBMY1oUeGpwvPMCJMwlRVNxv51KK/tktoJTQ= udp roughtime.sandbox.google.com:2002
+
+ --chain-file=<filename>
+diff --git a/src/tests/test_roughtime.cpp b/src/tests/test_roughtime.cpp
+index 48ac545876b..4b29837e9b6 100644
+--- a/src/tests/test_roughtime.cpp
++++ b/src/tests/test_roughtime.cpp
+@@ -191,7 +191,7 @@ class Roughtime final : public Test
+
+ const auto servers = Botan::Roughtime::servers_from_str(
+ "Chainpoint-Roughtime ed25519 bbT+RPS7zKX6w71ssPibzmwWqU9ffRV5oj2OresSmhE= udp roughtime.chainpoint.org:2002\n"
+- "Cloudflare-Roughtime ed25519 gD63hSj3ScS+wuOeGrubXlq35N1c5Lby/S+T7MNTjxo= udp roughtime.cloudflare.com:2002\n"
++ "Cloudflare-Roughtime ed25519 0GD7c3yP8xEc4Zl2zeuN2SlLvDVVocjsPSL8/Rl/7zg= udp roughtime.cloudflare.com:2003\n"
+ "Google-Sandbox-Roughtime ed25519 etPaaIxcBMY1oUeGpwvPMCJMwlRVNxv51KK/tktoJTQ= udp roughtime.sandbox.google.com:2002\n"
+ "int08h-Roughtime ed25519 AW5uAoTSTDfG5NfY1bTh08GUnOqlRb+HVhbJ3ODJvsE= udp roughtime.int08h.com:2002\n"
+ "ticktock ed25519 cj8GsiNlRkqiDElAeNMSBBMwrAl15hYPgX50+GWX/lA= udp ticktock.mixmin.net:5333\n"
+@@ -224,7 +224,7 @@ class Roughtime final : public Test
+ Botan::Roughtime::Nonce nonce(Test::rng());
+ try
+ {
+- const auto response_raw = Botan::Roughtime::online_request("roughtime.cloudflare.com:2002", nonce,
++ const auto response_raw = Botan::Roughtime::online_request("roughtime.cloudflare.com:2003", nonce,
+ std::chrono::seconds(5));
+ const auto now = std::chrono::system_clock::now();
+ const auto response = Botan::Roughtime::Response::from_bits(response_raw, nonce);
+
diff --git a/dev-libs/botan/files/botan-2.19.5-no-distutils.patch b/dev-libs/botan/files/botan-2.19.5-no-distutils.patch
new file mode 100644
index 000000000000..bc6631fb7cc6
--- /dev/null
+++ b/dev-libs/botan/files/botan-2.19.5-no-distutils.patch
@@ -0,0 +1,86 @@
+https://github.com/randombit/botan/commit/0fed26215b52a3d30122deb528f6b4deb824eae7
+
+From 0fed26215b52a3d30122deb528f6b4deb824eae7 Mon Sep 17 00:00:00 2001
+From: Jack Lloyd <jack@randombit.net>
+Date: Fri, 6 Sep 2024 11:56:01 -0400
+Subject: [PATCH] Remove code relying on Python distutils
+
+This was just used to check if Sphinx supports concurrency, but
+Sphinx is also barely faster with 1 core vs 32, so it hardly matters.
+
+Debian bug 1080557
+---
+ src/scripts/build_docs.py | 45 ---------------------------------------
+ 1 file changed, 45 deletions(-)
+
+diff --git a/src/scripts/build_docs.py b/src/scripts/build_docs.py
+index 6eb9b656c98..5bd04acb13b 100755
+--- a/src/scripts/build_docs.py
++++ b/src/scripts/build_docs.py
+@@ -18,18 +18,6 @@
+ import os
+ import stat
+
+-def get_concurrency():
+- """
+- Get default concurrency level of build
+- """
+- def_concurrency = 2
+-
+- try:
+- import multiprocessing
+- return max(def_concurrency, multiprocessing.cpu_count())
+- except ImportError:
+- return def_concurrency
+-
+ def have_prog(prog):
+ """
+ Check if some named program exists in the path
+@@ -124,37 +112,6 @@ def log_level():
+
+ return options
+
+-def sphinx_supports_concurrency():
+- import re
+- from distutils.version import StrictVersion
+-
+- proc = subprocess.Popen(['sphinx-build', '--version'],
+- stdout=subprocess.PIPE,
+- stderr=subprocess.STDOUT)
+- output, _ = proc.communicate()
+- if isinstance(output, bytes):
+- output = output.decode('ascii')
+- output = output.strip()
+-
+- # Sphinx v1.1.3
+- # sphinx-build 1.7.4
+- match = re.match(r'^(?:[a-zA-Z_-]+) v?(([0-9]+)\.([0-9]+))', output)
+-
+- if match is None:
+- # If regex doesn't match, disable by default
+- logging.warning("Did not recognize sphinx version from '%s'", output)
+- return False
+-
+- version = StrictVersion(match.group(1))
+-
+- if version < StrictVersion('1.4'):
+- # not supported
+- return False
+- if version == StrictVersion('3.0'):
+- # Bug in Sphinx 3.0 https://github.com/sphinx-doc/sphinx/issues/7438
+- return False
+- return True
+-
+ def read_config(config):
+ try:
+ f = open(config)
+@@ -203,8 +160,6 @@ def main(args=None):
+
+ if with_sphinx:
+ sphinx_build = ['sphinx-build', '-q', '-c', cfg['sphinx_config_dir']]
+- if sphinx_supports_concurrency():
+- sphinx_build += ['-j', str(get_concurrency())]
+
+ cmds.append(sphinx_build + ['-b', 'html', handbook_src, handbook_output])
+
+
diff --git a/dev-libs/botan/files/botan-3.6.1-boost-1.87.patch b/dev-libs/botan/files/botan-3.6.1-boost-1.87.patch
new file mode 100644
index 000000000000..eb42cad0567d
--- /dev/null
+++ b/dev-libs/botan/files/botan-3.6.1-boost-1.87.patch
@@ -0,0 +1,322 @@
+https://bugs.gentoo.org/946389
+https://github.com/randombit/botan/pull/4484
+
+From 2a406beab449a2cb310fa543451a7087ca7b4b1a Mon Sep 17 00:00:00 2001
+From: q66 <q66@chimera-linux.org>
+Date: Sun, 15 Dec 2024 02:42:02 +0100
+Subject: [PATCH 1/2] Remove usage of deprecated asio API
+
+These were all finally dropped with boost 1.87, so this fixes
+build with boost 1.87.
+--- a/src/cli/tls_proxy.cpp
++++ b/src/cli/tls_proxy.cpp
+@@ -106,11 +106,11 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+
+ typedef std::shared_ptr<tls_proxy_session> pointer;
+
+- static pointer create(boost::asio::io_service& io,
++ static pointer create(boost::asio::io_context& io,
+ const std::shared_ptr<Botan::TLS::Session_Manager>& session_manager,
+ const std::shared_ptr<Botan::Credentials_Manager>& credentials,
+ const std::shared_ptr<Botan::TLS::Policy>& policy,
+- const tcp::resolver::iterator& endpoints) {
++ const tcp::resolver::results_type& endpoints) {
+ auto session = std::make_shared<tls_proxy_session>(io, endpoints);
+
+ // Defer the setup of the TLS server to make use of
+@@ -144,7 +144,7 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+ }
+ }
+
+- tls_proxy_session(boost::asio::io_service& io, tcp::resolver::iterator endpoints) :
++ tls_proxy_session(boost::asio::io_context& io, tcp::resolver::results_type endpoints) :
+ m_strand(io),
+ m_server_endpoints(std::move(endpoints)),
+ m_client_socket(io),
+@@ -287,7 +287,7 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+
+ void tls_session_activated() override {
+ auto onConnect = [self = weak_from_this()](boost::system::error_code ec,
+- const tcp::resolver::iterator& /*endpoint*/) {
++ tcp::resolver::results_type::iterator /*endpoint*/) {
+ if(ec) {
+ log_error("Server connection", ec);
+ return;
+@@ -301,7 +301,7 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+ return;
+ }
+ };
+- async_connect(m_server_socket, m_server_endpoints, onConnect);
++ async_connect(m_server_socket, m_server_endpoints.begin(), m_server_endpoints.end(), onConnect);
+ }
+
+ void tls_session_established(const Botan::TLS::Session_Summary& session) override {
+@@ -315,9 +315,9 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+ }
+ }
+
+- boost::asio::io_service::strand m_strand;
++ boost::asio::io_context::strand m_strand;
+
+- tcp::resolver::iterator m_server_endpoints;
++ tcp::resolver::results_type m_server_endpoints;
+
+ tcp::socket m_client_socket;
+ tcp::socket m_server_socket;
+@@ -341,9 +341,9 @@ class tls_proxy_server final {
+ public:
+ typedef tls_proxy_session session;
+
+- tls_proxy_server(boost::asio::io_service& io,
++ tls_proxy_server(boost::asio::io_context& io,
+ unsigned short port,
+- tcp::resolver::iterator endpoints,
++ tcp::resolver::results_type endpoints,
+ std::shared_ptr<Botan::Credentials_Manager> creds,
+ std::shared_ptr<Botan::TLS::Policy> policy,
+ std::shared_ptr<Botan::TLS::Session_Manager> session_mgr,
+@@ -383,7 +383,7 @@ class tls_proxy_server final {
+ }
+
+ tcp::acceptor m_acceptor;
+- tcp::resolver::iterator m_server_endpoints;
++ tcp::resolver::results_type m_server_endpoints;
+
+ std::shared_ptr<Botan::Credentials_Manager> m_creds;
+ std::shared_ptr<Botan::TLS::Policy> m_policy;
+@@ -429,10 +429,10 @@ class TLS_Proxy final : public Command {
+
+ auto policy = load_tls_policy(get_arg("policy"));
+
+- boost::asio::io_service io;
++ boost::asio::io_context io;
+
+ tcp::resolver resolver(io);
+- auto server_endpoint_iterator = resolver.resolve({target, target_port});
++ auto server_endpoint_iterator = resolver.resolve(target, target_port);
+
+ std::shared_ptr<Botan::TLS::Session_Manager> session_mgr;
+
+--- a/src/lib/utils/socket/socket.cpp
++++ b/src/lib/utils/socket/socket.cpp
+@@ -46,20 +46,19 @@ class Asio_Socket final : public OS::Socket {
+ public:
+ Asio_Socket(std::string_view hostname, std::string_view service, std::chrono::milliseconds timeout) :
+ m_timeout(timeout), m_timer(m_io), m_tcp(m_io) {
+- m_timer.expires_from_now(m_timeout);
++ m_timer.expires_after(m_timeout);
+ check_timeout();
+
+ boost::asio::ip::tcp::resolver resolver(m_io);
+- boost::asio::ip::tcp::resolver::query query(std::string{hostname}, std::string{service});
+- boost::asio::ip::tcp::resolver::iterator dns_iter = resolver.resolve(query);
++ boost::asio::ip::tcp::resolver::results_type dns_iter = resolver.resolve(std::string{hostname}, std::string{service});
+
+ boost::system::error_code ec = boost::asio::error::would_block;
+
+- auto connect_cb = [&ec](const boost::system::error_code& e, const boost::asio::ip::tcp::resolver::iterator&) {
++ auto connect_cb = [&ec](const boost::system::error_code& e, boost::asio::ip::tcp::resolver::results_type::iterator) {
+ ec = e;
+ };
+
+- boost::asio::async_connect(m_tcp, dns_iter, connect_cb);
++ boost::asio::async_connect(m_tcp, dns_iter.begin(), dns_iter.end(), connect_cb);
+
+ while(ec == boost::asio::error::would_block) {
+ m_io.run_one();
+@@ -74,7 +73,7 @@ class Asio_Socket final : public OS::Socket {
+ }
+
+ void write(const uint8_t buf[], size_t len) override {
+- m_timer.expires_from_now(m_timeout);
++ m_timer.expires_after(m_timeout);
+
+ boost::system::error_code ec = boost::asio::error::would_block;
+
+@@ -90,7 +89,7 @@ class Asio_Socket final : public OS::Socket {
+ }
+
+ size_t read(uint8_t buf[], size_t len) override {
+- m_timer.expires_from_now(m_timeout);
++ m_timer.expires_after(m_timeout);
+
+ boost::system::error_code ec = boost::asio::error::would_block;
+ size_t got = 0;
+@@ -116,7 +115,7 @@ class Asio_Socket final : public OS::Socket {
+
+ private:
+ void check_timeout() {
+- if(m_tcp.is_open() && m_timer.expires_at() < std::chrono::system_clock::now()) {
++ if(m_tcp.is_open() && m_timer.expiry() < std::chrono::system_clock::now()) {
+ boost::system::error_code err;
+
+ // NOLINTNEXTLINE(bugprone-unused-return-value,cert-err33-c)
+@@ -127,7 +126,7 @@ class Asio_Socket final : public OS::Socket {
+ }
+
+ const std::chrono::milliseconds m_timeout;
+- boost::asio::io_service m_io;
++ boost::asio::io_context m_io;
+ boost::asio::system_timer m_timer;
+ boost::asio::ip::tcp::socket m_tcp;
+ };
+--- a/src/lib/utils/socket/socket_udp.cpp
++++ b/src/lib/utils/socket/socket_udp.cpp
+@@ -46,20 +46,19 @@ class Asio_SocketUDP final : public OS::SocketUDP {
+ public:
+ Asio_SocketUDP(std::string_view hostname, std::string_view service, std::chrono::microseconds timeout) :
+ m_timeout(timeout), m_timer(m_io), m_udp(m_io) {
+- m_timer.expires_from_now(m_timeout);
++ m_timer.expires_after(m_timeout);
+ check_timeout();
+
+ boost::asio::ip::udp::resolver resolver(m_io);
+- boost::asio::ip::udp::resolver::query query(std::string{hostname}, std::string{service});
+- boost::asio::ip::udp::resolver::iterator dns_iter = resolver.resolve(query);
++ boost::asio::ip::udp::resolver::results_type dns_iter = resolver.resolve(std::string{hostname}, std::string{service});
+
+ boost::system::error_code ec = boost::asio::error::would_block;
+
+- auto connect_cb = [&ec](const boost::system::error_code& e, const boost::asio::ip::udp::resolver::iterator&) {
++ auto connect_cb = [&ec](const boost::system::error_code& e, boost::asio::ip::udp::resolver::results_type::iterator) {
+ ec = e;
+ };
+
+- boost::asio::async_connect(m_udp, dns_iter, connect_cb);
++ boost::asio::async_connect(m_udp, dns_iter.begin(), dns_iter.end(), connect_cb);
+
+ while(ec == boost::asio::error::would_block) {
+ m_io.run_one();
+@@ -74,7 +73,7 @@ class Asio_SocketUDP final : public OS::SocketUDP {
+ }
+
+ void write(const uint8_t buf[], size_t len) override {
+- m_timer.expires_from_now(m_timeout);
++ m_timer.expires_after(m_timeout);
+
+ boost::system::error_code ec = boost::asio::error::would_block;
+
+@@ -90,7 +89,7 @@ class Asio_SocketUDP final : public OS::SocketUDP {
+ }
+
+ size_t read(uint8_t buf[], size_t len) override {
+- m_timer.expires_from_now(m_timeout);
++ m_timer.expires_after(m_timeout);
+
+ boost::system::error_code ec = boost::asio::error::would_block;
+ size_t got = 0;
+@@ -116,7 +115,7 @@ class Asio_SocketUDP final : public OS::SocketUDP {
+
+ private:
+ void check_timeout() {
+- if(m_udp.is_open() && m_timer.expires_at() < std::chrono::system_clock::now()) {
++ if(m_udp.is_open() && m_timer.expiry() < std::chrono::system_clock::now()) {
+ boost::system::error_code err;
+
+ // NOLINTNEXTLINE(bugprone-unused-return-value,cert-err33-c)
+@@ -127,7 +126,7 @@ class Asio_SocketUDP final : public OS::SocketUDP {
+ }
+
+ const std::chrono::microseconds m_timeout;
+- boost::asio::io_service m_io;
++ boost::asio::io_context m_io;
+ boost::asio::system_timer m_timer;
+ boost::asio::ip::udp::socket m_udp;
+ };
+
+From 3820f357017eacef1fcb5119582bc9789b88f6c2 Mon Sep 17 00:00:00 2001
+From: Jack Lloyd <jack@randombit.net>
+Date: Wed, 18 Dec 2024 17:10:34 -0500
+Subject: [PATCH 2/2] Address review comments
+
+--- a/src/cli/tls_proxy.cpp
++++ b/src/cli/tls_proxy.cpp
+@@ -287,7 +287,7 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+
+ void tls_session_activated() override {
+ auto onConnect = [self = weak_from_this()](boost::system::error_code ec,
+- tcp::resolver::results_type::iterator /*endpoint*/) {
++ const tcp::resolver::results_type::iterator& /*endpoint*/) {
+ if(ec) {
+ log_error("Server connection", ec);
+ return;
+--- a/src/examples/tls_stream_client.cpp
++++ b/src/examples/tls_stream_client.cpp
+@@ -35,7 +35,7 @@ class Credentials_Manager : public Botan::Credentials_Manager {
+ class client {
+ public:
+ client(boost::asio::io_context& io_context,
+- boost::asio::ip::tcp::resolver::iterator endpoint_iterator,
++ const boost::asio::ip::tcp::resolver::results_type& endpoints,
+ std::string_view host,
+ const http::request<http::string_body>& req) :
+ m_request(req),
+@@ -46,7 +46,8 @@ class client {
+ host)),
+ m_stream(io_context, m_ctx) {
+ boost::asio::async_connect(m_stream.lowest_layer(),
+- std::move(endpoint_iterator),
++ endpoints.begin(),
++ endpoints.end(),
+ boost::bind(&client::handle_connect, this, ap::error));
+ }
+
+@@ -111,8 +112,7 @@ int main(int argc, char* argv[]) {
+ boost::asio::io_context io_context;
+
+ boost::asio::ip::tcp::resolver resolver(io_context);
+- boost::asio::ip::tcp::resolver::query query(host, port);
+- boost::asio::ip::tcp::resolver::iterator iterator = resolver.resolve(query);
++ boost::asio::ip::tcp::resolver::results_type endpoints = resolver.resolve(host, port);
+
+ http::request<http::string_body> req;
+ req.version(11);
+@@ -121,7 +121,7 @@ int main(int argc, char* argv[]) {
+ req.set(http::field::host, host);
+ req.set(http::field::user_agent, Botan::version_string());
+
+- client c(io_context, iterator, host, req);
++ client c(io_context, endpoints, host, req);
+
+ io_context.run();
+ } catch(std::exception& e) {
+--- a/src/lib/utils/socket/socket.cpp
++++ b/src/lib/utils/socket/socket.cpp
+@@ -50,13 +50,12 @@ class Asio_Socket final : public OS::Socket {
+ check_timeout();
+
+ boost::asio::ip::tcp::resolver resolver(m_io);
+- boost::asio::ip::tcp::resolver::results_type dns_iter = resolver.resolve(std::string{hostname}, std::string{service});
++ boost::asio::ip::tcp::resolver::results_type dns_iter =
++ resolver.resolve(std::string{hostname}, std::string{service});
+
+ boost::system::error_code ec = boost::asio::error::would_block;
+
+- auto connect_cb = [&ec](const boost::system::error_code& e, boost::asio::ip::tcp::resolver::results_type::iterator) {
+- ec = e;
+- };
++ auto connect_cb = [&ec](const boost::system::error_code& e, const auto&) { ec = e; };
+
+ boost::asio::async_connect(m_tcp, dns_iter.begin(), dns_iter.end(), connect_cb);
+
+--- a/src/lib/utils/socket/socket_udp.cpp
++++ b/src/lib/utils/socket/socket_udp.cpp
+@@ -50,13 +50,13 @@ class Asio_SocketUDP final : public OS::SocketUDP {
+ check_timeout();
+
+ boost::asio::ip::udp::resolver resolver(m_io);
+- boost::asio::ip::udp::resolver::results_type dns_iter = resolver.resolve(std::string{hostname}, std::string{service});
++ boost::asio::ip::udp::resolver::results_type dns_iter =
++ resolver.resolve(std::string{hostname}, std::string{service});
+
+ boost::system::error_code ec = boost::asio::error::would_block;
+
+- auto connect_cb = [&ec](const boost::system::error_code& e, boost::asio::ip::udp::resolver::results_type::iterator) {
+- ec = e;
+- };
++ auto connect_cb = [&ec](const boost::system::error_code& e,
++ const boost::asio::ip::udp::resolver::results_type::iterator&) { ec = e; };
+
+ boost::asio::async_connect(m_udp, dns_iter.begin(), dns_iter.end(), connect_cb);
+
+
diff --git a/dev-libs/gjs/Manifest b/dev-libs/gjs/Manifest
index dab902161eab..a3a58bfce947 100644
--- a/dev-libs/gjs/Manifest
+++ b/dev-libs/gjs/Manifest
@@ -1,5 +1,5 @@
DIST gjs-1.78.5.tar.xz 656168 BLAKE2B e1458d000998b66fda90e448ca487e591729e003c3e11a939dc474958b6de55783d41db8de5b243a329361f12acc15a8e84f4131650705becb046b68c54a24a2 SHA512 bb25e52dff53bfbde6d2329027d4ff68849740cf753da58f9bdf5a19ea7b029e2517d67978f461f16660dd1aa48b223798e9c0a24cde0ccb62060e4a0c83a02e
DIST gjs-1.80.2.tar.xz 663256 BLAKE2B d5c8dd85acc0ee1fa8da9450b1d9427da0f835b695d5c6877ea166d41751dcf4449bb00ee0068ac98abed245d6dc1d67504432db368b9fcd8d81e0f37e72e952 SHA512 cc9a9073f741ee60eff2d2ce808cca7f40e97798f9ffa9197ebc3780a8a5df6e174ba76293bf7547fc8fa7e82be6a828a633a5aa8ba27d551dec72d635b6c5bd
EBUILD gjs-1.78.5.ebuild 1964 BLAKE2B 6be8158e276a81d96fc1b634c2c99dc1f390da18c8d2b124b1f2d68639a7d8a80ecd2c0abd95b179cf1620f43cd364154e08e97826cb722678ab736d4da8391e SHA512 f74db61691abadf702934e47f2ac63a53663de49d962e4495146a1ded25bce3b8a7cde7f3ffb5cb858dce59a081b7d738ae3611bc9a98ea71911834a514c48bf
-EBUILD gjs-1.80.2.ebuild 1930 BLAKE2B 645162fae01b1da78c1c318861a151dce80fd37055a633f3057ee3af4e81f8dc55d34fd71578bd7143b626369b925537a938d7e2dc74256a9d9887c5270e310f SHA512 7959e21d345b63fb1305b3661eedf3b2cee9e9e32e5d381e4895061964ad80f4ae0b9c401bc6df5719ff0acb7c627ff8a9d3f36e4337bb508d84d1faf8269269
+EBUILD gjs-1.80.2.ebuild 1928 BLAKE2B 32ad4173f042b52159a45231747d29368f63330e9414c68d9d185e6405a196fd54da64dfa8445be3a8df365840cc85b7c45c076126a2d0d4e07ef9bbb5f5c800 SHA512 23dc5a2ae10c79a45672287d3ff247c5f7ab145e7643d3aa53e226f8f33f8fe811b78e0098269cbc31d8b685624401f7c4bb977eb104034f369bfa0eb6210142
MISC metadata.xml 473 BLAKE2B 0d57ec402b3daaa00af170335374e711150ecccd019aea100484079a055015f36119c4564ae2d95e82e4ac8d6de6d84b83379aedfdcbfb7aaabaa752b51d8203 SHA512 a4f99ef450b30c381845a774865b4e82b2a554cc7f0a2edba7002096563943b58b290f704210cc00ca0508cf6e81a11be2fa0c6402117d2b05f0e4eb2e03a0c2
diff --git a/dev-libs/gjs/gjs-1.80.2.ebuild b/dev-libs/gjs/gjs-1.80.2.ebuild
index 897b4b56ae2b..dad161a150e5 100644
--- a/dev-libs/gjs/gjs-1.80.2.ebuild
+++ b/dev-libs/gjs/gjs-1.80.2.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/gjs"
LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~mips ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv x86"
IUSE="+cairo examples readline sysprof test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/glib/Manifest b/dev-libs/glib/Manifest
index 3f936b33dc0b..f67f020aecc9 100644
--- a/dev-libs/glib/Manifest
+++ b/dev-libs/glib/Manifest
@@ -2,11 +2,11 @@ AUX glib-2.64.1-mark-gdbus-server-auth-test-flaky.patch 842 BLAKE2B 6b2eb57b8923
AUX glib-2.78.4-distutils.patch 933 BLAKE2B a5416e699a8604a5f443339401bdfcc50e6631eeac82a1d4e169f450b7c15b0323d75fa337ab689a029699cf3190310539cf5f603f2262963aea8ee1d1c9b5a0 SHA512 e5cfdfa795671f2a302b0bded516086e03056ee2675df9343819efc97130fb66988bdd67341fa9678b443c750f98d3902efe87c8f7e7532babd314414d93d0d0
AUX glib-2.78.4-libpcre2-10.43.patch 1742 BLAKE2B 4fa283d28780e8376e99306bebd92162d00bd5b4040cf6c090a56f77393830a3a5c8fbbdc82a0f69b5b8bb78e0e1f4fe5ce23eaca2b1c82e2881cec416fed742 SHA512 7915c26ba0c313178148d2b85920943e7270f2ee2828800b8dc69c0baaf101b7a2a94341f42c870d5c770933063221d97dcdc655d8c03d0285f85d6b2b67f109
AUX glib-2.80.5-gobject-introspection-1.80.patch 3942 BLAKE2B 11e9cce2031d4c796ebccebc4f6d2eb832156e58b562d810f136206452cf1d735881dc1c4aa7c1d588e4d1fcc84f76650031e7baa030dfd09dd4490dd511003e SHA512 9ad2791ab550740619723021b8e4007950071dfceebff7cd403d23726ee53da207accde8cd98e1ed517fbd6ba62368876a2f10d7c2d62e0dc909b984451b2c4a
+AUX glib-2.80.5-tests-autoptr-ffi.patch 1035 BLAKE2B 62703fe130035ce4514acaa90c4ea6873fedd2210c07846297084ca5e9735c9b9cd04f399897711d5aacb1f46b950edcb50bcb21b581b9e160f1ac0c56e8d608 SHA512 db6f8c09fc2b1ccf7dd39bbc6d3979724da1249adb568a37095468316a5c6737939f05f6cf62ed4cae951a7babbae114c0fefe954ddaa03974f276706c0fe03c
DIST glib-2.76.4.tar.xz 5274356 BLAKE2B c9ceb514ea81e1e6ab2d0efc82c48c0d8ae6c997fd0e3c56d47a5174b027f785b58266fff73b1d1132e272305126fbff22e3c65d47de46224cd12fa49796d5bc SHA512 f76932dc5090a44880373228e2b162f338415d06f7c90f2950eab1a43bb191c56a1797da4d377594f6a999197fef4defb848039259cfa4105bb68288a928f5b7
DIST glib-2.78.3.tar.xz 5321388 BLAKE2B 6ef754b15e1ce4377eafdfc317025ac65c3d8010a8816a0cef786cec9da2af9f7d7d1da735c971ab8c848b2dcec050330e5b0fdceb156a36d739848e6160cd19 SHA512 9c1af75fb973d23ce0286d5b7836eea45f9628c148ced5ac10e10abceda05024ae4c57f01439824d3287d986527500b7b959828b630b6e4a3314b5224f4d7246
DIST glib-2.78.4.tar.xz 5331892 BLAKE2B ada7134597d7d863e581a2bb1097ac07a63b27b53309aadab5b1d3686327ee718ad8c5c07af3fce5cc12328e728fc2c4df5fd9e69f431fa00dc634062ef7f926 SHA512 6f3a06e10e7373a2dbf0688512de4126472fb73cbec488b7983b5ffecff09c64d7e1ca462f892e8f215d3d277d103ca802bad7ef0bd0f91edf26fc6ce67187b6
DIST glib-2.78.6.tar.xz 5344808 BLAKE2B d16173794c4aa019459cf8c8c84d4107fb8393828f41ec6c631b9452890f34f9022ed848a543ed134fdb8a575faef6b941cea3e05de512eb1b7a99f7601a2485 SHA512 8d75f8fd77b6309215ca86a0c7648878efe11051f18b279840c137669017ea4066388f8682367e4ea3f154333d833c9dc28ccd4a66a91f0c3854a40a2838f8da
-DIST glib-2.80.4.tar.xz 5535760 BLAKE2B 1d2b301703b27a5c2def370e1d44b4f7b08a940969563ce9d8d7c38e5f0a32163b95523e09cedc4a57b2af84a57d63dc545abcb31b61a8066ef62ba396fb4f3c SHA512 efdc7dd1e0609b0f2d988a8cc8fd4a3fda96e8450832f905f7686f9063b727cb996e0e4e638aca62f60b76f9f04be62e089a615413e64cf298c7eef26e074570
DIST glib-2.80.5.tar.xz 5538308 BLAKE2B 3f17ff85a85d20858b69c2dccc1e5d6ffd92661a8cfda8b8770dd391861999ff3381008f4fe382e90f0a7798fe218debda7f559f6e3ac8f9305e3be98b879969 SHA512 c9cc9f99e217fd950810fcfbfa7300c7850cae4dbfbabc03cdcadb6dcca2e51ea7979ceb68c09d8e9776fd1c04db73b89b81f748c8bd911e1f7ad9f704dff172
DIST glib-2.82.4.tar.xz 5556896 BLAKE2B 62caecc7570b1639f6ddf1deb9debb6d3d6180b74f497f2fcace5ce65d6e28996555d51e5b4980f500bdc3f811b5b6214521b1170f553f2fa1fd240fd0eec835 SHA512 5df0b3c56fe6cf6c94019e29afb408174a5864cdb97cf58d5a12a0f83990b5c2004a49c8e3b0e195f5808874b5911a4a7b3d6aea8718aada1b40561e623cd08d
DIST gobject-introspection-1.80.1.tar.xz 1040228 BLAKE2B 7a8c1da9bc8aef293deedde1eed97536fa2f42f79a9761ac8ededb0676e46b636545a69e20e63d812844aeb626fa4fb7ce3c7922e51554fdc79560f16443acd9 SHA512 f45c2c1b105086488d974c6134db9910746df8edb187772f2ecd249656a1047c8ac88ba51f5bf7393c3d99c3ace143ecd09be256c2f4d0ceee110c9ad51a839a
@@ -15,8 +15,6 @@ EBUILD glib-2.76.4.ebuild 11145 BLAKE2B 9500014a458c528207d29e2ac5915803203456a5
EBUILD glib-2.78.3.ebuild 11145 BLAKE2B 9500014a458c528207d29e2ac5915803203456a5c7d9c2480cef6d960601bbc6b5fe66ea019c3613e1e5c718b3eac1d1d8903bd24b555624bb1ec71e956d8f65 SHA512 c8100dd38f030caca84a54cd51cdd11646614efed488baff3695b33e0cef7bd3ab7490966011a72e87187bbc80e58349a20c544e67c9c675430405e3a876ca12
EBUILD glib-2.78.4-r1.ebuild 11390 BLAKE2B 569236b2fc6694eb09b999b94ce027b8fb9152aa2876ed08199fcbb52b894be1660a42da41c063926844b507d5e89eed8cc40c8049bb71b2a887494245974324 SHA512 8eface9ce9509f9661c8f2e7c51e1ede41e6d0db4589c9987a24a4168bf0c4cebf69835825d4d994c70802052bfe487b77629b45219c0c282351328ba476d26b
EBUILD glib-2.78.6.ebuild 11340 BLAKE2B c53403ccbcbd18e678f8e2c6e53b39ccc6cb558be4e7f96df26f986a4c51ea86cf601bf0a122c2530dfc762af2a1cbe6e85f524687c738a8eb3940afeb6541a9 SHA512 7c1b4e8e69ca36d6b52855c7edbe4b584d549025d88783010359b96469c98b217dd50819ae971c7bfee637a30bd864b991c3a16cc538492b4c7075d719e30f4c
-EBUILD glib-2.80.4.ebuild 11467 BLAKE2B c0efaa4ab793d792f8ca300fddc586b1f09e477898c962d6ee528330992db8d1a633e176e2079f4302a1e5d904e919599ac9ca1e37cd5a542ccf14aa8c7d9f73 SHA512 7d6fb8190795ac10bb9b31f0f618452dc7ed7f3a1cd84aabb258c4fe6cfb3dcee96b0a4430a2d0b42055687c0736464efb218db22862c48c30e31f90f173b84e
-EBUILD glib-2.80.5-r1.ebuild 15542 BLAKE2B 343a4a03cfd6c80491f3c6230c44ddf34fc1ceb1f8026647fa3bd462bf6976a1d8734e118d736cec684289cb057a8000d50161b81ac8fcc6dc84dc85c92cbc42 SHA512 d51d07b69a4304c78973a4400a1ad19d9d76b9a82ab0b767237dfa575c68128f5205bbadad80cafb5cf6463237065634ef478610e2adc9726c683331d515a209
-EBUILD glib-2.80.5.ebuild 15291 BLAKE2B c939b8e376c803270074061f2702d643d6d713a3775157df0effe1bbf270803a52c9f2021f03273185cc723ca0958a83d3c3712dc86fd8177557a96762165806 SHA512 101b872a11dcc09e3b249b8f586729e80361f1d270595d19140d57967aa2a3984c619eeab9413d8214041eb9c74aeb89d61add32393d6a4c55284ebe93a4be3d
-EBUILD glib-2.82.4-r1.ebuild 15399 BLAKE2B be43d3de64c1a42b391c4d150f98d875a69c7bbf0bec7e7cc220ebed317c736fdfcf68266aef44eb2e52892ae33d414f8f80424f0789ede1f94e4a66d64dc592 SHA512 51dd8fb72b3532cd48e7ff1291b806403d69f1b3fea1ffd405f9294feea1c145dee509b5e5fdbf9e351aa6813763d9ddefa8f8047e304b330f24dac0d457bb3f
+EBUILD glib-2.80.5-r1.ebuild 15936 BLAKE2B 09bc2c227de3dff40571a13d344520c76d5ac114d701e2e9b09897614f805012a8ce5c6eb406ee741c45572bad1f24464378b4fb388057679e3dc52d774ad2eb SHA512 d699142d4b98fe0e6ebeb2751fb830b811e03829c2b0e74c14604b213ae9a3db1ff8a9fbbac340534a86eeeeb429e184e331a9b03e5b61c3058d055c9a1a1eee
+EBUILD glib-2.82.4-r1.ebuild 15551 BLAKE2B eb7c04f85476bb3106091ef8fe578056d6f88c5c1dbfc3cfc58c82d06c4bcae387fb9f3472cf7947fb56b164d1d6db1cdd69e390a5ce5f50c46efdaee1a2fad5 SHA512 e3765221ee2e300079097600ed38b03431d287e4a7e97baaa8700dbcb7f6588869a7ef8731931c71814be5f456a967f49dd6b60f833aa7beeac1f50db20c90f1
MISC metadata.xml 1499 BLAKE2B 5a75e3b360e4656fe9127f2dc3ba7e90df3eae0586a025b4eefc2317398e53815c98a8014ea6f0dd69ae8afdafa066eec61c18e9fa86d24c78a3f11404c2a7a8 SHA512 2b12c409bf16cf9e01e80c30a6707aac5b48ca4cdeac3852028c003c6cb2d50b5e82be73adeefb8341fd4f157e0f7d22505cebfc2ee0f6d64ca77a7d3cfa8271
diff --git a/dev-libs/glib/files/glib-2.80.5-tests-autoptr-ffi.patch b/dev-libs/glib/files/glib-2.80.5-tests-autoptr-ffi.patch
new file mode 100644
index 000000000000..0130481897ef
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.80.5-tests-autoptr-ffi.patch
@@ -0,0 +1,29 @@
+https://gitlab.gnome.org/GNOME/glib/-/commit/99382cfb4b5edf56f7c62eccc155f361a640298a.patch
+https://bugs.gentoo.org/946789
+
+From 99382cfb4b5edf56f7c62eccc155f361a640298a Mon Sep 17 00:00:00 2001
+From: Andoni Morales Alastruey <ylatuya@gmail.com>
+Date: Tue, 28 May 2024 17:26:38 +0200
+Subject: [PATCH] girepository: fix autoptr tests build
+
+In macOS compilation fails with the following error:
+```
+In file included from ../girepository/tests/autoptr.c:23:
+../girepository/girffi.h:30:10: fatal error: 'ffi.h' file not found
+```
+---
+ girepository/tests/meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/girepository/tests/meson.build b/girepository/tests/meson.build
+index 6fa947cfdf..f9928267d5 100644
+--- a/girepository/tests/meson.build
++++ b/girepository/tests/meson.build
+@@ -72,6 +72,7 @@ if enable_gir
+ if cc.get_id() != 'msvc'
+ girepository_tests += {
+ 'autoptr-girepository' : {
++ 'dependencies': [libffi_dep],
+ 'source' : 'autoptr.c',
+ 'depends': gio_gir_testing_dep,
+ },
diff --git a/dev-libs/glib/glib-2.80.4.ebuild b/dev-libs/glib/glib-2.80.4.ebuild
deleted file mode 100644
index beb79e841944..000000000000
--- a/dev-libs/glib/glib-2.80.4.ebuild
+++ /dev/null
@@ -1,332 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_REQ_USE="xml(+)"
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
-
-DESCRIPTION="The GLib library of C routines"
-HOMEPAGE="https://www.gtk.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="dbus debug +elf doc +introspection +mime selinux static-libs sysprof systemtap test utils xattr"
-RESTRICT="!test? ( test )"
-
-# * elfutils (via libelf) does not build on Windows. gresources are not embedded
-# within ELF binaries on that platform anyway and inspecting ELF binaries from
-# other platforms is not that useful so exclude the dependency in this case.
-# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
-# these are used by GIO, which glib[static-libs] consumers don't really seem
-# to need at all, thus not imposing the deps for now and once some consumers
-# are actually found to static link libgio-2.0.a, we can revisit and either add
-# them or just put the (build) deps in that rare consumer instead of recursive
-# RDEPEND here (due to lack of recursive DEPEND).
-RDEPEND="
- !<dev-libs/gobject-introspection-1.80.1
- !<dev-util/gdbus-codegen-${PV}
- >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
- >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
- >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
- >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-1.80.1 )
- kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
- selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
- xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
- elf? ( virtual/libelf:0= )
- sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-# libxml2 used for optional tests that get automatically skipped
-BDEPEND="
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- >=sys-devel/gettext-0.19.8
- doc? ( >=dev-util/gi-docgen-2023.1 )
- dev-python/docutils
- systemtap? ( >=dev-debug/systemtap-1.3 )
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/packaging[${PYTHON_USEDEP}]
- ')
- test? ( >=sys-apps/dbus-1.2.14 )
- virtual/pkgconfig
-"
-# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
-
-PDEPEND="
- dbus? ( gnome-base/dconf )
- mime? ( x11-misc/shared-mime-info )
-"
-# shared-mime-info needed for gio/xdgmime, bug #409481
-# dconf is needed to be able to save settings, bug #498436
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/gio-querymodules$(get_exeext)
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
-)
-
-python_check_deps() {
- python_has_version "dev-python/packaging[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- if use kernel_linux ; then
- CONFIG_CHECK="~INOTIFY_USER"
- if use test ; then
- CONFIG_CHECK="~IPV6"
- WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
- fi
- linux-info_pkg_setup
- fi
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- if use test; then
- # TODO: Review the test exclusions, especially now with meson
- # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
- if ! has_version dev-util/desktop-file-utils ; then
- ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
- ewarn "think on installing it to get these tests run."
- sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
- sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
- fi
-
- # gdesktopappinfo requires existing terminal (gnome-terminal or any
- # other), falling back to xterm if one doesn't exist
- #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
- # ewarn "Some tests will be skipped due to missing terminal program"
- # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
- # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready
- # for backport (or in a bump) and file new issue if still fails
- sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
- # desktop-app-info/launch* might fail similarly
- sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
- #fi
-
- # https://bugzilla.gnome.org/show_bug.cgi?id=722604
- sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
- sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
-
- ewarn "Tests for search-utils have been skipped"
- sed -i -e "/search-utils/d" glib/tests/meson.build || die
-
- # Play nice with network-sandbox, but this approach would defeat the purpose of the test
- #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
- else
- # Don't build tests, also prevents extra deps, bug #512022
- sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
- fi
-
- # Don't build fuzzing binaries - not used
- sed -i -e '/subdir.*fuzzing/d' meson.build || die
-
- # gdbus-codegen is a separate package
- sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
- sed -i -e '/install : true/d' gio/gdbus-2.0/codegen/meson.build || die
-
- # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
- sed -i -e '/install_dir/d' gio/tests/meson.build || die
-
- cat > "${T}/glib-test-ld-wrapper" <<-EOF
- #!/usr/bin/env sh
- exec \${LD:-ld} "\$@"
- EOF
- chmod a+x "${T}/glib-test-ld-wrapper" || die
- sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
-
- # make default sane for us
- if use prefix ; then
- sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die
- # bug #308609, without path, bug #314057
- export PERL=perl
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # fix standards conflicts
- sed -i \
- -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \
- -e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \
- meson.build || die
- sed -i -e '/#define\s\+_POSIX_SOURCE/d' \
- glib/giounix.c || die
- fi
-
- # disable native macOS integrations
- sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \
- meson.build || die
- sed -i \
- -e '/AvailabilityMacros.h/d' \
- gio/giomodule.c || die
-
- default
- gnome2_environment_reset
- # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
-}
-
-multilib_src_configure() {
- # TODO: figure a way to pass appropriate values for all cross properties
- # that glib uses (search for get_cross_property)
- #if tc-is-cross-compiler ; then
- # https://bugzilla.gnome.org/show_bug.cgi?id=756473
- # TODO-meson: This should be in meson cross file as 'growing_stack'
- # property; and more, look at get_cross_property
- #case ${CHOST} in
- #hppa*|metag*) export glib_cv_stack_grows=yes ;;
- #*) export glib_cv_stack_grows=no ;;
- #esac
- #fi
-
- use debug && EMESON_BUILD_TYPE=debug
-
- local emesonargs=(
- -Ddefault_library=$(usex static-libs both shared)
- -Druntime_dir="${EPREFIX}"/run
- $(meson_feature selinux)
- $(meson_use xattr)
- -Dlibmount=enabled # only used if host_system == 'linux'
- -Dman-pages=enabled
- $(meson_use systemtap dtrace)
- $(meson_use systemtap)
- $(meson_feature sysprof)
- $(meson_use doc documentation)
- $(meson_use test tests)
- -Dinstalled_tests=false
- -Dnls=enabled
- -Doss_fuzz=disabled
- $(meson_native_use_feature elf libelf)
- -Dmultiarch=false
- $(meson_native_use_feature introspection)
- )
-
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- local native_file="${T}"/meson.${CHOST}.ini.local
- cat >> ${native_file} <<-EOF || die
- [binaries]
- dtrace='stap-dtrace'
- EOF
- emesonargs+=( --native-file "${native_file}" )
- fi
-
- meson_src_configure
-}
-
-multilib_src_test() {
- export XDG_CONFIG_DIRS=/etc/xdg
- export XDG_DATA_DIRS=/usr/local/share:/usr/share
- export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
- export LC_TIME=C # bug #411967
- export TZ=UTC
- unset GSETTINGS_BACKEND # bug #596380
- python_setup
-
- # https://bugs.gentoo.org/839807
- local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
- addpredict /usr/b
-
- # Related test is a bit nitpicking
- mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" || die
- chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" || die
-
- meson_src_test --timeout-multiplier 20 --no-suite flaky
-}
-
-multilib_src_install() {
- meson_src_install
- keepdir /usr/$(get_libdir)/gio/modules
-}
-
-multilib_src_install_all() {
- # These are installed by dev-util/glib-utils
- # TODO: With patching we might be able to get rid of the python-any deps
- # and removals, and test depend on glib-utils instead; revisit now with
- # meson
- rm "${ED}/usr/bin/glib-genmarshal" || die
- rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
- rm "${ED}/usr/bin/glib-mkenums" || die
- rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
- rm "${ED}/usr/bin/gtester-report" || die
- rm "${ED}/usr/share/man/man1/gtester-report.1" || die
- # gdbus-codegen manpage installed by dev-util/gdbus-codegen
- rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-
- # Make gschemas.compiled belong to glib alone
- local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"/${cache} || die
- else
- touch "${ED}"${cache} || die
- fi
-
- multilib_pkg_preinst() {
- # Make giomodule.cache belong to glib alone
- local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"${cache} || die
- else
- touch "${ED}"${cache} || die
- fi
- }
-
- # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
- # file due to inability to create it and GIO might not look at any of the modules there
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_preinst
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- # glib installs no schemas itself, but we force update for fresh install in case
- # something has dropped in a schemas file without direct glib dep; and for upgrades
- # in case the compiled schema format could have changed
- gnome2_schemas_update
-
- multilib_pkg_postinst() {
- gnome2_giomodule_cache_update \
- || die "Update GIO modules cache failed (for ${ABI})"
- }
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_postinst
- else
- ewarn "Updating of GIO modules cache skipped due to cross-compilation."
- ewarn "You might want to run gio-querymodules manually on the target for"
- ewarn "your final image for performance reasons and re-run it when packages"
- ewarn "installing GIO modules get upgraded or added to the image."
- fi
-
- for v in ${REPLACING_VERSIONS}; do
- if ver_test "$v" "-lt" "2.63.6"; then
- ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
- ewarn "to restart your session for \"Open With\" dialogs to work."
- fi
- done
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-
- if [[ -z ${REPLACED_BY_VERSION} ]]; then
- multilib_pkg_postrm() {
- rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache || die
- }
- multilib_foreach_abi multilib_pkg_postrm
- rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled || die
- fi
-}
diff --git a/dev-libs/glib/glib-2.80.5-r1.ebuild b/dev-libs/glib/glib-2.80.5-r1.ebuild
index 66d75184be4f..cdc1222f8c58 100644
--- a/dev-libs/glib/glib-2.80.5-r1.ebuild
+++ b/dev-libs/glib/glib-2.80.5-r1.ebuild
@@ -22,7 +22,7 @@ INTROSPECTION_BUILD_DIR="${WORKDIR}/${INTROSPECTION_P}-build"
LICENSE="LGPL-2.1+"
SLOT="2"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="dbus debug +elf doc +introspection +mime selinux static-libs sysprof systemtap test utils xattr"
RESTRICT="!test? ( test )"
@@ -61,6 +61,9 @@ BDEPEND="
doc? ( >=dev-util/gi-docgen-2023.1 )
dev-python/docutils
systemtap? ( >=dev-debug/systemtap-1.3 )
+ $(python_gen_any_dep '
+ dev-python/packaging[${PYTHON_USEDEP}]
+ ')
${PYTHON_DEPS}
test? ( >=sys-apps/dbus-1.2.14 )
virtual/pkgconfig
@@ -90,11 +93,15 @@ MULTILIB_CHOST_TOOLS=(
PATCHES=(
"${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
+ "${FILESDIR}"/${P}-tests-autoptr-ffi.patch
)
python_check_deps() {
if use introspection ; then
+ python_has_version "dev-python/packaging[${PYTHON_USEDEP}]" &&
python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+ else
+ python_has_version "dev-python/packaging[${PYTHON_USEDEP}]"
fi
}
@@ -288,6 +295,9 @@ multilib_src_configure() {
export LD_LIBRARY_PATH="${BUILD_DIR}/${gliblib}:${LD_LIBRARY_PATH}"
done
+ # Add the path to introspection libraries so that glib can call gir utilities
+ export LD_LIBRARY_PATH="${INTROSPECTION_LIB_DIR}:${LD_LIBRARY_PATH}"
+
# Add the paths to the gobject-introspection python modules to python path so they can be imported
export PYTHONPATH="${INTROSPECTION_LIB_DIR}/gobject-introspection:${PYTHONPATH}"
fi
diff --git a/dev-libs/glib/glib-2.80.5.ebuild b/dev-libs/glib/glib-2.80.5.ebuild
deleted file mode 100644
index 2c8085382ed4..000000000000
--- a/dev-libs/glib/glib-2.80.5.ebuild
+++ /dev/null
@@ -1,435 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_REQ_USE="xml(+)"
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
-
-DESCRIPTION="The GLib library of C routines"
-HOMEPAGE="https://www.gtk.org/"
-
-INTROSPECTION_PN="gobject-introspection"
-INTROSPECTION_PV="1.80.1"
-INTROSPECTION_P="${INTROSPECTION_PN}-${INTROSPECTION_PV}"
-SRC_URI="
- ${SRC_URI}
- introspection? ( mirror://gnome/sources/gobject-introspection/${INTROSPECTION_PV%.*}/gobject-introspection-${INTROSPECTION_PV}.tar.${GNOME_TARBALL_SUFFIX} )
-"
-INTROSPECTION_SOURCE_DIR="${WORKDIR}/${INTROSPECTION_P}"
-INTROSPECTION_BUILD_DIR="${WORKDIR}/${INTROSPECTION_P}-build"
-
-LICENSE="LGPL-2.1+"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="dbus debug +elf doc +introspection +mime selinux static-libs sysprof systemtap test utils xattr"
-RESTRICT="!test? ( test )"
-
-# * elfutils (via libelf) does not build on Windows. gresources are not embedded
-# within ELF binaries on that platform anyway and inspecting ELF binaries from
-# other platforms is not that useful so exclude the dependency in this case.
-# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
-# these are used by GIO, which glib[static-libs] consumers don't really seem
-# to need at all, thus not imposing the deps for now and once some consumers
-# are actually found to static link libgio-2.0.a, we can revisit and either add
-# them or just put the (build) deps in that rare consumer instead of recursive
-# RDEPEND here (due to lack of recursive DEPEND).
-RDEPEND="
- !<dev-libs/gobject-introspection-1.80.1
- !<dev-util/gdbus-codegen-${PV}
- >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
- >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
- >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
- >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
- introspection? (
- >=dev-libs/gobject-introspection-common-${INTROSPECTION_PV}
- )
- kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
- selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
- xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
- elf? ( virtual/libelf:0= )
- sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-# libxml2 used for optional tests that get automatically skipped
-BDEPEND="
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- >=sys-devel/gettext-0.19.8
- doc? ( >=dev-util/gi-docgen-2023.1 )
- dev-python/docutils
- systemtap? ( >=dev-debug/systemtap-1.3 )
- ${PYTHON_DEPS}
- test? ( >=sys-apps/dbus-1.2.14 )
- virtual/pkgconfig
-
- introspection? (
- $(python_gen_any_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- virtual/pkgconfig
- sys-devel/bison
- app-alternatives/lex
- ${PYTHON_DEPS}
- )
-"
-# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
-
-PDEPEND="
- dbus? ( gnome-base/dconf )
- mime? ( x11-misc/shared-mime-info )
-"
-# shared-mime-info needed for gio/xdgmime, bug #409481
-# dconf is needed to be able to save settings, bug #498436
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/gio-querymodules$(get_exeext)
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
-)
-
-python_check_deps() {
- if use introspection ; then
- python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
- fi
-}
-
-pkg_setup() {
- if use kernel_linux ; then
- CONFIG_CHECK="~INOTIFY_USER"
- if use test ; then
- CONFIG_CHECK="~IPV6"
- WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
- fi
- linux-info_pkg_setup
- fi
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- if use test; then
- # TODO: Review the test exclusions, especially now with meson
- # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
- if ! has_version dev-util/desktop-file-utils ; then
- ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
- ewarn "think on installing it to get these tests run."
- sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
- sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
- fi
-
- # gdesktopappinfo requires existing terminal (gnome-terminal or any
- # other), falling back to xterm if one doesn't exist
- #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
- # ewarn "Some tests will be skipped due to missing terminal program"
- # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
- # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready
- # for backport (or in a bump) and file new issue if still fails
- sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
- # desktop-app-info/launch* might fail similarly
- sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
- #fi
-
- # https://bugzilla.gnome.org/show_bug.cgi?id=722604
- sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
- sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
-
- ewarn "Tests for search-utils have been skipped"
- sed -i -e "/search-utils/d" glib/tests/meson.build || die
-
- # Play nice with network-sandbox, but this approach would defeat the purpose of the test
- #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
- else
- # Don't build tests, also prevents extra deps, bug #512022
- sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
- fi
-
- # Don't build fuzzing binaries - not used
- sed -i -e '/subdir.*fuzzing/d' meson.build || die
-
- # gdbus-codegen is a separate package
- sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
- sed -i -e '/install : true/d' gio/gdbus-2.0/codegen/meson.build || die
-
- # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
- sed -i -e '/install_dir/d' gio/tests/meson.build || die
-
- cat > "${T}/glib-test-ld-wrapper" <<-EOF
- #!/usr/bin/env sh
- exec \${LD:-ld} "\$@"
- EOF
- chmod a+x "${T}/glib-test-ld-wrapper" || die
- sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
-
- # make default sane for us
- if use prefix ; then
- sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die
- # bug #308609, without path, bug #314057
- export PERL=perl
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # fix standards conflicts
- sed -i \
- -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \
- -e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \
- meson.build || die
- sed -i -e '/#define\s\+_POSIX_SOURCE/d' \
- glib/giounix.c || die
- fi
-
- # disable native macOS integrations
- sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \
- meson.build || die
- sed -i \
- -e '/AvailabilityMacros.h/d' \
- gio/giomodule.c || die
-
- # Link the glib source to the introspection subproject directory so it can be built there first
- if use introspection ; then
- ln -s "${S}" "${INTROSPECTION_SOURCE_DIR}/subprojects/glib"
- fi
-
- default
- gnome2_environment_reset
- # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
-}
-
-multilib_src_configure() {
- # TODO: figure a way to pass appropriate values for all cross properties
- # that glib uses (search for get_cross_property)
- #if tc-is-cross-compiler ; then
- # https://bugzilla.gnome.org/show_bug.cgi?id=756473
- # TODO-meson: This should be in meson cross file as 'growing_stack'
- # property; and more, look at get_cross_property
- #case ${CHOST} in
- #hppa*|metag*) export glib_cv_stack_grows=yes ;;
- #*) export glib_cv_stack_grows=no ;;
- #esac
- #fi
-
- # Build internal copy of gobject-introspection to avoid circular dependency (Built for native abi only)
- if multilib_native_use introspection && ! has_version ">=dev-libs/${INTROSPECTION_P}" ; then
- einfo "Bootstrapping gobject-introspection..."
- INTROSPECTION_BIN_DIR="${T}/${EPREFIX}/usr/bin"
- INTROSPECTION_LIB_DIR="${T}/${EPREFIX}/usr/$(get_libdir)"
-
- local emesonargs=(
- -Dpython="${EPYTHON}"
- -Dbuild_introspection_data=true
- # Build an internal copy of glib for the internal copy of gobject-introspection
- --force-fallback-for=glib
- # Tell meson to make paths in pkgconfig files relative, because we arent doing an actual install
- -Dpkgconfig.relocatable=true
-
- # We want as minimal a build as possible here to speed things up
- # and reduce the risk of failures.
- -Dglib:selinux=disabled
- -Dglib:xattr=false
- -Dglib:libmount=disabled
- -Dglib:man-pages=disabled
- -Dglib:dtrace=false
- -Dglib:systemtap=false
- -Dglib:sysprof=disabled
- -Dglib:documentation=false
- -Dglib:tests=false
- -Dglib:installed_tests=false
- -Dglib:nls=disabled
- -Dglib:oss_fuzz=disabled
- -Dglib:libelf=disabled
- -Dglib:multiarch=false
- )
-
- ORIG_SOURCE_DIR=${EMESON_SOURCE}
- EMESON_SOURCE=${INTROSPECTION_SOURCE_DIR}
-
- # g-ir-scanner has some relocatable logic but it searches
- # for 'lib', not 'lib64', so it can't find itself and eventually
- # falls back to the system installation. See bug #946221.
- sed -i -e "/^pylibdir =/s:'lib:'$(get_libdir):" "${EMESON_SOURCE}"/tools/g-ir-tool-template.in || die
-
- ORIG_BUILD_DIR=${BUILD_DIR}
- BUILD_DIR=${INTROSPECTION_BUILD_DIR}
-
- pushd ${INTROSPECTION_SOURCE_DIR} || die
-
- meson_src_configure
- meson_src_compile
- # Install to the portage temp directory so that pkgconfig relative paths resolve correctly
- meson_src_install --destdir "${T}" --skip-subprojects glib
-
- popd || die
-
- EMESON_SOURCE=${ORIG_SOURCE_DIR}
- BUILD_DIR=${ORIG_BUILD_DIR}
-
- # Add gobject-introspection binaries and pkgconfig files to path
- export PATH="${INTROSPECTION_BIN_DIR}:${PATH}"
-
- # Override primary pkgconfig search paths to prioritize our internal copy
- export PKG_CONFIG_LIBDIR="${INTROSPECTION_LIB_DIR}/pkgconfig:${INTROSPECTION_BUILD_DIR}/meson-private"
-
- # Set the normal primary pkgconfig search paths as secondary
- # (We also need to prepend our just-built one for later use of
- # g-ir-scanner to use the new one and to help workaround bugs like
- # bug #946221.)
- export PKG_CONFIG_PATH="${PKG_CONFIG_LIBDIR}:$(pkg-config --variable pc_path pkg-config)"
-
- # Add the paths to the built glib libraries to the library path so that gobject-introspection can load them
- for gliblib in glib gobject gthread gmodule gio girepository; do
- export LD_LIBRARY_PATH="${BUILD_DIR}/${gliblib}:${LD_LIBRARY_PATH}"
- done
-
- # Add the paths to the gobject-introspection python modules to python path so they can be imported
- export PYTHONPATH="${INTROSPECTION_LIB_DIR}/gobject-introspection:${PYTHONPATH}"
- fi
-
- use debug && EMESON_BUILD_TYPE=debug
-
- local emesonargs=(
- -Ddefault_library=$(usex static-libs both shared)
- -Druntime_dir="${EPREFIX}"/run
- $(meson_feature selinux)
- $(meson_use xattr)
- -Dlibmount=enabled # only used if host_system == 'linux'
- -Dman-pages=enabled
- $(meson_use systemtap dtrace)
- $(meson_use systemtap)
- $(meson_feature sysprof)
- $(meson_use doc documentation)
- $(meson_use test tests)
- -Dinstalled_tests=false
- -Dnls=enabled
- -Doss_fuzz=disabled
- $(meson_native_use_feature elf libelf)
- -Dmultiarch=false
- $(meson_native_use_feature introspection)
- )
-
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- local native_file="${T}"/meson.${CHOST}.ini.local
- cat >> ${native_file} <<-EOF || die
- [binaries]
- dtrace='stap-dtrace'
- EOF
- emesonargs+=( --native-file "${native_file}" )
- fi
-
- meson_src_configure
-}
-
-multilib_src_test() {
- export XDG_CONFIG_DIRS=/etc/xdg
- export XDG_DATA_DIRS=/usr/local/share:/usr/share
- # TODO: Use ${ABI} here to be unique for multilib?
- export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
- export LC_TIME=C # bug #411967
- export TZ=UTC
- unset GSETTINGS_BACKEND # bug #596380
- python_setup
-
- # https://bugs.gentoo.org/839807
- local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
- addpredict /usr/b
-
- # Related test is a bit nitpicking
- mkdir -p "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" || die
- chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" || die
-
- meson_src_test --timeout-multiplier 20 --no-suite flaky
-}
-
-multilib_src_install() {
- meson_src_install
- keepdir /usr/$(get_libdir)/gio/modules
-}
-
-multilib_src_install_all() {
- # These are installed by dev-util/glib-utils
- # TODO: With patching we might be able to get rid of the python-any deps
- # and removals, and test depend on glib-utils instead; revisit now with
- # meson
- rm "${ED}/usr/bin/glib-genmarshal" || die
- rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
- rm "${ED}/usr/bin/glib-mkenums" || die
- rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
- rm "${ED}/usr/bin/gtester-report" || die
- rm "${ED}/usr/share/man/man1/gtester-report.1" || die
- # gdbus-codegen manpage installed by dev-util/gdbus-codegen
- rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-
- # Make gschemas.compiled belong to glib alone
- local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"/${cache} || die
- else
- touch "${ED}"${cache} || die
- fi
-
- multilib_pkg_preinst() {
- # Make giomodule.cache belong to glib alone
- local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"${cache} || die
- else
- touch "${ED}"${cache} || die
- fi
- }
-
- # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
- # file due to inability to create it and GIO might not look at any of the modules there
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_preinst
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- # glib installs no schemas itself, but we force update for fresh install in case
- # something has dropped in a schemas file without direct glib dep; and for upgrades
- # in case the compiled schema format could have changed
- gnome2_schemas_update
-
- multilib_pkg_postinst() {
- gnome2_giomodule_cache_update \
- || die "Update GIO modules cache failed (for ${ABI})"
- }
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_postinst
- else
- ewarn "Updating of GIO modules cache skipped due to cross-compilation."
- ewarn "You might want to run gio-querymodules manually on the target for"
- ewarn "your final image for performance reasons and re-run it when packages"
- ewarn "installing GIO modules get upgraded or added to the image."
- fi
-
- for v in ${REPLACING_VERSIONS}; do
- if ver_test "$v" "-lt" "2.63.6"; then
- ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
- ewarn "to restart your session for \"Open With\" dialogs to work."
- fi
- done
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-
- if [[ -z ${REPLACED_BY_VERSION} ]]; then
- multilib_pkg_postrm() {
- rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache || die
- }
- multilib_foreach_abi multilib_pkg_postrm
- rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled || die
- fi
-}
diff --git a/dev-libs/glib/glib-2.82.4-r1.ebuild b/dev-libs/glib/glib-2.82.4-r1.ebuild
index ac8c41e59cfb..4c84301e4ef8 100644
--- a/dev-libs/glib/glib-2.82.4-r1.ebuild
+++ b/dev-libs/glib/glib-2.82.4-r1.ebuild
@@ -283,6 +283,9 @@ multilib_src_configure() {
export LD_LIBRARY_PATH="${BUILD_DIR}/${gliblib}:${LD_LIBRARY_PATH}"
done
+ # Add the path to introspection libraries so that glib can call gir utilities
+ export LD_LIBRARY_PATH="${INTROSPECTION_LIB_DIR}:${LD_LIBRARY_PATH}"
+
# Add the paths to the gobject-introspection python modules to python path so they can be imported
export PYTHONPATH="${INTROSPECTION_LIB_DIR}/gobject-introspection:${PYTHONPATH}"
fi
diff --git a/dev-libs/gobject-introspection-common/Manifest b/dev-libs/gobject-introspection-common/Manifest
index 3ae51bc7c4a2..46058b647124 100644
--- a/dev-libs/gobject-introspection-common/Manifest
+++ b/dev-libs/gobject-introspection-common/Manifest
@@ -4,6 +4,6 @@ DIST gobject-introspection-1.80.1.tar.xz 1040228 BLAKE2B 7a8c1da9bc8aef293deedde
DIST gobject-introspection-1.82.0.tar.xz 1052872 BLAKE2B 8336ae26d48a71a203655d9d268076f603055ceabb55dbfa676f2c67b4096b83afc106d485dc45d02b3a8be806f9ef50d54806a82e61f2a252ae59543c61e934 SHA512 e139fadb4174c72b648914f3774d89fc0e5eaee45bba0c13edf05de883664dad8276dbc34006217bb09871ed4bad23adab51ff232a17b9eb131329b2926cafb7
EBUILD gobject-introspection-common-1.76.1.ebuild 895 BLAKE2B f9ad5b702f500fecf87e8b6f68d7788ec8b888ab4dcc3ccde4915da541138cb8b74cbf2ac557298d6efef507c14a2abfe59b398891d54f949ccdacf04a8adac2 SHA512 c2775c4a2d5c2d1f636086fb2cfbc4bc5fed14b5f765f9a5840199c04d5ca0fa30f228375be6b3f5353b2cefd8f693ccda7755f055f9e2cb3507f79682d3911a
EBUILD gobject-introspection-common-1.78.1.ebuild 895 BLAKE2B 1d9838e4c18872d1aac733a8daa2c0706719355028912bfb2c9de76a6781ce4949b23a732af3160b082dfd653b0ffd08225007e8e175dc3be25ea20d42a0a9ab SHA512 f4bb38c7240a3a9d75c5be7092879a5f2c1fd22ad23879ad4bf55401c3f065ca9e058d173cc6d6214c4d52ad3541d2cb38054a559ff36a1a2e5517212fb95083
-EBUILD gobject-introspection-common-1.80.1.ebuild 874 BLAKE2B d09821808b666e9bee254f5c2e22088766484f473f50269d9bfefa6e6d50b351a484b56cbcc4f37ff4b6d7160b5a53eabffda201b343554e5357d74fff90e39f SHA512 7691b01955076ca63ec67126b1cab96cd3a168d919dc004d810775efdc92ac652b0fdf1fd3b5d7914438bf3d5c59f1797295613709de7eada81966a3d149f606
+EBUILD gobject-introspection-common-1.80.1.ebuild 870 BLAKE2B b04c1fed5ab4ed021d53f2469d0885d9a6aaabe3f5c7422c2d093277942d0806baa122772822bbd4dc9f3a503c84179fa6cc5432b5d90137a2bef14d128373ab SHA512 370d8026e4f1933256f3324636b4b2827bd909d252210ed6005548075a77ecf943f8e6f408c12c9529bfcb4cf5c2d570b3637a1ac5fe54fce04756cb63719bb8
EBUILD gobject-introspection-common-1.82.0.ebuild 877 BLAKE2B 43c196dcf9be8987c3b4f4f9121ba3aec6d27c446aa3325393b72bb47ea562bcd84ce7f64ccc69793a4f42690e956726f2631c440a6aa518474a0f0784e4e305 SHA512 cb6c2459bdb6f095e1450e14a66d675718e869d41f8529eefef09b71096ed69c6e6a624dafd40376022dc37c645883b6da6e72a4ab6b2452c3478b58c9c71a7a
MISC metadata.xml 387 BLAKE2B 53c8885e0d64951fab2ea24063b41dd75c1c2f1e2a8038ff760175126c3597dcfc8ed8e7ca98bcfd47c6e303b68cc7473f283193cdce010292e4a4c9d0f60bb8 SHA512 57c817a11ca62240745f69a12685d0ab11ceaa960acf2e6cdf7b47361239a3b29c23b696a24f4314eae80fc7dd9974860d5c422e9f6fd31ea54476fe74f0ebd4
diff --git a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.80.1.ebuild b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.80.1.ebuild
index 9ba14f59749b..04c04e48d684 100644
--- a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.80.1.ebuild
+++ b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.80.1.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://gi.readthedocs.io/"
LICENSE="HPND"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="!<${CATEGORY}/${GNOME_ORG_MODULE}-${PV}"
# Use !<${PV} because mixing gobject-introspection with different version of -common can cause issues like:
diff --git a/dev-libs/gobject-introspection/Manifest b/dev-libs/gobject-introspection/Manifest
index 4597b2b89d4b..3909faca44c8 100644
--- a/dev-libs/gobject-introspection/Manifest
+++ b/dev-libs/gobject-introspection/Manifest
@@ -6,6 +6,6 @@ DIST gobject-introspection-1.80.1.tar.xz 1040228 BLAKE2B 7a8c1da9bc8aef293deedde
DIST gobject-introspection-1.82.0.tar.xz 1052872 BLAKE2B 8336ae26d48a71a203655d9d268076f603055ceabb55dbfa676f2c67b4096b83afc106d485dc45d02b3a8be806f9ef50d54806a82e61f2a252ae59543c61e934 SHA512 e139fadb4174c72b648914f3774d89fc0e5eaee45bba0c13edf05de883664dad8276dbc34006217bb09871ed4bad23adab51ff232a17b9eb131329b2926cafb7
EBUILD gobject-introspection-1.76.1-r2.ebuild 2093 BLAKE2B b4a15b784d04d99d81153a32426d0b84335aa36236cbbc9184d0fa9277d092dfbed6438e35430c46967893aac5837cee9eacf19382fd638a63bd80b4b0fdaaf6 SHA512 5aaaedfd7e96798f024c354bddf613f2ee3d4af5cf00e6ff329dce84db6a995da511ccfc763f0af510e061fe19914f7d84ffd59cfcaefde0198b4cc00e787e60
EBUILD gobject-introspection-1.78.1-r2.ebuild 2194 BLAKE2B f73406d3e64bfbc228d2b6c2be102c7d06441e4c0baddc4a3b3fc9fbbc9f4924c3b0d6f901919b47393caabdbe9a89aa20c72b0336060c8c881ac0ff93e6f0fc SHA512 64fe0f31821eeef21eb4a245c3e146c5f3917689a3274121b235352816f6c401a821142ef0c2e4ce067ce5b8e162b1c36d6caf0f1b121bc18dd7cf131f8d53c9
-EBUILD gobject-introspection-1.80.1-r3.ebuild 2194 BLAKE2B c77e2fbed113d9384f94419b53530236a299d35c8b2f4f5bd4c204bc7a597d33c05b8c1690ffc5f562dcdb33e58eb9779264b60e498007465154fd804b56c57b SHA512 f34c27d3f489623300e625f59d4c76284062cdb119f0e7064cd02c7f0297a1a584b7744ef08f57846ffc8c1b4d4a64e679fe5c7230a83567ecefe500f0bfa569
+EBUILD gobject-introspection-1.80.1-r3.ebuild 2190 BLAKE2B b6bc3ecd9c46c20baba9f0edb8242614f7f1aa8d3a7c7ef9672abd33e59c76eaccf7e6467473c2be1a38dc8c3147e97465e7ef48425ba2ebbdf3e4b7a0b87412 SHA512 9fd74e04fa796675230ec7633392704a6cf3168601ac3077f2afa4b2a53e7a3270bf7b787a4a4dc42a4a7931b0d0507498129cd1fc3c0c30540cc5f26cc6533b
EBUILD gobject-introspection-1.82.0-r1.ebuild 2059 BLAKE2B f1bb22b50a4cffd86c33119fbd179d77542fbd68cc25c40d8bad6d101c8b9b4e5ba5014209891d454471e801821bba407ff0ba385f143f927e9a11b4a55f13a1 SHA512 7ce8f3cd307223564621767de9c19042d31bc192a466cb6f1ab88ba11f2b8e0bbe390d9af397f5b71044250d2dfe210749d7f04df800591803c8ab5203e84625
MISC metadata.xml 485 BLAKE2B 6ecc9396bcb29a8365be4058592c307ddcb0cc16ab56723ca32a378b5608b86378ab291345a6a3ccbe8225c6ffc91b6ba1e2996b5b0d1f4271d0757bf376ef8e SHA512 43a479854b1d5783c028ecfd8357a632db089f95de9e703608de7f229a37beee5e43781ff3f68b2dfa9bceac1355597373d31d209fdea0301917be5fbe7e7fbe
diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.80.1-r3.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.80.1-r3.ebuild
index e1315aee1544..0daf6e5c22b8 100644
--- a/dev-libs/gobject-introspection/gobject-introspection-1.80.1-r3.ebuild
+++ b/dev-libs/gobject-introspection/gobject-introspection-1.80.1-r3.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://gi.readthedocs.io/"
LICENSE="LGPL-2+ GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doctool gtk-doc test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/json-glib/Manifest b/dev-libs/json-glib/Manifest
index 565457ab5813..b802b168d41e 100644
--- a/dev-libs/json-glib/Manifest
+++ b/dev-libs/json-glib/Manifest
@@ -3,6 +3,6 @@ DIST json-glib-1.10.0.tar.xz 252652 BLAKE2B 83f0707c18806c90640fa36208d8aeb46c99
DIST json-glib-1.10.6.tar.xz 253324 BLAKE2B 125ba305d5d33ecb1a1fbe46322c5035c7f97bd49e8eeef26e3c9c5d829693978fdc10bbe3d926cd4d07f8fd80c9df282d5ff7fe80ab4a6ab8e17c93e9d362d4 SHA512 e1c0e33b17333cf94beb381f505c1819090a11b616dcc23a883f231029dff277c2482823278cbf7b8a07e237d45cbfc7b05f132e1234beff609a739fd5704c6e
DIST json-glib-1.8.0.tar.xz 157300 BLAKE2B eef0344c353bb9288efb700a6041342379627b924a042263e011f21140166b57b108f6816e80ac692159b49943f9c1afeb722efafa34e8c60f2fcdf53a0dc034 SHA512 e4fe16bb7c5b72fcf9c0966ac1903ff0cd74ec8eab891db4b94e92353bdcb57b24613b6c2cce7bfa1996603c367d1b4939c12209369dfb915aac0f3804a3a900
EBUILD json-glib-1.10.0.ebuild 1438 BLAKE2B 13b9efd5cbdaa9c1bed503c6c503b6cf18a94bedd675f427b5a2f833cc658a4853d47574fc26dae12e6cb5d72064bc46340f4b880c6704926281d335f72d9ab8 SHA512 874e0048c3d5b74a965ba96c72ada92a470aa29c3e9a302c2f41f0d8461a00a3d205c9261d836d51974485bce7d15008620719accb58b8dabb2fa575b3e69dd9
-EBUILD json-glib-1.10.6.ebuild 1435 BLAKE2B 3d0f62c2ae89e43dea56a1c68fb624f4dc3737ff0efca5309cd3609c44b9464dcb559afed3ba4423c805d6b9cc412253865c5a2ed9232d9254cd823222c380f9 SHA512 d8690d5e14b2af7413dbafac272df88141fb25dd11001efd52c1ea4d277acefbffbacd9e8612fd1944b4c5b84dbf29350af5abe103e99d07076bdce6b85eeccb
+EBUILD json-glib-1.10.6.ebuild 1431 BLAKE2B 3c7a591db90436623084d5836d4007c35ada63b339a0cdce5d9ddb5fc758016b8db23c107bd9c15013abf08a69a74837b8d8022a4b26c03d0ba2403d33aa5752 SHA512 16542cb8bf864ffc2deb8513c47fefef31d905aafff7aaf9006dbddc4d2d07b3599f81a96b4533b35512ddebfa1e3c2d6cdc21137ec944014e862a3e719f863a
EBUILD json-glib-1.8.0.ebuild 1866 BLAKE2B df1ce48fc6a1831d0c4f81a4dce2024c283b2796698d5d2819a1440b9a5346e15fffc2d1d269019a68cd5c72a65c57fefdef54be76d08eed16e0fe9abce0607a SHA512 f44e1e3647415bf990145f031259b5e5c46060a4344955b280ee4f95f4a7b5c87689bc6605781029ec8e4331c48886cab837ee3012fac1d0193f87b173221501
MISC metadata.xml 1419 BLAKE2B ac1a9777c70b0d1421de223be8ccc1600192979826eb3cebf80dda2f494a2a97c07746b09a5c91181e18d2d8d51ba4f50952414f9a41c5dad16c63f53aac9517 SHA512 bd248bf651553b0c3d41948826ca0022cfd273b18d8cf61820637b127f4c37a8f883d3d71f9bddf3dc78317540442ef8132e7d67b0a35a6d4da0661b8e86ddbe
diff --git a/dev-libs/json-glib/json-glib-1.10.6.ebuild b/dev-libs/json-glib/json-glib-1.10.6.ebuild
index 07799605c4e9..ce3124854c94 100644
--- a/dev-libs/json-glib/json-glib-1.10.6.ebuild
+++ b/dev-libs/json-glib/json-glib-1.10.6.ebuild
@@ -9,7 +9,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/JsonGlib"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="gtk-doc +introspection nls test"
RESTRICT="!test? ( test )"
REQUIRED_USE="gtk-doc? ( introspection )"
diff --git a/dev-libs/kopeninghours/Manifest b/dev-libs/kopeninghours/Manifest
index 11bef8aaff1b..07a22be5504c 100644
--- a/dev-libs/kopeninghours/Manifest
+++ b/dev-libs/kopeninghours/Manifest
@@ -2,5 +2,5 @@ AUX kopeninghours-22.04.0-boostpython.patch 3555 BLAKE2B 1d22b48e5574ffada0b89a0
DIST kopeninghours-24.08.3.tar.xz 74616 BLAKE2B 083dfdda40b2d7084cb4dccf253d911ad4a2228dc4b88ff9386be7b95a9d44ee93a54a185b2ab7892c2f37f50480305876016bade7cad04b64bcd3073323ccb5 SHA512 fe953735989f4da3e3e0c652f8df4a5a96762c7bfad23e88d2472f8004f4eec550589328e7a45edace37acf9129fe4f397e54bce4c72b124fa1fe20536f1248e
DIST kopeninghours-24.12.0.tar.xz 74772 BLAKE2B 72448773bceec8d33ad4daae78b8862aef0f4527b7ad239eb87fbd10e7ddeeeda60bf579f115b2096a3ed8e31573008f6beee549bdbbee8dfb4276fb8fea6817 SHA512 115728d650507dbb557a1d89785a8b62215eb51827292ae0c5fa71d950553796d87f2a39b09f410a1dd9150022681378664f4bfb0bc1fbc8ccf1e19e31fad285
EBUILD kopeninghours-24.08.3.ebuild 1252 BLAKE2B 67c92e74292277dc82766b722b949e827ce11b71b8baf5771a3055e39256ed2b1e05ba35d318e63cbbf67d463a2cebb7c16b2fdd8883ab15c429923654ff40b2 SHA512 4500a5246fedc88330c94a829f314adc7505a04d970d0cfee43b3569229962354449176a6cc020d2f5063eaf0bc810ce10403bbedc4e602e2a3ef4cb8f14402e
-EBUILD kopeninghours-24.12.0.ebuild 1252 BLAKE2B 67c92e74292277dc82766b722b949e827ce11b71b8baf5771a3055e39256ed2b1e05ba35d318e63cbbf67d463a2cebb7c16b2fdd8883ab15c429923654ff40b2 SHA512 4500a5246fedc88330c94a829f314adc7505a04d970d0cfee43b3569229962354449176a6cc020d2f5063eaf0bc810ce10403bbedc4e602e2a3ef4cb8f14402e
+EBUILD kopeninghours-24.12.0-r1.ebuild 1252 BLAKE2B 551be03b6844cba8b5c9375fec1e6ded492e8e35afc598c7ec64eeaf890293b03d28d83f23d5a7e0257cd1f241849003923153cb16a2f8679356ac2483ea2633 SHA512 8662eae6bb7d156ea11f01f92bc12a83aea77dd95575f03631c9fc321b8d03c479865fec1ac3d93f65acaf9817282fb2005d8f25e87b81f381719196400ca297
MISC metadata.xml 385 BLAKE2B b4e1572a93c2fd0cda349614b40efe3cb8c08921fb3f98ca07d7fb03b0cb1f94b7d7c163e63252b191f9e4655d7a0e56604efa61f3f2555e04db4182c128af01 SHA512 a67020858217bd47ebab751b5a96b475b9d1becbca7b06c963c058c65fd4eb6436dd24a4703902386e0fc9fb7893953764f6d43381a908cde568fad687b0d67b
diff --git a/dev-libs/kopeninghours/kopeninghours-24.12.0.ebuild b/dev-libs/kopeninghours/kopeninghours-24.12.0-r1.ebuild
index 1084d8654d19..a51a13f17f19 100644
--- a/dev-libs/kopeninghours/kopeninghours-24.12.0.ebuild
+++ b/dev-libs/kopeninghours/kopeninghours-24.12.0-r1.ebuild
@@ -6,7 +6,7 @@ EAPI=8
ECM_QTHELP="true"
ECM_TEST="true"
PVCUT=$(ver_cut 1-3)
-KFMIN=6.5.0
+KFMIN=6.7.0
QTMIN=6.7.2
PYTHON_COMPAT=( python3_{10..12} )
inherit ecm gear.kde.org python-single-r1
diff --git a/dev-libs/kosmindoormap/Manifest b/dev-libs/kosmindoormap/Manifest
index c68d08c86fb0..8595a8d9b827 100644
--- a/dev-libs/kosmindoormap/Manifest
+++ b/dev-libs/kosmindoormap/Manifest
@@ -1,5 +1,5 @@
DIST kosmindoormap-24.08.3.tar.xz 692392 BLAKE2B 41879a7ef4dbde858d8e6f2e53b4b32efd94f4277ed8bf6c9d4343907364814acc00cc5bdf09840e429e7fd4cf2150d535dcb261ae7debcc0c941837b1607385 SHA512 cf63d91306d41d8fd9cc3c33eee91a6380a0d043a610b49b214dfb8de76531dacf03e2745d1783e4627b218e6bf55b370d1946b6e4276aea10906d790d63f881
DIST kosmindoormap-24.12.0.tar.xz 693112 BLAKE2B aedc39091b46f1f72cca4f9a276b1ef6d6da79bd88e55bccb0b6f75649e9dc8424711023e9c8f199feb8d264d20f1239a61ef4e334df99be2f3aa41d37d73e8c SHA512 7fb543ae894cf1256acc1852a6de90ef40c1f43e34cbcdfe8b2a59fd49def5bc95b740c3fd8585449103caa4e52f35c38e36f2940437afdae89c74c8cc961e30
EBUILD kosmindoormap-24.08.3.ebuild 1088 BLAKE2B 0fd74d8ab166e0c791a906f59a7a22aa23953974c040ff30040d2f3ad974f7791f3c38afd5268362615e26173e07a81821009cde44b882dce1063ec38b7a08a2 SHA512 ff670034cafe4a59ffa0223d9423817346e10939ed6089481b8c6c8fc6a4bea86740ab7f15b7fba666c0cfac781ab37f2d9b5a774c4f969c576de3d5a97cd079
-EBUILD kosmindoormap-24.12.0.ebuild 1088 BLAKE2B 0fd74d8ab166e0c791a906f59a7a22aa23953974c040ff30040d2f3ad974f7791f3c38afd5268362615e26173e07a81821009cde44b882dce1063ec38b7a08a2 SHA512 ff670034cafe4a59ffa0223d9423817346e10939ed6089481b8c6c8fc6a4bea86740ab7f15b7fba666c0cfac781ab37f2d9b5a774c4f969c576de3d5a97cd079
+EBUILD kosmindoormap-24.12.0-r1.ebuild 1088 BLAKE2B 71ee74af81f5815f1cf8fb4f53e931ce88b52bbe5773a0b6d2f15b291edfa7eeaf34bd61ff8e261be18f359ec5d058041cb65d3d0dfc972063d724d2641e093d SHA512 bc9f98d3144538144c9933a08422f1f7f525e89df32701e8c6c52f0ad7433f8c081e76c6484c0feb219c915e6ad3a7b81787b8ddc539a24dff5ded0493846669
MISC metadata.xml 385 BLAKE2B 09cdfbec2c328805a9fb4f3c1b6860ae6be84c1bed50bf905bdc6233c69a6af7fa983844629ed60cc5224181b7e27df9da845ed11aadb33a71387028062f76d7 SHA512 e85e6da9c667c7587a9ec0e2854bbeb5a6e3d07fbecd7e0fb83eac52030f5c07da7c16ab89208d1d7117ef64d8a63f8d28167dd2a7d592d7f36cd26dae711254
diff --git a/dev-libs/kosmindoormap/kosmindoormap-24.12.0.ebuild b/dev-libs/kosmindoormap/kosmindoormap-24.12.0-r1.ebuild
index 917524a82c30..000bf9687072 100644
--- a/dev-libs/kosmindoormap/kosmindoormap-24.12.0.ebuild
+++ b/dev-libs/kosmindoormap/kosmindoormap-24.12.0-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
ECM_TEST="true"
PVCUT=$(ver_cut 1-3)
-KFMIN=6.5.0
+KFMIN=6.7.0
QTMIN=6.7.2
inherit ecm gear.kde.org
diff --git a/dev-libs/kpublictransport/Manifest b/dev-libs/kpublictransport/Manifest
index 5b6ccbef58a8..f5b921710208 100644
--- a/dev-libs/kpublictransport/Manifest
+++ b/dev-libs/kpublictransport/Manifest
@@ -1,5 +1,5 @@
DIST kpublictransport-24.08.3.tar.xz 744252 BLAKE2B 590da416055119224ebdaf2c14e8c45377910bf77097a9099b46707a03138179d80ba48363af9041ea630b11924699cd135318a22e9ca3ac359db0bdd9aa74c6 SHA512 04b9278119b071da3170504c3609b41d98d36853d34f81ac8995dad491056c120a8cfce79483cdcb78810ff31cb5dfb6c92147bf0feb163f1f4bd19775ae9243
DIST kpublictransport-24.12.0.tar.xz 757532 BLAKE2B ed7fae7061c942890011b8d7d9fefcf543585dcc1af7abf5c0033cc52dd6fcad4e0a9190571d280bf71ffd6bd311b735b0eba5b6f48e5c7d7754362c6f9ca6e5 SHA512 b3348d9a8b0e4ee1d6ecff573563d6c5983968a6bbc487f1e829479f960f28324ef1deb27ea0f5bbb51ff85179bc74f525657cf3a464fd9ec357e939d6f82b05
EBUILD kpublictransport-24.08.3.ebuild 987 BLAKE2B 157387d4053c3de59b15de0e00522ccdb053fc707a86593e138b4d381f64e07b0bb84a12d9de3a0e203ee21acf62fc95e3595644c06f498cf654cae22fb08892 SHA512 36c72c9b0e25e86272e8fd32b1e662b1b41f96eeb71cb43e3bc228fd4b9a2d06de29226f9adc4cbee69662c488961b4465cfd95a8643500604242ae296a21f46
-EBUILD kpublictransport-24.12.0.ebuild 987 BLAKE2B 157387d4053c3de59b15de0e00522ccdb053fc707a86593e138b4d381f64e07b0bb84a12d9de3a0e203ee21acf62fc95e3595644c06f498cf654cae22fb08892 SHA512 36c72c9b0e25e86272e8fd32b1e662b1b41f96eeb71cb43e3bc228fd4b9a2d06de29226f9adc4cbee69662c488961b4465cfd95a8643500604242ae296a21f46
+EBUILD kpublictransport-24.12.0-r1.ebuild 987 BLAKE2B 664be1f0416cc0bc9fad860e447d5fb7e88cabfae6a49695ad043827e09104754f98e298d63e8dd01a95976d19f88dedc4a4df318ba5a27e25f288dd6f54442d SHA512 c542e721d2cbf79feb35a2224f1dfc5032604ea39174812fce6fcd3a3775a4b06072860f156a422bae099639de85e7c57acc8387050e8868b03ff796a15d9fe2
MISC metadata.xml 388 BLAKE2B a5ab7966c17200f79bad40dffdce29d2077a122179e8afa69d7e381d018062c563f309d57b2d409eaee5e271a64961aea1d11a7733739c51211219ab97892061 SHA512 ea7dc1d0206f82d54a1cdb18ba8225287ef2b28a97d302d4e239dd16358db2a4ef33f890c1e080a34d4211a92dab91fbb7bfb067865164afbeb5b49a637cf4a4
diff --git a/dev-libs/kpublictransport/kpublictransport-24.12.0.ebuild b/dev-libs/kpublictransport/kpublictransport-24.12.0-r1.ebuild
index 0a6316ec8c3d..5f7144d67a63 100644
--- a/dev-libs/kpublictransport/kpublictransport-24.12.0.ebuild
+++ b/dev-libs/kpublictransport/kpublictransport-24.12.0-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
ECM_QTHELP="true"
ECM_TEST="true"
-KFMIN=6.5.0
+KFMIN=6.7.0
QTMIN=6.7.2
inherit ecm gear.kde.org
diff --git a/dev-libs/libgusb/Manifest b/dev-libs/libgusb/Manifest
index 9406a9d86944..e4a6ab1bfd8f 100644
--- a/dev-libs/libgusb/Manifest
+++ b/dev-libs/libgusb/Manifest
@@ -1,5 +1,5 @@
DIST libgusb-0.4.8.tar.xz 51632 BLAKE2B f904bb8a0766a61b0e7d6e5e80d7f0eed5c44537065db2b9bf33cd694fcaa58d93a7cdec37802fd278c2eb7ad2e4de79cd492baa1ead373e31e4d75488999e1e SHA512 b6446761ba4a19b8e7b7fc2bcf26064c89a574c328b794eb3f1723ef71b4100447c5b024bd8163c4e42af935ce0b7e11b93b722871061f7115da0003cc14b001
DIST libgusb-0.4.9.tar.xz 51672 BLAKE2B b40d39b1d4db63ccc01c1c15807c15c867c84f76d0f36b71ea877e6aef11bb3f1ec6a68affaed385bea1485b945b8c513e10d26e31fa0b362e1607f7d532f9bc SHA512 61052b02ae826cdd24fd1ed8938ce893b37176aae839d789f56c2f37822c8b8f965ca0049cbdffc021eb379e46fc894d3621b46a7585719bde27d908137e4a27
EBUILD libgusb-0.4.8.ebuild 1746 BLAKE2B d8a7b9c0212c99828622cf4e28b5b1fcfd4ee4549978b546ad206bde4b875a266d7aeb08cff4f09c913b641307a168b134cbe739f73b529347b0a674f2e3895f SHA512 81800555f6a258e1ac3f4c755580064ecce5085ab0f9b4d7fa7a7f085d21c76ff542029f9622cecec86bad3e0404b24e04bb5942ac8a5e7b1f719790d92d0e36
-EBUILD libgusb-0.4.9.ebuild 1750 BLAKE2B 6ccb868891a63d0e90eb5116ac9003f446ff7906a1a0446c27bbfbf1ba6a0744ee5fb7f13d45370b7d73ce4ae6e0ea50c3a29bc787305b5dd5590273c96da13b SHA512 695d92e7546a5ad31620438d4c0a75cad7268220107017963b1edeafa9545d4afec33d5ec9c307deeef914c1733dd548cf0f09255d71d8a2d8a0347d6d8b3cb2
+EBUILD libgusb-0.4.9.ebuild 1746 BLAKE2B 60350cd627afde485ba4ddb622f680e24efd94379db3655f2c517d33f43ef8f7e1616813d241db77bd829c4f808c07acb687d0d3d63785634a71da2974d4405d SHA512 152b63caaf78f7a84c8380dc3a50dd55ce70b07b070a52f867cd0837978d501fe66320d923345ff53fbed3fabdc29712b93bb0c381790ef045352c12b5ed526b
MISC metadata.xml 344 BLAKE2B bd362d7e89ba2d88c2f220ab47593b4ae25bc4ca486bdafda16448407213d7558d7ea807c489e5aafbb8ec83a40e8e339c8ba20d3bfc3957da33a7e7711c6898 SHA512 93166c6dd4d764901c87fc567ab1c67add1c654b7ea1f3326e7144d5c14789bdee2a1e37874f8b6158136e03363372bf1d972f49f96095b0e3e568af89c4af34
diff --git a/dev-libs/libgusb/libgusb-0.4.9.ebuild b/dev-libs/libgusb/libgusb-0.4.9.ebuild
index 7ed73682fe91..5a09ced9fd5d 100644
--- a/dev-libs/libgusb/libgusb-0.4.9.ebuild
+++ b/dev-libs/libgusb/libgusb-0.4.9.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/hughsie/libgusb/releases/download/${PV}/${P}.tar.xz"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="gtk-doc +introspection test +vala"
REQUIRED_USE="
diff --git a/dev-libs/vala-common/Manifest b/dev-libs/vala-common/Manifest
index 7ead89dbc4e1..d31921992758 100644
--- a/dev-libs/vala-common/Manifest
+++ b/dev-libs/vala-common/Manifest
@@ -1,5 +1,5 @@
DIST vala-0.56.16.tar.xz 4013716 BLAKE2B 509809a93c70fd6a153fc188aaa3d85cbcc8d37649711ea32521505eb0bdc3fe824d90c538aaa7a7caa1c4faaea9053693b28ae54bdd6c212539a70300f2c33e SHA512 99f69c3c7a5ed89923b55cf035c6d9a5867577b2ecff92dddf5f21aaad1281786e5fcd775833b0f251417caf857f5fe7efbf134fbded427a7b29fa3acb00203a
DIST vala-0.56.17.tar.xz 4016576 BLAKE2B c4b8d5b7c810893728f82d2cbbf2f0dd70ad17bd4eeb323ab5d31d99f37b5a5508b7d2447f0249f3a925013d7110bb6f145b32c833b990b15f18d9949035293f SHA512 61df98ba6b15d589a1864598a6f69cc3bee9154ba65270fc3a2fb1d0c3a68c32c29b572bcc26d6616d3fa23d53fb41710af3636125507864dd17f47cf27d4723
EBUILD vala-common-0.56.16.ebuild 682 BLAKE2B 2c5eeb0984b254ea0018a885d141334c3e5d8dc5920b919a12f58e42300b43315e3f51a48f004d0a1a560ed3c9701bdcf0bd195b11017e9106764080b444cee4 SHA512 c4a3f81152727c7fea0c7c671a2e1f4b39a021821021d5184b8648d2ffc1a4afa5eec0e7e032cfa4fee2f6fc2e430e77ec88f18d651f03c30fef20068a7993b1
-EBUILD vala-common-0.56.17.ebuild 687 BLAKE2B 3fbedd983b907aedc92510dbec999942fdd91e8f756de7402c12a78309de8cac174c77e5c7e9e73275e5401e279f44e74703673f7275bdb143ad526d982d4c1f SHA512 74136f7e5dd52d77c3462eee52d36d62df2e9b0ee4b16ce17f0cc9a55cf22e1795d0428e33bed561d5f91ef7731c9d0161618a0f9c447f78879dee0943f75b13
+EBUILD vala-common-0.56.17.ebuild 683 BLAKE2B 99685282cc743d87a6b09cd55719b3a3fffb76d6b15c2e1c84cee4ffadcc03dc2f161303c8924677e95103c327d8e90bb7fe49322f33376ea1218dcb354cfb8c SHA512 6b32fe6fdf235fd8e22f6a2b9cd85f61642e6ce1a5f92c3d9cb13bbb2cdb49b9b57443d7af9b10c0162c9b499b49ef96c0df92d8742202dfb9c4a70b4fe1c846
MISC metadata.xml 426 BLAKE2B 5d4ef5f9505178faae0cd5ea94378517ca8fbf2304e3fa77880dceb4194f520bb62ac4c61e5c9b0f2125194fc9470cbe97ecf9708494031ef4d0f222de58c6b1 SHA512 f3fe4cdff9d1ac255e1c4f565edab3b01d569c93b77179bc1efe8de2843bb5e031bc442e76fd1bfe775fbaaadab87b0fec8f1839ade2bdc6c1d2eac08565834e
diff --git a/dev-libs/vala-common/vala-common-0.56.17.ebuild b/dev-libs/vala-common/vala-common-0.56.17.ebuild
index 804977fd5396..a18fdc2c5fe1 100644
--- a/dev-libs/vala-common/vala-common-0.56.17.ebuild
+++ b/dev-libs/vala-common/vala-common-0.56.17.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala https://gitlab.gnome.org/GNOME/va
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
RDEPEND=""
DEPEND=""
diff --git a/dev-libs/wayland-protocols/Manifest b/dev-libs/wayland-protocols/Manifest
index e49f7673f514..85a11047069d 100644
--- a/dev-libs/wayland-protocols/Manifest
+++ b/dev-libs/wayland-protocols/Manifest
@@ -1,4 +1,6 @@
DIST wayland-protocols-1.38.tar.xz 102648 BLAKE2B b07abed74b2f83247f3746414dc1f9e317793f9bc6ae7c1cb955d94149577964dee2ed0d658d4b9d9d7bd446509966393f4060b85db09b56292ddd9702bd1aee SHA512 43fc36d35bedb245deed0e2de246f42d2bbfa6ecafa094f2a7fb103d6df8ae28f3cc200bc5aa24745b9131a28381883c24779da0a6d9ac954753bd5ebb1405db
+DIST wayland-protocols-1.39.tar.xz 108844 BLAKE2B ca0350acdce8e2b3803ef4582576fd2db61228f54cebfa232ebbf85377a7201ceb9a96650c8940dc91c193681fa70a0fcb3d5fa9e541acfe77ae07448e998f9d SHA512 480a195ec0846400d93160e3d0a7ba12948ed841835ee4661f54b0101ae0027affd9c0f660a73244786fecd70e4f609830489a6b95e00d750cf2379734aacbe0
EBUILD wayland-protocols-1.38.ebuild 769 BLAKE2B c2a4d37a807bba72de674824610a0a8128390d876af363e86ffd6f2234a5a647fa36e85ec358c0bc8768dd46e2e7f9ba65a809a871144cd57e9b3ea63353de5b SHA512 cb18b4fc2ab33815005544ee2b2cd2f69b633e70c57aa4beb94d21cd51b266dba7821f24cdc0f2691f1ef6e85c83b2fa0ec2e1c440c8419bbf02b23c7ba13796
-EBUILD wayland-protocols-9999.ebuild 776 BLAKE2B 94456d3441f35114ec811ac742b6b0714e60f5ca397f4a08f3a2de1b98fd86838c12f8173b2bfa59a39233413e7bc1ee38cc67493ce8f3792c50eae8ce8154fc SHA512 88948515d1f82998868b8b871af0b9582da04277c1281419187f03c742b367b820a4bd99441202e5d84421d2e935801cec2c93337e4662920ecafdfe4f1f3ba5
+EBUILD wayland-protocols-1.39.ebuild 785 BLAKE2B d6d355660e85518b18aa11ab4cdd37ab7e496ce6f91a92cece804e02c4b212ce98ac90e817767aa9061fb3a2ff7986a8b3e71a5f987fe6bf622787ecc94b28e8 SHA512 00f6eddf096ba24aca61fc25200f8e9a8a6bc1b1101b464445f98067bf81b4b078436d25d9d6f5b0f44b0fd3caa54acf6c90848ab548f3130e40f0da695314cb
+EBUILD wayland-protocols-9999.ebuild 785 BLAKE2B d6d355660e85518b18aa11ab4cdd37ab7e496ce6f91a92cece804e02c4b212ce98ac90e817767aa9061fb3a2ff7986a8b3e71a5f987fe6bf622787ecc94b28e8 SHA512 00f6eddf096ba24aca61fc25200f8e9a8a6bc1b1101b464445f98067bf81b4b078436d25d9d6f5b0f44b0fd3caa54acf6c90848ab548f3130e40f0da695314cb
MISC metadata.xml 347 BLAKE2B e4265a94e0261094355613ac8617c362f90dc7207188658bf37d7d3d0ea87f598d0a5367d44c95cd3688cd68aeaad6be95ca1707430d06ad8b34bfaed9395f29 SHA512 4db809b42f57946d21f5c0ece2ccba39684da283ddfb72ed2bd6c1ace305c18381904dafa2abce56950cfb2bd1ead0839124c59302b1bb71c0fd8fc8f4a52846
diff --git a/dev-libs/wayland-protocols/wayland-protocols-1.39.ebuild b/dev-libs/wayland-protocols/wayland-protocols-1.39.ebuild
new file mode 100644
index 000000000000..64f0b55ccbb3
--- /dev/null
+++ b/dev-libs/wayland-protocols/wayland-protocols-1.39.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Wayland protocol files"
+HOMEPAGE="https://wayland.freedesktop.org/"
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/${PN}.git/"
+ inherit git-r3
+else
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? ( dev-libs/wayland )
+"
+BDEPEND="
+ >=dev-util/wayland-scanner-1.23.0
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/wayland-protocols/wayland-protocols-9999.ebuild b/dev-libs/wayland-protocols/wayland-protocols-9999.ebuild
index 0bdb61d9ef92..64f0b55ccbb3 100644
--- a/dev-libs/wayland-protocols/wayland-protocols-9999.ebuild
+++ b/dev-libs/wayland-protocols/wayland-protocols-9999.ebuild
@@ -25,7 +25,7 @@ DEPEND="
test? ( dev-libs/wayland )
"
BDEPEND="
- dev-util/wayland-scanner
+ >=dev-util/wayland-scanner-1.23.0
virtual/pkgconfig
"
diff --git a/dev-libs/wayland/Manifest b/dev-libs/wayland/Manifest
index ea0e6da43c48..9d6193458a45 100644
--- a/dev-libs/wayland/Manifest
+++ b/dev-libs/wayland/Manifest
@@ -2,6 +2,6 @@ AUX wayland-1.23.0-c23-clang-fix.patch 4740 BLAKE2B fceae0f54e0d12c8c7651641294c
DIST wayland-1.23.0.tar.xz 237900 BLAKE2B efb80e3c67db7a707a6d2ea66e7a5132173550bc13fdff447925ec3d33bfba8131532f819d5ab0dd80924cb4339b58b7ca83d9e70a436cea8268167476355bd8 SHA512 9c525231a7ea3e68d3178230d476285a960d23e38571ac96d885f86c0588c52ef01460bff6833db5adb9456ce8db7b996613611187aac972736748ba91b8fd81
DIST wayland-1.23.1.tar.xz 238212 BLAKE2B 74784b537a6e28610466ff1549286cea9ff8b9ca914afa26a07f177bbe0be56b80de037d5eb5d07a38bf02a9041c32e62c896facd5417c1435571640ad8f87b2 SHA512 818eda003e3f7aa15690eedb1ff227a6056b2ce54bf23d45ffe573dc40a914623c5a1358218b59444dcdc483db0503324f0d27091d0ea954412a8b290de5f50a
EBUILD wayland-1.23.0-r1.ebuild 1726 BLAKE2B 09dffc214c8508a5e1716ec52e4363e6f01161b815ecee4875679b8033d06673e49f924c7825776e0115720f52bb5c8d8f551374cf6a9d94191baa0ca085bf8f SHA512 cff83dee704836c7968ee6e66b6037f6a8f4a5f29c00f8bb69fbeb1370fe7db20c46430a7604fa2d232b43a1db6f522841947fda435672a6f40de031f1ffbeea
-EBUILD wayland-1.23.1.ebuild 1664 BLAKE2B ae77f4bddf6ba907e0a742da1980a886f01af54aa28a707b0f8e4d0e5f4778c8f9129259223c3067499fa296481f3a3e400d11d094a06b8ccd6ec1f3cbaab353 SHA512 8c31db4535c046a5846ca40addd27d67ab6a10b8103aff747d0f4b092f3c2c3d6b1207b529c4157ff8900e0f3348d67d4c145a7ffcbcff94c6d37cc0c277331f
+EBUILD wayland-1.23.1.ebuild 1663 BLAKE2B c37191ddaffd76d0c0b7f7edf16c9212591d00acf9f628e9f6154ba635f2228c527f41c20fd2109da38790f257043dfc93c09e2e0f8126b9061a08f1984e402a SHA512 7948d5eaf9277783da2c8390c8baa8cca0d47510f49965c18cc392540a63cbe7342b3a12617451bcf597f616400ddafa7d6da2e5ff95495cc3550c9109a78d4c
EBUILD wayland-9999.ebuild 1670 BLAKE2B edbf9bd6fb9d9bc4a89e9440f5fea6bf945616f8adc08a95cfa2534fd8ef64f9bfed730ba3389af91be45294ee8783a478278534de8be2e42b54cfd1f9782d8d SHA512 a2cd4fe74a60111362a1e949924f195a260302b74142bcec021bff56fd16ea479454d1c1e836c0fd874b504e4d527855ddc52dfa7ac6678adb7004187fd653e2
MISC metadata.xml 337 BLAKE2B af249efc25c3eadde73d0b49cba0e6c8a021fb4b7c9a0b96f27a4e71185c76f8ac7ff0b9efdfeadf2df324cfa578db3a73fc7bee8c249cba35d41e2145017e16 SHA512 771b226f8e16d8c570bc2ea89ee3c5176e1d0f2209afb3b2af5a9d19fbdc2037a411b84d546bea054449c8074fb0fb3c3726fb2692d084521c64cda60600c0b8
diff --git a/dev-libs/wayland/wayland-1.23.1.ebuild b/dev-libs/wayland/wayland-1.23.1.ebuild
index fbf198b88a3e..807d09686e9f 100644
--- a/dev-libs/wayland/wayland-1.23.1.ebuild
+++ b/dev-libs/wayland/wayland-1.23.1.ebuild
@@ -8,7 +8,7 @@ if [[ ${PV} = *9999* ]]; then
inherit git-r3
else
SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
- KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
inherit meson-multilib