summaryrefslogtreecommitdiff
path: root/dev-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-12-13 02:01:50 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-12-13 02:01:50 +0000
commit2a3e0d61b3d88306b6fae46756f9ba7d230222ae (patch)
treea0d3259dd259861a49a2d3e6e9220beaa8ec39c2 /dev-libs
parent39c32f4d5dca9f6293fccb69e9d50baf494c8de4 (diff)
gentoo auto-resync : 13:12:2024 - 02:01:50
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/Manifest.gzbin100531 -> 100531 bytes
-rw-r--r--dev-libs/boost/Manifest2
-rw-r--r--dev-libs/boost/boost-1.87.0.ebuild344
-rw-r--r--dev-libs/jsoncpp/Manifest8
-rw-r--r--dev-libs/jsoncpp/files/jsoncpp-1.9.6-cmake.patch21
-rw-r--r--dev-libs/jsoncpp/jsoncpp-1.9.5-r1.ebuild51
-rw-r--r--dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild51
-rw-r--r--dev-libs/jsoncpp/jsoncpp-1.9.6-r1.ebuild56
-rw-r--r--dev-libs/jsoncpp/jsoncpp-1.9.6-r2.ebuild2
-rw-r--r--dev-libs/jsoncpp/jsoncpp-1.9.6.ebuild51
-rw-r--r--dev-libs/kopeninghours/Manifest2
-rw-r--r--dev-libs/kopeninghours/kopeninghours-24.12.0.ebuild63
-rw-r--r--dev-libs/kosmindoormap/Manifest2
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-24.12.0.ebuild48
-rw-r--r--dev-libs/kpathsea/Manifest2
-rw-r--r--dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-Wimplicit-function-declaration.patch31
-rw-r--r--dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-slibtool-test.patch47
-rw-r--r--dev-libs/kpublictransport/Manifest2
-rw-r--r--dev-libs/kpublictransport/kpublictransport-24.12.0.ebuild39
-rw-r--r--dev-libs/kweathercore/Manifest2
-rw-r--r--dev-libs/kweathercore/kweathercore-24.12.0.ebuild32
-rw-r--r--dev-libs/libei/Manifest2
-rw-r--r--dev-libs/libei/files/1.3.0-scanner-switch-to-using-dataclasses.patch417
-rw-r--r--dev-libs/libei/libei-1.3.0-r1.ebuild101
-rw-r--r--dev-libs/libgcrypt/Manifest2
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild2
-rw-r--r--dev-libs/libwacom/Manifest2
-rw-r--r--dev-libs/libwacom/libwacom-2.13.0.ebuild2
-rw-r--r--dev-libs/tre/Manifest2
-rw-r--r--dev-libs/tre/tre-0.8.0_p20210321-r4.ebuild2
30 files changed, 1064 insertions, 324 deletions
diff --git a/dev-libs/Manifest.gz b/dev-libs/Manifest.gz
index cd63308296cf..5f8cdf5a216f 100644
--- a/dev-libs/Manifest.gz
+++ b/dev-libs/Manifest.gz
Binary files differ
diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest
index d64a332d9aca..07195cd0a845 100644
--- a/dev-libs/boost/Manifest
+++ b/dev-libs/boost/Manifest
@@ -16,7 +16,9 @@ AUX boost-1.86.0-uuid-compute-backport.patch 1118 BLAKE2B 4fe636ec17f9dce29d37d8
DIST boost_1_84_0.tar.bz2 123110547 BLAKE2B a872ee00402be0383726020f4d13a7df6c2765c52eac2e09aab1604432931d26dd597503f5dcbbf788d7e7528d13c6d1dbfff1e85d22bf92c7828ef74cf2405d SHA512 5dfeb35198bb096e46cf9e131ef0334cb95bc0bf09f343f291b860b112598b3c36111bd8c232439c401a2b2fb832fa0c399a8d5b96afc60bd359dff070154497
DIST boost_1_85_0.tar.bz2 124015250 BLAKE2B dd72a9299cd78d2c260e1c94e28ba04daaa352f5bd023d99e43caa3540b1e0f8c09fc04b91f68db0ef8532e4a91fdef0b66a80bf0f9f838303bccaf0729bf581 SHA512 b4489813a4192b57626589457932338cfc47c4ec05c19b3a58b2d8df9e95f022ff2f5f452811ff82d1cec4fb0a490e991c8825bad0fb5a81318d07a8788d8ca0
DIST boost_1_86_0.tar.bz2 126220652 BLAKE2B de3d262e3dc174813e8e9abc8fb083ae101949dbd3b818b1114457497607085dc998f6f0fdd095a87c38c90700761c825ce239b082144389507c0fec77d527dd SHA512 9f8144e07a44cc5b5be6c6da17b2e6f29f0637dda345764c89eac0bcb9ce2878469a7e6fcd2c96d25034937025768450b33fc14fb40470fa4806bfcf03330e75
+DIST boost_1_87_0.tar.bz2 131473200 BLAKE2B 8bbd163ab2fcdd29e2dbe74fdab49b2c80b4ea58df40e39148d151911f2c81188e7fe44faf61905eddfc5615b5003932e0ea85a6527844f55ee121595173adfa SHA512 a2d5007953f67b816169efe0cf11675cd63fc6bae63f87ee1372515e57913ef6cf6ae8c3f2c400fef8ce63a035a02a0cad0da5acc29e977a85d458625b2a719c
EBUILD boost-1.84.0-r3.ebuild 11400 BLAKE2B b7e1d1b111e3fbb73f3bc0bb94d28a617e1e27ac9118521a32706b12c2fb7f6e75da97ed8663c9eaf7962981d398b69a2b87e8d7b1541ae5438b432d73070bc2 SHA512 30f864b39faba3b215aa8f88f9b65d3b60abbd640b4837f9ba5c0076cbad9cb4d39a611823a1ca93a1a8e9c572f52a6d6eb5e4344ea8da5d71cc60ae7f8e50fe
EBUILD boost-1.85.0-r1.ebuild 11733 BLAKE2B f2397d23c551d13af5b66e4d2b4792024c71b7a8c326d7265e909fd80d3d037fd62f995843a94af5b227d435b85a5e259add02e381da05cce9aa3a282aa3acff SHA512 5d320568684e906bcf108de93dbb3a7726283398ddef97fcf79df5d08c7d55f52a9a45c8524cc6acd6a10083f63e24d7e62bcde4677696af0423295b5db11b5e
EBUILD boost-1.86.0-r1.ebuild 11405 BLAKE2B deb6d8d7262b3acb7c7a3522c4dc8009b42b2f6db2d0e5a12bb73c59789373f0caa27f1e5b95aaed2b69bafbb53f5b1bdea0c63bf68ae866251d1e3bf498cc83 SHA512 1524b5fc33727d564943be7d6a718b540bfdcef7fd09fa9a827228c29f45c193d8dd7e1d6bca316c09609dff41e576d17d30ba34b34dfcf9a0711a96148ee43e
+EBUILD boost-1.87.0.ebuild 11188 BLAKE2B 386eb8ce8520d058d25b9832ededa0593ecfae83b14c4eedeb4a9cf7aa0c708042a78c7e6b013800475234619df0d1f37c2b6d472e5ef8f6be206edabc0880ab SHA512 eb30c964ea962b17788e1253e3cd7e39ab0a435d39378acf0088c52935e8c1b1b8d6176241461b15d77958e746626e4f7f31293be90b03a28a7a18905e387815
MISC metadata.xml 9162 BLAKE2B c8df087c7fe1e4af3a59f21763777d3f1318aebcd524e077b6a93c374e0910ff31b1e73b8b4908130d63c2bb7d060348602cffd215648f09afd8015c782e2340 SHA512 3c45d74e046e0fd09f152fcfa7af942c9097e3ed91a0915a2541caad14a8b94b9faceccdbc74bf8aa7c8f7b383db7e91e09babba9c2c28fd7855a7b809616839
diff --git a/dev-libs/boost/boost-1.87.0.ebuild b/dev-libs/boost/boost-1.87.0.ebuild
new file mode 100644
index 000000000000..937cdd13d824
--- /dev/null
+++ b/dev-libs/boost/boost-1.87.0.ebuild
@@ -0,0 +1,344 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Keep an eye on both of these after releases for patches:
+# * https://www.boost.org/patches/
+# * https://www.boost.org/users/history/version_${MY_PV}.html
+# (e.g. https://www.boost.org/users/history/version_1_83_0.html)
+# Note that the latter may sometimes feature patches not on the former too.
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
+
+MY_PV="$(ver_rs 1- _)"
+
+DESCRIPTION="Boost Libraries for C++"
+HOMEPAGE="https://www.boost.org/"
+SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2"
+S="${WORKDIR}/${PN}_${MY_PV}"
+
+LICENSE="Boost-1.0"
+SLOT="0/${PV}"
+#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="bzip2 +context debug doc icu lzma +nls mpi numpy python +stacktrace tools zlib zstd"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+# the tests will never fail because these are not intended as sanity
+# tests at all. They are more a way for upstream to check their own code
+# on new compilers. Since they would either be completely unreliable
+# (failing for no good reason) or completely useless (never failing)
+# there is no point in having them in the ebuild to begin with.
+RESTRICT="test"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
+ icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
+ !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
+ mpi? ( virtual/mpi[${MULTILIB_USEDEP},cxx,threads] )
+ python? (
+ ${PYTHON_DEPS}
+ numpy? ( dev-python/numpy:=[${PYTHON_USEDEP}] )
+ )
+ zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-build/b2-5.1.0"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.81.0-disable_icu_rpath.patch
+ "${FILESDIR}"/${PN}-1.79.0-build-auto_index-tool.patch
+)
+
+create_user-config.jam() {
+ local user_config_jam="${BUILD_DIR}"/user-config.jam
+ if [[ -s ${user_config_jam} ]]; then
+ einfo "${user_config_jam} already exists, skipping configuration"
+ return
+ else
+ einfo "Creating configuration in ${user_config_jam}"
+ fi
+
+ local compiler compiler_version compiler_executable="$(tc-getCXX)"
+ compiler="gcc"
+ compiler_version="$(gcc-version)"
+
+ if use mpi; then
+ local mpi_configuration="using mpi ;"
+ fi
+
+ cat > "${user_config_jam}" <<- __EOF__ || die
+ using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CPPFLAGS} ${CFLAGS}" <cxxflags>"${CPPFLAGS} ${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ;
+ ${mpi_configuration}
+ __EOF__
+
+ if multilib_native_use python; then
+ append_to_user_config() {
+ local py_config
+ if tc-is-cross-compiler; then
+ py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;"
+ else
+ py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;"
+ fi
+ echo "${py_config}" >> "${user_config_jam}" || die
+ }
+ python_foreach_impl append_to_user_config
+ fi
+
+ if multilib_native_use python && use numpy; then
+ einfo "Enabling support for NumPy extensions in Boost.Python"
+ else
+ einfo "Disabling support for NumPy extensions in Boost.Python"
+
+ # Boost.Build does not allow for disabling of numpy
+ # extensions, thereby leading to automagic numpy
+ # https://github.com/boostorg/python/issues/111#issuecomment-280447482
+ sed \
+ -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
+ -i "${BUILD_DIR}"/libs/python/build/Jamfile || die
+ fi
+}
+
+pkg_setup() {
+ # Bail out on unsupported build configuration, bug #456792
+ if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
+ if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
+ eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
+ eerror "Boost can not be built in such configuration."
+ eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
+ die "Unsupported target in ${EROOT}/etc/site-config.jam"
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+ejam() {
+ create_user-config.jam
+
+ local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
+ if multilib_native_use python; then
+ append_to_b2_opts() {
+ b2_opts+=( python="${EPYTHON#python}" )
+ }
+ python_foreach_impl append_to_b2_opts
+ else
+ b2_opts+=( --without-python )
+ fi
+ b2_opts+=( "$@" )
+
+ echo b2 "${b2_opts[@]}" >&2
+ b2 "${b2_opts[@]}"
+}
+
+src_configure() {
+ # Workaround for too many parallel processes requested, bug #506064
+ [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
+
+ # We don't want to end up with -L/usr/lib on our linker lines
+ # which then gives us lots of
+ # skipping incompatible /usr/lib/libc.a when searching for -lc
+ # warnings
+ [[ -n ${ESYSROOT} ]] && local icuarg="-sICU_PATH=${ESYSROOT}/usr"
+
+ OPTIONS=(
+ $(usex debug gentoodebug gentoorelease)
+ "-j$(makeopts_jobs)"
+ -q
+ -d+2
+ pch=off
+ $(usex icu "${icuarg}" '--disable-icu boost.locale.icu=off')
+ $(usev !mpi --without-mpi)
+ $(usev !nls --without-locale)
+ $(usev !context '--without-context --without-coroutine --without-fiber')
+ $(usev !stacktrace --without-stacktrace)
+ --boost-build="${BROOT}"/usr/share/b2/src
+ --layout=system
+ # building with threading=single is currently not possible
+ # https://svn.boost.org/trac/boost/ticket/7105
+ threading=multi
+ link=shared
+ # this seems to be the only way to disable compression algorithms
+ # https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build
+ -sNO_BZIP2=$(usex bzip2 0 1)
+ -sNO_LZMA=$(usex lzma 0 1)
+ -sNO_ZLIB=$(usex zlib 0 1)
+ -sNO_ZSTD=$(usex zstd 0 1)
+ boost.stacktrace.from_exception=off
+ )
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ # We need to add the prefix, and in two cases this exceeds, so prepare
+ # for the largest possible space allocation.
+ append-ldflags -Wl,-headerpad_max_install_names
+ fi
+
+ # Use C++17 globally as of 1.80
+ append-cxxflags -std=c++17
+
+ if [[ ${CHOST} != *-darwin* ]]; then
+ # On modern macOS, file I/O is already 64-bit by default,
+ # there's no support for special options like O_LARGEFILE.
+ # Thus, LFS must be disabled.
+ #
+ # On other systems, we need to enable LFS explicitly for 64-bit
+ # offsets on 32-bit hosts (#894564)
+ append-lfs-flags
+ fi
+}
+
+multilib_src_compile() {
+ ejam \
+ --prefix="${EPREFIX}"/usr \
+ "${OPTIONS[@]}" || die
+
+ if multilib_native_use tools; then
+ pushd tools >/dev/null || die
+ ejam \
+ --prefix="${EPREFIX}"/usr \
+ "${OPTIONS[@]}" \
+ || die "Building of Boost tools failed"
+ popd >/dev/null || die
+ fi
+}
+
+multilib_src_install() {
+ ejam \
+ --prefix="${ED}"/usr \
+ --includedir="${ED}"/usr/include \
+ --libdir="${ED}"/usr/$(get_libdir) \
+ "${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
+
+ if multilib_native_use tools; then
+ dobin dist/bin/*
+
+ insinto /usr/share
+ doins -r dist/share/boostbook
+ fi
+
+ # boost's build system truely sucks for not having a destdir. Because for
+ # this reason we are forced to build with a prefix that includes the
+ # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
+ # DESTROOT instread of the actual EPREFIX. There is no way out of here
+ # but to do it the dirty way of manually setting the right install_names.
+ if [[ ${CHOST} == *-darwin* ]]; then
+ einfo "Working around completely broken build-system(tm)"
+ local d
+ for d in "${ED}"/usr/lib/*.dylib; do
+ if [[ -f ${d} ]]; then
+ # fix the "soname"
+ ebegin " correcting install_name of ${d#${ED}}"
+ install_name_tool -id "/${d#${D}}" "${d}"
+ eend $?
+ # fix references to other libs
+ # these paths look like this:
+ # bin.v2/libs/thread/build/gcc-12.1/gentoorelease/pch-off/
+ # threadapi-pthread/threading-multi/visibility-hidden/
+ # libboost_thread.dylib
+ refs=$(otool -XL "${d}" | \
+ sed -e '1d' -e 's/^\t//' | \
+ grep "libboost_" | \
+ cut -f1 -d' ')
+ local r
+ for r in ${refs}; do
+ # strip path prefix from references, so we obtain
+ # something like libboost_thread.dylib.
+ local r_basename=${r##*/}
+
+ ebegin " correcting reference to ${r_basename}"
+ install_name_tool -change \
+ "${r}" \
+ "${EPREFIX}/usr/lib/${r_basename}" \
+ "${d}"
+ eend $?
+ done
+ fi
+ done
+ fi
+}
+
+multilib_src_install_all() {
+ if ! use numpy; then
+ rm -r "${ED}"/usr/include/boost/python/numpy* || die
+ fi
+
+ if use python; then
+ if use mpi; then
+ move_mpi_py_into_sitedir() {
+ python_moduleinto boost
+
+ python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so
+ rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die
+
+ python_optimize
+ }
+ python_foreach_impl move_mpi_py_into_sitedir
+ else
+ rm -r "${ED}"/usr/include/boost/mpi/python* || die
+ fi
+ else
+ rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die
+ fi
+
+ if ! use nls; then
+ rm -r "${ED}"/usr/include/boost/locale || die
+ fi
+
+ if ! use context; then
+ rm -r "${ED}"/usr/include/boost/context || die
+ rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
+ rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
+ fi
+
+ if use doc; then
+ # find extraneous files that shouldn't be installed
+ # as part of the documentation and remove them.
+ find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
+ find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
+ find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
+
+ docinto html
+ dodoc *.{htm,html,png,css}
+ dodoc -r doc libs more tools
+
+ # To avoid broken links
+ dodoc LICENSE_1_0.txt
+
+ dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost
+ fi
+}
+
+pkg_preinst() {
+ # Yay for having symlinks that are nigh-impossible to remove without
+ # resorting to dirty hacks like these. Removes lingering symlinks
+ # from the slotted versions.
+ local symlink
+ for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do
+ if [[ -L ${symlink} ]]; then
+ rm -f "${symlink}" || die
+ fi
+ done
+
+ # some ancient installs still have boost cruft lying around
+ # for unknown reasons, causing havoc for reverse dependencies
+ # Bug: 607734
+ rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die
+}
+
+pkg_postinst() {
+ elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as"
+ elog
+ elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation"
+ elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
+ elog
+ elog "Then you need to recompile Boost and all its reverse dependencies"
+ elog "using the same toolchain. In general, *every* change of the C++ toolchain"
+ elog "requires a complete rebuild of the Boost-dependent ecosystem."
+ elog
+ elog "See for instance https://bugs.gentoo.org/638138"
+}
diff --git a/dev-libs/jsoncpp/Manifest b/dev-libs/jsoncpp/Manifest
index 83413f98d64d..ab7dac5c83ce 100644
--- a/dev-libs/jsoncpp/Manifest
+++ b/dev-libs/jsoncpp/Manifest
@@ -1,9 +1,3 @@
-AUX jsoncpp-1.9.6-cmake.patch 670 BLAKE2B 5d3fd44f2d5bf64e78c24659f017d16e05842381ab98192e896b777a96ea2f526f7124ca25de3e8e52ad930e77f057306717c37f5919a4844a544dc2183fa80d SHA512 4c36a9ed41355233b0fd63eb059cdf7f6f33a959f9d54c4180830a721d8715f0842d742bc850dfc13434b749bfdb9a0aac24b5913e17573e04ae7616e0eb7e89
-DIST jsoncpp-1.9.5.tar.gz 216055 BLAKE2B 744275297647be8f1ac7bbf6c818e5106fc122591b3fb68c37cf33f5b3b7d6666e8429bb7ca2ae693202a5a83c274303804e21ebb27f05ba235568bf75a9b375 SHA512 1d06e044759b1e1a4cc4960189dd7e001a0a4389d7239a6d59295af995a553518e4e0337b4b4b817e70da5d9731a4c98655af90791b6287870b5ff8d73ad8873
DIST jsoncpp-1.9.6.tar.gz 212682 BLAKE2B efa5dea68ddc175391200077666204f7ec66cd1f96a889a2a3c53d0e22e1f96ead1a2e7a871940f60dbd4261650f133b83de428b9c8b663fa13bd7ab4b9fdffe SHA512 006d81f9f723dcfe875ebc2147449c07c5246bf97dd7b9eee1909decc914b051d6f3f06feb5c3dfa143d28773fb310aabb04a81dc447cc61513309df8eba8b08
-EBUILD jsoncpp-1.9.5-r1.ebuild 1224 BLAKE2B ec92cfb2bddd3682e93ff592e3822a1cbf8620d25267e906b7829d735f399b76aa71a146b161b67b9821438a975060ccc7d2b12bada47c2ae415e218641d7e30 SHA512 590e8e7049d704c11af84773e7f0efa09d335228ea65bef85a1ac838af30b219fc149fefc36d6058fcc826a6c060152ac38cea46d4a7fca30ac967846aa4a09e
-EBUILD jsoncpp-1.9.5.ebuild 1187 BLAKE2B ee28a0bac674e2df4b78a76c38dfcdc81b49fb13d6381556e24dd3760954598d92b7b0585ca528dfdb6828cbaf282c32a5f94b953aedeeaef196560724a523a8 SHA512 11ebe8f21df756c03d5eafdba0bcd30ae57a6ab1b7b899230feee82c825cc14910792d72fb3646f0c7a243b2515411884a7f28cd3c5e7305981a9849e82e9d00
-EBUILD jsoncpp-1.9.6-r1.ebuild 1336 BLAKE2B 471d77b49966bea4b94a5718d357cdcdbac9917d74a5c5ffd906e6963fb588ec25f45d8a8e17264df50f75a41b0d143db610336bb8d9f0b520a9497149e55956 SHA512 62ec1471e8f86ac8ac85e17482e16b53626f7586925d770653dbb2b405a6ae172b561feb8118a4e99da6f1063b47a709ce1c4483b0d2fc9c071c4da3cfc0c925
-EBUILD jsoncpp-1.9.6-r2.ebuild 1347 BLAKE2B a0497c656bf9e3eec0a7759b4bcae52f654d438b7c46a9e32f75bf80206804acbf557c48d6a85e826c7749cbe1b8be3c78094fb8b58e721aad9512130d619129 SHA512 9a46b1985872e2196160193d81e1ec65205706a762fc6cb8f75b708edadd682ce8c94028c2b41490eb65742bd9d61722f5e4bc6dc934843fab14168dcf49346f
-EBUILD jsoncpp-1.9.6.ebuild 1224 BLAKE2B 2d7c4d725aae32488fe77f25ee7cc1aa554425c47773e85d38829ee52e65cbf0529983e321407c47e09d9d44352cc4d9d2e52f2b1f6b4b62977e259a08f5b35c SHA512 f40cb7817f02d9304b137a4635dcc3f89d564c0ba0b711b51dbf24d78020e7661a928c3b505e29c8a0313c093f547908e1a638ad0853fde4ad093c7c7cb3515f
+EBUILD jsoncpp-1.9.6-r2.ebuild 1346 BLAKE2B 8a9a8cebc32231354bad9f9bf3deaeebef5b2611a5514b5dbef8e7620d9da97db71e8ba97f18e7a65bc625e0bff26788a0b95df3456ac9cf02cee6df3b73c4af SHA512 f27b821c71037adad73f38aac30434c5dd345602e32b6b8cea8d356586bec6acd63665396107727ab81546bf06eb348c93a32689724555ff5b1f4cac630237cd
MISC metadata.xml 473 BLAKE2B cee9ea6f824489bf51f6c293faff24e62bb8c3457d49638b9547d104bfbed8b5c566e429b4d597dfa9b556955450c758261231ce83ea28216c1386a2d645176b SHA512 f7e2f0a82c5370802072e94a727bcb19d138979ab46670f01bdb17ed19b59f8e79bd28d37a8d939917f108fd4a64f53f67153ceaa9dad393840e9eb0247538e1
diff --git a/dev-libs/jsoncpp/files/jsoncpp-1.9.6-cmake.patch b/dev-libs/jsoncpp/files/jsoncpp-1.9.6-cmake.patch
deleted file mode 100644
index 9e24533ae9f9..000000000000
--- a/dev-libs/jsoncpp/files/jsoncpp-1.9.6-cmake.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 8d9109992e34cdacd3f2750ada5c2460d346898f Mon Sep 17 00:00:00 2001
-From: Rui Chen <rui@chenrui.dev>
-Date: Thu, 19 Sep 2024 15:10:21 -0400
-Subject: [PATCH] fix(build): remove `check_required_components` for meson
- build
-
-Signed-off-by: Rui Chen <rui@chenrui.dev>
----
- jsoncppConfig.cmake.meson.in | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/jsoncppConfig.cmake.meson.in b/jsoncppConfig.cmake.meson.in
-index 0f4866d6d..be8852d0c 100644
---- a/jsoncppConfig.cmake.meson.in
-+++ b/jsoncppConfig.cmake.meson.in
-@@ -4,5 +4,3 @@
- @MESON_STATIC_TARGET@
-
- include ( "${CMAKE_CURRENT_LIST_DIR}/jsoncpp-namespaced-targets.cmake" )
--
--check_required_components(JsonCpp)
diff --git a/dev-libs/jsoncpp/jsoncpp-1.9.5-r1.ebuild b/dev-libs/jsoncpp/jsoncpp-1.9.5-r1.ebuild
deleted file mode 100644
index 54097e4571ac..000000000000
--- a/dev-libs/jsoncpp/jsoncpp-1.9.5-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit meson-multilib python-any-r1
-
-DESCRIPTION="C++ JSON reader and writer"
-HOMEPAGE="https://github.com/open-source-parsers/jsoncpp/"
-SRC_URI="
- https://github.com/open-source-parsers/${PN}/archive/${PV}.tar.gz
- -> ${P}.tar.gz
-"
-
-LICENSE="|| ( public-domain MIT )"
-SLOT="0/25"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${PYTHON_DEPS}
- doc? ( app-text/doxygen )
-"
-
-multilib_src_configure() {
- local emesonargs=(
- # Follow Debian, Ubuntu, Arch convention for headers location
- # bug #452234
- --includedir include/jsoncpp
- -Dtests=$(usex test true false)
- )
- meson_src_configure
-}
-
-src_compile() {
- meson-multilib_src_compile
-
- if use doc; then
- echo "${PV}" > version || die
- "${EPYTHON}" doxybuild.py --doxygen="${EPREFIX}"/usr/bin/doxygen || die
- HTML_DOCS=( dist/doxygen/jsoncpp*/. )
- fi
-}
-
-multilib_src_test() {
- # increase test timeout due to failures on slower hardware
- meson_src_test -t 2
-}
diff --git a/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild b/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild
deleted file mode 100644
index 0fbc59a63899..000000000000
--- a/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit meson python-any-r1
-
-DESCRIPTION="C++ JSON reader and writer"
-HOMEPAGE="https://github.com/open-source-parsers/jsoncpp/"
-SRC_URI="
- https://github.com/open-source-parsers/${PN}/archive/${PV}.tar.gz
- -> ${P}.tar.gz
-"
-
-LICENSE="|| ( public-domain MIT )"
-SLOT="0/25"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${PYTHON_DEPS}
- doc? ( app-text/doxygen )
-"
-
-src_configure() {
- local emesonargs=(
- # Follow Debian, Ubuntu, Arch convention for headers location
- # bug #452234
- --includedir include/jsoncpp
- -Dtests=$(usex test true false)
- )
- meson_src_configure
-}
-
-src_compile() {
- meson_src_compile
-
- if use doc; then
- echo "${PV}" > version || die
- "${EPYTHON}" doxybuild.py --doxygen="${EPREFIX}"/usr/bin/doxygen || die
- HTML_DOCS=( dist/doxygen/jsoncpp*/. )
- fi
-}
-
-src_test() {
- # increase test timeout due to failures on slower hardware
- meson_src_test -t 2
-}
diff --git a/dev-libs/jsoncpp/jsoncpp-1.9.6-r1.ebuild b/dev-libs/jsoncpp/jsoncpp-1.9.6-r1.ebuild
deleted file mode 100644
index 6f29211cc90b..000000000000
--- a/dev-libs/jsoncpp/jsoncpp-1.9.6-r1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit meson-multilib python-any-r1
-
-DESCRIPTION="C++ JSON reader and writer"
-HOMEPAGE="https://github.com/open-source-parsers/jsoncpp/"
-SRC_URI="
- https://github.com/open-source-parsers/${PN}/archive/${PV}.tar.gz
- -> ${P}.tar.gz
-"
-
-LICENSE="|| ( public-domain MIT )"
-SLOT="0/26"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${PYTHON_DEPS}
- doc? ( app-text/doxygen )
-"
-
-PATCHES=(
- # https://github.com/open-source-parsers/jsoncpp/pull/1570
- "${FILESDIR}/${P}-cmake.patch"
-)
-
-multilib_src_configure() {
- local emesonargs=(
- # Follow Debian, Ubuntu, Arch convention for headers location
- # bug #452234
- --includedir include/jsoncpp
- -Dtests=$(usex test true false)
- )
- meson_src_configure
-}
-
-src_compile() {
- meson-multilib_src_compile
-
- if use doc; then
- echo "${PV}" > version || die
- "${EPYTHON}" doxybuild.py --doxygen="${EPREFIX}"/usr/bin/doxygen || die
- HTML_DOCS=( dist/doxygen/jsoncpp*/. )
- fi
-}
-
-multilib_src_test() {
- # increase test timeout due to failures on slower hardware
- meson_src_test -t 2
-}
diff --git a/dev-libs/jsoncpp/jsoncpp-1.9.6-r2.ebuild b/dev-libs/jsoncpp/jsoncpp-1.9.6-r2.ebuild
index b6de9e2c962f..6e2863de7ec2 100644
--- a/dev-libs/jsoncpp/jsoncpp-1.9.6-r2.ebuild
+++ b/dev-libs/jsoncpp/jsoncpp-1.9.6-r2.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="|| ( public-domain MIT )"
SLOT="0/26"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-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 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/jsoncpp/jsoncpp-1.9.6.ebuild b/dev-libs/jsoncpp/jsoncpp-1.9.6.ebuild
deleted file mode 100644
index b38818f791b0..000000000000
--- a/dev-libs/jsoncpp/jsoncpp-1.9.6.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit meson-multilib python-any-r1
-
-DESCRIPTION="C++ JSON reader and writer"
-HOMEPAGE="https://github.com/open-source-parsers/jsoncpp/"
-SRC_URI="
- https://github.com/open-source-parsers/${PN}/archive/${PV}.tar.gz
- -> ${P}.tar.gz
-"
-
-LICENSE="|| ( public-domain MIT )"
-SLOT="0/26"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${PYTHON_DEPS}
- doc? ( app-text/doxygen )
-"
-
-multilib_src_configure() {
- local emesonargs=(
- # Follow Debian, Ubuntu, Arch convention for headers location
- # bug #452234
- --includedir include/jsoncpp
- -Dtests=$(usex test true false)
- )
- meson_src_configure
-}
-
-src_compile() {
- meson-multilib_src_compile
-
- if use doc; then
- echo "${PV}" > version || die
- "${EPYTHON}" doxybuild.py --doxygen="${EPREFIX}"/usr/bin/doxygen || die
- HTML_DOCS=( dist/doxygen/jsoncpp*/. )
- fi
-}
-
-multilib_src_test() {
- # increase test timeout due to failures on slower hardware
- meson_src_test -t 2
-}
diff --git a/dev-libs/kopeninghours/Manifest b/dev-libs/kopeninghours/Manifest
index 04babc7858bb..11bef8aaff1b 100644
--- a/dev-libs/kopeninghours/Manifest
+++ b/dev-libs/kopeninghours/Manifest
@@ -1,4 +1,6 @@
AUX kopeninghours-22.04.0-boostpython.patch 3555 BLAKE2B 1d22b48e5574ffada0b89a0828bf5258321b57161061534939e95256ab3501a887a026231568e09b1d20499238284107c34c6835d33853096be62e1345356cde SHA512 562b30fe66a9e8904e79c95496c4b06e50dbbb8d328db93a655ffa7f8829ff70bc8a6b0ee7beb7840e7046b74d4d858265ec67703c6317c3fe4c87b54b40a349
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
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.ebuild
new file mode 100644
index 000000000000..1084d8654d19
--- /dev/null
+++ b/dev-libs/kopeninghours/kopeninghours-24.12.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=6.5.0
+QTMIN=6.7.2
+PYTHON_COMPAT=( python3_{10..12} )
+inherit ecm gear.kde.org python-single-r1
+
+DESCRIPTION="Library for parsing and evaluating OSM opening hours expressions"
+HOMEPAGE="https://api.kde.org/kopeninghours/html/index.html
+https://invent.kde.org/libraries/kopeninghours"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64"
+IUSE="python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ >=dev-libs/kpublictransport-${PVCUT}:6
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kholidays-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ sys-libs/zlib
+ python? (
+ $(python_gen_cond_dep '
+ >=dev-libs/boost-1.70:=[python,${PYTHON_USEDEP}]
+ ')
+ )
+"
+RDEPEND="${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-22.04.0-boostpython.patch )
+
+pkg_setup() {
+ ecm_pkg_setup
+ python_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBOOSTPYTHON_VERSION_MAJOR_MINOR=${EPYTHON}
+ $(cmake_use_find_package python Boost)
+ )
+ ecm_src_configure
+}
+
+src_install() {
+ ecm_src_install
+ python_optimize
+}
diff --git a/dev-libs/kosmindoormap/Manifest b/dev-libs/kosmindoormap/Manifest
index 02724898a4d2..c68d08c86fb0 100644
--- a/dev-libs/kosmindoormap/Manifest
+++ b/dev-libs/kosmindoormap/Manifest
@@ -1,3 +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
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.ebuild
new file mode 100644
index 000000000000..917524a82c30
--- /dev/null
+++ b/dev-libs/kosmindoormap/kosmindoormap-24.12.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=6.5.0
+QTMIN=6.7.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Data Model and Extraction System for Travel Reservation information"
+HOMEPAGE="https://invent.kde.org/libraries/kosmindoormap"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64"
+IUSE="+gui"
+
+# kservice is optional and only used to find and open josm
+RDEPEND="
+ dev-libs/protobuf:=
+ >=dev-qt/qtbase-${QTMIN}:6[gui?,network]
+ sys-libs/zlib
+ gui? (
+ >=dev-libs/kopeninghours-${PVCUT}:6
+ >=dev-libs/kpublictransport-${PVCUT}:6
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ )
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qtbase-${QTMIN}:6[widgets] )
+"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TOOLS_ONLY=$(usex !gui)
+ -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/kpathsea/Manifest b/dev-libs/kpathsea/Manifest
index b94b170ceafa..8f170260e0e2 100644
--- a/dev-libs/kpathsea/Manifest
+++ b/dev-libs/kpathsea/Manifest
@@ -1,5 +1,3 @@
-AUX kpathsea-6.3.3_p20210325-Fix-Wimplicit-function-declaration.patch 1340 BLAKE2B 51267e47bf043ab2b63b886d7659b4af672ae7d6f22795073bc14a3e11a3f808373d3e798d970585d1f0ba89ccda008ed8233dab8d1d36e81afe9f9dda7df8ff SHA512 49e2b1790fa1837477a3f9a6ddaa2ffc842bd3180769b058e683b1d387dc8755bc74be923414204e5b0c3feb350b0aafeaf29129fed2d212f239c57861b5db07
-AUX kpathsea-6.3.3_p20210325-Fix-slibtool-test.patch 1632 BLAKE2B 35b10624e0951e4740a72fd0abb82877e7005fef7a182ded6bf0f8fd1d9a0dc6de293b66d6a2441264b9e8576a9c3edc5b41af8b2b0bb145d688be0fb117794a SHA512 21bd701c808b0e47699cf7ca2939d4791c8b58b5c7f7dc43deb196743a16f9e898fbb1509a0bc8707263bc4443b09808d543dc19198d09d0411674132fcbf06f
AUX kpathsea.conf 36 BLAKE2B 5f3ea92946c78a2a4aa336aa38783cf894859e368ec2437facdb9a814ba258097831166df15afc412d6df3fd6639fbca8f2c2f33efa5d69fde75090a9fc7dd3b SHA512 4221eda451499869a3b9b6b5c07e6866df963368481c7169645e0923f674ce6aa7bd9411303bb087fe55d99eea8b187b2a978c9f9ba0e40802f1863268566e28
AUX texmf-update-r2 6017 BLAKE2B b9ded4693768342c6fe9a0d99b6836e74b3d8b9a5bb3d335d8ecbbe5c2a45967ac880ebfc2476c04e461ca2dac3eb02ee6c41ee34a050ba94b54d9d731853ee0 SHA512 924c6a53d778b1a05252830d914c92f8d1a8d1c479cd8a065b861bf1f263d6bb529c42c365134fea19ea1d9bedf68a943d609cd89abf73912f90bbc3397fb14f
DIST kpathsea-texmf.d-11.tar.xz 12616 BLAKE2B f64dcaae859d6c95d534907f69519428973fad5b7a734eec269b3cc89fc2ae527a459b4ae4d966a3394d6a95f40fac16841f59f9f6cabf2a07dcdcb98a14cba9 SHA512 eec72ecc35edd47bd9a5762f0d06212e4625eea1ee2ffc36f93885b548ca6c4e0eb65345a1ec050f3f838aed5128bb32eda509b5aadbad6643469b4955441f22
diff --git a/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-Wimplicit-function-declaration.patch b/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-Wimplicit-function-declaration.patch
deleted file mode 100644
index 89cf314856ae..000000000000
--- a/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-Wimplicit-function-declaration.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Sent upstream to tlbuild mailing list. Not yet in archive.
-
-From: Sam James <sam@gentoo.org>
-Date: Fri, 4 Nov 2022 04:58:38 +0000
-Subject: [PATCH] Fix -Wimplicit-function-declaration
-
-Add <stdlib.h> includes for exit(). Clang 16 makes -Wimplicit-function-declaration an error by default.
-
-Signed-off-by: Sam James <sam@gentoo.org>
---- a/configure.ac
-+++ b/configure.ac
-@@ -45,7 +45,8 @@ if test "x$ac_cv_func_getcwd" = xyes; then
- # We only need to run this if we have getcwd.
- AC_CACHE_CHECK([whether getcwd uses fork or vfork],
- [kb_cv_func_getcwd_forks],
-- [AC_RUN_IFELSE([AC_LANG_PROGRAM([[int fork() { exit(1); }
-+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
-+ int fork() { exit(1); }
- int vfork() { exit(1); }
- extern char *getcwd();
- char path[100];]],
---- a/configure
-+++ b/configure
-@@ -13920,6 +13920,7 @@ else
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-+#include <stdlib.h>
- int fork() { exit(1); }
- int vfork() { exit(1); }
- extern char *getcwd();
diff --git a/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-slibtool-test.patch b/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-slibtool-test.patch
deleted file mode 100644
index 39a7fafb6fda..000000000000
--- a/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-slibtool-test.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-https://bugs.gentoo.org/924405
-https://github.com/TeX-Live/texlive-source/pull/65
-https://github.com/TeX-Live/texlive-source/commit/9c4aec9b1b85f3f0e336914d65d55ca6263c5526
-
-From 9c4aec9b1b85f3f0e336914d65d55ca6263c5526 Mon Sep 17 00:00:00 2001
-From: Karl Berry <karl@freefriends.org>
-Date: Thu, 22 Feb 2024 23:41:54 +0000
-Subject: [PATCH] make kpsereadlink.test generic, instead of depending on
- libtool
-
-git-svn-id: svn://tug.org/texlive/trunk/Build/source@70081 c570f23f-e606-0410-a88d-b1316a301751
----
- texk/kpathsea/tests/kpsereadlink.test | 17 +++++++++++++----
- 1 files changed, 13 insertions(+), 4 deletions(-)
-
-diff --git a/tests/kpsereadlink.test b/tests/kpsereadlink.test
-index 3b3570aa8d..2e1a852494 100755
---- a/tests/kpsereadlink.test
-+++ b/tests/kpsereadlink.test
-@@ -1,14 +1,23 @@
- #! /bin/sh -vx
- # $Id$
--# Copyright 2017 Karl Berry <tex-live@tug.org>
-+# Copyright 2017-2024 Karl Berry <tex-live@tug.org>
- # Copyright 2010 Peter Breitenlohner <tex-live@tug.org>
- # You may freely use, modify and/or distribute this file.
-
-+test -n "$LN_S" || LN_S="ln -s" # standalone testing
-+
- test "x$LN_S" = 'xln -s' || exit 77
-
--./kpsereadlink $LT_OBJDIR/libkpathsea.lai && exit 1
-+rm -f readlink_test_file readlink_test_symlink
-+
-+touch readlink_test_file
-+
-+$LN_S readlink_test_file readlink_test_symlink || exit 1
-+
-+./kpsereadlink readlink_test_file && exit 1
-
--link=`./kpsereadlink $LT_OBJDIR/libkpathsea.la` || exit 1
-+link=`./kpsereadlink readlink_test_symlink` || exit 1
-
--test "x$link" = x../libkpathsea.la || exit 1
-+test "x$link" = xreadlink_test_file || exit 1
-
-+rm -f readlink_test_file readlink_test_symlink
diff --git a/dev-libs/kpublictransport/Manifest b/dev-libs/kpublictransport/Manifest
index d2c57ef8aaac..5b6ccbef58a8 100644
--- a/dev-libs/kpublictransport/Manifest
+++ b/dev-libs/kpublictransport/Manifest
@@ -1,3 +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
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.ebuild
new file mode 100644
index 000000000000..0a6316ec8c3d
--- /dev/null
+++ b/dev-libs/kpublictransport/kpublictransport-24.12.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=6.5.0
+QTMIN=6.7.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Library for accessing public transport timetables and other information"
+HOMEPAGE="https://invent.kde.org/libraries/kpublictransport
+ https://www.volkerkrause.eu/2019/03/02/kpublictransport-introduction.html"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64"
+IUSE="networkmanager"
+
+RDEPEND="
+ dev-libs/protobuf:=
+ >=dev-qt/qtbase-${QTMIN}:6[gui,network,ssl]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ sys-libs/zlib
+ networkmanager? ( >=kde-frameworks/networkmanager-qt-${KFMIN}:6 )
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qtbase-${QTMIN}:6[widgets] )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
+ $(cmake_use_find_package networkmanager KF6NetworkManagerQt)
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/kweathercore/Manifest b/dev-libs/kweathercore/Manifest
index 4c8dcbb18bc0..51e2045bb46b 100644
--- a/dev-libs/kweathercore/Manifest
+++ b/dev-libs/kweathercore/Manifest
@@ -1,3 +1,5 @@
DIST kweathercore-24.08.3.tar.xz 75416 BLAKE2B 1e61a17ae4d5ced5879af63975fcdcba3215a75ebe97fd2d616b92d7c7b8104423049371d3494b884b401c200b2fb441c74d164f24d7fa099bdbabfa728dc338 SHA512 a9b128e4e939c567f32e14a4401a7ab101e8364d8c9c0c0386f72f00d879748637aebcb8e45c5f75324555e2213bb21bb76bc368884d6f70f7057a5392c607ae
+DIST kweathercore-24.12.0.tar.xz 75788 BLAKE2B 89139b129be2b8dbff547e9f9c0bb2d465a89e9bb3ed663bc5f7137514f9bff7694a2259e2f2d40c0c4cf38753fedb65aec442b74e4d0d508b386e71be4fc467 SHA512 365ce0d4a89d1e83da14fb771e35e3a70264dfbc52f3b0ab4b65590de0f89151c639fb602aa14c0d0b0ed60fe66a6c98822df9e1d36488738a310961194ff327
EBUILD kweathercore-24.08.3.ebuild 675 BLAKE2B db9111e946fbd6912c3822e5dbde688298940aa7e54ef1dc459f1ab0ec0d1dff1f85b0250fe9a3c5511b6346d8b8ed2c205a9af1b97f31a3867119f3e94fdc2f SHA512 5e4d5fd26d0c5e9527c5c3a42f03c966ab7d35a4a0e39d60fad06b2fe651cf88554ddefc69ccb687b5b8a6e0c93207b98a81f4f3c7c0c2dfa8abb85c8a657dcc
+EBUILD kweathercore-24.12.0.ebuild 677 BLAKE2B 46a727838e583d2737db96912e1f5f84f96d0c1a13766eb4e7819c0e9e83d8ed61637b934e8688e91d7031006e2d1ca0a87c86af28828eb92deccc1598dd7a8c SHA512 a255630a8c918a97844b99769bea80d2e2b96a96bfdd9b1cd64220ac240508c433b978b206bc825cc41f0269dea708ff9b124b9966b312bcfc74fb686699a84d
MISC metadata.xml 384 BLAKE2B 67d34f806cf49bd1284a67a7624719b4d5bb33add29d6296f87564e3448ed673c50d6e4a2e6cba8ea7cc60ad7985838c8d3d24a7e8d3fcf5502d40851adb33cb SHA512 bc5196d60e89f50e5acac704e0e76e911cad6d9c1f2a44b9f15e38a435abaac50b706a3fbbe5ff5c114a5cfebac41d4e273042c9f8048cdfad43b630758e2b47
diff --git a/dev-libs/kweathercore/kweathercore-24.12.0.ebuild b/dev-libs/kweathercore/kweathercore-24.12.0.ebuild
new file mode 100644
index 000000000000..84cb17ab0481
--- /dev/null
+++ b/dev-libs/kweathercore/kweathercore-24.12.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_NONGUI="true"
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=6.5.0
+QTMIN=6.7.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Library for retrieval of weather information including forecasts and alerts"
+HOMEPAGE="https://invent.kde.org/libraries/kweathercore"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[network]
+ >=dev-qt/qtpositioning-${QTMIN}:6
+ >=kde-frameworks/kholidays-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+"
+RDEPEND="${DEPEND}"
+
+CMAKE_SKIP_TESTS=(
+ locationquerytest
+ # bug 906392
+ metnoparsertest
+)
diff --git a/dev-libs/libei/Manifest b/dev-libs/libei/Manifest
index 38a99e847c36..95682d5dc526 100644
--- a/dev-libs/libei/Manifest
+++ b/dev-libs/libei/Manifest
@@ -1,7 +1,9 @@
+AUX 1.3.0-scanner-switch-to-using-dataclasses.patch 14276 BLAKE2B f187335730f31476cc42850741c36ab81f41df6298d370cdcc727a5ec4c2afcd3fb1f448cef7bcf5e369a88ace61bbf8e71f66acd933a0d4b43ece1e1baf8b18 SHA512 92c3710e38b06e0c40f01d8a1a46181f8ea500b61a69fd6105cd992ad6b33cd5fec1259b660dd1bb3befa96cfb905d1e701b8fbeedce02c2222f1fc37e400c56
AUX 1.3.0-skip-protocol-test.patch 675 BLAKE2B 1519b464a2322ab7c46ab449ccc0fb3f1e962b86f97151cefa56d43af2e0727768d58b730486ea2272e76c0d2cbbf2c02152bcf2b6ae615060900458a8df81bb SHA512 62086e3bb62538616eebba7e9e356df79f8c148280b0338557a8fd52a9134257c6d74a6ee11a3788b4da0c44242a65473559fb0d8a8ab3fae8cba8222896ef13
DIST libei-1.2.1.tar.bz2 174636 BLAKE2B b718d2287e83adb43a8dee9ae06499d780b2a50231e9ce452b6e7bfa9e89e9599058628614fb4325d0cef842d6b29ca68eb38b3e547790cd5a7a0ac14728f250 SHA512 ac8e32a381b9555a6b9becab9217a323d79aeba4b3f11e1dbba9f876d566f232f41d0f299f8cb8e5de6707d0dd91e93872edd81532c971e35d1cf33f9f9063b4
DIST libei-1.3.0.tar.bz2 175492 BLAKE2B cc5b0ae228a7282e0b5890280cab15cbb4c9179aa40140d6d01dc0d650bc1a646efd3d07dc6db0b501c3d203480d2df2bf3107e8b07e13b49eef8dcea59dd011 SHA512 a63b52c7251660404b307dba82ee24e31b64aaff7140acb174a33aeb60a07e59391522e2a5c56cd7bbdc45ab5e4a0e6111e214f2f1b79834b152e6ebc3e5e0c1
DIST munit-fbbdf1467eb0d04a6ee465def2e529e4c87f2118.tar.gz 27724 BLAKE2B 9670c9b7a0b5d9ee6ec8df2dea9e241b043964ecf1fa3f6060ad1d16c40ab6afe47f53c6d4a791003e101a0b363263b858e6e4e445f868292753dd1ee7f7e3ce SHA512 26b5599fd12be627a692823ebf496fa446be7ed04a1233fb42e0667c05109b0f804f76646e289ac660fc815baf45f77ec8caf0ff2ea7fb0b4f87f0038a2b971c
EBUILD libei-1.2.1.ebuild 2484 BLAKE2B d06aac096ab846da7261b296fedfc4f31a897fc9728867bd5a4ee63abbb6ea49709ed5a3b9a3ae6509895979bb87d56ee774c455ab7b55baf592962e45e29007 SHA512 4cf8dd5c9919e05f433a0948cb6978447e245657db57b567022d22215eaa4fdcaa063676f4eb10065dfcadaff42248346bcb71f76ab64bafd9fc89a3e5fa1fec
+EBUILD libei-1.3.0-r1.ebuild 2444 BLAKE2B fa68c1f360424ab5ec0152f22068c1215071ce4f350873761a972eaac8f55bedb316fb96c0a612557aca94b3af6da2ce034345f7dc581ad5d022ba276e948c7b SHA512 7eb1bb5220661835d0fd45dcb1cbe1126d75e3a88ba3550aa282ad83097dac706bdd8a64d47bb947e3a689db6f7cbe03233d177ab733297329f9402070d5a9d7
EBUILD libei-1.3.0.ebuild 2456 BLAKE2B 7bfee8c1bb831bfa11606499bdd8e49f148692bafeb3a92834b69cf12b445879da7374c0b34ee2213e979935da6f2c13762b27ffe7c2bd69f7b23c4244e02967 SHA512 e6de088163cfb64567343b626aa7f67ebcf82ac8d31d6621b9643040fe01803962da7292e5e5817d2ae6d927def2137be1ab3c5963b887e5130a78ae3fb63997
MISC metadata.xml 336 BLAKE2B 2fd4200876fa044f3563b0eea2096214af92fed1a8db009cf4885a7cf32f303b0a6911dba18cc8fac942348dbe2668ea2d50fabedd235e33be0793076ab0e5be SHA512 a26feb7d41edc6f728bfbaf805cfefa6bba4c5161e70785e7de5f389492f405f7cd6f2c55cce1d2c6bdf9af3aba17e1e51254d9e4421c4fab2e61f2c563c8f3f
diff --git a/dev-libs/libei/files/1.3.0-scanner-switch-to-using-dataclasses.patch b/dev-libs/libei/files/1.3.0-scanner-switch-to-using-dataclasses.patch
new file mode 100644
index 000000000000..08d192f52a5d
--- /dev/null
+++ b/dev-libs/libei/files/1.3.0-scanner-switch-to-using-dataclasses.patch
@@ -0,0 +1,417 @@
+From dbc06510a115241fcfd07de49c0b991cad633721 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed, 11 Sep 2024 10:50:26 +1000
+Subject: [PATCH] scanner: switch to using dataclasses
+
+This drops one dependency that we're not fully using anyway. Except for
+the per-attribute validators that can be done in __post_init() we're not
+using attrs for anything that dataclasses cannot do.
+---
+ .gitlab-ci.yml | 9 ++-
+ .gitlab-ci/ci.template | 1 +
+ .gitlab-ci/config.yml | 4 +-
+ proto/ei-scanner | 164 ++++++++++++++++++++---------------------
+ proto/meson.build | 2 +-
+ 5 files changed, 90 insertions(+), 90 deletions(-)
+
+diff --git ./.gitlab-ci.yml ./.gitlab-ci.yml
+index 1e5d956..caeedfa 100644
+--- ./.gitlab-ci.yml
++++ ./.gitlab-ci.yml
+@@ -40,9 +40,9 @@ variables:
+ # See the documentation here: #
+ # https://wayland.freedesktop.org/libinput/doc/latest/building_libinput.html #
+ ###############################################################################
+- FEDORA_PACKAGES: 'git diffutils gcc gcc-c++ pkgconf-pkg-config systemd-devel libxkbcommon-devel libxml2 doxygen python3-attrs python3-pytest python3-dbusmock python3-jinja2 python3-pip python3-pyyaml golang libabigail '
++ FEDORA_PACKAGES: 'git diffutils gcc gcc-c++ pkgconf-pkg-config systemd-devel libxkbcommon-devel libxml2 doxygen python3-pytest python3-dbusmock python3-jinja2 python3-pip python3-pyyaml golang libabigail '
+ FEDORA_PIP_PACKAGES: 'meson ninja structlog strenum '
+- DEBIAN_PACKAGES: 'git gcc g++ pkg-config libsystemd-dev libxkbcommon-dev libxml2 doxygen python3-attr python3-pytest python3-dbusmock python3-jinja2 python3-pip python3-yaml '
++ DEBIAN_PACKAGES: 'git gcc g++ pkg-config libsystemd-dev libxkbcommon-dev libxml2 doxygen python3-pytest python3-dbusmock python3-jinja2 python3-pip python3-yaml '
+ DEBIAN_PIP_PACKAGES: 'meson ninja structlog strenum '
+ ############################ end of package lists #############################
+
+@@ -50,8 +50,8 @@ variables:
+ # changing these will force rebuilding the associated image
+ # Note: these tags have no meaning and are not tied to a particular
+ # libinput version
+- FEDORA_TAG: '2024-07-24.3'
+- DEBIAN_TAG: '2024-07-24.3'
++ FEDORA_TAG: '2024-09-11.0'
++ DEBIAN_TAG: '2024-09-11.0'
+
+ FDO_UPSTREAM_REPO: libinput/libei
+
+@@ -285,6 +285,7 @@ abicheck@fedora:40:
+ meson compile -C _build
+ meson install -C _build
+ popd
++ - pip install attrs
+ script:
+ - git remote add upstream$CI_JOB_ID https://gitlab.freedesktop.org/$FDO_UPSTREAM_REPO
+ - git fetch --tags upstream$CI_JOB_ID
+diff --git ./.gitlab-ci/ci.template ./.gitlab-ci/ci.template
+index 0c8aeb2..7e7cad5 100644
+--- ./.gitlab-ci/ci.template
++++ ./.gitlab-ci/ci.template
+@@ -285,6 +285,7 @@ abicheck@{{distro.name}}:{{version}}:
+ meson compile -C _build
+ meson install -C _build
+ popd
++ - pip install attrs
+ script:
+ - git remote add upstream$CI_JOB_ID https://gitlab.freedesktop.org/$FDO_UPSTREAM_REPO
+ - git fetch --tags upstream$CI_JOB_ID
+diff --git ./.gitlab-ci/config.yml ./.gitlab-ci/config.yml
+index d89d0fd..42db0bc 100644
+--- ./.gitlab-ci/config.yml
++++ ./.gitlab-ci/config.yml
+@@ -3,7 +3,7 @@
+ #
+
+ # We're happy to rebuild all containers when one changes.
+-.default_tag: &default_tag '2024-07-24.3'
++.default_tag: &default_tag '2024-09-11.0'
+
+ last_abi_break: abe85e051e7029bfd2e7913ab980a9e0042b6d0d
+ minimum_meson_version: 0.57.0
+@@ -24,7 +24,6 @@ distributions:
+ - libxkbcommon-devel
+ - libxml2
+ - doxygen
+- - python3-attrs
+ - python3-pytest
+ - python3-dbusmock
+ - python3-jinja2
+@@ -51,7 +50,6 @@ distributions:
+ - libxkbcommon-dev
+ - libxml2
+ - doxygen
+- - python3-attr
+ - python3-pytest
+ - python3-dbusmock
+ - python3-jinja2
+diff --git ./proto/ei-scanner ./proto/ei-scanner
+index 11edb85..d23fea7 100755
+--- ./proto/ei-scanner
++++ ./proto/ei-scanner
+@@ -20,9 +20,9 @@ appear in the XML file.
+ from typing import Any, Dict, List, Optional, Tuple, Union
+ from pathlib import Path
+ from textwrap import dedent
++from dataclasses import dataclass, field
+
+ import argparse
+-import attr
+ import jinja2
+ import jinja2.environment
+ import os
+@@ -55,48 +55,54 @@ def snake2camel(s: str) -> str:
+ return s.replace("_", " ").title().replace(" ", "")
+
+
+-@attr.s
++@dataclass
+ class Description:
+- summary: str = attr.ib(default="")
+- text: str = attr.ib(default="")
++ summary: str = ""
++ text: str = ""
+
+
+-@attr.s
++@dataclass
+ class Argument:
+ """
+ Argument to a request or a reply
+ """
+
+- name: str = attr.ib()
+- protocol_type: str = attr.ib()
+- summary: str = attr.ib()
+- enum: Optional["Enum"] = attr.ib()
+- interface: Optional["Interface"] = attr.ib()
+- interface_arg: Optional["Argument"] = attr.ib(default=None)
++ name: str
++ protocol_type: str
++ summary: str
++ enum: Optional["Enum"]
++ interface: Optional["Interface"]
++ interface_arg: Optional["Argument"] = None
+ """
+ For an argument with "interface_arg", this field points to the argument that
+ contains the interface name.
+ """
+- interface_arg_for: Optional["Argument"] = attr.ib(default=None)
++ interface_arg_for: Optional["Argument"] = None
+ """
+ For an argument referenced by another argument through "interface_name", this field
+ points to the other argument that references this argument.
+ """
+- version_arg: Optional["Argument"] = attr.ib(default=None)
++ version_arg: Optional["Argument"] = None
+ """
+ For an argument with type "new_id", this field points to the argument that
+ contains the version for this new object.
+ """
+- version_arg_for: Optional["Argument"] = attr.ib(default=None)
++ version_arg_for: Optional["Argument"] = None
+ """
+ For an argument referenced by another argument of type "new_id", this field
+ points to the other argument that references this argument.
+ """
+- allow_null: bool = attr.ib(default=False)
++ allow_null: bool = False
+ """
+ For an argument of type string, specify if the argument may be NULL.
+ """
+
++ def __post_init(self):
++ if self.protocol_type is None or self.protocol_type not in PROTOCOL_TYPES:
++ raise ValueError(f"Failed to parse protocol_type {self.protocol_type}")
++ if self.interface is not None and self.signature not in ["n", "o"]:
++ raise ValueError("Interface may only be set for object types")
++
+ @property
+ def signature(self) -> str:
+ """
+@@ -104,11 +110,6 @@ class Argument:
+ """
+ return PROTOCOL_TYPES[self.protocol_type]
+
+- @interface.validator # type: ignore
+- def _validate_interface(self, attribute, value):
+- if value is not None and self.signature not in ["n", "o"]:
+- raise ValueError("Interface may only be set for object types")
+-
+ @property
+ def as_c_arg(self) -> str:
+ return f"{self.c_type} {self.name}"
+@@ -127,12 +128,6 @@ class Argument:
+ "new_id": "new_id_t",
+ }[self.protocol_type]
+
+- @protocol_type.validator # type: ignore
+- def _validate_protocol_type(self, attribute, value):
+- assert (
+- value is not None and value in PROTOCOL_TYPES
+- ), f"Failed to parse protocol_type {value}"
+-
+ @classmethod
+ def create(
+ cls,
+@@ -153,26 +148,25 @@ class Argument:
+ )
+
+
+-@attr.s
++@dataclass
+ class Message:
+ """
+ Parent class for a wire message (Request or Event).
+ """
+
+- name: str = attr.ib()
+- since: int = attr.ib()
+- opcode: int = attr.ib()
+- interface: "Interface" = attr.ib()
+- description: Optional[Description] = attr.ib(default=None)
+- is_destructor: bool = attr.ib(default=False)
+- context_type: Optional[str] = attr.ib(default=None)
++ name: str
++ since: int
++ opcode: int
++ interface: "Interface"
++ description: Optional[Description] = None
++ is_destructor: bool = False
++ context_type: Optional[str] = None
+
+- arguments: List[Argument] = attr.ib(init=False, factory=list)
++ arguments: List[Argument] = field(init=False, default_factory=list)
+
+- @context_type.validator # type: ignore
+- def _context_type_validate(self, attr, value):
+- if value not in [None, "sender", "receiver"]:
+- raise ValueError(f"Invalid context type {value}")
++ def __post_init(self):
++ if self.context_type not in [None, "sender", "receiver"]:
++ raise ValueError(f"Invalid context type {self.context_type}")
+
+ def add_argument(self, arg: Argument) -> None:
+ if arg.name in [a.name for a in self.arguments]:
+@@ -198,7 +192,7 @@ class Message:
+ return None
+
+
+-@attr.s
++@dataclass
+ class Request(Message):
+ @classmethod
+ def create(
+@@ -225,7 +219,7 @@ class Request(Message):
+ return f"{self.interface.name}_request_{self.name}"
+
+
+-@attr.s
++@dataclass
+ class Event(Message):
+ @classmethod
+ def create(
+@@ -252,17 +246,17 @@ class Event(Message):
+ return f"{self.interface.name}_event_{self.name}"
+
+
+-@attr.s
++@dataclass
+ class Entry:
+ """
+ An enum entry
+ """
+
+- name: str = attr.ib()
+- value: int = attr.ib()
+- enum: "Enum" = attr.ib()
+- summary: str = attr.ib()
+- since: int = attr.ib()
++ name: str
++ value: int
++ enum: "Enum"
++ summary: str
++ since: int
+
+ @classmethod
+ def create(
+@@ -278,15 +272,15 @@ class Entry:
+ return f"{self.enum.fqdn}_{self.name}"
+
+
+-@attr.s
++@dataclass
+ class Enum:
+- name: str = attr.ib()
+- since: int = attr.ib()
+- interface: "Interface" = attr.ib()
+- is_bitfield: bool = attr.ib(default=False)
+- description: Optional[Description] = attr.ib(default=None)
++ name: str
++ since: int
++ interface: "Interface"
++ is_bitfield: bool = False
++ description: Optional[Description] = None
+
+- entries: List[Entry] = attr.ib(init=False, factory=list)
++ entries: List[Entry] = field(init=False, default_factory=list)
+
+ @classmethod
+ def create(
+@@ -329,16 +323,20 @@ class Enum:
+ return snake2camel(self.name)
+
+
+-@attr.s
++@dataclass
+ class Interface:
+- protocol_name: str = attr.ib() # name as in the XML, e.g. ei_pointer
+- version: int = attr.ib()
+- requests: List[Request] = attr.ib(init=False, factory=list)
+- events: List[Event] = attr.ib(init=False, factory=list)
+- enums: List[Enum] = attr.ib(init=False, factory=list)
++ protocol_name: str # name as in the XML, e.g. ei_pointer
++ version: int
++ requests: List[Request] = field(init=False, default_factory=list)
++ events: List[Event] = field(init=False, default_factory=list)
++ enums: List[Enum] = field(init=False, default_factory=list)
++
++ mode: str
++ description: Optional[Description] = None
+
+- mode: str = attr.ib(validator=attr.validators.in_(["ei", "eis", "brei"]))
+- description: Optional[Description] = attr.ib(default=None)
++ def __post_init(self):
++ if self.mode not in ["ei", "eis", "brei"]:
++ raise ValueError(f"Invalid mode {self.mode}")
+
+ @property
+ def name(self) -> str:
+@@ -444,11 +442,11 @@ class Interface:
+ return cls(protocol_name=protocol_name, version=version, mode=mode)
+
+
+-@attr.s
++@dataclass
+ class XmlError(Exception):
+- line: int = attr.ib()
+- column: int = attr.ib()
+- message: str = attr.ib()
++ line: int
++ column: int
++ message: str
+
+ def __str__(self) -> str:
+ return f"line {self.line}:{self.column}: {self.message}"
+@@ -458,32 +456,34 @@ class XmlError(Exception):
+ return cls(line=location[0], column=location[1], message=message)
+
+
+-@attr.s
++@dataclass
+ class Copyright:
+- text: str = attr.ib(default="")
+- is_complete: bool = attr.ib(init=False, default=False)
++ text: str = ""
++ is_complete: bool = field(init=False, default=False)
+
+
+-@attr.s
++@dataclass
+ class Protocol:
+- copyright: Optional[str] = attr.ib(default=None)
+- interfaces: List[Interface] = attr.ib(factory=list)
++ copyright: Optional[str] = None
++ interfaces: List[Interface] = field(default_factory=list)
+
+
+-@attr.s
++@dataclass
+ class ProtocolParser(xml.sax.handler.ContentHandler):
+- component: str = attr.ib()
+- interfaces: List[Interface] = attr.ib(factory=list)
+- copyright: Optional[Copyright] = attr.ib(init=False, default=None)
++ component: str
++ interfaces: List[Interface] = field(default_factory=list)
++ copyright: Optional[Copyright] = field(init=False, default=None)
+
+- current_interface: Optional[Interface] = attr.ib(init=False, default=None)
+- current_message: Optional[Union[Message, Enum]] = attr.ib(init=False, default=None)
+- current_description: Optional[Description] = attr.ib(init=False, default=None)
++ current_interface: Optional[Interface] = field(init=False, default=None)
++ current_message: Optional[Union[Message, Enum]] = field(init=False, default=None)
++ current_description: Optional[Description] = field(init=False, default=None)
+ # A dict of arg name to interface_arg name mappings
+- current_interface_arg_names: Dict[str, str] = attr.ib(init=False, default=attr.Factory(dict)) # type: ignore
+- current_new_id_arg: Optional[Argument] = attr.ib(init=False, default=None)
++ current_interface_arg_names: Dict[str, str] = field(
++ init=False, default_factory=dict
++ )
++ current_new_id_arg: Optional[Argument] = field(init=False, default=None)
+
+- _run_counter: int = attr.ib(init=False, default=0, repr=False)
++ _run_counter: int = field(init=False, default=0, repr=False)
+
+ @property
+ def location(self) -> Tuple[int, int]:
+diff --git ./proto/meson.build ./proto/meson.build
+index 95e9d07..db01a8b 100644
+--- ./proto/meson.build
++++ ./proto/meson.build
+@@ -13,7 +13,7 @@ if xmllint.found()
+ endif
+
+ pymod = import('python')
+-required_python_modules = ['attr', 'jinja2']
++required_python_modules = ['jinja2']
+ python = pymod.find_installation('python3', modules: required_python_modules)
+ if python.language_version().version_compare('<3.9')
+ error('Python 3.9 or later required')
+--
+2.45.2
+
diff --git a/dev-libs/libei/libei-1.3.0-r1.ebuild b/dev-libs/libei/libei-1.3.0-r1.ebuild
new file mode 100644
index 000000000000..3c5bc8f5dcf1
--- /dev/null
+++ b/dev-libs/libei/libei-1.3.0-r1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit meson python-any-r1
+
+DESCRIPTION="Library for Emulated Input, primarily aimed at the Wayland stack"
+HOMEPAGE="https://gitlab.freedesktop.org/libinput/libei"
+SRC_URI="https://gitlab.freedesktop.org/libinput/${PN}/-/archive/${PV}/${P}.tar.bz2"
+MUNIT_COMMIT="fbbdf1467eb0d04a6ee465def2e529e4c87f2118"
+SRC_URI+=" https://github.com/nemequ/munit/archive/${MUNIT_COMMIT}.tar.gz -> munit-${MUNIT_COMMIT}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="elogind systemd test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/libevdev-1.9.902
+ || (
+ systemd? ( >=sys-apps/systemd-237 )
+ elogind? ( >=sys-auth/elogind-237 )
+ sys-libs/basu
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ $(python_gen_any_dep '
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ ')
+ test? (
+ $(python_gen_any_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/python-dbusmock[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/structlog[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/1.3.0-skip-protocol-test.patch
+ "${FILESDIR}"/1.3.0-scanner-switch-to-using-dataclasses.patch
+)
+
+python_check_deps() {
+ if use test; then
+ python_has_version \
+ "dev-python/pytest[${PYTHON_USEDEP}]" \
+ "dev-python/python-dbusmock[${PYTHON_USEDEP}]" \
+ "dev-python/pyyaml[${PYTHON_USEDEP}]" \
+ "dev-python/structlog[${PYTHON_USEDEP}]" \
+ || return 1
+ fi
+ python_has_version \
+ "dev-python/jinja2[${PYTHON_USEDEP}]" \
+ || return 1
+}
+
+src_unpack() {
+ if [[ -n ${A} ]]; then
+ unpack ${A}
+ mv "${WORKDIR}"/munit-${MUNIT_COMMIT} "${WORKDIR}"/${P}/subprojects/munit || die
+ rm "${WORKDIR}"/${P}/subprojects/munit.wrap || die
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i -e 's:^valgrind = .*:valgrind = disabler():g' test/meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddocumentation=""
+ -Dliboeffis=enabled
+ $(meson_feature test tests)
+ )
+ if use systemd; then
+ emesonargs+=(-Dsd-bus-provider=libsystemd)
+ elif use elogind; then
+ emesonargs+=(-Dsd-bus-provider=libelogind)
+ else
+ emesonargs+=(-Dsd-bus-provider=basu)
+ fi
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ # munit subproject is installed but not wanted
+ if use test; then
+ rm "${ED}"/usr/lib*/libmunit.so || die
+ fi
+}
diff --git a/dev-libs/libgcrypt/Manifest b/dev-libs/libgcrypt/Manifest
index c9e687db319f..52381a8eb725 100644
--- a/dev-libs/libgcrypt/Manifest
+++ b/dev-libs/libgcrypt/Manifest
@@ -17,7 +17,7 @@ DIST libgcrypt-1.11.0.tar.bz2.sig 119 BLAKE2B e64d59dae5556e2826f6d297988a3300c3
EBUILD libgcrypt-1.10.2.ebuild 6341 BLAKE2B 38dba38edfc16f9e04f23e668bfb1d7c4369f1c6d4a348300b7ceb00be7d84d66e22455f8ba8ca5e4e39e7887b8ed021219c27c8f77a764839b6ecdcd936d4e1 SHA512 c97cee0a73ced506b8e6f21610955f10ba5eca39b0c30c4f5227b96985f30e8456d87af54e5f2f986a4485ea8c774af16f0449b98e43d7c36451c7c26fb9636c
EBUILD libgcrypt-1.10.3-r1.ebuild 6096 BLAKE2B 3602f57bc6703b69e0d1bf01bebd5e804210fcf9c532c4a9c7d4dc38b40d574be3d03120adfb1c6406f1a1cfeb43cb968e0df5e0134627618881c879a76fdc59 SHA512 1e1648d1435a9a032a896894a279cc2af989b6df0228aed732dd59a78c5bb2b33642498e8adf94c2bf8a97af8158f68b15a8a92eab69c0d76cfeed2c43fa0c63
EBUILD libgcrypt-1.10.3-r2.ebuild 6331 BLAKE2B d178da7b187fae963ec6353c72588191428490ef4e2e3107981bf6462ecf134397eb665e9cca1b4104b10b5783bbfb6c59964e39c73ebdb3f7b28ca85970df05 SHA512 2b57f5cc3951a8ded7e4ab431ce0831ab79725967b8516b5a2290a9d7fa5543e27510a83cf168dd4ceb0ab5e234fa97ba1cd7f6d88de47928f5a552604c860d5
-EBUILD libgcrypt-1.11.0-r1.ebuild 6047 BLAKE2B 58a1ba3b746919386bd1d5e7d1df5b504ebec83f55316bcf8188bb296b68050159e9294c33eab225d4a06f43b0f5f5d84239c969c9213445d9ba65d786e88760 SHA512 565aa1a2e38f0e91168f140e65fd5b84ee585e4904886e36c74f542afd3f5eedeb5ff4d02e8d7f9dd8d01becc645fbd918ef8aa9646cba0dadd43615dd860bbf
+EBUILD libgcrypt-1.11.0-r1.ebuild 6042 BLAKE2B ae2e28521e2fa5d6908d76044ae8fdffcc9522c177695e71ec06e709780515bffa97d0e8889025da70b593a327d9a39f002e28242d1f324ae298877dd767e2e1 SHA512 a088346eb33d624e0920212677b4634d10d04a90c14b44fb66652289a2936ce44d0bf67e8facf9a25492e0db93571818846eab1851cfa4442318e7b9e24112fa
EBUILD libgcrypt-1.11.0-r2.ebuild 6276 BLAKE2B b9ad335bb824e574816b1bdbcfb0312f663db7f958d814bcdbed5317a9e7a23e9e2753cd4bf9c1b75b48add7dafcbe630313519c1d3f75f135eb447eaf35527d SHA512 7c5d3b5d500849d1fcb7d755965bbc6318bdac5081a81b5cb1f1e5f06fe364018de5072e9a5fad7d4e86d7862870138ea9d6c048c15e99e2e5a3e4be0e16e1ba
EBUILD libgcrypt-1.11.0.ebuild 6009 BLAKE2B 659bb23f8af72694c031e5385af34acdefdcb0ae01b486a384ea87f19c6939868ca23a424d0d4f503a6360323ffeecf16b5bf338b5d24db7c009309e9becc21e SHA512 53226049129aaed0d5af3b5b701873df1cebdcb943d155ee5c13ed7ec8282366a16513011d13eb8275f7706be254d24a05b8dbe087ada4696830951668a9fbff
MISC metadata.xml 451 BLAKE2B 3be914b8449db0938d868c7cf2df7fbcf29d7f2e9b91320dfb97f0c1bf6c22326f3a1c3f3b695eaacbe4d74bb3a0b733a7afc1f88e04a37d06a9d9ed25358efb SHA512 add260d64091e3aa1de6fb802f4cfd076c1520622ebe93ddf7a0312f8d46232bd330d9bd380e2bdef6aec15563b6d27f2733b5ebe624ad9d0965ed9c6456939d
diff --git a/dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild b/dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild
index 7e0c4133725f..c09c913afd57 100644
--- a/dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild
+++ b/dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild
@@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
LICENSE="LGPL-2.1+ GPL-2+ MIT"
SLOT="0/20" # subslot = soname major version
-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="+asm doc +getentropy static-libs"
IUSE+=" cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_arm_sve"
IUSE+=" cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3"
diff --git a/dev-libs/libwacom/Manifest b/dev-libs/libwacom/Manifest
index acdb5cf51153..20a15b8b189d 100644
--- a/dev-libs/libwacom/Manifest
+++ b/dev-libs/libwacom/Manifest
@@ -2,6 +2,6 @@ DIST libwacom-2.12.2.tar.xz 153600 BLAKE2B f2a965d1990e8d2aa248d9d81f31f50e2602c
DIST libwacom-2.13.0.tar.xz 154512 BLAKE2B 3b63231af2e92052fce3eed87aad7d465cf827dca82f034c7d3577036656b8b71de3b00a35e4f447ae653d01f498de2d960c87cfda4a5b9fa9cb0f79cfd22271 SHA512 c5d6a506b459d97d6865c478baa2a7d278c8fdab902b78a0447eb7a059272e89a669d9f2fa42d4efc9b724cb730a975081a1f8bbb8421b81632869c342fdeb5f
DIST libwacom-2.14.0.tar.xz 164228 BLAKE2B 8936343bbba4d9687bc124ed2fdc610dbee6090100b1a3a59f1cdade90f46b9744280567a650c2433a66d99528fed162405f994c27061c32575ca8441ff342bd SHA512 f2980d4728d3164be325a9a21cf0c27a7d8004c6812f9c1e730916259420b666cc2e5d6166acdb55542a8a35533291d1bd7284a58c2a194558a77215d1580f86
EBUILD libwacom-2.12.2.ebuild 1429 BLAKE2B f475047763502f98e648c31acbffcee652d18f813abb7c1536694240e71945c2b1192af6b6dfca809df5a55531fa02944cbf76058b87d30062d7909d6a93b01d SHA512 da3bb72743869316910f0d00a89a7b0bb3641c552096b00ff6617fa5919932a45dae9fd4349ab75258e06296ec27370803247a5092d120e917a91304e2a3b870
-EBUILD libwacom-2.13.0.ebuild 1287 BLAKE2B e2caff5ef04a861d7b1c6731a95515ce2c7261441ad7eb3e5b152f69db2f2b6e3fac3ffca3c79556daf758888bc414ffcfeff566bd67e72b2b138968bbb1336f SHA512 39fdca5f76a7e670891c6e889aa55355c684c4831277bdc5828a7eeb26556bc77fc48f3663e8cd76eeecad1de956ea184a649071961df975be73c07de8f03e81
+EBUILD libwacom-2.13.0.ebuild 1286 BLAKE2B 8c377110cd1749b63675824d010c8f5f35b5cf3fb1b9f4ee8de3ad1da69691937d6386813d310a4a9b86032c3db2daf81dc347d1f2ddb984cc6e08a8c0cf1200 SHA512 f16ca5fc5ccf9e65c27a9af5ea0de1915b3b9d3805bbdc71c34cd24617970fa570c658764cead6a263cccd64dca9ab1365c69eda6a6b8856431b6cc728168fd3
EBUILD libwacom-2.14.0.ebuild 1291 BLAKE2B de4b03de80398acac8a4237df843a62348fcc0a62de807f8b098080fdcb40a630ebd8591c0a851a8ce5b5bd49ccb26b12cd912621747e2a6a81c6387774481c5 SHA512 7fe44bec134a8d63e9006902a95d3af507b60526f44bd11b48223858436acbab11d056075368257f6acc9cccc9121d544fb40b30e19501b730165629284c0330
MISC metadata.xml 313 BLAKE2B bee5263fa9309d84996574f86a17a4292e58a7eefc65159ecd0df578ccab24e39f4c050deaaabbcd33e5a86292af6c57c5b2c9eb2c9b6e3caeab86e5633cf3c7 SHA512 b1575775a9f633ffe2124bd5ebef65ab864ae697ed733f50e3028484d2d60ea827e5ac12305d57beedcdbe58d8699bbc7e67cb0c844041c7a56045cb91eae633
diff --git a/dev-libs/libwacom/libwacom-2.13.0.ebuild b/dev-libs/libwacom/libwacom-2.13.0.ebuild
index 3ce216933cb4..edfd2aca9bba 100644
--- a/dev-libs/libwacom/libwacom-2.13.0.ebuild
+++ b/dev-libs/libwacom/libwacom-2.13.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/linuxwacom/${PN}/releases/download/${P}/${P}.tar.xz"
LICENSE="MIT"
SLOT="0/9" # libwacom SONAME
-KEYWORDS="~alpha ~amd64 arm arm64 ppc ~ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 arm arm64 ppc ~ppc64 ~riscv x86"
IUSE="doc test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/tre/Manifest b/dev-libs/tre/Manifest
index dceb3db730d6..1d616efeba83 100644
--- a/dev-libs/tre/Manifest
+++ b/dev-libs/tre/Manifest
@@ -12,5 +12,5 @@ DIST tre-0.8.0_p20210321.tar.gz 146294 BLAKE2B d740bd0e99f50f5e4d8105f5260e43a81
EBUILD tre-0.8.0_p20210321-r1.ebuild 2384 BLAKE2B 73c3cba0eb0970101bd6d7c1f9babc6b04ded172ef2bb31873f4576ba1b3e38b8f6aad52fae3dfd99139621ed2fdb9f05de6169e0da9e303f6af833f5c6f58f7 SHA512 c10a3da5c8b993a368bc0a304b4da6c6ca86e56a9f0c913fa2c98f2299254710050f73e62530a131c74c2448cb2607af40745be01ca5f1f1f80116f510a1b783
EBUILD tre-0.8.0_p20210321-r2.ebuild 2163 BLAKE2B 8412c56909ee96b9e68d4883d36aa759dbceb35c64f16373542d8e06918465e3ac3978ef5e02aabde8fbdf5fc509cfaf762a0016491d63e12e641a32435f38cc SHA512 d676c096e6febb63152d4076514d5c795f4d09a9dfbf53e9c2cc88c59322eddf37039d0ddcf603b51c336c9eab29fc9e42921bc4421774cefeff46d3fae5549b
EBUILD tre-0.8.0_p20210321-r3.ebuild 2255 BLAKE2B f3f1d0d30ed09f13c7c603be36371c14c6df59bb1698c86c045e215f7ca28024817c42eed9c239c1b9e5d855deba733dbfbcd71c2691f26e8d5b17876980c324 SHA512 5de6c93c744dd8bea694145963028ecf10241f8712c62f07ed3b52e5a247c1ff7abefb90a75536478d63bdc5bf815491c15b041ee100083af84bc9b80e70840b
-EBUILD tre-0.8.0_p20210321-r4.ebuild 2255 BLAKE2B 523b77b402be9d87f76337495a62dc7c6e57168051b5ee732ceb2487f75db9a145be3c87de5fa2fef235ecbfdfee888583ea16c9e05fb15ece156057b6e36a37 SHA512 9aefe255d23d7b1e9f950f9daae5fac49f8fd16e776089908bb789bfcc89b39b29fdc4df106c0f91b5b16e4f87fd89a461c58ef5d7c90315b79365ed06898d4e
+EBUILD tre-0.8.0_p20210321-r4.ebuild 2248 BLAKE2B 2ac2765d0ac4bb1bc674a87c95b6e731aca05e478a1c6d3275304bb4da0b35f1ece8d20969bb5c5dca11a1822ba76fc375a430ae47202174c530d04d56737f32 SHA512 6004194a306510a2006372d6851e7cfa006d25b851b4fa41965bd1fe57b07d93575b9539368a4b32c57d9df83759ed4ec410039f69e6db887d2e342ef082d824
MISC metadata.xml 638 BLAKE2B 4e02f7673a19acc091ee21459551e6d40f6a78d5a25cbbffe877d46f0a181067e2163d1ac79d0f7d38ff383b8775abf6f69309ad97b25fd2af55b0ac2223ab40 SHA512 9f725eebbee4753cb05b0adcda1edec2aa50265257db359ca0ec4596761072ec335fffb5a5035cf5ec43c13b8c8a7dd7ed916bbf82acd57c6d8ee5e4c89cb622
diff --git a/dev-libs/tre/tre-0.8.0_p20210321-r4.ebuild b/dev-libs/tre/tre-0.8.0_p20210321-r4.ebuild
index 14ffc1d5a646..82076394f940 100644
--- a/dev-libs/tre/tre-0.8.0_p20210321-r4.ebuild
+++ b/dev-libs/tre/tre-0.8.0_p20210321-r4.ebuild
@@ -21,7 +21,7 @@ S="${WORKDIR}/${PN}-${COMMIT}"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="+agrep +alloca +approx debug nls profile python"
RDEPEND="